feat: adapt to DSH 0.1.2-alpha.3 and bump to v0.18.1-alpha.0

Point-by-point audit of all 117 commits between alpha.2 and alpha.3:
every host contract this plugin relies on (token auth, slash RPC,
MarkdownText labels, the event-stream/persistence APIs behind
sidechat.events, SettingsNamespaceInput, SUBAGENT_DESCRIPTOR_VERSION
(still 3), dsh-client-store, the profile loader, the node-pty pin) is
unchanged, so no plugin code needed rewiring. alpha.3's breaking
changes (required BeginSubmissionInput.mode, the renamed
attachment-invalid subagent error, the removed SQLite persistence
backend, the identity-gated projection change feed) do not touch this
plugin.

What did need adapting was the dependency tree: the alpha.3 npm
artifacts ship with workspace-era metadata that does not match their
published code —

- dsh-subagent@0.1.2-alpha.3 imports `admitPromptContent` from
  @deepseek-ai/dsh-attachment without declaring that dependency, so
  resolution floats to a stale 0.1.1-rc.1 copy that lacks the export
  (broke 5 test files at load time);
- six transitive peers (dsh-scope, dsh-session-projection,
  dsh-system-prompt, dsh-user-approval, dsh-util-time, dsh-code-runtime)
  drifted to pre-alpha.3 versions against the ^0.1.2-alpha.3 ranges the
  alpha.3 packages declare;
- the alpha.3 line peers on @deepseek-ai/cordis ^4.0.2 (was ^4.0.1).

Fix: pin the seven stragglers via pnpm-workspace.yaml overrides (with
a note to drop them once upstream fixes its metadata), narrow the
cordis peer to ^4.0.2, and bump the baseline pins — CI mount gate,
dsh.plugin.json engines, peer/devDependencies, README badges, plus
SIDEBAR_SERVICE_VERSION in lockstep.

Verified on the npm-published @deepseek-ai/dsh@0.1.2-alpha.3:
typecheck clean, 107 test files / 1137 tests green, `pnpm peers check`
reports zero unmet peers, and the real-host mount smoke passes 14/14.
This commit is contained in:
Menghuan1918
2026-09-01 15:02:28 +08:00
parent c567c4cef7
commit b2722ece5d
10 changed files with 377 additions and 398 deletions
+28 -28
View File
@@ -1,6 +1,6 @@
{
"name": "dsh-better-sidebar",
"version": "0.18.0-alpha.0",
"version": "0.18.1-alpha.0",
"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": {
@@ -83,20 +83,20 @@
},
"license": "MIT",
"peerDependencies": {
"@deepseek-ai/cordis": "^4.0.1",
"@deepseek-ai/dsh-agent": "^0.1.2-alpha.2",
"@deepseek-ai/dsh-client-locale": "^0.1.2-alpha.2",
"@deepseek-ai/dsh-client-ui-conversation": "^0.1.2-alpha.2",
"@deepseek-ai/dsh-client-ui-primitives": "^0.1.2-alpha.2",
"@deepseek-ai/dsh-client-ui-settings": "^0.1.2-alpha.2",
"@deepseek-ai/dsh-client-ui-slots": "^0.1.2-alpha.2",
"@deepseek-ai/dsh-host-webserver": "^0.1.2-alpha.2",
"@deepseek-ai/dsh-invariants": "^0.1.2-alpha.2",
"@deepseek-ai/dsh-llm": "^0.1.2-alpha.2",
"@deepseek-ai/dsh-session": "^0.1.2-alpha.2",
"@deepseek-ai/dsh-settings": "^0.1.2-alpha.2",
"@deepseek-ai/dsh-subagent": "^0.1.2-alpha.2",
"@deepseek-ai/dsh-tools": "^0.1.2-alpha.2",
"@deepseek-ai/cordis": "^4.0.2",
"@deepseek-ai/dsh-agent": "^0.1.2-alpha.3",
"@deepseek-ai/dsh-client-locale": "^0.1.2-alpha.3",
"@deepseek-ai/dsh-client-ui-conversation": "^0.1.2-alpha.3",
"@deepseek-ai/dsh-client-ui-primitives": "^0.1.2-alpha.3",
"@deepseek-ai/dsh-client-ui-settings": "^0.1.2-alpha.3",
"@deepseek-ai/dsh-client-ui-slots": "^0.1.2-alpha.3",
"@deepseek-ai/dsh-host-webserver": "^0.1.2-alpha.3",
"@deepseek-ai/dsh-invariants": "^0.1.2-alpha.3",
"@deepseek-ai/dsh-llm": "^0.1.2-alpha.3",
"@deepseek-ai/dsh-session": "^0.1.2-alpha.3",
"@deepseek-ai/dsh-settings": "^0.1.2-alpha.3",
"@deepseek-ai/dsh-subagent": "^0.1.2-alpha.3",
"@deepseek-ai/dsh-tools": "^0.1.2-alpha.3",
"@huanlin/dsh-plugin-better-locale": "^0.1.0",
"react": "^18.2.0",
"react-dom": "^18.2.0"
@@ -140,19 +140,19 @@
},
"devDependencies": {
"@cordisjs/plugin-loader": "^1.0.0-rc.5",
"@deepseek-ai/dsh-agent": "0.1.2-alpha.2",
"@deepseek-ai/dsh-client-locale": "0.1.2-alpha.2",
"@deepseek-ai/dsh-client-ui-conversation": "0.1.2-alpha.2",
"@deepseek-ai/dsh-client-ui-primitives": "0.1.2-alpha.2",
"@deepseek-ai/dsh-client-ui-settings": "0.1.2-alpha.2",
"@deepseek-ai/dsh-client-ui-slots": "0.1.2-alpha.2",
"@deepseek-ai/dsh-host-webserver": "0.1.2-alpha.2",
"@deepseek-ai/dsh-invariants": "0.1.2-alpha.2",
"@deepseek-ai/dsh-llm": "0.1.2-alpha.2",
"@deepseek-ai/dsh-session": "0.1.2-alpha.2",
"@deepseek-ai/dsh-settings": "0.1.2-alpha.2",
"@deepseek-ai/dsh-subagent": "0.1.2-alpha.2",
"@deepseek-ai/dsh-tools": "0.1.2-alpha.2",
"@deepseek-ai/dsh-agent": "0.1.2-alpha.3",
"@deepseek-ai/dsh-client-locale": "0.1.2-alpha.3",
"@deepseek-ai/dsh-client-ui-conversation": "0.1.2-alpha.3",
"@deepseek-ai/dsh-client-ui-primitives": "0.1.2-alpha.3",
"@deepseek-ai/dsh-client-ui-settings": "0.1.2-alpha.3",
"@deepseek-ai/dsh-client-ui-slots": "0.1.2-alpha.3",
"@deepseek-ai/dsh-host-webserver": "0.1.2-alpha.3",
"@deepseek-ai/dsh-invariants": "0.1.2-alpha.3",
"@deepseek-ai/dsh-llm": "0.1.2-alpha.3",
"@deepseek-ai/dsh-session": "0.1.2-alpha.3",
"@deepseek-ai/dsh-settings": "0.1.2-alpha.3",
"@deepseek-ai/dsh-subagent": "0.1.2-alpha.3",
"@deepseek-ai/dsh-tools": "0.1.2-alpha.3",
"@huanlin/dsh-plugin-better-locale": "^0.1.0",
"@playwright/test": "^1.62.1",
"@types/node": "^24.0.0",