{ "name": "dsh-autotier", "version": "0.2.2", "description": "Automatic strong/cheap model-tier routing for DeepSeek Harness: intent-gated tier landing on the agent/request waterfall, plan-mode handoff (strong plans, cheap implements), deterministic high-risk guards on tools/pre-execute, failure escalation with TTL fallback, a /tier command, and tier status tools", "repository": { "type": "git", "url": "git+https://github.com/PerryLink/dsh-autotier.git" }, "homepage": "https://github.com/PerryLink/dsh-autotier#readme", "bugs": { "url": "https://github.com/PerryLink/dsh-autotier/issues" }, "author": "PerryLink", "private": false, "type": "module", "main": "./lib/index.js", "types": "./lib/types/index.d.ts", "exports": { ".": { "types": "./lib/types/index.d.ts", "default": "./lib/index.js" }, "./typert": { "types": "./lib/types/typert.host.d.ts", "default": "./lib/typert.host.js" }, "./client": { "types": "./lib/types/client/index.d.ts", "default": "./lib/client.js" }, "./package.json": "./package.json" }, "files": [ "lib", "src", "cordis.patch.yml", "CHANGELOG.md", "THIRD_PARTY_NOTICES.md", "SECURITY.md", "AGENTS.md", "README.md", "README-zh.md", "README-es.md", "README-pt.md", "README-hi.md", "LICENSE", "docs" ], "dsh": { "bundle": { "patch": "./cordis.patch.yml" }, "client": { "platform": "web", "inject": [ "@deepseek-ai/dsh-client-connection", "@deepseek-ai/dsh-client-locale", "@deepseek-ai/dsh-client-ui-conversation", "@deepseek-ai/dsh-client-ui-settings" ] }, "compatibility": { "dshReleases": { "0.1.2-rc.1": "compatible", "0.1.5-rc.1": "compatible" } } }, "dshWorkshop": { "schema": "omdsh-workshop-package/v1", "type": "plugin", "integration": { "protocol": "harness-profile", "artifact": "cordis.patch.yml" }, "install": { "mode": "transactional", "adapter": "profile-bundle", "failurePolicy": "generation-rollback", "touchesCurrentBeforeActivation": false }, "lifecycle": { "activation": "restart-profile", "dispose": "supported" }, "permissions": [ "network:outbound", "session:append" ], "compatibility": { "dshVersions": [ "0.1.2-rc.1", "0.1.5-rc.1" ] }, "capability": { "id": "autotier", "kind": "command", "invocation": "/tier, agent/request, tools/pre-execute", "expected": "routes each turn to a strong or cheap model tier, blocks high-risk tool calls while the cheap tier is executing, and escalates to the strong tier after repeated failures" }, "evidence": { "install": null, "failureIsolation": null, "hotReload": null, "remove": null } }, "keywords": [ "dsh", "dsh-plugin", "deepseek-harness", "deepseek", "cordis", "router", "model-tier", "cost", "auto" ], "engines": { "node": "^22.19.0 || >=24.0.0" }, "packageManager": "pnpm@11.7.0", "peerDependencies": { "@deepseek-ai/cordis": "^4.0.2", "@deepseek-ai/dsh-agent": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", "@deepseek-ai/dsh-api-remotes": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", "@deepseek-ai/dsh-client-connection": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", "@deepseek-ai/dsh-client-locale": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", "@deepseek-ai/dsh-client-ui-conversation": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", "@deepseek-ai/dsh-client-ui-settings": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", "@deepseek-ai/dsh-client-ui-slots": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", "@deepseek-ai/dsh-commands": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", "@deepseek-ai/dsh-llm": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", "@deepseek-ai/dsh-plan-mode": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", "@deepseek-ai/dsh-session": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", "@deepseek-ai/dsh-session-projection": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", "@deepseek-ai/dsh-settings": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", "@deepseek-ai/dsh-tools": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", "@deepseek-ai/dsh-typert-protocol": ">=0.1.2-rc.1 <0.2.0 || >=0.1.5-alpha.1 <0.2.0", "@deepseek-ai/schemastery": "^3.18.2" }, "peerDependenciesMeta": { "@deepseek-ai/dsh-api-remotes": { "optional": true }, "@deepseek-ai/dsh-client-connection": { "optional": true }, "@deepseek-ai/dsh-client-locale": { "optional": true }, "@deepseek-ai/dsh-client-ui-conversation": { "optional": true }, "@deepseek-ai/dsh-client-ui-settings": { "optional": true }, "@deepseek-ai/dsh-client-ui-slots": { "optional": true }, "@deepseek-ai/dsh-plan-mode": { "optional": true }, "@deepseek-ai/dsh-session-projection": { "optional": true } }, "dependencies": { "tsdown": "^0.22.14", "typescript": "^5.9.0", "zod": "^4.5.4" }, "devDependencies": { "@deepseek-ai/cordis": "^4.0.2", "@deepseek-ai/cordis-plugin-include": "^1.0.7", "@deepseek-ai/cordis-plugin-loader": "^1.0.3", "@deepseek-ai/dsh-agent": "0.1.5-rc.1", "@deepseek-ai/dsh-agent-default-model": "0.1.5-rc.1", "@deepseek-ai/dsh-agent-loop": "0.1.5-rc.1", "@deepseek-ai/dsh-agent-loop-testkit": "0.1.5-rc.1", "@deepseek-ai/dsh-api-remotes": "0.1.5-rc.1", "@deepseek-ai/dsh-atomic-write": "0.1.5-rc.1", "@deepseek-ai/dsh-attachment": "0.1.5-rc.1", "@deepseek-ai/dsh-client-connection": "0.1.5-rc.1", "@deepseek-ai/dsh-client-locale": "0.1.5-rc.1", "@deepseek-ai/dsh-client-ui-conversation": "0.1.5-rc.1", "@deepseek-ai/dsh-client-ui-settings": "0.1.5-rc.1", "@deepseek-ai/dsh-client-ui-slots": "0.1.5-rc.1", "@deepseek-ai/dsh-commands": "0.1.5-rc.1", "@deepseek-ai/dsh-home-paths": "0.1.5-rc.1", "@deepseek-ai/dsh-llm": "0.1.5-rc.1", "@deepseek-ai/dsh-plan-mode": "0.1.5-rc.1", "@deepseek-ai/dsh-sandbox-policy": "0.1.5-rc.1", "@deepseek-ai/dsh-session": "0.1.5-rc.1", "@deepseek-ai/dsh-session-persistence": "0.1.5-rc.1", "@deepseek-ai/dsh-session-projection": "0.1.5-rc.1", "@deepseek-ai/dsh-settings": "0.1.5-rc.1", "@deepseek-ai/dsh-settings-file": "0.1.5-rc.1", "@deepseek-ai/dsh-system-prompt": "0.1.5-rc.1", "@deepseek-ai/dsh-tools": "0.1.5-rc.1", "@deepseek-ai/dsh-typert-protocol": "0.1.5-rc.1", "@deepseek-ai/dsh-util-values": "0.1.5-rc.1", "@deepseek-ai/schemastery": "^3.18.2", "@types/node": "^22.19.0", "@types/react": "18.3.31", "@vitest/coverage-v8": "3.2.7", "oxlint": "0.18.1", "react": "18.3.1", "react-dom": "18.3.1", "vitest": "^3.2.0" }, "scripts": { "build": "node scripts/prepare.mjs", "typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json --noEmit", "typecheck:ci": "tsc -p tsconfig.ci.json --noEmit", "test": "vitest run", "test:watch": "vitest", "test:coverage": "vitest run --coverage", "lint": "oxlint", "check:readmes": "node scripts/check-readme-sync.mjs", "prepare": "node scripts/prepare.mjs", "verify:self-contained": "node scripts/verify-self-contained.mjs", "verify:artifacts": "node scripts/verify-artifacts.mjs", "prepublishOnly": "pnpm run typecheck && pnpm run typecheck:ci && pnpm test && pnpm run build && pnpm run verify:self-contained && pnpm run verify:artifacts" }, "license": "Apache-2.0", "funding": { "type": "individual", "url": "https://github.com/sponsors/PerryLink" } }