{
  "name": "dsh-ssh-tui",
  "version": "0.8.4",
  "description": "Remote-first terminal UI for DeepSeek Harness with SSH reconnect, Windows/ConPTY and incremental ANSI rendering.",
  "keywords": [
    "deepseek-harness",
    "dsh",
    "dsh-plugin",
    "tui",
    "terminal",
    "ssh",
    "coding-agent",
    "cli",
    "remote-development",
    "windows-terminal",
    "conpty"
  ],
  "author": "cyjyyd",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/cyjyyd/dsh-ssh-tui.git"
  },
  "homepage": "https://github.com/cyjyyd/dsh-ssh-tui#readme",
  "bugs": {
    "url": "https://github.com/cyjyyd/dsh-ssh-tui/issues"
  },
  "publishConfig": {
    "access": "public",
    "registry": "https://registry.npmjs.org/"
  },
  "type": "module",
  "main": "lib/index.js",
  "types": "lib/types/index.d.ts",
  "exports": {
    ".": {
      "types": "./lib/types/index.d.ts",
      "default": "./lib/index.js"
    },
    "./startup": {
      "types": "./lib/types/startup.d.ts",
      "default": "./lib/startup.js"
    },
    "./settings-routes": {
      "types": "./lib/types/settings-routes.d.ts",
      "default": "./lib/settings-routes.js"
    },
    "./settings-subagent": {
      "types": "./lib/types/settings-subagent.d.ts",
      "default": "./lib/settings-subagent.js"
    },
    "./cordis.patch.yml": "./cordis.patch.yml",
    "./package.json": "./package.json"
  },
  "files": [
    "lib",
    "cordis.patch.yml",
    "README.md",
    "README.en.md",
    "docs/remote-ops.md",
    "docs/screenshots/compare.png",
    "docs/screenshots/headless.png",
    "docs/screenshots/workspace.png",
    "docs/screenshots/slow-link.gif",
    "docs/screenshots/reconnect.gif",
    "LICENSE",
    "docs/display-mode.md",
    "docs/terminals.md",
    "docs/windows.md",
    "CHANGELOG.md",
    "docs/release-notes-*.md"
  ],
  "license": "MIT",
  "dsh": {
    "bundle": {
      "patch": "./cordis.patch.yml"
    },
    "compatibility": {
      "dsh": ">=0.2.0-rc.1 <0.2.1 || >=0.2.1-rc.2 <0.2.2",
      "dshReleases": {
        "0.1.2-rc.1": "incompatible",
        "0.1.3-alpha.1": "incompatible",
        "0.1.3-alpha.2": "incompatible",
        "0.1.5-alpha.1": "incompatible",
        "0.1.5-alpha.2": "incompatible",
        "0.1.5-rc.1": "incompatible",
        "0.1.5-rc.2": "incompatible",
        "0.1.5-rc.3": "incompatible",
        "0.1.7-rc.1": "incompatible",
        "0.1.7-rc.2": "incompatible",
        "0.2.0-rc.1": "compatible",
        "0.2.0-rc.2": "compatible",
        "0.2.1-rc.2": "compatible"
      },
      "profiles": [
        "tui"
      ]
    }
  },
  "scripts": {
    "build": "tsc -p tsconfig.json",
    "typecheck": "tsc -p tsconfig.json --noEmit",
    "test": "npm run build && node --test \"tests/*.test.mjs\"",
    "freeze": "node scripts/b2-freeze-audit.mjs",
    "freeze:input": "node scripts/input-freeze-audit.mjs",
    "bench": "node scripts/bench-b2.mjs",
    "clean": "node -e \"require('node:fs').rmSync('lib', { recursive: true, force: true })\"",
    "prepare": "npm run build",
    "prepack": "npm run build",
    "prepublishOnly": "npm run typecheck",
    "install:dsh": "node scripts/install.mjs",
    "install:npm": "node scripts/install-npm.mjs",
    "uninstall:dsh": "node scripts/uninstall.mjs",
    "verify:dsh": "node scripts/verify.mjs",
    "probe:home": "node scripts/probe-home.mjs --probe",
    "probe:home:drop": "node scripts/probe-home.mjs --probe --script tui-drop-probe.mjs",
    "screenshots": "npm run build && node scripts/capture-readme-frames.mjs",
    "screenshots:slow": "npm run build && node scripts/capture-slow-link.mjs",
    "screenshots:reconnect": "npm run build && node scripts/capture-reconnect.mjs",
    "bench:report": "node scripts/bench-report.mjs"
  },
  "engines": {
    "node": ">=22.19"
  },
  "dependencies": {
    "@deepseek-ai/schemastery": "3.18.2 || ~3.18.4",
    "commander": "^14.0.0"
  },
  "peerDependencies": {
    "@deepseek-ai/cordis": "^4.0.1",
    "@deepseek-ai/dsh-agent": ">=0.2.0-rc.1 <0.2.1 || >=0.2.1-rc.2 <0.2.2",
    "@deepseek-ai/dsh-agent-default-model": ">=0.2.0-rc.1 <0.2.1 || >=0.2.1-rc.2 <0.2.2",
    "@deepseek-ai/dsh-agent-loop": ">=0.2.0-rc.1 <0.2.1 || >=0.2.1-rc.2 <0.2.2",
    "@deepseek-ai/dsh-agent-preset": ">=0.2.0-rc.1 <0.2.1 || >=0.2.1-rc.2 <0.2.2",
    "@deepseek-ai/dsh-agent-preset-registry": ">=0.2.0-rc.1 <0.2.1 || >=0.2.1-rc.2 <0.2.2",
    "@deepseek-ai/dsh-cmdline": ">=0.2.0-rc.1 <0.2.1 || >=0.2.1-rc.2 <0.2.2",
    "@deepseek-ai/dsh-commands": ">=0.2.0-rc.1 <0.2.1 || >=0.2.1-rc.2 <0.2.2",
    "@deepseek-ai/dsh-credentials": ">=0.2.0-rc.1 <0.2.1 || >=0.2.1-rc.2 <0.2.2",
    "@deepseek-ai/dsh-llm": ">=0.2.0-rc.1 <0.2.1 || >=0.2.1-rc.2 <0.2.2",
    "@deepseek-ai/dsh-session": ">=0.2.0-rc.1 <0.2.1 || >=0.2.1-rc.2 <0.2.2",
    "@deepseek-ai/dsh-session-persistence": ">=0.2.0-rc.1 <0.2.1 || >=0.2.1-rc.2 <0.2.2",
    "@deepseek-ai/dsh-settings": ">=0.2.0-rc.1 <0.2.1 || >=0.2.1-rc.2 <0.2.2",
    "@deepseek-ai/dsh-subagent": ">=0.2.0-rc.1 <0.2.1 || >=0.2.1-rc.2 <0.2.2",
    "@deepseek-ai/dsh-user-approval": ">=0.2.0-rc.1 <0.2.1 || >=0.2.1-rc.2 <0.2.2",
    "@deepseek-ai/dsh-user-questions": ">=0.2.0-rc.1 <0.2.1 || >=0.2.1-rc.2 <0.2.2"
  },
  "peerDependenciesMeta": {
    "@deepseek-ai/dsh-agent-preset": {
      "optional": true
    },
    "@deepseek-ai/dsh-agent-preset-registry": {
      "optional": true
    },
    "@deepseek-ai/dsh-credentials": {
      "optional": true
    },
    "@deepseek-ai/dsh-settings": {
      "optional": true
    },
    "@deepseek-ai/dsh-user-approval": {
      "optional": true
    },
    "@deepseek-ai/dsh-user-questions": {
      "optional": true
    }
  },
  "devDependencies": {
    "@deepseek-ai/cordis": "4.0.5",
    "@deepseek-ai/cordis-plugin-group": "1.0.5",
    "@deepseek-ai/cordis-plugin-hmr": "1.0.17",
    "@deepseek-ai/cordis-plugin-include": "1.0.10",
    "@deepseek-ai/cordis-plugin-loader": "1.0.6",
    "@deepseek-ai/cordis-plugin-timer": "1.1.6",
    "@deepseek-ai/dsh": "0.2.1-rc.2",
    "@deepseek-ai/dsh-agent": "0.2.1-rc.2",
    "@deepseek-ai/dsh-agent-default-model": "0.2.1-rc.2",
    "@deepseek-ai/dsh-agent-loop": "0.2.1-rc.2",
    "@deepseek-ai/dsh-agent-preset": "0.2.1-rc.2",
    "@deepseek-ai/dsh-agent-preset-registry": "0.2.1-rc.2",
    "@deepseek-ai/dsh-atomic-write": "0.2.1-rc.2",
    "@deepseek-ai/dsh-attachment": "0.2.1-rc.2",
    "@deepseek-ai/dsh-brand": "0.2.1-rc.2",
    "@deepseek-ai/dsh-cmdline": "0.2.1-rc.2",
    "@deepseek-ai/dsh-commands": "0.2.1-rc.2",
    "@deepseek-ai/dsh-credentials": "0.2.1-rc.2",
    "@deepseek-ai/dsh-home-paths": "0.2.1-rc.2",
    "@deepseek-ai/dsh-invariants": "0.2.0-rc.2",
    "@deepseek-ai/dsh-jobs": "0.2.1-rc.2",
    "@deepseek-ai/dsh-llm": "0.2.1-rc.2",
    "@deepseek-ai/dsh-llm-mock-server": "0.2.1-rc.2",
    "@deepseek-ai/dsh-sandbox": "0.2.1-rc.2",
    "@deepseek-ai/dsh-sandbox-policy": "0.2.1-rc.2",
    "@deepseek-ai/dsh-scope": "0.2.1-rc.2",
    "@deepseek-ai/dsh-session": "0.2.1-rc.2",
    "@deepseek-ai/dsh-session-persistence": "0.2.1-rc.2",
    "@deepseek-ai/dsh-session-projection": "0.2.1-rc.2",
    "@deepseek-ai/dsh-session-projection-cache": "0.2.1-rc.2",
    "@deepseek-ai/dsh-settings": "0.2.1-rc.2",
    "@deepseek-ai/dsh-subagent": "0.2.1-rc.2",
    "@deepseek-ai/dsh-system-prompt": "0.2.1-rc.2",
    "@deepseek-ai/dsh-timeout": "0.2.1-rc.2",
    "@deepseek-ai/dsh-tools": "0.2.1-rc.2",
    "@deepseek-ai/dsh-typert-protocol": "0.2.1-rc.2",
    "@deepseek-ai/dsh-user-approval": "0.2.1-rc.2",
    "@deepseek-ai/dsh-user-questions": "0.2.1-rc.2",
    "@types/node": "^24.0.0",
    "@xterm/headless": "^6.0.0",
    "semver": "^7.8.5",
    "typescript": "^5.9.0"
  },
  "overrides": {
    "@deepseek-ai/dsh": "0.2.1-rc.2",
    "@deepseek-ai/dsh-agent": "0.2.1-rc.2",
    "@deepseek-ai/dsh-agent-default-model": "0.2.1-rc.2",
    "@deepseek-ai/dsh-agent-loop": "0.2.1-rc.2",
    "@deepseek-ai/dsh-agent-preset": "0.2.1-rc.2",
    "@deepseek-ai/dsh-agent-preset-registry": "0.2.1-rc.2",
    "@deepseek-ai/dsh-atomic-write": "0.2.1-rc.2",
    "@deepseek-ai/dsh-attachment": "0.2.1-rc.2",
    "@deepseek-ai/dsh-brand": "0.2.1-rc.2",
    "@deepseek-ai/dsh-cmdline": "0.2.1-rc.2",
    "@deepseek-ai/dsh-commands": "0.2.1-rc.2",
    "@deepseek-ai/dsh-credentials": "0.2.1-rc.2",
    "@deepseek-ai/dsh-home-paths": "0.2.1-rc.2",
    "@deepseek-ai/dsh-jobs": "0.2.1-rc.2",
    "@deepseek-ai/dsh-llm": "0.2.1-rc.2",
    "@deepseek-ai/dsh-llm-mock-server": "0.2.1-rc.2",
    "@deepseek-ai/dsh-sandbox": "0.2.1-rc.2",
    "@deepseek-ai/dsh-sandbox-policy": "0.2.1-rc.2",
    "@deepseek-ai/dsh-scope": "0.2.1-rc.2",
    "@deepseek-ai/dsh-session": "0.2.1-rc.2",
    "@deepseek-ai/dsh-session-persistence": "0.2.1-rc.2",
    "@deepseek-ai/dsh-session-projection": "0.2.1-rc.2",
    "@deepseek-ai/dsh-session-projection-cache": "0.2.1-rc.2",
    "@deepseek-ai/dsh-settings": "0.2.1-rc.2",
    "@deepseek-ai/dsh-subagent": "0.2.1-rc.2",
    "@deepseek-ai/dsh-system-prompt": "0.2.1-rc.2",
    "@deepseek-ai/dsh-timeout": "0.2.1-rc.2",
    "@deepseek-ai/dsh-tools": "0.2.1-rc.2",
    "@deepseek-ai/dsh-typert-protocol": "0.2.1-rc.2",
    "@deepseek-ai/dsh-user-approval": "0.2.1-rc.2",
    "@deepseek-ai/dsh-user-questions": "0.2.1-rc.2"
  }
}
