{"_id":"@agent_forge/forge-dsh","_rev":"40-e9a9e0ab6c9b5942e911a5dc32f857c8","name":"@agent_forge/forge-dsh","dist-tags":{"latest":"1.62.0"},"versions":{"0.1.0":{"name":"@agent_forge/forge-dsh","version":"0.1.0","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@0.1.0","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"ffbf6bc876a237367c6dbc1842619b3b1194828c","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-0.1.0.tgz","fileCount":9,"integrity":"sha512-7FNfiJ4pCauQ6mAq/APFb2/ynoXxNpMXCF6HW1IwXpnJdJk1f4vZscfLIYJPq/dFVBGeDU/cnwJ8H4g8LZHP/Q==","signatures":[{"sig":"MEUCIQC8dgXapSKshrgWbHBFfhcIlqcKBWL0YnZT1AQvJTYtygIgUXVqfNoK+cpMrx1RZFoUdkNEVBlxsxqNehdEsMv53tg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":44898},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"6c319341254ba952638a8fdcb25484d42f74f155","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_0.1.0_1787222239498_0.28038724782469404","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@agent_forge/forge-dsh","version":"0.1.1","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@0.1.1","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"5d934b245b3e35cec7b9df1df449aa1d23d308ec","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-0.1.1.tgz","fileCount":9,"integrity":"sha512-NGMAW5tF9Wb50MPomD6YCyPSw6Roe9OmFvGz6vHLHrSIHZ5dNXEXqSN2iTcjk16JbbnRQEHHh20/+kF/8z29/g==","signatures":[{"sig":"MEUCIDYs7vG2o4ycLKh7SHX//ceAszRCCUbplfqDc69juvxyAiEAgtOh90CCA5Pp4YE3hdXfKVru+buyORAr/LmU1nlZCIc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":49378},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"2b8d8184d70c5584045e15cc66a8c77918167af4","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_0.1.1_1787234602602_0.05027741840358235","host":"s3://npm-registry-packages-npm-production"}},"1.40.1":{"name":"@agent_forge/forge-dsh","version":"1.40.1","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.40.1","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"7a0f84150416b1a74fc7876e7c3fc6f16a9459a0","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.40.1.tgz","fileCount":9,"integrity":"sha512-LjdDoTxGyUrsJ+sa7+OfPWVHwmTrZyG6Uezjq/BXB6ZKO2LT3X/VYNZ+4tDGvu10VmPX5ztuzp3RvBIThNMocw==","signatures":[{"sig":"MEQCIAMWGiugTRZLA/QuZ9jnsf4TgwDZUyTjJeRjNIlNyIYmAiAJjzhknWKmxtLvVVs7Ymxa49chGbEF0lIdTbQANxzRtg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.40.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":49379},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"934deea7d99acd1c2fb552b87713020f4e89671b","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.40.1_1787321096592_0.1902068331445188","host":"s3://npm-registry-packages-npm-production"}},"1.41.0":{"name":"@agent_forge/forge-dsh","version":"1.41.0","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.41.0","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"2ae6941014646ff75f2cbe7034a029a7e5467439","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.41.0.tgz","fileCount":9,"integrity":"sha512-nJyNd3M3jfSZtTovuGti2ViJWSpbltmUa9UHmTt2TBHKoCsluxxCreOxYlAFqXvk91eSPrDq9zgnhekCoGUW0w==","signatures":[{"sig":"MEYCIQCUcCLXFGjzPta1ZNFhhPwNeVAnE1kalP52JpR+MN2ZwgIhAOE2LiBXaya6eNpG49R5Wb0kzxduh1ziw6Hl3a1cw/Po","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.41.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50019},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"64fbd336b8ec9b12fda9b50cecbe387e663fc534","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.41.0_1787375119535_0.5512093532737425","host":"s3://npm-registry-packages-npm-production"}},"1.42.0":{"name":"@agent_forge/forge-dsh","version":"1.42.0","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.42.0","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"37426a5470901ceef25a102d6cfd25be8f2c978a","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.42.0.tgz","fileCount":9,"integrity":"sha512-QeN3+caL8ZpbwR2bjLMn/bt2gpI0DXGtg9iXnP36Moy1FYGzgE3/zGxx0sx3W5+AMetSH1lYc5IpAX8vXNet/w==","signatures":[{"sig":"MEYCIQDYAq/g0ert6byS83h8rRqs3Zgz1n/jN7Wve0sgAWrKIAIhAPEAUOVOH7a5tsL/PmLCtggOzctVla74gvUNk2zL6w43","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.42.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50019},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"937843e744c214713e0f432a00429f08b8dcff13","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.42.0_1787464775513_0.0996041729356234","host":"s3://npm-registry-packages-npm-production"}},"1.42.1":{"name":"@agent_forge/forge-dsh","version":"1.42.1","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.42.1","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"ee35fe907c3c179797c1e3a51fa909d42f3ad8f6","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.42.1.tgz","fileCount":9,"integrity":"sha512-4EwsK4b4IVl0HSOV05CbtUFiL5Vig+qeMgbO1JkWBlf3I9i20KWuNNgLZWdjAuTLfjaG45aNJZJfdQoaFhFzrw==","signatures":[{"sig":"MEUCIQD+7UvNloWDvm3oDUuFruo94v7eOnECyt4g6Wu6W3e+qwIgSDrTI9bYCVfwBE202PRkkoOJKfKm1KgZLndd+pPukOM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.42.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50019},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"46cb3fa019464a62175725a49f1ce52e1987e752","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.42.1_1787485795043_0.5445539071559011","host":"s3://npm-registry-packages-npm-production"}},"1.42.2":{"name":"@agent_forge/forge-dsh","version":"1.42.2","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.42.2","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"93023eb49a2c3f7f63ccb0879b7966280b2f62b8","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.42.2.tgz","fileCount":9,"integrity":"sha512-2W53iGVBvCLaTQEZPKuTdm3XU60iro8n5lNA0kGx6htQNR8k5Srpu8nelqYPA7cz8ruSW+Wi79e6XKpgl1iG4g==","signatures":[{"sig":"MEUCIQC14sLGyHL9KBYwk4GnW0KqtieyfcnfKg/NlmRCtBxWHgIgMMoMV0mjjJ7rL2gjIqkVF8JHNTtDzyo3+L7FrWRUzsE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.42.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50029},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"c09ae24dfb754bfcce5ce27fd325e5d2c97a5171","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.42.2_1787546913703_0.3096366728248845","host":"s3://npm-registry-packages-npm-production"}},"1.43.0":{"name":"@agent_forge/forge-dsh","version":"1.43.0","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.43.0","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"b8a987529e86e9923565d57a199f8308897a404a","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.43.0.tgz","fileCount":9,"integrity":"sha512-mtO9gVvRsfBR0v4v3SjuoRDnT/UC1lNYtWmXAnxe6JGKBgObTimhgHqhBtj6lKqoWQYWcXPD0rhT2IrrT4yO2g==","signatures":[{"sig":"MEUCICs9YE/Xq/3b4RgzRaKhhlBtx88EF2LQmbVN6dEqtYtQAiEA+qn1v7TsjeiLdydvasi8lSzIPhWiIE6dLlR4DqrJXt0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.43.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50029},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"9f7d7a110125e16554a889bd1991f8090c19ee0e","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.43.0_1787667380782_0.49740102302358125","host":"s3://npm-registry-packages-npm-production"}},"1.44.0":{"name":"@agent_forge/forge-dsh","version":"1.44.0","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.44.0","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"5c79d1315d030d7642e2fd8fd12041a14194a62c","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.44.0.tgz","fileCount":9,"integrity":"sha512-gkBNHT+WNu13YLZiVxbdosbek8XBJPuOheNAxQ1pF2BoExkg+ifyFiDzTJcBlsKvhjzKErovkW8Npz7CI3O4EQ==","signatures":[{"sig":"MEYCIQDc/NbH450KgP8A6GxnZvNtL4ulp76CSHb4B6xii80QbgIhAPcZAJVNBLW0SY4idGV8eGiCKQ0IfM+/OO2LRN9IL8WL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.44.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50029},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"5b9adbdbefdf843030bdbf40dbdb65a307867717","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.44.0_1787746054997_0.7141781281852522","host":"s3://npm-registry-packages-npm-production"}},"1.45.0":{"name":"@agent_forge/forge-dsh","version":"1.45.0","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.45.0","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"859de76d2b3c26fcf8e94a123fceabbe0d8ff362","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.45.0.tgz","fileCount":9,"integrity":"sha512-Qs9bsEkjjaYdA7GnDKpMTB1ftQeOK0ZOsbw60b9QLTtSswONzX3Z561BmdkV0qtVASY+DoiR66WOirw9l1rTqw==","signatures":[{"sig":"MEUCIQDzNliwa0giO5WhcQeB7XInExt7H3Dxpwc/S+pEpU9tzAIgfatbKdB4F/AZ2ndzKtY5TqCZtf9Cf6xfR9hvptYMGVI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.45.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50029},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"e71a803b402a1fbf0eb7b9dc9394445953bec889","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.45.0_1787835464885_0.22038625193953632","host":"s3://npm-registry-packages-npm-production"}},"1.45.1":{"name":"@agent_forge/forge-dsh","version":"1.45.1","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.45.1","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"4fa65a19349352c5171e4920281c7e2c2bad6d0a","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.45.1.tgz","fileCount":9,"integrity":"sha512-dXbQl/RJ7iOja1A/yI4+kGA4XGx4An8sgEuTakqXo50lmR0zzj0OyjVvC1Ww7Q15Nepg7KlqHb7O7XMHftghHg==","signatures":[{"sig":"MEQCIG1ot9GGhVzdGFPqGXN5TpICZN+58OGfIjd+uIzTmHVrAiA7AeYM3aOK0kQAOgg6N9mBHC8MDKfk5ZDLycFsxatbsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.45.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50029},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"43ae40f94f2e50146075baf3c5c2391ddaa28f87","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.45.1_1787840033857_0.5844020459328139","host":"s3://npm-registry-packages-npm-production"}},"1.45.2":{"name":"@agent_forge/forge-dsh","version":"1.45.2","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.45.2","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"561f1f6381268da98b55760b901002c272ba73f5","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.45.2.tgz","fileCount":9,"integrity":"sha512-1Lz43Z6CZkPFka33bKT+nFkETgOJFsyyvwEt5ZkaCCbwbcFLrExN+CraINv7e95xTgICMwmLYgAqraEuds8IOw==","signatures":[{"sig":"MEUCIQCYVoUbzElTVLt3Z3cPJd6LRxQ284e1yyMeQf8aEdbemgIgBGDp7nG2hyrxOJPFa4SFK0cb1phSU5kxEDxnekFE5vQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.45.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50029},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"b4b3c9376c0b4df0231d198e836663d166953b08","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.45.2_1787843598798_0.48096361654242514","host":"s3://npm-registry-packages-npm-production"}},"1.45.3":{"name":"@agent_forge/forge-dsh","version":"1.45.3","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.45.3","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"941e70d80eac5a89821b380b2664db694e211e3e","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.45.3.tgz","fileCount":9,"integrity":"sha512-n8FdmKmxBGBwNBBBkYBIbFZNtBmUuMVa6wxU41OZ9E/qOBJ0bY1kmQGT/zjvfxIYbHUo9ZYZVatn/NEkhfxlLA==","signatures":[{"sig":"MEYCIQCPose50LcYy7bryZ7GwzwdT/wZHAqUmi9AQwq+n5mRwgIhAMi/eE35jWbSTMzbwcvnx6qh5TPbr0ycEUGNlmmnmiV4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.45.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50029},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"0bf5cf8718fe54ab81abaf12d552a98f619aa549","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.45.3_1787883313609_0.1958278383400458","host":"s3://npm-registry-packages-npm-production"}},"1.45.4":{"name":"@agent_forge/forge-dsh","version":"1.45.4","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.45.4","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"b535fbbfbce9ee32e5a92deb08f5b1212d500c80","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.45.4.tgz","fileCount":9,"integrity":"sha512-qowAJuSaorm8d2Kc962d8hqROxJmWD/Uwg8dENiCR0da63pu2qt1tMFI8cLfSHHFTgKroAc3qioarYfxY3so5A==","signatures":[{"sig":"MEUCIBk4U6HBAeXSmUXSOBrsxsxICNfbyXx6CjRaQngfAG/lAiEA3rYpsyssJMDX0smDXP/5YGvHGX9upSniZp73zWaL8WY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.45.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50029},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"a4cb0100fafc4655ea7f3ac2f5672347bb7def13","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.45.4_1787891224378_0.15085276470356468","host":"s3://npm-registry-packages-npm-production"}},"1.46.0":{"name":"@agent_forge/forge-dsh","version":"1.46.0","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.46.0","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"af94dd9bb53134ebf1062f7df0adc75756857ae0","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.46.0.tgz","fileCount":9,"integrity":"sha512-XLtALGQUXsJIz71thsvciHtZGY6D2dcUlhXizaXWK+BHIF6PRRL8tppnZruxEHym6rHrnbNHESSOA/Xv/PS9eA==","signatures":[{"sig":"MEUCIH5ShiZqs+GxMVcLXRxNPVdTvwkYpSqX/appYgGHt7bvAiEA8l8ZxhIaB45nJxaCGaY1SgkbaWQA5u9Pskk1cP2SNng=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.46.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50255},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"860a877f2fdbeb89bb6ba95f4d34ca55a0dda90e","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.46.0_1787909701077_0.46429090066713163","host":"s3://npm-registry-packages-npm-production"}},"1.47.0":{"name":"@agent_forge/forge-dsh","version":"1.47.0","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.47.0","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"91a7ec624ae9f74c8c87f16f488b2cb8a9f77c13","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.47.0.tgz","fileCount":9,"integrity":"sha512-oMY8WOswmoUtlmA+27IRUYEiy84ngCWKB8IuV8hWflvFP7IvS4iVpTgUHv9UdV0ThLSzybXj+58Ar9M6KLqFUg==","signatures":[{"sig":"MEUCIQDeZgGHm18j8A9z9xpzZ25PMSD18A4E6pZtGB30EeUlvwIgcnT50ZxMm++otDU8rPTFSE7OE0czOye8j5STixThwcs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.47.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50255},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"5fd66c01fe0558db4aa5a26600b6e7f346488ad5","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.47.0_1788064459805_0.10373913834339232","host":"s3://npm-registry-packages-npm-production"}},"1.48.0":{"name":"@agent_forge/forge-dsh","version":"1.48.0","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.48.0","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"6555d876f04fef6bba69ac9797c3192d1a4232ce","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.48.0.tgz","fileCount":9,"integrity":"sha512-NrG+cX0jjVVDeS3N4FzgkMaiizcxX4TjK4/2DbldGMyEMB21RfyEFWOVgpQItH6eHH8bGipuKPa42JcyC8YpTA==","signatures":[{"sig":"MEQCID92X4pZsZHRO++NDG+4q2IRLDxiMVoV2h/initCIzEYAiB/CpaDszxzNJnZypfVp2xIrGXH/iB7ij/2iJnLtOsXNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.48.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50255},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"444546b10f8b734c3fe2be681ca0527b97c7d5bc","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.48.0_1788191606685_0.8374839055207233","host":"s3://npm-registry-packages-npm-production"}},"1.48.1":{"name":"@agent_forge/forge-dsh","version":"1.48.1","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.48.1","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"23bdc5277204bbdf27e626f6c5a0d1c18acbe806","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.48.1.tgz","fileCount":9,"integrity":"sha512-1Csp8FlZSuuQFf4yFmjfbw+IeiFmaureWC9jqQoANr35LUwLZ+OnJKwrGsfuInC6wJhk/UiWGDKMc1Ngrc+BZw==","signatures":[{"sig":"MEQCICO/dyZDNIhukx+QY9qAIzXknoKKfjUJgxpX+qElq7wKAiAiwjjT4Sedkx4OOeH9Kyd1UVs+T/g1qL9mnpsW2MiDxg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.48.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50255},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"2c2e4e1431369785e61c13e008f83b0a530ff218","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.48.1_1788257279087_0.6146064826800859","host":"s3://npm-registry-packages-npm-production"}},"1.49.0":{"name":"@agent_forge/forge-dsh","version":"1.49.0","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.49.0","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"54e041f8bf747995ea5dc495457a0a8303cd060a","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.49.0.tgz","fileCount":9,"integrity":"sha512-FYaPmgWbYgyvgjVRqF2ffhsY1Gbm42pDxX/jUDsBYJcOFfW5MVx/VdZMWx7gE68Ttw4g0MM3gDcOAR0nrPB5IA==","signatures":[{"sig":"MEUCIB3G2VrPOWP0GA0uIxrsEih7MBjl2NaFde60X54seltKAiEAt69NuMF2IsZ/pWZ/nDAPRUwVBg5yjDpXpufXaJHVcio=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.49.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50255},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"fb53bb05c20829c3d37921c9ec3af29aa605ae41","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.49.0_1788331187740_0.6452792388459925","host":"s3://npm-registry-packages-npm-production"}},"1.50.0":{"name":"@agent_forge/forge-dsh","version":"1.50.0","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.50.0","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"87f400dac6052c9a258daaecfb890cd56b21b4ca","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.50.0.tgz","fileCount":9,"integrity":"sha512-e7y8rXE04DtDbv9oQH0KkoFOlUuu9mMuyFE0bOcma+Tobw5tM5L40SVbo3IW9aH+BcPeVd91cJmiwFkhjY/Slg==","signatures":[{"sig":"MEQCIAUYmEY5hQGkJ442+jdicUwquhjkVwQjt5usbxnizeBqAiB4Ha1wzUlbzqOdOAmMT5D9lC2OTyhjvWltZSurPifm6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.50.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50255},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"f65e7500ffd316fdf36c5f70ad2b51452c2c12d9","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.50.0_1788515645241_0.34616183408468704","host":"s3://npm-registry-packages-npm-production"}},"1.51.0":{"name":"@agent_forge/forge-dsh","version":"1.51.0","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.51.0","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"d4cd5156b4c81e96d49a3fa6e859f14384f94563","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.51.0.tgz","fileCount":9,"integrity":"sha512-F3uiGddjvULHKrGi1bzHu/vLbKVr2OQo3RZ8ptvR56S5+qkC6xVrAf36oMXBBVcBs6GTWwP1FtGs30VckO6t5Q==","signatures":[{"sig":"MEUCIQD9OLzSft38kPJ0924P2HCIqsVjzYbrkzqCITBkblHVUAIgeNugwrJ99tYrpA2vNPbBmQ6u+TDavJYNJW4oNloAclU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.51.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50255},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"ba391f555e630d82ffbf1df6e47a59d4e505b012","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.51.0_1788709335430_0.5450954918963851","host":"s3://npm-registry-packages-npm-production"}},"1.52.0":{"name":"@agent_forge/forge-dsh","version":"1.52.0","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.52.0","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"96978095176a5c60e3dfdcd1d6a982eb78a206a0","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.52.0.tgz","fileCount":9,"integrity":"sha512-CMu3FT1c/Cn+Uo1px8V4/DQRb5/kVsaw4e/tar2ogs1siElXpoHCg2U2dWcVZrkavrVDEdQcfhkPafon8FF/xg==","signatures":[{"sig":"MEQCIEs6JmHmtA5LV1nOlatrFGj348+gRqFzL+gq1sFbXleFAiAWSKFVny7hbG8oydIUG6uj4tXOwV8pWbTrawgkuqVW0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.52.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50255},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"a77fa7291ebb612b4456d2286e6783704ed81263","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.52.0_1788772459884_0.815103000477162","host":"s3://npm-registry-packages-npm-production"}},"1.53.0":{"name":"@agent_forge/forge-dsh","version":"1.53.0","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.53.0","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"a09a29f57e40ae66c8ecd60a5f4a4d8d35af3dec","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.53.0.tgz","fileCount":9,"integrity":"sha512-q45GxMQHJSzJJc4utfriholiW8jN0TA3TpflZI2o/jaEKt1OAuEoYOh5CwMHgeCtQEhM4xz98GWXk19SXqJcvA==","signatures":[{"sig":"MEYCIQCeErGxZGArf+cLsKcdoQHPsOJdnHv0TIySwezEKSfCIgIhAJTuh1/LVPNnh+R9U7S6U8dGeuaQM+UWuOjKJb+D6wDx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.53.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50255},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"936e57dee05164bfabe53679e8ce4f9c442f3e84","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.53.0_1788835543675_0.5749748570487812","host":"s3://npm-registry-packages-npm-production"}},"1.54.0":{"name":"@agent_forge/forge-dsh","version":"1.54.0","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.54.0","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"8c8b004d2343c38a905c92091c142a8a531e7684","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.54.0.tgz","fileCount":9,"integrity":"sha512-DoJun78Z7QwKBAEqoHvNcpJSHseqkMxyA2e2YYAivKLUldxdwLYiAErvtJgk3B41Q8KKkoprtM5GFk3jVrBM1Q==","signatures":[{"sig":"MEQCIFKD8CLoswiIAA5GkwES9/zp2W1tVXJTtgQVKz6PXF+YAiAeCsieKNlXS1POcVdlaml/H78VK7bqN2VjFDW0+3k8aA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.54.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50255},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"a063b76c1f20a21c39986972b7a3a75c45477016","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.54.0_1788878627713_0.2423368929900267","host":"s3://npm-registry-packages-npm-production"}},"1.55.0":{"name":"@agent_forge/forge-dsh","version":"1.55.0","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.55.0","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"e534854dce02961087328c6a045401efe188601e","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.55.0.tgz","fileCount":9,"integrity":"sha512-6gIKZ14hGuq8tnO2n8N8u2dpTqO6SMpHFodZjOWxrMl06WYdbM7qHwjHbnl/2tKZVhH9H6BUeTXSVI51itm9LA==","signatures":[{"sig":"MEQCIEWxzldKbsF6gkfY7OUWuEyCjzIIkx+JEZT2i58FuYOvAiBun+YK3M1qJy1XAM/BdgjAiVVMvzmp82EvpHIGcTF49Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.55.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50255},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"758a5473c3a9c25a07264b5dff8947c3d30b2379","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.55.0_1788934834485_0.10034397543623674","host":"s3://npm-registry-packages-npm-production"}},"1.55.1":{"name":"@agent_forge/forge-dsh","version":"1.55.1","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.55.1","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"579640db378f76650c7ede6d3814fc553fc1c05c","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.55.1.tgz","fileCount":9,"integrity":"sha512-HlnE7rtqzwjMEv44L9MWiGmavY5UDE/GPbSG4wjMnoAxx9Xb/qZSF2Ajulnl+sQTtL5Opa7wVhLVqmihyRExeA==","signatures":[{"sig":"MEUCIQC+w853VNPX0Jji574nzGv2/u+IseMIaKCmajLRMqQeYgIgKaNRIGe/CHc+rtKD5/uCdSsnWQMQ5QPkGZuWlSRd7Kw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.55.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":50255},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"95d15cfe83e6c1deef7f613bb2fdca17e3f58734","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.55.1_1788940340577_0.08961606650967702","host":"s3://npm-registry-packages-npm-production"}},"1.56.4":{"name":"@agent_forge/forge-dsh","version":"1.56.4","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.56.4","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"0468acb52a8510364062abb0e2d4089f9700ebf7","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.56.4.tgz","fileCount":9,"integrity":"sha512-OwMYKZW46om/wMG5epugS/3HIkYBPk4s4lMeRNoyOSgykYH31epz89zbKR8YCNS+kerl0vaXQjcO4TiNiNpmAg==","signatures":[{"sig":"MEUCIDunZE0XrZ9hDDwYIfgZ6c6wkE+XAyHfxJqzQeffB2pmAiEA+3FXkOISIncF73GOmxSMOasM7+CB355+sGx5GdnAghw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.56.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":51248},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"0870344e205c587313baf4a85160029120f74707","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.56.4_1789106678832_0.5913795465731666","host":"s3://npm-registry-packages-npm-production"}},"1.56.5":{"name":"@agent_forge/forge-dsh","version":"1.56.5","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.56.5","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"fc6f3101e19c95081473865393915c895df782ab","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.56.5.tgz","fileCount":9,"integrity":"sha512-wK13jVbjwaiE6sQok3Jijhh5ZDmTf3gtJTF0azTP7gCqrKKfQROaXMsUYOraZB2RxMJgJEshCpa/XSFLL8mysw==","signatures":[{"sig":"MEUCIQCQCMU1jzkSd7Qp6OykIELwhs4jXSFimDB/0e8ptHb8cgIgbulo73hnhe+XG5HnsTlNVlgQeM+ZjUctNRMQqGtYTSg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.56.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":51248},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"48a4ed6116a6ca4c04d4f5a53c6594764a5a8379","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.56.5_1789113127837_0.4960591310346092","host":"s3://npm-registry-packages-npm-production"}},"1.56.6":{"name":"@agent_forge/forge-dsh","version":"1.56.6","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.56.6","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"d0e621ac562c7be6568c8cc07497bd9c64516ca8","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.56.6.tgz","fileCount":9,"integrity":"sha512-HaZV//lnPtZu7J1jJ6gKiD+8l0G4y+mZY7lw+TywQ8CqaLBuD+Lb5KYdfRaZvJ1Tcwsr0eRvTUShQ/o/WebyKA==","signatures":[{"sig":"MEYCIQD79KLDfUplmL5ST38qK/BzkidMOvBrUSt1RgFk8WaXqgIhANiiL84OLppWDVGWqvx5wjKBHo5xugXgBNAwADjbXoQ6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.56.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":51248},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"e26d69ede6fdf983cde39718133053aa328a7c7c","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.56.6_1789118111187_0.5511290678629865","host":"s3://npm-registry-packages-npm-production"}},"1.56.7":{"name":"@agent_forge/forge-dsh","version":"1.56.7","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.56.7","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"9b3654dc07abaf84d4db9df9e19f51296bcf9377","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.56.7.tgz","fileCount":9,"integrity":"sha512-YH3rgP7V0xcz9JzT1pr3f+vYlAiWfN7qDcWHSqKMbt+8bjSJ8IvkTVUPce/gDYhi/VvhBEO2oetgsb9x2FtIWA==","signatures":[{"sig":"MEUCIAwnLcsw4V/UI0iOlOa3rAYDxU1p2GaimMFlx702UZnnAiEAqycPAUkNWjMZzMTb6vVRXjzEr1cO+C84yi1QxRwch8k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.56.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":51248},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"8d2f5abb0b5f23173b47ecc9d50236a394cc3d39","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.56.7_1789126521787_0.8456207249117766","host":"s3://npm-registry-packages-npm-production"}},"1.57.1":{"name":"@agent_forge/forge-dsh","version":"1.57.1","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.57.1","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"7092498c4d2987232eceea80a341792d304b88da","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.57.1.tgz","fileCount":9,"integrity":"sha512-BuDDl3PY3CxPEgqbC18WFxzigrMgf4l+Lx90SPQMMz7V+FwETT3+GmPDh2IkHFXALxkTFZQMo4oHqDawls92Fg==","signatures":[{"sig":"MEUCIE8i+XltZrjOLE6SCirjeGTsopk7XQPZHvCVOSSn1U52AiEAsHEjibzdX8yEf1gppF8XxKFJjdWptXedAxuC1Z46PBs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.57.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":51248},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"0a58e1c923842096f3626a47f62bfe9f17bfce3a","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.57.1_1789275727064_0.992535267028422","host":"s3://npm-registry-packages-npm-production"}},"1.58.0":{"name":"@agent_forge/forge-dsh","version":"1.58.0","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.58.0","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"a72b9c53889bf480cf3ec49253c8a011ad55ecf9","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.58.0.tgz","fileCount":9,"integrity":"sha512-E3rTDkacg1pYZPF1NW2Y/IwKwFWAVXVl2u7A2KmN3yMhg2ww4eEbshHEpXFEQ71ZjKTQ9cKu3K8Wc8P1JFfCbw==","signatures":[{"sig":"MEUCIEZUOdjccEjaeu9VAkzF2c8TDVc4XjNus98MMEyra76gAiEAlRFtGlJOlPigNQteQeIlJ9ikypmsi3KyYm+uNcqxFTA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.58.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":51248},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"e1ce45563e429f3e95914db33bf8f4b9d2b9ea6a","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.58.0_1789353048504_0.37135749889697767","host":"s3://npm-registry-packages-npm-production"}},"1.58.1":{"name":"@agent_forge/forge-dsh","version":"1.58.1","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.58.1","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"9ee2d05db70a8e28c92ff6d16bdb69a6663368c4","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.58.1.tgz","fileCount":9,"integrity":"sha512-sLI3e1dAV4PPUYGWrQS/p129YRlS3/HE49GwvruWpR52VbJiHWY6mcC7R8YLgUQ5dRyTvrsS0pSGag7GY50VNg==","signatures":[{"sig":"MEQCIHbIccKA6Gee2aFdmZF6f9AGGKbOPotxwD6sVenfEqtXAiBRtGn/b2hF0PnFQfFAPk8btqQzxc/iHgyAto0ofEPvqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.58.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":51248},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"03177920db172d702531d26daf69b84bb02a6685","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.58.1_1789359409782_0.6884809970222996","host":"s3://npm-registry-packages-npm-production"}},"1.59.1":{"name":"@agent_forge/forge-dsh","version":"1.59.1","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.59.1","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"ef51cb79f57a882f622eaef8b5ddf0298884f3c3","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.59.1.tgz","fileCount":9,"integrity":"sha512-k3SvMIuAzUKbgt0EL8DpzynWZ5vysZdgFXRbXKxH+8481vk48/my5gn1lScdyCdIN+ffBcukQd8IiMifsLjedQ==","signatures":[{"sig":"MEQCIEN5jLZleLzo3BT8PdV9VrtTZ6fcq4QB/xVUYUJcoFHUAiB1J9SLii+S6Wpl2uZ5WY/gj4TKYCfgCw+w7j71cFIxHg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.59.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":51248},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"cd37ce013df6b677879215392524eb9a783352fd","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.59.1_1789371821651_0.8886095556987494","host":"s3://npm-registry-packages-npm-production"}},"1.60.0":{"name":"@agent_forge/forge-dsh","version":"1.60.0","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.60.0","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"f09461015a0453a6b3803811b3c8a295d353948a","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.60.0.tgz","fileCount":9,"integrity":"sha512-kwPK7xKvU9kQiBnOCxAWAGApwAs41tfpkfYT0oKt94GMRlSivpLmpgOkydIHn4GIiig3C99kJnkdsaN2hEjkow==","signatures":[{"sig":"MEQCIEJor+JJJx/RF5w/+a5xjTQJtKmz9JAfkPvVKV0ezBxAAiA1cvtohKPMQYimGBHj9axiH8kXGX9YK96fN8pegK1OEg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGqubfMw6CmthJ6igq8SMDoG7Oq75xDUMMgDTMEg6jPoAiAy4mr/Jy/9/eN8AjbO2S72QHz5Tx1W/YJ17jOJRRqAig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.60.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":51248},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"7052cef85a2e810f8411e3a2c30ea7f63ec36943","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.60.0_1789446493783_0.6809525079399072","host":"s3://npm-registry-packages-npm-production"}},"1.61.0":{"name":"@agent_forge/forge-dsh","version":"1.61.0","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.61.0","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"ec8efd167b385025dd3ba6f508bf1f2c2afde76f","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.61.0.tgz","fileCount":9,"integrity":"sha512-SgDtCFH4ZTIkzthx6tqDQJErjWIA+v861BzEUmA3RYusVhUX9Y6uex4hovZy3OOB6C3VIetA+jVe5pe62KTLJA==","signatures":[{"sig":"MEUCIBZHkI9FANYQz5weH2UPC9dfTfEwE4Md2JpEIKTcZPV8AiEAsHmjyvWKiWUOrv8ZM8/Xj4ErxNCSpT9pc68M5njw+lI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHdF1c+AhpVicH8dzOTaP1VIgsbs5tMiO7ww1PAXGiTsAiEA3Q+WCNXnLZpVBZNlSx7EN3EcllDeDcFT67XLdQNuysc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.61.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":51341},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"4f4f670efbb68abab80635694dff943d9705c39c","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.61.0_1789479640194_0.9631383181581707","host":"s3://npm-registry-packages-npm-production"}},"1.61.1":{"name":"@agent_forge/forge-dsh","version":"1.61.1","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.61.1","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"eb9a1fafe5f617c332d5dfee57e65fb641c62190","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.61.1.tgz","fileCount":9,"integrity":"sha512-aFyzCq3p2WHwwJNDcMGa55TdTDHg/SgA5ErI5IEr6u/WIAwZ6y0pNSchqZl1SV+rEXTclIAZDSveA29U/ME6jw==","signatures":[{"sig":"MEUCIQDyptux+y+wlhoFzJ9GjsJNoFoa7TthDexBKcWE221H4wIgKpztDr6ok1Q6Zi5SScU59mhz8iWvUTeJ5wyxloUWtHk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCGkYW/CkmmGiaDRRIYaoetXKE5mBvIRC1KJaVYmrGrSwIgOyzqBnzR2FTJO9Qc03jO3Kdgq0fMY+LhuEzOIgTNASA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.61.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":51341},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"bdc862d1bfe90ec1fe1f095c5251059def4736ba","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.61.1_1789485345245_0.8965425020673221","host":"s3://npm-registry-packages-npm-production"}},"1.61.2":{"name":"@agent_forge/forge-dsh","version":"1.61.2","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.61.2","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"18a50c010c380bc0a95f50cb306d89ccac0510b9","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.61.2.tgz","fileCount":9,"integrity":"sha512-n7SzR/OvMGi7W9LF1Zm0k7t1BW2dzw+hAQvOczMVLgBbguycSU3w6RrL8qgW2wWd6Vfs9PjS+u3WfF6duOSETw==","signatures":[{"sig":"MEUCIERiuiagZ+WVCuQ8GpTAFE/cc93RwKRs+MBoBPiJTHBJAiEAnorafUCwanCOZx4S7s6bsE3up5hZWxJ+YpEgbiaiwxE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCThoPWBCoeAS2Q+g+AGf04cCnMRjY1y9A8yAAZmYdX4AIgcYzSMcU3nVxVlF7j+gdpmOe0jeAwhvCmnpb4nwXgCco=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.61.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":51341},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"e16013424121fb1199155af14d0c455323426783","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.61.2_1789527020846_0.9520026025068957","host":"s3://npm-registry-packages-npm-production"}},"1.61.3":{"name":"@agent_forge/forge-dsh","version":"1.61.3","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"license":"Apache-2.0","_id":"@agent_forge/forge-dsh@1.61.3","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"homepage":"https://github.com/MjxUpUp/Forge#readme","bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"4a4cd00a41b9d6b34ecdb315d96e74e1899b3f15","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.61.3.tgz","fileCount":9,"integrity":"sha512-9Lv1slmNjK453SJIwag166XWElpFPA7NGW5eR90QmCwlpCMNW5hF3BzRSSzl8+z16yu7/s+iqgl6mDLbcCjYjA==","signatures":[{"sig":"MEUCIQCaVrPpZLD81v3L4MlWc4X3+dvNJSIVtQTxv3E/wDiHoQIgSF/+mT6c1C5rVDs90Mzr3VrKQvzwg5MHcGqI0EOMjHM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCexJhAibVZijTFS/3MOJ+vGunIHdp8AWctGY3bYS9htgIhAIIHNL8g2HIU8YjO6hfXgQJqtHXKAPPSAvNd1WGhOEtp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.61.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":51341},"main":"lib/index.js","type":"module","engines":{"node":">=18"},"gitHead":"d4738599561fde721f17594d174748f47760fdf6","scripts":{"test":"node --test lib/*.test.js"},"_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/forge-dsh_1.61.3_1789531086365_0.21543547166586796","host":"s3://npm-registry-packages-npm-production"}},"1.62.0":{"_id":"@agent_forge/forge-dsh@1.62.0","dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"dist":{"shasum":"ebf66a24a9c71b5f00280654db701a3f15fe2ff6","tarball":"https://registry.npmjs.org/@agent_forge/forge-dsh/-/forge-dsh-1.62.0.tgz","fileCount":9,"integrity":"sha512-x2xvteRAtsZIMZ0wgaNEeLT1uEsUsD7bP9BEwLnuxaqcySzIfVxyC/meu81Hp79K3Fob2fFLWOKzOwHwVtmQuw==","signatures":[{"sig":"MEUCIA0Butk/bHCe+7iut0W/w/kAxSo/FSMdFeJR3jQ2WKu5AiEAgQmi3c+IM187hPnufIMFJZL3N2/06NE+FJqqAZpadxA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEuBmDLdgNiKeoeEIYsVaoOt6lLpTHKw7A8ae3BKcJNVAiAYWIu7Cw00Yhkk2irC9Fpf26lmBucgQoP2M0zVNvFuaw=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agent_forge%2fforge-dsh@1.62.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":52551},"main":"lib/index.js","name":"@agent_forge/forge-dsh","type":"module","engines":{"node":">=18"},"gitHead":"3cda92b9639755a405c393a33a2e205ab6fa0a53","license":"Apache-2.0","scripts":{"test":"node --test lib/*.test.js"},"version":"1.62.0","_npmUser":{"name":"whatcanyouoffer","email":"514599694@qq.com"},"homepage":"https://github.com/MjxUpUp/Forge#readme","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"_npmVersion":"10.9.8","description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","directories":{},"maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"@deepseek-ai/cordis":"^4.0.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/forge-dsh_1.62.0_1789564268415_0.7932034320251433"}}},"time":{"created":"2026-08-20T10:37:19.313Z","modified":"2026-09-16T13:11:08.908Z","0.1.0":"2026-08-20T10:37:19.646Z","0.1.1":"2026-08-20T14:03:22.770Z","1.40.1":"2026-08-21T14:04:56.778Z","1.41.0":"2026-08-22T05:05:19.673Z","1.42.0":"2026-08-23T05:59:35.661Z","1.42.1":"2026-08-23T11:49:55.179Z","1.42.2":"2026-08-24T04:48:33.845Z","1.43.0":"2026-08-25T14:16:20.915Z","1.44.0":"2026-08-26T12:07:35.126Z","1.45.0":"2026-08-27T12:57:45.041Z","1.45.1":"2026-08-27T14:13:54.052Z","1.45.2":"2026-08-27T15:13:18.938Z","1.45.3":"2026-08-28T02:15:13.740Z","1.45.4":"2026-08-28T04:27:04.524Z","1.46.0":"2026-08-28T09:35:01.245Z","1.47.0":"2026-08-30T04:34:19.940Z","1.48.0":"2026-08-31T15:53:26.808Z","1.48.1":"2026-09-01T10:07:59.212Z","1.49.0":"2026-09-02T06:39:47.905Z","1.50.0":"2026-09-04T09:54:05.358Z","1.51.0":"2026-09-06T15:42:15.563Z","1.52.0":"2026-09-07T09:14:20.004Z","1.53.0":"2026-09-08T02:45:43.814Z","1.54.0":"2026-09-08T14:43:47.841Z","1.55.0":"2026-09-09T06:20:34.613Z","1.55.1":"2026-09-09T07:52:20.730Z","1.56.4":"2026-09-11T06:04:38.968Z","1.56.5":"2026-09-11T07:52:07.969Z","1.56.6":"2026-09-11T09:15:11.314Z","1.56.7":"2026-09-11T11:35:21.927Z","1.57.1":"2026-09-13T05:02:07.345Z","1.58.0":"2026-09-14T02:30:48.649Z","1.58.1":"2026-09-14T04:16:49.919Z","1.59.1":"2026-09-14T07:43:41.781Z","1.60.0":"2026-09-15T04:28:13.864Z","1.61.0":"2026-09-15T13:40:40.284Z","1.61.1":"2026-09-15T15:15:45.325Z","1.61.2":"2026-09-16T02:50:20.946Z","1.61.3":"2026-09-16T03:58:06.455Z","1.62.0":"2026-09-16T13:11:08.497Z"},"bugs":{"url":"https://github.com/MjxUpUp/Forge/issues"},"license":"Apache-2.0","homepage":"https://github.com/MjxUpUp/Forge#readme","keywords":["dsh","dsh-plugin","deepseek-harness","quality-gates","hooks","ai-code-quality"],"repository":{"url":"git+https://github.com/MjxUpUp/Forge.git","type":"git","directory":"plugins/forge-dsh"},"description":"Forge quality gates for DeepSeek Harness (dsh): task gates, read-before-edit, bash hazard interception and quality scoring, driven by the forge CLI through DSH's typed interception points.","maintainers":[{"name":"whatcanyouoffer","email":"514599694@qq.com"}],"readme":"# @agent_forge/forge-dsh\n\nForge quality gates for **DeepSeek Harness (dsh)** — task gates, read-before-edit,\nbash hazard interception, and quality scoring, enforced inside DSH sessions through\nthe harness's typed interception points.\n\n[Forge](https://github.com/MjxUpUp/Forge) is an AI-code quality gate engine. This\nplugin is a thin Cordis wrapper: it forwards DSH tool/session events to the `forge`\nCLI and translates forge's verdicts back into DSH decisions. All gate logic lives in\nthe forge binary — the plugin itself has **zero runtime dependencies**.\n\n## How it works\n\n> The mapping table below and the fail-open contract at the end of this README\n> are the **two-sided bridge contract**, mirrored machine-readably in\n> [`contract.json`](./contract.json) and enforced by forge's compat snapshot\n> (surface `bridges`). Change all three together: `contract.json`, this README,\n> and the tests on both sides.\n\n| DSH interception point | forge hook event | A forge block becomes |\n|---|---|---|\n| `tools/pre-execute` | `PreToolUse` | `{kind:'deny', reason}` |\n| `tools/post-execute` | `PostToolUse` | `{kind:'block', feedback}` (error result) |\n| `agent/pre-step` | `UserPromptSubmit` | `{kind:'reject'}` |\n| `agent/session-start` | `SessionStart`¹ | context via `agent.inject()` |\n| `agent/turn-stopping` | `Stop` | `agent.steer(reason)` → another step |\n\n¹ `source:'compact'` additionally fires forge's `PostCompact` group — DSH rc.7\nexposes no dedicated compaction point.\n\nDSH tool names map onto the Claude Code names forge dispatches on\n(`write/edit/str_replace_editor→Write/Edit`, `bash/pwsh→Bash`, `read→Read`,\n`skill→Skill`); unmapped tools pass ungated. The wired hook roster mirrors\nforge's canonical spec (`lib/spec.json`, drift-guarded by a Go test in the Forge\nrepo) — freeze-guard, task-guard, assertion-check, read-before-edit, bash-guard,\nhazard-guard, auto-compile, workflow-test-guard, file-sentinel, tool-track,\ntest-nudge, failure-track (PostToolUseFailure), subagent-track (SubagentStop),\ntask-verify, review-stop, skill-trigger, and the session-start group.\nfailure-track/subagent-track are mirrored in the spec but inert until DSH\nexposes the corresponding event points (rc.7 has neither).\n\n## Requirements\n\n- The `forge` CLI on `PATH` (`npm install -g @agent_forge/forge`), with the project\n  initialized (`forge init`) for task gates to have state to enforce.\n- DeepSeek Harness `0.1.0-rc.x` (verified against `0.1.0-rc.7`), Node.js ≥ 18.\n- Windows works out of the box: npm lays out `forge` as a `forge.cmd` shim, which\n  the plugin spawns through `cmd.exe` (a bare spawn cannot execute it); timeout\n  kills tear down the whole child tree via `taskkill /T`.\n\n## Install\n\n```sh\n# from npm\ndsh plugin --profile web add @agent_forge/forge-dsh\n\n# or straight from the Forge repo (subdirectory install)\ndsh plugin --profile web add \"github:MjxUpUp/Forge#main&path:/plugins/forge-dsh\"\n\n# local development\ndsh plugin --profile web add \"link:$(pwd)\"\n```\n\nRestart `dsh web` after install. Check status inside a session with `/forge-status`.\n\n## Config\n\n```yaml\n# profile patch\n- insert:\n    - id: forge-quality\n      name: \"@agent_forge/forge-dsh\"\n      config:\n        forgeBin: forge      # binary name/path (env FORGE_BIN overrides the default)\n        timeoutMs: 30000     # per-hook ceiling; timeout kills and FAILS OPEN\n        enabled: true        # false unwires every listener\n        debug: false         # log fail-open hook errors to console.error\n```\n\n## Fail-open contract\n\nBlocks are read from forge's stdout JSON (`decision:\"block\"`), never from exit\ncodes — a forge internal error (exit 1) is indistinguishable from a deny otherwise.\nEvery infrastructure failure (forge missing, spawn error, unparseable output,\ntimeout) **fails open**: a forge outage never locks the agent out of its own tools.\nSuch failures are silent by design; surface them with `/forge-status` or `debug:true`.\n\nTwo latency trade-offs to know: hooks run **serially** per event (up to five per\ngroup), so a slow hook chain delays the tool call — and a gate that legitimately\nexceeds `timeoutMs` (e.g. `auto-compile` cold-building a large project past 30s)\nsilently loses that run's feedback to fail-open (visible in `/forge-status`).\nRaise `timeoutMs` on big projects.\n\n## Known watch items (dsh preview)\n\n- **No stop-hook loop guard** in rc.7 — a permanently-failing Stop gate steers at\n  every stop boundary. forge's Stop gates are self-limiting once their gate passes,\n  but a stuck gate loops the turn.\n- **SessionStart context is best-effort** (emit mode, detached): it may miss the\n  first request of a very short-lived session — same limitation the official\n  bridges document (`TODO(session-start-gating)`).\n- DSH is a developer preview; pin this plugin's version alongside your dsh version.\n\n## Development\n\n```sh\nnpm install   # dev-only: @deepseek-ai/cordis for the wiring tests\nnpm test      # mapping, runner (incl. cross-OS planSpawn units), decision folding, real-cordis wiring\n```\n\n`test/doubles/fake-forge.mjs` stands in for the forge binary; the wiring suite\nboots a real cordis runtime and asserts dispatch order, short-circuit semantics,\npayload shape, and every decision mapping.\n","readmeFilename":"README.md"}