{"_id":"@firetruck666/dsh-task-board","_rev":"32-5656e61111aa25f082b72336bf2b5090","name":"@firetruck666/dsh-task-board","dist-tags":{"latest":"0.2.154"},"versions":{"0.2.75":{"name":"@firetruck666/dsh-task-board","version":"0.2.75","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.75","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"e624e176fefc0d16cd5c92eadd8b65ba2b895166","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.75.tgz","fileCount":256,"integrity":"sha512-LvY+Ph4WowEIqTb+oVs57qH2XuWzSz79IEo5AecVeyuzHG59MR6LEzB9nB02p903cIctIhCYIHjhh5EdgWEqiw==","signatures":[{"sig":"MEYCIQDk5x0utNQvzgQYQGGNQfeU4dqcJjFTCfyhZsAEW2dlyQIhAKsxkZyO2kdTYr7hpErtg6l9JW3bRiFNB70HMI8vHJkB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5433705},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"74938b67accb0fe69854e2d4203f8765c796a067","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . dsh-task-board @firetruck666/dsh-task-board","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"firetruck666","email":"1073580554@qq.com"},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.9.0","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.14.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-settings":"^0.1.0-rc.7","@deepseek-ai/dsh-storage-json":"^0.1.0-rc.7","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.7","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.7","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.7","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.7","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.7","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.7"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":"^0.1.0-rc.7","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.7","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.7"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.75_1789049824540_0.7476319340004045","host":"s3://npm-registry-packages-npm-production"}},"0.2.77":{"name":"@firetruck666/dsh-task-board","version":"0.2.77","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.77","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"8487c30fc9d3a8d341835281279b163fa4de0d0b","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.77.tgz","fileCount":256,"integrity":"sha512-oKhh1OceXA1YDKP2NxJKBsEaKZO8sky3uZ04Ra3URQAzrBtBMVpWVcdWCKnOG8HaE9/vUUHkbw4grwGSGgCtig==","signatures":[{"sig":"MEUCIDiF9prZzUvkSWLcuVyHuIgSHJqbWdAytfiyvpFcgK1jAiEA6yVdCaPhAIRd1Wi/xdf3iAfGiU6Z+733Z7i5SF5HAf4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5391568},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"c12ef0b9442f14641b9ffc5ad82f5850c3881b74","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs . @firetruck666/dsh-task-board","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . dsh-task-board @firetruck666/dsh-task-board && node scripts/smoke-client.mjs . @firetruck666/dsh-task-board","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.5-rc.1","@deepseek-ai/dsh-storage-json":"^0.1.5-rc.1","@deepseek-ai/dsh-client-locale":"^0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"^0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":"^0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.5-rc.1","@deepseek-ai/dsh-client-connection":"^0.1.5-rc.1"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":">=0.1.5-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.77_1789057161833_0.8650896734950282","host":"s3://npm-registry-packages-npm-production"}},"0.2.78":{"name":"@firetruck666/dsh-task-board","version":"0.2.78","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.78","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"cdb1418af611f1a7c3fdc476b43e3bda50a3d3f8","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.78.tgz","fileCount":256,"integrity":"sha512-ZZ7AbGVvKow7tTUcgnYDu9Gcn5tccsMJmPXCkAzZ3Jd6i7gzPtB6gMvjKDH1j9xT4JBPbjsChG2/4TvCuK8N3A==","signatures":[{"sig":"MEYCIQDQBhOFQc2pUV7YLXxlvBVB0xPi2q8VD/tgmHJIYFn7WQIhAPaUqCj17vlXIrUlqhTPcBQWU+nVJgXFHujXBrDSNW40","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5393533},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"0bed4347fb9c4bf7fb3b55d5c5750a863e42f203","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs . @firetruck666/dsh-task-board","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . dsh-task-board @firetruck666/dsh-task-board && node scripts/smoke-client.mjs . @firetruck666/dsh-task-board","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.5-rc.1","@deepseek-ai/dsh-storage-json":"^0.1.5-rc.1","@deepseek-ai/dsh-client-locale":"^0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"^0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":"^0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.5-rc.1","@deepseek-ai/dsh-client-connection":"^0.1.5-rc.1"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":">=0.1.5-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.78_1789058553324_0.3587726820282717","host":"s3://npm-registry-packages-npm-production"}},"0.2.79":{"name":"@firetruck666/dsh-task-board","version":"0.2.79","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.79","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"a5e832b8743f1db2717035982312a4e151899b02","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.79.tgz","fileCount":256,"integrity":"sha512-dLY/dURMVuUZQVFZvXpY1Kdb3SnCYuXhSczCCQ7mfH4obCtIzq9BOm6byOkhxui/ldv11OmDBcXuTxR/D1Badw==","signatures":[{"sig":"MEQCIEGUxlsFmv9RlAU5GFwngFsiMM7hbLS0CCtbxAparJy4AiBnHORh7Bc+RiclifGD8X6COanIm6dySBsyh8ONiIBXoQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFiy67An8Z2W446zv+utazQdqTM3lHRiTwUJlFO3pT6AAiBXMpU64fCmvLUeC42EUSBddZR/Pfezef+tuzPjxCIEug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5393661},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"0d23fc0e17a6fe445965a9597c96dfecd229b9f8","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs .","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.5-rc.1","@deepseek-ai/dsh-storage-json":"^0.1.5-rc.1","@deepseek-ai/dsh-client-locale":"^0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"^0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":"^0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.5-rc.1","@deepseek-ai/dsh-client-connection":"^0.1.5-rc.1"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":">=0.1.5-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.79_1789076943412_0.7434889862937251","host":"s3://npm-registry-packages-npm-production"}},"0.2.80":{"name":"@firetruck666/dsh-task-board","version":"0.2.80","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.80","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"d7244ca74e744acb4c5660b94d5e7f3c5d96dc23","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.80.tgz","fileCount":256,"integrity":"sha512-t+j/lX05klwGugjWNThPRX47xwTI+sgJkZfjYhlz4kyXJvo4nA3+ofPXqIY/lzc6rNFIrjzoHywu3Y76wJIbCA==","signatures":[{"sig":"MEYCIQDtqJMeS+ON3nAxiOIbKYRZdo+ob0y1a4nH7YIPIVg1YAIhAMQ+5cUy8EPL7C2nRV7guaAtNtpTrSwKxdeQbIC4//Zo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCVs3PxmigJRKDo/hqS81+eEV6M+5W3d3RxxDq+onjpzgIgCrHUrGc7BTI80U+NzMCZiWeNb02k4O2TyefTeTTj0w0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5395061},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"97b9decbfb2ce64c0d4dfaff15bd3d04fd28b66a","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.5-rc.1","@deepseek-ai/dsh-storage-json":"^0.1.5-rc.1","@deepseek-ai/dsh-client-locale":"^0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"^0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":"^0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.5-rc.1","@deepseek-ai/dsh-client-connection":"^0.1.5-rc.1"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":">=0.1.5-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.80_1789078912307_0.6264548924631423","host":"s3://npm-registry-packages-npm-production"}},"0.2.81":{"name":"@firetruck666/dsh-task-board","version":"0.2.81","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.81","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"67330b51c4ad531698ae46babe6e8e1d222ad178","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.81.tgz","fileCount":262,"integrity":"sha512-ptuEmCpOOp2e11J70WRf+ro0djKv+aLQbkLB5yUykI03qOgPcMZu3QuuVq5+572lf1sRrMMJ1Mi1UJ5VKLMqDg==","signatures":[{"sig":"MEUCIBez+/63DBQ1Z6pHm6FRHVBR3yIejR9czmN6azX4IcWSAiEA+IFk1WbeRQWL56HkACuDM8rsjUXpe5LUy+XMdTK7JxY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFvPGgm1Iw3Q4aIBmS7GSgJnwwr1L4RBlfp2QqW4xb5zAiEA0QfE0IWnoGhRZSVxGWew8it+d2rpaUq9O5oOadD9vkg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5492398},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"5919a9eaf1d008a6593bea802eb0200bd6e862e6","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.5-rc.1","@deepseek-ai/dsh-storage-json":"^0.1.5-rc.1","@deepseek-ai/dsh-client-locale":"^0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"^0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":"^0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.5-rc.1","@deepseek-ai/dsh-client-connection":"^0.1.5-rc.1"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":">=0.1.5-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.81_1789080976332_0.40687963659380255","host":"s3://npm-registry-packages-npm-production"}},"0.2.82":{"name":"@firetruck666/dsh-task-board","version":"0.2.82","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.82","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"986b4a6b29ae1643885a0b33e82b1f91ebccbd51","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.82.tgz","fileCount":262,"integrity":"sha512-RXVrlZ/KGJZp6E/qLD0cqITTlMtwIXb18gw8doGVuF8ylV8k4c8sDiY8LXBVtEY5oTjTGLg1OAuH7FB8xudc/g==","signatures":[{"sig":"MEUCIQCA3wxHAMEJzbDJV0jMYrAwPwYoBisbUfa4u594yXAAVwIgej/+2R3+w0F7/63B4jTqZLrAbmG2kcKrtfGdU1LpdNM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGdec9B0RPdYaCnaKr0JlQuq2KidNjqnfO42FowVCqDdAiA9EK03pL/RlkQthZI+ym+9AzTOnwBLKr7U/pGONXXHHg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5499986},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"2adac72f9561c252be892936b9b49c40b21dae69","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.5-rc.1","@deepseek-ai/dsh-storage-json":"^0.1.5-rc.1","@deepseek-ai/dsh-client-locale":"^0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"^0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":"^0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.5-rc.1","@deepseek-ai/dsh-client-connection":"^0.1.5-rc.1"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":">=0.1.5-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.82_1789081712138_0.9435522287584308","host":"s3://npm-registry-packages-npm-production"}},"0.2.83":{"name":"@firetruck666/dsh-task-board","version":"0.2.83","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.83","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"151074cdd1dd9c2f76da503adcf2b78b6c8c46c8","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.83.tgz","fileCount":262,"integrity":"sha512-OVM/7QMd5GTGxLvbPKPae7NEbFuCQGlZU/jB5qP9sOB+mDxlkAXSgB0MUS0NQc8umuqLxaHxw4+R5eFkqg762Q==","signatures":[{"sig":"MEUCIE6Xfc8UTjcZYJSd5zBakqGZihBjKYU8D2qIG7FdmZ0iAiEAuNb/QscJy8FB2c4rrOgqpaGL87T745fXu5vtB2FJJvw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDDslKjnuWL77D21FNGAcnXb2YSaXwFny4XkS2QUZo95QIgQt1UJCU2qsT86vP8g7x8UR0xl6I3WaD0deGCk7rjIeE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5499986},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"a9e6e10ceb04e58952631e22efe7b98ddbc22db1","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.5-rc.1","@deepseek-ai/dsh-storage-json":"^0.1.5-rc.1","@deepseek-ai/dsh-client-locale":"^0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"^0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":"^0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.5-rc.1","@deepseek-ai/dsh-client-connection":"^0.1.5-rc.1"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":">=0.1.5-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.83_1789086643320_0.538810145983567","host":"s3://npm-registry-packages-npm-production"}},"0.2.84":{"name":"@firetruck666/dsh-task-board","version":"0.2.84","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.84","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"a9d6f526e0f356700774632ec8e2b8b492b0db16","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.84.tgz","fileCount":262,"integrity":"sha512-m6Xd04IAC13XY3U4e2MBCov4aX8a/MylbE8h9roMKTJDvsumfIVy4/y0wgdH06d/IB0TTkp2wR1mWXEDafvr6w==","signatures":[{"sig":"MEYCIQClvV2K/Xd+hjz8bAQwFqYrVDO2VJLxZ63ger5k+UF40gIhAOAz+3UcZKLFULjGEFuggM0g4Bn/AqUf/tqwRJQvGdxR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICKNPjn5V3HQ8guK+lj4PiUBs+vPAwVnhEa6kZDTHZm6AiEAwLrrqtZbMTLYFzMGFvAHFQNhVTUouJSO2MHtSpIcrUU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5499986},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"9c47b996749e557814d69074332febfa984fa294","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.5-rc.1","@deepseek-ai/dsh-storage-json":"^0.1.5-rc.1","@deepseek-ai/dsh-client-locale":"^0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"^0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":"^0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.5-rc.1","@deepseek-ai/dsh-client-connection":"^0.1.5-rc.1"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":">=0.1.5-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.84_1789088837517_0.7681434050275091","host":"s3://npm-registry-packages-npm-production"}},"0.2.85":{"name":"@firetruck666/dsh-task-board","version":"0.2.85","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.85","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"f5374526d949494dce21b18a5afcb1b8bc729c79","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.85.tgz","fileCount":262,"integrity":"sha512-oMpEVvIjWUo/rBUA+NFuZ7CczMnlJFa9lhpASRYz1LCbcaTF+xn+d25KHIgj6i/AGRxUP8QRnlxNgc9IFTw6sQ==","signatures":[{"sig":"MEQCIAFT1xCSdb5fWSwDRdKtxN2G5wyiI3PJCo9Tjs0klKxOAiAwfpdRjSPgAHBaPeOUd6Y4UKAmnicxr9NbyJO4WIyBsQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDwBtx3aQc3BwJpt15Hrv1TJhnnRGGkm4p8TWyxGt1hsAIhAJz1baRL5YU0Fr/csCMDf7bTwyx/jyRuaOmxz/bj0UCL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@firetruck666%2fdsh-task-board@0.2.85","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5500332},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"b8cec26d3aef821ae1407b10d7d0d3ef02674f41","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.5-rc.1","@deepseek-ai/dsh-storage-json":"^0.1.5-rc.1","@deepseek-ai/dsh-client-locale":"^0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"^0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":"^0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.5-rc.1","@deepseek-ai/dsh-client-connection":"^0.1.5-rc.1"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":">=0.1.5-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.85_1789093946241_0.5639541174539411","host":"s3://npm-registry-packages-npm-production"}},"0.2.86":{"name":"@firetruck666/dsh-task-board","version":"0.2.86","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.86","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"560ea4fdef7cad28ffdd982a786dc484bf60183c","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.86.tgz","fileCount":262,"integrity":"sha512-XGT21T7erRXcru60DeU6Xqw+dVd+9csytUxu8offQgF+D0xGCHKCEs+71vDtny5jpyTjJgP6PebTUCMOTAEbzg==","signatures":[{"sig":"MEYCIQCG2h7BWJ8h7GOqQwxz/kIVNfgeaboF244UHeVFDn9PXAIhALfFoZLfAiRCXnlTDMvzG1DZnPPcwZVfNbSY29faON4T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCU07gAy1r+jbKYV3s+KXVhOIASCTGvk3WAxqjet2b9bwIgKVY49Ma8WoUA9js2VCjRg5juoR/AUbcJVp9HZvqyM/U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@firetruck666%2fdsh-task-board@0.2.86","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5500707},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"e31d7a109f7cf1ed01f0ede8526d734f8a39fb89","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.5-rc.1","@deepseek-ai/dsh-storage-json":"^0.1.5-rc.1","@deepseek-ai/dsh-client-locale":"^0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"^0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":"^0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.5-rc.1","@deepseek-ai/dsh-client-connection":"^0.1.5-rc.1"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":">=0.1.5-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.86_1789095613978_0.15347153412702763","host":"s3://npm-registry-packages-npm-production"}},"0.2.101":{"name":"@firetruck666/dsh-task-board","version":"0.2.101","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.101","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"035c0cf72c7cbd55ef258d677cbfb8988173f67b","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.101.tgz","fileCount":268,"integrity":"sha512-zynL5ItM94IcquNtm3VaTmkE4aXFgj0BQ+ejkPNRDyQSvaRIa7sMQ/LY6i9CL+2Af3itLZ97hE7bvtXxT9/1Ig==","signatures":[{"sig":"MEUCIQCupsP9LKALpgw9P6J89/4J4cUecHcDPHXMxkQKsX7AHAIgTEVwCkNSfwlHYKe4Bw7FLVv7+i2euqSbdcyPRTEWwfg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAnD+t9e5dUJqRwQaF0fO7AbyzhqaOnwlcQLUiRuGiHtAiEAtaQdvfF4yEIMLhPHAJvTINqtgFDSBd7RE4xyMycNgNo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@firetruck666%2fdsh-task-board@0.2.101","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5589902},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"7c15994fd292793d19a43db77ab0b1bfbe852150","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.5-rc.1","@deepseek-ai/dsh-storage-json":"^0.1.5-rc.1","@deepseek-ai/dsh-client-locale":"^0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"^0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":"^0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.5-rc.1","@deepseek-ai/dsh-client-connection":"^0.1.5-rc.1"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":">=0.1.5-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.101_1789112347689_0.09967218822354207","host":"s3://npm-registry-packages-npm-production"}},"0.2.103":{"name":"@firetruck666/dsh-task-board","version":"0.2.103","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.103","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"872ac77cff9a0e4442e19970e144e4a25c2b8b51","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.103.tgz","fileCount":268,"integrity":"sha512-O7cQqArvTF5HaxXIjEjUXQuASuXwcjR7O5k2PmeVbvynoTznZuyanGmYQv510GECTOrUXUu5G10uf5II6UvtiA==","signatures":[{"sig":"MEYCIQCF/zLdECx7I0m9XXEJjinEqBj7ic9kllc6z+F+ONznAwIhALCLFFPu/xQ25uNXa/OxXfEj7OrX9pV2ZhEBO/5NX8k0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDoxiDogvQALhiM2qJPkeUntAtBZGsQbv2wAoMwVPzxUwIgDh9GVp80tvi3Eo7dWHtr0mVT23M7MSoKSF+xXRgpOJg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@firetruck666%2fdsh-task-board@0.2.103","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5599445},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"cfe797986f70b9a06d6338b9c24ecf2aaadc14bc","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.5-rc.1","@deepseek-ai/dsh-storage-json":"^0.1.5-rc.1","@deepseek-ai/dsh-client-locale":"^0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"^0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":"^0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.5-rc.1","@deepseek-ai/dsh-client-connection":"^0.1.5-rc.1"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":">=0.1.5-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.103_1789150891099_0.27063761900433914","host":"s3://npm-registry-packages-npm-production"}},"0.2.104":{"name":"@firetruck666/dsh-task-board","version":"0.2.104","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.104","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"6a47b6ea13fafe669e5dfda147a5b483628abba2","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.104.tgz","fileCount":268,"integrity":"sha512-rDRJU4g+vhhq2O1IVeqOVptm11HkED/vUsAQ9g/VIZXoD4ZDoVaGkjMdwH3b66gKBmw3g7yBUl2rxpk3KP/knw==","signatures":[{"sig":"MEYCIQD/6BPpxEhAU9mHpynyzAXACBOhXQJidYUlBheRQMXl8QIhAJSvTBj+YW8FHv35GT0JCjwi8y6ET2amIbD0I9tm+A3C","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIE930EWyfziyRcJDU14yeIEQGErHdUURjGN2irZLm1yyAiEA8DRfb4m4EyeMrtZPDIWhVpkbWI41Z32lFoyYmrBiaMI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@firetruck666%2fdsh-task-board@0.2.104","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5599445},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"dc06d4ade8f953a5a50c14fa5ec6fe7e5f344e05","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.5-rc.1","@deepseek-ai/dsh-storage-json":"^0.1.5-rc.1","@deepseek-ai/dsh-client-locale":"^0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"^0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":"^0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.5-rc.1","@deepseek-ai/dsh-client-connection":"^0.1.5-rc.1"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":">=0.1.5-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.104_1789155096011_0.5303073078196487","host":"s3://npm-registry-packages-npm-production"}},"0.2.107":{"name":"@firetruck666/dsh-task-board","version":"0.2.107","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.107","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"c1cd6ba9bf967b6a4051b2c60863d5327bf83ceb","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.107.tgz","fileCount":268,"integrity":"sha512-JOFCBaZuMR5safQqzBJXGI+uK43OjdhUdOBkR/5bFvzRgj3LdObu/f0DfKICKusFu0m+WbU7Rdd6aEx8j86ELg==","signatures":[{"sig":"MEQCIEPEMH/X7fjeJokHD7RYQN+Ajsv6v5viiHco9GHjkj+TAiBx6eiTD2th5gnPX0rJr2QT59SvPkkRD7axGqP0ojiR7Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCew7EsqbfCNuTgOtL5ipfw+h2ESk4UMwuigeibzzRGSAIhALBcbSY/Bsgh8A8k2nuEGk9nGdpJTHdrSKXFHNwlm2TQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@firetruck666%2fdsh-task-board@0.2.107","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5675824},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"ebff26089420d1a4eea0767065bd310500cf991a","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.5-rc.1","@deepseek-ai/dsh-storage-json":"^0.1.5-rc.1","@deepseek-ai/dsh-client-locale":"^0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"^0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":"^0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.5-rc.1","@deepseek-ai/dsh-client-connection":"^0.1.5-rc.1"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":">=0.1.5-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.107_1789345638697_0.5305828240963097","host":"s3://npm-registry-packages-npm-production"}},"0.2.108":{"name":"@firetruck666/dsh-task-board","version":"0.2.108","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.108","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"fa7f131f469d88868df448a127ae06efd8fecd46","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.108.tgz","fileCount":268,"integrity":"sha512-XLa9+mg6vHIdun0JnaXMB8ikLbWAML4I8SfTeX3K+IMHmPXEpKJtMBN1SZYve+EKaLhOdreMl4LI8lVGZkTwDw==","signatures":[{"sig":"MEQCIAlfWnNmUZcgbT7696GrqH0wk1KGLq4QLHkjZXLCL3L2AiBuf6XOU89RgIJqY5BI/OEyyi5AB2ZXh/qJu3I1CsMExQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCID3oxmRZ8g13HiPWTvwXTDR0ATybk/NQPzEVCNzcxJ8CAiEAtaZT466pjSZbv6lGkCX5s6itVNgDGoTqXnVZOFUQF1w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@firetruck666%2fdsh-task-board@0.2.108","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5675824},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"4e1da24016cbc15cc260289c6b18b4ca6b518a7e","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check","typecheck":"tsc --noEmit","test:watch":"vitest","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.5-rc.1","@deepseek-ai/dsh-storage-json":"^0.1.5-rc.1","@deepseek-ai/dsh-client-locale":"^0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"^0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":"^0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.5-rc.1","@deepseek-ai/dsh-client-connection":"^0.1.5-rc.1"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":">=0.1.5-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.108_1789346735844_0.8896196620670871","host":"s3://npm-registry-packages-npm-production"}},"0.2.121":{"name":"@firetruck666/dsh-task-board","version":"0.2.121","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.121","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"b30a7a3af1206133964ef2512843ace6ca1b292b","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.121.tgz","fileCount":268,"integrity":"sha512-TE+z0BFjAfddQ/rgGj0B/GcQiq4W2rdVgQpknsX47qELrHrSvsFLWCBtcxxJ5HlDv9lZb76D+6/7pINBg674OA==","signatures":[{"sig":"MEUCICwG6veJb6fFVV338m1HFxjabSF+PgeOMzcksGGJvSA6AiEAkkhdokyP+EO7aT/gx9/zWbGCkZvhJ7Po1w6Qs8r+HYI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDvU3IY76iNyrOI0jAp9uk4zcBAHR3D/3S4fS3nRU/T5gIhAOVxuxTsthXEFFopgP6i7Vx3SY3ZIkLyh17qvi1ZZH7F","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@firetruck666%2fdsh-task-board@0.2.121","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5817857},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"18e669a7bf056351f81c8f6265e2e45af0c164d6","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check && node scripts/verify-design-docs.mjs .","typecheck":"tsc --noEmit","test:watch":"vitest","design-docs":"node scripts/verify-design-docs.mjs .","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.5-rc.1","@deepseek-ai/dsh-storage-json":"^0.1.5-rc.1","@deepseek-ai/dsh-client-locale":"^0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"^0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":"^0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.5-rc.1","@deepseek-ai/dsh-client-connection":"^0.1.5-rc.1"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":">=0.1.5-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.121_1789379583532_0.31283729858880016","host":"s3://npm-registry-packages-npm-production"}},"0.2.123":{"name":"@firetruck666/dsh-task-board","version":"0.2.123","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.123","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"a98c4da113d39221af62d1cc5a98c9aae718982a","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.123.tgz","fileCount":268,"integrity":"sha512-agp7s+yvbiDPbomMoRe9Dw5y5rCGJLvcaoOkhRibkVo0A45ZY4JCvewzbTClRJJsxt8LCkA6bQYJ+XIZmC1YPQ==","signatures":[{"sig":"MEUCIEYWjg2RCAmrvtCuO0ahYLc5F3bGsoa0rvmP6v+tHBawAiEA34FCi6tomDx+q1LGY0RPrzR05fP5br69wI4fzADSG2c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDGq2GfZ17WzYlVvw/yQ5bUusNZCzdLq+hTAL4wsVpfNAIgWq/r9ztVXY/DzGtiV/XIT6SlP7XFdaIdiarLIcaujlA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@firetruck666%2fdsh-task-board@0.2.123","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5820828},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"e4785f21ebcc97a182000c16fda6985fe7a8224d","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check && node scripts/verify-design-docs.mjs .","typecheck":"tsc --noEmit","test:watch":"vitest","design-docs":"node scripts/verify-design-docs.mjs .","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.5-rc.1","@deepseek-ai/dsh-storage-json":"^0.1.5-rc.1","@deepseek-ai/dsh-client-locale":"^0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"^0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":"^0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.5-rc.1","@deepseek-ai/dsh-client-connection":"^0.1.5-rc.1"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":">=0.1.5-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.123_1789409225470_0.2325134628188259","host":"s3://npm-registry-packages-npm-production"}},"0.2.126":{"name":"@firetruck666/dsh-task-board","version":"0.2.126","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.126","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"70fab1a7a1fd3e559ebba1c3e90f735be17a4a8d","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.126.tgz","fileCount":268,"integrity":"sha512-eDMuSJASlX2+lQy+rLIy7z5BiRB6hYf5poafNqKRt5s9e1/3SdTRBbUl0DoPcgHol6eh1fJSNtAMm6YJlsD6pQ==","signatures":[{"sig":"MEUCIAR2G1yOmm1hsj60dfZiL1HaM0luYfnSTW7sPudKl3GiAiEAs7LAAv+9jut9MR9meMIFeK9INJkUtKcVs0ryztm1jkQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD++rb6T0yMcNojkvE4kbTDgbMlZejzh/zHW9/zCgD5HAIhAMFGpdKdiEZQsMnqZ3cjePTMabTUQ5kPw3o+GkPVcH1R","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@firetruck666%2fdsh-task-board@0.2.126","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5856614},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"83c268d4dc4cd2dbb7d022789c1b825dc1587199","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check && node scripts/verify-design-docs.mjs .","typecheck":"tsc --noEmit","test:watch":"vitest","design-docs":"node scripts/verify-design-docs.mjs .","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.5-rc.1","@deepseek-ai/dsh-storage-json":"^0.1.5-rc.1","@deepseek-ai/dsh-client-locale":"^0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"^0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":"^0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.5-rc.1","@deepseek-ai/dsh-client-connection":"^0.1.5-rc.1"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":">=0.1.5-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.126_1789421164140_0.3490837044547288","host":"s3://npm-registry-packages-npm-production"}},"0.2.127":{"name":"@firetruck666/dsh-task-board","version":"0.2.127","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.127","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"7543c9515e632d26bcc5a4ce10ca6e97a4cf4a19","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.127.tgz","fileCount":268,"integrity":"sha512-gwS5zT19REkR4uOSzQQap6TgZvIJHNRTallJxuJqtKVpyyJNIubUfHDJIPccuQgjw1ZbJqS1Yiey6j0pET2iDQ==","signatures":[{"sig":"MEQCIGHGL00+plQ6JbN7mawyoiKlh1C8+C0rGq918YG/P/EcAiAM8zGcdDrGvMKcYNm1QxTQBZE0OJhNaOV/hAzfvShpsQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD2gyyFKfzSx9KXu3+BPRf4gszEMv2dP0g/sd8UNjzgjQIgc20E4HsMPMkoh87kzhFJBkAylDK4DjVHgOOYo5Ylios=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@firetruck666%2fdsh-task-board@0.2.127","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5930680},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"cfac15f6e9505581364e883c3e9331c475e8e16b","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check && node scripts/verify-design-docs.mjs .","typecheck":"tsc --noEmit","test:watch":"vitest","design-docs":"node scripts/verify-design-docs.mjs .","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.5-rc.1","@deepseek-ai/dsh-storage-json":"^0.1.5-rc.1","@deepseek-ai/dsh-client-locale":"^0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"^0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":"^0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.5-rc.1","@deepseek-ai/dsh-client-connection":"^0.1.5-rc.1"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":">=0.1.5-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.127_1789425222798_0.49443857056728","host":"s3://npm-registry-packages-npm-production"}},"0.2.128":{"name":"@firetruck666/dsh-task-board","version":"0.2.128","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.128","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"6f1ac9d7208440d118cc31ca5455a102d3914130","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.128.tgz","fileCount":268,"integrity":"sha512-0XkbGhbpHd381H8dqsbG/c/Fv6ZGWR5qy8KiXplYfydTQm4bwHe8UZIV3pxM9ZEoAG8wljp0GlHsJ+yNOdziZA==","signatures":[{"sig":"MEQCIHV+EoXHVvQ8yJNk8+5WudcWme5FoPRvh2oel8YTlFHMAiAbUQg4Fe5Bj4BNeDLx1iBV4THqYiL7mYUT7z2VF1U53g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDXPaTr/yikQigbISQLCfD7DXt7lDhTVqCfM/GD6icsywIhANZzkwjwiOkJIFpamwTsjmd9bxw7B3MiaWrNRLrmlDZw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@firetruck666%2fdsh-task-board@0.2.128","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5931898},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"13530b8149c3d5ab5e06ecfabe72a89acc818173","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check && node scripts/verify-design-docs.mjs .","typecheck":"tsc --noEmit","test:watch":"vitest","design-docs":"node scripts/verify-design-docs.mjs .","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.5-rc.1","@deepseek-ai/dsh-storage-json":"^0.1.5-rc.1","@deepseek-ai/dsh-client-locale":"^0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"^0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":"^0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.5-rc.1","@deepseek-ai/dsh-client-connection":"^0.1.5-rc.1"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":">=0.1.5-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.128_1789465638984_0.9719866301619027","host":"s3://npm-registry-packages-npm-production"}},"0.2.129":{"name":"@firetruck666/dsh-task-board","version":"0.2.129","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.129","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"4456a10cef376188c9af279aab01c892bc34349d","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.129.tgz","fileCount":268,"integrity":"sha512-eH4p2YeDOr3VcnNG1F8JYqs5Rm7ecB17T6eokvl3jd+n5lxxm3wkBSHTjGI68yqsDXzGraWQBwhHIM7YjbhSRA==","signatures":[{"sig":"MEUCIQCG5OuxdDXj7UAQAIkDwxGzd6q+tSNY15PH5W8+z6dnmAIgM6OyPakGeGsKxARPtK13c78dlWdInZ/exYJ2WCu7p/w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCHC319i4VOkKPKw/Ng4QOWfzhCtPwMHGQ4aUirsB0gIAIgMooJekw4VKhr0CKB1VwJAOxPWiMsYYDwh4zzB79Y1KQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@firetruck666%2fdsh-task-board@0.2.129","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5933199},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"7616ecba59b7d1df1c1a44387d76e41bd48b2b17","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check && node scripts/verify-design-docs.mjs .","typecheck":"tsc --noEmit","test:watch":"vitest","design-docs":"node scripts/verify-design-docs.mjs .","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.5-rc.1","@deepseek-ai/dsh-storage-json":"^0.1.5-rc.1","@deepseek-ai/dsh-client-locale":"^0.1.5-rc.1","@deepseek-ai/dsh-system-prompt":"^0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":"^0.1.5-rc.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.5-rc.1","@deepseek-ai/dsh-client-connection":"^0.1.5-rc.1"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":">=0.1.5-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.129_1789513461480_0.717114430335424","host":"s3://npm-registry-packages-npm-production"}},"0.2.133":{"name":"@firetruck666/dsh-task-board","version":"0.2.133","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.133","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"ac9984193c79ecc9efed153a8d1047bc311291c8","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.133.tgz","fileCount":268,"integrity":"sha512-N0aGtmfryaGuSR6cps7Wo7xg8BhaKEsWfEPW5yd+oyw53zdbv5sMlJZHTm2o5W5Ke0FHEU8v48O2f5c2kaAyQQ==","signatures":[{"sig":"MEYCIQD6kWBwJHHtoT+WdpIlMDw86DelfDl1fpMON2acLjXFrwIhANei9ewK3MtA1hBptSYR27+j7CFh4dPKIeQlEBK9PPWf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCNNrPOlWa7w3BIDc5weXm8yi6+TKHxQ31aYFhXiJN/5gIgJztWlQwdRMuueb9YG0IueSsT9vmptMHItALoK2vYgNQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@firetruck666%2fdsh-task-board@0.2.133","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5968037},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"a434ada944da209703f2134f059ba8b52cf269dc","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check && node scripts/verify-design-docs.mjs .","typecheck":"tsc --noEmit","test:watch":"vitest","design-docs":"node scripts/verify-design-docs.mjs .","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.6-alpha.1","@deepseek-ai/dsh-storage-json":"^0.1.6-alpha.1","@deepseek-ai/dsh-client-locale":"^0.1.6-alpha.1","@deepseek-ai/dsh-system-prompt":"^0.1.6-alpha.1","@deepseek-ai/dsh-host-webserver":"^0.1.6-alpha.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.6-alpha.1","@deepseek-ai/dsh-client-connection":"^0.1.6-alpha.1"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":">=0.1.5-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.133_1789521723719_0.715759348159527","host":"s3://npm-registry-packages-npm-production"}},"0.2.134":{"name":"@firetruck666/dsh-task-board","version":"0.2.134","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.134","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"308a89da8a282355e0647cb0afad99db7b34305b","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.134.tgz","fileCount":270,"integrity":"sha512-BCxy5bws7fLswAdaa9T82Cserg7oXRMnHBxMUVX+GbWtbRiM/ghaRKhdcMSJjdPuNtd6ym5cCMeRICugw3W61A==","signatures":[{"sig":"MEYCIQDS/MvpFXKdlAFyIR9Ak4kV9wN3XyThLdx9pUM3Vpsi4wIhAPXsSGwb7IebXLA7LIr3ia/csQsmnox9PUDnqU8qYQpD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDZHY9PtjjhagliY5g7dwG6P+CGQ2JiOYF7ANMxtAdHSgIhAIosD6K6PInEJf1+vQ5ht+IouurbJyi5iR2UuQLWeV9F","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@firetruck666%2fdsh-task-board@0.2.134","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6091196},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"7552d6e8926112102ff486aa6abe8ae8b0d631e8","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check && node scripts/verify-design-docs.mjs .","typecheck":"tsc --noEmit","test:watch":"vitest","design-docs":"node scripts/verify-design-docs.mjs .","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.6-alpha.1","@deepseek-ai/dsh-storage-json":"^0.1.6-alpha.1","@deepseek-ai/dsh-client-locale":"^0.1.6-alpha.1","@deepseek-ai/dsh-system-prompt":"^0.1.6-alpha.1","@deepseek-ai/dsh-host-webserver":"^0.1.6-alpha.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.6-alpha.1","@deepseek-ai/dsh-client-connection":"^0.1.6-alpha.1"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.5-rc.1","@deepseek-ai/dsh-host-webserver":">=0.1.5-rc.1","@deepseek-ai/dsh-client-connection":">=0.1.5-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.134_1789572622297_0.46285976599594947","host":"s3://npm-registry-packages-npm-production"}},"0.2.137":{"name":"@firetruck666/dsh-task-board","version":"0.2.137","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.137","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"b47c41450e826ef6e4d87aa7d47f5bf007d5f18e","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.137.tgz","fileCount":272,"integrity":"sha512-K6WN+lKO9tfjpEs1b8MU8J+zdSFZ31zPKIf9L5Tp8bLIuk987aySuC0KX/WMEfVaoGOYT4tLoBF3CwiZhTT58A==","signatures":[{"sig":"MEYCIQDHSVnA2jbb9/gQVQ8t5muMXZv9ThfBFdx0Cd9YgfTBqAIhAKw/COIuc+16+xk2LpdmXVAOsHrmmO0PoQ0qKhtUzpxf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBfvCUk6GmtsuyPnlX8cZu63Fi6GCfBTzAvTjcjtvrVfAiEA+1GukDhnOXHHoYPLyJIWHdQ4+hM0Rc23pTrDyFiymXs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@firetruck666%2fdsh-task-board@0.2.137","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6093738},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"81079995c989d17582dda12604ac5920cebaa412","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check && node scripts/verify-design-docs.mjs . && node scripts/verify-host-contracts.mjs .","typecheck":"tsc --noEmit","test:watch":"vitest","design-docs":"node scripts/verify-design-docs.mjs .","host-contracts":"node scripts/verify-host-contracts.mjs .","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.6-alpha.2","@deepseek-ai/dsh-storage-json":"^0.1.6-alpha.2","@deepseek-ai/dsh-client-locale":"^0.1.6-alpha.2","@deepseek-ai/dsh-system-prompt":"^0.1.6-alpha.2","@deepseek-ai/dsh-host-webserver":"^0.1.6-alpha.2","@deepseek-ai/dsh-client-ui-slots":"^0.1.6-alpha.2","@deepseek-ai/dsh-client-connection":"^0.1.6-alpha.2"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.6-alpha.2","@deepseek-ai/dsh-host-webserver":">=0.1.6-alpha.2","@deepseek-ai/dsh-client-connection":">=0.1.6-alpha.2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.137_1789675289979_0.0623439826047083","host":"s3://npm-registry-packages-npm-production"}},"0.2.138":{"name":"@firetruck666/dsh-task-board","version":"0.2.138","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.138","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"21d85bc757cf9ac52a7bbe94f803462ba1865fb1","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.138.tgz","fileCount":272,"integrity":"sha512-oKJf1tbladqIkPkCDzFOO27vYWhktpQf25Hu4aDh3g9Zokt+vpxckd+D+1v4ovfcmXBXZGCpEDiAfIDEtovnxw==","signatures":[{"sig":"MEUCIFEMcpSnAY+3dkzPdzH0421zfxg3ORKcAkhyhskG8jagAiEAkGfoh15CWa1Wc4YD7TawgiNr3NY0bTlH69d8XJT0PN4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCOTsv/x7ywr/fb1IJZNZclVI503ZRsy0ZD3mZ8VgumoAIgUEv6sf+w8kshJkgTw7vdPxkc1DBz90IYLpV8/+NKrWw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@firetruck666%2fdsh-task-board@0.2.138","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6093798},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"393edb63f5740d99c5a244ce2fdf676e7a22c78e","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check && node scripts/verify-design-docs.mjs . && node scripts/verify-host-contracts.mjs . && node scripts/verify-host-contracts.mjs . --probe-removed","typecheck":"tsc --noEmit","test:watch":"vitest","design-docs":"node scripts/verify-design-docs.mjs .","host-contracts":"node scripts/verify-host-contracts.mjs .","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.6-alpha.2","@deepseek-ai/dsh-storage-json":"^0.1.6-alpha.2","@deepseek-ai/dsh-client-locale":"^0.1.6-alpha.2","@deepseek-ai/dsh-system-prompt":"^0.1.6-alpha.2","@deepseek-ai/dsh-host-webserver":"^0.1.6-alpha.2","@deepseek-ai/dsh-client-ui-slots":"^0.1.6-alpha.2","@deepseek-ai/dsh-client-connection":"^0.1.6-alpha.2"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.6-alpha.2","@deepseek-ai/dsh-host-webserver":">=0.1.6-alpha.2","@deepseek-ai/dsh-client-connection":">=0.1.6-alpha.2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.138_1789676104645_0.6043980364830044","host":"s3://npm-registry-packages-npm-production"}},"0.2.139":{"name":"@firetruck666/dsh-task-board","version":"0.2.139","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.139","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"68d50e062a584130b407c3ab82b23f3f6c1ea771","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.139.tgz","fileCount":272,"integrity":"sha512-tz7OGNKQ+Dv9nYSZehi5ffbObIeZbqKpjOl33MDGGRxzsnnALSuT2VZXtyQhLnmfV0ckAF4P2vbB4Byyp37Z4A==","signatures":[{"sig":"MEYCIQDepxJH4WQrEL0vP9uLMcVzdCleS3YpNieCFsdu+iCAIQIhAPFJjb0qXB/t66zqyiOKsvqc3NUDttOXA6Xethqs8g2J","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCJtyJK1d+ziianT1nuUA+fiF9wI8PjLwmOLE+Axc88GAIhAIJvECGEiAAMmvuUrziney1X9CrlIZhMJtCjNIao1/X1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@firetruck666%2fdsh-task-board@0.2.139","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6094459},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"8bb05a8460afb2ed0210f7c72174bdc61bb5c41e","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check && node scripts/verify-design-docs.mjs . && node scripts/verify-host-contracts.mjs . && node scripts/verify-host-contracts.mjs . --probe-removed","typecheck":"tsc --noEmit","test:watch":"vitest","design-docs":"node scripts/verify-design-docs.mjs .","host-contracts":"node scripts/verify-host-contracts.mjs .","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.6-alpha.2","@deepseek-ai/dsh-storage-json":"^0.1.6-alpha.2","@deepseek-ai/dsh-client-locale":"^0.1.6-alpha.2","@deepseek-ai/dsh-system-prompt":"^0.1.6-alpha.2","@deepseek-ai/dsh-host-webserver":"^0.1.6-alpha.2","@deepseek-ai/dsh-client-ui-slots":"^0.1.6-alpha.2","@deepseek-ai/dsh-client-connection":"^0.1.6-alpha.2"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.6-alpha.2","@deepseek-ai/dsh-host-webserver":">=0.1.6-alpha.2","@deepseek-ai/dsh-client-connection":">=0.1.6-alpha.2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.139_1789811654457_0.6844518974886546","host":"s3://npm-registry-packages-npm-production"}},"0.2.143":{"name":"@firetruck666/dsh-task-board","version":"0.2.143","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.143","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session"],"platform":"web"}},"dist":{"shasum":"92cc20827672c8ac7a68f9843cc1c80be22e3806","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.143.tgz","fileCount":272,"integrity":"sha512-pO2DtbfAQliEtHOAIFJQrgOoC9+4fJW11vIKhdnP4wjVNKpaymqsNFcZZAwaKIJWWAJ2OnQIw89wxFUyY8t4wg==","signatures":[{"sig":"MEUCIQCtMdCGFHnGRQaKFgAtHMnaRjwOIZQHf7PAX8YGi6MlJgIgXulXA20VZOc4fTxl0Rpqcp2FbinLnnhQruNBZk7fwBI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDBbbAL8mlo9I94rKOZ0L/VAovbnzszk8a6D9d2mzBR9wIgYW62OcZ50dULWZT/wAmqtIePGqd82UKSIeOKkZWb6L4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@firetruck666%2fdsh-task-board@0.2.143","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6021146},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"gitHead":"ff365236d3f9c8e732a73720ff2460b5c92ba69a","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check && node scripts/verify-design-docs.mjs . && node scripts/verify-host-contracts.mjs . && node scripts/verify-host-contracts.mjs . --probe-removed","typecheck":"tsc --noEmit","test:watch":"vitest","design-docs":"node scripts/verify-design-docs.mjs .","host-contracts":"node scripts/verify-host-contracts.mjs .","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.19.1","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.21.0","dependencies":{"schemastery":"^3.18.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","schemastery":"^3.18.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.2","@deepseek-ai/dsh-settings":"^0.1.6-alpha.2","@deepseek-ai/dsh-storage-json":"^0.1.6-alpha.2","@deepseek-ai/dsh-client-locale":"^0.1.6-alpha.2","@deepseek-ai/dsh-system-prompt":"^0.1.6-alpha.2","@deepseek-ai/dsh-host-webserver":"^0.1.6-alpha.2","@deepseek-ai/dsh-client-ui-slots":"^0.1.6-alpha.2","@deepseek-ai/dsh-client-connection":"^0.1.6-alpha.2"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-settings":">=0.1.6-alpha.2","@deepseek-ai/dsh-host-webserver":">=0.1.6-alpha.2","@deepseek-ai/dsh-client-connection":">=0.1.6-alpha.2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.143_1790076050594_0.39385206003212647","host":"s3://npm-registry-packages-npm-production"}},"0.2.147":{"name":"@firetruck666/dsh-task-board","version":"0.2.147","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.147","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"dist":{"shasum":"625ea724d4f23ee5085f3b5235b1d8611cde72b1","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.147.tgz","fileCount":250,"integrity":"sha512-TWMu2I6ysrf5EHTbBurOIUvk8xRIuQqfe/KwQgN9Bysm1f7AC7HDhFOEgAdKICYYlNM8rp2YWDwiZM0XYSBtxg==","signatures":[{"sig":"MEUCIATTteIOTKWvOr56Dgs9vJDi/tRYWuEcV/njQdRQ9OYSAiEA+bHumKRsTAv3ID+FD1Pw0ztaQrnMZ2ANltCM7+Nh0gk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHwKB/FO2vBB7/U6dyckc6uowFljf020t50Jt3Kofil4AiAn+EWMiQsiRU7Dilt4w7xBm1ql8x1OiXVa6bFgxkMYnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@firetruck666%2fdsh-task-board@0.2.147","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5879373},"icon":"./icon.svg","main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"dsh":">=0.1.7-alpha.1","node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json","./locale/*.json":"./locale/*.json"},"gitHead":"44a00e5c69fb5c2a27a92463db00236588595a86","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check && node scripts/verify-design-docs.mjs . && node scripts/verify-host-contracts.mjs . && node scripts/verify-host-contracts.mjs . --probe-removed && node scripts/verify-host-contracts.mjs . --probe-services","typecheck":"tsc --noEmit","test:watch":"vitest","design-docs":"node scripts/verify-design-docs.mjs .","host-contracts":"node scripts/verify-host-contracts.mjs .","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.20.0","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.3","@deepseek-ai/dsh-storage-json":"^0.1.7-alpha.1","@deepseek-ai/dsh-client-locale":"^0.1.7-alpha.1","@deepseek-ai/dsh-host-webserver":"^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.7-alpha.1","@deepseek-ai/dsh-client-connection":"^0.1.7-alpha.1"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-host-webserver":">=0.1.7-alpha.1","@deepseek-ai/dsh-client-connection":">=0.1.7-alpha.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.147_1790145377269_0.8719721847644881","host":"s3://npm-registry-packages-npm-production"}},"0.2.148":{"name":"@firetruck666/dsh-task-board","version":"0.2.148","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.148","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"dist":{"shasum":"42b2bfe3fef5d41f55188dc2abc8730935f6b394","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.148.tgz","fileCount":250,"integrity":"sha512-+CPRI1f90osINrMiREPcjw9B6ZBAow7ColcGM6rlAIMmIMf1PfGqarHJG88wHKOmPpbru5Axozbkg9VEVcwV2Q==","signatures":[{"sig":"MEYCIQDEmYzSOw8pEwlAS+nfvlDouTndTfjdeyaGYs0kIvs6twIhAJq+dHV+OFYsJfCt6Hwq9aj9ulDle8C+gVZjs+8wla3f","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDIvZJnHnzk01/UyXZi4bwVARMV3oONPsPnPaehaix9FQIgCtViodfa5nXQi09rvscJJ7LfOR63T85i2ZEzd147OHk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@firetruck666%2fdsh-task-board@0.2.148","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5879678},"icon":"./icon.svg","main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"dsh":">=0.1.7-alpha.1","node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json","./locale/*.json":"./locale/*.json"},"gitHead":"b791685f44adce4357f70289aa4ae8382569cf41","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check && node scripts/verify-design-docs.mjs . && node scripts/verify-host-contracts.mjs . && node scripts/verify-host-contracts.mjs . --probe-removed && node scripts/verify-host-contracts.mjs . --probe-services","typecheck":"tsc --noEmit","test:watch":"vitest","design-docs":"node scripts/verify-design-docs.mjs .","host-contracts":"node scripts/verify-host-contracts.mjs .","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.20.0","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.20.0","dependencies":{},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.3","@deepseek-ai/dsh-storage-json":"^0.1.7-alpha.1","@deepseek-ai/dsh-client-locale":"^0.1.7-alpha.1","@deepseek-ai/dsh-host-webserver":"^0.1.7-alpha.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.7-alpha.1","@deepseek-ai/dsh-client-connection":"^0.1.7-alpha.1"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-host-webserver":">=0.1.7-alpha.1","@deepseek-ai/dsh-client-connection":">=0.1.7-alpha.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.148_1790175890439_0.13102481799572674","host":"s3://npm-registry-packages-npm-production"}},"0.2.149":{"name":"@firetruck666/dsh-task-board","version":"0.2.149","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"license":"MIT","_id":"@firetruck666/dsh-task-board@0.2.149","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"dist":{"shasum":"57f3249e8aba280af98ff4e26e99ec2492977cbd","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.149.tgz","fileCount":250,"integrity":"sha512-MMbPdr9K4T74BP/CdQFRSsJo4FAKA1M/mC9b8RcMRsdJ6Wy219CXIKQOrFPYXYovfDXcjdtyjIpGIXeVDyKOqQ==","signatures":[{"sig":"MEYCIQDD9aN1YHVkgvL2m5Xs9K12i8048AhevHeOlVFRspRDCAIhAJcqnHGbsx4WPWoUAE8A5jsdC2lTshxB6oHDFYAnjzb0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFTRIHSoupBdw297EzVVpsFVChKiWujyzI+1WgSaYzXrAiEAi5o4bvPDD5UI4/kmyUqSKx7n8fzeOJQWPN3NeirTLzs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@firetruck666%2fdsh-task-board@0.2.149","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5883634},"icon":"./icon.svg","main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","engines":{"dsh":">=0.1.7-alpha.1","node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json","./locale/*.json":"./locale/*.json"},"gitHead":"3e172ae11d319a3496e5082b7a628539b4ac73cb","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check && node scripts/verify-design-docs.mjs . && node scripts/verify-host-contracts.mjs . && node scripts/verify-host-contracts.mjs . --probe-removed && node scripts/verify-host-contracts.mjs . --probe-services","typecheck":"tsc --noEmit","test:watch":"vitest","design-docs":"node scripts/verify-design-docs.mjs .","host-contracts":"node scripts/verify-host-contracts.mjs .","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.20.0","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"_nodeVersion":"24.21.0","dependencies":{},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.4","@deepseek-ai/dsh-storage-json":"^0.1.7-rc.1","@deepseek-ai/dsh-client-locale":"^0.1.7-rc.1","@deepseek-ai/dsh-host-webserver":"^0.1.7-rc.1","@deepseek-ai/dsh-client-ui-slots":"^0.1.7-rc.1","@deepseek-ai/dsh-client-connection":"^0.1.7-rc.1"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-host-webserver":">=0.1.7-alpha.1","@deepseek-ai/dsh-client-connection":">=0.1.7-alpha.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-task-board_0.2.149_1790247553387_0.6722536866707163","host":"s3://npm-registry-packages-npm-production"}},"0.2.154":{"_id":"@firetruck666/dsh-task-board@0.2.154","dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-remotes","@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-session","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"dist":{"shasum":"813b51c7689ff0e020c39673031280544a8b8032","tarball":"https://registry.npmjs.org/@firetruck666/dsh-task-board/-/dsh-task-board-0.2.154.tgz","fileCount":254,"integrity":"sha512-YLo26Jc/XyPyTEkrvREU41KI72i18g4Ft4BzhH0fhrPiUyyv5AXBBr0VOFhkUZpGV0NkzieGOZGhRuWqqZ2rGw==","signatures":[{"sig":"MEUCID28Du0cRzExd1XgeQ+7HKFA1F7bkGG1S/F0QJswj6HXAiEAtn5dnZ0atdDFeeGu3AC3BGQl4JssgCAavHROmBX9wn8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCJtr1zSli2fhPOEVMWmFrCOVV8lky8TroNBFxt5ezqcAIhAM/SXc2pmmAb3oaRuRacQWD762KG1E/x/n5bnqE942os"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@firetruck666%2fdsh-task-board@0.2.154","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6093163},"icon":"./icon.svg","main":"lib/index.js","name":"@firetruck666/dsh-task-board","type":"module","types":"lib/types/index.d.ts","engines":{"dsh":">=0.1.7-alpha.1","node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json","./locale/*.json":"./locale/*.json"},"gitHead":"8431eee26fd40eb6eff57161dbd291c3b46b83b6","license":"MIT","scripts":{"toc":"node scripts/sync-toc.mjs README.md README.en.md","test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","smoke":"node scripts/smoke-client.mjs .","watch":"tsdown --watch","bundle":"tsdown","verify":"node scripts/verify-standalone.mjs . && node scripts/smoke-client.mjs . && node scripts/sync-toc.mjs README.md README.en.md --check && node scripts/verify-design-docs.mjs . && node scripts/verify-host-contracts.mjs . && node scripts/verify-host-contracts.mjs . --probe-removed && node scripts/verify-host-contracts.mjs . --probe-services","typecheck":"tsc --noEmit","test:watch":"vitest","design-docs":"node scripts/verify-design-docs.mjs .","host-contracts":"node scripts/verify-host-contracts.mjs .","prepublishOnly":"pnpm build && pnpm typecheck && pnpm test && pnpm verify"},"version":"0.2.154","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:67246b57-1c91-4e58-88a8-2d6d5eca9a47"}},"homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"_npmVersion":"11.20.0","description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","directories":{},"maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"_nodeVersion":"24.21.0","dependencies":{},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^18.3.1","tsdown":"0.22.2","vitest":"^3.0.0","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.4","@deepseek-ai/dsh-storage-json":"^0.1.7-rc.2","@deepseek-ai/dsh-client-locale":"^0.1.7-rc.2","@deepseek-ai/dsh-host-webserver":"^0.1.7-rc.2","@deepseek-ai/dsh-client-ui-slots":"^0.1.7-rc.2","@deepseek-ai/dsh-client-connection":"^0.1.7-rc.2","@deepseek-ai/dsh-api-session-controller":"^0.1.7-rc.2"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-host-webserver":">=0.1.7-alpha.1","@deepseek-ai/dsh-client-connection":">=0.1.7-alpha.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-task-board_0.2.154_1790391595201_0.9951049063697215"}}},"time":{"created":"2026-09-10T14:17:04.383Z","modified":"2026-09-26T02:59:55.639Z","0.2.75":"2026-09-10T14:17:04.772Z","0.2.77":"2026-09-10T16:19:22.008Z","0.2.78":"2026-09-10T16:42:33.530Z","0.2.79":"2026-09-10T21:49:03.548Z","0.2.80":"2026-09-10T22:21:52.483Z","0.2.81":"2026-09-10T22:56:16.502Z","0.2.82":"2026-09-10T23:08:32.285Z","0.2.83":"2026-09-11T00:30:43.462Z","0.2.84":"2026-09-11T01:07:17.642Z","0.2.85":"2026-09-11T02:32:26.399Z","0.2.86":"2026-09-11T03:00:14.119Z","0.2.101":"2026-09-11T07:39:07.827Z","0.2.103":"2026-09-11T18:21:31.231Z","0.2.104":"2026-09-11T19:31:36.173Z","0.2.107":"2026-09-14T00:27:18.852Z","0.2.108":"2026-09-14T00:45:35.995Z","0.2.121":"2026-09-14T09:53:03.714Z","0.2.123":"2026-09-14T18:07:05.683Z","0.2.126":"2026-09-14T21:26:04.250Z","0.2.127":"2026-09-14T22:33:42.927Z","0.2.128":"2026-09-15T09:47:19.141Z","0.2.129":"2026-09-15T23:04:21.781Z","0.2.133":"2026-09-16T01:22:03.840Z","0.2.134":"2026-09-16T15:30:22.517Z","0.2.137":"2026-09-17T20:01:30.118Z","0.2.138":"2026-09-17T20:15:04.749Z","0.2.139":"2026-09-19T09:54:14.569Z","0.2.143":"2026-09-22T11:20:50.739Z","0.2.147":"2026-09-23T06:36:17.370Z","0.2.148":"2026-09-23T15:04:50.584Z","0.2.149":"2026-09-24T10:59:13.483Z","0.2.154":"2026-09-26T02:59:55.322Z"},"bugs":{"url":"https://github.com/FiretrUCK666/dsh-task-board/issues"},"license":"MIT","homepage":"https://github.com/FiretrUCK666/dsh-task-board#readme","keywords":["deepseek-harness","dsh","dsh-plugin","task-board","kanban","cordis"],"repository":{"url":"git+https://github.com/FiretrUCK666/dsh-task-board.git","type":"git"},"description":"Task board plugin for the DSH web GUI: a sidebar entry plus a multi-column kanban view with real execution through DSH sessions, schedules, session rules and auto-cruise automation. Board truth lives on the host and syncs to every device over SSE (the bro","maintainers":[{"name":"firetruck666","email":"1073580554@qq.com"}],"readme":"# 任务看板（dsh-task-board）\n\n[English](README.en.md) | 中文\n\n[![npm](https://img.shields.io/npm/v/@firetruck666/dsh-task-board)](https://www.npmjs.com/package/@firetruck666/dsh-task-board)\n[![license](https://img.shields.io/badge/license-MIT-blue)](LICENSE)\n[![Node](https://img.shields.io/badge/Node-%5E22.19.0%20%7C%7C%20%3E%3D24.0.0-339933)](README.md#环境要求)\n\nDeepSeek Harness 的任务看板插件。它在 Web 界面的侧边栏加一个「任务看板」入口，用五列看板管理任务；任务交给 DSH 自己的会话真实执行，状态自动回写到卡片上。\n\n插件不修改 DSH 源码，卸载后界面恢复原状。看板数据保存在 DSH 主进程（host）一侧，电脑和手机打开同一个部署看到的是同一块板，改动经 SSE 实时同步；窄屏自动进入紧凑布局。\n\n## 目录\n\n<!-- toc:start -->\n\n- [环境要求](#环境要求)\n- [安装](#安装)\n- [主要能力](#主要能力)\n- [数据保存在哪里](#数据保存在哪里)\n- [更新](#更新)\n- [从源码构建](#从源码构建)\n- [贡献指南](#贡献指南)\n- [常见问题](#常见问题)\n- [命名约定](#命名约定)\n- [许可证](#许可证)\n\n<!-- toc:end -->\n\n## 环境要求\n\n- DeepSeek Harness `0.1.7-alpha.1` 或更高。`0.1.7-alpha.1` 是**已验证的最低版本**：这个版本上确认可用，也是插件实际依赖的接口所在的版本（更早的版本没有插件要用的设置接口，加载时整个 host 半区会静默失效）。更高的版本会跟随更新，但没有逐一验证过，所以不保证。加载失败时先按「常见问题」里的说明处理。\n- Node.js `^22.19.0` 或 `>= 24.0.0`\n- pnpm 10 或更高\n- DSH 的 `web` profile\n\n本插件只运行在 Web 图形界面上。\n\n## 安装\n\n三种方式，选一种。三条命令都在你自己的终端里执行。\n\n### 从 npm 安装\n\n```sh\ndsh plugin --profile web add @firetruck666/dsh-task-board\n```\n\n适合日常使用。拿到的是最近一次正式发布的版本。\n\n### 从 GitHub 安装\n\n```sh\ndsh plugin --profile web add github:FiretrUCK666/dsh-task-board\n```\n\n拿到的是仓库 `main` 分支的最新代码。它和 npm 装出来的一样是可直接使用的安装包，不是开发环境（没有测试、没有构建工具，改不了代码）。适合想第一时间用上还没发版改动的人；稳定性取决于仓库当时的状态。\n\n### 本地开发安装\n\n把仓库下载到本地后，在这个仓库目录里执行：\n\n```sh\npnpm install\npnpm build\ndsh plugin --profile web add .\n```\n\n这条路径用于改代码。详见下面的「从源码构建」。\n\n本地安装是指向工作目录的链接（不是复制），所以挂载一次即可：改完代码只需 `pnpm build` 再重启 `dsh web`，不必重跑上面的安装命令。改 client 半区刷新页面即可，改 host 半区才需要重启——见「常见问题」里的「改了代码没生效」。\n\n### 三种方式的区别\n\n前两种是安装：拿到的都是可以直接使用的包，只包含发布清单里的文件（运行代码、源码、挂载声明、说明文档）。第三种是开发：拿到的是完整仓库，能改代码、能运行测试。\n\n| | 从 npm | 从 GitHub | 本地 |\n| --- | --- | --- | --- |\n| 用途 | 安装使用 | 安装使用 | 开发 |\n| 拿到什么 | 最近一次发布版 | `main` 最新代码 | 你本地改动 |\n| 版本特点 | 稳定 | 最新，可能不稳定 | 你自己决定 |\n| 更新依据 | npm 上的版本号 | 仓库最新提交 | 安装的即本地目录，无需更新 |\n\n从 npm 和从 GitHub 装出来的文件基本一致，差异只在版本新旧。想用还没发版的改动就从 GitHub 装，想要稳定版本就从 npm 装。\n\n### 安装之后\n\n停掉正在运行的 `dsh web`，重新启动它。只刷新页面不够——插件的 host 半区在服务端进程里加载，必须重启才生效。重启后刷新页面，侧边栏就会出现「任务看板」入口。\n\n入口和 DSH 自带的「插件」面板并排：点它，看板占用中间主区域；再点一次同一个入口、或点侧边栏里的任意会话，即可回到对话。\n\n这个插件**只有一个开关：开或关**。位置有两处，做的是同一件事：侧边栏「插件」→ 往下拉到「已安装」，那一行右边的开关；或点开「任务看板」进它自己的页面，右上角那个开关。**关掉 = 插件不加载**（侧边栏入口、看板、后台接口一起停），**打开 = 恢复**。\n\n### 不需要手动配置任何东西\n\n装完就能用，不用改配置文件、不用手写任何声明。而且**不要去改 `cordis.patch.yml`**——插件那一行住在插件包里，安装命令只负责把这个包登记进 profile，两者一配合就装配好了；手工再补一行会造成同一个插件出现两条。\n\n| 环节 | 谁做的 |\n| --- | --- |\n| 把插件登记进本机 profile | 安装命令（往 `dsh.profile.bundles` 加一个包名） |\n| 插件那一行（id、包名） | 插件包里的 `cordis.patch.yml`，由 `package.json` 的 `dsh.bundle.patch` 指向，装配时自动生效 |\n| 界面入口、看板舞台 | 插件自己注册到 DSH 的官方扩展点，启动时自动完成 |\n| 数据存哪 | 自动使用 `~/.dsh/storages/dsh_task_board.json`，第一次运行时创建 |\n| 插件显示的名字、说明、图标 | 包里的 `locale/` 与 `icon.svg`，DSH 直接读取 |\n| 那个开关的位置 | 插件管理页的开关写 profile 里这一行的 `disabled`（关掉时才会写上） |\n\n唯一必须你做的一步是**重启 `dsh web`**（host 半区在服务端进程里，不重启不会加载）。三种安装方式（npm、GitHub、本地）在这件事上完全一样。\n\n这个插件没有设置项，也不需要设置面板：看板的行为（任务、定时、巡航、规则）全在看板界面上直接编辑，而开与关就是上面那个开关。\n\n卸载：\n\n```sh\ndsh plugin --profile web remove @firetruck666/dsh-task-board\n```\n\n同样需要重启 `dsh web`。卸载不会删除你的任务数据。\n\n## 主要能力\n\n### 看板与任务\n\n五列：待规划、待办、进行中、待审核、已完成。卡片只显示摘要（标题、描述、来源、状态与自动化徽章、关联会话、下一行动、更新时间），执行窗口和评论时间线在详情页。所有会话跑完自然落「待审核」。\n\n标题、描述、执行 Prompt 三者都不填也能建卡；空 Prompt 的任务不能执行，界面会说明原因。\n\n卡片换栏时自动顶到目标栏最上方（按发生时间，最新完成的在最上），所以「刚完成的是哪一张」一眼可见；你手动拖过的位置不会被顶掉，只有它下次换栏时才重新排。\n\n卡片里的会话列用同一条律：某个会话**开始工作或刚跑完**时，它会顶到会话列表最上方，其余会话保持相对次序往下让位；你手动拖过的会话次序同样不会被顶乱。\n\n#### 板上的状态词\n\n板上很多地方都在说「这张卡现在怎么样」，它们读的是**同一份推导**，所以同一个卡片在任何一处\n都是同一个答案：\n\n| 你看到的词 | 它在说什么 | 什么时候消失 |\n| --- | --- | --- |\n| **待你决断**（失败时写「失败待决断」） | 这张卡在「待审核」列，有已经跑完、但那个**会话**你还没看过的结果 | 你打开那个会话的评论区，或者点「通过 / 打回」 |\n| **等你处理 N 项**（板顶那行） | 有 N 个会话正挂起等你回答（权限审批 / 计划确认 / 提问） | 你在那个会话里回答完 |\n| **待审核 M 张**（板顶那行） | 有 M 张卡在「待审核」列，且那个会话你还没看过 | 同「待你决断」 |\n| **新 N / 新留言** | 这张卡有还没看过的**新内容** | 点开卡片即消失 |\n| **待处理 N** | 有 N 个会话在等你（多个时 N > 1） | 逐个回答完 |\n| **N 次执行** | 这张卡跑过几轮（这是历史，不是催你） | 不会自己消失 |\n| **失败 · 已暂停** | 自动化因为上一次跑失败而暂停 | 你在详情里重新启用 |\n\n**看板分两层，这是有意设计的**：**卡片是摘要，会话是内容**。所以\n\n- 点开**卡片** → 卡片的「新 N」和闪烁消失（你看过摘要了），但「待你决断」和通知**留着**——\n  因为你还没看过真正的那段对话。\n- 点进**那个会话的评论区** → 「待你决断」和通知才一起消失。\n- 或者直接点「通过 / 打回」→ 卡片移走，提醒消失。\n\n通知中心里的东西只有两类，三颗筛选芯片各写着数：**等你处理**（会话挂起等你作答）+\n**待审核**（跑完了、那个会话你还没看过）= **全部**。铃铛上的数、板顶那行的两半、抽屉里的三颗\n芯片，是同一个分类的四处渲染，永远对得上。\n\n两点值得知道：\n\n- **「待你决断」和「新 N」是两件事**。「新」是「这张卡你没打开过」，「待你决断」是「那个会话\n  你没看过、也还没裁决」。\n- **取消不算「待你决断」**。取消是中止，不是等你裁决的事；它只出现在评论线程和动态里。\n\n**会话建卡**：板头的「会话建卡」按钮挑几个已有会话（可跨工作区多选），直接造一张带着这些对话的新卡片，落在「待规划」，标题/描述/Prompt/运行配置全部留空待你填。任务详情里的「添加会话」与它共用同一个面板——按工作区分组、默认全折叠、只列未归档且可添加的会话。\n\n### 真实执行\n\n点「执行」即开跑，执行会话出现在 DSH 原生会话列表里，可以点进去看完整对话。执行 Prompt 以 `/` 开头时按原生命令执行（例如 `/plan ...` 进入计划模式）。\n\n「任何一次真正执行」都会补全空着的标题和描述（标题取 Prompt 第一行）；已经填写的内容永远保持原样。评论不算执行，不会改动它们。\n\n### 多端同步\n\n看板真相在 host，落在 `~/.dsh/storages/dsh_task_board.json`，单文件、人可读、可以直接备份。浏览器是乐观副本：入口点开即进，不等网络，断线时看板照常可用，恢复后自动追平。\n\n两端并发编辑按记录合并，不依赖设备时钟。首次升级时各设备旧的 localStorage 数据会并入 host，不会丢。\n\n定时、巡航、接续这类时间驱动的行为同一时刻只由一个打开的界面执行（host 租约仲裁）。正在看的那台设备持有引擎席位，另一台切到前台后立刻接管。\n\n### 评论与对话\n\n每个会话行打开一个面板：左侧是实时对话（Markdown 预览），右侧是计量、运行配置、评论线程和发送区。留言默认排队，等本条会话空出来按序注入，也可以切成插话立即送达。\n\n支持 `/` 斜杠命令和 `@` 引用（文件、文件夹、会话），与主界面输入框用同一套机制。可以发图片和任意文件：图片在浏览器内先压缩，其他文件按原字节上传。\n\n**附件本身就是内容**：只发一张图或一个文件、不写字也照样发得出去（不要求为附件凑一句正文）。反过来说，如果某次没发出去，界面会直接说明「没能发出去」并保留你的草稿，不会安静地把内容退回来。\n\nagent 挂起时（计划确认、提问）评论区会实时出现交互卡，**就在卡上作答**：选项、自定义答案、上一题/下一题、跳过本题、提交/确认执行/拒绝，与 DSH 原生提问卡是同一批部件、同一套行为（点选项自动进下一题、回车继续、答不完就近报原因）。答完当场结算，模型立刻继续；想回到完整对话，卡上的「去会话回答」与「查看会话」始终可用。同区还显示 to-do、goal、子代理状态，与原生面板同源。\n\n### 自动化\n\n任务详情和看板上的「自动化」总览是同一个编辑器，分「任务自动化」和「会话规则」两块。\n\n- 任务级：按 cron 定时执行，或「完成后接续」——武装即开跑，完成一轮自动接下一轮，可以设次数上限。\n- 会话级：给某个会话发指令，内容可以自定义，也可以直接用任务的执行 Prompt；触发方式可以按时间表，也可以每次完成后触发。\n\n每条规则都有发送方式（排队或插话）。每个会话最多一条规则。两半互相独立，关掉任务级计划不影响会话规则。\n\n### 自动巡航\n\n看板头部一键批量执行全部待办任务，带全局并发上限和定时窗口。总开关是主权：窗口只在到点自动开关，增删窗口不改变当前开关状态。\n\n### 并行按会话计算\n\n板头的「并行数」是唯一的闸门，含义是「同时最多跑几个会话」。设成 1 就退回严格串行。同一张卡片里的多条会话互不阻塞；同一条会话内永远按提交顺序一条条来。\n\n### 手机与窄屏\n\n以看板自身的宽度自适应，与侧栏是否展开、窗口多大无关，和桌面用同一套代码。\n\n紧凑档五列变成横向滑动的列，配一排五等分的列导航标签（短名，完整名称保留在无障碍标签里）。板头是确定的两行结构，手机上再确定性地换行，每个控件都保留文字；另有底部拇指栏放新建、通知铃和动态。弹窗、详情、复盘都随面板定尺、可滚动、底部按钮可达。\n\n评论面板在手机上打开后第一眼就是对话内容，发送框钉在面板底边。「上下文与运行配置」默认收起，「评论」默认展开，两处折叠各自在自己的限高区域里滚，不互相遮盖。\n\n触屏没有悬停，因此所有必要说明都做成可点可达，不藏在鼠标提示里。\n\n### 拖拽与整理\n\n卡片拖列移动、同列重排（带精确插入条），拖到列边缘自动滚动。侧边栏的会话和工作区可以直接拖进看板建卡，也可以拖进详情页的会话区添加来源绑定。\n\n板顶整理栏可以批量选色；Ctrl/Cmd 加点击多选后可全选、清选、完成、删除。批量执行只发有 Prompt 的选中卡片。\n\n### 模板与运行配置\n\n详情页可以「存为模板」，新建任务时一键填表。运行配置（Agent、工作区、模型、思考程度、权限）在新建和编辑两处共用同一个编辑器，可以存成预设并设为默认；默认预设被删除或存储异常时回退到部署默认配置。\n\n未发送的输入自动记住草稿。\n\n### 通知与动态\n\n通知中心聚合全板等你处理的会话（审批、计划确认、提问）和未读的待审核任务，支持分组过滤、整组标已读、行内直接处理。动态页把全板近况按自然日分组，支持过滤、筛选和加载更多，点开可以先看富预览再跳转。\n\n## 数据保存在哪里\n\n- 看板真相：`~/.dsh/storages/dsh_task_board.json`（任务台账、巡航、定时预设、运行配置预设、删除墓碑）。单文件原子写入，可以直接备份；删除这个文件等于清空看板。\n- 浏览器 localStorage 保存离线镜像和本地状态：`dsh.taskBoard.v1`、`dsh.taskBoard.cruise.v1`、`dsh.taskBoard.presets.v1`、`dsh.taskBoard.runPresets.v1`；草稿 `dsh.taskBoard.drafts.v1` 是设备本地的未发送输入，刻意不跨设备同步。\n- 第一次连接时如果本地数据与 host 有分歧，本地副本备份到 `dsh.taskBoard.preSync.v1`，host 为准。\n- host 没有挂载存储后端时，看板自动退回纯 localStorage 模式。\n\n## 更新\n\n最直接：看板 Header 右侧工具栏里有常驻的「检查更新」按钮，点一下即对比当前版本与最新版。有新版时它会给出你这种安装方式对应的更新命令，复制后在自己的终端里执行。\n\n装了插件市场的话，在「已安装」标签页里点「更新」。也可以直接重新执行一次安装命令：\n\n```sh\ndsh plugin --profile web add @firetruck666/dsh-task-board@latest\n```\n\n或者：\n\n```sh\ndsh plugin --profile web add github:FiretrUCK666/dsh-task-board\n```\n\n更新后同样要重启 `dsh web`。\n\n## 从源码构建\n\n前置：Node.js 22 或 24、pnpm、能访问官方 npm 源（类型和运行时 API 全部来自 `@deepseek-ai/*`，不需要 DSH 源码 checkout）。\n\n```sh\ngit clone https://github.com/FiretrUCK666/dsh-task-board.git\ncd dsh-task-board\npnpm install\npnpm build       # 产出 lib/index.js 和 lib/client.js\npnpm typecheck   # 类型检查\npnpm test        # 单元与契约测试\npnpm verify      # 独立插件静态门禁\n```\n\n`lib/` 是构建产物，但它随仓库一起提交。原因是从 GitHub 或 npm 安装时只会复制文件，不会执行构建，仓库里没有 `lib/` 的话装完就启动不了。改完源码要重新构建，并把 `lib/` 和源码放在同一次提交里（CI 会检查两者是否一致）。\n\n仓库根目录的 `AGENTS.md` 记录了项目的约定、架构索引与发布流程，是 AI 助手在这个仓库里工作时用的依据。\n\n## 贡献指南\n\n欢迎提 Issue 与 Pull Request。动手前先读 [CONTRIBUTING.md](CONTRIBUTING.md)：开发环境、提交 PR 前要跑的检查、硬性规范都在里面。报告加载失败类问题时，附上三个信息：DeepSeek Harness 版本、本插件版本、报错原文。\n\n## 常见问题\n\n**装完刷新页面看不到入口。**\nhost 半区在服务端进程里加载，必须重启 `dsh web`，只刷新页面不够。\n\n**从旧版本升级上来，入口和设置的位置变了。**\n新版把看板接进了 DSH 的官方界面机制（这也是它能在界面改版后继续正常显示的原因）：\n入口从「侧边栏底部的一行」变成「侧边栏的面板图标，与 DSH 自带的『插件』面板并排」，\n设置项从「设置 → 任务看板」搬到**插件自己的页面**（侧边栏「插件」→ 已安装 → 点「任务看板」）——\n开关和插件本体放在同一页。功能没有减少，任务数据也没有变化。\n如果你看到的是旧位置，说明这一端还跑着旧的前端资源——刷新页面即可。\n\n**升级 DeepSeek Harness 之后插件加载失败（页面提示 Failed to load plugins）。**\nDeepSeek Harness 的内部接口会随版本变化，本插件需要跟着改。先做这两步：\n\n1. 把本插件更新到最新版，然后重启 `dsh web`：\n\n   ```sh\n   dsh plugin --profile web add @firetruck666/dsh-task-board@latest\n   ```\n\n2. 仍然失败，说明本插件还没跟上你用的那个 DSH 版本。请到 [Issues](https://github.com/FiretrUCK666/dsh-task-board/issues) 提交，附上三个信息：你的 DeepSeek Harness 版本、本插件版本（在设置的已安装插件列表里看）、页面上那段报错原文。有这三样就能直接定位。\n\n**看板能打开，但多设备不同步、设置页显示「配置服务暂不可用」。**\n这是 host 半区没加载成功的表现，也是升级 DSH 之后最容易被忽略的一种：看板本身仍在页面上正常工作，但数据只留在这一个浏览器里，另一台设备看到的不是同一块板，定时与巡航也不会真正触发。判断方法：设置页那一行字，或者板头没有出现任何「正在同步」之外的状态提示。处理方式与上一条相同——更新插件、重启 `dsh web`。\n\n**改了代码没生效。**\n改 host 半区（`src/index.ts`、`src/host/`）需要重启 `dsh web`；改 client 半区刷新页面即可。两种情况都要先 `pnpm build`。\n\n**手机上打开位置不对，或反复开合侧栏会跳位。**\n这是修复过的问题。如果仍然出现，先确认服务端进程是重启过的新版本：插件在板头会显示「服务端未重启 · 点此了解」，点开可以看到当前连接的服务端进程的启动时间。如果时间明显是旧的，说明这个地址连到了另一个没重启的实例。\n\n**两端同时开着会不会重复执行定时任务。**\n不会。定时、巡航、接续这类行为由 host 租约仲裁，同一时刻只有一个界面在执行，另一台设备切到前台后会接管并补上期间漏掉的状态。\n\n**任务数据在哪，换电脑会丢吗。**\n在 `~/.dsh/storages/dsh_task_board.json`。换电脑时把这个文件拷过去即可；浏览器里的 localStorage 只是离线镜像。\n\n**`dsh plugin` 报错找不到 pnpm。**\n先安装 pnpm（`npm install -g pnpm`），再重新执行安装命令。\n\n## 命名约定\n\n| 用途 | 值 |\n| --- | --- |\n| 插件 id | `dsh-task-board` |\n| npm 包名 | `@firetruck666/dsh-task-board` |\n| 设置路由 | `/api/dsh-task-board/settings` |\n| 权限预设路由 | `/api/dsh-task-board/permissions` |\n| 看板数据路由 | `/api/dsh-task-board/board`（含 `/lease`、`/command`、`/events`） |\n| host 存储单元 | `dsh_task_board` |\n| 看板舞台 slot | `main`（`key: dsh-task-board`） |\n| 侧栏入口 slot | `sidebar.panellist`（`id: dsh-task-board`） |\n| localStorage 键 | `dsh.taskBoard.v1` 等 |\n\n插件 id 和包名是两件事：id 决定加载器行、浏览器资源路径、设置入口、路由、存储单元和上面的两个 slot；包名只是 pnpm 安装时的标识。包名带作用域不会改变 id。\n\n本插件没有设置项，所以也没有设置面板：插件市场里那条开关写的是 profile 行的 `disabled`（关掉时才写上），插件本身不声明任何设置字段。\n\n## 许可证\n\nMIT，见 LICENSE 文件。\n","readmeFilename":"README.md"}