- P2-1 onOpen 收到真正落地的 tab:url 新建场景从 landed 态按 id 反查
(补丁后对象),回调不再拿到未打 url 的 tab
- P2-2 插件设置行显式取值源:FeatureSettingsRows 新增 valueSource prop,
插件行读自己的 pluginSettings blob——插件键与宿主 pref 同名时不再
静默读宿主值(原投影合并有读宿主写插件的读写不对称);prop 命名避开
Object.prototype.valueOf 冲突
- P2-3 consumer 类型检查接入工程:package.json 新增 check:consumer-types
脚本 + CI 在 build 后执行;脚本补 lib/types 存在性前置检查(防假绿)
- P3-1 url seed 只在新建时应用:dedupe 聚焦的 tab 不再被覆写 path
- P3-2 closeTab/activateTab 未知 id 严格 no-op:store.reduce 对同引用
结果短路(不 notify、不重写 localStorage),根因修复 + 回归测试
- P3-3 closeTab/activateTab 增加可选 scope(cwd 随回调传递),Sidebar
双树激活/关闭路径传入 { sessionId, cwd }
- P3-4 定向打开不再自动展开不可见 session 的面板
- P3-5 Sidebar 终端 pty 释放查找覆盖双树(底部面板终端不再漏掉 HTTP
兜底)
- P3-6/P3-7 与 Nits:AGENTS.md/指南文档化(dedupeKey 纯函数、meta 用
null 清除、回调 scope 的 cwd 语义);consumer fixture 补常量导出覆盖
测试 +6(url 落地保真 / url 不覆写聚焦 / 未知 id 无 notify / 定向打开
不展开 / scope 随回调 / valueSource 键隔离),464 全绿;typecheck、
build、consumer 校验全部通过。
178 lines
5.5 KiB
JSON
178 lines
5.5 KiB
JSON
{
|
|
"name": "dsh-better-sidebar",
|
|
"version": "0.12.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": {
|
|
"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"
|
|
},
|
|
"engines": {
|
|
"node": ">=20"
|
|
},
|
|
"dsh": {
|
|
"bundle": {
|
|
"patch": "./cordis.patch.yml"
|
|
},
|
|
"client": {
|
|
"inject": [
|
|
"@deepseek-ai/dsh-client-runtime",
|
|
"@deepseek-ai/dsh-client-locale",
|
|
"@deepseek-ai/dsh-client-ui-slots",
|
|
"@deepseek-ai/dsh-client-ui-conversation"
|
|
],
|
|
"platform": "web"
|
|
}
|
|
},
|
|
"files": [
|
|
"lib/index.js",
|
|
"lib/invariant.js",
|
|
"lib/client.js",
|
|
"lib/client-registry.js",
|
|
"lib/client-docx.js",
|
|
"lib/client-xlsx.js",
|
|
"lib/client-pptx.js",
|
|
"lib/client-terminal.js",
|
|
"lib/client-editor.js",
|
|
"lib/types/**/*.d.ts",
|
|
"src",
|
|
"scripts/install.sh",
|
|
"scripts/install.ps1",
|
|
"cordis.patch.yml",
|
|
"README.md",
|
|
"README_EN.md",
|
|
"LICENSE"
|
|
],
|
|
"scripts": {
|
|
"build": "rm -rf lib && tsc -p tsconfig.build.json && tsdown",
|
|
"prepublishOnly": "pnpm build",
|
|
"typecheck": "tsc --noEmit",
|
|
"bundle": "tsdown",
|
|
"watch": "tsdown --watch",
|
|
"prepare": "tsdown",
|
|
"test": "vitest run",
|
|
"check:consumer-types": "bash scripts/check-consumer-types.sh"
|
|
},
|
|
"license": "MIT",
|
|
"peerDependencies": {
|
|
"@deepseek-ai/cordis": "^4.0.1",
|
|
"@deepseek-ai/dsh-agent": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-client-locale": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-client-runtime": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-client-schema-form": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-client-ui-conversation": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-client-ui-primitives": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-client-ui-settings": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-client-ui-slots": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-client-web-react": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-host-webserver": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-invariants": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-llm": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-session": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-settings": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-tools": "^0.1.0-rc.6",
|
|
"cordis": "^4.0.0-rc.7",
|
|
"react": "^18.2.0",
|
|
"react-dom": "^18.2.0"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"cordis": {
|
|
"optional": true
|
|
}
|
|
},
|
|
"dependencies": {
|
|
"@aiden0z/pptx-renderer": "^1.2.4",
|
|
"@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-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",
|
|
"@lezer/highlight": "^1.2.3",
|
|
"@univerjs/preset-sheets-core": "^0.25.1",
|
|
"@univerjs/presets": "^0.25.1",
|
|
"@xterm/addon-fit": "^0.10.0",
|
|
"clsx": "^2.1.1",
|
|
"docx-preview": "^0.4.0",
|
|
"node-pty": "^1.1.0",
|
|
"rxjs": "^7.8.2",
|
|
"schemastery": "^3.18.0",
|
|
"ws": "^8.18.0",
|
|
"xlsx": "^0.18.5",
|
|
"xterm": "^5.3.0"
|
|
},
|
|
"devDependencies": {
|
|
"@deepseek-ai/dsh-agent": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-client-locale": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-client-runtime": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-client-schema-form": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-client-ui-conversation": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-client-ui-primitives": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-client-ui-settings": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-client-ui-slots": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-client-web-react": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-host-webserver": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-invariants": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-llm": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-session": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-settings": "^0.1.0-rc.6",
|
|
"@deepseek-ai/dsh-tools": "^0.1.0-rc.6",
|
|
"@types/node": "^24.0.0",
|
|
"@types/react": "~18.3.1",
|
|
"@types/react-dom": "~18.3.1",
|
|
"@types/ws": "^8.5.10",
|
|
"@cordisjs/plugin-loader": "^1.0.0-rc.5",
|
|
"cordis": "^4.0.0-rc.7",
|
|
"jsdom": "^29.1.1",
|
|
"lightningcss": "^1.32.0",
|
|
"react": "^18.2.0",
|
|
"react-dom": "18.2.0",
|
|
"tsdown": "^0.22.2",
|
|
"typescript": "^5.6.0",
|
|
"vitest": "^4.1.8"
|
|
}
|
|
}
|