- 拖出:标签栏 tab 拖到主会话列(HTML5 DnD 检测 + 虚线提示浮层)或右键菜单 「移动到自由窗口」(右/底面板共用 TabBar),tab 从 pane 移动进 SidebarState.floats - 窗口(FreeWindow,渲染于 [data-dsh-panel-host] z-42):头部 pointer 拖动 (rAF 直写 + 松手提交)、拖到 pane 高亮停靠(center 合并)、SE 角缩放、 点击置顶、头部右键(回到侧边栏/关闭)、X = closeTab 走正常生命周期 - 服务语义:openTab dedupe/id 聚焦浮动 tab = 置顶窗口(不展开面板); closeTab/activateTab 兼顾 floats;agent 终端 reconcile 覆盖浮窗; features 单调新增 'floatWindows',版本 0.16.0 - 持久化:floats 随会话 localStorage,sanitizeState 宽容校验 + 几何钳制, uid 播种覆盖 float 前缀;i18n 三键 19 语言同步 - 关键修复(e2e 发现):portal 覆盖层(头部 Menu)的合成事件沿 React 树 冒泡回拖拽表面,劫持菜单行点击——拖拽起点加 DOM 同源守卫(jsdom 不复现) - e2e-mount.sh:缺省 tarball 改取 mtime 最新(旧字典序选择会把冒烟挂到 过期产物);新增 tests/e2e/float-window.e2e.ts 双用例
179 lines
5.5 KiB
JSON
179 lines
5.5 KiB
JSON
{
|
|
"name": "dsh-better-sidebar",
|
|
"version": "0.16.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",
|
|
"@deepseek-ai/dsh-client-modules"
|
|
],
|
|
"platform": "web"
|
|
}
|
|
},
|
|
"files": [
|
|
"lib/index.js",
|
|
"lib/invariant.js",
|
|
"lib/client.js",
|
|
"lib/client-registry.js",
|
|
"lib/client-terminal.js",
|
|
"lib/client-editor.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"
|
|
],
|
|
"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",
|
|
"test:mount": "bash scripts/e2e-mount.sh",
|
|
"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.8",
|
|
"@deepseek-ai/dsh-client-locale": "^0.1.0-rc.8",
|
|
"@deepseek-ai/dsh-client-runtime": "^0.1.0-rc.8",
|
|
"@deepseek-ai/dsh-client-ui-conversation": "^0.1.0-rc.8",
|
|
"@deepseek-ai/dsh-client-ui-primitives": "^0.1.0-rc.8",
|
|
"@deepseek-ai/dsh-client-ui-settings": "^0.1.0-rc.8",
|
|
"@deepseek-ai/dsh-client-ui-slots": "^0.1.0-rc.8",
|
|
"@deepseek-ai/dsh-host-webserver": "^0.1.0-rc.8",
|
|
"@deepseek-ai/dsh-invariants": "^0.1.0-rc.8",
|
|
"@deepseek-ai/dsh-llm": "^0.1.0-rc.8",
|
|
"@deepseek-ai/dsh-session": "^0.1.0-rc.8",
|
|
"@deepseek-ai/dsh-settings": "^0.1.0-rc.8",
|
|
"@deepseek-ai/dsh-subagent": "^0.1.0-rc.8",
|
|
"@deepseek-ai/dsh-tools": "^0.1.0-rc.8",
|
|
"@huanlin/dsh-plugin-better-locale": "^0.1.0",
|
|
"cordis": "^4.0.0-rc.8",
|
|
"react": "^18.2.0",
|
|
"react-dom": "^18.2.0"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"cordis": {
|
|
"optional": true
|
|
},
|
|
"@huanlin/dsh-plugin-better-locale": {
|
|
"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-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",
|
|
"clsx": "^2.1.1",
|
|
"mermaid": "^11.16.1",
|
|
"node-pty": "^1.1.0",
|
|
"react-icons": "5.7.0",
|
|
"rxjs": "^7.8.2",
|
|
"schemastery": "^3.18.0",
|
|
"ws": "^8.18.0"
|
|
},
|
|
"devDependencies": {
|
|
"@cordisjs/plugin-loader": "^1.0.0-rc.5",
|
|
"@deepseek-ai/dsh-agent": "0.1.1-rc.1",
|
|
"@deepseek-ai/dsh-client-locale": "0.1.1-rc.1",
|
|
"@deepseek-ai/dsh-client-runtime": "0.1.1-rc.1",
|
|
"@deepseek-ai/dsh-client-ui-conversation": "0.1.1-rc.1",
|
|
"@deepseek-ai/dsh-client-ui-primitives": "0.1.1-rc.1",
|
|
"@deepseek-ai/dsh-client-ui-settings": "0.1.1-rc.1",
|
|
"@deepseek-ai/dsh-client-ui-slots": "0.1.1-rc.1",
|
|
"@deepseek-ai/dsh-host-webserver": "0.1.1-rc.1",
|
|
"@deepseek-ai/dsh-invariants": "0.1.1-rc.1",
|
|
"@deepseek-ai/dsh-llm": "0.1.1-rc.1",
|
|
"@deepseek-ai/dsh-session": "0.1.1-rc.1",
|
|
"@deepseek-ai/dsh-settings": "0.1.1-rc.1",
|
|
"@deepseek-ai/dsh-subagent": "0.1.1-rc.1",
|
|
"@deepseek-ai/dsh-tools": "0.1.1-rc.1",
|
|
"@huanlin/dsh-plugin-better-locale": "^0.1.0",
|
|
"@playwright/test": "^1.62.1",
|
|
"@types/node": "^24.0.0",
|
|
"@types/react": "~18.3.1",
|
|
"@types/react-dom": "~18.3.1",
|
|
"@types/ws": "^8.5.10",
|
|
"@xterm/addon-fit": "^0.11.0",
|
|
"@xterm/xterm": "^5.5.0",
|
|
"cordis": "^4.0.0-rc.8",
|
|
"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"
|
|
}
|
|
}
|