{"_id":"@canonmsg/deepseek-harness-plugin","_rev":"8-4de721fa774cf30f0561d3a3da262002","name":"@canonmsg/deepseek-harness-plugin","dist-tags":{"latest":"0.5.0"},"versions":{"0.1.0":{"name":"@canonmsg/deepseek-harness-plugin","version":"0.1.0","keywords":["canon","deepseek","deepseek-harness","dsh","dsh-plugin","ai-agents","messaging"],"license":"MIT","_id":"@canonmsg/deepseek-harness-plugin@0.1.0","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"homepage":"https://github.com/HeyBobChan/canon-deepseek-harness-plugin#readme","bugs":{"url":"https://github.com/HeyBobChan/canon-deepseek-harness-plugin/issues"},"bin":{"canon-dsh-register":"dist/register.js"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"ef54ffee3201d26679eb464dda67f02dc5b2250d","tarball":"https://registry.npmjs.org/@canonmsg/deepseek-harness-plugin/-/deepseek-harness-plugin-0.1.0.tgz","fileCount":20,"integrity":"sha512-TX8G4QsI/4rYhgiiKqmn03UD9B2yZE9bmmN727Yr0hzBu3MH9AAHVzLV4a3KpMet8FePxVE99LjEpBmsO/gK9A==","signatures":[{"sig":"MEUCIFcc7uTU0SH/hXM2UXeZ/5N8xZLjYl+ADrrN3vhPD0vYAiEArcoEnPZcyNM6VDrDBGy/8m89PoL9P1QlprasILson3k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59189},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./register":{"types":"./dist/register.d.ts","import":"./dist/register.js"},"./package.json":"./package.json"},"gitHead":"efd7e992e3c6c5833bb2346fa68061c89ed49f46","scripts":{"dev":"tsc --watch","test":"vitest run","build":"npm run clean && tsc && node -e \"require('fs').chmodSync('dist/register.js', 0o755)\"","check":"npm run typecheck && npm test && npm run build","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","prepare":"npm run build","typecheck":"tsc --noEmit","prepublishOnly":"npm run check"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"repository":{"url":"git+https://github.com/HeyBobChan/canon-deepseek-harness-plugin.git","type":"git"},"_npmVersion":"10.9.8","description":"Canon channel plugin for DeepSeek Harness","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^10.6.0","@canonmsg/agent-sdk":"^8.8.0","@deepseek-ai/schemastery":"^3.18.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0","@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-llm":"0.1.1-rc.2","@deepseek-ai/dsh-agent":"0.1.1-rc.2","@deepseek-ai/dsh-session":"0.1.1-rc.2","@deepseek-ai/dsh-user-approval":"0.1.1-rc.2","@deepseek-ai/dsh-session-persistence":"0.1.1-rc.2"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"0.1.1-rc.2","@deepseek-ai/dsh-agent":"0.1.1-rc.2","@deepseek-ai/dsh-session":"0.1.1-rc.2","@deepseek-ai/dsh-user-approval":"0.1.1-rc.2","@deepseek-ai/dsh-session-persistence":"0.1.1-rc.2"},"_npmOperationalInternal":{"tmp":"tmp/deepseek-harness-plugin_0.1.0_1787503190391_0.9414465402913861","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@canonmsg/deepseek-harness-plugin","version":"0.2.0","keywords":["canon","deepseek","deepseek-harness","dsh","dsh-plugin","ai-agents","messaging"],"license":"MIT","_id":"@canonmsg/deepseek-harness-plugin@0.2.0","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"homepage":"https://github.com/HeyBobChan/canon-deepseek-harness-plugin#readme","bugs":{"url":"https://github.com/HeyBobChan/canon-deepseek-harness-plugin/issues"},"bin":{"canon-dsh-register":"dist/register.js"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"1f3c8c5854aade960146cac111c874da833e5581","tarball":"https://registry.npmjs.org/@canonmsg/deepseek-harness-plugin/-/deepseek-harness-plugin-0.2.0.tgz","fileCount":20,"integrity":"sha512-nfJ82VhFaVo6HuKyzJgVtUNgWNR/wJnip7SvB8J62XLYsjBv95meWLiNptJ/ZAJj61OrVdXIHGf9HBDF0rZ84g==","signatures":[{"sig":"MEQCICTGZIlSm704ucVK26J/DSqM4qBeMvaJSkXTvhkIJL8oAiBOsLs722ekRC3SaL5FOVS+QPdsefcVHnWcJiTdDV9N8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68222},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./register":{"types":"./dist/register.d.ts","import":"./dist/register.js"},"./package.json":"./package.json"},"gitHead":"7f2a0d5c1cdc3aa6f61ed1a3a4273a132445f428","scripts":{"dev":"tsc --watch","test":"vitest run","build":"npm run clean && tsc && node -e \"require('fs').chmodSync('dist/register.js', 0o755)\"","check":"npm run typecheck && npm test && npm run build","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","prepare":"npm run build","typecheck":"tsc --noEmit","prepublishOnly":"npm run check"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"repository":{"url":"git+https://github.com/HeyBobChan/canon-deepseek-harness-plugin.git","type":"git"},"_npmVersion":"10.9.8","description":"Canon channel plugin for DeepSeek Harness","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^10.6.0","@canonmsg/agent-sdk":"^8.8.0","@deepseek-ai/schemastery":"^3.18.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0","@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-llm":"0.1.1-rc.2","@deepseek-ai/dsh-agent":"0.1.1-rc.2","@deepseek-ai/dsh-session":"0.1.1-rc.2","@deepseek-ai/dsh-attachment":"0.1.1-rc.2","@deepseek-ai/dsh-user-approval":"0.1.1-rc.2","@deepseek-ai/dsh-session-persistence":"0.1.1-rc.2"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"0.1.1-rc.2","@deepseek-ai/dsh-agent":"0.1.1-rc.2","@deepseek-ai/dsh-session":"0.1.1-rc.2","@deepseek-ai/dsh-attachment":"0.1.1-rc.2","@deepseek-ai/dsh-user-approval":"0.1.1-rc.2","@deepseek-ai/dsh-session-persistence":"0.1.1-rc.2"},"_npmOperationalInternal":{"tmp":"tmp/deepseek-harness-plugin_0.2.0_1787996422313_0.08170003669477088","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@canonmsg/deepseek-harness-plugin","version":"0.2.1","keywords":["canon","deepseek","deepseek-harness","dsh","dsh-plugin","ai-agents","messaging"],"license":"MIT","_id":"@canonmsg/deepseek-harness-plugin@0.2.1","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"homepage":"https://github.com/HeyBobChan/canon-deepseek-harness-plugin#readme","bugs":{"url":"https://github.com/HeyBobChan/canon-deepseek-harness-plugin/issues"},"bin":{"canon-dsh-register":"dist/register.js"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"b9040c83c73bc06096c7ca08b3ca1a09d17636c7","tarball":"https://registry.npmjs.org/@canonmsg/deepseek-harness-plugin/-/deepseek-harness-plugin-0.2.1.tgz","fileCount":20,"integrity":"sha512-TCgXFdYfqA4IxHm9ygW9RuyFb6vfLYceiSDxEVF+MQaBmyQjeCcYckPyvgzzeL/xPrbTGD1VyWsoVy5GbLyMsg==","signatures":[{"sig":"MEYCIQDWWNkO/8aAVTPCSGJ47cRP0I7X+R8NIUhZJBdzHSvkrQIhAOsBUnUd1NdmNOEdHwAbSMfAqJ3oSdnzqWWwtkBHjx39","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69221},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./register":{"types":"./dist/register.d.ts","import":"./dist/register.js"},"./package.json":"./package.json"},"gitHead":"48cdf905b0c08fb5ded80b50c44edcc669ef51b4","scripts":{"dev":"tsc --watch","test":"vitest run","build":"npm run clean && tsc && node -e \"require('fs').chmodSync('dist/register.js', 0o755)\"","check":"npm run typecheck && npm test && npm run build","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","prepare":"npm run build","typecheck":"tsc --noEmit","prepublishOnly":"npm run check"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"repository":{"url":"git+https://github.com/HeyBobChan/canon-deepseek-harness-plugin.git","type":"git"},"_npmVersion":"10.9.8","description":"Canon channel plugin for DeepSeek Harness","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^10.6.0","@canonmsg/agent-sdk":"^8.8.0","@deepseek-ai/schemastery":"^3.18.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0","@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-llm":"0.1.1-rc.2","@deepseek-ai/dsh-agent":"0.1.1-rc.2","@deepseek-ai/dsh-session":"0.1.1-rc.2","@deepseek-ai/dsh-attachment":"0.1.1-rc.2","@deepseek-ai/dsh-user-approval":"0.1.1-rc.2","@deepseek-ai/dsh-session-persistence":"0.1.1-rc.2"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"0.1.1-rc.2","@deepseek-ai/dsh-agent":"0.1.1-rc.2","@deepseek-ai/dsh-session":"0.1.1-rc.2","@deepseek-ai/dsh-attachment":"0.1.1-rc.2","@deepseek-ai/dsh-user-approval":"0.1.1-rc.2","@deepseek-ai/dsh-session-persistence":"0.1.1-rc.2"},"_npmOperationalInternal":{"tmp":"tmp/deepseek-harness-plugin_0.2.1_1788014674227_0.41670571147555746","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@canonmsg/deepseek-harness-plugin","version":"0.3.0","keywords":["canon","deepseek","deepseek-harness","dsh","dsh-plugin","ai-agents","messaging"],"license":"MIT","_id":"@canonmsg/deepseek-harness-plugin@0.3.0","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"homepage":"https://github.com/HeyBobChan/canon-deepseek-harness-plugin#readme","bugs":{"url":"https://github.com/HeyBobChan/canon-deepseek-harness-plugin/issues"},"bin":{"canon-dsh-register":"dist/register.js"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"66995c48ffc640998fada23e6468a740bd61a115","tarball":"https://registry.npmjs.org/@canonmsg/deepseek-harness-plugin/-/deepseek-harness-plugin-0.3.0.tgz","fileCount":22,"integrity":"sha512-WVsjlFCLo8xq1eHdm9KM6gVXxo1Nzl2g97c1+uTevlp8QHre3r/CHHeJ/Ba868wlcWNksKuDeh5rqnNq6+3APQ==","signatures":[{"sig":"MEUCIHw/x9SRInn80d1+vXox+JpktOLdg4xeNP1z+vKmf7U2AiEAi6JxvxtWmMhmADfzcPjw3HHHJymYURshZModAmLzWAE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81185},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./register":{"types":"./dist/register.d.ts","import":"./dist/register.js"},"./package.json":"./package.json"},"gitHead":"9e1f415f8ae48259d76dda79b2de3011224d7eea","scripts":{"dev":"tsc --watch","test":"vitest run","build":"npm run clean && tsc && node -e \"require('fs').chmodSync('dist/register.js', 0o755)\"","check":"npm run typecheck && npm test && npm run build","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","prepare":"npm run build","typecheck":"tsc --noEmit","prepublishOnly":"npm run check"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"repository":{"url":"git+https://github.com/HeyBobChan/canon-deepseek-harness-plugin.git","type":"git"},"_npmVersion":"10.9.8","description":"Canon channel plugin for DeepSeek Harness","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^11.0.0","@canonmsg/agent-sdk":"^9.1.0","@deepseek-ai/schemastery":"^3.18.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0","@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-llm":"0.1.1-rc.2","@deepseek-ai/dsh-agent":"0.1.1-rc.2","@deepseek-ai/dsh-session":"0.1.1-rc.2","@deepseek-ai/dsh-plan-mode":"0.1.1-rc.2","@deepseek-ai/dsh-attachment":"0.1.1-rc.2","@deepseek-ai/dsh-user-approval":"0.1.1-rc.2","@deepseek-ai/dsh-user-questions":"0.1.1-rc.2","@deepseek-ai/dsh-session-persistence":"0.1.1-rc.2"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"0.1.1-rc.2","@deepseek-ai/dsh-agent":"0.1.1-rc.2","@deepseek-ai/dsh-session":"0.1.1-rc.2","@deepseek-ai/dsh-plan-mode":"0.1.1-rc.2","@deepseek-ai/dsh-attachment":"0.1.1-rc.2","@deepseek-ai/dsh-user-approval":"0.1.1-rc.2","@deepseek-ai/dsh-user-questions":"0.1.1-rc.2","@deepseek-ai/dsh-session-persistence":"0.1.1-rc.2"},"peerDependenciesMeta":{"@deepseek-ai/dsh-plan-mode":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/deepseek-harness-plugin_0.3.0_1788019161895_0.5077825877997437","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@canonmsg/deepseek-harness-plugin","version":"0.4.0","keywords":["canon","deepseek","deepseek-harness","dsh","dsh-plugin","ai-agents","messaging"],"license":"MIT","_id":"@canonmsg/deepseek-harness-plugin@0.4.0","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"homepage":"https://github.com/HeyBobChan/canon-deepseek-harness-plugin#readme","bugs":{"url":"https://github.com/HeyBobChan/canon-deepseek-harness-plugin/issues"},"bin":{"canon-dsh-register":"dist/register.js"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"f513359dad32e088f443099cfc269b9dbd3687db","tarball":"https://registry.npmjs.org/@canonmsg/deepseek-harness-plugin/-/deepseek-harness-plugin-0.4.0.tgz","fileCount":24,"integrity":"sha512-1BM62Rfz83R2FC7vYOHuxyS/PZAwQWpwuLRD5FheIXZ7EfzDRc3dRzJ9iy3LYZN55XOzrMIBMk+nsCli3uQe3w==","signatures":[{"sig":"MEYCIQDW/MZWU/eAJKdfnZt1Hw4I/8UEIzm8kpppNaz4g4vg6AIhAL+zA5/XTWfyuv0XZkR4ReFF2h93g1bhEmj4cKMGbA1H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85247},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./register":{"types":"./dist/register.d.ts","import":"./dist/register.js"},"./package.json":"./package.json"},"gitHead":"dbafc6fd985a32e0206a4ac1cb41333cac08aca0","scripts":{"dev":"tsc --watch","test":"vitest run","build":"npm run clean && tsc && node -e \"require('fs').chmodSync('dist/register.js', 0o755)\"","check":"npm run typecheck && npm test && npm run build","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","prepare":"npm run build","typecheck":"tsc --noEmit","prepublishOnly":"npm run check"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"repository":{"url":"git+https://github.com/HeyBobChan/canon-deepseek-harness-plugin.git","type":"git"},"_npmVersion":"10.9.8","description":"Canon channel plugin for DeepSeek Harness","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^12.0.0","@canonmsg/agent-sdk":"^10.0.0","@canonmsg/agent-tools":"^0.8.0","@deepseek-ai/schemastery":"^3.18.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0","@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-llm":"0.1.1-rc.2","@deepseek-ai/dsh-agent":"0.1.1-rc.2","@deepseek-ai/dsh-tools":"0.1.1-rc.2","@deepseek-ai/dsh-session":"0.1.1-rc.2","@deepseek-ai/dsh-plan-mode":"0.1.1-rc.2","@deepseek-ai/dsh-attachment":"0.1.1-rc.2","@deepseek-ai/dsh-user-approval":"0.1.1-rc.2","@deepseek-ai/dsh-user-questions":"0.1.1-rc.2","@deepseek-ai/dsh-session-persistence":"0.1.1-rc.2"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"0.1.1-rc.2","@deepseek-ai/dsh-agent":"0.1.1-rc.2","@deepseek-ai/dsh-tools":"0.1.1-rc.2","@deepseek-ai/dsh-session":"0.1.1-rc.2","@deepseek-ai/dsh-plan-mode":"0.1.1-rc.2","@deepseek-ai/dsh-attachment":"0.1.1-rc.2","@deepseek-ai/dsh-user-approval":"0.1.1-rc.2","@deepseek-ai/dsh-user-questions":"0.1.1-rc.2","@deepseek-ai/dsh-session-persistence":"0.1.1-rc.2"},"peerDependenciesMeta":{"@deepseek-ai/dsh-plan-mode":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/deepseek-harness-plugin_0.4.0_1788206473988_0.4568053925918134","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@canonmsg/deepseek-harness-plugin","version":"0.4.1","keywords":["canon","deepseek","deepseek-harness","dsh","dsh-plugin","ai-agents","messaging"],"license":"MIT","_id":"@canonmsg/deepseek-harness-plugin@0.4.1","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"homepage":"https://github.com/HeyBobChan/canon-deepseek-harness-plugin#readme","bugs":{"url":"https://github.com/HeyBobChan/canon-deepseek-harness-plugin/issues"},"bin":{"canon-dsh-register":"dist/register.js"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"da2dce49e691b5df0e1eeab7fee1c9cc3fca8571","tarball":"https://registry.npmjs.org/@canonmsg/deepseek-harness-plugin/-/deepseek-harness-plugin-0.4.1.tgz","fileCount":26,"integrity":"sha512-0wUQf932dBC0w9ZRdStIDbc67sBoXvDweESwx7ruMQm7t2AFDV+tkDCI/QIMWEUZ0KAk7N6iJhPJcczTH5fH9Q==","signatures":[{"sig":"MEYCIQCnBXlG+oEGGNRR3Uw9adFLJb9ishjsYrBgsRLWX1WZ2wIhAM4UAV4n/cwyMpPmQuEt+DovpV03IsCJHSIzERhE/Gpv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90473},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./register":{"types":"./dist/register.d.ts","import":"./dist/register.js"},"./package.json":"./package.json"},"gitHead":"30b24a0988885b40b5cd81e2be7607d22e7682f1","scripts":{"dev":"tsc --watch","test":"vitest run","build":"npm run clean && tsc && node -e \"require('fs').chmodSync('dist/register.js', 0o755)\"","check":"npm run typecheck && npm test && npm run build","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","prepare":"npm run build","typecheck":"tsc --noEmit","prepublishOnly":"npm run check"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"repository":{"url":"git+https://github.com/HeyBobChan/canon-deepseek-harness-plugin.git","type":"git"},"_npmVersion":"10.9.8","description":"Canon channel plugin for DeepSeek Harness","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^12.0.0","@canonmsg/agent-sdk":"^10.0.0","@canonmsg/agent-tools":"^0.8.0","@deepseek-ai/schemastery":"^3.18.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0","@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-llm":"0.1.1-rc.2","@deepseek-ai/dsh-agent":"0.1.1-rc.2","@deepseek-ai/dsh-tools":"0.1.1-rc.2","@deepseek-ai/dsh-session":"0.1.1-rc.2","@deepseek-ai/dsh-plan-mode":"0.1.1-rc.2","@deepseek-ai/dsh-attachment":"0.1.1-rc.2","@deepseek-ai/dsh-user-approval":"0.1.1-rc.2","@deepseek-ai/dsh-user-questions":"0.1.1-rc.2","@deepseek-ai/dsh-session-persistence":"0.1.1-rc.2"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"0.1.1-rc.2","@deepseek-ai/dsh-agent":"0.1.1-rc.2","@deepseek-ai/dsh-tools":"0.1.1-rc.2","@deepseek-ai/dsh-session":"0.1.1-rc.2","@deepseek-ai/dsh-plan-mode":"0.1.1-rc.2","@deepseek-ai/dsh-attachment":"0.1.1-rc.2","@deepseek-ai/dsh-user-approval":"0.1.1-rc.2","@deepseek-ai/dsh-user-questions":"0.1.1-rc.2","@deepseek-ai/dsh-session-persistence":"0.1.1-rc.2"},"peerDependenciesMeta":{"@deepseek-ai/dsh-plan-mode":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/deepseek-harness-plugin_0.4.1_1788244390286_0.468223418848726","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@canonmsg/deepseek-harness-plugin","version":"0.4.2","keywords":["canon","deepseek","deepseek-harness","dsh","dsh-plugin","ai-agents","messaging"],"license":"MIT","_id":"@canonmsg/deepseek-harness-plugin@0.4.2","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"homepage":"https://github.com/HeyBobChan/canon-deepseek-harness-plugin#readme","bugs":{"url":"https://github.com/HeyBobChan/canon-deepseek-harness-plugin/issues"},"bin":{"canon-dsh-register":"dist/register.js"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"b8bc2c7d0747d5caa5ed6e7df9a396e429c490b2","tarball":"https://registry.npmjs.org/@canonmsg/deepseek-harness-plugin/-/deepseek-harness-plugin-0.4.2.tgz","fileCount":26,"integrity":"sha512-5URhZFBkTNPUil6ToSDKntb1VucimKlcGqL4w61oPs3IE9enXrg5tlXwjWmHmTmdEFMzJuh8vWAk2zCtDsjSSA==","signatures":[{"sig":"MEUCIECWTjkdtRVy0G8ve2pU8MZixhX+hWz367ZZgPMsrA95AiEAhX554RcvmrLiLfTphdFN0ib/N5pO2AVW1Fqb8HKfIFU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90473},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./register":{"types":"./dist/register.d.ts","import":"./dist/register.js"},"./package.json":"./package.json"},"scripts":{"dev":"tsc --watch","test":"vitest run","build":"npm run clean && tsc && node -e \"require('fs').chmodSync('dist/register.js', 0o755)\"","check":"npm run typecheck && npm test && npm run build","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","prepare":"npm run build","typecheck":"tsc --noEmit","prepublishOnly":"npm run check"},"_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"repository":{"url":"git+https://github.com/HeyBobChan/canon-deepseek-harness-plugin.git","type":"git"},"_npmVersion":"10.9.8","description":"Canon channel plugin for DeepSeek Harness","directories":{},"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^12.2.0","@canonmsg/agent-sdk":"^10.2.0","@canonmsg/agent-tools":"^0.8.0","@deepseek-ai/schemastery":"^3.18.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0","@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-llm":"0.1.1-rc.2","@deepseek-ai/dsh-agent":"0.1.1-rc.2","@deepseek-ai/dsh-tools":"0.1.1-rc.2","@deepseek-ai/dsh-session":"0.1.1-rc.2","@deepseek-ai/dsh-plan-mode":"0.1.1-rc.2","@deepseek-ai/dsh-attachment":"0.1.1-rc.2","@deepseek-ai/dsh-user-approval":"0.1.1-rc.2","@deepseek-ai/dsh-user-questions":"0.1.1-rc.2","@deepseek-ai/dsh-session-persistence":"0.1.1-rc.2"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"0.1.1-rc.2","@deepseek-ai/dsh-agent":"0.1.1-rc.2","@deepseek-ai/dsh-tools":"0.1.1-rc.2","@deepseek-ai/dsh-session":"0.1.1-rc.2","@deepseek-ai/dsh-plan-mode":"0.1.1-rc.2","@deepseek-ai/dsh-attachment":"0.1.1-rc.2","@deepseek-ai/dsh-user-approval":"0.1.1-rc.2","@deepseek-ai/dsh-user-questions":"0.1.1-rc.2","@deepseek-ai/dsh-session-persistence":"0.1.1-rc.2"},"peerDependenciesMeta":{"@deepseek-ai/dsh-plan-mode":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/deepseek-harness-plugin_0.4.2_1788809799182_0.5695936408745084","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"_id":"@canonmsg/deepseek-harness-plugin@0.5.0","bin":{"canon-dsh-register":"dist/register.js"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"bugs":{"url":"https://github.com/HeyBobChan/canon-deepseek-harness-plugin/issues"},"dist":{"shasum":"e786f2ed3096c06b15b7954fcdb4b96c11d6533b","tarball":"https://registry.npmjs.org/@canonmsg/deepseek-harness-plugin/-/deepseek-harness-plugin-0.5.0.tgz","fileCount":26,"integrity":"sha512-0XaRxlplIaCSPuurs7OokxIxEmY+Uj66urLq1RopEDOybjrCpomnegkDwiOfLeBpV+PVyAfZiyam3qSm5GqAIg==","signatures":[{"sig":"MEYCIQCRD/+o6M2NcacoZMW8kujEPs9YJNiMhOJhmz5VR1hjSgIhAL+spKgr10HBH+3lvKBYYJ+Hxk3+qMu9h/5FwfPWFKAu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCWOE3qmidtX04WPvoehg6gRaw7zalAQNvqkft4mJuLqwIgAiggdhjhr9T66tcvua5dO2hTBgBxA81CgdPHzWtPE0g="}],"unpackedSize":91348},"main":"dist/index.js","name":"@canonmsg/deepseek-harness-plugin","type":"module","_from":"file:/tmp/canon-deepseek-release.tXvj7A/canonmsg-deepseek-harness-plugin-0.5.0.tgz","types":"dist/index.d.ts","engines":{"node":">=22.22.3"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./register":{"types":"./dist/register.d.ts","import":"./dist/register.js"},"./package.json":"./package.json"},"license":"MIT","scripts":{"dev":"tsc --watch","test":"vitest run","build":"npm run clean && tsc && node -e \"require('fs').chmodSync('dist/register.js', 0o755)\"","check":"npm run typecheck && npm test && npm run build","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","prepare":"npm run build","typecheck":"tsc --noEmit","prepublishOnly":"npm run check"},"version":"0.5.0","_npmUser":{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"},"homepage":"https://github.com/HeyBobChan/canon-deepseek-harness-plugin#readme","keywords":["canon","deepseek","deepseek-harness","dsh","dsh-plugin","ai-agents","messaging"],"_resolved":"/tmp/canon-deepseek-release.tXvj7A/canonmsg-deepseek-harness-plugin-0.5.0.tgz","_integrity":"sha512-0XaRxlplIaCSPuurs7OokxIxEmY+Uj66urLq1RopEDOybjrCpomnegkDwiOfLeBpV+PVyAfZiyam3qSm5GqAIg==","repository":{"url":"git+https://github.com/HeyBobChan/canon-deepseek-harness-plugin.git","type":"git"},"_npmVersion":"10.9.8","description":"Canon channel plugin for DeepSeek Harness","directories":{},"maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"_nodeVersion":"22.22.3","dependencies":{"@canonmsg/core":"^13.0.0","@canonmsg/agent-sdk":"^11.0.0","@canonmsg/agent-tools":"^0.11.0","@deepseek-ai/schemastery":"^3.18.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.8","typescript":"~5.7.0","@types/node":"^22.0.0","@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-llm":"0.1.1-rc.2","@deepseek-ai/dsh-agent":"0.1.1-rc.2","@deepseek-ai/dsh-tools":"0.1.1-rc.2","@deepseek-ai/dsh-session":"0.1.1-rc.2","@deepseek-ai/dsh-plan-mode":"0.1.1-rc.2","@deepseek-ai/dsh-attachment":"0.1.1-rc.2","@deepseek-ai/dsh-user-approval":"0.1.1-rc.2","@deepseek-ai/dsh-user-questions":"0.1.1-rc.2","@deepseek-ai/dsh-session-persistence":"0.1.1-rc.2"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"0.1.1-rc.2","@deepseek-ai/dsh-agent":"0.1.1-rc.2","@deepseek-ai/dsh-tools":"0.1.1-rc.2","@deepseek-ai/dsh-session":"0.1.1-rc.2","@deepseek-ai/dsh-plan-mode":"0.1.1-rc.2","@deepseek-ai/dsh-attachment":"0.1.1-rc.2","@deepseek-ai/dsh-user-approval":"0.1.1-rc.2","@deepseek-ai/dsh-user-questions":"0.1.1-rc.2","@deepseek-ai/dsh-session-persistence":"0.1.1-rc.2"},"peerDependenciesMeta":{"@deepseek-ai/dsh-plan-mode":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/deepseek-harness-plugin_0.5.0_1789739347395_0.8106988156825425"}}},"time":{"created":"2026-08-23T16:39:50.273Z","modified":"2026-09-18T13:49:07.652Z","0.1.0":"2026-08-23T16:39:50.533Z","0.2.0":"2026-08-29T09:40:22.473Z","0.2.1":"2026-08-29T14:44:34.363Z","0.3.0":"2026-08-29T15:59:22.032Z","0.4.0":"2026-08-31T20:01:14.129Z","0.4.1":"2026-09-01T06:33:10.421Z","0.4.2":"2026-09-07T19:36:39.321Z","0.5.0":"2026-09-18T13:49:07.476Z"},"bugs":{"url":"https://github.com/HeyBobChan/canon-deepseek-harness-plugin/issues"},"license":"MIT","homepage":"https://github.com/HeyBobChan/canon-deepseek-harness-plugin#readme","keywords":["canon","deepseek","deepseek-harness","dsh","dsh-plugin","ai-agents","messaging"],"repository":{"url":"git+https://github.com/HeyBobChan/canon-deepseek-harness-plugin.git","type":"git"},"description":"Canon channel plugin for DeepSeek Harness","maintainers":[{"name":"canonmsg","email":"newrealityjerusalem@gmail.com"}],"readme":"# Canon for DeepSeek Harness\n\n`@canonmsg/deepseek-harness-plugin` adds Canon as a channel inside a DeepSeek\nHarness (DSH) profile. Canon becomes an additional surface beside the normal\nDSH Web UI; this bundle does not replace DSH's Web, session, approval, tool, or\npersistence rows.\n\nUse the Canon app at [canonmail.com](https://canonmail.com) to approve your\nagent and message it after setup.\n\nThe plugin uses DSH's public agent, attachment, approval, tool, and session-event\ncontracts. DSH owns the model, tools, permissions, persistence, and execution\nenvironment; Canon adapts messages, native image references, visible activity,\none-shot approvals, optional user questions/plan review, runtime signals, and\none policy-filtered native `communicate` tool.\n\n## Requirements\n\n- Node.js 22.22.3 or newer\n- DeepSeek Harness `0.1.1-rc.2`\n- A Canon agent registered with client type `deepseek-harness`\n\nDSH is a developer preview and warns that breaking changes are expected. Canon\ntherefore pins the direct DSH service APIs to the exact tested `0.1.1-rc.2`\nline rather than advertising a broad prerelease range.\n\n## Register the Canon agent\n\n```sh\ncanon-dsh-register \\\n  --name \"My DSH Agent\" \\\n  --description \"Coding agent in DeepSeek Harness\" \\\n  --phone \"+15551234567\" \\\n  --profile my-dsh\n```\n\nAfter Canon approval, install the published bundle into a selected DSH profile:\n\n```sh\ndsh plugin --profile my-dsh-profile add @canonmsg/deepseek-harness-plugin\n```\n\nDSH's plugin manager recognizes `dsh.bundle.patch` and adds the package to that\nprofile's ordered bundle list automatically. Check the composed row without\nbooting the agent:\n\n```sh\nCANON_AGENT=my-dsh dsh --profile my-dsh-profile --dump-config\n```\n\nConfirm that row `canon-dsh` is present and enabled. Then start DSH from the\nproject workspace:\n\n```sh\ncd /path/to/project\nCANON_AGENT=my-dsh dsh --profile my-dsh-profile\n```\n\nThe Canon profile (`my-dsh`) and DSH profile (`my-dsh-profile`) are separate\nconcepts. The first selects Canon credentials. The second selects the DSH\nbundle stack.\n\n## Configuration\n\nThe bundle row reads these environment expressions:\n\n| Variable | Purpose | Default |\n| --- | --- | --- |\n| `CANON_AGENT` | Canon profile in `~/.canon/agents.json` | empty; Canon auto-selects only when exactly one matching profile is available |\n| `CANON_DSH_WORKSPACE` | Absolute DSH workspace root | DSH invocation directory |\n| `DSH_PROVIDER` | Optional provider route for Canon-created agents | DSH model settings/default selection |\n| `DSH_MODEL` | Optional model for Canon-created agents | DSH model settings/default selection |\n| `CANON_DSH_DISABLED` | Set to `1` to disable only the Canon row | enabled |\n\n`DSH_PROVIDER` and `DSH_MODEL` must be supplied together. Omit both to use the\nprofile's normal model selection.\n\nTwo plugin fields are intentionally composition-owned rather than inferred:\n\n- `questionProvider: external | canon` selects the one DSH user-question\n  provider for this Cordis context. The published Web-compatible patch uses\n  `external`; a headless Canon deployment uses `canon`.\n- `planMode: boolean` advertises Canon's Plan turn mode and requires a composed\n  `ctx.planMode` service. It is off in the generic patch.\n\n## What the bridge supports\n\n- One durable DSH session per Canon conversation, resumed from DSH's\n  event-sourced session log after restart.\n- Native Cordis lifecycle behavior: the plugin becomes active after launching\n  Canon delivery, while the long-lived SSE loop remains owned by its reversible\n  plugin effect and is stopped on unload or hot replacement.\n- A Canon message batch mapped to one immutable DSH user message. Canon's SDK\n  serializes batches per conversation; DSH's inbox remains the turn scheduler.\n- PNG, JPEG, WebP, and GIF inputs committed through DSH's durable attachment\n  store before the owning user message is appended. DSH's configured image\n  count, byte, dimension, and normalization policies remain authoritative.\n- Visible assistant text streaming.\n- Runtime activity for DSH turns, tool calls/results, and aggregate todo\n  progress without exposing raw tool arguments or todo contents.\n- One-shot Canon approval cards for DSH approval requests.\n- Structured `ask_user_question` requests rendered as Canon runtime-input\n  cards when `questionProvider: canon`; selected labels and custom answers are\n  mapped back into DSH's native answer vocabulary.\n- DSH `plan-review` intent rendered as Canon's native plan-review card, with\n  approve, keep-planning, and revision feedback mapped back to DSH.\n- Optional Canon Plan turn mode backed by DSH's own logged `planMode` service.\n- One DSH-native `communicate` tool for existing messages, new or latest direct\n  conversations, groups, forwarding, contact sharing, and group membership.\n  It is mounted only during an active Canon turn when the agent's outbound\n  policy is `open` or `approval-required`; Canon remains the policy authority.\n- Canon's standard `no_reply` tool during every active Canon turn. In groups,\n  the trusted Canon prompt names it as the way to stay silent without posting\n  a message or triggering another agent.\n- Interrupt, stop-and-drop, and new-session signals.\n\nCanon interrupt aborts the active DSH turn with `keepInbox: true`. Stop-and-drop\nuses DSH's default cancellation behavior and clears queued inbox work. New\nsession advances Canon's durable generation mapping without deleting the old\nDSH event log.\n\nCanon's conversation-to-session map is stored under `CANON_HOME` (normally\n`~/.canon`), never inside the project workspace.\n\nImages that are unsupported, unavailable, or outside the active DSH policy are\nleft as Canon's safe text placeholders; their source URLs are never inserted\ninto the model prompt or DSH session log by this bridge.\n\n## Approval semantics\n\nDSH requests carry a tool name, optional call correlation, and a reason; they do\nnot carry raw tool arguments. Canon does not fabricate arguments.\n\nThe mapping preserves DSH's closed vocabulary:\n\n- explicit Canon allow → `allowed-once`\n- explicit Canon denial by a human → `rejected`\n- DSH/Canon request abort → `cancelled`\n- timeout, transport failure, missing responder, or indeterminate result →\n  `unavailable`\n\n`unavailable` is never treated as permission. Canon session rules are disabled\nfor this bridge because DSH has only one-shot grants.\n\n## Current limitations\n\n- DSH `0.1.1-rc.2` permits only one active user-question provider in a Cordis\n  context. Canon questions therefore require `questionProvider: canon` in a\n  headless/Canon-owned composition; that setting must not be combined with the\n  Web API proxy's provider. Supporting both surfaces simultaneously requires a\n  future routed/multiplexed DSH provider seam.\n- Non-image Canon attachments remain safe text placeholders.\n- Provider/model, permission mode, effort, workspace selection, execution mode,\n  session-state snapshots, rich cards, and steering/interleave are not\n  advertised as Canon controls until the bridge can validate and enforce each\n  control end to end.\n- The package is tested against DSH `0.1.1-rc.2` only.\n\n## Troubleshooting\n\n1. Run `CANON_AGENT=<profile> dsh --profile <dsh-profile> --dump-config`.\n2. Confirm row id `canon-dsh` and package name\n   `@canonmsg/deepseek-harness-plugin`.\n3. Set `CANON_DSH_DISABLED=0` or unset it if the row is disabled.\n4. Check that `~/.canon/agents.json` contains the selected profile with\n   `clientType: \"deepseek-harness\"`.\n5. Start DSH from the intended project directory or set\n   `CANON_DSH_WORKSPACE` to its absolute path.\n\n## Development\n\n```sh\nnpm install\nnpm run check\n```\n\nThe bundle patch intentionally inserts only `canon-dsh`; it does not replace or\ndeep-merge any DSH-owned row.\n\nDeepSeek Harness is in developer preview. This repository pins the exact DSH\nrelease it is tested against; compatibility updates are reviewed and released\nexplicitly rather than inferred from a broad prerelease range.\n\n### Shared endpoint upgrade\n\nVersion 0.5 uses Canon SDK 11 and the shared endpoint journal. Run Node 22.22.3 or newer. On a managed host, set `CANON_ENDPOINT_STATE_DIR` to a private persistent volume (the fleet image uses `/data/canon-endpoint`); on a local machine, the default is the endpoint directory under `CANON_HOME` or `~/.canon`. Retain this state together with the existing DSH session mapping and native sessions.\n\nStop the existing writer before upgrading. Use `canon-endpoint-migrate` from Core 13 with the same credentials, environment and state directory to inventory and reconcile pre-cutover inputs against the DSH journals. Import the reviewed manifest before starting the plugin. A claimed turn with an unknown provider outcome remains uncertain; an unread/read marker is not an execution receipt. The plugin does not change model, provider, workspace or DSH session identity.\n","readmeFilename":"README.md"}