{"_id":"dsh-clawrouter","_rev":"47-acd95d3f74a4e27ae5a559f6f7cc7cc3","name":"dsh-clawrouter","dist-tags":{"latest":"0.12.0"},"versions":{"0.1.0":{"name":"dsh-clawrouter","version":"0.1.0","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.1.0","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"30d839c82bd55993d929218b40764f07759b5797","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.1.0.tgz","fileCount":10,"integrity":"sha512-5gTNcKBU/368sdCHNhxTPZIDN/mrABY0Qhzjf2IN5eXwO2FiKp0f7IRNREet1PpCmpMOAZy5wno7Gv9uAxs4Ag==","signatures":[{"sig":"MEUCIC3dV4K6kPlyE1XdcDDGitW8/RER8rRsfWQuWz9WH8eeAiEAvwcY1iQjQ4gFPXvvCu0MP2Ac3i1kxh6uiIMn4lkQIxs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65338},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"e7ef4bc3d614887f790664e04a85ae4e7e6f2b54","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.2","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.1.0_1786669547004_0.9586858896661083","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"dsh-clawrouter","version":"0.1.1","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.1.1","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"3c107a2bbcf5c24407677ebb1350ca74c41dbedc","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.1.1.tgz","fileCount":10,"integrity":"sha512-/pbIyZjEThfctqyRD81JZnq0kFCnUmh0WEBDo5rFq6bkYwTU0NF8GTMQK6BqyqYlBOJbOKDBwJdHC1/GkQyKSg==","signatures":[{"sig":"MEYCIQDamptWD8vJ/HRRBHaFMEx/1rzjaagwG9jhvhNAdzTRmQIhANjNnP5P5oG+lFPv0gWnbO1QGB68MGQjesO2UHqg7dwj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62506},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"b684ffdb62ce9076d94612ad5e3a4135f0293e8d","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.2","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.1.1_1786670062448_0.28549234312746985","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"dsh-clawrouter","version":"0.1.2","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.1.2","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"97a52098d947d28ef6195ab8f4cb71896b8ab970","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.1.2.tgz","fileCount":10,"integrity":"sha512-bajkCE0acxIzvnp9SRltOlqeSfoGzPXUWPwIjhamOH6vu3xR5vEDJH7GC16zWNy4kxC+uT04deMeadyGj/8ZHw==","signatures":[{"sig":"MEQCIC7mHB1IUYtGC3u8B4VDtfNzvViZXiWFimJqHzX2yhviAiBxXQVUeX8LZ7ukKVGuz+4bJym1MMXPltjMqSDKi2UoFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66068},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"1d6caf786475c20e8774787bac15c3f3b86e42ef","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.2","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.1.2_1786673994166_0.6635952566985204","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"dsh-clawrouter","version":"0.1.3","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.1.3","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"2e75a0f9dc29e7f763864d933ee65b9ae3d72758","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.1.3.tgz","fileCount":10,"integrity":"sha512-wiLFhkFfgtPq0G1nuCkA64trCXo2eUGxvGnHE3+52suqbYWvs1235+kaxwizRKR6sM3luVnnLq4Qts/8x2NqaQ==","signatures":[{"sig":"MEYCIQDznJrXbauqFLjCSRxPtdSZM03OfhD8VmFte/Qbp4DmvAIhAL6XZk2PyJGCEBgwcjcTfFXdGg7aCBI4xqGV0kY/Vbak","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66676},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"2a6ff78ea39d9d3dc5b02796299995ec6d901a97","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.2","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.1.3_1786675235218_0.9459684054801025","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"dsh-clawrouter","version":"0.1.4","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.1.4","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"860b9ec54c231b9c064030cd97b228ecc52efad3","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.1.4.tgz","fileCount":10,"integrity":"sha512-H13fsl5zzwlfOgjRSVuX0f4d8vISuR6Xn7ydgC10GAph58U7dKTTRLfvshSuHQAvKizH6zuJ7w48/xhYaoAYgg==","signatures":[{"sig":"MEYCIQCF8DKmvBenW3XQS85WWPMco7qRagub21BUE5P4N5uZlQIhAP42er9iolQ/KDBxH0WB9urY2YD8Yc0eHbo2diWvoiZX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67273},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"8237bbf661d42298643b6d00921e8dce51611f2d","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.8","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.1.4_1786676941446_0.7931355531725306","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"dsh-clawrouter","version":"0.2.0","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.2.0","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"3a81bfb8ef69bee52ce05212182c5ce87a0d3cdb","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.2.0.tgz","fileCount":10,"integrity":"sha512-fGoti8vv5YFHJOVFoAC5d54aXEdm+MXhzj3gqWSTsKCB59O/qSu2Bb09D5uAVnl8vcc0zMvjBvGjQAoxYc8JAw==","signatures":[{"sig":"MEUCIQDcoEJw+0gVi5pvSeXLIt+HIHAshYtWz4FMSVQmKvJzAAIgHquRfkUuSTKAkhzbZTdvfacIF9vkPk4i6jRM5JhZ3Kg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69530},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"b2b7e2db2f63236212c1473e64833e29eba6a8ce","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.2","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.2.0_1786678692165_0.7214334968810632","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"dsh-clawrouter","version":"0.2.1","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.2.1","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"ea84f7454ff737912b021f41d030a75bf9e55e17","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.2.1.tgz","fileCount":10,"integrity":"sha512-CXvY5aBLSNrRseJOdEyq4SiedH26UpmkAacYWEH9kTtCb7rXum7Ma6A5xGvZHhuW6dMMqgJqia9APtJJ6/XWEA==","signatures":[{"sig":"MEUCICDqt41O69p1pkcrzSGdAa4IGDQylB4cm4I9UyI2HAqvAiEAv9kEG7I1CRE7yJtyV4V5LBBSiu6WOpS1motVKGsfEzQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70575},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"4a9a5c6bf3341343825f65c336ee2728a3cab5bd","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.2","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.2.1_1786679252822_0.7058149724958482","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"dsh-clawrouter","version":"0.2.2","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.2.2","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"6ab03f2509c71d81a6f17307250f6e31614ea0b4","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.2.2.tgz","fileCount":10,"integrity":"sha512-+8ldSvrhIcCnNMf9GRVdhi8+T8bmnBo97tkmSFqauvrxsLOnUZrWwP2qme0Q/lV3kX3INRaBRKYB6S2S4lYnDA==","signatures":[{"sig":"MEUCIG18QnFjfudwDMT5HcWvTjWUUBREeLWcQR8wqQLFhHhCAiEAmRWS1/wSKwGvnMBWyGMG9k7p00A/4IigSfgVrjB1xes=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70733},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"d24b488e7a2bf1de220e992d1656a64984e1be03","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.2","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.2.2_1786679521399_0.533142371750005","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"dsh-clawrouter","version":"0.2.3","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.2.3","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"54e364790f5ad9d38d22439ee77468043335ee6f","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.2.3.tgz","fileCount":10,"integrity":"sha512-46vEdgGf6XW6OBKnS8Aky/k9fVpSe48iymsd6Hg7agdCYEJa2cHKBZEZGS4u9fVumLcJyKWpeOdpT3O9oQdk1A==","signatures":[{"sig":"MEQCIBLS/eQMEOpT7nMGO1VLbCqDaE5nHdCjGMjbqJO5ZTCjAiBBG4qrWz6YWk134RixPnUUCjLEUGkWLJJMaEJgKjA6BQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70938},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"913c77b911b3434fe778d648b2b9339fda940ce8","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.2","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.2.3_1786680393816_0.23063781447300014","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"dsh-clawrouter","version":"0.2.4","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.2.4","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"4db98c3ecb7c3175d5e33cdd2199f1a33caff1e2","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.2.4.tgz","fileCount":10,"integrity":"sha512-Gvg9bc8o0REU2632YNC/UDfcAwG1hllJWIAgG5eQZV5z4LQwoECCMhuVA3YVsaG/kLRSmPJAzBupxPDJRc6NPg==","signatures":[{"sig":"MEUCIG8he9So6evDcO6l/WXAq+re/ECYcM/1tXEODe6k6Wy0AiEAhrXRtjcDVDb7W7AJzGLWZX8JzeZ7Xf43gu9VBmjSutw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71162},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"6ae4e824696f346a90bb5d11b7dcfb24aacf57d8","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.2","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.2.4_1786682134374_0.6474657173877008","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"dsh-clawrouter","version":"0.2.5","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.2.5","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"51281173b28ea9f0877523ce478b2d1b164cfcc4","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.2.5.tgz","fileCount":10,"integrity":"sha512-4MxdEMfJLkviogCgmSM1GFMOUOI3yOuVuK+Vvfry5O1hWphYUhn+Vhb2J9mwGRsRysTflCSuYPyEkWCihj6V6w==","signatures":[{"sig":"MEUCIQDF5ZUZlS6RzkiR3HUAmia8fVbX+o3IKhWuyC261VxgbwIgZa3xktph9gSkfrNnor+66NbcAAVCqUdlox1L7Ic3F9c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71376},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"11c09117f7425d7d520cb65c9d529836ef65700f","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.2","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.2.5_1786684031069_0.797151056735723","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"dsh-clawrouter","version":"0.2.6","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.2.6","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"6d280ec8ae140c809e3734b5f22f6061e10808bc","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.2.6.tgz","fileCount":10,"integrity":"sha512-8N+FurOWtGowfw2GcK050A/3mkmbw30AG8Luh1omA8yKwrdLyc7+YhKAKcvpVZH8nJ81+axqpNc1f947/T8o0Q==","signatures":[{"sig":"MEUCIAqqZj6uGcgmkk7lkrXOGpZi4WbnYkN/3s5vjoAihbV+AiEA1YdQozlGCDSiRt6BksXx3+q5n+lH5PMCwW4g6Z6j54A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72082},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"6a107d3ed4032f5a1d0cbfe2c3634403fe74a5a9","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.2","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.2.6_1786685762929_0.8483832800185247","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"dsh-clawrouter","version":"0.2.7","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.2.7","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"ba280886e7d061ef2b1124cd2cdb0bfdee064c7e","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.2.7.tgz","fileCount":10,"integrity":"sha512-j1hBqa3X+aZXfsd7n+jmBjdDyd36z/zxbG60OwlVGNZ/eacZxV8b8vTZF7vGZ9IKFsYi6CQMFFGhaC8YQXz9nw==","signatures":[{"sig":"MEUCIDrGH0qEEgsChMPTYlG4fH8jF7jQ2SwCyGPWn8nUujZaAiEA8r7JeLiYIfBbTr3Me9i/Tsox24sothDsSKIH4vKWdaU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72959},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"a070270e7b8a5cc2b5b112ef0edd09d5c74bebe4","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.8","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.2.7_1786687514634_0.23105377173382258","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"dsh-clawrouter","version":"0.2.8","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.2.8","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"5affd01a2bb84a30c1b3f127fd2d93320e9a5bcd","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.2.8.tgz","fileCount":10,"integrity":"sha512-RBH9NKURsT8OHRyKZ5Su064fyNIn+zyZF0069EmWEl6XgnLGcdihZXcQ44Ke8++OaxdJV+u4AKHcMwf9vgrh7A==","signatures":[{"sig":"MEUCIEjV/QVnA1pvm5W7/u/xalqgMIigyp9dUNt1Pva1mgJXAiEAyQ1jqRSrc/rHZwBcelQ8KoR7pZtUsR7MgXSI7Pll2/M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74076},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"0547bd6a4faea78f919d384ff9a2395757298c88","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.2","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.2.8_1786689263853_0.03141540713773261","host":"s3://npm-registry-packages-npm-production"}},"0.2.9":{"name":"dsh-clawrouter","version":"0.2.9","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.2.9","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"c41513fdf31c8c055b775fbf0c26ac3c26e43240","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.2.9.tgz","fileCount":10,"integrity":"sha512-VOstDpbR4sLEhxSMkFOjhqt0W6VYRlk4gHh0VWpLlKrVnIkAJwp3YGkzuhaMOsvQGDOc7nKXTP6HjlINlGFV4Q==","signatures":[{"sig":"MEQCIGIjkdhv3XpORf0Lz7FcCJmumUXb6XsmdsIal+hMG5xwAiBL/2bw9pRhVGahVeE6rtgyGknYsZpCXGaEItM/UHXqLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":74386},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"106f0df10f93c8bb7a104d391735ccf18a0989a0","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.2","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.2.9_1786690966430_0.1268956996349926","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"dsh-clawrouter","version":"0.3.0","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.3.0","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"2dbe735032b75bb6f586d94c6d59e4ea330ea545","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.3.0.tgz","fileCount":10,"integrity":"sha512-vaM3N1+7UA61t67azrdpXVzM0KWX8PshmFJDdHbIwSuHV74ewEHwy3ZopLZmDgYmMyc7BvXuGJVGPhWu7C0FxA==","signatures":[{"sig":"MEUCIQCUBhZeRfEv1TCkDQX5nOiVjth5el64lnOhLiqzn9mVwwIgX9gjOGjEVmfFnzYvav+eIGldqqFC9IgHBK2JNuaK5X8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83947},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"0ed0ab1e8fc8449225272fbf0ce774d019bb0edd","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.8","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.3.0_1786692743757_0.6034074157856828","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"dsh-clawrouter","version":"0.3.1","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.3.1","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"bf513183912a8341afc4ce9f696d4f791fb2d813","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.3.1.tgz","fileCount":10,"integrity":"sha512-mjCvZT2dJBr1OWa9GStp+Wen9nERpcQIrOpxUeiQMZcoyOlr31Oel4EZnGxW3xtdwbi7YIYOwQ/WClt//WMGkA==","signatures":[{"sig":"MEUCIQD8uEd0dJD13h9svDF48dRP+Rk7wZItUPix1c18d3fNCQIgUJsV4aQkWoayeKtiGQu+nwXgFJP0Tt0TSBW3t0gQTVw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85456},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"b26c1ff747f3c865a24fb39b9ac1062aedeee18d","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.8","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.3.1_1786694561747_0.4528011654113975","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"dsh-clawrouter","version":"0.3.2","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.3.2","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"2bad299a130bfe8c881c592a46b00dc8e6850aa6","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.3.2.tgz","fileCount":10,"integrity":"sha512-nfkFKp2FCw63wQNzOU9PAbexvLxFRT4lgqCBFpfUbkXFQN4P9WuVYcoX414hXRU6dTQYUUzlmNLwGzbN2D5VCQ==","signatures":[{"sig":"MEUCIQC0tl+ezJmpDFvCv+HxrpIRSNbSmG4RrCd6ZcUq7Xpk+wIgYPu76QN/S6KyRipOzD3YQS8fZ5NTahZc+8PIW4c9NSA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84200},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"4a83d3ec0103ef24ea75cb4c9315963411e27fbb","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.2","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.3.2_1786696410300_0.7132513499422668","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"dsh-clawrouter","version":"0.3.3","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.3.3","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"902a0cad3d0c5f7ca0b9744dc269de67111b81e0","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.3.3.tgz","fileCount":10,"integrity":"sha512-5i0DigAJZxcnYUkTSLpU6rGYvos20gsphI2ihtD52QUuResY8KhZqc7Ab8l4rTax3Zo6PT/FvTY6FKptzUR6VA==","signatures":[{"sig":"MEQCID1wTysa0HClQx4F/X0Y7yFmzxVSQqZG9NFsD8kHnlMsAiBsNhl70WzSI8V4iNEaQksnOxAZQkv4se9mwU34HsG94g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85036},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"13a8f32d2ab4c279722e8727af353ef51df1e5a7","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.8","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.3.3_1786698073576_0.7343403660113164","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"dsh-clawrouter","version":"0.3.4","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.3.4","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"269b080fa08dc6375d89ac425183f3a359aaa459","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.3.4.tgz","fileCount":10,"integrity":"sha512-tDP7Szi5iYCYvdP7hAaS5fBcl2zBOub3HnFXFhyA4Yub2oLyc2ukTwNVAOEjwlX81UgwciJ5+rRwRdheTOM/0Q==","signatures":[{"sig":"MEUCIQD4HTbbeOlmnEI/818MHI9Lqcp7HOHu6ltLAnXZiuazVAIgeS39WGSWiQB0ZTuKWk+fxH8Hajotdx2NVLpUndu0hIM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85503},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"9b401b821c748d43267784c6708d22e109ef22be","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.8","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.3.4_1786699770014_0.9215572948535553","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"dsh-clawrouter","version":"0.3.5","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.3.5","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"6313a833a3652fe5f915ac94a746fae3a4eee187","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.3.5.tgz","fileCount":10,"integrity":"sha512-+xMtiCRdDdMgAelEKT5HTDwdlY67o03fqQD9PUbOV0O8h2NfH/1MnTpNw+YODJLrvqAIgirNNaAUuNeyVBg2Xw==","signatures":[{"sig":"MEQCIExzv0kLDuDi3SKrzxm1EArageD5NNIEDvXoh9d12uV5AiAYs6Z17649kBwhThPFPZ8xNQjKyD4HDubSMH2c/AXimA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86568},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"5e818f9b720043d9b093ff26544c6e87f4abcb30","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.2","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.3.5_1786703356963_0.9031662396845919","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"dsh-clawrouter","version":"0.3.6","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.3.6","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"9df05d71d55cf9d1872f3b08ab88942c697706fb","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.3.6.tgz","fileCount":10,"integrity":"sha512-BAw//dTVoSJ+nereT3VRl4bueBWGWmqFI0RuY1w2NH2cRCQvsTWNf8WNb8lvegqSl8/Qp4eyFSSrMGaf46EEew==","signatures":[{"sig":"MEQCIBaF8mcXAaamx0n8iOl/r10JJQyVm/nYv3wNntSJA1RNAiAPPER/LtFDuinJmMnvnrxcBFBneN2rz9Ea4SkXba1x/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86756},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"a8822af6891800119ac5075e7a395eae72dfe90e","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.8","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.3.6_1786705129917_0.9216254310617502","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"dsh-clawrouter","version":"0.3.7","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.3.7","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"11ef69ce792b8139e3ba0e111a26153caba98303","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.3.7.tgz","fileCount":10,"integrity":"sha512-gYlaEJjiwPK5LRLYLTMW9qfjI/ieoVYbrHBRbHtFJDw5pK5xgQeR3/iYfAPh+KU91VLeKu9GupgpGmWP79W5xw==","signatures":[{"sig":"MEUCIHv2A2hm4Nd4TwrtmobkGSQ508Yqs29KpY7tbgzx2rMYAiEA/1KddaKlQWvnR2sz/V7UVfX60hCFiXHDLz1oj44M/8k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":89101},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"a824aef72fa23a5bbb7374ad23721ade07b13dc1","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.8","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.3.7_1786706959335_0.19426348273423244","host":"s3://npm-registry-packages-npm-production"}},"0.3.8":{"name":"dsh-clawrouter","version":"0.3.8","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.3.8","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"00d0af2dbaf93056838354b0f577d84474b7c0e5","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.3.8.tgz","fileCount":10,"integrity":"sha512-OTn1OFEd0CWTTwTBrnaOAJ1neI4Sj09Gm6KhUxQD+/B4YaHsKATDRf+d3ROfHaA45xFC6GKAY8y+oD37WJRrzQ==","signatures":[{"sig":"MEUCIQCfXqkbYtCNc+p5VLM3DXcHynOdPol7Yf+U2XD7ibP/vgIgYJpGKP0kBoXr6Xj+HNH7zJDiaUJ3BAt5/X350//ZJaY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90365},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"7035fe5c026e6e74b81d87368dcd899ae752b0d5","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.8","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.3.8_1786708795163_0.5272638075650249","host":"s3://npm-registry-packages-npm-production"}},"0.3.9":{"name":"dsh-clawrouter","version":"0.3.9","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.3.9","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"119fa5a5ee8dc74848d06b121fde9d8389b0b75d","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.3.9.tgz","fileCount":10,"integrity":"sha512-ojBwIC4Lr3fR6b2jQfCS5BuU+cN9j3Jo779dDNj+RlEUS7hW+vzReueQ9IygCNuCJtIrp9o3dmssyFjDDJBF6A==","signatures":[{"sig":"MEQCIDJCkxGZqi43EeQC2s8pbygivXlCAPRawddHunA2rW2VAiAsNW/OjaUVDh/eSrbF+AqGwd/UElOpou+D8gyeHuYTnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91225},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"f3676801f579db68e50b80cadae04969cf02a0db","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.8","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.3.9_1786710485835_0.6146114323652367","host":"s3://npm-registry-packages-npm-production"}},"0.3.10":{"name":"dsh-clawrouter","version":"0.3.10","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.3.10","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"1fc77710a83bcb26346dc98086874ec743755cec","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.3.10.tgz","fileCount":10,"integrity":"sha512-I+x78d6+TiAx3VxwCTBF31VCUEh/oD17U4LM5skHzFVv/yCHqvsMTVayPtd2VC0q4zs3AIH1CqCKDjGn72bTwQ==","signatures":[{"sig":"MEUCIFLtdQuMDlNz2M+GGYP5aVYpR0oSKha4nHjGPf4VtzCaAiEAxrS26Q6SGgOkhNe/2mntP3tnZnDQkXVUAFpqWm8L0n8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91275},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"0b23c484a6e3f0e9b1602e012507a4970e0d8960","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.2","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.3.10_1786712188983_0.5625987998909643","host":"s3://npm-registry-packages-npm-production"}},"0.3.11":{"name":"dsh-clawrouter","version":"0.3.11","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.3.11","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"36cd57cbd5a5756ec5e890a1e920a4849f4a36ef","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.3.11.tgz","fileCount":10,"integrity":"sha512-B0fFZfqZCizpW9NV3NxTVDRg8xvkeoTDe6v7niB6EmqyVdvSbwD79YKV1ksSoBY0u6hTaEApDiFXf1nNOZrqwA==","signatures":[{"sig":"MEUCIQCxMP2OD2r6d1zgsb/ZBvfQlo8Fm9Yhsi4bKvNgIthjJgIgYpXv462PV4M9HuGq2551L8Q9HmDl8d5gVRBS6llRy2E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91351},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"f648e3e3e42ae186235f079bf131f5632ee8422b","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.2","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.3.11_1786714076458_0.4685844674963957","host":"s3://npm-registry-packages-npm-production"}},"0.3.12":{"name":"dsh-clawrouter","version":"0.3.12","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.3.12","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"782e367d066449b4c331486096ec83ea02770853","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.3.12.tgz","fileCount":10,"integrity":"sha512-+aZwFKm6c52dPWeRyNChzTcFplOUZqcg2Gm3O6kuRR9zMsTxZF03rpSQGVK9/jq/jzw0R4WGR7FmZc4uoASq5w==","signatures":[{"sig":"MEYCIQC3cY3XAij5JuNfn+oB+hyK7APGXbMMhJMHl0CFpoLYgAIhALIeks2dlHYFlLXbhbzEbTOL1W1KChWceSDQXUnFZny+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91558},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"b66713de62ac9d9af7be855cf31f2a660a562eb3","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.2","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.3.12_1786715752084_0.07183890196525344","host":"s3://npm-registry-packages-npm-production"}},"0.3.13":{"name":"dsh-clawrouter","version":"0.3.13","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.3.13","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"f43e93151888c51a6ac43c91a0169e8391458c73","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.3.13.tgz","fileCount":10,"integrity":"sha512-xgZpXnGPJaQei9WqoojFf1U7WbmMS5ABjBSOyVXcOnXIoEPVf1FrK7kOrlmJvgbJsyberK3BvSYU77yn+CEqeA==","signatures":[{"sig":"MEQCIAcRvYTwToJN7NN/Bm9tIW0ALhMHn0I+rTNdxvyugq3bAiAlmTtoTUcjl/snFE1km6sa5wEKebAhbSLg2ybXpqts9w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91721},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"4f150e5e66d209c133ae990fbf4c969d0efcdd22","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit","sync:models":"tsx scripts/sync-model-count.mjs"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.8","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.3.13_1786717417985_0.8963265382050365","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"dsh-clawrouter","version":"0.4.0","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.4.0","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"3e224ad8ad06f6ae0ee57aca2421c3a8e1e66013","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.4.0.tgz","fileCount":10,"integrity":"sha512-34sesGeYvZ/nohyoX2gsQ4zRXHZr9sAXgbiaBAOsqeM7KdjDhDWgmrRJ669jByPI2wrMpFH/mDdxQYJwnSr71w==","signatures":[{"sig":"MEUCIAlFO+0oxJ7ItcpcSaKXDwwxKcw3N3EtDN6VEGBpqKXhAiEAhAbcsxbGkZzrfmebLAJCVnKiJcBhEvt6e6JbO7eUWsE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97400},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"0ea1519c2f2f98a85976ddf06dff0df2ca93e009","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","sync:models":"tsx scripts/sync-model-count.mjs"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.2","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.4.0_1786718040183_0.6126291360067528","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"dsh-clawrouter","version":"0.4.1","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.4.1","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"5dd1e8876463f4d72323d672cd98bafac1317c50","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.4.1.tgz","fileCount":10,"integrity":"sha512-eWmfG1lGPle/AY+lmjtcuRLuVlPrDjqxxeReoRLplHU46ucbPqegN/F6P1fmvkz5vJwfq7g2nuKEhRD0Kp+vyw==","signatures":[{"sig":"MEQCICOFla+anxuamx15lF7E+TN6INSTarS/1p+IdiJZu6+/AiAtnENis8+SWbhc7pkWwtKs0Z6qRaj/7qamaynsdSbE0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97400},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"61a9f2ef79042924bf5eb272d810df26462410b7","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","sync:models":"tsx scripts/sync-model-count.mjs"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.8","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 67 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.4.1_1786718300133_0.3604513103294973","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"dsh-clawrouter","version":"0.4.2","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.4.2","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"57452a35cfefc468421fbb1ba3b06d38d28c3185","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.4.2.tgz","fileCount":10,"integrity":"sha512-jYuZc3cpnaT5p/KMPMcVxvJeXxp9S7qBpc+OZmSB+I+RAFSsYJfjaeJeD/PT+l7kMDZVNvC9N5naqIxRAXVvnQ==","signatures":[{"sig":"MEUCIQDAXovVsWRbBUZnK5Dc1BSTOcpdSzcGbIbnfxNDgxWZNwIgXPbbePBYDLTKhkChc8EGai6RrJvMmvIYh4wDIejG+4U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97869},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"73bf52a2650f0447a4975409161189f40d82b009","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","sync:models":"tsx scripts/sync-model-count.mjs"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.8","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 67 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.4.2_1786720151555_0.2380615423074275","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"dsh-clawrouter","version":"0.4.3","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.4.3","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"9148839f30b2010773514bea34108ba7968ad611","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.4.3.tgz","fileCount":10,"integrity":"sha512-x3RTZbSSui6txye/bAW2dLwfMVjalfb8GBOv8/atbiQrQIl7CrbFlZfkip112xwFIjtRYzdfubNikIGi8+Ls9Q==","signatures":[{"sig":"MEUCIQDw6sAdRKEIKjPxrZsUxnkTEr+VVSLnB7QcgmCxQIb48gIgT2/nL10up/YV0g3lA23zNmdzY/3JM0hwsjQ6p+z9iYM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98080},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"2ae4d19a1737768eda735226325f7723c89346ec","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","sync:models":"tsx scripts/sync-model-count.mjs","test:docker":"docker build -q -t dsh-clawrouter-smoke test/docker && docker run --rm dsh-clawrouter-smoke"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.8","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 67 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.4.3_1786722295573_0.9820249268414392","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"dsh-clawrouter","version":"0.5.0","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.5.0","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"2c969bca122d66936ad12b649130d9ee7245915e","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.5.0.tgz","fileCount":10,"integrity":"sha512-FCi5PYUQsZ8Ar/C/ipnp0dXqd+YFfJNDIcyjRIQAOGrRuBCm6nqvOa1hNPm0h0j6wnJwqa0lFcDJZpMU8SwZhQ==","signatures":[{"sig":"MEUCIBA5MO+wskKxfyM5ha3XJbTykASV0CXhlL7qmhAm4gmxAiEA+VZkeBj7nYhEjxvY1Gl8CmQ31kg4VDeQX7cjMOOJXO0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103155},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"63e1e808e03b6eb0c10d66a32c1dc64473e82114","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","sync:models":"tsx scripts/sync-model-count.mjs","test:docker":"docker build -q -t dsh-clawrouter-smoke test/docker && docker run --rm dsh-clawrouter-smoke"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.8","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 67 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-attachment":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-attachment":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"peerDependenciesMeta":{"@deepseek-ai/dsh-attachment":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.5.0_1786722949061_0.47203588924189366","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"dsh-clawrouter","version":"0.5.1","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.5.1","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"a6187096df8eb9868952fe9bd110c41af40e7cc0","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.5.1.tgz","fileCount":10,"integrity":"sha512-10waUFjTe48qjCK+zRo7JLaKZfLv4ErLSYRkn8Wi5i0xsJYMaXn0woLHIc3GoPopDPXmpyGC4zmrV/glDp8Zzg==","signatures":[{"sig":"MEUCIBQ4+uJqGH7JpkHU6N5f0BAivjyIFJuQqjagQvtZwoiKAiEAsEfjftHEW2/JRwFLNAv2WhMVRG5e4CIvjAyCJLLmuXs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103214},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"8fade9526ba42ba26b9bdc758af5d75f8f201e4c","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","sync:models":"tsx scripts/sync-model-count.mjs","test:docker":"docker build -q -t dsh-clawrouter-smoke test/docker && docker run --rm dsh-clawrouter-smoke","prepublishOnly":"npm run typecheck && npm run test"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.8","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 67 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-attachment":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-attachment":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"peerDependenciesMeta":{"@deepseek-ai/dsh-attachment":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.5.1_1786722989753_0.615005894333799","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"dsh-clawrouter","version":"0.6.0","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.6.0","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"eee24e34f1bd2050c165a6a2466dbcfe2b29b313","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.6.0.tgz","fileCount":10,"integrity":"sha512-NcxAuMCtEnLrP7Y8SOxzWe+Eby/QqYcyk/zKAYyzJBjew/dCkJWR5XfVvyJ+Ist8FnS/922HgjB80VqDFUHFtA==","signatures":[{"sig":"MEYCIQC7i1S/dLG3B87/uxUKDHmtzjBOQSof46zMsijIOZc3oQIhAJ4ctc4qfLjkQ6WuHBVKZRdALKVcdzAJgVSe2J9a4xqe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":105613},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"d1b17c855d398127bf7aedc044cd46058c5fdc00","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","sync:models":"tsx scripts/sync-model-count.mjs","test:docker":"docker build -q -t dsh-clawrouter-smoke test/docker && docker run --rm dsh-clawrouter-smoke","prepublishOnly":"npm run typecheck && npm run test"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.8","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 67 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-attachment":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-attachment":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"peerDependenciesMeta":{"@deepseek-ai/dsh-attachment":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.6.0_1786724818653_0.5319550616992275","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"dsh-clawrouter","version":"0.7.0","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.7.0","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"4002e5886524a762f9a962e8752e945ab1c13503","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.7.0.tgz","fileCount":10,"integrity":"sha512-fwwJ8lYc/fs93yuPA85y829Sa7pQRDDj3yvz8uV4n6DoV1blM10SSyNIhgqvKY0J005by7ejKyTchrc5TGJWgQ==","signatures":[{"sig":"MEUCIQDeiGhXIGKPE1pHPjZwOgBppMKNjYKnNcFS8iB+zdaTwgIgCHPo/ePKZoRFHIYYCSwLJf61dEH8YzFvnLa0D20EUkA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109539},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"5a18b56a9e95fb88d299fb537c9288306832f466","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","sync:models":"tsx scripts/sync-model-count.mjs","test:docker":"docker build -q -t dsh-clawrouter-smoke test/docker && docker run --rm dsh-clawrouter-smoke","prepublishOnly":"npm run typecheck && npm run test"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.8","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 67 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-attachment":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-attachment":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"peerDependenciesMeta":{"@deepseek-ai/dsh-attachment":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.7.0_1786727047328_0.4135299223578819","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"dsh-clawrouter","version":"0.8.0","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.8.0","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"10887b199f8504ea6e82827cd82456ae75f5e1ca","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.8.0.tgz","fileCount":10,"integrity":"sha512-jO0CJs7uacgeJH74rwdonKcEpESCGHKYv2rzKZU6dtMmHH53e3mcAjfO6VT9zMEPrRna/kPFrS/sUBaW1TD7fw==","signatures":[{"sig":"MEUCIQCGA39AHcQ3RbcfUNXOb6gdUdu8FrwA2vwDwFNLaY5B1QIgXEDkEnYrsvKRTR1umfxza5RL3N8A41+4c099JEecXqM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":113817},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"090d0db72757e94b8c359ebc508d4c6f3514f7fd","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","sync:models":"tsx scripts/sync-model-count.mjs","test:docker":"docker build -q -t dsh-clawrouter-smoke test/docker && docker run --rm dsh-clawrouter-smoke","prepublishOnly":"npm run typecheck && npm run test"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.8","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 67 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-attachment":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-attachment":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"peerDependenciesMeta":{"@deepseek-ai/dsh-attachment":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.8.0_1786728893453_0.11777672319830046","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"dsh-clawrouter","version":"0.9.0","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.9.0","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"eda2558c0ca2bef74db32b3a92e7347ce3ef7987","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.9.0.tgz","fileCount":10,"integrity":"sha512-KzvF66LRFzc1MRmjU+3cd+7ONeTT2O/2KKO/+yQY7/pL716EcRJb+1/PUf6gaw4jeL7+m9UH8Q3dctA7URTEIw==","signatures":[{"sig":"MEUCIQCmLN/BNn79AumV0/kSqDKTGaI1kvHvJBxpBtfXHFxgjAIgQkWKCBgXLZZKDK4gFJG9MXk56Oqx2XRyerWHF+VqLRM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115899},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"0111024ea83b12d20c1eefdb3154d342156334a7","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","sync:models":"tsx scripts/sync-model-count.mjs","test:docker":"docker build -q -t dsh-clawrouter-smoke test/docker && docker run --rm dsh-clawrouter-smoke","prepublishOnly":"npm run typecheck && npm run test"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.2","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 67 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-attachment":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-attachment":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"peerDependenciesMeta":{"@deepseek-ai/dsh-attachment":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.9.0_1786736807385_0.4594774337691472","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"dsh-clawrouter","version":"0.10.0","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.10.0","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"d531f61c59b80f28a7fd45242296a096760f2001","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.10.0.tgz","fileCount":10,"integrity":"sha512-mCcj6RRBisXclHLt6GlBgblfm2vrHUS+Uyr8S39rQcUAe53XL8wTjdIVdPOdyshobyywCiH7AvzEIKOcaJe48Q==","signatures":[{"sig":"MEYCIQC5iZH4lWyK5C8qP1IyWHqhZXJE/V8Sviit9BD1u3vK1wIhAPhItlkyzqd0Mb5l43wXPliBEfMAjclNbrRNL2ejY4vJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117803},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"45dcdab5ec805b83cc266d61ba2fd9509b4efb9c","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","sync:models":"tsx scripts/sync-model-count.mjs","test:docker":"docker build -q -t dsh-clawrouter-smoke test/docker && docker run --rm dsh-clawrouter-smoke","prepublishOnly":"npm run typecheck && npm run test"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.8","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 67 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-attachment":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-attachment":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"peerDependenciesMeta":{"@deepseek-ai/dsh-attachment":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.10.0_1786815096699_0.14590205898552733","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"dsh-clawrouter","version":"0.10.1","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.10.1","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"ad55c9ef2adaf9573eb5831616b587870bb96713","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.10.1.tgz","fileCount":10,"integrity":"sha512-m8Vyhlpl3k42jB7j2cB4ulPh2bMyaA6bSk2QmotdFswQ4x5kvUGezrVYgsYmFlTLS3ydGpE2yetIXM7kcbOXKA==","signatures":[{"sig":"MEYCIQCA8r1En4G19CUdxwV8Kl4lZlqUtix1vRa3UPXXPRUvcgIhAJLGSlKKLxArnfcBnXhuJbVUvgypEVlVH7R7HbK/nu8t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119898},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"18fc2466cdea00d3854323b01756b51eec190029","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","sync:models":"tsx scripts/sync-model-count.mjs","test:docker":"docker build -q -t dsh-clawrouter-smoke test/docker && docker run --rm dsh-clawrouter-smoke","prepublishOnly":"npm run typecheck && npm run test"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.2","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 67 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-attachment":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-attachment":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"peerDependenciesMeta":{"@deepseek-ai/dsh-attachment":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.10.1_1787014734176_0.7962267760453989","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"dsh-clawrouter","version":"0.10.2","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.10.2","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"351aef4e78c6cb6557f6dd8fb7dd61fedf8da0f7","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.10.2.tgz","fileCount":10,"integrity":"sha512-Z2XDNRwJ8MeZ2i1OVfYnYPfzbnMmMkQEmoV5V0Gtd1WiP1Bof+v/WotSQhonR6ub1a/R1IjV/hIsx/83FTKFcg==","signatures":[{"sig":"MEUCIH0h8RS58SkpYfPcO/NQjx5Bv6B+Hna0O4HXRNj/kKPzAiEAz16+UbuSEcHVTNNHG6bDlX+O/DbyCKHjKbGu+ItSrl4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":120899},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"92a2c2ba390a278de8fa67e1037d74b0ed5f63ef","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","sync:models":"tsx scripts/sync-model-count.mjs","test:docker":"docker build -q -t dsh-clawrouter-smoke test/docker && docker run --rm dsh-clawrouter-smoke","prepublishOnly":"npm run typecheck && npm run test"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.2","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 68 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-attachment":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-attachment":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"peerDependenciesMeta":{"@deepseek-ai/dsh-attachment":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.10.2_1788062821071_0.5699818777325165","host":"s3://npm-registry-packages-npm-production"}},"0.10.3":{"name":"dsh-clawrouter","version":"0.10.3","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.10.3","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"d0cee92aafdd518e497f0a180dbe4737335136b0","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.10.3.tgz","fileCount":10,"integrity":"sha512-dGCXyMcVel3dqjQf8Urk6K5QoJ6aj6m5Q3wjKdKJwZjhViYPl1ckbBCHW3d/iFQftXQ05K3Pxl5RObJnlWv64g==","signatures":[{"sig":"MEUCIBlkjG1CJKrVF7/BRV3qZwFas93qfR+dRlJU6i3HH0oQAiEAiRbATGoyPaVseucwexGF+r50Rjkyqclcp2bjq2aE0xc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":130200},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"a732c959d51346f27393e775d10f4befcd21da17","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","sync:models":"tsx scripts/sync-model-count.mjs","test:docker":"docker build -q -t dsh-clawrouter-smoke test/docker && docker run --rm dsh-clawrouter-smoke","prepublishOnly":"npm run typecheck && npm run test"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.2","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 70 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-attachment":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-attachment":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"peerDependenciesMeta":{"@deepseek-ai/dsh-attachment":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.10.3_1788151894963_0.9773854549196452","host":"s3://npm-registry-packages-npm-production"}},"0.10.4":{"name":"dsh-clawrouter","version":"0.10.4","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.10.4","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"d3be90143c7c69fee6ec7fef9e3d1af3ccb6ac9c","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.10.4.tgz","fileCount":10,"integrity":"sha512-qjutXeNTFeNCAS4f4lvn3LPEIldCurBI8lBnzd8oByuanbxzCJeuCuKswnPyYDFvhveFly6c3/d9xwx5Utt+aA==","signatures":[{"sig":"MEYCIQCdD43EsKzDueAZzgbQP7uF2vyg6Cr0xDwoP9fVRRKmOQIhAN85VadIB+lwz8+z4wfbtrLKhJFqwaPo8lHtN+WJh5yR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":134342},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"1b55b12974330e3618ee648a0f687d50e4aae45f","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","sync:models":"tsx scripts/sync-model-count.mjs","test:docker":"docker build -q -t dsh-clawrouter-smoke test/docker && docker run --rm dsh-clawrouter-smoke","prepublishOnly":"npm run typecheck && npm run test"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.2","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 73 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-attachment":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-attachment":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"peerDependenciesMeta":{"@deepseek-ai/dsh-attachment":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.10.4_1788152865934_0.8650859776252307","host":"s3://npm-registry-packages-npm-production"}},"0.10.5":{"name":"dsh-clawrouter","version":"0.10.5","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.10.5","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"aad073f5a771bd606bc16a2b8c030f598c30f5b5","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.10.5.tgz","fileCount":10,"integrity":"sha512-CCO2524qwEttTf7JJog0BP1qiV75AISojUmL5Q9QesCEsXJQtbIRO4bINct7WYBG+hvjMVBLpMSnWr3hvoh8QQ==","signatures":[{"sig":"MEUCIDEsBude5o1GJARep69+rpzVsMsRWuyu8iJzfmYR4mV+AiEAwypD5kozL9CtCCn+/pmLQ1TETAdtgQrfRgLLSr8lV3s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135596},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"5edcdd849d5afb90dbaacfe3829c2912745f46a6","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","sync:models":"tsx scripts/sync-model-count.mjs","test:docker":"docker build -q -t dsh-clawrouter-smoke test/docker && docker run --rm dsh-clawrouter-smoke","probe:vision":"tsx scripts/probe-vision.mjs","prepublishOnly":"npm run typecheck && npm run test"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.2","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 73 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-attachment":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-attachment":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"peerDependenciesMeta":{"@deepseek-ai/dsh-attachment":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.10.5_1788154029061_0.09015400151863351","host":"s3://npm-registry-packages-npm-production"}},"0.10.6":{"name":"dsh-clawrouter","version":"0.10.6","keywords":["dsh-plugin","deepseek-harness","blockrun","clawrouter","x402","llm-router","code-review"],"license":"MIT","_id":"dsh-clawrouter@0.10.6","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"homepage":"https://blockrun.ai","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"a98e0fdc3a400ea436a2cc44e5f7d3fc381d0c98","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.10.6.tgz","fileCount":10,"integrity":"sha512-xxQuggnRdWNiTinH3QGCk+I5/6OVSRnHmd3IjeAwipPlstvSeBsoJM2zOMgGQYxt4JIfBTcHdiVz6QZI/UBVwg==","signatures":[{"sig":"MEUCIQDxWfC01xPV1mMVu4irKZ08njK7qQ1OZ+PAaD+dxG/n9QIgHXC4RW7oib3hEWWt2Rofrp0aEEQ1DGnqbpDGaJB6Ha4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":136456},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","engines":{"node":"^22.19 || >=24"},"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"gitHead":"8f0db949c34cac25708652f0e5eea1802630a7a6","scripts":{"test":"vitest run","build":"tsup","prepare":"tsup","test:e2e":"vitest run --config vitest.e2e.config.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","sync:models":"tsx scripts/sync-model-count.mjs","test:docker":"docker build -q -t dsh-clawrouter-smoke test/docker && docker run --rm dsh-clawrouter-smoke","probe:vision":"tsx scripts/probe-vision.mjs","prepublishOnly":"npm run typecheck && npm run test"},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"repository":{"url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git","type":"git"},"_npmVersion":"10.9.2","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 73 models from one wallet. No accounts, no API keys.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@blockrun/llm":"^3.13.1","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","tsup":"^8.5.0","vitest":"^3.0.0","typescript":"^5.7.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-attachment":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-attachment":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6"},"peerDependenciesMeta":{"@deepseek-ai/dsh-attachment":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-clawrouter_0.10.6_1788178755078_0.9518958625853666","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"dsh-clawrouter","version":"0.12.0","description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 75 models from one credential: a BlockRun API key, or a wallet paying per call over x402.","type":"module","main":"lib/index.js","types":"lib/index.d.ts","license":"MIT","repository":{"type":"git","url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git"},"homepage":"https://blockrun.ai","keywords":["blockrun","clawrouter","code-review","deepseek-harness","dsh-plugin","llm-router","solana","x402"],"exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./review":{"types":"./lib/review.d.ts","default":"./lib/review.js"},"./package.json":"./package.json"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"scripts":{"build":"tsup","prepare":"tsup","sync:models":"tsx scripts/sync-model-count.mjs","probe:vision":"tsx scripts/probe-vision.mjs","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","test":"vitest run","test:docker":"docker build -q -t dsh-clawrouter-smoke test/docker && docker run --rm dsh-clawrouter-smoke","test:e2e":"vitest run --config vitest.e2e.config.ts","prepublishOnly":"npm run typecheck && npm run test"},"dependencies":{"@blockrun/llm":"^3.15.0","@deepseek-ai/schemastery":"^3.18.1"},"peerDependencies":{"@deepseek-ai/cordis":">=4.0.1","@deepseek-ai/dsh-attachment":">=0.1.0-rc.6","@deepseek-ai/dsh-commands":">=0.1.0-rc.6","@deepseek-ai/dsh-credentials":">=0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":">=0.1.0-rc.6","@deepseek-ai/dsh-llm":">=0.1.0-rc.6","@deepseek-ai/dsh-tools":">=0.1.0-rc.6","@solana/spl-token":"^0.4.15","@solana/web3.js":"^1.98.4"},"devDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/cordis-plugin-include":"^1.0.6","@deepseek-ai/cordis-plugin-loader":"^1.0.2","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-attachment":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-credentials":"^0.1.0-rc.6","@deepseek-ai/dsh-launch-environment":"^0.1.0-rc.6","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@solana/spl-token":"^0.4.15","@solana/web3.js":"^1.98.4","tsup":"^8.5.0","tsx":"^4.23.12","typescript":"^5.7.0","vitest":"^3.0.0"},"engines":{"node":"^22.19 || >=24"},"peerDependenciesMeta":{"@deepseek-ai/dsh-attachment":{"optional":true},"@solana/web3.js":{"optional":true},"@solana/spl-token":{"optional":true}},"_id":"dsh-clawrouter@0.12.0","gitHead":"5192ec9d12e1d7e8e16ba494e165e0f7efcb2ccc","bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-qvVicazEriP164lIacF2IC+ZfuX9pfhtqZTLN1PqEM+xYw2Jq5OcZvvOvgdxbJap+fFAIrXtYtbyGCbibJHNBA==","shasum":"473ba1b0f50b3b8a13902395f10ba035b6ed552c","tarball":"https://registry.npmjs.org/dsh-clawrouter/-/dsh-clawrouter-0.12.0.tgz","fileCount":10,"unpackedSize":169342,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD8bb6c63uyMz5Od4YGBomnmDdb66s/theq15RoT6FfDQIgUYVn/pZKVTWfCorEvlc4paM8p0EdQpMf7Im3TVMzFwc="}]},"_npmUser":{"name":"1bcmax","email":"viewitter@gmail.com"},"directories":{},"maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-clawrouter_0.12.0_1788626701779_0.990047932264507"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-14T01:05:46.855Z","modified":"2026-09-05T16:45:02.148Z","0.1.0":"2026-08-14T01:05:47.166Z","0.1.1":"2026-08-14T01:14:22.581Z","0.1.2":"2026-08-14T02:19:54.323Z","0.1.3":"2026-08-14T02:40:35.356Z","0.1.4":"2026-08-14T03:09:01.617Z","0.2.0":"2026-08-14T03:38:12.328Z","0.2.1":"2026-08-14T03:47:32.970Z","0.2.2":"2026-08-14T03:52:01.534Z","0.2.3":"2026-08-14T04:06:33.961Z","0.2.4":"2026-08-14T04:35:34.522Z","0.2.5":"2026-08-14T05:07:11.198Z","0.2.6":"2026-08-14T05:36:03.066Z","0.2.7":"2026-08-14T06:05:14.802Z","0.2.8":"2026-08-14T06:34:24.010Z","0.2.9":"2026-08-14T07:02:46.583Z","0.3.0":"2026-08-14T07:32:23.972Z","0.3.1":"2026-08-14T08:02:41.867Z","0.3.2":"2026-08-14T08:33:30.450Z","0.3.3":"2026-08-14T09:01:13.707Z","0.3.4":"2026-08-14T09:29:30.165Z","0.3.5":"2026-08-14T10:29:17.175Z","0.3.6":"2026-08-14T10:58:50.074Z","0.3.7":"2026-08-14T11:29:19.484Z","0.3.8":"2026-08-14T11:59:55.318Z","0.3.9":"2026-08-14T12:28:05.973Z","0.3.10":"2026-08-14T12:56:29.139Z","0.3.11":"2026-08-14T13:27:56.643Z","0.3.12":"2026-08-14T13:55:52.229Z","0.3.13":"2026-08-14T14:23:38.121Z","0.4.0":"2026-08-14T14:34:00.340Z","0.4.1":"2026-08-14T14:38:20.275Z","0.4.2":"2026-08-14T15:09:11.694Z","0.4.3":"2026-08-14T15:44:55.722Z","0.5.0":"2026-08-14T15:55:49.214Z","0.5.1":"2026-08-14T15:56:29.943Z","0.6.0":"2026-08-14T16:26:58.813Z","0.7.0":"2026-08-14T17:04:07.494Z","0.8.0":"2026-08-14T17:34:53.645Z","0.9.0":"2026-08-14T19:46:47.544Z","0.10.0":"2026-08-15T17:31:36.856Z","0.10.1":"2026-08-18T00:58:54.325Z","0.10.2":"2026-08-30T04:07:01.209Z","0.10.3":"2026-08-31T04:51:35.096Z","0.10.4":"2026-08-31T05:07:46.222Z","0.10.5":"2026-08-31T05:27:09.191Z","0.10.6":"2026-08-31T12:19:15.206Z","0.12.0":"2026-09-05T16:45:01.922Z"},"bugs":{"url":"https://github.com/BlockRunAI/dsh-clawrouter/issues"},"license":"MIT","homepage":"https://blockrun.ai","keywords":["blockrun","clawrouter","code-review","deepseek-harness","dsh-plugin","llm-router","solana","x402"],"repository":{"type":"git","url":"git+https://github.com/BlockRunAI/dsh-clawrouter.git"},"description":"A second brain for your DeepSeek Harness agent — strong-model review before risky tool calls, plus 75 models from one credential: a BlockRun API key, or a wallet paying per call over x402.","maintainers":[{"name":"1bcmax","email":"viewitter@gmail.com"}],"readme":"<div align=\"center\">\n\n<img src=\"https://raw.githubusercontent.com/BlockRunAI/dsh-clawrouter/main/assets/banner.png\" alt=\"dsh-clawrouter — review the dangerous command, before it runs\" width=\"600\">\n\n<h1>A second brain for your DeepSeek Harness agent</h1>\n\n<p>DeepSeek is fast and cheap — keep it for the loop.<br><br>\n<strong>This adds what it cannot do: a stronger model reviews the dangerous command before it runs.</strong><br><br>\n<em><!-- br:models.chatVisible -->75<!-- /br:models.chatVisible --> models from one credential — an API key from <a href=\"https://user.blockrun.ai\">user.blockrun.ai</a>, or a Solana or Base wallet if you would rather not sign up.</em></p>\n\n<br>\n\n<img src=\"https://img.shields.io/badge/🛡️_Review_Before_Execute-success?style=for-the-badge\" alt=\"Review before execute\">&nbsp;\n<img src=\"https://img.shields.io/badge/🧠_Claude_Reviews_DeepSeek-black?style=for-the-badge\" alt=\"Claude reviews DeepSeek\">&nbsp;\n<img src=\"https://img.shields.io/badge/🔑_API_Key_or_Wallet-blue?style=for-the-badge\" alt=\"API key or wallet\">&nbsp;\n<img src=\"https://img.shields.io/badge/💰_x402_USDC-purple?style=for-the-badge\" alt=\"x402 USDC\">\n\n[![npm version](https://img.shields.io/npm/v/dsh-clawrouter.svg?style=flat-square&color=cb3837)](https://npmjs.com/package/dsh-clawrouter)\n[![npm downloads](https://img.shields.io/npm/dm/dsh-clawrouter.svg?style=flat-square&color=blue)](https://npmjs.com/package/dsh-clawrouter)\n[![GitHub stars](https://img.shields.io/github/stars/BlockRunAI/dsh-clawrouter?style=flat-square&label=GitHub%20stars)](https://github.com/BlockRunAI/dsh-clawrouter)\n[![CI](https://img.shields.io/github/actions/workflow/status/BlockRunAI/dsh-clawrouter/ci.yml?branch=main&style=flat-square&label=CI)](https://github.com/BlockRunAI/dsh-clawrouter/actions)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.9-3178c6?style=flat-square&logo=typescript&logoColor=white)](https://typescriptlang.org)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green?style=flat-square)](LICENSE)\n\n[![DeepSeek Harness](https://img.shields.io/badge/DeepSeek-Harness_Plugin-4D6BFE?style=flat-square)](https://github.com/deepseek-ai/deepseek-harness)\n[![x402 Protocol](https://img.shields.io/badge/x402-Micropayments-purple?style=flat-square)](https://x402.org)\n[![Get an API key](https://img.shields.io/badge/Get_an_API_key-user.blockrun.ai-0B7285?style=flat-square)](https://user.blockrun.ai)\n[![Solana](https://img.shields.io/badge/Solana-USDC-14F195?style=flat-square&logo=solana&logoColor=black)](https://solana.com)\n[![Base](https://img.shields.io/badge/Base-USDC-0052FF?style=flat-square&logo=coinbase&logoColor=white)](https://base.org)\n[![Telegram](https://img.shields.io/badge/Telegram-Community-26A5E4?style=flat-square&logo=telegram)](https://t.me/blockrunAI)\n\nEnglish | [中文](https://github.com/BlockRunAI/dsh-clawrouter/blob/main/docs/README.zh.md)\n\n</div>\n\n> **dsh-clawrouter** is a [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) plugin that puts a stronger model in front of your agent's dangerous actions. When the agent proposes `rm -rf ~`, a reviewer model reads it and answers allow / deny / ask — enforced by the real tool executor, not by a prompt. It also registers a BlockRun provider route, so the reviewer (and any of <!-- br:models.chatVisible -->75<!-- /br:models.chatVisible --> models) is reachable from **one credential**: a BlockRun API key from [user.blockrun.ai](https://user.blockrun.ai), billed at exact token usage — or, if you would rather not sign up for anything, a Solana or Base wallet paying per request in USDC over [x402](https://x402.org). MIT licensed.\n\n```sh\ndsh plugin --profile web add dsh-clawrouter\n```\n\n---\n\n## Why this exists\n\nTwo things people keep asking for in the Harness discussions:\n\n> 「是否有类似 Codex 或者 CC 的审查模式？即额外调用模型审查指令，以解放双手？Full Access 还是太让人担心了。」\n> — [#421](https://github.com/deepseek-ai/deepseek-harness/discussions/421)\n> *Is there a review mode like Codex or Claude Code — call an extra model to review the command, to free up my hands? Full Access is too worrying.*\n\n> 「使用 Full Access 模式创建并测试插件时误删了我的整个家目录」\n> — [#461](https://github.com/deepseek-ai/deepseek-harness/discussions/461)\n> *Testing a plugin in Full Access mode, it deleted my entire home directory.*\n\n`Full Access` is all-or-nothing: approve every command by hand, or approve nothing and hope. This adds a third option.\n\n## How it compares\n\n|                      | Approve everything | Full Access      | Permission rules   | **dsh-clawrouter**            |\n| -------------------- | ------------------ | ---------------- | ------------------ | ----------------------------- |\n| **Hands-free**       | No                 | Yes              | Yes                | **Yes**                       |\n| **Catches `rm -rf ~`** | Only if you notice | No               | Only if you wrote the rule | **Yes**               |\n| **Understands intent** | You do           | Nothing does     | No — literal match | **Yes, a model reads it**     |\n| **Enforced where**   | UI prompt          | —                | Executor           | **Executor**                  |\n| **Fails**            | —                  | open             | closed             | **to a human, never open**    |\n| **Reviews ordinary work** | Everything    | Nothing          | Nothing            | **Nothing**                   |\n\n## What it does\n\n### 1. Review gate\n\nWhen the agent proposes something destructive, a strong model (default `anthropic/claude-opus-5`) reads it and answers:\n\n| Verdict | What happens |\n|---|---|\n| safe | proceeds to the normal permission chain, untouched |\n| dangerous | **denied**, with a reason the agent can act on |\n| uncertain | **escalated to you** — the normal approval prompt |\n\nIt only ever *narrows*. A call the reviewer clears still faces every sandbox, permission, and approval gate you already have — and an escalation defers to them too: if a stricter policy would have denied the call, you get that denial rather than an approval prompt. This does not replace your permission system; it sits in front of it.\n\nEnable it in your profile's `cordis.patch.yml`:\n\n```yaml\n- id: blockrun-review\n  config:\n    enabled: true\n    reviewerModel: anthropic/claude-opus-5\n```\n\n**What gets reviewed.** Deliberately narrow — a gate that fires on ordinary work gets switched off, and then it protects nobody. Reads, edits and builds are never reviewed. The shipped rules flag recursive deletes, raw disk writes, fork bombs, `curl … | sh`, force-pushes and hard resets, `chmod 777`, `sudo`, and anything touching `~/.ssh`, `~/.aws`, or `/etc/passwd` — plus destruction that isn't spelled `rm`: `git clean -fdx`, `find … -delete`, `git checkout -- .`, `terraform destroy`, and `npm publish` (a registry will not let you take a release back).\n\nMentioning a command is not running one — `grep -rn \"rm -rf\" docs/` is not flagged — and neither is **writing** one: a Makefile containing `rm -rf build`, a cleanup script, or a README quoting `git reset --hard` are all ordinary work. File-body arguments (`content`, `new_string`, `diff`, …) are treated as data, because what a file eventually does happens when something executes it, and that execution is a separate call this gate still reads. Add your own rules:\n\n```yaml\n    extraRules:\n      - name: no-prod-deploy\n        pattern: \"deploy\\\\s+--env[= ]prod\"\n```\n\n**If you mistype `reviewerModel`**, every flagged command escalates or is denied — which looks exactly like the gate working cautiously. The failure now carries the cause, so a denial reads *\"BlockRun does not serve model … Did you mean …?\"* rather than a bare timeout, and a warning is logged wherever a log exporter is composed.\n\n**When the reviewer is unreachable**, the gate escalates to you (`onReviewerFailure: ask`, the default). It never silently allows — a safety gate that fails open is worse than none — and never hard-blocks on a network blip. Unattended automation can set `deny`.\n\n### What it costs to leave on\n\nMeasured, because this is the question that decides whether you keep it enabled:\n\n| | |\n|---|---|\n| Fires on ordinary work | **never** — 0 of 59, including commands that merely *mention* a destructive one (`grep -rn \"rm -rf\" docs/`, `echo \"DROP TABLE\" >> notes.md`) |\n| Misses dangerous work | **none** of 39, across git, containers, clusters, cloud storage, databases, and host state |\n| Catches files that execute later | git hooks, CI workflows, shell startup files, launch agents, `.gitconfig`, `.env`, npm `postinstall`, sandbox escalation — 10 of 10, 0 false positives across 15 ordinary file edits |\n| Survives evasion | `\\rm -rf /`, `command rm`, `env rm`, `eval \"rm -rf $DIR\"`, `bash -c \"…\"`, `\\| xargs rm`, and heredocs piped into a shell |\n| Cost when it does fire | **$0.0057** on `claude-opus-5`, at the 512-token reviewer cap — $0.0249 without it |\n| Latency when it does fire | ~3s |\n| What the reviewer sees | ~356 tokens — the flagged call, not your conversation |\n\n**That figure depends on the cap.** This gateway quotes from the request — input size plus the `max_tokens` asked for — and settles that amount whichever way the model answers, so a review that asks for room it never uses pays for it every time the gate fires. `reviewerMaxTokens` (512) is what keeps a two-field JSON verdict priced like one. Before 0.10.0 the reviewer inherited `claude-opus-5`'s advertised 128,000-token output and cost **$0.28–0.33** per review; if you are on an earlier version, upgrade rather than switching to a weaker reviewer.\n\nSo during normal work it is invisible: no latency, no cost, no prompts. It bills roughly half a cent on the rare command that deserves a second opinion. Both corpora are tests, so a rule that starts flagging `npm test` — or stops flagging `kubectl delete namespace` — fails CI rather than your session.\n\nNot every dangerous action is a shell command. Writing `.git/hooks/pre-commit`, `.github/workflows/ci.yml`, or an npm `postinstall` runs code later — on the next commit, the next CI run with your secrets, the next `npm install` on someone else's machine. These are quieter than `rm -rf`, and worse for it: a user watching for destruction sees nothing happen at all. Measured before those rules existed, 2 of 10 were flagged.\n\n**Recall is the ceiling on everything above:** a command the matcher never flags is a command the reviewer never sees. An earlier version of this table claimed nothing was missed, measured against the six commands the rules had been written for. Against the 39 above, those same rules caught **one**. The corpus exists so that number can never again be taken on faith.\n\n### 2. `/spend`\n\n```\n/spend\n```\n\nWhat this route has cost since the process started — total, per model, tokens and fees.\n\n**How the figure is computed depends on which credential you are on**, because the two are billed on genuinely different arithmetic. `/spend` says which one it used, in the sentence under the total.\n\n**On an API key:** priced from the tokens the provider reported, at the catalog's published per-million rates. That is the same basis your account is invoiced on — no per-call fee, no minimum — so the figure lines up with [`/dashboard/activity`](https://user.blockrun.ai/dashboard/activity) rather than approximating it. Measured against the live account host: `openai/gpt-5.5` on 16 input / 17 output tokens reports `$0.000590`, which is `16/1M × $5 + 17/1M × $30`. A model the catalog publishes no rate for is counted as **unpriced** and named as such, never silently as `$0`.\n\n**On a wallet:** the flat quote the gateway gave, per call. The two chains are quoted differently for the same request — measured 2026-09-05, `2000` µUSDC on Base against `1000` on Solana — so `/spend` uses the figure for the chain the call actually settled on (`requestFeeUsd`, `solanaRequestFeeUsd`). A session that used both reports `mixed` and explains both.\n\nEverything below this line describes the **wallet** path, whose numbers are quotes rather than usage. Before 0.11.0 those numbers were reported for API-key deployments too, which overstated a session of small calls by orders of magnitude.\n\n**You pay for what you request, not what you get.** The gateway quotes from the request — input size plus the `max_tokens` you ask for — and settles that quoted amount whichever way the model answers. Measured against production:\n\n| `max_tokens` requested | `claude-opus-5` | `deepseek-chat` |\n|---|---|---|\n| 16 | $0.0020 | $0.0020 |\n| 1,000 | $0.0036 | $0.0020 |\n| 8,000 | $0.0211 | $0.0020 |\n| 60,000 | $0.1511 | $0.0027 |\n\nTwo things follow, and the second one costs real money.\n\n**There is a floor of $0.002** — a $0.001 minimum payment plus a flat $0.001 transaction fee. Below it everything quotes the same, which is why `deepseek-chat` barely moves in that table: it is cheap enough that even 8,000 output tokens stays under the floor. An earlier version of this section concluded from exactly that observation that billing was per request rather than per token. It was measured only on `deepseek-chat`, the cheapest model on the route, where the floor hides the rate entirely.\n\n**A large `max_tokens` is billed even when the reply is short.** This is why `defaultMaxTokens` is capped at `maxOutputCeiling` (8,192) rather than taken from a model's advertised `max_output`. Left uncapped, `claude-opus-5` advertises 128,000, and a request carrying that default quotes **$0.3211** — against $0.0216 with no cap at all and $0.0036 capped at 1,000. Eighty-nine times the cost, decided by a field the caller never set. Raise `maxOutputCeiling` when a workload genuinely needs long replies; you are then paying for them deliberately.\n\n**Input size drives the other half of the quote.** The same request at growing prompt sizes, `max_tokens` held small:\n\n| Model | small | ~22K in | ~112K in |\n|---|---|---|---|\n| `openai/gpt-4.1-nano` | $0.002 | $0.005 | $0.023 |\n| `deepseek/deepseek-chat` | $0.002 | $0.007 | $0.031 |\n| `google/gemini-3.5-flash` | $0.002 | $0.066 | $0.325 |\n| `anthropic/claude-opus-5` | $0.002 | $0.217 | **$1.081** |\n\nEverything starts at the same floor and then diverges by more than thirty-fold. A coding agent holding a 100K-token context pays roughly fifteen times the floor per call on DeepSeek — and five hundred times on Opus. `/spend` says so whenever your average call carries a large context, and points you at your own model's rate rather than one number. It is also blind to a request that failed after paying. Your wallet balance is the authority.\n\n**A free model is $0, and `/spend` says so.** The <!-- br:models.free -->7<!-- /br:models.free --> models the catalog bills as `free` never reach the x402 handshake — the gateway answers them with `200` and no `402`, so no quote is signed and nothing settles. Their rows read `$0  N calls  (free tier — no payment was signed)`, and the large-context warning below is computed from the paid calls alone, since a call that was never quoted cannot be under-quoted. Before 0.10.3 every call was charged the flat request price regardless, so a session spent trying the free tier reported a cost that was entirely invented.\n\n**It also says when a different model answered.** The gateway substitutes silently behind the free tier — a request for `nvidia/nemotron-3-ultra-550b` is answered by a 30B about one time in three — and the substitute is named on the chunks it streams. `/spend` prints it under the row for the model you asked for:\n\n```\nnvidia/nemotron-3-nano-omni-30b-a3b-reasoning  $0  3 calls  (free tier — no payment was signed)\n    answered by nvidia/nemotron-3-nano-30b on 1 of 3 — the gateway substituted a different model\n    answered by nvidia/nemotron-3-super-120b on 2 of 3 — the gateway substituted a different model\n```\n\nThe call still counts against the id you requested rather than the one that answered, because this meter prices every call at the same flat figure — which row it lands on cannot move the total, and the id you chose is the one you would recognize.\n\nReading a 402 quote is free, so every figure above is reproducible without spending anything.\n\nThe default `requestFeeUsd` is `0.002` because that is what the gateway quotes: a 402 for a ~17-token request returns `{\"amount\":\"0.002000\"}`. BlockRun's published pricing page currently says $0.001.\n\n### 3. `/review`\n\n```\n/review <paste a diff, a plan, or the agent's conclusion>\n```\n\nRuns the same strong model over material you choose. For the case one user [reported](https://github.com/deepseek-ai/deepseek-harness/discussions/475): the agent read the right evidence, drew the wrong conclusion, and only a direct challenge surfaced the real bug.\n\n### 4. `/gate` — check the net is actually up\n\n```\n/gate         # is the gate armed, and with what?\n/gate drill   # put a dangerous command through the live reviewer\n```\n\nA safety feature that is quietly off is worse than one never installed, because you stopped watching. This gate can be off while everything a user can see looks right: `enabled` defaults to `false`, a patch layer **replaces** a row's whole `config` rather than merging keys, and `/review` registers either way — so a working `/review` tells you the plugin loaded and **nothing** about whether tool calls are being inspected.\n\n`/gate` is therefore registered whether or not the gate is armed, and says which. `/gate drill` sends `rm -rf / --no-preserve-root` through the risk matcher and the real reviewer — never to a tool — and reports each stage separately, because they fail for unrelated reasons: a rule that stopped matching is a policy problem, an unreachable reviewer is a wallet or model problem. At runtime those both collapse into \"escalate\", which is indistinguishable from the gate working. The drill is what tells them apart. It costs one reviewer call.\n\n### 5. Vision — give your agent eyes it does not have\n\nDeepSeek serves no vision model, so this is capability rather than savings. Attach an image and a vision model reads it:\n\n```yaml\n- id: blockrun-llm\n  config:\n    visionModels: [google/gemini-3.5-flash]   # narrows the measured default; widen as you verify\n```\n\n**The gateway's `vision` tag is not sufficient, so this plugin does not trust it.** Every tagged chat model is sent a solid PNG and asked its colour, in three different colours — one is guessable — and only the models that answer all three correctly are offered image input. Re-measure it yourself with `npm run probe:vision`, which prints the list to paste back. Measured 2026-08-31, 34 of 40 answered:\n\n| Result | Models |\n|---|---|\n| answered correctly | every tagged Anthropic, Google, Moonshot, xAI and Z.ai model; OpenAI's non-`pro` models plus `gpt-5.6-sol-pro`, `gpt-5.6-terra-pro` and now `gpt-5.6-luna-pro`; `deepseek/deepseek-v4-flash-vision-exp` and `xiaomi/mimo-v2.5` |\n| **refuses the image** — `INVALID_REQUEST` on all three | `openai/gpt-5.2-pro`, `gpt-5.4-pro`, `gpt-5.5-pro` |\n| answers that no image was sent, **because the gateway never sent it** | `nvidia/llama-3.2-11b-vision` |\n| **never measured — a different model answered** | `nvidia/nemotron-3-nano-omni-30b-a3b-reasoning` (served by `nemotron-3-nano-30b`), `qwen/qwen3.8-flash` (served by `qwen3.7-flash`) |\n\nThe `llama-3.2-11b-vision` row is not the model's fault: the gateway strips every image part on both its NVIDIA paths before dispatch, unconditionally, under a comment claiming NVIDIA models have no vision. Probed directly against NVIDIA, that model and `nemotron-3-nano-omni` both name the colour correctly. It stays out of the list because this list is what works *through* this gateway, but it is a gateway bug and it is being fixed.\n\nThe last row is the one to understand before widening the list yourself. Those two are not failing; they are not being reached. `nemotron-3-nano-omni` passes on roughly half of probe runs and is answered by a model with no vision on the rest, so admitting it would buy an image path that works when the gateway's cascade feels like it — and when it does not, the reply is a confident wrong answer about an image that was never seen. `qwen3.8-flash` is a paid model substituted by a cheaper paid one, so this is not a free-tier quirk. Reported as BlockRunAI/blockrun#450.\n\n`gpt-5.6-luna-pro` moved the other way, though not for the reason it looks like. It was not an image failure at all: the catalog priced it below what OpenAI charges, the gateway derives its upstream cost ceiling from that price, so every request matched no endpoint and — with no fallback declared for it — failed outright. Repricing it fixed the model, and the image happened to work all along. The separate fix for the three `pro` entries above is still open, which is why they still refuse.\n\nThe first measurement (2026-08-16) was far worse: OpenAI returned HTTP 400 after payment, xAI 503, and Anthropic streamed `[Error: 400 {\"message\":\"Could not process image\"}]` as assistant text, so the harness saw an ordinary successful turn and the agent acted on the error string as though the model wrote it. The gateway has since fixed all three, and this plugin still detects that exact shape — the whole message being nothing but a relayed error — and finishes the request as a failure with the status mapped as if it had arrived as one. An answer that merely mentions an error, or a turn that also called a tool, is left alone. So a model is offered image input only when the gateway tags it `vision` **and** it appears in `visionModels`, which defaults to the measured set. Both signals must agree — the tag alone over-claims, and the list alone would keep claiming vision for a model the gateway has since retagged.\n\nWiden it yourself as you verify others; that is a config change, not a release here.\n\n### 6. Reasoning effort\n\nReasoning models get `high` and `max`, declared per model from the catalog's `reasoning` tag.\n\n`max` is DeepSeek's vocabulary, which the harness adopts. OpenAI's is `low | medium | high`, and it returns **HTTP 400 after taking payment** for anything else — so `max` is translated to each vendor's nearest value rather than refused. Asking for the most thinking available should not fail over a spelling.\n\nAsking a model that does not reason at all is a different case, and is refused **locally, before paying**: `openai/gpt-4o` charges and then rejects `reasoning_effort` outright. The catalog says which models qualify, so that costs nothing to discover.\n\n### 7. <!-- br:models.chatVisible -->75<!-- /br:models.chatVisible --> models from one credential\n\nRegisters a `blockrun` provider route reaching every model BlockRun serves. That matters most for the ones DeepSeek does not — Claude, GPT, Gemini, Grok — which is exactly what a reviewer needs.\n\nThere are three ways to pay for it, and you pick one. They are not three doors onto the same thing: different host, different billing, different failure when the money runs out.\n\n| | **API key** *(recommended)* | **Solana wallet** | **Base wallet** |\n|---|---|---|---|\n| Credential | `brk_live_…` from [user.blockrun.ai](https://user.blockrun.ai) | a bs58 Solana secret key | an EVM private key |\n| Host | `api.blockrun.ai` | `sol.blockrun.ai/api` | `blockrun.ai/api` |\n| Billed | exact token usage against the published price sheet — **no per-call fee, no minimum** | a flat quote per request, signed and settled on chain over x402 | the same, on Base |\n| Top up | card or wire, in the portal | send SPL USDC to your own address | send Base USDC to your own address |\n| Where the spend shows up | your account ledger at `user.blockrun.ai/dashboard` | the wallet balance itself | the wallet balance itself |\n| Signup | Google sign-in | none at all | none at all |\n| Config key | `apiKeyEnv` | `solanaWalletKeyEnv` | `walletKeyEnv` |\n\n**They are checked in that order.** The API key wins because it is the credential you chose on purpose — paying from a wallet you merely happen to have exported would spend money on a call you meant to put on the account. **Solana is checked before Base:** a deployment holding both wallets has said which chains it *can* pay on, not which it prefers, and this route picks Solana. Both gateways serve the same catalog, verified id for id.\n\nAdding a credential does not disturb an existing deployment: set none of the three and nothing about your setup changes.\n\nPaying on Solana needs `@solana/web3.js` and `@solana/spl-token`. They are optional peer dependencies, so an API-key or Base-only deployment does not carry them:\n\n```sh\nnpm install @solana/web3.js @solana/spl-token\n```\n\n<!-- br:models.free -->7<!-- /br:models.free --> models are free on every path. On either wallet gateway they need no credential at all — both serve a `billing_mode: \"free\"` model unpaid, so this route sends one without asking for a key. On `api.blockrun.ai` the key is still sent, because that host answers an unauthenticated request `401` whatever the model costs. The list is read live from the catalog rather than pinned here, because it changes faster than this plugin releases.\n\n## Quick Start\n\n```sh\ndsh plugin --profile web add dsh-clawrouter\nexport BLOCKRUN_API_KEY=brk_live_...   # or store it via the credentials service\n```\n\n**The install prints `✕ missing peer` for six harness packages. That is expected.** The harness itself supplies them at runtime, and every first-party bundle declares its peers the same way — the alternative, depending on them directly, gives the profile a second copy of cordis and breaks the plugin in ways that are much harder to read. Verified on a clean install: the profile composes and `dsh --profile web --dump-config` lists both rows. Nothing is missing.\n\n### Getting an API key\n\nThis is the shortest path, and the one to take unless you specifically want to avoid an account.\n\n1. Go to **[user.blockrun.ai](https://user.blockrun.ai)** and sign in with Google. The account is created prepaid with zero credit — registration itself costs nothing.\n2. Add credit at **[user.blockrun.ai/dashboard/credits](https://user.blockrun.ai/dashboard/credits)** — card checkout, or wire for larger amounts.\n3. Issue a key at **[user.blockrun.ai/dashboard/keys](https://user.blockrun.ai/dashboard/keys)**. The plaintext is shown once; copy it then.\n4. `export BLOCKRUN_API_KEY=brk_live_...`\n\nWhat you get for it: **exact token billing with no per-call fee and no minimum**, and every call written to your account ledger — [`/dashboard/activity`](https://user.blockrun.ai/dashboard/activity) shows request id, model, tokens and cost per call, so `/spend` and the invoice can be reconciled against each other.\n\nA key with no credit on it still reaches the free models; anything with a price fails `PAYMENT_REQUIRED` pointing at the top-up page.\n\n### Or: a wallet, with no account at all\n\nBlockRun also takes a wallet signature and pays per call in USDC over x402. No signup, no KYC, no credit card, no per-lab account. Two chains, and this route prefers Solana.\n\n**Solana**\n\n```sh\nnpm install @solana/web3.js @solana/spl-token   # optional peers, needed only for this path\nexport SOLANA_WALLET_KEY=...                    # bs58 secret key\n```\n\nThe SDK keeps a Solana wallet at `~/.blockrun/.solana-session`; `npx -y @blockrun/clawrouter` generates one and prints its address if you have none. Send it SPL USDC on Solana.\n\n**Base**\n\n- **Already run a BlockRun tool?** You have a Base wallet already. The SDK keeps it at `~/.blockrun/.session`, ClawRouter at `~/.openclaw/blockrun/wallet.key`. Export whichever exists: `export BASE_CHAIN_WALLET_KEY=$(cat ~/.blockrun/.session)`\n- **No wallet yet?** `npx -y @blockrun/clawrouter` generates one and prints its address. Stop it once you have the address, send it a few USDC on Base, then export the key.\n\nSend the right chain's USDC to the right address. They are different keys on different curves, and USDC sent to the wrong one is gone — which is why a payment failure on this route always names the chain along with the address.\n\n$5 of USDC on Base covers about **2,500** gate reviews, which run at the $0.002 floor — and about **5** calls carrying a 100K-token context on Opus. Both figures are the same $5; fund for the way you intend to use the route rather than for its floor.\n\n### Or: neither\n\nThe <!-- br:models.free -->7<!-- /br:models.free --> models the catalog bills as `free` need no credential at all on either wallet gateway. Both answer them with `200` and never open the x402 handshake, so `dsh-clawrouter` does not ask for a key before sending one. Pick `nvidia/nemotron-3.5-lightning` or `cohere/north-mini-code` and it works with nothing exported. Every other model still fails with `MISSING_CREDENTIAL` until you set a credential — the exemption is per model, read from the catalog, not a general loosening.\n\n### About the credential itself\n\nThis plugin reads no key file on its own. A credential nobody configured, quietly shadowing the one they did, is exactly what the harness credentials seam exists to prevent — so it only ever reads the reference you name.\n\nAll three keys are **references** in configuration (`apiKeyEnv`, `solanaWalletKeyEnv`, `walletKeyEnv`), resolved per request — rotating either takes effect on the very next call, and no secret enters a config file.\n\n## Configuration\n\n`blockrun-llm` — the provider route:\n\n| Key | Default | Meaning |\n|---|---|---|\n| `provider` | `blockrun` | harness route key to register |\n| `apiKeyEnv` | `BLOCKRUN_API_KEY` | credential *reference* holding the BlockRun account key (`brk_live_…`) — **checked first** |\n| `solanaWalletKeyEnv` | `SOLANA_WALLET_KEY` | credential *reference* holding the bs58 Solana secret key — **checked before Base** |\n| `walletKeyEnv` | `BASE_CHAIN_WALLET_KEY` | credential *reference* holding the EVM wallet key, used when neither of the above resolves |\n| `apiKeyUrl` | `https://api.blockrun.ai` | account API root an API key authenticates against |\n| `solanaApiUrl` | `https://sol.blockrun.ai/api` | x402 gateway root a Solana wallet pays |\n| `apiUrl` | `https://blockrun.ai/api` | x402 gateway root a Base wallet pays |\n| `timeoutMs` | `300000` | per-request timeout |\n| `auxiliaryModel` | *(off)* | model for the harness's own maintenance calls — see below |\n| `requestFeeUsd` | `0.002` | flat per-request fee on the **Base** wallet path, used by `/spend` — the quoted figure, see below |\n| `solanaRequestFeeUsd` | `0.001` | the same figure for the **Solana** wallet path, which the gateway quotes differently. An API key is billed per token instead and ignores both. |\n\n### Cutting compaction cost\n\nThe harness compacts long sessions by summarizing them — and it does that on **whatever model the conversation is using**. On a flagship model that means paying flagship input rates to summarize, repeatedly, for the whole session.\n\nA ~100K-token compaction runs about **$0.90 on Claude Opus 5** and about **$0.026 on DeepSeek V4 Flash** — read from live 402 quotes at that size, consistent with the table above. Summarizing is a job a cheap model does well, and those calls share no prefix with your conversation — so moving them forfeits no prompt-cache hit:\n\n```yaml\n- id: blockrun-llm\n  config:\n    auxiliaryModel: deepseek/deepseek-chat\n```\n\nOff by default, and it only ever affects calls the harness itself marks as maintenance (compaction, session titles). **A conversation request is never redirected.**\n\n`blockrun-review` — the gate:\n\n| Key | Default | Meaning |\n|---|---|---|\n| `enabled` | `false` | whether the automatic gate intercepts tool calls |\n| `reviewerProvider` | `blockrun` | provider route carrying the reviewer |\n| `reviewerModel` | `anthropic/claude-opus-5` | use a *different, stronger* model than the agent |\n| `timeoutMs` | `30000` | how long one review may take |\n| `reviewerMaxTokens` | `512` | output cap asked for per review, and billed whether or not it is used |\n| `onReviewerFailure` | `ask` | `ask` escalates to you; `deny` blocks (unattended runs) |\n| `extraRules` | `[]` | additional `{name, pattern, tools}` risk rules |\n\nMounting the route does **not** change your default model. `dsh-base` keeps `deepseek-official`; this route is used only where you ask for it.\n\n## Honest notes\n\n- **This will not make DeepSeek cheaper.** Each request is priced from its own 402 quote — $0.002 at small sizes, climbing with input — and BlockRun does not price DeepSeek's cache-hit discount. A cache-warm agent turn costs DeepSeek about $0.000056 directly against roughly $0.007 here at 22K input tokens. Keep your DeepSeek key for the loop; use this for what DeepSeek cannot do.\n- **The free tier is a smoke test, not a workhorse.** <!-- br:models.free -->7<!-- /br:models.free --> models are free right now, and they are free because someone else's terms pay for them: the NVIDIA entries may use prompts for service improvement, so do not point them at a private codebase, and never use one as the reviewer. It also turns over fast — on 2026-08-30 NVIDIA retired four of the five free models in a single sweep, and the replacements arrived the same day. This route reads the list live, so it follows those changes without a release here, but a free model you pinned last week may simply not be there.\n- **A free model can answer as a different model, and `/spend` will tell you.** The gateway keeps a fallback cascade behind the free tier and substitutes without failing. Measured: every request for `nvidia/nemotron-3-nano-omni-30b-a3b-reasoning` — the free tier's only vision model — was answered by something else, and one request in three for `nvidia/nemotron-3-ultra-550b`, the largest free model listed, came back from a 30B. One of the substitutes, `nvidia/nemotron-3-super-120b`, is not in the public catalog at all. Since 0.10.4 this route reads the `model` field off every chunk and names the substitute under the row in `/spend`, against the id you asked for rather than replacing it. It is a report, not a guard: the reply is real and it is delivered. Reported upstream as BlockRunAI/blockrun#450.\n- **A review costs a model call.** It runs only on flagged calls, with a 30s ceiling.\n- **The reviewer sees the flagged tool call**, not your whole repository.\n\n## Known limitations\n\n- **An image is refused for a model measured not to accept one** — `visionModels` is the set that answered a real image correctly, and the `vision` tag alone is not enough, since several tagged models charge and then fail. Six are excluded; see section 5. (This bullet used to read \"images are refused, vision is planned\", beside another saying reasoning effort was refused too. Both shipped in 0.10.0 and both bullets outlived them by three releases, describing a plugin that no longer exists — in the section a reader consults precisely to find out what does not work.)\n- **An aborted request stops delivery immediately, but the in-flight HTTP request is not itself cancelled** until `@blockrun/llm` accepts an `AbortSignal`; the socket closes on the SDK's own timeout.\n- **This plugin keeps no durable record of what it spends.** `/spend` lives in memory for the life of the process. Harness session logs refuse event types a build does not know, and an out-of-repo plugin cannot mark its events ignorable, so it writes no session events. It also does not reach `~/.blockrun/cost_log.jsonl`: that ledger is written by `@blockrun/llm`'s `LLMClient`, and the streaming client this adapter uses tracks its spend in memory only. On an API key the durable record is BlockRun's own — every call lands on the account ledger behind [`/dashboard/activity`](https://user.blockrun.ai/dashboard/activity), with request id, model, tokens and cost. On a wallet, the wallet balance is the record.\n- **There is no balance or usage endpoint to read from the plugin.** `api.blockrun.ai` publishes `/v1/chat/completions`, `/v1/messages` and the model catalogs; `/v1/usage`, `/v1/balance` and friends are `404`. So `/spend` cannot show your remaining credit, and an exhausted account is discovered by a `PAYMENT_REQUIRED` that points at the top-up page rather than by a warning beforehand.\n- **Solana needs two optional peer dependencies.** `@solana/web3.js` and `@solana/spl-token` are optional peers rather than dependencies, because `@solana/spl-token` pulls in `bigint-buffer`, whose native `toBigIntLE()` has an unpatched buffer overflow with no fixed release anywhere. Making them optional keeps that out of the lockfile of every API-key and Base-only deployment. Install them yourself for the Solana path; a Solana request without them fails naming the packages.\n- **The `model` a response reports is not always the id you asked for, and not always a substitution.** OpenAI-family models echo the vendor-versioned id — a request for `openai/gpt-5.5` comes back as `gpt-5.5-2026-04-23`, and `anthropic/claude-sonnet-4-6` as `anthropic/claude-sonnet-4.6`. `/spend`'s substitution line reads those as a different model answering. It is cosmetic and it predates the API-key path — measured identical on both hosts — but it does mean the line can appear when nothing was actually substituted.\n- **Smart routing (`blockrun/auto`) is not wired up**, and not for lack of a router. A virtual model has to report one context window, and the harness sizes compaction from it: report the largest candidate and a turn routed to a smaller model overflows with compaction never firing; report the smallest and every session compacts far too early. Until that has an honest answer, pin a model id — `auxiliaryModel` already moves the expensive maintenance calls, which is where the savings actually were.\n- **Compaction may fire earlier than it needs to.** This route reports the context window the gateway's model catalog declares. Measured against the live gateway, `openai/gpt-4.1-nano` accepted a 450,037-token prompt and recalled a marker from the very first line — no truncation, but 3.5x the 128,000 the catalog states. The harness sizes compaction from the declared figure, so a session can compact while the model would still have taken the whole thing. Reported upstream; this plugin reports what the catalog says rather than guessing higher, because over-claiming would trade early compaction for silent overflow.\n- **Context overflow is detected by request size, not by the error text.** A real overflow comes back from the gateway as `{\"message\":\"API request failed\"}` — the provider's wording is sanitized away, so the usual text detectors match nothing. After a 400, a request larger than the model's declared window is therefore treated as an overflow so compaction can recover. The text detectors still run first, so this corrects itself if the gateway stops sanitizing.\n- **Prior-turn reasoning is not sent back.** DeepSeek's thinking-mode guide says `reasoning_content` should be returned on tool-call turns, but this one route serves <!-- br:models.chatVisible -->75<!-- /br:models.chatVisible --> models from many vendors, and a field one of them requires is a field another may reject. Multi-step tool use on a reasoning model may be slightly degraded as a result; please report it if you hit it.\n\n## Development\n\n```sh\nnpm test          # offline tests, including real-cordis-Loader compositions\nnpm run test:e2e  # live tests, three independent suites that never fall back to each other:\n                  # Base wallet (real USDC, ~$0.02), Solana wallet (SOLANA_WALLET_KEY or\n                  # ~/.blockrun/.solana-session), and the account host (BLOCKRUN_API_KEY).\n                  # Each skips when its own credential is absent.\nnpm run sync:models  # refresh the model and free-tier counts in both READMEs from the live catalog\nnpm run probe:vision # measure which vision-tagged models really accept an image; prints the list to paste\nnpm run test:docker  # install the PUBLISHED package in a clean container and assert it composes\n```\n\nDeveloping against a linked checkout (`dsh plugin add /path/to/dsh-clawrouter`) pulls this package's **devDependencies** into the profile, giving a second copy of `@deepseek-ai/dsh-llm`. `instanceof LlmError` then fails across the two copies and the harness reports every failure as `UNKNOWN` instead of its real code. Test error codes from a packed tarball (`npm pack`) rather than a link.\n\nThe live suites are the only thing that exercises the x402 handshakes, because the signature *is* the authentication and no mock can stand in for it — and Solana's is a different signature on a different curve, so nothing the Base suite proves carries over. They are also the only thing that proves an API key reaches the account host and is billed the way the account is invoiced. It is deliberately excluded from `npm test` so it never runs by accident.\n\n## Changelog\n\nSee [CHANGELOG.md](https://github.com/BlockRunAI/dsh-clawrouter/blob/main/CHANGELOG.md). Several early releases fixed silent bugs, so upgrading is worth it if you are on an earlier version.\n\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md"}