feat: adapt to DSH 0.1.7-alpha.1 and yield the read-only previews
DSH 0.1.7-alpha.1 is 1299 commits past 0.1.6-alpha.2 and rewrites four
contracts this plugin was built on. The peer floor moves to
^0.1.7-alpha.1 (semver's prerelease rule means ^0.1.6-alpha.2 can never
match a 0.1.7 prerelease); 0.1.6-alpha.2 and earlier stay on v0.19.1.
Released as 0.21.0-alpha.1 (dist-tag alpha).
Hard breaks:
- dsh-settings was rewritten: register(ns, schema) is gone, a form is
addressed by the plugin row's Loader entry id and read from the
module's exported Config. The preferences are merged into Config and
marked volatile — which requires DSH's own schemastery, because only
that build wraps a volatile field in the cosmokit reference the
loader's volatile commit walks. With the public package a settings
write reports success and revision 1 while the effective value never
changes.
- ui-primitives renamed its whole icon family (IconXxx14/16 ->
IconXxxRegular/Medium): 26 imported symbols, 17 files. The failing
mode is render-time, not load-time. Five call sites that relied on the
old 14px default now pass size={14} explicitly.
- Session format v4 rejects source.kind === 'plugin'; the side-chat
boundary injection now writes plugin:dsh-better-sidebar, the same kind
DSH's own v3->v4 migration produces, so historical threads survive.
Tool results moved to role 'tool' with top-level content/isError; all
four parsers accept both shapes.
- The client session snapshot dropped subagentsByParent/jobsBySession
and the on-demand subagent-catalog observation API. The Tasks page
reads projectionsBySession and a new jobs.list route.
Yields and convergence:
- The read-only previews go to DSH's documentpreview (Office->PDF, a
spreadsheet worker, zoom, per-directory refresh); editor.canOpen
refuses those 26 extensions. Markdown, HTML (with its sandbox
switches) and the editable code buffer stay.
- The host browser kind is desktop-profile-only now, so the web e2e
lanes expect no browser entry and assert its absence.
- Link takeover claims only urlTarget links and passes the rest to the
host, fixing a regression from the 0.1.6 round: the fallback pointed
at a 'browser' type the plugin no longer registers, so http links in
its own markdown did nothing.
Also fixed, found along the way:
- The file tree refreshes live (new directory watch over the plugin's
own socket), since the plugin owns the `files` kind.
- ctx.sessions.list has no `current` field at either tag; the three
readers were dead. They now use ctx.sidebarRight.mounted.
- package.json.files was missing lib/client-locale.js.
- Two genuinely dead call sites: sessions.openSubagent/open/
refreshSubagents do not exist on the current baseline, so the
topology click, the jump-back and the retry were all no-ops.
- The test harness window shim lacked addEventListener, which the 0.1.7
primitives call at module-evaluation time; and the e2e token exchange
needs Playwright's request stack, not Node's fetch.
This commit is contained in:
+50
-41
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "dsh-better-sidebar",
|
||||
"version": "0.20.0",
|
||||
"version": "0.21.0-alpha.1",
|
||||
"description": "DSH web plugin: a VSCode-like right sidebar (explorer / editor / terminal / git / browser), isolated per conversation session. Exposes a service for other plugins to register sidebar tabs and file viewers.",
|
||||
"type": "module",
|
||||
"repository": {
|
||||
@@ -62,6 +62,7 @@
|
||||
"lib/client.js",
|
||||
"lib/client-registry.js",
|
||||
"lib/client-editor.js",
|
||||
"lib/client-locale.js",
|
||||
"lib/client-mermaid.js",
|
||||
"lib/types/**/*.d.ts",
|
||||
"src",
|
||||
@@ -89,21 +90,21 @@
|
||||
},
|
||||
"license": "MIT",
|
||||
"peerDependencies": {
|
||||
"@deepseek-ai/cordis": "^4.0.2",
|
||||
"@deepseek-ai/dsh-agent": "^0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-client-locale": "^0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-client-ui-conversation": "^0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-client-ui-primitives": "^0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-client-ui-settings": "^0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-client-ui-sidebar-right": "^0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-client-ui-slots": "^0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-host-webserver": "^0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-invariants": "^0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-llm": "^0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-session": "^0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-settings": "^0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-subagent": "^0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-tools": "^0.1.6-alpha.2",
|
||||
"@deepseek-ai/cordis": "^4.0.3",
|
||||
"@deepseek-ai/dsh-agent": "^0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-client-locale": "^0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-client-ui-conversation": "^0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-client-ui-primitives": "^0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-client-ui-settings": "^0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-client-ui-sidebar-right": "^0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-client-ui-slots": "^0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-host-webserver": "^0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-invariants": "^0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-llm": "^0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-session": "^0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-settings": "^0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-subagent": "^0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-tools": "^0.1.7-alpha.1",
|
||||
"@huanlin/dsh-plugin-better-locale": "^0.1.0",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0"
|
||||
@@ -138,39 +139,45 @@
|
||||
"@codemirror/search": "^6.7.1",
|
||||
"@codemirror/state": "^6.7.1",
|
||||
"@codemirror/view": "^6.43.8",
|
||||
"@deepseek-ai/schemastery": "^3.18.3",
|
||||
"@lezer/highlight": "^1.2.3",
|
||||
"clsx": "^2.1.1",
|
||||
"dompurify": "^3.4.14",
|
||||
"mermaid": "^11.16.1",
|
||||
"react-icons": "5.7.0",
|
||||
"rxjs": "^7.8.2",
|
||||
"schemastery": "^3.18.0",
|
||||
"ws": "^8.18.0"
|
||||
"ws": "^8.18.0",
|
||||
"yaml": "^2.9.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@cordisjs/plugin-loader": "^1.0.0-rc.5",
|
||||
"@deepseek-ai/dsh-agent": "0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-agent-loop": "0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-attachment": "0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-client-locale": "0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-client-ui-conversation": "0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-client-ui-primitives": "0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-client-ui-settings": "0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-client-ui-sidebar-right": "0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-client-ui-slots": "0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-host-webserver": "0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-invariants": "0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-llm": "0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-scope": "0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-session": "0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-session-persistence": "0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-session-projection": "0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-settings": "0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-subagent": "0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-system-prompt": "0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-tools": "0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-user-approval": "0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-util-time": "0.1.6-alpha.2",
|
||||
"@deepseek-ai/dsh-agent": "0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-agent-loop": "0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-attachment": "0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-client-locale": "0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-client-store": "0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-client-ui-conversation": "0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-client-ui-primitives": "0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-client-ui-settings": "0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-client-ui-sidebar-right": "0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-client-ui-slots": "0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-host-webserver": "0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-invariants": "0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-llm": "0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-ptc-runtime": "0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-sandbox": "0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-sandbox-policy": "0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-scope": "0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-session": "0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-session-persistence": "0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-session-projection": "0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-settings": "0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-subagent": "0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-system-prompt": "0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-tools": "0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-user-approval": "0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-util-time": "0.1.7-alpha.1",
|
||||
"@deepseek-ai/dsh-util-workspace-path": "0.1.7-alpha.1",
|
||||
"@eslint/js": "^10.0.1",
|
||||
"@huanlin/dsh-plugin-better-locale": "^0.1.0",
|
||||
"@playwright/test": "^1.62.1",
|
||||
@@ -186,6 +193,7 @@
|
||||
"eslint": "^10.9.1",
|
||||
"eslint-plugin-react-hooks": "^7.1.1",
|
||||
"globals": "^17.12.0",
|
||||
"immer": "^10.1.1",
|
||||
"jsdom": "^29.1.1",
|
||||
"katex": "^0.16.47",
|
||||
"lightningcss": "^1.32.0",
|
||||
@@ -209,6 +217,7 @@
|
||||
"typescript": "^5.6.0",
|
||||
"typescript-eslint": "^8.69.0",
|
||||
"unrun": "^0.2.39",
|
||||
"vitest": "^4.1.8"
|
||||
"vitest": "^4.1.8",
|
||||
"zustand": "~4.4.7"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user