{"_id":"@cerbur/clutch-dsh-worktree","_rev":"18-9fc93e20af589dd53e5a81893e3b249b","name":"@cerbur/clutch-dsh-worktree","dist-tags":{"latest":"0.1.16"},"versions":{"0.1.0":{"name":"@cerbur/clutch-dsh-worktree","version":"0.1.0","keywords":["deepseek-harness","dsh","dsh-plugin","git","worktree"],"license":"MIT","_id":"@cerbur/clutch-dsh-worktree@0.1.0","maintainers":[{"name":"cerbur","email":"cerbur@qq.com"}],"homepage":"https://github.com/Cerbur/clutch-dsh/tree/main/packages/clutch-dsh-worktree","bugs":{"url":"https://github.com/Cerbur/clutch-dsh/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-layout","@deepseek-ai/dsh-client-ui-sidebar"],"platform":"web"}},"dist":{"shasum":"bb3d2d9b77275818d565b7bd179b9a39b2791bfb","tarball":"https://registry.npmjs.org/@cerbur/clutch-dsh-worktree/-/clutch-dsh-worktree-0.1.0.tgz","fileCount":114,"integrity":"sha512-RkrILoIyMo179cDDqBcc+oXVvr99bD0CYR26LO7cB8u8uqqza7dLsB86RoAuJjDxS9jaFbj1nXd0/NV9B8+gUg==","signatures":[{"sig":"MEUCIQDsTR/M5mxJa5vHAKQoUcxcHHhJ6BuFeshoBanL8sI0ogIgeffXyOrB8/cKd6IDSiCH8qMS+/4jsbTT88P2vohYTKk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626616},"type":"module","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","default":"./lib/index.js"},"./client":{"types":"./lib/client/entry.d.ts","default":"./lib/client.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./contract":{"types":"./lib/contract/index.d.ts","import":"./lib/contract/index.js","default":"./lib/contract/index.js"},"./package.json":"./package.json"},"gitHead":"d9ef7f88a5f597fd994ce226902bd4efb08c6b2e","scripts":{"lint":"eslint src","test":"pnpm run build && tsc -p tsconfig.remote-test.json && node --test test/*.test.mjs","build":"tsc -p tsconfig.json && node scripts/generate-typert.mjs && node scripts/build-client.mjs","prepack":"pnpm run build","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"cerbur","email":"cerbur@qq.com"},"clutchDsh":{"role":"plugin","plugin":"@cerbur/clutch-dsh-worktree","serviceDefinition":"@cerbur/clutch-dsh-worktree"},"repository":{"url":"git+https://github.com/Cerbur/clutch-dsh.git","type":"git","directory":"packages/clutch-dsh-worktree"},"_npmVersion":"11.16.0","description":"Adds a Worktree view to DSH Web UI that groups Sessions by Git worktree while keeping DSH as the source of truth.","directories":{},"_nodeVersion":"26.3.1","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","tsdown":"0.22.2","@types/node":"^22.15.3","@types/react":"~18.3.1","@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":"0.1.0-rc.8","@deepseek-ai/dsh-workspace":"0.1.0-rc.8","@deepseek-ai/dsh-invariants":"0.1.0-rc.8","@deepseek-ai/dsh-api-gateway":"0.1.0-rc.8","@deepseek-ai/dsh-typert-loader":"0.1.0-rc.8","@deepseek-ai/dsh-client-runtime":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-slots":"0.1.0-rc.8","@deepseek-ai/dsh-typert-protocol":"0.1.0-rc.8","@deepseek-ai/dsh-typert-registry":"0.1.0-rc.8","@deepseek-ai/cordis-plugin-loader":"1.0.2","@deepseek-ai/dsh-client-ui-layout":"0.1.0-rc.8","@deepseek-ai/dsh-typert-generator":"0.1.0-rc.8","@deepseek-ai/dsh-client-connection":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-sidebar":"0.1.0-rc.8","@deepseek-ai/dsh-session-persistence":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-primitives":"0.1.0-rc.8"},"peerDependencies":{"@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":"0.1.0-rc.8","@deepseek-ai/dsh-workspace":"0.1.0-rc.8","@deepseek-ai/dsh-client-runtime":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-slots":"0.1.0-rc.8","@deepseek-ai/dsh-typert-protocol":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-layout":"0.1.0-rc.8","@deepseek-ai/dsh-client-connection":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-sidebar":"0.1.0-rc.8","@deepseek-ai/dsh-session-persistence":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-primitives":"0.1.0-rc.8"},"_npmOperationalInternal":{"tmp":"tmp/clutch-dsh-worktree_0.1.0_1787293901045_0.705818380540645","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@cerbur/clutch-dsh-worktree","version":"0.1.1","keywords":["deepseek-harness","dsh","dsh-plugin","git","worktree"],"license":"MIT","_id":"@cerbur/clutch-dsh-worktree@0.1.1","maintainers":[{"name":"cerbur","email":"cerbur@qq.com"}],"homepage":"https://github.com/Cerbur/clutch-dsh/tree/main/packages/clutch-dsh-worktree","bugs":{"url":"https://github.com/Cerbur/clutch-dsh/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-layout","@deepseek-ai/dsh-client-ui-sidebar"],"platform":"web"}},"dist":{"shasum":"66c967d6d0ee951b401d632c52bb75c4fb3481a0","tarball":"https://registry.npmjs.org/@cerbur/clutch-dsh-worktree/-/clutch-dsh-worktree-0.1.1.tgz","fileCount":122,"integrity":"sha512-xwMafGyIdutpb8743YrjKLY5di89jrXYA1UttwKrfZVegWWgWgw5ZUZv+xrRyrltDpLaLSH9V0Fvqw0YTcVuFQ==","signatures":[{"sig":"MEUCIDuhFDRGrU17ddgCNSvqflseFyLie6P0TabRk6vP0ZXVAiEAsSXDYduN5vIe1Hr0UYiYXY7Rr2x2SrKDN3+1Zg9nVbQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":698966},"type":"module","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","default":"./lib/index.js"},"./client":{"types":"./lib/client/entry.d.ts","default":"./lib/client.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./contract":{"types":"./lib/contract/index.d.ts","import":"./lib/contract/index.js","default":"./lib/contract/index.js"},"./package.json":"./package.json"},"gitHead":"6a9742471f9a22c7940d056edf5366e30c74cc9c","scripts":{"lint":"eslint src","test":"pnpm run build && tsc -p tsconfig.remote-test.json && node --test test/*.test.mjs","build":"tsc -p tsconfig.json && node scripts/generate-typert.mjs && node scripts/build-client.mjs","prepack":"pnpm run build","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"cerbur","email":"cerbur@qq.com"},"clutchDsh":{"role":"plugin","plugin":"@cerbur/clutch-dsh-worktree","serviceDefinition":"@cerbur/clutch-dsh-worktree"},"repository":{"url":"git+https://github.com/Cerbur/clutch-dsh.git","type":"git","directory":"packages/clutch-dsh-worktree"},"_npmVersion":"11.16.0","description":"Adds a Worktree view to DSH Web UI that groups Sessions by Git worktree while keeping DSH as the source of truth.","directories":{},"_nodeVersion":"26.3.1","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","tsdown":"0.22.2","@types/node":"^22.15.3","@types/react":"~18.3.1","@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":"0.1.0-rc.8","@deepseek-ai/dsh-workspace":"0.1.0-rc.8","@deepseek-ai/dsh-invariants":"0.1.0-rc.8","@deepseek-ai/dsh-api-gateway":"0.1.0-rc.8","@deepseek-ai/dsh-client-locale":"0.1.0-rc.8","@deepseek-ai/dsh-typert-loader":"0.1.0-rc.8","@deepseek-ai/dsh-client-runtime":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-slots":"0.1.0-rc.8","@deepseek-ai/dsh-typert-protocol":"0.1.0-rc.8","@deepseek-ai/dsh-typert-registry":"0.1.0-rc.8","@deepseek-ai/cordis-plugin-loader":"1.0.2","@deepseek-ai/dsh-client-ui-layout":"0.1.0-rc.8","@deepseek-ai/dsh-typert-generator":"0.1.0-rc.8","@deepseek-ai/dsh-client-connection":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-sidebar":"0.1.0-rc.8","@deepseek-ai/dsh-session-persistence":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-primitives":"0.1.0-rc.8"},"peerDependencies":{"@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":"0.1.0-rc.8","@deepseek-ai/dsh-workspace":"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-slots":"0.1.0-rc.8","@deepseek-ai/dsh-typert-protocol":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-layout":"0.1.0-rc.8","@deepseek-ai/dsh-client-connection":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-sidebar":"0.1.0-rc.8","@deepseek-ai/dsh-session-persistence":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-primitives":"0.1.0-rc.8"},"_npmOperationalInternal":{"tmp":"tmp/clutch-dsh-worktree_0.1.1_1787338107080_0.4522884420415556","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@cerbur/clutch-dsh-worktree","version":"0.1.2","keywords":["deepseek-harness","dsh","dsh-plugin","git","worktree"],"license":"MIT","_id":"@cerbur/clutch-dsh-worktree@0.1.2","maintainers":[{"name":"cerbur","email":"cerbur@qq.com"}],"homepage":"https://github.com/Cerbur/clutch-dsh/tree/main/packages/clutch-dsh-worktree","bugs":{"url":"https://github.com/Cerbur/clutch-dsh/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-layout","@deepseek-ai/dsh-client-ui-sidebar"],"platform":"web"}},"dist":{"shasum":"d55759e673e37168d3149745357dcb019824c453","tarball":"https://registry.npmjs.org/@cerbur/clutch-dsh-worktree/-/clutch-dsh-worktree-0.1.2.tgz","fileCount":122,"integrity":"sha512-nms+wYaCX7B5SBqeqaED8FQRUV/i4hzdgUQ0ZuJcmZSeJ4+1lr97IVnIheQc6jDw7zTTKdI6ehRCEQiDlJNHNw==","signatures":[{"sig":"MEUCIQCcCk8IyFdWlm2XyjgI4YY0dqU550RYJXJ4tR516pJDAwIgeonZOjSdT3Mk3L1kMP6Rr1pkhC7sf416AUk4xhW6V6U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":700706},"type":"module","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","default":"./lib/index.js"},"./client":{"types":"./lib/client/entry.d.ts","default":"./lib/client.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./contract":{"types":"./lib/contract/index.d.ts","import":"./lib/contract/index.js","default":"./lib/contract/index.js"},"./package.json":"./package.json"},"gitHead":"082b3653fd1f48c19295f1a4e1d30a7cc14832d1","scripts":{"lint":"eslint src","test":"pnpm run build && tsc -p tsconfig.remote-test.json && node --test test/*.test.mjs","build":"tsc -p tsconfig.json && node scripts/generate-typert.mjs && node scripts/build-client.mjs","prepack":"pnpm run build","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"cerbur","email":"cerbur@qq.com"},"clutchDsh":{"role":"plugin","plugin":"@cerbur/clutch-dsh-worktree","serviceDefinition":"@cerbur/clutch-dsh-worktree"},"repository":{"url":"git+https://github.com/Cerbur/clutch-dsh.git","type":"git","directory":"packages/clutch-dsh-worktree"},"_npmVersion":"11.16.0","description":"Adds a Worktree view to DSH Web UI that groups Sessions by Git worktree while keeping DSH as the source of truth.","directories":{},"_nodeVersion":"26.3.1","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","tsdown":"0.22.2","@types/node":"^22.15.3","@types/react":"~18.3.1","@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":"0.1.0-rc.8","@deepseek-ai/dsh-workspace":"0.1.0-rc.8","@deepseek-ai/dsh-invariants":"0.1.0-rc.8","@deepseek-ai/dsh-api-gateway":"0.1.0-rc.8","@deepseek-ai/dsh-client-locale":"0.1.0-rc.8","@deepseek-ai/dsh-typert-loader":"0.1.0-rc.8","@deepseek-ai/dsh-client-runtime":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-slots":"0.1.0-rc.8","@deepseek-ai/dsh-typert-protocol":"0.1.0-rc.8","@deepseek-ai/dsh-typert-registry":"0.1.0-rc.8","@deepseek-ai/cordis-plugin-loader":"1.0.2","@deepseek-ai/dsh-client-ui-layout":"0.1.0-rc.8","@deepseek-ai/dsh-typert-generator":"0.1.0-rc.8","@deepseek-ai/dsh-client-connection":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-sidebar":"0.1.0-rc.8","@deepseek-ai/dsh-session-persistence":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-primitives":"0.1.0-rc.8"},"peerDependencies":{"@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":"0.1.0-rc.8","@deepseek-ai/dsh-workspace":"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-slots":"0.1.0-rc.8","@deepseek-ai/dsh-typert-protocol":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-layout":"0.1.0-rc.8","@deepseek-ai/dsh-client-connection":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-sidebar":"0.1.0-rc.8","@deepseek-ai/dsh-session-persistence":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-primitives":"0.1.0-rc.8"},"_npmOperationalInternal":{"tmp":"tmp/clutch-dsh-worktree_0.1.2_1787370163211_0.47894118415867126","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@cerbur/clutch-dsh-worktree","version":"0.1.3","keywords":["deepseek-harness","dsh","dsh-plugin","git","worktree"],"license":"MIT","_id":"@cerbur/clutch-dsh-worktree@0.1.3","maintainers":[{"name":"cerbur","email":"cerbur@qq.com"}],"homepage":"https://github.com/Cerbur/clutch-dsh/tree/main/packages/clutch-dsh-worktree","bugs":{"url":"https://github.com/Cerbur/clutch-dsh/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-ui-layout","@deepseek-ai/dsh-client-ui-sidebar"],"platform":"web"}},"dist":{"shasum":"0e544bf498b86e0fa18022a6461b97c633a7ffa9","tarball":"https://registry.npmjs.org/@cerbur/clutch-dsh-worktree/-/clutch-dsh-worktree-0.1.3.tgz","fileCount":150,"integrity":"sha512-1d6A5ASrn3Me7vPegyQ6by2cem/Zm761R97iBGq0k+D6I/ermlv+hwernB5A+TctlHsPHQ1/Ru/gvAirhZBtcQ==","signatures":[{"sig":"MEYCIQCvniFr93BYH7meGBA4eJf8OcfdwXNQDQQP7sRgD++b3wIhAPs+CTi3gqpsPsgOgACzD+zLd1JofleCr5vKCX7UJUNR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":930561},"type":"module","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","default":"./lib/index.js"},"./client":{"types":"./lib/client/entry.d.ts","default":"./lib/client.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./contract":{"types":"./lib/contract/index.d.ts","import":"./lib/contract/index.js","default":"./lib/contract/index.js"},"./package.json":"./package.json"},"gitHead":"0b22c6bc470e1d4ef5e5877c29f79890f5d431b0","scripts":{"lint":"eslint src","test":"pnpm run build && tsc -p tsconfig.remote-test.json && node --test test/*.test.mjs","build":"tsc -p tsconfig.json && node scripts/generate-typert.mjs && node scripts/build-client.mjs","prepare":"pnpm run build","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"cerbur","email":"cerbur@qq.com"},"clutchDsh":{"role":"plugin","plugin":"@cerbur/clutch-dsh-worktree","serviceDefinition":"@cerbur/clutch-dsh-worktree"},"repository":{"url":"git+https://github.com/Cerbur/clutch-dsh.git","type":"git","directory":"packages/clutch-dsh-worktree"},"_npmVersion":"11.16.0","description":"Adds a Worktree view to DSH Web UI that groups Sessions by Git worktree while keeping DSH as the source of truth.","directories":{},"_nodeVersion":"26.3.1","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"react":"^18.2.0","tsdown":"0.22.2","@types/node":"^22.15.3","@types/react":"~18.3.1","@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":"0.1.0-rc.8","@deepseek-ai/dsh-workspace":"0.1.0-rc.8","@deepseek-ai/dsh-invariants":"0.1.0-rc.8","@deepseek-ai/dsh-api-gateway":"0.1.0-rc.8","@deepseek-ai/dsh-client-locale":"0.1.0-rc.8","@deepseek-ai/dsh-typert-loader":"0.1.0-rc.8","@deepseek-ai/dsh-client-runtime":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-slots":"0.1.0-rc.8","@deepseek-ai/dsh-typert-protocol":"0.1.0-rc.8","@deepseek-ai/dsh-typert-registry":"0.1.0-rc.8","@deepseek-ai/cordis-plugin-loader":"1.0.2","@deepseek-ai/dsh-client-ui-layout":"0.1.0-rc.8","@deepseek-ai/dsh-typert-generator":"0.1.0-rc.8","@deepseek-ai/dsh-client-connection":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-sidebar":"0.1.0-rc.8","@deepseek-ai/dsh-session-persistence":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-primitives":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-conversation":"0.1.0-rc.8"},"peerDependencies":{"@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":"0.1.0-rc.8","@deepseek-ai/dsh-workspace":"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-slots":"0.1.0-rc.8","@deepseek-ai/dsh-typert-protocol":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-layout":"0.1.0-rc.8","@deepseek-ai/dsh-client-connection":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-sidebar":"0.1.0-rc.8","@deepseek-ai/dsh-session-persistence":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-primitives":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-conversation":"0.1.0-rc.8"},"_npmOperationalInternal":{"tmp":"tmp/clutch-dsh-worktree_0.1.3_1787627389323_0.4242305990934283","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@cerbur/clutch-dsh-worktree","version":"0.1.4","keywords":["deepseek-harness","dsh","dsh-plugin","git","worktree"],"license":"MIT","_id":"@cerbur/clutch-dsh-worktree@0.1.4","maintainers":[{"name":"cerbur","email":"cerbur@qq.com"}],"homepage":"https://github.com/Cerbur/clutch-dsh/tree/main/packages/clutch-dsh-worktree","bugs":{"url":"https://github.com/Cerbur/clutch-dsh/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-ui-layout","@deepseek-ai/dsh-client-ui-sidebar"],"platform":"web"}},"dist":{"shasum":"f837c42fcf67644a4f35b3119d146817f73aa894","tarball":"https://registry.npmjs.org/@cerbur/clutch-dsh-worktree/-/clutch-dsh-worktree-0.1.4.tgz","fileCount":203,"integrity":"sha512-dIrywvPk44y09ujxIFOJ6cggr+RsKC8dFJ/0fleG3Lr3NHwhYVWOwbZLrs5qESMT7Qk/rgkuJyYjqBvEY+L6Uw==","signatures":[{"sig":"MEUCIQDq9K0iWdfUfo19S78DKEKwv/McC+lRMy/IimZ3uFAUjAIgTKufrcyEEGrKJ8H7gpbMdY5jPhIuGg93cetC2B/1DRM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":986405},"type":"module","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","default":"./lib/index.js"},"./client":{"types":"./lib/client/entry.d.ts","default":"./lib/client.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./contract":{"types":"./lib/contract/index.d.ts","import":"./lib/contract/index.js","default":"./lib/contract/index.js"},"./package.json":"./package.json"},"gitHead":"11627d34bde85c458967a3dfb180b1dc945b55af","scripts":{"lint":"eslint src","test":"pnpm run build && tsc -p tsconfig.remote-test.json && node --test test/*.test.mjs","build":"tsc -p tsconfig.json && node scripts/generate-typert.mjs && node scripts/build-client.mjs","prepare":"pnpm run build","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"cerbur","email":"cerbur@qq.com"},"clutchDsh":{"role":"plugin","plugin":"@cerbur/clutch-dsh-worktree","serviceDefinition":"@cerbur/clutch-dsh-worktree"},"repository":{"url":"git+https://github.com/Cerbur/clutch-dsh.git","type":"git","directory":"packages/clutch-dsh-worktree"},"_npmVersion":"11.16.0","description":"Adds a Worktree view to DSH Web UI that groups Sessions by Git worktree while keeping DSH as the source of truth.","directories":{},"_nodeVersion":"26.3.1","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"react":"^18.2.0","tsdown":"0.22.2","@types/node":"^22.15.3","@types/react":"~18.3.1","@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":"0.1.0-rc.8","@deepseek-ai/dsh-workspace":"0.1.0-rc.8","@deepseek-ai/dsh-invariants":"0.1.0-rc.8","@deepseek-ai/dsh-api-gateway":"0.1.0-rc.8","@deepseek-ai/dsh-client-locale":"0.1.0-rc.8","@deepseek-ai/dsh-typert-loader":"0.1.0-rc.8","@deepseek-ai/dsh-client-runtime":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-slots":"0.1.0-rc.8","@deepseek-ai/dsh-typert-protocol":"0.1.0-rc.8","@deepseek-ai/dsh-typert-registry":"0.1.0-rc.8","@deepseek-ai/cordis-plugin-loader":"1.0.2","@deepseek-ai/dsh-client-ui-layout":"0.1.0-rc.8","@deepseek-ai/dsh-typert-generator":"0.1.0-rc.8","@deepseek-ai/dsh-client-connection":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-sidebar":"0.1.0-rc.8","@deepseek-ai/dsh-session-persistence":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-primitives":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-conversation":"0.1.0-rc.8"},"peerDependencies":{"@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":"0.1.0-rc.8","@deepseek-ai/dsh-workspace":"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-slots":"0.1.0-rc.8","@deepseek-ai/dsh-typert-protocol":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-layout":"0.1.0-rc.8","@deepseek-ai/dsh-client-connection":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-sidebar":"0.1.0-rc.8","@deepseek-ai/dsh-session-persistence":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-primitives":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-conversation":"0.1.0-rc.8"},"_npmOperationalInternal":{"tmp":"tmp/clutch-dsh-worktree_0.1.4_1787642200240_0.48666531016331205","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@cerbur/clutch-dsh-worktree","version":"0.1.5","keywords":["deepseek-harness","dsh","dsh-plugin","git","worktree"],"license":"MIT","_id":"@cerbur/clutch-dsh-worktree@0.1.5","maintainers":[{"name":"cerbur","email":"cerbur@qq.com"}],"homepage":"https://github.com/Cerbur/clutch-dsh/tree/main/packages/clutch-dsh-worktree","bugs":{"url":"https://github.com/Cerbur/clutch-dsh/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-ui-layout","@deepseek-ai/dsh-client-ui-sidebar"],"platform":"web"}},"dist":{"shasum":"85eb34fb679a849ca0532e5b851072c8996b636c","tarball":"https://registry.npmjs.org/@cerbur/clutch-dsh-worktree/-/clutch-dsh-worktree-0.1.5.tgz","fileCount":203,"integrity":"sha512-nnUtufh8/naIa+TM6RiJi4fojBANVxCM/OsYlV6yNlfCjhmBrkSStBShGlMujwqSdbgXbXIWtVgxYNtaHFGCjw==","signatures":[{"sig":"MEUCIQCoIohNPgQKFy+vAO1+aa8tDPzqaw7IlzsDtQ/DYVwD3gIgJLIrn6zm9uCHtiwEkMrLfVJFH2AiGyeLP0zulk9RaYc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1003167},"type":"module","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","default":"./lib/index.js"},"./client":{"types":"./lib/client/entry.d.ts","default":"./lib/client.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./contract":{"types":"./lib/contract/index.d.ts","import":"./lib/contract/index.js","default":"./lib/contract/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"eslint src","test":"pnpm run build && tsc -p tsconfig.remote-test.json && node --test test/*.test.mjs","build":"tsc -p tsconfig.json && node scripts/generate-typert.mjs && node scripts/build-client.mjs","prepare":"pnpm run build","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"cerbur","email":"cerbur@qq.com"},"clutchDsh":{"role":"plugin","plugin":"@cerbur/clutch-dsh-worktree","serviceDefinition":"@cerbur/clutch-dsh-worktree"},"repository":{"url":"git+https://github.com/Cerbur/clutch-dsh.git","type":"git","directory":"packages/clutch-dsh-worktree"},"_npmVersion":"11.16.0","description":"Adds a Worktree view to DSH Web UI that groups Sessions by Git worktree while keeping DSH as the source of truth.","directories":{},"_nodeVersion":"26.3.1","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"react":"^18.2.0","tsdown":"0.22.2","@types/node":"^22.15.3","@types/react":"~18.3.1","@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":"0.1.0-rc.8","@deepseek-ai/dsh-workspace":"0.1.0-rc.8","@deepseek-ai/dsh-invariants":"0.1.0-rc.8","@deepseek-ai/dsh-api-gateway":"0.1.0-rc.8","@deepseek-ai/dsh-client-locale":"0.1.0-rc.8","@deepseek-ai/dsh-typert-loader":"0.1.0-rc.8","@deepseek-ai/dsh-client-runtime":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-slots":"0.1.0-rc.8","@deepseek-ai/dsh-typert-protocol":"0.1.0-rc.8","@deepseek-ai/dsh-typert-registry":"0.1.0-rc.8","@deepseek-ai/cordis-plugin-loader":"1.0.2","@deepseek-ai/dsh-client-ui-layout":"0.1.0-rc.8","@deepseek-ai/dsh-typert-generator":"0.1.0-rc.8","@deepseek-ai/dsh-client-connection":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-sidebar":"0.1.0-rc.8","@deepseek-ai/dsh-session-persistence":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-primitives":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-conversation":"0.1.0-rc.8"},"peerDependencies":{"@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":"0.1.0-rc.8","@deepseek-ai/dsh-workspace":"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-slots":"0.1.0-rc.8","@deepseek-ai/dsh-typert-protocol":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-layout":"0.1.0-rc.8","@deepseek-ai/dsh-client-connection":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-sidebar":"0.1.0-rc.8","@deepseek-ai/dsh-session-persistence":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-primitives":"0.1.0-rc.8","@deepseek-ai/dsh-client-ui-conversation":"0.1.0-rc.8"},"_npmOperationalInternal":{"tmp":"tmp/clutch-dsh-worktree_0.1.5_1787675805291_0.288738833624161","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@cerbur/clutch-dsh-worktree","version":"0.1.6","keywords":["deepseek-harness","dsh","dsh-plugin","git","worktree"],"license":"MIT","_id":"@cerbur/clutch-dsh-worktree@0.1.6","maintainers":[{"name":"cerbur","email":"cerbur@qq.com"}],"homepage":"https://github.com/Cerbur/clutch-dsh/tree/main/packages/clutch-dsh-worktree","bugs":{"url":"https://github.com/Cerbur/clutch-dsh/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-ui-layout","@deepseek-ai/dsh-client-ui-sidebar"],"platform":"web"}},"dist":{"shasum":"7229a65a974ea981d4354e491728c82253c4f1ff","tarball":"https://registry.npmjs.org/@cerbur/clutch-dsh-worktree/-/clutch-dsh-worktree-0.1.6.tgz","fileCount":211,"integrity":"sha512-bWT2EKTSo+6TCCW+qH1HbptREkqzmg/pfQaIf1LIqk5QwBoUDTUdrhB1nVeL99BLraiv3ZRnuo8MswH8QJuL6g==","signatures":[{"sig":"MEUCICc5mEhQLAa691GYgUkXwUanzqvodNUC5reOgxSNJUPhAiEAiTV6F8rFOnkBQ9bc+sRpKElSlKtxbCXxsQk9bmu+teg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1166088},"type":"module","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","default":"./lib/index.js"},"./client":{"types":"./lib/client/entry.d.ts","default":"./lib/client.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./contract":{"types":"./lib/contract/index.d.ts","import":"./lib/contract/index.js","default":"./lib/contract/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"eslint src","test":"pnpm run build && tsc -p tsconfig.remote-test.json && node --test test/*.test.mjs","build":"tsc -p tsconfig.json && node scripts/generate-typert.mjs && node scripts/build-client.mjs","prepare":"pnpm run build","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"cerbur","email":"cerbur@qq.com"},"clutchDsh":{"role":"plugin","plugin":"@cerbur/clutch-dsh-worktree","serviceDefinition":"@cerbur/clutch-dsh-worktree"},"repository":{"url":"git+https://github.com/Cerbur/clutch-dsh.git","type":"git","directory":"packages/clutch-dsh-worktree"},"_npmVersion":"11.16.0","description":"Adds a Worktree view to DSH Web UI that groups Sessions by Git worktree while keeping DSH as the source of truth.","directories":{},"_nodeVersion":"26.3.1","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"react":"^18.2.0","tsdown":"0.22.2","@types/node":"^22.15.3","@types/react":"~18.3.1","@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":"0.1.1-rc.2","@deepseek-ai/dsh-workspace":"0.1.1-rc.2","@deepseek-ai/dsh-invariants":"0.1.1-rc.2","@deepseek-ai/dsh-api-gateway":"0.1.1-rc.2","@deepseek-ai/dsh-client-locale":"0.1.1-rc.2","@deepseek-ai/dsh-typert-loader":"0.1.1-rc.2","@deepseek-ai/dsh-client-runtime":"0.1.1-rc.2","@deepseek-ai/dsh-client-ui-slots":"0.1.1-rc.2","@deepseek-ai/dsh-typert-protocol":"0.1.1-rc.2","@deepseek-ai/dsh-typert-registry":"0.1.1-rc.2","@deepseek-ai/cordis-plugin-loader":"1.0.2","@deepseek-ai/dsh-client-ui-layout":"0.1.1-rc.2","@deepseek-ai/dsh-typert-generator":"0.1.1-rc.2","@deepseek-ai/dsh-client-connection":"0.1.1-rc.2","@deepseek-ai/dsh-client-ui-sidebar":"0.1.1-rc.2","@deepseek-ai/dsh-session-persistence":"0.1.1-rc.2","@deepseek-ai/dsh-client-ui-primitives":"0.1.1-rc.2","@deepseek-ai/dsh-client-ui-conversation":"0.1.1-rc.2"},"peerDependencies":{"@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":"*","@deepseek-ai/dsh-workspace":"*","@deepseek-ai/dsh-client-locale":"*","@deepseek-ai/dsh-client-runtime":"*","@deepseek-ai/dsh-client-ui-slots":"*","@deepseek-ai/dsh-typert-protocol":"*","@deepseek-ai/dsh-client-ui-layout":"*","@deepseek-ai/dsh-client-connection":"*","@deepseek-ai/dsh-client-ui-sidebar":"*","@deepseek-ai/dsh-session-persistence":"*","@deepseek-ai/dsh-client-ui-primitives":"*","@deepseek-ai/dsh-client-ui-conversation":"*"},"_npmOperationalInternal":{"tmp":"tmp/clutch-dsh-worktree_0.1.6_1787763981929_0.4961287300201871","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@cerbur/clutch-dsh-worktree","version":"0.1.7","keywords":["deepseek-harness","dsh","dsh-plugin","git","worktree"],"license":"MIT","_id":"@cerbur/clutch-dsh-worktree@0.1.7","maintainers":[{"name":"cerbur","email":"cerbur@qq.com"}],"homepage":"https://github.com/Cerbur/clutch-dsh/tree/main/packages/clutch-dsh-worktree","bugs":{"url":"https://github.com/Cerbur/clutch-dsh/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-ui-layout","@deepseek-ai/dsh-client-ui-sidebar"],"platform":"web"}},"dist":{"shasum":"894a835cf1589095bff8b93fb81588b939f63db5","tarball":"https://registry.npmjs.org/@cerbur/clutch-dsh-worktree/-/clutch-dsh-worktree-0.1.7.tgz","fileCount":243,"integrity":"sha512-ktZvi3m51byKwjw/UBNJ+4vXXuuGdncYJAdpY1C/FNf3ZIe8sEL3ZPnr6qfmihw9ixymlXw4aTcNNl1kNVF6mA==","signatures":[{"sig":"MEUCIDbU6zSEb8b4sohRWKiR0Rs4mGaKru2tPl3mtSwLELZqAiEA8n3WO3N9TZfijHhsofTdtkIrDaiZfPcV2pdOvZG+IQA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1544629},"type":"module","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","default":"./lib/index.js"},"./client":{"types":"./lib/client/entry.d.ts","default":"./lib/client.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./contract":{"types":"./lib/contract/index.d.ts","import":"./lib/contract/index.js","default":"./lib/contract/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"eslint src","test":"pnpm run build && tsc -p tsconfig.remote-test.json && node --test test/*.test.mjs","build":"tsc -p tsconfig.json && node scripts/generate-typert.mjs && node scripts/build-client.mjs","prepare":"pnpm run build","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"cerbur","email":"cerbur@qq.com"},"clutchDsh":{"role":"plugin","plugin":"@cerbur/clutch-dsh-worktree","serviceDefinition":"@cerbur/clutch-dsh-worktree"},"repository":{"url":"git+https://github.com/Cerbur/clutch-dsh.git","type":"git","directory":"packages/clutch-dsh-worktree"},"_npmVersion":"11.16.0","description":"Adds a Worktree view to DSH Web UI that groups Sessions by Git worktree while keeping DSH as the source of truth.","directories":{},"_nodeVersion":"26.3.1","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"react":"^18.2.0","tsdown":"0.22.2","@types/node":"^22.15.3","@types/react":"~18.3.1","@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":"0.1.1-rc.2","@deepseek-ai/dsh-workspace":"0.1.1-rc.2","@deepseek-ai/dsh-invariants":"0.1.1-rc.2","@deepseek-ai/dsh-api-gateway":"0.1.1-rc.2","@deepseek-ai/dsh-client-locale":"0.1.1-rc.2","@deepseek-ai/dsh-typert-loader":"0.1.1-rc.2","@deepseek-ai/dsh-client-runtime":"0.1.1-rc.2","@deepseek-ai/dsh-client-ui-slots":"0.1.1-rc.2","@deepseek-ai/dsh-typert-protocol":"0.1.1-rc.2","@deepseek-ai/dsh-typert-registry":"0.1.1-rc.2","@deepseek-ai/cordis-plugin-loader":"1.0.2","@deepseek-ai/dsh-client-ui-layout":"0.1.1-rc.2","@deepseek-ai/dsh-typert-generator":"0.1.1-rc.2","@deepseek-ai/dsh-client-connection":"0.1.1-rc.2","@deepseek-ai/dsh-client-ui-sidebar":"0.1.1-rc.2","@deepseek-ai/dsh-session-persistence":"0.1.1-rc.2","@deepseek-ai/dsh-client-ui-primitives":"0.1.1-rc.2","@deepseek-ai/dsh-client-ui-conversation":"0.1.1-rc.2"},"peerDependencies":{"@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":"*","@deepseek-ai/dsh-workspace":"*","@deepseek-ai/dsh-client-locale":"*","@deepseek-ai/dsh-client-runtime":"*","@deepseek-ai/dsh-client-ui-slots":"*","@deepseek-ai/dsh-typert-protocol":"*","@deepseek-ai/dsh-client-ui-layout":"*","@deepseek-ai/dsh-client-connection":"*","@deepseek-ai/dsh-client-ui-sidebar":"*","@deepseek-ai/dsh-session-persistence":"*","@deepseek-ai/dsh-client-ui-primitives":"*","@deepseek-ai/dsh-client-ui-conversation":"*"},"_npmOperationalInternal":{"tmp":"tmp/clutch-dsh-worktree_0.1.7_1787909715574_0.27304892191520724","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@cerbur/clutch-dsh-worktree","version":"0.1.8","keywords":["deepseek-harness","dsh","dsh-plugin","git","worktree"],"license":"MIT","_id":"@cerbur/clutch-dsh-worktree@0.1.8","maintainers":[{"name":"cerbur","email":"cerbur@qq.com"}],"homepage":"https://github.com/Cerbur/clutch-dsh/tree/main/packages/clutch-dsh-worktree","bugs":{"url":"https://github.com/Cerbur/clutch-dsh/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-ui-layout","@deepseek-ai/dsh-client-ui-sidebar"],"platform":"web"}},"dist":{"shasum":"d2c9a5695980bb76271c25c4024151619f700962","tarball":"https://registry.npmjs.org/@cerbur/clutch-dsh-worktree/-/clutch-dsh-worktree-0.1.8.tgz","fileCount":263,"integrity":"sha512-uoHUofm4MfZFXMenrqbcI/CVFDATAuNBuYId2BBiY978gZAeqntAi1e0ZYscLRiXkwbeSBwig6p7P9ckXG7nhg==","signatures":[{"sig":"MEUCIQCe94KvU0dTeTkDAJ+Y9JFnq2+kOsGrbVm0879CZ2rBZwIgfMYtQ+Z1J2U6V7j4PmNTi6Z9EizcXlxMB/+2HvNYSLo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1764765},"type":"module","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","default":"./lib/index.js"},"./client":{"types":"./lib/client/entry.d.ts","default":"./lib/client.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./contract":{"types":"./lib/contract/index.d.ts","import":"./lib/contract/index.js","default":"./lib/contract/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"eslint src","test":"pnpm run build && tsc -p tsconfig.remote-test.json && node --test test/*.test.mjs","build":"tsc -p tsconfig.json && node scripts/generate-typert.mjs && node scripts/build-client.mjs","prepare":"pnpm run build","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"cerbur","email":"cerbur@qq.com"},"clutchDsh":{"role":"plugin","plugin":"@cerbur/clutch-dsh-worktree","serviceDefinition":"@cerbur/clutch-dsh-worktree"},"repository":{"url":"git+https://github.com/Cerbur/clutch-dsh.git","type":"git","directory":"packages/clutch-dsh-worktree"},"_npmVersion":"11.16.0","description":"Adds a Worktree view to DSH Web UI that groups Sessions by Git worktree while keeping DSH as the source of truth.","directories":{},"_nodeVersion":"26.3.1","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"react":"^18.2.0","tsdown":"0.22.2","@types/node":"^22.15.3","@types/react":"~18.3.1","@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":"0.1.1-rc.2","@deepseek-ai/dsh-workspace":"0.1.1-rc.2","@deepseek-ai/dsh-invariants":"0.1.1-rc.2","@deepseek-ai/dsh-subprocess":"0.1.1-rc.2","@deepseek-ai/dsh-api-gateway":"0.1.1-rc.2","@deepseek-ai/dsh-client-locale":"0.1.1-rc.2","@deepseek-ai/dsh-typert-loader":"0.1.1-rc.2","@deepseek-ai/dsh-client-runtime":"0.1.1-rc.2","@deepseek-ai/dsh-client-ui-slots":"0.1.1-rc.2","@deepseek-ai/dsh-typert-protocol":"0.1.1-rc.2","@deepseek-ai/dsh-typert-registry":"0.1.1-rc.2","@deepseek-ai/cordis-plugin-loader":"1.0.2","@deepseek-ai/dsh-client-ui-layout":"0.1.1-rc.2","@deepseek-ai/dsh-typert-generator":"0.1.1-rc.2","@deepseek-ai/dsh-client-connection":"0.1.1-rc.2","@deepseek-ai/dsh-client-ui-sidebar":"0.1.1-rc.2","@deepseek-ai/dsh-session-persistence":"0.1.1-rc.2","@deepseek-ai/dsh-client-ui-primitives":"0.1.1-rc.2","@deepseek-ai/dsh-client-ui-conversation":"0.1.1-rc.2"},"peerDependencies":{"@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":"*","@deepseek-ai/dsh-workspace":"*","@deepseek-ai/dsh-subprocess":"*","@deepseek-ai/dsh-client-locale":"*","@deepseek-ai/dsh-client-runtime":"*","@deepseek-ai/dsh-client-ui-slots":"*","@deepseek-ai/dsh-typert-protocol":"*","@deepseek-ai/dsh-client-ui-layout":"*","@deepseek-ai/dsh-client-connection":"*","@deepseek-ai/dsh-client-ui-sidebar":"*","@deepseek-ai/dsh-session-persistence":"*","@deepseek-ai/dsh-client-ui-primitives":"*","@deepseek-ai/dsh-client-ui-conversation":"*"},"_npmOperationalInternal":{"tmp":"tmp/clutch-dsh-worktree_0.1.8_1788243177411_0.12119543670205934","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@cerbur/clutch-dsh-worktree","version":"0.1.9","keywords":["deepseek-harness","dsh","dsh-plugin","git","worktree"],"license":"MIT","_id":"@cerbur/clutch-dsh-worktree@0.1.9","maintainers":[{"name":"cerbur","email":"cerbur@qq.com"}],"homepage":"https://github.com/Cerbur/clutch-dsh/tree/main/packages/clutch-dsh-worktree","bugs":{"url":"https://github.com/Cerbur/clutch-dsh/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-session-controller","@deepseek-ai/dsh-api-workspace-controller","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-ui-layout","@deepseek-ai/dsh-client-ui-renderer","@deepseek-ai/dsh-client-ui-session","@deepseek-ai/dsh-client-ui-sidebar","@deepseek-ai/dsh-client-ui-workspace"],"platform":"web"}},"dist":{"shasum":"a898d6b8460f34e3c65c575e84c6cbdb0de5c5a1","tarball":"https://registry.npmjs.org/@cerbur/clutch-dsh-worktree/-/clutch-dsh-worktree-0.1.9.tgz","fileCount":271,"integrity":"sha512-U8E1T7eOhHQgT2TzbNklGIpZng7zW+VRVGvwFQnvgMDh8iKqf7nk+7o5sJ+1vgjsI7tt9XqpnBg+RG0UwAWZYA==","signatures":[{"sig":"MEQCICIlLPIBQ0xxffXv5yINnP953/cgwyZeoyQIZ522B+QdAiBSnYdSaQIE+wSTryVAebTfdsh4sQ3+XEAOw/BZUZZ3rA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1984214},"type":"module","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","default":"./lib/index.js"},"./client":{"types":"./lib/client/entry.d.ts","default":"./lib/client.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./contract":{"types":"./lib/contract/index.d.ts","import":"./lib/contract/index.js","default":"./lib/contract/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"eslint src","test":"pnpm run build && tsc -p tsconfig.remote-test.json && node --test test/*.test.mjs","build":"tsc -p tsconfig.json && node scripts/generate-typert.mjs && node scripts/build-client.mjs","prepare":"pnpm run build","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"cerbur","email":"cerbur@qq.com"},"clutchDsh":{"role":"plugin","plugin":"@cerbur/clutch-dsh-worktree","serviceDefinition":"@cerbur/clutch-dsh-worktree"},"repository":{"url":"git+https://github.com/Cerbur/clutch-dsh.git","type":"git","directory":"packages/clutch-dsh-worktree"},"_npmVersion":"11.16.0","description":"Adds a Worktree view to DSH Web UI that groups Sessions by Git worktree while keeping DSH as the source of truth.","directories":{},"_nodeVersion":"26.3.1","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"react":"^18.2.0","tsdown":"0.22.2","@types/node":"^22.15.3","@types/react":"~18.3.1","@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":"0.1.2-rc.1","@deepseek-ai/dsh-workspace":"0.1.2-rc.1","@deepseek-ai/dsh-invariants":"0.1.2-rc.1","@deepseek-ai/dsh-subprocess":"0.1.2-rc.1","@deepseek-ai/dsh-api-gateway":"0.1.2-rc.1","@deepseek-ai/dsh-client-store":"0.1.2-rc.1","@deepseek-ai/dsh-client-locale":"0.1.2-rc.1","@deepseek-ai/dsh-typert-loader":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-slots":"0.1.2-rc.1","@deepseek-ai/dsh-typert-protocol":"0.1.2-rc.1","@deepseek-ai/dsh-typert-registry":"0.1.2-rc.1","@deepseek-ai/cordis-plugin-loader":"1.0.2","@deepseek-ai/dsh-client-ui-layout":"0.1.2-rc.1","@deepseek-ai/dsh-typert-generator":"0.1.2-rc.1","@deepseek-ai/dsh-client-connection":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-session":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-sidebar":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-renderer":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-workspace":"0.1.2-rc.1","@deepseek-ai/dsh-session-persistence":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-primitives":"0.1.2-rc.1","@deepseek-ai/dsh-api-session-controller":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-conversation":"0.1.2-rc.1","@deepseek-ai/dsh-api-workspace-controller":"0.1.2-rc.1"},"peerDependencies":{"@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":">=0.1.2-rc.1","@deepseek-ai/dsh-workspace":">=0.1.2-rc.1","@deepseek-ai/dsh-subprocess":">=0.1.2-rc.1","@deepseek-ai/dsh-client-store":">=0.1.2-rc.1","@deepseek-ai/dsh-client-locale":">=0.1.2-rc.1","@deepseek-ai/dsh-client-ui-slots":">=0.1.2-rc.1","@deepseek-ai/dsh-typert-protocol":">=0.1.2-rc.1","@deepseek-ai/dsh-client-ui-layout":">=0.1.2-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.2-rc.1","@deepseek-ai/dsh-client-ui-session":">=0.1.2-rc.1","@deepseek-ai/dsh-client-ui-sidebar":">=0.1.2-rc.1","@deepseek-ai/dsh-client-ui-renderer":">=0.1.2-rc.1","@deepseek-ai/dsh-client-ui-workspace":">=0.1.2-rc.1","@deepseek-ai/dsh-session-persistence":">=0.1.2-rc.1","@deepseek-ai/dsh-client-ui-primitives":">=0.1.2-rc.1","@deepseek-ai/dsh-api-session-controller":">=0.1.2-rc.1","@deepseek-ai/dsh-client-ui-conversation":">=0.1.2-rc.1","@deepseek-ai/dsh-api-workspace-controller":">=0.1.2-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/clutch-dsh-worktree_0.1.9_1788543307807_0.16511890414506047","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@cerbur/clutch-dsh-worktree","version":"0.1.10","keywords":["deepseek-harness","dsh","dsh-plugin","git","worktree"],"license":"MIT","_id":"@cerbur/clutch-dsh-worktree@0.1.10","maintainers":[{"name":"cerbur","email":"cerbur@qq.com"}],"homepage":"https://github.com/Cerbur/clutch-dsh/tree/main/packages/clutch-dsh-worktree","bugs":{"url":"https://github.com/Cerbur/clutch-dsh/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-session-controller","@deepseek-ai/dsh-api-workspace-controller","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-ui-layout","@deepseek-ai/dsh-client-ui-renderer","@deepseek-ai/dsh-client-ui-session","@deepseek-ai/dsh-client-ui-sidebar","@deepseek-ai/dsh-client-ui-workspace"],"platform":"web"}},"dist":{"shasum":"df72f52b362f05c07b358752d5f30964e0237f09","tarball":"https://registry.npmjs.org/@cerbur/clutch-dsh-worktree/-/clutch-dsh-worktree-0.1.10.tgz","fileCount":463,"integrity":"sha512-KXtY8cyK/8VM2I4MPiLNdasAufuhQd5Luxy7aXTncDGxzAU9uPFsjVmZ/rI7KzI/zLacbcG04dekakjJkycGLg==","signatures":[{"sig":"MEUCIDyYKm+MmwKKmjs0ukjKdofakUsb3QY5KiFuNGN3uztoAiEA2/Xp0rWzYsLzKfpSdZI8zjinM9VQWJTSmDv7B/t6fZ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2549555},"type":"module","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","default":"./lib/index.js"},"./client":{"types":"./lib/client/entry.d.ts","default":"./lib/client.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./contract":{"types":"./lib/contract/index.d.ts","import":"./lib/contract/index.js","default":"./lib/contract/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"eslint src","test":"pnpm run build && tsc -p tsconfig.remote-test.json && node --test test/*.test.mjs","build":"tsc -p tsconfig.json && node scripts/generate-typert.mjs && node scripts/build-client.mjs","prepare":"pnpm run build","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"cerbur","email":"cerbur@qq.com"},"clutchDsh":{"role":"plugin","plugin":"@cerbur/clutch-dsh-worktree","serviceDefinition":"@cerbur/clutch-dsh-worktree"},"repository":{"url":"git+https://github.com/Cerbur/clutch-dsh.git","type":"git","directory":"packages/clutch-dsh-worktree"},"_npmVersion":"11.16.0","description":"Adds a Worktree view to DSH Web UI that groups Sessions by Git worktree while keeping DSH as the source of truth.","directories":{},"_nodeVersion":"26.3.1","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"react":"^18.2.0","tsdown":"0.22.2","@types/node":"^22.15.3","@types/react":"~18.3.1","@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":"0.1.2-rc.1","@deepseek-ai/dsh-workspace":"0.1.2-rc.1","@deepseek-ai/dsh-invariants":"0.1.2-rc.1","@deepseek-ai/dsh-subprocess":"0.1.2-rc.1","@deepseek-ai/dsh-api-gateway":"0.1.2-rc.1","@deepseek-ai/dsh-client-store":"0.1.2-rc.1","@deepseek-ai/dsh-client-locale":"0.1.2-rc.1","@deepseek-ai/dsh-typert-loader":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-slots":"0.1.2-rc.1","@deepseek-ai/dsh-typert-protocol":"0.1.2-rc.1","@deepseek-ai/dsh-typert-registry":"0.1.2-rc.1","@deepseek-ai/cordis-plugin-loader":"1.0.2","@deepseek-ai/dsh-client-ui-layout":"0.1.2-rc.1","@deepseek-ai/dsh-typert-generator":"0.1.2-rc.1","@deepseek-ai/dsh-client-connection":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-session":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-sidebar":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-renderer":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-workspace":"0.1.2-rc.1","@deepseek-ai/dsh-session-persistence":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-primitives":"0.1.2-rc.1","@deepseek-ai/dsh-api-session-controller":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-conversation":"0.1.2-rc.1","@deepseek-ai/dsh-api-workspace-controller":"0.1.2-rc.1"},"peerDependencies":{"@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":">=0.1.2-rc.1","@deepseek-ai/dsh-workspace":">=0.1.2-rc.1","@deepseek-ai/dsh-subprocess":">=0.1.2-rc.1","@deepseek-ai/dsh-client-store":">=0.1.2-rc.1","@deepseek-ai/dsh-client-locale":">=0.1.2-rc.1","@deepseek-ai/dsh-client-ui-slots":">=0.1.2-rc.1","@deepseek-ai/dsh-typert-protocol":">=0.1.2-rc.1","@deepseek-ai/dsh-client-ui-layout":">=0.1.2-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.2-rc.1","@deepseek-ai/dsh-client-ui-session":">=0.1.2-rc.1","@deepseek-ai/dsh-client-ui-sidebar":">=0.1.2-rc.1","@deepseek-ai/dsh-client-ui-renderer":">=0.1.2-rc.1","@deepseek-ai/dsh-client-ui-workspace":">=0.1.2-rc.1","@deepseek-ai/dsh-session-persistence":">=0.1.2-rc.1","@deepseek-ai/dsh-client-ui-primitives":">=0.1.2-rc.1","@deepseek-ai/dsh-api-session-controller":">=0.1.2-rc.1","@deepseek-ai/dsh-client-ui-conversation":">=0.1.2-rc.1","@deepseek-ai/dsh-api-workspace-controller":">=0.1.2-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/clutch-dsh-worktree_0.1.10_1788873274368_0.17106230520095744","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@cerbur/clutch-dsh-worktree","version":"0.1.12","keywords":["deepseek-harness","dsh","dsh-plugin","git","worktree"],"license":"MIT","_id":"@cerbur/clutch-dsh-worktree@0.1.12","maintainers":[{"name":"cerbur","email":"cerbur@qq.com"}],"homepage":"https://github.com/Cerbur/clutch-dsh/tree/main/packages/clutch-dsh-worktree","bugs":{"url":"https://github.com/Cerbur/clutch-dsh/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-session-controller","@deepseek-ai/dsh-api-workspace-controller","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-ui-layout","@deepseek-ai/dsh-client-ui-renderer","@deepseek-ai/dsh-client-ui-session","@deepseek-ai/dsh-client-ui-sidebar","@deepseek-ai/dsh-client-ui-workspace"],"platform":"web"}},"dist":{"shasum":"89df0809fb12379187e73cac292e210915f25b7b","tarball":"https://registry.npmjs.org/@cerbur/clutch-dsh-worktree/-/clutch-dsh-worktree-0.1.12.tgz","fileCount":523,"integrity":"sha512-7igNVnHu3w0uD2bejt1JJOsJZ+gGrD0qxxw1frrnopfxumWeRGq1EwPcMAC/7VtIlG+ogKbPgjt7+BEDUeVQ6Q==","signatures":[{"sig":"MEUCIA+zKAV4SAo6mNeVEGmWDDg79kKEjnM6Z3e24WTqwaYuAiEAg8TrmiYxWz303K3XNN0yffLoVedma5EONFqoLG62FdQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDePozu5jGcw2GmXMkwfWQfhX8gYc54RiJvpoIV+tK/CQIgGDhvZTw+VfHaRYKHGOykFOF7UrDmH/85B4mp5/QkXbk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3901600},"type":"module","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","default":"./lib/index.js"},"./client":{"types":"./lib/client/entry.d.ts","default":"./lib/client.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./contract":{"types":"./lib/contract/index.d.ts","import":"./lib/contract/index.js","default":"./lib/contract/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"eslint src","test":"pnpm run build && tsc -p tsconfig.remote-test.json && node --test test/*.test.mjs","build":"tsc -p tsconfig.json && node scripts/generate-typert.mjs && node scripts/build-client.mjs","prepare":"pnpm run build","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"cerbur","email":"cerbur@qq.com"},"clutchDsh":{"role":"plugin","plugin":"@cerbur/clutch-dsh-worktree","serviceDefinition":"@cerbur/clutch-dsh-worktree"},"repository":{"url":"git+https://github.com/Cerbur/clutch-dsh.git","type":"git","directory":"packages/clutch-dsh-worktree"},"_npmVersion":"11.16.0","description":"Adds a Worktree view to DSH Web UI that groups Sessions by Git worktree while keeping DSH as the source of truth.","directories":{},"_nodeVersion":"26.3.1","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"react":"^18.2.0","tsdown":"0.22.2","@types/node":"^22.15.3","@types/react":"~18.3.1","@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":"0.1.2-rc.1","@deepseek-ai/dsh-workspace":"0.1.2-rc.1","@deepseek-ai/dsh-invariants":"0.1.2-rc.1","@deepseek-ai/dsh-subprocess":"0.1.2-rc.1","@deepseek-ai/dsh-api-gateway":"0.1.2-rc.1","@deepseek-ai/dsh-client-store":"0.1.2-rc.1","@deepseek-ai/dsh-client-locale":"0.1.2-rc.1","@deepseek-ai/dsh-typert-loader":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-slots":"0.1.2-rc.1","@deepseek-ai/dsh-typert-protocol":"0.1.2-rc.1","@deepseek-ai/dsh-typert-registry":"0.1.2-rc.1","@deepseek-ai/cordis-plugin-loader":"1.0.2","@deepseek-ai/dsh-client-ui-layout":"0.1.2-rc.1","@deepseek-ai/dsh-typert-generator":"0.1.2-rc.1","@deepseek-ai/dsh-client-connection":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-session":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-sidebar":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-renderer":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-workspace":"0.1.2-rc.1","@deepseek-ai/dsh-session-persistence":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-primitives":"0.1.2-rc.1","@deepseek-ai/dsh-api-session-controller":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-conversation":"0.1.2-rc.1","@deepseek-ai/dsh-api-workspace-controller":"0.1.2-rc.1"},"peerDependencies":{"@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":">=0.1.5-rc.1","@deepseek-ai/dsh-workspace":">=0.1.5-rc.1","@deepseek-ai/dsh-subprocess":">=0.1.5-rc.1","@deepseek-ai/dsh-client-store":">=0.1.5-rc.1","@deepseek-ai/dsh-client-locale":">=0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":">=0.1.5-rc.1","@deepseek-ai/dsh-typert-protocol":">=0.1.5-rc.1","@deepseek-ai/dsh-client-ui-layout":">=0.1.5-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1","@deepseek-ai/dsh-client-ui-session":">=0.1.5-rc.1","@deepseek-ai/dsh-client-ui-sidebar":">=0.1.5-rc.1","@deepseek-ai/dsh-client-ui-renderer":">=0.1.5-rc.1","@deepseek-ai/dsh-client-ui-workspace":">=0.1.5-rc.1","@deepseek-ai/dsh-session-persistence":">=0.1.5-rc.1","@deepseek-ai/dsh-client-ui-primitives":">=0.1.5-rc.1","@deepseek-ai/dsh-api-session-controller":">=0.1.5-rc.1","@deepseek-ai/dsh-client-ui-conversation":">=0.1.5-rc.1","@deepseek-ai/dsh-api-workspace-controller":">=0.1.5-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/clutch-dsh-worktree_0.1.12_1789320871388_0.6089256900473794","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@cerbur/clutch-dsh-worktree","version":"0.1.13","keywords":["deepseek-harness","dsh","dsh-plugin","git","worktree"],"license":"MIT","_id":"@cerbur/clutch-dsh-worktree@0.1.13","maintainers":[{"name":"cerbur","email":"cerbur@qq.com"}],"homepage":"https://github.com/Cerbur/clutch-dsh/tree/main/packages/clutch-dsh-worktree","bugs":{"url":"https://github.com/Cerbur/clutch-dsh/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-session-controller","@deepseek-ai/dsh-api-workspace-controller","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-ui-layout","@deepseek-ai/dsh-client-ui-renderer","@deepseek-ai/dsh-client-ui-session","@deepseek-ai/dsh-client-ui-sidebar","@deepseek-ai/dsh-client-ui-workspace"],"platform":"web"}},"dist":{"shasum":"dec0b8e4b3612dffe8ed5ef797888f03101e7576","tarball":"https://registry.npmjs.org/@cerbur/clutch-dsh-worktree/-/clutch-dsh-worktree-0.1.13.tgz","fileCount":592,"integrity":"sha512-yIm64XDNoJLUChhJtU9dBoauyfjffFcVvi0l5gzr2lIv3XD4ZHqiOo1Ge37rg5avjOIyf7XDY4mlSM/slNt+Gg==","signatures":[{"sig":"MEYCIQDjvdsGz+mulyig0T9thgxqRUL0Vvt7eUo4OUI4tRmDJwIhAOcKh05BHTa/60AvzVeq82h+NP2nMDdmdprB6WG/UDKr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCxDjN1+01a6n4J1z0k2FzqPVepU7pnjcbGH1SblzSvmAIgSKiF3AeQFxDPgkLAObC4X+g31ojbl1h8QrzEbwfuNkI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6544245},"type":"module","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","default":"./lib/index.js"},"./client":{"types":"./lib/client/entry.d.ts","default":"./lib/client.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./contract":{"types":"./lib/contract/index.d.ts","import":"./lib/contract/index.js","default":"./lib/contract/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"eslint src","test":"pnpm run build && tsc -p tsconfig.remote-test.json && node --test test/*.test.mjs","build":"tsc -p tsconfig.json && node scripts/generate-typert.mjs && node scripts/build-client.mjs","prepare":"pnpm run build","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"cerbur","email":"cerbur@qq.com"},"clutchDsh":{"role":"plugin","plugin":"@cerbur/clutch-dsh-worktree","serviceDefinition":"@cerbur/clutch-dsh-worktree"},"repository":{"url":"git+https://github.com/Cerbur/clutch-dsh.git","type":"git","directory":"packages/clutch-dsh-worktree"},"_npmVersion":"11.16.0","description":"Adds a Worktree view to DSH Web UI that groups Sessions by Git worktree while keeping DSH as the source of truth.","directories":{},"_nodeVersion":"26.3.1","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"react":"^18.2.0","tsdown":"0.22.2","react-dom":"^18.2.0","@types/node":"^22.15.3","@types/react":"~18.3.1","@types/react-dom":"~18.3.1","@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":"0.1.2-rc.1","@deepseek-ai/dsh-workspace":"0.1.2-rc.1","@deepseek-ai/dsh-invariants":"0.1.2-rc.1","@deepseek-ai/dsh-subprocess":"0.1.2-rc.1","@deepseek-ai/dsh-api-gateway":"0.1.2-rc.1","@deepseek-ai/dsh-client-store":"0.1.2-rc.1","@deepseek-ai/dsh-client-locale":"0.1.2-rc.1","@deepseek-ai/dsh-typert-loader":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-slots":"0.1.2-rc.1","@deepseek-ai/dsh-typert-protocol":"0.1.2-rc.1","@deepseek-ai/dsh-typert-registry":"0.1.2-rc.1","@deepseek-ai/cordis-plugin-loader":"1.0.2","@deepseek-ai/dsh-client-ui-layout":"0.1.2-rc.1","@deepseek-ai/dsh-typert-generator":"0.1.2-rc.1","@deepseek-ai/dsh-client-connection":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-session":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-sidebar":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-renderer":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-workspace":"0.1.2-rc.1","@deepseek-ai/dsh-session-persistence":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-primitives":"0.1.2-rc.1","@deepseek-ai/dsh-api-session-controller":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-conversation":"0.1.2-rc.1","@deepseek-ai/dsh-api-workspace-controller":"0.1.2-rc.1"},"peerDependencies":{"@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":">=0.1.5-rc.1","@deepseek-ai/dsh-workspace":">=0.1.5-rc.1","@deepseek-ai/dsh-subprocess":">=0.1.5-rc.1","@deepseek-ai/dsh-client-store":">=0.1.5-rc.1","@deepseek-ai/dsh-client-locale":">=0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":">=0.1.5-rc.1","@deepseek-ai/dsh-typert-protocol":">=0.1.5-rc.1","@deepseek-ai/dsh-client-ui-layout":">=0.1.5-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1","@deepseek-ai/dsh-client-ui-session":">=0.1.5-rc.1","@deepseek-ai/dsh-client-ui-sidebar":">=0.1.5-rc.1","@deepseek-ai/dsh-client-ui-renderer":">=0.1.5-rc.1","@deepseek-ai/dsh-client-ui-workspace":">=0.1.5-rc.1","@deepseek-ai/dsh-session-persistence":">=0.1.5-rc.1","@deepseek-ai/dsh-client-ui-primitives":">=0.1.5-rc.1","@deepseek-ai/dsh-api-session-controller":">=0.1.5-rc.1","@deepseek-ai/dsh-client-ui-conversation":">=0.1.5-rc.1","@deepseek-ai/dsh-api-workspace-controller":">=0.1.5-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/clutch-dsh-worktree_0.1.13_1789630317871_0.3180325809197715","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@cerbur/clutch-dsh-worktree","version":"0.1.14","keywords":["deepseek-harness","dsh","dsh-plugin","git","worktree"],"license":"MIT","_id":"@cerbur/clutch-dsh-worktree@0.1.14","maintainers":[{"name":"cerbur","email":"cerbur@qq.com"}],"homepage":"https://github.com/Cerbur/clutch-dsh/tree/main/packages/clutch-dsh-worktree","bugs":{"url":"https://github.com/Cerbur/clutch-dsh/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-session-controller","@deepseek-ai/dsh-api-workspace-controller","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-ui-layout","@deepseek-ai/dsh-client-ui-renderer","@deepseek-ai/dsh-client-ui-session","@deepseek-ai/dsh-client-ui-sidebar","@deepseek-ai/dsh-client-ui-workspace"],"platform":"web"}},"dist":{"shasum":"04b2eccb57819b319524ee46937b4c4c172c1507","tarball":"https://registry.npmjs.org/@cerbur/clutch-dsh-worktree/-/clutch-dsh-worktree-0.1.14.tgz","fileCount":608,"integrity":"sha512-B7prVtAg8O+NwY67MFL82QmZBzTkA238WUO4WV3a6GfEN8JDI3eUMTFGuouf+siXpsy78kjSR5JmYhlY/XZyWg==","signatures":[{"sig":"MEQCIDYXkygzMw9aBm4PppC8clWMablrg0BFWJt9u0FteLR5AiBnMHCNOkBSVIULplD8RA1dx1iGSOB4zeMh3jhVC4W17A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD0bemX5XoKdTqzvBZUWRzI4SeLLqF3y2AdYaxeFgbz3gIhAO0KeWaQDd2V8DvXChsSU6iPfxSa3XduPFmLpQqw40LR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6608356},"type":"module","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","default":"./lib/index.js"},"./client":{"types":"./lib/client/entry.d.ts","default":"./lib/client.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./contract":{"types":"./lib/contract/index.d.ts","import":"./lib/contract/index.js","default":"./lib/contract/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"eslint src","test":"pnpm run build && tsc -p tsconfig.remote-test.json && node --test test/*.test.mjs","build":"tsc -p tsconfig.json && node scripts/generate-typert.mjs && node scripts/build-client.mjs","prepare":"pnpm run build","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"cerbur","email":"cerbur@qq.com"},"clutchDsh":{"role":"plugin","plugin":"@cerbur/clutch-dsh-worktree","serviceDefinition":"@cerbur/clutch-dsh-worktree"},"repository":{"url":"git+https://github.com/Cerbur/clutch-dsh.git","type":"git","directory":"packages/clutch-dsh-worktree"},"_npmVersion":"11.16.0","description":"Adds a Worktree view to DSH Web UI that groups Sessions by Git worktree while keeping DSH as the source of truth.","directories":{},"_nodeVersion":"26.3.1","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"react":"^18.2.0","tsdown":"0.22.2","react-dom":"^18.2.0","@types/node":"^22.15.3","@types/react":"~18.3.1","@types/react-dom":"~18.3.1","@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":"0.1.2-rc.1","@deepseek-ai/dsh-workspace":"0.1.2-rc.1","@deepseek-ai/dsh-invariants":"0.1.2-rc.1","@deepseek-ai/dsh-subprocess":"0.1.2-rc.1","@deepseek-ai/dsh-api-gateway":"0.1.2-rc.1","@deepseek-ai/dsh-client-store":"0.1.2-rc.1","@deepseek-ai/dsh-client-locale":"0.1.2-rc.1","@deepseek-ai/dsh-typert-loader":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-slots":"0.1.2-rc.1","@deepseek-ai/dsh-typert-protocol":"0.1.2-rc.1","@deepseek-ai/dsh-typert-registry":"0.1.2-rc.1","@deepseek-ai/cordis-plugin-loader":"1.0.2","@deepseek-ai/dsh-client-ui-layout":"0.1.2-rc.1","@deepseek-ai/dsh-typert-generator":"0.1.2-rc.1","@deepseek-ai/dsh-client-connection":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-session":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-sidebar":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-renderer":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-workspace":"0.1.2-rc.1","@deepseek-ai/dsh-session-persistence":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-primitives":"0.1.2-rc.1","@deepseek-ai/dsh-api-session-controller":"0.1.2-rc.1","@deepseek-ai/dsh-client-ui-conversation":"0.1.2-rc.1","@deepseek-ai/dsh-api-workspace-controller":"0.1.2-rc.1"},"peerDependencies":{"@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-session":">=0.1.5-rc.1","@deepseek-ai/dsh-workspace":">=0.1.5-rc.1","@deepseek-ai/dsh-subprocess":">=0.1.5-rc.1","@deepseek-ai/dsh-client-store":">=0.1.5-rc.1","@deepseek-ai/dsh-client-locale":">=0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":">=0.1.5-rc.1","@deepseek-ai/dsh-typert-protocol":">=0.1.5-rc.1","@deepseek-ai/dsh-client-ui-layout":">=0.1.5-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1","@deepseek-ai/dsh-client-ui-session":">=0.1.5-rc.1","@deepseek-ai/dsh-client-ui-sidebar":">=0.1.5-rc.1","@deepseek-ai/dsh-client-ui-renderer":">=0.1.5-rc.1","@deepseek-ai/dsh-client-ui-workspace":">=0.1.5-rc.1","@deepseek-ai/dsh-session-persistence":">=0.1.5-rc.1","@deepseek-ai/dsh-client-ui-primitives":">=0.1.5-rc.1","@deepseek-ai/dsh-api-session-controller":">=0.1.5-rc.1","@deepseek-ai/dsh-client-ui-conversation":">=0.1.5-rc.1","@deepseek-ai/dsh-api-workspace-controller":">=0.1.5-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/clutch-dsh-worktree_0.1.14_1790080965036_0.6632313760756283","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"@cerbur/clutch-dsh-worktree","version":"0.1.15","keywords":["deepseek-harness","dsh","dsh-plugin","git","worktree"],"license":"MIT","_id":"@cerbur/clutch-dsh-worktree@0.1.15","maintainers":[{"name":"cerbur","email":"cerbur@qq.com"}],"homepage":"https://github.com/Cerbur/clutch-dsh/tree/main/packages/clutch-dsh-worktree","bugs":{"url":"https://github.com/Cerbur/clutch-dsh/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-session-controller","@deepseek-ai/dsh-api-workspace-controller","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-ui-layout","@deepseek-ai/dsh-client-ui-renderer","@deepseek-ai/dsh-client-ui-session","@deepseek-ai/dsh-client-ui-sidebar","@deepseek-ai/dsh-client-ui-workspace"],"platform":"web"}},"dist":{"shasum":"e4917b92c41860f4f277a64e992612d9d80df72d","tarball":"https://registry.npmjs.org/@cerbur/clutch-dsh-worktree/-/clutch-dsh-worktree-0.1.15.tgz","fileCount":628,"integrity":"sha512-aXtJTyV6Mhvq8vmVaySSapNfQC+U8ucTRXClNBqExmgezW0XwH8FkkMfiA32AqhqmjPk5P/eHfTuQw4T+gL2HA==","signatures":[{"sig":"MEUCIEDxoxVSz28mxAUAilLuCAx5zB8hdwQgSE2TqMRaQ9glAiEA9ZGb+d0ViHfvuHxdoCSuh1kOn5ridWmjDl26d/x4COE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBV+to9HCGEs1ftF20xWCzMv2jKXWalpPnO9HCMrrtZgAiBvbuLtGZfr8JYswLCGxWlh6GQ9tVOQCO/8EsGS3Mepog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6657792},"type":"module","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","default":"./lib/index.js"},"./client":{"types":"./lib/client/entry.d.ts","default":"./lib/client.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./contract":{"types":"./lib/contract/index.d.ts","import":"./lib/contract/index.js","default":"./lib/contract/index.js"},"./package.json":"./package.json"},"scripts":{"lint":"eslint src","test":"pnpm run build && tsc -p tsconfig.remote-test.json && node --test test/*.test.mjs","build":"tsc -p tsconfig.json && node scripts/generate-typert.mjs && node scripts/build-client.mjs","prepare":"pnpm run build","typecheck":"tsc --noEmit -p tsconfig.json"},"_npmUser":{"name":"cerbur","email":"cerbur@qq.com"},"clutchDsh":{"role":"plugin","plugin":"@cerbur/clutch-dsh-worktree","serviceDefinition":"@cerbur/clutch-dsh-worktree"},"repository":{"url":"git+https://github.com/Cerbur/clutch-dsh.git","type":"git","directory":"packages/clutch-dsh-worktree"},"_npmVersion":"11.16.0","description":"Adds a Worktree view to DSH Web UI that groups Sessions by Git worktree while keeping DSH as the source of truth.","directories":{},"_nodeVersion":"26.3.1","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"react":"^18.2.0","semver":"7.8.5","tsdown":"0.22.2","react-dom":"^18.2.0","@types/node":"^22.15.3","@types/react":"~18.3.1","@types/react-dom":"~18.3.1","@deepseek-ai/cordis":"4.0.4","@deepseek-ai/dsh-session":"0.1.7-rc.2","@deepseek-ai/dsh-workspace":"0.1.7-rc.2","@deepseek-ai/dsh-invariants":"0.1.7-rc.2","@deepseek-ai/dsh-subprocess":"0.1.7-rc.2","@deepseek-ai/dsh-api-gateway":"0.1.7-rc.2","@deepseek-ai/dsh-client-store":"0.1.7-rc.2","@deepseek-ai/dsh-client-locale":"0.1.7-rc.2","@deepseek-ai/dsh-typert-loader":"0.1.7-rc.2","@deepseek-ai/dsh-client-ui-slots":"0.1.7-rc.2","@deepseek-ai/dsh-typert-protocol":"0.1.7-rc.2","@deepseek-ai/dsh-typert-registry":"0.1.7-rc.2","@deepseek-ai/cordis-plugin-loader":"1.0.2","@deepseek-ai/dsh-client-ui-layout":"0.1.7-rc.2","@deepseek-ai/dsh-typert-generator":"0.1.7-rc.2","@deepseek-ai/dsh-client-connection":"0.1.7-rc.2","@deepseek-ai/dsh-client-ui-session":"0.1.7-rc.2","@deepseek-ai/dsh-client-ui-sidebar":"0.1.7-rc.2","@deepseek-ai/dsh-client-ui-renderer":"0.1.7-rc.2","@deepseek-ai/dsh-client-ui-workspace":"0.1.7-rc.2","@deepseek-ai/dsh-session-persistence":"0.1.7-rc.2","@deepseek-ai/dsh-client-ui-primitives":"0.1.7-rc.2","@deepseek-ai/dsh-api-session-controller":"0.1.7-rc.2","@deepseek-ai/dsh-client-ui-conversation":"0.1.7-rc.2","@deepseek-ai/dsh-api-workspace-controller":"0.1.7-rc.2"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-session":">=0.1.7-rc.1","@deepseek-ai/dsh-workspace":">=0.1.7-rc.1","@deepseek-ai/dsh-subprocess":">=0.1.7-rc.1","@deepseek-ai/dsh-client-store":">=0.1.7-rc.1","@deepseek-ai/dsh-client-locale":">=0.1.7-rc.1","@deepseek-ai/dsh-client-ui-slots":">=0.1.7-rc.1","@deepseek-ai/dsh-typert-protocol":">=0.1.7-rc.1","@deepseek-ai/dsh-client-ui-layout":">=0.1.7-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.7-rc.1","@deepseek-ai/dsh-client-ui-session":">=0.1.7-rc.1","@deepseek-ai/dsh-client-ui-sidebar":">=0.1.7-rc.1","@deepseek-ai/dsh-client-ui-renderer":">=0.1.7-rc.1","@deepseek-ai/dsh-client-ui-workspace":">=0.1.7-rc.1","@deepseek-ai/dsh-session-persistence":">=0.1.7-rc.1","@deepseek-ai/dsh-client-ui-primitives":">=0.1.7-rc.1","@deepseek-ai/dsh-api-session-controller":">=0.1.7-rc.1","@deepseek-ai/dsh-client-ui-conversation":">=0.1.7-rc.1","@deepseek-ai/dsh-api-workspace-controller":">=0.1.7-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/clutch-dsh-worktree_0.1.15_1790445290233_0.09051890961083853","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"_id":"@cerbur/clutch-dsh-worktree@0.1.16","dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-session-controller","@deepseek-ai/dsh-api-workspace-controller","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-ui-layout","@deepseek-ai/dsh-client-ui-renderer","@deepseek-ai/dsh-client-ui-session","@deepseek-ai/dsh-client-ui-sidebar","@deepseek-ai/dsh-client-ui-workspace"],"platform":"web"}},"bugs":{"url":"https://github.com/Cerbur/clutch-dsh/issues"},"dist":{"shasum":"475410cb35dc654d0d0c40d4390aca80bc612a8b","tarball":"https://registry.npmjs.org/@cerbur/clutch-dsh-worktree/-/clutch-dsh-worktree-0.1.16.tgz","fileCount":644,"integrity":"sha512-yWz6avOxuNh8fxxpG1lq18pb5btbNGeXr5ILuk0kYlp+8XKi31KdvcSCzxtyN2FSrygADV6j0ZTWxXKFF4qY6A==","signatures":[{"sig":"MEUCIBd4dn339ubB/0mDMvRU2egaJN7kxYsE0q/abI0c3n+yAiEAx0/psl8y2Ld88n+whlHlnuf2jg+OeGbkIRyPW/DFdac=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDEa6pgBzU+CUXs43hd5dQ9JkCyTZ4FCDN0EiFdiqmE+gIhAPno/a2G0214qQxdbbtYLFMoKUv/3TjOQMzp8XOTnl0J"}],"unpackedSize":6770076},"name":"@cerbur/clutch-dsh-worktree","type":"module","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","default":"./lib/index.js"},"./client":{"types":"./lib/client/entry.d.ts","default":"./lib/client.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./contract":{"types":"./lib/contract/index.d.ts","import":"./lib/contract/index.js","default":"./lib/contract/index.js"},"./package.json":"./package.json"},"license":"MIT","scripts":{"lint":"eslint src","test":"pnpm run build && tsc -p tsconfig.remote-test.json && node --test test/*.test.mjs","build":"tsc -p tsconfig.json && node scripts/generate-typert.mjs && node scripts/build-client.mjs","prepare":"pnpm run build","typecheck":"tsc --noEmit -p tsconfig.json"},"version":"0.1.16","_npmUser":{"name":"cerbur","email":"cerbur@qq.com"},"homepage":"https://github.com/Cerbur/clutch-dsh/tree/main/packages/clutch-dsh-worktree","keywords":["deepseek-harness","dsh","dsh-plugin","git","worktree"],"clutchDsh":{"role":"plugin","plugin":"@cerbur/clutch-dsh-worktree","serviceDefinition":"@cerbur/clutch-dsh-worktree"},"repository":{"url":"git+https://github.com/Cerbur/clutch-dsh.git","type":"git","directory":"packages/clutch-dsh-worktree"},"_npmVersion":"11.16.0","description":"Adds a Worktree view to DSH Web UI that groups Sessions by Git worktree while keeping DSH as the source of truth.","directories":{},"maintainers":[{"name":"cerbur","email":"cerbur@qq.com"}],"_nodeVersion":"26.3.1","dependencies":{"zod":"^4.4.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.32.1","devDependencies":{"react":"^18.2.0","semver":"7.8.5","tsdown":"0.22.2","react-dom":"^18.2.0","@types/node":"^22.15.3","@types/react":"~18.3.1","@types/react-dom":"~18.3.1","@deepseek-ai/cordis":"4.0.4","@deepseek-ai/dsh-session":"0.2.0-rc.1","@deepseek-ai/dsh-workspace":"0.2.0-rc.1","@deepseek-ai/dsh-invariants":"0.2.0-rc.1","@deepseek-ai/dsh-subprocess":"0.2.0-rc.1","@deepseek-ai/dsh-api-gateway":"0.2.0-rc.1","@deepseek-ai/dsh-client-store":"0.2.0-rc.1","@deepseek-ai/dsh-client-locale":"0.2.0-rc.1","@deepseek-ai/dsh-typert-loader":"0.2.0-rc.1","@deepseek-ai/dsh-client-ui-slots":"0.2.0-rc.1","@deepseek-ai/dsh-typert-protocol":"0.2.0-rc.1","@deepseek-ai/dsh-typert-registry":"0.2.0-rc.1","@deepseek-ai/cordis-plugin-loader":"1.0.2","@deepseek-ai/dsh-client-ui-layout":"0.2.0-rc.1","@deepseek-ai/dsh-typert-generator":"0.2.0-rc.1","@deepseek-ai/dsh-client-connection":"0.2.0-rc.1","@deepseek-ai/dsh-client-ui-session":"0.2.0-rc.1","@deepseek-ai/dsh-client-ui-sidebar":"0.2.0-rc.1","@deepseek-ai/dsh-client-ui-renderer":"0.2.0-rc.1","@deepseek-ai/dsh-client-ui-workspace":"0.2.0-rc.1","@deepseek-ai/dsh-session-persistence":"0.2.0-rc.1","@deepseek-ai/dsh-client-ui-primitives":"0.2.0-rc.1","@deepseek-ai/dsh-api-session-controller":"0.2.0-rc.1","@deepseek-ai/dsh-client-ui-conversation":"0.2.0-rc.1","@deepseek-ai/dsh-api-workspace-controller":"0.2.0-rc.1"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-session":">=0.2.0-rc.1","@deepseek-ai/dsh-workspace":">=0.2.0-rc.1","@deepseek-ai/dsh-subprocess":">=0.2.0-rc.1","@deepseek-ai/dsh-client-store":">=0.2.0-rc.1","@deepseek-ai/dsh-client-locale":">=0.2.0-rc.1","@deepseek-ai/dsh-client-ui-slots":">=0.2.0-rc.1","@deepseek-ai/dsh-typert-protocol":">=0.2.0-rc.1","@deepseek-ai/dsh-client-ui-layout":">=0.2.0-rc.1","@deepseek-ai/dsh-client-connection":">=0.2.0-rc.1","@deepseek-ai/dsh-client-ui-session":">=0.2.0-rc.1","@deepseek-ai/dsh-client-ui-sidebar":">=0.2.0-rc.1","@deepseek-ai/dsh-client-ui-renderer":">=0.2.0-rc.1","@deepseek-ai/dsh-client-ui-workspace":">=0.2.0-rc.1","@deepseek-ai/dsh-session-persistence":">=0.2.0-rc.1","@deepseek-ai/dsh-client-ui-primitives":">=0.2.0-rc.1","@deepseek-ai/dsh-api-session-controller":">=0.2.0-rc.1","@deepseek-ai/dsh-client-ui-conversation":">=0.2.0-rc.1","@deepseek-ai/dsh-api-workspace-controller":">=0.2.0-rc.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/clutch-dsh-worktree_0.1.16_1790917328059_0.7020777396674653"}}},"time":{"created":"2026-08-21T06:31:40.906Z","modified":"2026-10-02T05:02:08.461Z","0.1.0":"2026-08-21T06:31:41.182Z","0.1.1":"2026-08-21T18:48:27.216Z","0.1.2":"2026-08-22T03:42:43.380Z","0.1.3":"2026-08-25T03:09:49.471Z","0.1.4":"2026-08-25T07:16:40.443Z","0.1.5":"2026-08-25T16:36:45.450Z","0.1.6":"2026-08-26T17:06:22.113Z","0.1.7":"2026-08-28T09:35:15.741Z","0.1.8":"2026-09-01T06:12:57.562Z","0.1.9":"2026-09-04T17:35:08.029Z","0.1.10":"2026-09-08T13:14:34.506Z","0.1.11":"2026-09-13T17:12:53.215Z","0.1.12":"2026-09-13T17:34:31.497Z","0.1.13":"2026-09-17T07:31:58.104Z","0.1.14":"2026-09-22T12:42:45.223Z","0.1.15":"2026-09-26T17:54:50.392Z","0.1.16":"2026-10-02T05:02:08.274Z"},"bugs":{"url":"https://github.com/Cerbur/clutch-dsh/issues"},"license":"MIT","homepage":"https://github.com/Cerbur/clutch-dsh/tree/main/packages/clutch-dsh-worktree","keywords":["deepseek-harness","dsh","dsh-plugin","git","worktree"],"repository":{"url":"git+https://github.com/Cerbur/clutch-dsh.git","type":"git","directory":"packages/clutch-dsh-worktree"},"description":"Adds a Worktree view to DSH Web UI that groups Sessions by Git worktree while keeping DSH as the source of truth.","maintainers":[{"name":"cerbur","email":"cerbur@qq.com"}],"readme":"[English](README.md) | [简体中文](README.zh.md)\n\n# @cerbur/clutch-dsh-worktree\n\n`@cerbur/clutch-dsh-worktree` 为 DSH Web UI 增加 Git Worktree 视图，按 Workspace → Worktree\n→ Session 组织会话，同时保留 DSH 对 Workspace 身份、Session 元数据、原生列表、消息和会话\n历史的事实来源地位。\n\n插件只在自己的 sidecar 中保存 Worktree 关系、获取事实、共享 Worktree 指令以及 Workspace 根目录的\nMain 指令。受管理的 Worktree 提供可选择本地 branch 基线的只读 Git 与变更 Dashboard，Main 提供 Workspace 根目录 HEAD history；\n不会复制 transcript 或改写 DSH Session。\n\n> **预览：** Worktree Dashboard 是仅 plugin 提供的早期 MVP 预览版。Worktree 导航、生命周期操作、\n> Session 操作、Worktree/Main 指令以及受管理 Worktree 或 Main 的 Git 与变更视图已经连接。派生 Worktree、设置和\n> 其他未完成操作仍标记为**即将推出**。\n\n## 安装\n\n向运行中的 DSH 安装插件后，请重启 DSH Desktop，或重启 DSH Web 服务后刷新页面，以加载\n插件 Host。如果 Client 已加载而 Host 尚未挂载，原生 toast 会在每次 Client 加载期间提醒\n一次。网络故障和 Workspace 错误不会触发重启提示。\n\n### 从 npm 安装\n\n在已安装 DSH CLI 的环境中：\n\n```bash\ndsh plugin --profile web add @cerbur/clutch-dsh-worktree\ndsh web\n```\n\n如果使用 DeepSeek Harness 源码 checkout 且没有独立的 `dsh` 命令，可使用等价的\n`pnpm dsh` 形式。\n\n### 从本地 checkout 安装\n\n先构建本 package 和 DSH 源码 checkout，再用绝对路径添加 package：\n\n```bash\ncd /absolute/path/to/clutch-dsh\npnpm install\npnpm --filter @cerbur/clutch-dsh-worktree build\n\ncd /absolute/path/to/deepseek-harness\npnpm install\npnpm run build\npnpm dsh plugin --profile web add /absolute/path/to/clutch-dsh/packages/clutch-dsh-worktree\npnpm dsh web\n```\n\nDSH Web profile 必须已经能够正常启动。修改 `package.json` 或 `cordis.patch.yml` 后，需要重新\n执行绝对路径安装命令。\n\n### 从 GitHub 源码安装（可选）\n\nDSH plugin market 使用的源码依赖形式也可以直接安装：\n\n```bash\ndsh plugin --profile web add \"github:Cerbur/clutch-dsh#path:/packages/clutch-dsh-worktree\"\n```\n\n该方式会在安装时构建 package。pnpm 构建脚本授权和本地开发细节见\n[docs/DEVELOPMENT.md](docs/DEVELOPMENT.md)。\n\n## 功能\n\n| 功能                    | 预览                                                                                                                                 | 作用                                                                                                                                                                                                                                                                                                                     |\n| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| **Worktree 导航**       | <img src=\"assets/screenshots/screenshots-en.png\" width=\"420\" alt=\"包含 Workspace、Main、Worktree 和 Session 行的 DSH Worktree 导航\"> | 在 DSH 原生 Sidebar 中增加 Worktree 模式。macOS desktop 下，面板共享 DSH 原生玻璃材质，避免叠加第二层底色或透出重复导航。其他平台保留主题底色；降低透明度时使用更强的底色。Workspace 展开与新 Session 行使用原生节奏的淡入和位移动画。每个 Workspace 下可以浏览 Local/Main 和 Git Worktree，再打开对应行绑定的 Session。 |\n| **创建和导入 Worktree** | <img src=\"assets/screenshots/screenshots-import.png\" width=\"420\" alt=\"Worktree 创建与导入弹窗\">                                      | 从本地 branch 创建 Worktree，或原地登记已有的 branch-attached Worktree。导入不会移动、复制或编辑已有目录。                                                                                                                                                                                                               |\n| **Worktree Dashboard**  | <img src=\"assets/screenshots/screenshots-dashboard.png\" width=\"420\" alt=\"显示 Session 和 Worktree 操作的 Worktree Dashboard 预览\">   | 预览版 Dashboard 显示 Worktree 身份、路径、Session、Worktree/Main 指令、已连接操作、由 Host 提供的在应用中打开入口，以及受管理 Worktree 或 Main 的只读 Git 与变更视图。派生 Worktree、设置和其他未完成卡片仍标记为**即将推出**。                                                                                         |\n\n## 使用\n\n### 打开 Worktree 模式\n\n1. 启动 DSH Web，在 DSH Sidebar 底部选择 **Worktree**。\n2. 在 Worktree 树中搜索或展开 Workspace。\n3. 选择 Local/Main 或某个 Worktree 浏览其 Session。这个视角是附加的，DSH 原生的 Workspace\n   和 Session 导航仍然可用。每组初始显示五行，可使用**展开更多**和**收起**查看其余内容。\n4. 使用 header 中的 **Collapse All** 折叠其他无关的 Workspace 和 Worktree，当前 Session 所在的\n   Workspace 与 Worktree 保持展开。\n\n收起原生 Sidebar 时，Web 和 desktop 的 Worktree 面板都会同步隐藏。macOS desktop 不保留\n收起后的窄栏，请使用原生标题栏控件重新展开。行动画遵循减少动态效果偏好，并在搜索、\n拖拽和首次加载时直接完成布局。\nWeb 的 Worktree 导航从原生 DSH 品牌栏下方开始，保留可见且可点击的 Sidebar 按钮；\n新会话按钮显示快捷键时也不会遮挡顶部栏。\n\n### 创建 Worktree\n\n1. 打开 Local/Main 或 active Worktree 的选项菜单，选择 **Create Worktree**。\n2. 选择本地 base branch，也可以填写新的 branch 名称。\n3. 确认弹窗。插件会创建 Git Worktree，记录获取事实；从该 Worktree 打开 Session 时继续执行\n   正常的 Session 和 binding 流程。\n\nGit repository、本地 branch 和 initial commit 必须可用。如果仓库尚未准备好，DSH 会显示对应\n的 readiness 提示和可复制的 setup 指引。\n\n### 导入已有 Worktree\n\n1. 选择 Workspace，打开它的 `+` 操作，然后切换到 **Import**。\n2. 从 branch 和 path 列表中选择候选项。\n3. 选择 **Import Worktree**。插件会原地登记已有目录，不移动、复制或修改其中的文件，随后\n   使用与新建 Worktree 相同的 Session 流程。\n\n第一版只列出尚未被插件管理、状态 ready、绑定 branch 且不是 repository root 的 Git Worktree。\nDetached、bare、prunable、缺失或无效条目会被省略。导入的 Worktree 仍可在选择本地基线 branch 后\n使用 Git 与变更。\n\n### 创建并打开 Session\n\n- 在 Local/Main 上使用 **+**，创建运行目录为 Workspace root 的普通 DSH Session。\n- 在 Worktree 上使用 **+**，创建运行目录为该 Worktree 的 Session。\n- 如果存在完全匹配目标目录的未归档空白 Session，插件会尽量复用它。\n- 可以使用 Session list、Worktree Session 菜单或 conversation 中的 DSH 原生 fork 操作。\n  Worktree-bound Session 的 child 会绑定到同一个 Worktree，并在该视角打开。\n\n如果 DSH 已创建 Session 但 binding 失败，Session 会被保留。Worktree 视图会提供重试或直接打开\n的恢复操作；插件不会删除或改写 DSH Session。\n\n### 打开 Worktree Dashboard\n\n可以从 Local/Main 或 Worktree 行菜单、悬浮操作，或 Session 标题行原生操作旁边的 Dashboard\n图标打开。Sidebar 收起时，标题行图标也可单击打开 Dashboard，不需要展开 Sidebar。\n如果目标仍在加载，请求会保持，并在主区域显示加载状态或可重试错误。\nDashboard 是与原生 Session 内容平级的页面，显示在 Sidebar 旁边的主区域；对于绑定 Session\n的目标，会保留已经打开的右侧栏。初始 Session list 处于 pending 时，Dashboard 会等待它变为 ready；如果\n当前 Session 已属于目标 Worktree，就保持当前 Session；否则切换到目标 Worktree 保留顺序中排在最前的\nSession，让两侧视图保持一致。ready 的空 Session list 会打开不绑定当前 Session 的 page-level Dashboard；因为没有目标 Session，\n它会收起当前打开的原生右侧栏，也不会自动创建 Session。只要当前 Session 可以承载右侧栏且右侧栏处于收起状态，\nDashboard 右上角会保留原生的右侧栏按钮；右侧栏打开后，该按钮按原生行为自动隐藏。\n\n顶部栏显示 **{workspace}/{worktreeName}**，集中放置 **Open in ...**、**Back to session**\n（或 **New Session**）和右侧工具栏按钮，页面滚动时保持可见。\nmacOS desktop 下可拖动顶部栏空白区域移动窗口；左侧 Sidebar 收起时，\n红绿灯旁显示 DSH 原生展开按钮。Windows 保留原生窗口标题栏。\n\n使用 **Back to session**、Escape、Sidebar 中的 Session 或退出 Worktree 模式关闭它。没有 Session 的\nWorktree 中，右上角操作会变为 **New Session**，直接在该 Worktree 中新建会话。当前 MVP 已连接的操作\n包括查看 Overview 和 Sessions、新建 Session 或 Worktree、归档 Worktree、编辑指令、复制路径、在 VS Code\n中打开记录的目录以及查看 Git 与变更。派生 Worktree、设置和其他标记的快捷操作仍是占位内容。VS Code\n必须安装在浏览器所在机器上且能够访问记录的路径；链接不会验证应用是否成功启动。\n\n### 在应用中打开记录的目录\n\nDashboard 的 **Open in ...** 分割按钮保留插件自己的按钮 UI，但只调用 DSH 官方 Host 路由：\n\n- `GET /open-in-app/apps` 探测可用应用；\n- `GET /open-in-app/icon/<appId>` 获取应用图标；\n- `POST /open-in-app/open` 使用 `{ \"app\": string, \"path\": absoluteDirectoryPath }` 启动应用。\n\n按钮使用指向当前 DSH Host 的相对 URL，并传入 Dashboard record 的 `absolutePath`；不会探测操作系统，\n也不会持久化应用选择。应用选择只在当前页面内记忆，刷新后使用第一个可用应用。如果没有可用应用\n或 Host 请求失败，按钮仍保留现有的 VS Code 协议链接 fallback。\n\n### 使用 Git 与变更\n\n从受管理 Worktree 或 Main Dashboard 打开 **Git 与变更** Tab。Main 直接读取当前 Workspace 根目录 HEAD 的\ncommit history；当根目录存在 tracked、staged、unstaged 或 untracked 改动时，顶部会加入**未提交的改动** entry。\n默认最多展示 200 个已提交 commit，选中第一个可见目标，并对工作区目标和已提交 history 使用相同的变更文件与 Diff 面板。对于持久化 `baseBranch` 存在且不同于当前\nbranch，或带有作为隐式基线的获取 commit 的 managed Worktree，Overview 会通过现有 `/api` Connection\n做一次轻量、按需的 Git 状态读取，分别展示 ahead/behind commit 数量、已提交（基线到 HEAD）和未提交\n（当前工作区）的文件行数。这是临时 projection，不是 watcher，也不会写入 Worktree 记录。Main 没有 Worktree 基线\n比较，因此 Overview 对 ahead/behind 事实仍显示 **待接入**，但 Git Tab 可以展示 Main history。不可用或未选择基线的\nmanaged 视图会诚实显示 **待接入**。打开 Overview 不会加载 branch 列表；\n第一次进入 Git Tab 时才加载本地 branch，并在基线解析后加载 commit history。要替换基线，可以点击\nBase fact 旁的铅笔图标打开 branch 选择器：搜索框固定在选择器顶部，下方是有固定高度的 branch 列表\n（默认展示约七条），超出部分在列表内滚动，因此过滤 branch 时整个弹窗尺寸保持不变。选择除当前\nWorktree branch 之外的任一本地 branch，再保存。\n保存会替换 plugin sidecar 中持久化的 `baseBranch`；下次打开 Git Tab 时，选择器会以保存后的值作为默认值。\nGit Tab 打开后，直接修改其中的选择器仍只是临时查看选择，会重新加载 history、changed files 和 Diff，\n不会再次写入 Worktree 记录。如果不存在可用的已保存基线（缺失或等于当前 Worktree branch），Git Tab\n和 Overview 会改用 Worktree 不可变的获取 commit 读取，并将该解析出的 commit 显示为 Base fact；只有\n既无可用已保存基线、也无获取 commit 的 Worktree 才会保持未选择状态并提示用户选择。当所选 branch\n已分叉时，Git 会解析两个 branch head 的共同先祖；\nWorktree 在共同先祖之后的 commit 计为 `+N` 领先，base branch 在共同先祖之后的 commit 计为 `-N` 落后，\nhistory 和文件读取仍然可用。如果两个 head 没有共同先祖，则基线汇总退化为 base branch head 与\nWorktree `HEAD` 之间的完整 tree diff，history 展示 Worktree 相对 base head 独有的 commit。\n在有效的 managed Worktree 基线加载后，Git 与变更 Tab 初始会选择**基线汇总**，而不是第一个 commit；切换基线 branch\n也会回到该汇总。需要更窄的查看范围时，再选择 commit 或**未提交的改动**。Main 跳过这个仅用于比较的汇总，但使用相同的已提交 history 与多选行为；Workspace 根目录有改动时也展示实时工作区目标。\n选择**未提交的改动**会比较当前 Workspace 根目录与 `HEAD`，不会创建基线或写入 Git 状态。\n\n所选 branch 每次读取都会重新解析。浏览器只能选择普通的本地 branch 名，不能直接选择 commit SHA 或\n任意 Git ref：完整 ref 路径、tag 或 remote-tracking ref 会被直接拒绝，而已选 branch 不复存在时会显示\n诚实的不可用状态，而不是泛化的 Git 失败。`baseCommit` 是不可变的获取元数据，永远不能由用户直接选择，\n并在没有可用已保存 branch 基线时作为隐式基线；创建恢复也绝不会改写它。当 managed Worktree 或 Main Workspace 根目录存在 staged、unstaged 或 untracked 文件时，列表顶部会加入**未提交的改动**；\n选择它会将对应的当前工作区与 `HEAD` 比较，并使用相同的变更文件和 Diff 视图。\n\n**基线汇总**是一个独立的目标，默认展示从所选 branch 与 Worktree `HEAD` 的共同先祖到本次请求\n捕获的 `HEAD` 的净已提交树差异（无共同先祖时改用两个 branch head）；不包含工作区未提交改动。\n打开 **包含工作区改动** 后，该目标会改为展示从同一比较边界到当前工作区的一次净差异，其中包含已提交、\nstaged、unstaged、untracked、删除和重命名改动。这是按需读取的新鲜 projection，而不是简单拼接两段\nDiff。点击 commit 会展示该 commit 自己的 Diff；对于 managed Worktree 和 Main，打开提交栏标题中的**多选提交**开关后，可以同时选择\n多个已提交行，查看这些 commit 各自 first-parent delta 的精确并集。Main 不提供基线汇总或工作区包含开关；该开关默认关闭，关闭时会把已选\n集合收敛回当前聚焦的 commit。变更文件会记录贡献它的\ncommit；每个所选 commit 会作为独立 Diff segment 展示，不会隐式扩展成范围，也不会包含未选择的\ncommit。变更文件栏标题会展示当前目标（基线汇总、所选 commit 或未提交改动）对应的绿色 `+N` 和红色\n`-N` 总行数；仅包含 binary 时显示未知。未提交改动 entry 与已提交的多选互斥。汇总 Diff 工具栏中的\n**在侧栏打开**会使用当前 Session 在原生右侧栏中显示当前文件，但前提是该 Session 属于 Dashboard\n对应的 Worktree。空 Worktree 或无关的当前 Session 不会通过此操作打开文件。\n\nmanaged Worktree 和 Main history 都最多展示 200 个 commit，更多内容会标记为 truncated；超过 Git adapter 输出上限的变更文件列表\n也会显式标记为 truncated，而不是报泛化错误。commit 详情使用 first-parent 比较，root\ncommit 与空 tree 比较，rename/copy 行保留两个路径；binary 或过大的 diff 会显示明确的安全状态。变更\n文件行会用绿色 `+N` 表示新增、红色 `-N` 表示删除；binary 文件不显示这些数量。文件名会用绿色表示新增、红色表示删除、蓝色表示其他变更，每一行的标题与无障碍标签也会写出对应状态。文件夹 icon 会直接表示文件夹当前是展开还是折叠。\n**未提交的改动**是按需读取的临时快照，不会持久化，也不会持续监视 Git；刷新后才能看到后续编辑。\n\nGit 与变更使用受页面 viewport 限制的固定尺寸布局。宽度足够时是两列：提交与变更文件上下排列在较窄\n的左列，中间是可拖动的分割线，Diff 占满右列高度。宽度不足时保持两行：第一行左右排布提交和变更\n文件，第二行展示汇总 Diff。两种布局下两条分割线都可以拖动：左右分割线调整两列的宽度，或在第一行\n内调整提交与变更文件的宽度；上下分割线调整提交与变更文件面板的高度，或调整第一行与 Diff 的高度。\n拖动分割线，或聚焦后按方向键即可移动，双击恢复默认比例。较长的 commit list 和变更文件 list 会在\n各自栏内滚动，不会继续撑大 Dashboard。变更文件栏在路径宽于栏位时也允许横向滚动，文件和文件夹\n名称不会被省略。变更文件按文件夹分组，文件夹默认展开，并且可以独立展开或折叠。Diff 内容也会在\n固定尺寸的 Diff 栏内滚动；只读选择和刷新行为保持不变。\n\n视图是只读的，不提供 commit 或 staging 控件。managed Worktree 会依据所选 branch 到 `HEAD` 的 projection 验证\ncommit；Main 会依据有界的 HEAD history projection 验证 commit。插件随后依据最新状态重新读取和授权工作区 path，因此这些 endpoint 不是通用 Git object 或文件读取器。\n刷新会在替换数据加载期间保留 ready 内容；旧 commit 或文件选择的迟到响应会被忽略。\n\n### 添加 Worktree 或 Main 指令\n\n在 Dashboard 的指令卡片上使用 **Edit** 为选中的 Worktree 或 Main Workspace 保存或清空共享指引，长度上限为 32,000 个\nUTF-16 代码单元。下一次模型请求会通过 DSH pre-step hook 收到独立的 `<system-reminder>` 上下文条目，\n包括在 Main 中运行的未绑定 Session。\n\n指令保存在 plugin 自己的数据中，不会写入项目目录或 `AGENTS.md`。清空、解绑、清理或移出管理后，后续请求不再注入；\n归档会保留 active binding，因此 Worktree 指令仍然生效。指令消息仍可见时，不变的指令不会重复追加。\n\n### 归档或移除 Worktree\n\n- **Archive Worktree** 是非破坏性操作，会保留目录、binding、指令和运行时 Worktree 上下文。\n  Git 登记仍完整时，可以取消归档。\n- **Clean Up Disk** 是单独的操作，需要二次确认，并执行普通的非强制 `git worktree remove`。\n  插件不会检查 Session 或子代理是否仍在使用该目录；确认前请先停止这些任务。清理成功后\n  binding 会 detached，记录会保留到之后显式移出管理。\n- **Remove from Management** 只删除 plugin 的 Worktree 和 binding 记录，会保留磁盘文件和原生\n  DSH Session，也不要求检查 Session 活动状态。\n\n## 要求\n\n| 组件            | 要求                                                                                                                                        |\n| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |\n| DSH Client      | `>=0.2.0-rc.1`，需要 Session/Workspace Controller 和 Client Store                                                                           |\n| DSH Host        | `>=0.2.0-rc.1`，需要 Typert Gateway `/api` connection 和 subprocess capability                                                              |\n| Git             | `>=2.20.0`，必须已安装且可在 `PATH` 中使用                                                                                                  |\n| Node.js         | 插件自身要求 `>=20.0.0`；DSH `dsh-v0.2.0-rc.1` 要求 `^22.19.0                                                                               |     | >=24.0.0` |\n| Host filesystem | 支持使用普通 Windows 和 macOS 本地路径保存 sidecar 与 Git Worktree 数据；网络、特殊或别名路径较多的文件系统可能不支持持久化同步或身份校验。 |\n\n## 行为与限制\n\n- DSH 拥有 Workspace 身份与根目录、Session 身份与元数据、原生列表、消息、prompt、transcript\n  和历史。插件不会复制或改写这些数据。\n- 插件外部索引保存 Worktree 路径、branch、来源、生命周期状态、binding、排序、指令、获取事实\n  及相关元数据。对于受管理 Worktree，Dashboard Base fact 是持久化的 `baseBranch`；用户可以将其\n  替换为除当前 Worktree branch 之外的本地 branch，保存后的值会成为 Git Tab 选择器的默认值。\n  不可变的获取 `baseCommit` 与它分开保存，不会因该编辑被重写。索引位于 DSH host 的 plugin data\n  directory，不写入项目目录或 DSH raw data，也不保存 Session 内容或 Workspace 根目录副本。\n- runtime `cwd` 在每次执行时派生。无 binding、Main 或 detached binding 使用 Workspace root；\n  active Worktree binding 使用 Worktree path。cwd 不会持久化写回 DSH Session metadata。\n- 一个 Session 最多有一个 active Worktree binding，一个 Worktree 可以有多个 Session。移除或\n  清理 Worktree 不会删除 DSH Session。失效的 active binding 会显示 repair 状态，不会静默切换到\n  另一个 Worktree。\n- Git 会在相关刷新、相关菜单打开和进入 Git Dashboard 时读取，插件不会持续监视 Git。外部切换\n  branch 会显示 branch drift；清理磁盘前必须显式执行 **Adopt current branch**。Detached HEAD 和\n  recovery-needed 状态会保持可见并支持重试。\n- Worktree 健康状态通过 branch icon 的颜色显示：ready 使用 success（绿色）状态色，branch drift 使用警告色，repair/recovery-needed 使用错误色。即使 hover 时 icon 被 disclosure control 替换，本地化健康状态标签仍可供辅助技术读取。\n- 新创建或新导入的 Worktree 会插入所属 Workspace 的 Worktree 列表队头；已有 Worktree 顺序保持不变，Main 固定在第一位。\n- 将 Workspace、Main 和 Worktree 的展开选择保存到浏览器本地存储；Session 五行溢出展开保持临时状态，并在刷新或父级折叠后重置。**Collapse All** 会折叠其他无关节点并保留当前 Session 所在的 Workspace 与 Worktree 展开。\n- 当前 Session 不在可见树中时，会高亮匹配行并临时展开定位；如果行已在可见区域内，不会移动导航滚动位置，否则只移动足够显示它的位置。且不改变已保存的展开选择。\n- Git Dashboard 的读取由 Host 通过 DSH 现有 `/api` transport 执行。浏览器不会执行 Git、读取\n  sidecar 文件或 `.git`，也不会暴露修改 working tree 的控制项。文件 diff 会禁用外部 diff 与\n  文本转换，并限制显示范围以保障安全。\n- Dashboard 的在应用中打开入口只通过 DSH 官方相对 Host 路由完成应用探测、图标加载和启动；应用选择只保存在当前页面内，刷新后使用第一个可用应用，Host 返回空结果或失败时回退到编码后的 VS Code 协议链接。\n- Git Dashboard 只实现 commit history、只读的**基线汇总**（可选包含一次从基线到工作区的\n  新鲜 projection）、顶部的只读**未提交的改动**快照、changed files 和一次一个 unified diff。\n  按请求启用时，这些 projection 会合并 staged、unstaged 和 untracked 文件，但不会写回 Git。\n  Dashboard 不提供 commit、staging、reset、revert、cherry-pick、fetch、push、pull、pull request、\n  graph lanes、pagination 或 syntax highlighting。\n- Session 行使用 DSH 原生的状态和相对时间展示。折叠的 Workspace、Main 和 Worktree 分组会\n  从完整且符合原生空白/归档可见性条件的成员中选择一个聚合 `StateDot`：等待审批（以及其他 pending interaction warning）\n  优先于运行中，运行中优先于已完成。Idle Session 不会贡献分组 dot；Worktree 健康状态仍\n  使用独立的前置指示器。视觉上的 Session 排序初始按最新的 `updatedAt` 值排列并只保存在浏览器本地；Main 固定为首行，Worktree 拖拽只\n  更新这个本地排序投影，Main 拖拽只有在 DSH 接受后才更新原生 Workspace 顺序。\n- active Worktree Session 在明确确认后可以请求名为 `worktree-full-access` 的 preset。它将\n  DSH `danger-full-access` 与 `ask` 组合，保留审批提示，不改变 network 或 process policy。\n  不可用时尽可能回退到 `workspace-write + ask`，否则显示未验证且可重试的状态；它不能突破\n  DSH 宿主设置的 sandbox 上限。\n- Session 与 Worktree 绑定及权限检查在 Host 端基于物理文件系统身份（`stat`/`realpath`）进行比较，而非单纯依赖词法路径字符串。这确保了在 Windows 与 macOS 各种路径形态下的稳健兼容（包括盘符大小写、正反斜杠、UNC 路径以及 `\\\\?\\\\` 等长路径前缀）。在 Windows 平台上，sidecar 原子持久化采用可写文件句柄同步并对目录同步保持容错（best-effort），Git CLI 集成兼容 `NUL` 空设备路径与 CRLF 换行符。\n- Git 必须已安装且可在 PATH 中使用。Git 可执行文件缺失时显示安装提示且不显示命令块；插件\n  不会执行 setup 或安装命令。\n- Workspace 根目录缺失时，Worktree 视图仍会渲染索引中的 Worktree、Session 绑定和指令，并显示\n  本地化的目录缺失状态，而不会让整个视图读取失败。该 Workspace 的 Git 读取、Worktree 创建与\n  导入以及清理操作仍会被拒绝，直到目录恢复。\n- 如果插件的外部索引不可用或损坏，原生 DSH Workspace 和 Session 视图保持完全可读，插件\n  进入降级只读状态，绝不会使用空索引覆盖原生数据。\n\n## 界面语言\n\nWorktree 模式跟随 DSH 当前界面语言。入口、树、菜单、弹窗、状态、Dashboard 标签和重试提示\n提供英文和中文。Workspace 名称、Session 标题、branch、路径以及原始 DSH 或 Git 错误保留原值。\n\n## 开发\n\n架构、本地 DSH 联调、测试和贡献流程见：\n\n- [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)\n- [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md)\n- [docs/RELEASING.md](docs/RELEASING.md)\n- [AGENTS.md](AGENTS.md)\n- [src/client/README.md](src/client/README.md)\n\n常用的 package 检查命令：\n\n```bash\npnpm --filter @cerbur/clutch-dsh-worktree typecheck\npnpm --filter @cerbur/clutch-dsh-worktree build\npnpm --filter @cerbur/clutch-dsh-worktree test\n```\n\n中英文 README 的结构通过以下测试校验：\n\n```bash\nnode --test test/readme-parity.test.mjs\n```\n\n## 卸载\n\n使用 DSH CLI：\n\n```bash\ndsh plugin --profile web remove @cerbur/clutch-dsh-worktree\n```\n\n如果使用 DeepSeek Harness checkout，可对同一个 package name 使用\n`pnpm dsh plugin --profile web remove`。\n\n## 友情链接\n\n- [LINUX DO](https://linux.do/) — 新的理想型社区。\n","readmeFilename":"README.zh.md"}