支持线从 ^0.1.7-rc.1 整体前移到 ^0.2.0-rc.1;0.1.7 线(含 npm latest 的 0.1.7-rc.2)停留在 v0.23.0。适配前实测确认这是纯增量,故本版无运行时兼容分支。 必改项(否则装不上/不加载) - 14 条 DSH peer → ^0.2.0-rc.1。实测 caret 跨 minor 不成立:`^0.1.7-rc.1` 展开为 >=0.1.7-rc.1 <0.2.0-0,对 0.2.0-rc.1 判定 false(includePrerelease 也救不了)。判别性验证:把 peer 回退成 ^0.1.7-rc.1 后,在 0.2.0-rc.1 宿主上 `dsh plugin add` 直接拒绝并回滚包树—— "installation rejected: Plugin dsh-better-sidebar@0.24.0 is incompatible with dsh 0.2.0-rc.1: peerDependencies {…^0.1.7-rc.1…}";恢复 ^0.2.0-rc.1 后安装通过 - 28 个 @deepseek-ai/* devDependencies 精确钉 0.2.0-rc.1(cordis 4.0.4 / cordis-plugin-group 1.0.4 / cordis-plugin-include 1.0.9 不变) - 新增 @deepseek-ai/dsh-util-code-language@0.2.0-rc.1:0.2.0 的 ui-primitives 产物裸 import 它(0.1.7 的产物同样 import,只是旧树里恰好被传递提供), 不补则所有加载 ui-primitives 的 20 个 spec 在收集期失败 实测证据(写进 docs/plans/2026-09-28-dsh-0.2.0-rc.1-adaptation.md) - 本插件消费的 19 个宿主包零值导出删除(对比 export {} / exports.x=) - 类型面仅 3 处且全为增量:ui-primitives(DisclosureRow/TextShimmer/Tooltip 新增可选 prop、overlay 顶部内距)、dsh-session(新增 ToolCallRecovery)、 dsh-api-remotes(新增 product-analytics remote) - 会话格式仍 v4、SUBAGENT_DESCRIPTOR_VERSION 仍 3、dsh/lib/bin.js 与 dsh-client-modules 运行时逐字节相同、web profile 客户端 inject 列表相同、 ui-primitives 裸 import 集合不变、agent-team 四包类型逐字相同 - 宿主 web profile:新增 desktop-only product-analytics/telemetry(web 上 disabled);time-context/schedule/ui-schedule(本就 disabled)移入可选 dsh-experimental-schedule-bundle;插件不依赖宿主 schedule 其余同步 - CI 与挂载 lane 钉 @deepseek-ai/dsh@0.2.0-rc.1(scripts/e2e-common.sh 的 DSH_NPX_SPEC/DSH_EXPECT_VERSION、ci.yml),注释记下「0.2.0 首个候选版只挂 next」与「caret 跨 minor 必失效」两条教训 - tests/market-manifest.spec.ts 的 peer 形状断言钉当前基线 tuple - dsh.plugin.json engines.dsh → >=0.2.0-rc.1;SIDEBAR_SERVICE_VERSION → 0.24.0 - README/README_EN、CHANGELOG/CHANGELOG_EN、AGENTS.md(§2 钉版句 + §3 改为 「DSH 版本适配要点」并新增 §3.0 当前基线,0.1.7 内容降为历史分节)、 docs/external-plugin-guide.md 全部同步 验证:pnpm peers check 仅剩上游 better-locale 的 5 条 unmet(非本插件 peer); typecheck / lint / test(136 文件 1484 通过 9 跳过)/ build 全绿; DSH_CMD='npx -y --package @deepseek-ai/dsh@0.2.0-rc.1 dsh' pnpm test:mount = 7/7; pnpm test:mount:aggregate 通过(聚合双挂载退让)
232 lines
7.7 KiB
JSON
232 lines
7.7 KiB
JSON
{
|
|
"name": "dsh-better-sidebar",
|
|
"version": "0.24.0",
|
|
"description": "Better Sidebar for DSH — file tree, editor, changes, tasks and side chat in one column, separate for every conversation. Also exposes a service other plugins use to register sidebar tabs and file viewers.",
|
|
"type": "module",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/omdsh-dev/DSH-better-sidebar"
|
|
},
|
|
"publishConfig": {
|
|
"access": "public"
|
|
},
|
|
"main": "lib/index.js",
|
|
"types": "lib/types/index.d.ts",
|
|
"exports": {
|
|
".": {
|
|
"types": "./lib/types/index.d.ts",
|
|
"default": "./lib/index.js"
|
|
},
|
|
"./invariant": {
|
|
"types": "./lib/types/invariant.d.ts",
|
|
"default": "./lib/invariant.js"
|
|
},
|
|
"./client": {
|
|
"types": "./lib/types/client/index.d.ts",
|
|
"default": "./lib/client.js"
|
|
},
|
|
"./client/service": {
|
|
"types": "./lib/types/client/service.d.ts",
|
|
"default": "./lib/client.js"
|
|
},
|
|
"./client/api": {
|
|
"types": "./lib/types/client/service.d.ts",
|
|
"default": "./lib/client.js"
|
|
},
|
|
"./src/*": "./src/*",
|
|
"./package.json": "./package.json",
|
|
"./locale/*.json": "./locale/*.json"
|
|
},
|
|
"engines": {
|
|
"node": ">=20"
|
|
},
|
|
"packageManager": "pnpm@11.8.0",
|
|
"dsh": {
|
|
"bundle": {
|
|
"patch": "./cordis.patch.yml"
|
|
},
|
|
"client": {
|
|
"inject": [
|
|
"@deepseek-ai/dsh-client-locale",
|
|
"@deepseek-ai/dsh-client-ui-slots",
|
|
"@deepseek-ai/dsh-client-ui-conversation",
|
|
"@deepseek-ai/dsh-client-ui-sidebar-right",
|
|
"@deepseek-ai/dsh-client-modules"
|
|
],
|
|
"platform": "web"
|
|
},
|
|
"manifestVersion": 1
|
|
},
|
|
"files": [
|
|
"lib/index.js",
|
|
"lib/invariant.js",
|
|
"lib/client.js",
|
|
"lib/client-registry.js",
|
|
"lib/client-editor.js",
|
|
"lib/client-locale.js",
|
|
"lib/client-mermaid.js",
|
|
"lib/types/**/*.d.ts",
|
|
"src",
|
|
"scripts/install.sh",
|
|
"scripts/install.ps1",
|
|
"cordis.patch.yml",
|
|
"README.md",
|
|
"README_EN.md",
|
|
"LICENSE",
|
|
"icon.svg",
|
|
"locale/*.json"
|
|
],
|
|
"scripts": {
|
|
"build": "node -e \"require('node:fs').rmSync('lib',{recursive:true,force:true})\" && tsc -p tsconfig.build.json && tsdown",
|
|
"prepublishOnly": "pnpm build",
|
|
"typecheck": "tsc --noEmit",
|
|
"bundle": "tsdown",
|
|
"watch": "tsdown --watch",
|
|
"prepare": "tsdown",
|
|
"test": "vitest run",
|
|
"test:windows": "vitest run --maxWorkers=1",
|
|
"test:mount": "bash scripts/e2e-mount.sh",
|
|
"test:mount:aggregate": "bash scripts/e2e-aggregate-mount.sh",
|
|
"clean": "node -e \"require('node:fs').rmSync('lib',{recursive:true,force:true})\"",
|
|
"check:consumer-types": "bash scripts/check-consumer-types.sh",
|
|
"lint": "eslint ."
|
|
},
|
|
"license": "MIT",
|
|
"peerDependencies": {
|
|
"@deepseek-ai/cordis": "^4.0.4",
|
|
"@deepseek-ai/dsh-agent": "^0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-client-locale": "^0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-client-ui-conversation": "^0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-client-ui-primitives": "^0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-client-ui-settings": "^0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-client-ui-sidebar-right": "^0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-client-ui-slots": "^0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-host-webserver": "^0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-invariants": "^0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-llm": "^0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-session": "^0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-settings": "^0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-subagent": "^0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-tools": "^0.2.0-rc.1",
|
|
"@huanlin/dsh-plugin-better-locale": "^0.1.0",
|
|
"react": "^18.2.0",
|
|
"react-dom": "^18.2.0"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"@huanlin/dsh-plugin-better-locale": {
|
|
"optional": true
|
|
},
|
|
"@deepseek-ai/dsh-client-ui-sidebar-right": {
|
|
"optional": true
|
|
}
|
|
},
|
|
"dependencies": {
|
|
"@codemirror/commands": "^6.10.4",
|
|
"@codemirror/lang-cpp": "^6.0.3",
|
|
"@codemirror/lang-css": "^6.3.1",
|
|
"@codemirror/lang-go": "^6.0.1",
|
|
"@codemirror/lang-html": "^6.4.12",
|
|
"@codemirror/lang-java": "^6.0.2",
|
|
"@codemirror/lang-javascript": "^6.2.5",
|
|
"@codemirror/lang-json": "^6.0.2",
|
|
"@codemirror/lang-markdown": "^6.5.2",
|
|
"@codemirror/lang-php": "^6.0.2",
|
|
"@codemirror/lang-python": "^6.2.1",
|
|
"@codemirror/lang-rust": "^6.0.2",
|
|
"@codemirror/lang-sql": "^6.10.0",
|
|
"@codemirror/lang-vue": "^0.1.3",
|
|
"@codemirror/lang-xml": "^6.1.0",
|
|
"@codemirror/lang-yaml": "^6.1.3",
|
|
"@codemirror/language": "^6.12.4",
|
|
"@codemirror/legacy-modes": "^6.5.3",
|
|
"@codemirror/search": "^6.7.1",
|
|
"@codemirror/state": "^6.7.1",
|
|
"@codemirror/view": "^6.43.8",
|
|
"@deepseek-ai/schemastery": "^3.18.4",
|
|
"@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",
|
|
"ws": "^8.18.0",
|
|
"yaml": "^2.9.1"
|
|
},
|
|
"devDependencies": {
|
|
"@cordisjs/plugin-loader": "^1.0.0-rc.5",
|
|
"@deepseek-ai/cordis": "4.0.4",
|
|
"@deepseek-ai/cordis-plugin-group": "1.0.4",
|
|
"@deepseek-ai/cordis-plugin-include": "1.0.9",
|
|
"@deepseek-ai/dsh-agent": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-agent-loop": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-attachment": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-client-locale": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-client-store": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-client-ui-conversation": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-client-ui-primitives": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-client-ui-settings": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-client-ui-sidebar-right": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-client-ui-slots": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-host-webserver": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-invariants": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-llm": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-ptc-runtime": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-sandbox": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-sandbox-policy": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-scope": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-session": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-session-persistence": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-session-projection": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-settings": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-subagent": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-system-prompt": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-tools": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-user-approval": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-util-code-language": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-util-time": "0.2.0-rc.1",
|
|
"@deepseek-ai/dsh-util-workspace-path": "0.2.0-rc.1",
|
|
"@eslint/js": "^10.0.1",
|
|
"@huanlin/dsh-plugin-better-locale": "^0.1.0",
|
|
"@playwright/test": "^1.62.1",
|
|
"@shikijs/langs": "^4.3.1",
|
|
"@types/mdast": "^4.0.4",
|
|
"@types/node": "^24.0.0",
|
|
"@types/react": "~18.3.1",
|
|
"@types/react-dom": "~18.3.1",
|
|
"@types/ws": "^8.5.10",
|
|
"anser": "^2.3.5",
|
|
"cordis": "^4.0.0-rc.8",
|
|
"diff": "^9.0.0",
|
|
"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",
|
|
"mdast-util-from-markdown": "^2.0.3",
|
|
"mdast-util-gfm": "^3.1.0",
|
|
"mdast-util-math": "^3.0.0",
|
|
"micromark-core-commonmark": "^2.0.3",
|
|
"micromark-extension-gfm": "^3.0.0",
|
|
"micromark-extension-math": "^3.1.0",
|
|
"micromark-factory-space": "^2.0.1",
|
|
"micromark-util-character": "^2.1.1",
|
|
"micromark-util-classify-character": "^2.0.1",
|
|
"micromark-util-sanitize-uri": "^2.0.1",
|
|
"micromark-util-symbol": "^2.0.1",
|
|
"micromark-util-types": "^2.0.2",
|
|
"react": "^18.2.0",
|
|
"react-dom": "18.2.0",
|
|
"shiki": "^4.3.1",
|
|
"simple-icons": "^16.32.0",
|
|
"tsdown": "^0.22.2",
|
|
"typescript": "^5.6.0",
|
|
"typescript-eslint": "^8.69.0",
|
|
"unrun": "^0.2.39",
|
|
"vitest": "^4.1.8",
|
|
"zustand": "~4.4.7"
|
|
},
|
|
"icon": "./icon.svg"
|
|
}
|