{"_id":"@agentrouter-top/dsh-plugin","_rev":"3-75ee51a4ced0f69413886af4107990c0","name":"@agentrouter-top/dsh-plugin","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@agentrouter-top/dsh-plugin","version":"0.1.0","license":"MIT","_id":"@agentrouter-top/dsh-plugin@0.1.0","maintainers":[{"name":"maybank01","email":"z1316296346@gmail.com"}],"homepage":"https://github.com/agentrouter-top/agentrouter-for-dsh#readme","bugs":{"url":"https://github.com/agentrouter-top/agentrouter-for-dsh/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-api-remotes"],"platform":"web"}},"dist":{"shasum":"c97b1f9d326c5e9136a70b56c99c6f97ee895f7e","tarball":"https://registry.npmjs.org/@agentrouter-top/dsh-plugin/-/dsh-plugin-0.1.0.tgz","fileCount":13,"integrity":"sha512-4/79LVBDecQAHXLfWjRwpbPXwJhvG4mJOwjFHbIojTVwzuUoMCtUPiJjcV6/JqqIzKyvw/FZ53FqmBCJeCOX2A==","signatures":[{"sig":"MEQCIBAcDFR4XQsl6Ejw69Kse7zHqQHzlCzQCtVpYStXrBcpAiBi1CjTqdFDkDmXY/PFgavhk9YgqMV94O3BAIgDdHsgIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42339},"main":"./lib/index.js","type":"module","_from":"file:artifacts/dsh-desktop-candidate/evidence/agentrouter-top-dsh-plugin-0.1.0.tgz","types":"./lib/types/index.d.ts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./client":{"types":"./lib/types/client.d.ts","default":"./lib/client.js"},"./package.json":"./package.json","./cordis.patch.yml":"./cordis.patch.yml"},"scripts":{"test":"npm run build && npm run verify:loader && npm run verify:package-shape && node --test test/*.test.mjs && vitest run","build":"npm run clean && tsdown && tsc --project tsconfig.json --emitDeclarationOnly && tsc --project tsconfig.client.json --emitDeclarationOnly","clean":"node scripts/clean.mjs","typecheck":"tsc --project tsconfig.json --noEmit && tsc --project tsconfig.client.json --noEmit","verify:loader":"node scripts/verify-client-loader.mjs","verify:package-shape":"node scripts/verify-package-shape.mjs"},"_npmUser":{"name":"maybank01","email":"z1316296346@gmail.com"},"_resolved":"D:\\AgentTeam\\agentrouter-for-dsh\\artifacts\\dsh-desktop-candidate\\evidence\\agentrouter-top-dsh-plugin-0.1.0.tgz","_integrity":"sha512-4/79LVBDecQAHXLfWjRwpbPXwJhvG4mJOwjFHbIojTVwzuUoMCtUPiJjcV6/JqqIzKyvw/FZ53FqmBCJeCOX2A==","repository":{"url":"git+https://github.com/agentrouter-top/agentrouter-for-dsh.git","type":"git","directory":"plugin"},"_npmVersion":"11.12.1","description":"Public AgentRouter provider bundle for official DeepSeek Harness","directories":{},"_nodeVersion":"24.15.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"29.1.1","react":"18.3.1","tsdown":"0.22.2","vitest":"4.1.8","react-dom":"18.3.1","typescript":"6.0.3","@types/node":"26.2.0","@types/react":"18.3.28","@types/react-dom":"18.3.7","@deepseek-ai/cordis":"4.0.1","@testing-library/react":"16.3.2","@deepseek-ai/schemastery":"3.18.1","@deepseek-ai/dsh-settings":"0.1.0-rc.7","@deepseek-ai/dsh-llm-pi-ai":"0.1.0-rc.7","@deepseek-ai/dsh-api-remotes":"0.1.0-rc.7","@deepseek-ai/dsh-client-locale":"0.1.0-rc.7","@deepseek-ai/dsh-client-runtime":"0.1.0-rc.7","@deepseek-ai/dsh-client-ui-slots":"0.1.0-rc.7","@deepseek-ai/dsh-client-web-react":"0.1.0-rc.7","@deepseek-ai/dsh-client-connection":"0.1.0-rc.7","@deepseek-ai/dsh-client-ui-settings":"0.1.0-rc.7","@deepseek-ai/dsh-client-ui-primitives":"0.1.0-rc.7"},"peerDependencies":{"react":"18.3.1","@deepseek-ai/cordis":"4.0.1","@deepseek-ai/schemastery":"^3.18.1","@deepseek-ai/dsh-settings":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-llm-pi-ai":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-api-remotes":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-client-locale":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-client-runtime":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-client-ui-slots":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-client-web-react":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-client-connection":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-client-ui-settings":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-client-ui-primitives":">=0.1.0-rc.7 <0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/dsh-plugin_0.1.0_1787297916495_0.4733309776272425","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@agentrouter-top/dsh-plugin","version":"0.1.1","license":"MIT","_id":"@agentrouter-top/dsh-plugin@0.1.1","maintainers":[{"name":"maybank01","email":"z1316296346@gmail.com"}],"homepage":"https://github.com/Maybank01/agentrouter-for-dsh#readme","bugs":{"url":"https://github.com/Maybank01/agentrouter-for-dsh/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-api-remotes"],"platform":"web"}},"dist":{"shasum":"afa15e877cf597f56895ff62e5adc81be5d0673f","tarball":"https://registry.npmjs.org/@agentrouter-top/dsh-plugin/-/dsh-plugin-0.1.1.tgz","fileCount":13,"integrity":"sha512-IxnHEUIpYIVr77DYxIfR1UUcm/8yJwAliIFTbHp90YBD4jhFWJSzgNm7yef7KL3IjEau3mpmHzuT976avchjbw==","signatures":[{"sig":"MEYCIQCewax0vr4VtPXOVL63X402af1kuaK/5ICpQ5NhHZGLAgIhAIHHmLSZd7/KATmgJxJG/ptAR2XKZehOLYtOp49fH/xq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42721},"main":"./lib/index.js","type":"module","_from":"file:candidate/agentrouter-top-dsh-plugin-0.1.1.tgz","types":"./lib/types/index.d.ts","engines":{"node":">=22.19.0"},"exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./client":{"types":"./lib/types/client.d.ts","default":"./lib/client.js"},"./package.json":"./package.json","./cordis.patch.yml":"./cordis.patch.yml"},"scripts":{"test":"npm run build && npm run verify:loader && npm run verify:package-shape && node --test test/*.test.mjs && vitest run","build":"npm run clean && tsdown && tsc --project tsconfig.json --emitDeclarationOnly && tsc --project tsconfig.client.json --emitDeclarationOnly","clean":"node scripts/clean.mjs","typecheck":"tsc --project tsconfig.json --noEmit && tsc --project tsconfig.client.json --noEmit","verify:loader":"node scripts/verify-client-loader.mjs","verify:package-shape":"node scripts/verify-package-shape.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a26b50f4-d53b-4fdb-b679-dbc2d037b80b"}},"_resolved":"/home/runner/work/agentrouter-for-dsh/agentrouter-for-dsh/candidate/agentrouter-top-dsh-plugin-0.1.1.tgz","_integrity":"sha512-IxnHEUIpYIVr77DYxIfR1UUcm/8yJwAliIFTbHp90YBD4jhFWJSzgNm7yef7KL3IjEau3mpmHzuT976avchjbw==","repository":{"url":"git+https://github.com/Maybank01/agentrouter-for-dsh.git","type":"git","directory":"plugin"},"_npmVersion":"11.19.0","description":"Public AgentRouter provider bundle for official DeepSeek Harness","directories":{},"_nodeVersion":"22.19.0","publishConfig":{"access":"public","provenance":false},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"29.1.1","react":"18.3.1","tsdown":"0.22.2","vitest":"4.1.8","react-dom":"18.3.1","typescript":"6.0.3","@types/node":"26.2.0","@types/react":"18.3.28","@types/react-dom":"18.3.7","@deepseek-ai/cordis":"4.0.1","@testing-library/react":"16.3.2","@deepseek-ai/schemastery":"3.18.1","@deepseek-ai/dsh-settings":"0.1.0-rc.7","@deepseek-ai/dsh-llm-pi-ai":"0.1.0-rc.7","@deepseek-ai/dsh-api-remotes":"0.1.0-rc.7","@deepseek-ai/dsh-client-locale":"0.1.0-rc.7","@deepseek-ai/dsh-client-runtime":"0.1.0-rc.7","@deepseek-ai/dsh-client-ui-slots":"0.1.0-rc.7","@deepseek-ai/dsh-client-web-react":"0.1.0-rc.7","@deepseek-ai/dsh-client-connection":"0.1.0-rc.7","@deepseek-ai/dsh-client-ui-settings":"0.1.0-rc.7","@deepseek-ai/dsh-client-ui-primitives":"0.1.0-rc.7"},"peerDependencies":{"react":"18.3.1","@deepseek-ai/cordis":"4.0.1","@deepseek-ai/schemastery":"^3.18.1","@deepseek-ai/dsh-settings":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-llm-pi-ai":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-api-remotes":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-client-locale":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-client-runtime":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-client-ui-slots":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-client-web-react":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-client-connection":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-client-ui-settings":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-client-ui-primitives":">=0.1.0-rc.7 <0.2.0"},"_npmOperationalInternal":{"tmp":"tmp/dsh-plugin_0.1.1_1787337620938_0.5177580948408287","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@agentrouter-top/dsh-plugin","version":"0.2.0","description":"Public AgentRouter provider bundle for official DeepSeek Harness","type":"module","license":"MIT","repository":{"type":"git","url":"git+https://github.com/Maybank01/agentrouter-dsh-plugins.git","directory":"packages/dsh-plugin"},"main":"./lib/index.js","types":"./lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./client":{"types":"./lib/types/client.d.ts","default":"./lib/client.js"},"./typert":{"types":"./lib/types/typert.d.ts","default":"./lib/typert.js"},"./remote":{"types":"./lib/types/remote.d.ts","default":"./lib/remote.js"},"./cordis.patch.yml":"./cordis.patch.yml","./package.json":"./package.json"},"engines":{"node":">=22.19.0"},"publishConfig":{"access":"public","provenance":false},"dependencies":{"zod":"4.4.3"},"dsh":{"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-api-remotes"],"platform":"web"},"bundle":{"patch":"./cordis.patch.yml"}},"scripts":{"clean":"node scripts/clean.mjs","build":"npm run clean && tsdown && tsc --project tsconfig.json --emitDeclarationOnly && tsc --project tsconfig.client.json --emitDeclarationOnly","typecheck":"tsc --project tsconfig.json --noEmit && tsc --project tsconfig.client.json --noEmit","verify:loader":"node scripts/verify-client-loader.mjs","verify:package-shape":"node scripts/verify-package-shape.mjs","test":"npm run build && npm run verify:loader && npm run verify:package-shape && node --test test/*.test.mjs && vitest run"},"peerDependencies":{"@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-credentials":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-api-remotes":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-client-connection":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-client-locale":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-client-runtime":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-client-ui-primitives":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-client-ui-settings":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-client-ui-slots":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-client-web-react":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-llm-pi-ai":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-settings":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/dsh-typert-protocol":">=0.1.0-rc.7 <0.2.0","@deepseek-ai/schemastery":"^3.18.1","react":"18.3.1"},"devDependencies":{"@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-api-remotes":"0.1.1-rc.2","@deepseek-ai/dsh-client-connection":"0.1.1-rc.2","@deepseek-ai/dsh-client-locale":"0.1.1-rc.2","@deepseek-ai/dsh-client-runtime":"0.1.1-rc.2","@deepseek-ai/dsh-client-ui-primitives":"0.1.1-rc.2","@deepseek-ai/dsh-client-ui-settings":"0.1.1-rc.2","@deepseek-ai/dsh-client-ui-slots":"0.1.1-rc.2","@deepseek-ai/dsh-client-web-react":"0.1.0-rc.7","@deepseek-ai/dsh-credentials":"0.1.1-rc.2","@deepseek-ai/dsh-llm-pi-ai":"0.1.1-rc.2","@deepseek-ai/dsh-settings":"0.1.1-rc.2","@deepseek-ai/dsh-typert-protocol":"0.1.1-rc.2","@deepseek-ai/schemastery":"3.18.1","@testing-library/react":"16.3.2","@types/node":"26.2.0","@types/react":"18.3.28","@types/react-dom":"18.3.7","jsdom":"29.1.1","react":"18.3.1","react-dom":"18.3.1","tsdown":"0.22.2","typescript":"6.0.3","vitest":"4.1.8"},"_id":"@agentrouter-top/dsh-plugin@0.2.0","bugs":{"url":"https://github.com/Maybank01/agentrouter-dsh-plugins/issues"},"homepage":"https://github.com/Maybank01/agentrouter-dsh-plugins#readme","_integrity":"sha512-byl1EizTDylGceD4hIg5UJrjtFOYyMPoCYPt7ifdl75tJtm3ivctBzsYF9fFzR1T4eg3IXBcYi+yx3Evy3WulA==","_resolved":"/runner/_work/agentrouter-dsh-plugins/agentrouter-dsh-plugins/candidate/agentrouter-top-dsh-plugin-0.2.0.tgz","_from":"file:/runner/_work/agentrouter-dsh-plugins/agentrouter-dsh-plugins/candidate/agentrouter-top-dsh-plugin-0.2.0.tgz","_nodeVersion":"22.19.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-byl1EizTDylGceD4hIg5UJrjtFOYyMPoCYPt7ifdl75tJtm3ivctBzsYF9fFzR1T4eg3IXBcYi+yx3Evy3WulA==","shasum":"82e2786730a4a9967c15a1ccb016b4440f58c485","tarball":"https://registry.npmjs.org/@agentrouter-top/dsh-plugin/-/dsh-plugin-0.2.0.tgz","fileCount":26,"unpackedSize":201141,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDVi9O0BlqIxuVXPg36mX89Y+AmkATz44K6IMw+xYrQ5wIgB9nBIGTe02XCWjM1DaFLtjNuK7Cd8l4PxGpwVN3q0cc="}]},"_npmUser":{"name":"maybank01","email":"z1316296346@gmail.com"},"directories":{},"maintainers":[{"name":"maybank01","email":"z1316296346@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-plugin_0.2.0_1788022941957_0.13712049019089578"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-21T07:38:36.323Z","modified":"2026-08-29T17:02:22.331Z","0.1.0":"2026-08-21T07:38:36.644Z","0.1.1":"2026-08-21T18:40:21.072Z","0.2.0":"2026-08-29T17:02:22.140Z"},"bugs":{"url":"https://github.com/Maybank01/agentrouter-dsh-plugins/issues"},"license":"MIT","homepage":"https://github.com/Maybank01/agentrouter-dsh-plugins#readme","repository":{"type":"git","url":"git+https://github.com/Maybank01/agentrouter-dsh-plugins.git","directory":"packages/dsh-plugin"},"description":"Public AgentRouter provider bundle for official DeepSeek Harness","maintainers":[{"name":"maybank01","email":"z1316296346@gmail.com"}],"readme":"# `@agentrouter-top/dsh-plugin`\n\nPublic AgentRouter provider bundle for official DeepSeek Harness. This package\nis maintained by AgentRouter and is not an official DeepSeek Harness package.\n\nThe npm package is public, while its development repository is private. The\npublished tarball contains compiled JavaScript, type declarations, this README,\nthe MIT license, and the DSH patch only; it intentionally excludes source maps\nand original TypeScript sources. Because the source repository is private, npm\npublic-source provenance is unavailable. Release verification instead binds the\nregistry integrity value to the exact accepted tarball bytes.\n\n## Install\n\nInstall and update official DSH through its official npm distribution. Then add\nthis bundle to the profile you use:\n\n```text\ndsh plugin --profile web add @agentrouter-top/dsh-plugin\n```\n\nUpgrade the same profile and restart its running DSH process:\n\n```text\ndsh plugin --profile web update --latest @agentrouter-top/dsh-plugin\n```\n\nInstall or roll back an exact version with\n`dsh plugin --profile web add @agentrouter-top/dsh-plugin@<version>`. Official\nDSH owns profile package management; running `npm update` from an unrelated\ndirectory does not update the profile. This plugin never checks npm or installs\ncode silently at startup.\n\n## Connect\n\nOn a new graphical profile the plugin offers two equal entry points:\n\n- **Authorize an AgentRouter account** (recommended). DSH opens the system\n  browser, the user signs in and approves the named device, and the plugin\n  automatically receives that device's dedicated model Key plus read-only\n  provider-sync credential. No password, Web Cookie, access token, refresh\n  token, recovery phrase, or additional device password enters the Desktop.\n- **Use an API Key**. DSH validates an ordinary AgentRouter Key against the\n  live model directory and stores it only after a successful response. This\n  path does not require the AgentRouter Web or provider-sync service.\n\nIn both modes the default model provider is **AGENTROUTER**. `AGENTROUTER` is\nthe provider identity, not a model alias. Models retain their real directory\nIDs, such as `deepseek-chat`. The local technical mapping is:\n\n- credential reference: `AGENTROUTER_API_KEY`;\n- Base URL: `https://api.agentrouter.top/v1`;\n- provider route id: `agentrouter`;\n- provider display name: `AGENTROUTER`.\n\nThe account flow also applies provider configurations saved in AgentRouter Web.\nThe built-in AGENTROUTER configuration continues to call AgentRouter's stable\n`/v1`. A personal DeepSeek configuration uses a separate route, credential,\nand the DeepSeek official endpoint directly; the same real model ID may appear\nunder both providers without being renamed. Cloud sync manages only its\nreserved `agentrouter-cloud/*` routes and `AGENTROUTER_CLOUD_*` references.\nManual providers, workspaces, conversations, and other DSH data are untouched.\n\nDevice protection is automatic and deliberately invisible in the normal flow.\nThe plugin creates a device key pair in its Host process, keeps the private key\nin official DSH's local credential store, and accepts only provider secrets\nencrypted for that device. The browser client cannot read those values back.\nLike other DSH file-backed credentials, they remain readable to software\nrunning as the same operating-system user; this is not zero-knowledge storage\nor protection against a compromised local account. An offline device cannot\nbe wiped instantly, but revocation removes cloud-managed access when it next\nconnects.\n\nThe API Key path uses only public DSH browser contracts:\n\n1. the entered key is sent once to `llm.discoverModels` for the stable\n   `https://api.agentrouter.top/v1` endpoint;\n2. after a successful check, the key is written through `credentials.set` to\n   the `AGENTROUTER_API_KEY` reference and immediately removed from the form;\n3. the returned model directory is written through `settings.mutate`, and\n   `deepseek-chat` is selected automatically when that real ID is available;\n4. subsequent edits use DSH's official Models page.\n\nThe plugin never adds a local proxy. Model requests and streams continue to go\ndirectly from the official DSH pi-ai adapter to AgentRouter `/v1`.\n\n## Errors and recovery\n\n- `MISSING_CREDENTIAL` or 401: set `AGENTROUTER_API_KEY` to a valid user API\n  key. The key value is never included in the diagnostic.\n- `UNKNOWN_MODEL`, 403, or model unavailable: refresh/replace the AgentRouter\n  model list and select a model the key can access.\n- network or 5xx failure: verify the complete Base URL and AgentRouter service\n  health. Account mode continues using its last successfully synchronized\n  provider configuration while offline.\n- empty model directory: enter a confirmed model ID in the onboarding fallback,\n  or use the official Models page after choosing another provider.\n- incompatible DSH adapter: install a supported official DSH version or remove\n  this bundle. Direct API Key mode remains available on the wider supported\n  range; account authorization is exposed only on the exact verified account\n  runtime.\n- account revoked: authorize again. Disconnecting an account removes only its\n  cloud-managed routes, device identity, and credentials, then restores the\n  prior direct/manual provider and default-model settings.\n\nRemove the bundle without touching other profile data:\n\n```text\ndsh plugin --profile web remove @agentrouter-top/dsh-plugin\n```\n","readmeFilename":"README.md"}