{
  "name": "dsh-edge",
  "version": "0.34.0",
  "description": "Your DeepSeek Harness, anywhere — deploy a persistent personal coding agent to Cloudflare Workers in one command",
  "author": "pawaca",
  "license": "MIT",
  "type": "module",
  "bin": {
    "dsh-edge": "scripts/cli.mjs"
  },
  "files": [
    "dist",
    "worker",
    "scripts/*.d.mts",
    "scripts/*.mjs",
    "wrangler.jsonc",
    "README.md",
    "README.zh.md",
    "LICENSE",
    "THIRD_PARTY_NOTICES.md"
  ],
  "repository": {
    "type": "git",
    "url": "git+https://github.com/pawaca/dsh-edge.git",
    "directory": "apps/dsh-edge"
  },
  "homepage": "https://github.com/pawaca/dsh-edge#readme",
  "bugs": {
    "url": "https://github.com/pawaca/dsh-edge/issues"
  },
  "keywords": [
    "deepseek",
    "deepseek-harness",
    "ai-agents",
    "byok",
    "cloudflare-workers",
    "durable-objects",
    "self-hosted"
  ],
  "engines": {
    "node": ">=22.14.0"
  },
  "publishConfig": {
    "access": "public"
  },
  "dshEdge": {
    "upstreamVersion": "0.2.1-rc.4"
  },
  "dependencies": {
    "@clack/prompts": "1.7.0",
    "compare-versions": "6.1.1",
    "execa": "^10.0.1",
    "jsonc-parser": "^3.3.1",
    "wrangler": "4.129.0",
    "yaml": "2.9.0"
  },
  "devDependencies": {
    "@cfworker/json-schema": "^4.1.1",
    "@cloudflare/computer": "0.7.0",
    "@cloudflare/workers-types": "5.20260904.1",
    "@deepseek-ai/cordis": "4.0.5",
    "@deepseek-ai/cosmokit": "1.8.6",
    "@deepseek-ai/dsh-agent": "0.2.1-rc.4",
    "@deepseek-ai/dsh-agent-instructions": "0.2.1-rc.4",
    "@deepseek-ai/dsh-agent-loop": "0.2.1-rc.4",
    "@deepseek-ai/dsh-anonymous-user-id": "0.2.1-rc.4",
    "@deepseek-ai/dsh-api-gateway": "0.2.1-rc.4",
    "@deepseek-ai/dsh-api-job-controller": "0.2.1-rc.4",
    "@deepseek-ai/dsh-api-remote-access": "0.2.1-rc.4",
    "@deepseek-ai/dsh-api-remotes": "0.2.1-rc.4",
    "@deepseek-ai/dsh-api-session-controller": "0.2.1-rc.4",
    "@deepseek-ai/dsh-api-settings-controller": "0.2.1-rc.4",
    "@deepseek-ai/dsh-api-workspace-controller": "0.2.1-rc.4",
    "@deepseek-ai/dsh-api-workspace-files": "0.2.1-rc.4",
    "@deepseek-ai/dsh-attachment": "0.2.1-rc.4",
    "@deepseek-ai/dsh-brand": "0.2.1-rc.4",
    "@deepseek-ai/dsh-client-connection": "0.2.1-rc.4",
    "@deepseek-ai/dsh-client-file-upload": "0.2.1-rc.4",
    "@deepseek-ai/dsh-client-locale": "0.2.1-rc.4",
    "@deepseek-ai/dsh-client-store": "0.2.1-rc.4",
    "@deepseek-ai/dsh-client-ui-chat": "0.2.1-rc.4",
    "@deepseek-ai/dsh-client-ui-conversation": "0.2.1-rc.4",
    "@deepseek-ai/dsh-client-ui-deliverables": "0.2.1-rc.4",
    "@deepseek-ai/dsh-client-ui-settings": "0.2.1-rc.4",
    "@deepseek-ai/dsh-client-ui-settings-general": "0.2.1-rc.4",
    "@deepseek-ai/dsh-client-ui-theme": "0.2.1-rc.4",
    "@deepseek-ai/dsh-command-compact": "0.2.1-rc.4",
    "@deepseek-ai/dsh-command-feedback": "0.2.1-rc.4",
    "@deepseek-ai/dsh-command-goal": "0.2.1-rc.4",
    "@deepseek-ai/dsh-commands": "0.2.1-rc.4",
    "@deepseek-ai/dsh-compaction": "0.2.1-rc.4",
    "@deepseek-ai/dsh-compaction-basic": "0.2.1-rc.4",
    "@deepseek-ai/dsh-compaction-image-offload": "0.2.1-rc.4",
    "@deepseek-ai/dsh-compaction-tool-result-pruner": "0.2.1-rc.4",
    "@deepseek-ai/dsh-credentials": "0.2.1-rc.4",
    "@deepseek-ai/dsh-file-reference": "0.2.1-rc.4",
    "@deepseek-ai/dsh-fs": "0.2.1-rc.4",
    "@deepseek-ai/dsh-fs-observation-policy": "0.2.1-rc.4",
    "@deepseek-ai/dsh-goal": "0.2.1-rc.4",
    "@deepseek-ai/dsh-goal-round-driver": "0.2.1-rc.4",
    "@deepseek-ai/dsh-home-paths": "0.2.1-rc.4",
    "@deepseek-ai/dsh-host-directory-picker": "0.2.1-rc.4",
    "@deepseek-ai/dsh-host-plugin-inventory": "0.2.1-rc.4",
    "@deepseek-ai/dsh-jobs": "0.2.1-rc.4",
    "@deepseek-ai/dsh-jobs-local": "0.2.1-rc.4",
    "@deepseek-ai/dsh-launch-environment": "0.2.1-rc.4",
    "@deepseek-ai/dsh-llm": "0.2.1-rc.4",
    "@deepseek-ai/dsh-mcp-resources": "0.2.1-rc.4",
    "@deepseek-ai/dsh-llm-deepseek": "0.2.1-rc.4",
    "@deepseek-ai/dsh-llm-deepseek-api-key": "0.2.1-rc.4",
    "@deepseek-ai/dsh-llm-pi-ai": "0.2.1-rc.4",
    "@deepseek-ai/dsh-llm-retry": "0.2.1-rc.4",
    "@deepseek-ai/dsh-message-feedback": "0.2.1-rc.4",
    "@deepseek-ai/dsh-output-retention": "0.2.1-rc.4",
    "@deepseek-ai/dsh-plan-mode": "0.2.1-rc.4",
    "@deepseek-ai/dsh-ptc-runtime": "0.2.1-rc.4",
    "@deepseek-ai/dsh-repeat-tool-reminder": "0.2.1-rc.4",
    "@deepseek-ai/dsh-sandbox": "0.2.1-rc.4",
    "@deepseek-ai/dsh-schedule": "0.2.1-rc.4",
    "@deepseek-ai/dsh-scope": "0.2.1-rc.4",
    "@deepseek-ai/dsh-session": "0.2.1-rc.4",
    "@deepseek-ai/dsh-session-checkpoint-policy": "0.2.1-rc.4",
    "@deepseek-ai/dsh-session-log-export": "0.2.1-rc.4",
    "@deepseek-ai/dsh-session-format": "0.2.1-rc.4",
    "@deepseek-ai/dsh-session-format-catalog": "0.2.1-rc.4",
    "@deepseek-ai/dsh-session-format-v0-to-v1": "0.2.1-rc.4",
    "@deepseek-ai/dsh-session-format-v1-to-v2": "0.2.1-rc.4",
    "@deepseek-ai/dsh-session-format-v2-to-v3": "0.2.1-rc.4",
    "@deepseek-ai/dsh-session-format-v3-to-v4": "0.2.1-rc.4",
    "@deepseek-ai/dsh-session-persistence": "0.2.1-rc.4",
    "@deepseek-ai/dsh-session-projection": "0.2.1-rc.4",
    "@deepseek-ai/dsh-session-projection-cache": "0.2.1-rc.4",
    "@deepseek-ai/dsh-session-stats": "0.2.1-rc.4",
    "@deepseek-ai/dsh-session-turn-outline": "0.2.1-rc.4",
    "@deepseek-ai/dsh-session-query": "0.2.1-rc.4",
    "@deepseek-ai/dsh-session-reference": "0.2.1-rc.4",
    "@deepseek-ai/dsh-session-title": "0.2.1-rc.4",
    "@deepseek-ai/dsh-session-title-first-prompt-llm": "0.2.1-rc.4",
    "@deepseek-ai/dsh-shell-env": "0.2.1-rc.4",
    "@deepseek-ai/dsh-session-title-llm": "0.2.1-rc.4",
    "@deepseek-ai/dsh-settings": "0.2.1-rc.4",
    "@deepseek-ai/dsh-skill": "0.2.1-rc.4",
    "@deepseek-ai/dsh-spill": "0.2.1-rc.4",
    "@deepseek-ai/dsh-spill-policy": "0.2.1-rc.4",
    "@deepseek-ai/dsh-storage": "0.2.1-rc.4",
    "@deepseek-ai/dsh-storage-domain": "0.2.1-rc.4",
    "@deepseek-ai/dsh-subagent": "0.2.1-rc.4",
    "@deepseek-ai/dsh-subagent-fork-in-process": "0.2.1-rc.4",
    "@deepseek-ai/dsh-subagent-spawn-in-process": "0.2.1-rc.4",
    "@deepseek-ai/dsh-system-prompt": "0.2.1-rc.4",
    "@deepseek-ai/dsh-time-context": "0.2.1-rc.4",
    "@deepseek-ai/dsh-timeout": "0.2.1-rc.4",
    "@deepseek-ai/dsh-token-meter": "0.2.1-rc.4",
    "@deepseek-ai/dsh-tool-ask-user": "0.2.1-rc.4",
    "@deepseek-ai/dsh-tool-call-timeout-policy": "0.2.1-rc.4",
    "@deepseek-ai/dsh-tool-fs": "0.2.1-rc.4",
    "@deepseek-ai/dsh-tool-fs-search": "0.2.1-rc.4",
    "@deepseek-ai/dsh-tool-goal": "0.2.1-rc.4",
    "@deepseek-ai/dsh-tool-jobs": "0.2.1-rc.4",
    "@deepseek-ai/dsh-tool-ralph": "0.2.1-rc.4",
    "@deepseek-ai/dsh-tool-schedule": "0.2.1-rc.4",
    "@deepseek-ai/dsh-tool-session-query": "0.2.1-rc.4",
    "@deepseek-ai/dsh-tool-skill": "0.2.1-rc.4",
    "@deepseek-ai/dsh-tool-subagent": "0.2.1-rc.4",
    "@deepseek-ai/dsh-tool-subagent-control": "0.2.1-rc.4",
    "@deepseek-ai/dsh-tool-present": "0.2.1-rc.4",
    "@deepseek-ai/dsh-tool-todo": "0.2.1-rc.4",
    "@deepseek-ai/dsh-tool-web": "0.2.1-rc.4",
    "@deepseek-ai/dsh-tool-workflow": "0.2.1-rc.4",
    "@deepseek-ai/dsh-tool-working-directory": "0.2.1-rc.4",
    "@deepseek-ai/dsh-tools": "0.2.1-rc.4",
    "@deepseek-ai/dsh-typert-protocol": "0.2.1-rc.4",
    "@deepseek-ai/dsh-typert-registry": "0.2.1-rc.4",
    "@deepseek-ai/dsh-user-approval": "0.2.1-rc.4",
    "@deepseek-ai/dsh-user-questions": "0.2.1-rc.4",
    "@deepseek-ai/dsh-util-values": "0.2.1-rc.4",
    "@deepseek-ai/dsh-web": "0.2.1-rc.4",
    "@deepseek-ai/dsh-web-deepseek-api": "0.2.1-rc.4",
    "@deepseek-ai/dsh-web-fetch-http": "0.2.1-rc.4",
    "@deepseek-ai/dsh-web-search-deepseek": "0.2.1-rc.4",
    "@deepseek-ai/dsh-workflow": "0.2.1-rc.4",
    "@deepseek-ai/dsh-working-directory": "0.2.1-rc.4",
    "@deepseek-ai/dsh-workspace": "0.2.1-rc.4",
    "@deepseek-ai/dsh-workspace-changes": "0.2.1-rc.4",
    "@deepseek-ai/schemastery": "3.18.5",
    "@mixmark-io/domino": "2.2.0",
    "@modelcontextprotocol/sdk": "1.30.0",
    "acorn": "8.18.0",
    "diff": "9.0.0",
    "fast-png": "8.0.0",
    "fflate": "0.8.3",
    "jpeg-js": "0.4.4",
    "just-bash": "3.4.2",
    "minimatch": "10.2.6",
    "playwright": "^1.49.0",
    "re2js": "1.3.3",
    "sucrase": "3.35.1",
    "typescript": "^6.0.3",
    "vitest": "^4.1.8",
    "ws": "^8.21.0"
  },
  "scripts": {
    "bundle:direct": "pnpm run web:build && pnpm --dir standalone run build:worker:direct && node standalone/scripts/promote.mjs direct",
    "bundle:isolated": "pnpm run web:build && pnpm --dir standalone run build:worker:isolated && node standalone/scripts/promote.mjs isolated",
    "bundle:workers": "pnpm --dir standalone run build && pnpm --dir standalone run verify && node standalone/scripts/promote.mjs all",
    "dev": "pnpm run bundle:direct && node scripts/dev.mjs direct",
    "dev:isolated": "pnpm run bundle:isolated && node scripts/dev.mjs isolated",
    "dev:container": "pnpm run bundle:isolated && node scripts/dev.mjs container",
    "dsh-edge": "node scripts/cli.mjs",
    "example:install": "node examples/install-keyless.mjs",
    "install:cloudflare": "pnpm run bundle:workers && node scripts/cli.mjs install",
    "legal:write": "node scripts/legal-files.mjs write",
    "check:startup": "node scripts/check-startup.mjs",
    "pack:verify": "node scripts/verify-packed.mjs",
    "web:build": "pnpm --dir standalone run build:web && node standalone/scripts/promote.mjs web",
    "test": "vitest run --root ../.. --project edge-runtime",
    "test:integration": "pnpm run bundle:workers && node tests/run-session-integration.mjs",
    "test:container": "pnpm run bundle:isolated && node tests/container.integration.mjs",
    "test:snapshot": "vitest run --root ../.. --config apps/dsh-edge/vitest.snapshot.config.ts",
    "typecheck": "tsc --noEmit"
  }
}