{
  "name": "dsh-mobile",
  "version": "0.6.5",
  "private": false,
  "description": "DeepSeek Harness 移动端适配与安全访问插件，支持局域网、远程连接、Android App 和手机浏览器。",
  "type": "module",
  "workspaces": [
    "packages/question-fixes"
  ],
  "bin": {
    "dsh-mobile": "lib/cli.js"
  },
  "main": "./lib/index.mjs",
  "types": "./lib/index.d.mts",
  "exports": {
    ".": {
      "types": "./lib/index.d.mts",
      "default": "./lib/index.mjs"
    },
    "./client": {
      "default": "./lib/client.js"
    },
    "./package.json": "./package.json"
  },
  "files": [
    "lib/**/*.mjs",
    "lib/cli.js",
    "lib/**/*.d.mts",
    "lib/client.js",
    "lib/mobile-layout.js",
    "lib/mobile-compat.js",
    "lib/**/*.map",
    "bin/dsh-mobile-funnel-win32-x64.exe",
    "bin/dsh-mobile-funnel-linux-x64",
    "bin/dsh-mobile-funnel-linux-arm64",
    "packages/question-fixes/package.json",
    "packages/question-fixes/lib/**",
    "packages/question-fixes/LICENSE",
    "apps/mobile/release.json",
    "cordis.patch.yml",
    "README.md",
    "README.en.md",
    "CHANGELOG.md",
    "CONTRIBUTORS.md",
    "docs/README.md",
    "docs/SKIN_COMPATIBILITY.md",
    "docs/SKIN_COMPATIBILITY.en.md",
    "docs/DSH_0.1.5_LAN.md",
    "docs/CLOUDFLARE_TUNNEL.md",
    "docs/CLOUDFLARE_TUNNEL.en.md",
    "docs/SELF_HOSTED_FRP.md",
    "docs/SELF_HOSTED_FRP.en.md",
    "docs/ATTACH_EXISTING_FRPS.md",
    "docs/ATTACH_EXISTING_FRPS.en.md",
    "docs/SELF_HOSTED_ORIGIN.md",
    "docs/SELF_HOSTED_ORIGIN.en.md",
    "docs/CADDY_MANAGED.md",
    "docs/CADDY_MANAGED.en.md",
    "docs/CLIENT_MODULES.md",
    "docs/CLIENT_MODULES.en.md",
    "docs/TRUSTED_NETWORKS.md",
    "docs/TRUSTED_NETWORKS.en.md",
    "docs/SLOW_CONNECTIONS.md",
    "docs/SLOW_CONNECTIONS.en.md",
    "docs/EXTENSION_WORKERS.md",
    "docs/EXTENSION_WORKERS.en.md",
    "docs/MOBILE_COMPOSER_TOOLBAR.md",
    "docs/MOBILE_COMPOSER_TOOLBAR.en.md",
    "LICENSE",
    "FUNNEL_THIRD_PARTY_LICENSES.txt",
    "SECURITY.md",
    "THIRD_PARTY_NOTICES.md"
  ],
  "dsh": {
    "bundle": {
      "patch": "./cordis.patch.yml"
    },
    "client": {
      "platform": "web",
      "inject": [
        "@deepseek-ai/dsh-client-connection",
        "@deepseek-ai/dsh-client-ui-sidebar"
      ],
      "immediately": true
    }
  },
  "scripts": {
    "build": "tsdown && node ./scripts/check-client-bundle.mjs",
    "build:funnel-host": "node ./scripts/build-funnel-host.mjs",
    "check:funnel-licenses": "node ./scripts/funnel-third-party-licenses.mjs",
    "check:funnel-licenses:full": "node ./scripts/funnel-third-party-licenses.mjs --full-check",
    "check:mobile-release": "node ./scripts/check-mobile-release.mjs",
    "check:dsh-compatibility": "node ./scripts/check-dsh-compatibility.mjs",
    "smoke:dsh-boot": "node ./scripts/smoke-dsh-mobile-boot.mjs",
    "smoke:transport-recovery": "node ./scripts/smoke-mobile-transport-recovery.mjs",
    "smoke:plugin-installation": "node ./scripts/smoke-plugin-installation.mjs",
    "smoke:dsh-composer": "node ./scripts/smoke-dsh-composer.mjs",
    "smoke:mobile-settings": "node ./scripts/smoke-mobile-settings.mjs",
    "smoke:cloudflared-component": "node ./scripts/smoke-cloudflared-component.mjs",
    "smoke:cpolar-component": "node ./scripts/smoke-cpolar-component.mjs",
    "smoke:question-fixes": "node ./scripts/smoke-question-fixes.mjs",
    "smoke:native-layout": "node ./scripts/smoke-native-mobile-layout.mjs",
    "smoke:layout-ownership": "node ./scripts/smoke-mobile-layout-ownership.mjs",
    "smoke:voice-session": "node ./scripts/smoke-voice-session.mjs",
    "smoke:composer-keyboard": "node ./scripts/smoke-composer-keyboard.mjs",
    "smoke:mobile-compat": "node ./scripts/smoke-mobile-compat.mjs",
    "smoke:composer-overflow": "node ./scripts/smoke-composer-overflow.mjs",
    "smoke:composer-toolbar": "node ./scripts/smoke-composer-toolbar.mjs",
    "smoke:extension-workers": "node ./scripts/smoke-extension-workers.mjs",
    "smoke:control-state": "node ./scripts/smoke-control-state.mjs",
    "smoke:module-recovery": "node ./scripts/smoke-client-module-recovery.mjs",
    "smoke:module-settings": "node ./scripts/smoke-client-module-settings.mjs",
    "smoke:browser-auth-cookies": "node ./scripts/smoke-browser-auth-cookies.mjs",
    "capture:screenshots": "node ./scripts/capture-mobile-screenshots.mjs",
    "check:release-tag": "node ./scripts/check-release-version.mjs --tag-env",
    "check:android-release-tag": "node ./scripts/check-release-version.mjs --android-tag-env",
    "check:version": "node ./scripts/check-release-version.mjs",
    "check:companion-package": "node ./scripts/check-companion-package.mjs",
    "check:docs": "node ./scripts/check-docs.mjs",
    "clean": "node ./scripts/clean.mjs",
    "generate:funnel-licenses": "node ./scripts/funnel-third-party-licenses.mjs --write",
    "lint": "tsc --noEmit",
    "test": "vitest run --pool=threads --maxWorkers=1",
    "test:watch": "vitest",
    "typecheck": "tsc --noEmit",
    "prepack": "npm run check:version && npm run check:docs && npm run check:funnel-licenses && npm run build",
    "verify": "npm run check:version && npm run check:docs && npm run check:companion-package && npm run check:funnel-licenses && npm run check:mobile-release && npm run typecheck && npm run test && npm run build && npm pack --dry-run"
  },
  "engines": {
    "node": "^22.19.0 || >=24.0.0"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/saya-ch/dsh-mobile.git"
  },
  "bugs": {
    "url": "https://github.com/saya-ch/dsh-mobile/issues"
  },
  "homepage": "https://github.com/saya-ch/dsh-mobile#readme",
  "publishConfig": {
    "access": "public"
  },
  "keywords": [
    "deepseek-harness",
    "dsh",
    "dsh-plugin",
    "plugin",
    "android",
    "lan",
    "remote-access",
    "tailscale",
    "cpolar",
    "frp",
    "self-hosted",
    "reverse-proxy",
    "mobile",
    "https"
  ],
  "license": "Apache-2.0",
  "peerDependencies": {
    "@deepseek-ai/cordis": "^4.0.1",
    "@deepseek-ai/dsh-client-connection": "*",
    "@deepseek-ai/dsh-commands": "*",
    "@deepseek-ai/dsh-host-webserver": "*",
    "@deepseek-ai/dsh-llm": "*",
    "react": "^18.2.0"
  },
  "peerDependenciesMeta": {
    "@deepseek-ai/cordis": {
      "optional": true
    },
    "@deepseek-ai/dsh-client-connection": {
      "optional": true
    },
    "@deepseek-ai/dsh-commands": {
      "optional": true
    },
    "@deepseek-ai/dsh-host-webserver": {
      "optional": true
    },
    "@deepseek-ai/dsh-llm": {
      "optional": true
    },
    "react": {
      "optional": true
    }
  },
  "dependencies": {
    "@deepseek-ai/schemastery": "^3.18.1",
    "@noble/hashes": "1.8.0",
    "bonjour-service": "1.4.4",
    "qrcode": "^1.5.4",
    "selfsigned": "^5.5.0",
    "ws": "8.22.0"
  },
  "devDependencies": {
    "@deepseek-ai/cordis": "4.0.4",
    "@deepseek-ai/cordis-plugin-include": "1.0.9",
    "@deepseek-ai/cordis-plugin-loader": "1.0.5",
    "@deepseek-ai/dsh-agent": "0.1.7-rc.2",
    "@deepseek-ai/dsh-attachment": "0.1.7-rc.2",
    "@deepseek-ai/dsh-brand": "0.1.7-rc.2",
    "@deepseek-ai/dsh-client-connection": "0.1.7-rc.2",
    "@deepseek-ai/dsh-commands": "0.1.7-rc.2",
    "@deepseek-ai/dsh-host-webserver": "0.1.7-rc.2",
    "@deepseek-ai/dsh-invariants": "0.1.7-rc.2",
    "@deepseek-ai/dsh-llm": "0.1.7-rc.2",
    "@deepseek-ai/dsh-scope": "0.1.7-rc.2",
    "@deepseek-ai/dsh-session": "0.1.7-rc.2",
    "@deepseek-ai/dsh-timeout": "0.1.7-rc.2",
    "@deepseek-ai/dsh-typert-protocol": "0.1.7-rc.2",
    "@types/js-yaml": "^4.0.9",
    "@types/node": "^26.5.1",
    "@types/qrcode": "^1.5.5",
    "@types/react": "~18.3.1",
    "@types/ws": "8.18.2",
    "core-js": "^3.50.0",
    "js-yaml": "^4.3.2",
    "playwright": "1.63.0",
    "react": "^18.2.0",
    "tsdown": "^0.23.0",
    "typescript": "^7.0.2",
    "vitest": "^5.0.2"
  },
  "directories": {
    "lib": "lib",
    "test": "tests"
  },
  "author": ""
}
