{"_id":"@deepseek-ai/dsh-pwsh-local","_rev":"6052523-6a7db76dfb86583f2e8bae1b","dist-tags":{"latest":"0.0.1-rc.1","next":"0.1.1-rc.2"},"name":"@deepseek-ai/dsh-pwsh-local","time":{"created":"2026-08-13T12:24:13.767Z","modified":"2026-08-21T12:35:21.603Z","0.1.0-rc.6":"2026-08-13T12:23:47.843Z","0.0.1-rc.3":"2026-08-12T20:35:35.728Z","0.1.0-rc.2":"2026-08-13T09:42:23.463Z","0.0.1-rc.1":"2026-08-10T19:38:29.022Z","0.0.1-rc.2":"2026-08-11T15:20:41.923Z","0.1.0-rc.3":"2026-08-13T11:09:51.506Z","0.0.1-rc.5":"2026-08-12T22:32:37.402Z","0.1.0-rc.7":"2026-08-17T11:41:19.622Z","0.1.0-rc.8":"2026-08-19T15:33:47.998Z","0.1.1-rc.1":"2026-08-21T06:42:00.518Z","0.1.1-rc.2":"2026-08-21T12:35:06.625Z"},"versions":{"0.1.0-rc.6":{"name":"@deepseek-ai/dsh-pwsh-local","description":"Local PowerShell implementation of the DeepSeek Harness bash executor seam","version":"0.1.0-rc.6","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/deepseek-ai/deepseek-harness.git","directory":"packages/shell/pwsh-local"},"type":"module","main":"lib/index.js","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-shell":"^0.1.0-rc.6","@deepseek-ai/dsh-invariants":"^0.1.0-rc.6","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.6","@deepseek-ai/dsh-timeout":"^0.1.0-rc.6","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-settings":"^0.1.0-rc.6"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"},"devDependencies":{"@deepseek-ai/dsh-shell":"^0.1.0-rc.6","@deepseek-ai/dsh-invariants":"^0.1.0-rc.6","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.6","@deepseek-ai/dsh-subprocess-local":"^0.1.0-rc.6","@deepseek-ai/dsh-timeout":"^0.1.0-rc.6","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-settings":"^0.1.0-rc.6"},"readmeFilename":"README.zh.md","_id":"@deepseek-ai/dsh-pwsh-local@0.1.0-rc.6","bugs":{"url":"https://github.com/deepseek-ai/deepseek-harness/issues"},"homepage":"https://github.com/deepseek-ai/deepseek-harness#readme","_integrity":"sha512-TtITwtlDvxyXDE4HKJW9R6uWKU5kr72Y+8JHYV3Kj/HPAzQqwbVo/2e9wvq7H4t5Soo8K+KG5ZqBpMmpp+FAWg==","_resolved":"/home/runner/work/deepseek-harness/deepseek-harness/dist/npm/deepseek-ai-dsh-pwsh-local-0.1.0-rc.6.tgz","_from":"file:/home/runner/work/deepseek-harness/deepseek-harness/dist/npm/deepseek-ai-dsh-pwsh-local-0.1.0-rc.6.tgz","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-TtITwtlDvxyXDE4HKJW9R6uWKU5kr72Y+8JHYV3Kj/HPAzQqwbVo/2e9wvq7H4t5Soo8K+KG5ZqBpMmpp+FAWg==","shasum":"7b34555c1ed934d158daa42abb1e4f2923634a2c","tarball":"https://registry.npmmirror.com/@deepseek-ai/dsh-pwsh-local/-/dsh-pwsh-local-0.1.0-rc.6.tgz","fileCount":10,"unpackedSize":45725,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCX6EB81KXzNbwbEN193VsDYUqsPagO5qAh8BF97ArrBwIhAMlRzFYVysvC6gmpbtan+6XuamHDcBbIZZLUb8Lgf2kC"}],"size":16966},"_npmUser":{"name":"imccyu","email":"imccyu@gmail.com"},"directories":{},"maintainers":[{"name":"imccyu","email":"imccyu@gmail.com"},{"name":"tianyicui-deepseek","email":"tianyi@deepseek.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-pwsh-local_0.1.0-rc.6_1786623827680_0.8954200619024384"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-08-13T12:23:47.843Z","publish_time":1786623827843,"_source_registry_name":"default"},"0.0.1-rc.3":{"name":"@deepseek-ai/dsh-pwsh-local","version":"0.0.1-rc.3","license":"BSD-3-Clause","_id":"@deepseek-ai/dsh-pwsh-local@0.0.1-rc.3","maintainers":[{"name":"imccyu","email":"imccyu@gmail.com"},{"name":"tianyicui-deepseek","email":"tianyi@deepseek.com"}],"homepage":"https://github.com/deepseek-ai/deepseek-harness#readme","bugs":{"url":"https://github.com/deepseek-ai/deepseek-harness/issues"},"dist":{"shasum":"78b65348117253e5d846026e14ea1a135b326600","tarball":"https://registry.npmmirror.com/@deepseek-ai/dsh-pwsh-local/-/dsh-pwsh-local-0.0.1-rc.3.tgz","fileCount":10,"integrity":"sha512-A4KWq5a4/peFvLjmXsf2jUtH3YPgr6iyFFl9+tgN7lF00Lbj6B0/JNo69zaX4COKx5iOkNxbOIHtIAII7vSLxg==","signatures":[{"sig":"MEYCIQDmdygIBGPXA2puaeuzW4iD9MprOZP8QDQnIIYJFg8W0wIhAKmXKOQoKNmNE5cN/DnRPCBQgo7j6J26sYKhPjZ+1eOi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45320,"size":16751},"main":"lib/index.js","type":"module","_from":"file:/home/runner/work/deepseek-harness/deepseek-harness/dist/npm/deepseek-ai-dsh-pwsh-local-0.0.1-rc.3.tgz","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"_npmUser":{"name":"imccyu","email":"imccyu@gmail.com"},"_resolved":"/home/runner/work/deepseek-harness/deepseek-harness/dist/npm/deepseek-ai-dsh-pwsh-local-0.0.1-rc.3.tgz","_integrity":"sha512-A4KWq5a4/peFvLjmXsf2jUtH3YPgr6iyFFl9+tgN7lF00Lbj6B0/JNo69zaX4COKx5iOkNxbOIHtIAII7vSLxg==","repository":{"url":"git+https://github.com/deepseek-ai/deepseek-harness.git","type":"git","directory":"packages/shell/pwsh-local"},"_npmVersion":"11.16.0","description":"Local PowerShell implementation of the DeepSeek Harness bash executor seam","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@deepseek-ai/schemastery":"^3.18.1-rc.1"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"readmeFilename":"README.zh.md","devDependencies":{"@deepseek-ai/cordis":"^4.0.1-rc.1","@deepseek-ai/dsh-shell":"^0.0.1-rc.3","@deepseek-ai/dsh-timeout":"^0.0.1-rc.3","@deepseek-ai/dsh-settings":"^0.0.1-rc.3","@deepseek-ai/dsh-invariants":"^0.0.1-rc.3","@deepseek-ai/dsh-subprocess":"^0.0.1-rc.3","@deepseek-ai/dsh-subprocess-local":"^0.0.1-rc.3"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1-rc.1","@deepseek-ai/dsh-shell":"^0.0.1-rc.3","@deepseek-ai/dsh-timeout":"^0.0.1-rc.3","@deepseek-ai/dsh-settings":"^0.0.1-rc.3","@deepseek-ai/dsh-invariants":"^0.0.1-rc.3","@deepseek-ai/dsh-subprocess":"^0.0.1-rc.3"},"_npmOperationalInternal":{"tmp":"tmp/dsh-pwsh-local_0.0.1-rc.3_1786566935503_0.7702922263776755","host":"s3://npm-registry-packages-npm-production"},"_cnpmcore_publish_time":"2026-08-12T20:35:35.728Z","publish_time":1786566935728,"_source_registry_name":"default"},"0.1.0-rc.2":{"name":"@deepseek-ai/dsh-pwsh-local","version":"0.1.0-rc.2","license":"MIT","_id":"@deepseek-ai/dsh-pwsh-local@0.1.0-rc.2","maintainers":[{"name":"imccyu","email":"imccyu@gmail.com"},{"name":"tianyicui-deepseek","email":"tianyi@deepseek.com"}],"homepage":"https://github.com/deepseek-ai/deepseek-harness#readme","bugs":{"url":"https://github.com/deepseek-ai/deepseek-harness/issues"},"dist":{"shasum":"7bfb3527ed5447aa5ced3eaddb0397b844e86bef","tarball":"https://registry.npmmirror.com/@deepseek-ai/dsh-pwsh-local/-/dsh-pwsh-local-0.1.0-rc.2.tgz","fileCount":10,"integrity":"sha512-oJowkoH+dYwjL0vfd6hkJqJX+B4sjOM5Cq15qf9VdpjIN96ki/9xLRMuTbQQOqDqRqcezeYaucC+6JyqOYjCeg==","signatures":[{"sig":"MEQCIA6Ca7GXeaemjCvTDoouT94Ua3BxhAXsNwqb2iMseX5hAiA3EBjsz0mycahMuUyKzKjIRbQhJWQT+J6EsLiZxXHkYg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45729,"size":16980},"main":"lib/index.js","type":"module","_from":"file:/home/runner/work/deepseek-harness/deepseek-harness/dist/npm/deepseek-ai-dsh-pwsh-local-0.1.0-rc.2.tgz","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"_npmUser":{"name":"imccyu","email":"imccyu@gmail.com"},"_resolved":"/home/runner/work/deepseek-harness/deepseek-harness/dist/npm/deepseek-ai-dsh-pwsh-local-0.1.0-rc.2.tgz","_integrity":"sha512-oJowkoH+dYwjL0vfd6hkJqJX+B4sjOM5Cq15qf9VdpjIN96ki/9xLRMuTbQQOqDqRqcezeYaucC+6JyqOYjCeg==","repository":{"url":"git+https://github.com/deepseek-ai/deepseek-harness.git","type":"git","directory":"packages/shell/pwsh-local"},"_npmVersion":"11.16.0","description":"Local PowerShell implementation of the DeepSeek Harness bash executor seam","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@deepseek-ai/schemastery":"^3.18.1"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"readmeFilename":"README.zh.md","devDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-shell":"^0.1.0-rc.2","@deepseek-ai/dsh-timeout":"^0.1.0-rc.2","@deepseek-ai/dsh-settings":"^0.1.0-rc.2","@deepseek-ai/dsh-invariants":"^0.1.0-rc.2","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.2","@deepseek-ai/dsh-subprocess-local":"^0.1.0-rc.2"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-shell":"^0.1.0-rc.2","@deepseek-ai/dsh-timeout":"^0.1.0-rc.2","@deepseek-ai/dsh-settings":"^0.1.0-rc.2","@deepseek-ai/dsh-invariants":"^0.1.0-rc.2","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-pwsh-local_0.1.0-rc.2_1786614143330_0.47722686071155507","host":"s3://npm-registry-packages-npm-production"},"_cnpmcore_publish_time":"2026-08-13T09:42:23.463Z","publish_time":1786614143463,"_source_registry_name":"default"},"0.0.1-rc.1":{"name":"@deepseek-ai/dsh-pwsh-local","version":"0.0.1-rc.1","license":"BSD-3-Clause","_id":"@deepseek-ai/dsh-pwsh-local@0.0.1-rc.1","maintainers":[{"name":"imccyu","email":"imccyu@gmail.com"},{"name":"tianyicui-deepseek","email":"tianyi@deepseek.com"}],"homepage":"https://github.com/deepseek-ai/deepseek-harness#readme","bugs":{"url":"https://github.com/deepseek-ai/deepseek-harness/issues"},"dist":{"shasum":"dfe6fe6c7cc46a091d0d431e24c3bc26a2f9fa21","tarball":"https://registry.npmmirror.com/@deepseek-ai/dsh-pwsh-local/-/dsh-pwsh-local-0.0.1-rc.1.tgz","fileCount":10,"integrity":"sha512-T9aDZnlmBq4KFymleycYlhQctGxg6NppV1qAnXA4BdylL1VPWBtLoCf5jPHfGjqelCWCWkr4DMh5hzvytRNLkQ==","signatures":[{"sig":"MEYCIQC89bczocxPElWSCoXV9AlCOWjUudMZAxNveeU2sRlgkwIhAIGdlrDoVZTl43NaNloD+FMKGgyVl+xNxiWwFW5L3D0R","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41335,"size":14811},"main":"lib/index.js","type":"module","_from":"file:/home/runner/work/deepseek-harness/deepseek-harness/dist/npm/deepseek-ai-dsh-pwsh-local-0.0.1-rc.1.tgz","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"_npmUser":{"name":"imccyu","email":"imccyu@gmail.com"},"_resolved":"/home/runner/work/deepseek-harness/deepseek-harness/dist/npm/deepseek-ai-dsh-pwsh-local-0.0.1-rc.1.tgz","_integrity":"sha512-T9aDZnlmBq4KFymleycYlhQctGxg6NppV1qAnXA4BdylL1VPWBtLoCf5jPHfGjqelCWCWkr4DMh5hzvytRNLkQ==","repository":{"url":"git+https://github.com/deepseek-ai/deepseek-harness.git","type":"git","directory":"packages/bash/pwsh-local"},"_npmVersion":"11.16.0","description":"Local PowerShell implementation of the DeepSeek Harness bash executor seam","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@deepseek-ai/schemastery":"^3.18.1-rc.1"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1-rc.1","@deepseek-ai/dsh-bash":"^0.0.1-rc.1","@deepseek-ai/dsh-timeout":"^0.0.1-rc.1","@deepseek-ai/dsh-invariants":"^0.0.1-rc.1","@deepseek-ai/dsh-subprocess":"^0.0.1-rc.1","@deepseek-ai/dsh-subprocess-local":"^0.0.1-rc.1"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1-rc.1","@deepseek-ai/dsh-bash":"^0.0.1-rc.1","@deepseek-ai/dsh-timeout":"^0.0.1-rc.1","@deepseek-ai/dsh-invariants":"^0.0.1-rc.1","@deepseek-ai/dsh-subprocess":"^0.0.1-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/dsh-pwsh-local_0.0.1-rc.1_1786390708875_0.6545110964924044","host":"s3://npm-registry-packages-npm-production"},"_cnpmcore_publish_time":"2026-08-10T19:38:29.022Z","publish_time":1786390709022,"_source_registry_name":"default"},"0.0.1-rc.2":{"name":"@deepseek-ai/dsh-pwsh-local","version":"0.0.1-rc.2","license":"BSD-3-Clause","_id":"@deepseek-ai/dsh-pwsh-local@0.0.1-rc.2","maintainers":[{"name":"imccyu","email":"imccyu@gmail.com"},{"name":"tianyicui-deepseek","email":"tianyi@deepseek.com"}],"homepage":"https://github.com/deepseek-ai/deepseek-harness#readme","bugs":{"url":"https://github.com/deepseek-ai/deepseek-harness/issues"},"dist":{"shasum":"21bfd1aa6f028b1e5fa1da351b352ff48df0bddf","tarball":"https://registry.npmmirror.com/@deepseek-ai/dsh-pwsh-local/-/dsh-pwsh-local-0.0.1-rc.2.tgz","fileCount":10,"integrity":"sha512-Jz02V7bIeddgsBe8/mpiQWR9hBG8y+gzE2S7lXmLegu+cN1nky+JVRzMLn6AiK7cSUzR+wL8QB+pPxw3ucrC7g==","signatures":[{"sig":"MEQCIDG8mXRqTEnrlUaRXs6q1rqxDx9XHK6F6DyJXwWGy0hIAiA2dRqVLlbYlfW/lf6JSjT7ClxaOoRFFIYu/xKU7fZQdg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45211,"size":16687},"main":"lib/index.js","type":"module","_from":"file:/home/runner/work/deepseek-harness/deepseek-harness/dist/npm/deepseek-ai-dsh-pwsh-local-0.0.1-rc.2.tgz","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"_npmUser":{"name":"imccyu","email":"imccyu@gmail.com"},"_resolved":"/home/runner/work/deepseek-harness/deepseek-harness/dist/npm/deepseek-ai-dsh-pwsh-local-0.0.1-rc.2.tgz","_integrity":"sha512-Jz02V7bIeddgsBe8/mpiQWR9hBG8y+gzE2S7lXmLegu+cN1nky+JVRzMLn6AiK7cSUzR+wL8QB+pPxw3ucrC7g==","repository":{"url":"git+https://github.com/deepseek-ai/deepseek-harness.git","type":"git","directory":"packages/bash/pwsh-local"},"_npmVersion":"11.16.0","description":"Local PowerShell implementation of the DeepSeek Harness bash executor seam","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@deepseek-ai/schemastery":"^3.18.1-rc.1"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"readmeFilename":"README.zh.md","devDependencies":{"@deepseek-ai/cordis":"^4.0.1-rc.1","@deepseek-ai/dsh-bash":"^0.0.1-rc.2","@deepseek-ai/dsh-timeout":"^0.0.1-rc.2","@deepseek-ai/dsh-settings":"^0.0.1-rc.2","@deepseek-ai/dsh-invariants":"^0.0.1-rc.2","@deepseek-ai/dsh-subprocess":"^0.0.1-rc.2","@deepseek-ai/dsh-subprocess-local":"^0.0.1-rc.2"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1-rc.1","@deepseek-ai/dsh-bash":"^0.0.1-rc.2","@deepseek-ai/dsh-timeout":"^0.0.1-rc.2","@deepseek-ai/dsh-settings":"^0.0.1-rc.2","@deepseek-ai/dsh-invariants":"^0.0.1-rc.2","@deepseek-ai/dsh-subprocess":"^0.0.1-rc.2"},"_npmOperationalInternal":{"tmp":"tmp/dsh-pwsh-local_0.0.1-rc.2_1786461641722_0.2085444532100622","host":"s3://npm-registry-packages-npm-production"},"_cnpmcore_publish_time":"2026-08-11T15:20:41.923Z","publish_time":1786461641923,"_source_registry_name":"default"},"0.1.0-rc.3":{"name":"@deepseek-ai/dsh-pwsh-local","version":"0.1.0-rc.3","license":"MIT","_id":"@deepseek-ai/dsh-pwsh-local@0.1.0-rc.3","maintainers":[{"name":"imccyu","email":"imccyu@gmail.com"},{"name":"tianyicui-deepseek","email":"tianyi@deepseek.com"}],"homepage":"https://github.com/deepseek-ai/deepseek-harness#readme","bugs":{"url":"https://github.com/deepseek-ai/deepseek-harness/issues"},"dist":{"shasum":"7f84b253ff3587a2e654a14e268baf1228717305","tarball":"https://registry.npmmirror.com/@deepseek-ai/dsh-pwsh-local/-/dsh-pwsh-local-0.1.0-rc.3.tgz","fileCount":10,"integrity":"sha512-kHalE7kvRLQJ6dAwsUMRndGTyY37VQj0PCSevOfjjNBzziugdt2rxaW8gLPbsAyYuOIW7pPpP0pXrw6NtZDG0w==","signatures":[{"sig":"MEYCIQCV2dX86p+u6BRzBbP9kXXYd57e35teoCKyV5VP6s/KUQIhAOIqNXbyP4R6QsQQbrIsCcg+CH/V9Ma3VhYVJRLt14yW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45729,"size":16980},"main":"lib/index.js","type":"module","_from":"file:/home/runner/work/deepseek-harness/deepseek-harness/dist/npm/deepseek-ai-dsh-pwsh-local-0.1.0-rc.3.tgz","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"_npmUser":{"name":"imccyu","email":"imccyu@gmail.com"},"_resolved":"/home/runner/work/deepseek-harness/deepseek-harness/dist/npm/deepseek-ai-dsh-pwsh-local-0.1.0-rc.3.tgz","_integrity":"sha512-kHalE7kvRLQJ6dAwsUMRndGTyY37VQj0PCSevOfjjNBzziugdt2rxaW8gLPbsAyYuOIW7pPpP0pXrw6NtZDG0w==","repository":{"url":"git+https://github.com/deepseek-ai/deepseek-harness.git","type":"git","directory":"packages/shell/pwsh-local"},"_npmVersion":"11.16.0","description":"Local PowerShell implementation of the DeepSeek Harness bash executor seam","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@deepseek-ai/schemastery":"^3.18.1"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"readmeFilename":"README.zh.md","devDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-shell":"^0.1.0-rc.3","@deepseek-ai/dsh-timeout":"^0.1.0-rc.3","@deepseek-ai/dsh-settings":"^0.1.0-rc.3","@deepseek-ai/dsh-invariants":"^0.1.0-rc.3","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.3","@deepseek-ai/dsh-subprocess-local":"^0.1.0-rc.3"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-shell":"^0.1.0-rc.3","@deepseek-ai/dsh-timeout":"^0.1.0-rc.3","@deepseek-ai/dsh-settings":"^0.1.0-rc.3","@deepseek-ai/dsh-invariants":"^0.1.0-rc.3","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.3"},"_npmOperationalInternal":{"tmp":"tmp/dsh-pwsh-local_0.1.0-rc.3_1786619391366_0.2792755875201167","host":"s3://npm-registry-packages-npm-production"},"_cnpmcore_publish_time":"2026-08-13T11:09:51.506Z","publish_time":1786619391506,"_source_registry_name":"default"},"0.0.1-rc.5":{"name":"@deepseek-ai/dsh-pwsh-local","version":"0.0.1-rc.5","license":"BSD-3-Clause","_id":"@deepseek-ai/dsh-pwsh-local@0.0.1-rc.5","maintainers":[{"name":"imccyu","email":"imccyu@gmail.com"},{"name":"tianyicui-deepseek","email":"tianyi@deepseek.com"}],"homepage":"https://github.com/deepseek-ai/deepseek-harness#readme","bugs":{"url":"https://github.com/deepseek-ai/deepseek-harness/issues"},"dist":{"shasum":"331c3d483cf2c3ebb4f1978358f64f03cb333861","tarball":"https://registry.npmmirror.com/@deepseek-ai/dsh-pwsh-local/-/dsh-pwsh-local-0.0.1-rc.5.tgz","fileCount":10,"integrity":"sha512-7riFJOa/tWyDc5/1HQ15MXOoG3YRLHOC/MXh/lvg/pUrwAghAtqmlKW4+dUIn6UroWDO56plhHiccQwL1BKNcg==","signatures":[{"sig":"MEUCIEckJBc1YYfMxfeieO/PNf/BX/OmJOnlYOq4Xy9c7a67AiEAs6u96FAbeTLYW0w/V1jUdIKVatVIMCQ0iAvzTO8ScS8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45320,"size":16736},"main":"lib/index.js","type":"module","_from":"file:/home/runner/work/deepseek-harness/deepseek-harness/dist/npm/deepseek-ai-dsh-pwsh-local-0.0.1-rc.5.tgz","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"_npmUser":{"name":"imccyu","email":"imccyu@gmail.com"},"_resolved":"/home/runner/work/deepseek-harness/deepseek-harness/dist/npm/deepseek-ai-dsh-pwsh-local-0.0.1-rc.5.tgz","_integrity":"sha512-7riFJOa/tWyDc5/1HQ15MXOoG3YRLHOC/MXh/lvg/pUrwAghAtqmlKW4+dUIn6UroWDO56plhHiccQwL1BKNcg==","repository":{"url":"git+https://github.com/deepseek-ai/deepseek-harness.git","type":"git","directory":"packages/shell/pwsh-local"},"_npmVersion":"11.16.0","description":"Local PowerShell implementation of the DeepSeek Harness bash executor seam","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@deepseek-ai/schemastery":"^3.18.1-rc.4"},"publishConfig":{"access":"restricted"},"_hasShrinkwrap":false,"readmeFilename":"README.zh.md","devDependencies":{"@deepseek-ai/cordis":"^4.0.1-rc.4","@deepseek-ai/dsh-shell":"^0.0.1-rc.5","@deepseek-ai/dsh-timeout":"^0.0.1-rc.5","@deepseek-ai/dsh-settings":"^0.0.1-rc.5","@deepseek-ai/dsh-invariants":"^0.0.1-rc.5","@deepseek-ai/dsh-subprocess":"^0.0.1-rc.5","@deepseek-ai/dsh-subprocess-local":"^0.0.1-rc.5"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1-rc.4","@deepseek-ai/dsh-shell":"^0.0.1-rc.5","@deepseek-ai/dsh-timeout":"^0.0.1-rc.5","@deepseek-ai/dsh-settings":"^0.0.1-rc.5","@deepseek-ai/dsh-invariants":"^0.0.1-rc.5","@deepseek-ai/dsh-subprocess":"^0.0.1-rc.5"},"_npmOperationalInternal":{"tmp":"tmp/dsh-pwsh-local_0.0.1-rc.5_1786573957263_0.9605060121155524","host":"s3://npm-registry-packages-npm-production"},"_cnpmcore_publish_time":"2026-08-12T22:32:37.402Z","publish_time":1786573957402,"_source_registry_name":"default"},"0.1.0-rc.7":{"name":"@deepseek-ai/dsh-pwsh-local","description":"Local PowerShell implementation of the DeepSeek Harness bash executor seam","version":"0.1.0-rc.7","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/deepseek-ai/deepseek-harness.git","directory":"packages/shell/pwsh-local"},"type":"module","main":"lib/index.js","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-shell":"^0.1.0-rc.7","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.7","@deepseek-ai/dsh-timeout":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-settings":"^0.1.0-rc.7","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"},"devDependencies":{"@deepseek-ai/dsh-shell":"^0.1.0-rc.7","@deepseek-ai/dsh-invariants":"^0.1.0-rc.7","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.7","@deepseek-ai/dsh-subprocess-local":"^0.1.0-rc.7","@deepseek-ai/dsh-timeout":"^0.1.0-rc.7","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-settings":"^0.1.0-rc.7"},"readmeFilename":"README.zh.md","_id":"@deepseek-ai/dsh-pwsh-local@0.1.0-rc.7","bugs":{"url":"https://github.com/deepseek-ai/deepseek-harness/issues"},"homepage":"https://github.com/deepseek-ai/deepseek-harness#readme","_integrity":"sha512-AImknM43+7bIR9BzEatmbZMvhjgBgAt7MWqJzmTo1KnBNTY1j7r/RmOiQTBX4R+tpsLXMza5oW7svHSAYw/ypw==","_resolved":"/home/runner/work/deepseek-harness/deepseek-harness/dist/npm/deepseek-ai-dsh-pwsh-local-0.1.0-rc.7.tgz","_from":"file:/home/runner/work/deepseek-harness/deepseek-harness/dist/npm/deepseek-ai-dsh-pwsh-local-0.1.0-rc.7.tgz","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-AImknM43+7bIR9BzEatmbZMvhjgBgAt7MWqJzmTo1KnBNTY1j7r/RmOiQTBX4R+tpsLXMza5oW7svHSAYw/ypw==","shasum":"b71361e8f54f0ed166b6c71f099284c3ba757d9b","tarball":"https://registry.npmmirror.com/@deepseek-ai/dsh-pwsh-local/-/dsh-pwsh-local-0.1.0-rc.7.tgz","fileCount":10,"unpackedSize":45725,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQClrna3MuPSMwqC+ylYiS/M7UwUM/PWdq4iMHynAyAM/wIhALaPOqlJb3U17wdR+VLGIocoqsh9WSn/dLGCeuoINeab"}],"size":16973},"_npmUser":{"name":"imccyu","email":"imccyu@gmail.com"},"directories":{},"maintainers":[{"name":"imccyu","email":"imccyu@gmail.com"},{"name":"tianyicui-deepseek","email":"tianyi@deepseek.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-pwsh-local_0.1.0-rc.7_1786966879497_0.720025509320088"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-08-17T11:41:19.622Z","publish_time":1786966879622,"_source_registry_name":"default"},"0.1.0-rc.8":{"name":"@deepseek-ai/dsh-pwsh-local","description":"Local PowerShell implementation of the DeepSeek Harness bash executor seam","version":"0.1.0-rc.8","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/deepseek-ai/deepseek-harness.git","directory":"packages/shell/pwsh-local"},"type":"module","main":"lib/index.js","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-invariants":"^0.1.0-rc.8","@deepseek-ai/dsh-shell":"^0.1.0-rc.8","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.8","@deepseek-ai/dsh-timeout":"^0.1.0-rc.8","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-settings":"^0.1.0-rc.8"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"},"devDependencies":{"@deepseek-ai/dsh-shell":"^0.1.0-rc.8","@deepseek-ai/dsh-invariants":"^0.1.0-rc.8","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.8","@deepseek-ai/dsh-subprocess-local":"^0.1.0-rc.8","@deepseek-ai/dsh-timeout":"^0.1.0-rc.8","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-settings":"^0.1.0-rc.8"},"readmeFilename":"README.zh.md","_id":"@deepseek-ai/dsh-pwsh-local@0.1.0-rc.8","bugs":{"url":"https://github.com/deepseek-ai/deepseek-harness/issues"},"homepage":"https://github.com/deepseek-ai/deepseek-harness#readme","_integrity":"sha512-lHAEwC4pL5bVSKgwaeO2dMM9s/jnpDBRuTeVD2HkunpFfT1Kq4lFi+/YXj00L7mW9DBP6FMfwRRV/0Wgo1FtdA==","_resolved":"/home/runner/work/deepseek-harness/deepseek-harness/dist/npm/deepseek-ai-dsh-pwsh-local-0.1.0-rc.8.tgz","_from":"file:/home/runner/work/deepseek-harness/deepseek-harness/dist/npm/deepseek-ai-dsh-pwsh-local-0.1.0-rc.8.tgz","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-lHAEwC4pL5bVSKgwaeO2dMM9s/jnpDBRuTeVD2HkunpFfT1Kq4lFi+/YXj00L7mW9DBP6FMfwRRV/0Wgo1FtdA==","shasum":"6924d4b0e7bcdba717e928b09024997a25c97041","tarball":"https://registry.npmmirror.com/@deepseek-ai/dsh-pwsh-local/-/dsh-pwsh-local-0.1.0-rc.8.tgz","fileCount":10,"unpackedSize":45725,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD5nRXPKp7MUYirNGJWTnH+jwfQr5MObT2D7swztk7PmAIhANSFofUYrX91U7G5KCGALujgyl6DOMXHyKqgqGM5jNKw"}],"size":16976},"_npmUser":{"name":"imccyu","email":"imccyu@gmail.com"},"directories":{},"maintainers":[{"name":"imccyu","email":"imccyu@gmail.com"},{"name":"tianyicui-deepseek","email":"tianyi@deepseek.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-pwsh-local_0.1.0-rc.8_1787153627804_0.8660214788284417"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-08-19T15:33:47.998Z","publish_time":1787153627998,"_source_registry_name":"default"},"0.1.1-rc.1":{"name":"@deepseek-ai/dsh-pwsh-local","description":"Local PowerShell implementation of the DeepSeek Harness bash executor seam","version":"0.1.1-rc.1","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/deepseek-ai/deepseek-harness.git","directory":"packages/shell/pwsh-local"},"type":"module","main":"lib/index.js","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-shell":"^0.1.1-rc.1","@deepseek-ai/dsh-subprocess":"^0.1.1-rc.1","@deepseek-ai/dsh-invariants":"^0.1.1-rc.1","@deepseek-ai/dsh-timeout":"^0.1.1-rc.1","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-settings":"^0.1.1-rc.1"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"},"devDependencies":{"@deepseek-ai/dsh-shell":"^0.1.1-rc.1","@deepseek-ai/dsh-invariants":"^0.1.1-rc.1","@deepseek-ai/dsh-subprocess":"^0.1.1-rc.1","@deepseek-ai/dsh-timeout":"^0.1.1-rc.1","@deepseek-ai/dsh-subprocess-local":"^0.1.1-rc.1","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-settings":"^0.1.1-rc.1"},"readmeFilename":"README.zh.md","_id":"@deepseek-ai/dsh-pwsh-local@0.1.1-rc.1","bugs":{"url":"https://github.com/deepseek-ai/deepseek-harness/issues"},"homepage":"https://github.com/deepseek-ai/deepseek-harness#readme","_integrity":"sha512-Wl60ol6xE51HXjrQznD2dlvU7aH/mkKjKwaL5rQ7M/1bfmqOEM9cCFVAGw4uFH1UIwoBF7Z6lDTfdgpum8eFjA==","_resolved":"/home/runner/work/deepseek-harness/deepseek-harness/dist/npm/deepseek-ai-dsh-pwsh-local-0.1.1-rc.1.tgz","_from":"file:/home/runner/work/deepseek-harness/deepseek-harness/dist/npm/deepseek-ai-dsh-pwsh-local-0.1.1-rc.1.tgz","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-Wl60ol6xE51HXjrQznD2dlvU7aH/mkKjKwaL5rQ7M/1bfmqOEM9cCFVAGw4uFH1UIwoBF7Z6lDTfdgpum8eFjA==","shasum":"890a14f0c2034fde392aeb9da6e1a3b4a6cba666","tarball":"https://registry.npmmirror.com/@deepseek-ai/dsh-pwsh-local/-/dsh-pwsh-local-0.1.1-rc.1.tgz","fileCount":10,"unpackedSize":45746,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICDs1Pm4Wm4cPuojCMgPtXe2FMm6+LK3sNoQ/Fo15jeiAiBZu5mPpenOlPxxs3HEI6+sZ9sqWrkWAYpu6c6Z2zqerg=="}],"size":16985},"_npmUser":{"name":"imccyu","email":"imccyu@gmail.com"},"directories":{},"maintainers":[{"name":"imccyu","email":"imccyu@gmail.com"},{"name":"tianyicui-deepseek","email":"tianyi@deepseek.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-pwsh-local_0.1.1-rc.1_1787294520376_0.6379674719200732"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-08-21T06:42:00.518Z","publish_time":1787294520518,"_source_registry_name":"default"},"0.1.1-rc.2":{"name":"@deepseek-ai/dsh-pwsh-local","description":"Local PowerShell implementation of the DeepSeek Harness bash executor seam","version":"0.1.1-rc.2","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/deepseek-ai/deepseek-harness.git","directory":"packages/shell/pwsh-local"},"type":"module","main":"lib/index.js","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-shell":"^0.1.1-rc.2","@deepseek-ai/dsh-invariants":"^0.1.1-rc.2","@deepseek-ai/dsh-subprocess":"^0.1.1-rc.2","@deepseek-ai/dsh-timeout":"^0.1.1-rc.2","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-settings":"^0.1.1-rc.2"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"},"devDependencies":{"@deepseek-ai/dsh-invariants":"^0.1.1-rc.2","@deepseek-ai/dsh-subprocess":"^0.1.1-rc.2","@deepseek-ai/dsh-shell":"^0.1.1-rc.2","@deepseek-ai/dsh-subprocess-local":"^0.1.1-rc.2","@deepseek-ai/dsh-timeout":"^0.1.1-rc.2","@deepseek-ai/dsh-settings":"^0.1.1-rc.2","@deepseek-ai/cordis":"^4.0.1"},"readmeFilename":"README.zh.md","_id":"@deepseek-ai/dsh-pwsh-local@0.1.1-rc.2","bugs":{"url":"https://github.com/deepseek-ai/deepseek-harness/issues"},"homepage":"https://github.com/deepseek-ai/deepseek-harness#readme","_integrity":"sha512-MtX+IN0dN60n9F8A07ugz4+GptSaoj2Jyub1vkUFkgpdiph9lDAh+PVVG4EKrusu5YG8eXDCDDnb3S1UNtrNiw==","_resolved":"/home/runner/work/deepseek-harness/deepseek-harness/dist/npm/deepseek-ai-dsh-pwsh-local-0.1.1-rc.2.tgz","_from":"file:/home/runner/work/deepseek-harness/deepseek-harness/dist/npm/deepseek-ai-dsh-pwsh-local-0.1.1-rc.2.tgz","_nodeVersion":"24.19.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-MtX+IN0dN60n9F8A07ugz4+GptSaoj2Jyub1vkUFkgpdiph9lDAh+PVVG4EKrusu5YG8eXDCDDnb3S1UNtrNiw==","shasum":"f57bf1f13908d5a8dc82c50121324883508d072a","tarball":"https://registry.npmmirror.com/@deepseek-ai/dsh-pwsh-local/-/dsh-pwsh-local-0.1.1-rc.2.tgz","fileCount":10,"unpackedSize":45746,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICz2swMwWtlK0GAbymbhqMJKQPToq35HTxien3GaintdAiEAr45Ga+r06fa7xarWLHDx3rCkNrlDPJqt4OIaFXSilhw="}],"size":16993},"_npmUser":{"name":"imccyu","email":"imccyu@gmail.com"},"directories":{},"maintainers":[{"name":"imccyu","email":"imccyu@gmail.com"},{"name":"tianyicui-deepseek","email":"tianyi@deepseek.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-pwsh-local_0.1.1-rc.2_1787315706481_0.6479151860177361"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2026-08-21T12:35:06.625Z","publish_time":1787315706625,"_source_registry_name":"default"}},"bugs":{"url":"https://github.com/deepseek-ai/deepseek-harness/issues"},"description":"Local PowerShell implementation of the DeepSeek Harness bash executor seam","homepage":"https://github.com/deepseek-ai/deepseek-harness#readme","license":"BSD-3-Clause","maintainers":[{"name":"tianyicui-deepseek","email":"tianyi@deepseek.com"},{"name":"imccyu","email":"imccyu@gmail.com"}],"readme":"# @deepseek-ai/dsh-pwsh-local\n\nEnglish | [中文](README.zh.md)\n\nLocal PowerShell Service provider for the `@deepseek-ai/dsh-bash` executor seam over the [`@deepseek-ai/dsh-subprocess`](../../subprocess/subprocess/README.md) service: `PwshLocalExecutor` spawns `pwsh -NoLogo -NoProfile -NonInteractive -Command <command>` per call as a managed process through `ctx.subprocess`, and owns everything PowerShell-shaped — executable resolution, command defaulting and caps, timeout/cancel classification, the model-friendly terminal environment, and the model-facing stdout/stderr merge for background reads. Group mechanics (bounded spill-backed output, credential scrub, kill escalation, disposal) are the subprocess service's.\n\nThe command string rides as ONE argv element to `-Command`: PowerShell itself parses the text, and no intermediate shell exists, so there is no shell-quoting layer to escape (the `bash -c` string domain has no equivalent here). Native Win32 paths (`C:\\...`) pass through unchanged.\n\nThe package root exports the default and named `PwshLocalExecutor` plugin, its `Config`, the pure `resolvePwshPath`/`candidatePwshPaths` helpers, and the `ENV_OVERRIDES`/`ENCODING_PREAMBLE` constants the executor injects into every spawn.\n\n## Config\n\n```yaml\n- id: bash\n  name: '@deepseek-ai/dsh-pwsh-local'\n  config:\n    cwd: C:\\path\\to\\workspace   # default: process.cwd()\n    timeoutMs: 120000           # default foreground timeout\n    maxTimeoutMs: 600000        # cap for per-call overrides\n    maxOutputBytes: 64000       # per-stream in-memory cap; overflow spills to disk\n    maxSpillBytes: 67108864     # per-stream full-output spill cap\n    graceMs: 3000               # kill escalation and post-exit pipe-drain grace\n    pwshPath: C:\\Program Files\\PowerShell\\7\\pwsh.exe  # explicit executable; else well-known locations, then PATH\n```\n\n## Behavior\n\nThe Windows counterpart of `dsh-bash-local`, deliberately mirroring its semantics call-for-call:\n\n- **Spawn per call, no shell state** — every call is a fresh non-interactive `pwsh -Command` (deterministic; no profile files). The `-NoLogo -NoProfile -NonInteractive` flags disable startup banners, profile loading, and prompts that would garble tool output.\n- **UTF-8 output pinned** — every command runs with `[Console]::OutputEncoding` and `$OutputEncoding` set to UTF-8 first, so the Windows PowerShell 5.1 fallback (or any host whose console code page is not UTF-8) cannot garble non-ASCII output: the subprocess collector decodes bytes as UTF-8. Input encoding is left at the host default; pwsh 7 defaults to UTF-8 and is unaffected.\n- **Executable resolution** — `resolvePwshPath` prefers an explicit `pwshPath`, then on Windows probes PowerShell 7's install location, every PATH entry (Microsoft Store installs; surrounding quotes stripped), and Windows PowerShell 5.1 as a legacy last resort, checking `existsSync` on each; elsewhere it falls back to a bare `pwsh` resolved through PATH. Resolution is a pure function of `(configured, env, platform)` and happens once at construction.\n- **Configured budgets over managed groups** — `resolve()` fills `workdir`/`timeoutMs`/`stdoutMaxBytes` from config, and every spawn hands the service explicit byte caps, spill cap, and `graceMs`. The grace must be positive, finite, and no greater than [`MAX_TIMER_DELAY_MS`](../../util/timeout/README.md), so Node can represent it with one timer. Tree termination (taskkill on Windows, process-group signals on POSIX), the post-exit pipe-drain grace, tail-keep truncation, and bounded spill files are [`dsh-subprocess-local`](../../subprocess/subprocess-local/README.md) mechanics. A foreground `BashExecRequest.stdoutMaxBytes` can raise stdout's capture budget for one trusted caller; stderr and background runs still use `maxOutputBytes`.\n- **Timeout and cancel classification** — `run()` fuses its config-clamped timeout with the caller's signal through one deadline; only the executor's own timeout reports `timedOut`, an upstream cancel reports `aborted`, and a self-terminated command reports neither ([timeout-library Agent Note](../../../.agents/notes/implemented/architecture/2026-07-06-timeout-deadline-library.md)). Windows reports forced termination as exit 1 without a signal, so signal-stamped facts (`signal`, `killed` status) are POSIX-only there; the timeout/abort classification is platform-independent.\n- **Model-friendly terminal env** — `NO_COLOR=1 PAGER=cat GIT_PAGER=cat` (no `TERM=dumb`: that is a POSIX concept; `NO_COLOR` is honored by modern PowerShell renderers) merged as ordinary env under the service's credential scrub and `DSH_*` channel rules; an explicit caller entry still wins.\n- **Background processes** — `start()` returns a live `BashProcess` handle immediately, no timeout applies, and the handle's `readOutput()` merges the service's offset-based stdout/stderr reads into one marked-section delta with a consuming cursor. A still-running process belongs to the subprocess service, so it survives executor reloads and dies (killed and joined) with the service's disposal. Everything task-shaped (ids, ownership, polling, notices) lives in the generic [`ctx.tasks` runtime](../../tasks/tasks/README.md), which the tool layer registers the handle with — this executor never sees a session or a registry.\n\n## Model Experience\n\nIndirectly, through `dsh-tool-pwsh`, which renders this executor's bounded stdout/stderr tails, background-process deltas (through the generic task runtime), spill-file paths, and infrastructure failures.\n\n#### KV Cache effect\n\nNo direct invalidation; the named consumer owns any request-prefix changes.\n\n## Known Limitations and Deferred Work\n\n- **Unconfined by itself** — this executor always runs commands with the harness process's authority; deployments needing confinement compose a sandboxing bash executor or policy instead.\n- **No persistent shell or PTY** — every call starts a fresh `pwsh -Command`.\n- **The command string is PowerShell text** — the `-Command` domain has no shell-quoting layer, but a model-facing command is parsed by PowerShell itself, so PowerShell syntax errors are command failures, not launch failures.\n- **A background spawn-failure note is single-delivery** — the subprocess service buffers no output for a process that never ran, so the executor injects `spawn failed: …` into exactly one `readOutput()` delta; a reader that discards that delta cannot recover it.\n- **Windows termination reports no signal** — a force-killed process settles as exit 1 with `signal: null`, so signal-based status classification (POSIX `killed`) does not apply on Windows; `kill()`-initiated stops still stamp `killed` directly.\n- **The encoding preamble precedes the command** — PowerShell requires `param(...)`, `#requires`, and `using namespace`/`using assembly` statements at the very top of a script, so a command whose first statement is one of those cannot run under the UTF-8 output preamble. Wrap a `param(...)` script in `& { … }` (a param block legally heads a script block); `using` statements and `#requires` have no in-command workaround (`#requires` is inert inside `-Command` regardless of position) — run such scripts from a file instead.\n- **Non-ASCII stdin under Windows PowerShell 5.1 may be mis-decoded** — the preamble pins output encoding only; `[Console]::InputEncoding` stays at the host default because setting it under redirected stdin throws. pwsh 7 defaults to UTF-8 and is unaffected.\n\nScrub-heuristic and spill-retention caveats live with [`dsh-subprocess-local`](../../subprocess/subprocess-local/README.md), which owns those mechanics.\n","readmeFilename":"README.zh.md","repository":{"url":"git+https://github.com/deepseek-ai/deepseek-harness.git","type":"git","directory":"packages/bash/pwsh-local"},"_source_registry_name":"default"}