{
  "name": "dsh-better-sidebar",
  "version": "0.19.1",
  "description": "DSH web plugin: a VSCode-like right sidebar (explorer / editor / terminal / git / browser), isolated per conversation session. Exposes a service for other plugins to register sidebar tabs and file viewers.",
  "type": "module",
  "repository": {
    "type": "git",
    "url": "https://github.com/omdsh-dev/DSH-better-sidebar"
  },
  "publishConfig": {
    "access": "public"
  },
  "main": "lib/index.js",
  "types": "lib/types/index.d.ts",
  "exports": {
    ".": {
      "types": "./lib/types/index.d.ts",
      "default": "./lib/index.js"
    },
    "./invariant": {
      "types": "./lib/types/invariant.d.ts",
      "default": "./lib/invariant.js"
    },
    "./client": {
      "types": "./lib/types/client/index.d.ts",
      "default": "./lib/client.js"
    },
    "./client/service": {
      "types": "./lib/types/client/service.d.ts",
      "default": "./lib/client.js"
    },
    "./client/api": {
      "types": "./lib/types/client/service.d.ts",
      "default": "./lib/client.js"
    },
    "./src/*": "./src/*",
    "./package.json": "./package.json"
  },
  "engines": {
    "node": ">=20"
  },
  "dsh": {
    "bundle": {
      "patch": "./cordis.patch.yml"
    },
    "client": {
      "inject": [
        "@deepseek-ai/dsh-client-locale",
        "@deepseek-ai/dsh-client-ui-slots",
        "@deepseek-ai/dsh-client-ui-conversation",
        "@deepseek-ai/dsh-client-ui-sidebar-right",
        "@deepseek-ai/dsh-client-modules"
      ],
      "platform": "web"
    }
  },
  "files": [
    "lib/index.js",
    "lib/invariant.js",
    "lib/client.js",
    "lib/client-registry.js",
    "lib/client-terminal.js",
    "lib/client-editor.js",
    "lib/client-mermaid.js",
    "lib/types/**/*.d.ts",
    "src",
    "scripts/install.sh",
    "scripts/install.ps1",
    "cordis.patch.yml",
    "README.md",
    "README_EN.md",
    "LICENSE"
  ],
  "license": "MIT",
  "peerDependencies": {
    "@deepseek-ai/cordis": "^4.0.2",
    "@deepseek-ai/dsh-agent": "^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-primitives": "^0.1.5-rc.1",
    "@deepseek-ai/dsh-client-ui-settings": "^0.1.5-rc.1",
    "@deepseek-ai/dsh-client-ui-sidebar-right": "^0.1.5-rc.1",
    "@deepseek-ai/dsh-client-ui-slots": "^0.1.5-rc.1",
    "@deepseek-ai/dsh-host-webserver": "^0.1.5-rc.1",
    "@deepseek-ai/dsh-invariants": "^0.1.5-rc.1",
    "@deepseek-ai/dsh-llm": "^0.1.5-rc.1",
    "@deepseek-ai/dsh-session": "^0.1.5-rc.1",
    "@deepseek-ai/dsh-settings": "^0.1.5-rc.1",
    "@deepseek-ai/dsh-subagent": "^0.1.5-rc.1",
    "@deepseek-ai/dsh-tools": "^0.1.5-rc.1",
    "@huanlin/dsh-plugin-better-locale": "^0.1.0",
    "react": "^18.2.0",
    "react-dom": "^18.2.0"
  },
  "peerDependenciesMeta": {
    "@huanlin/dsh-plugin-better-locale": {
      "optional": true
    },
    "@deepseek-ai/dsh-client-ui-sidebar-right": {
      "optional": true
    }
  },
  "dependencies": {
    "@codemirror/commands": "^6.10.4",
    "@codemirror/lang-cpp": "^6.0.3",
    "@codemirror/lang-css": "^6.3.1",
    "@codemirror/lang-go": "^6.0.1",
    "@codemirror/lang-html": "^6.4.12",
    "@codemirror/lang-java": "^6.0.2",
    "@codemirror/lang-javascript": "^6.2.5",
    "@codemirror/lang-json": "^6.0.2",
    "@codemirror/lang-markdown": "^6.5.2",
    "@codemirror/lang-php": "^6.0.2",
    "@codemirror/lang-python": "^6.2.1",
    "@codemirror/lang-rust": "^6.0.2",
    "@codemirror/lang-sql": "^6.10.0",
    "@codemirror/lang-vue": "^0.1.3",
    "@codemirror/lang-xml": "^6.1.0",
    "@codemirror/lang-yaml": "^6.1.3",
    "@codemirror/language": "^6.12.4",
    "@codemirror/legacy-modes": "^6.5.3",
    "@codemirror/search": "^6.7.1",
    "@codemirror/state": "^6.7.1",
    "@codemirror/view": "^6.43.8",
    "@lezer/highlight": "^1.2.3",
    "clsx": "^2.1.1",
    "dompurify": "^3.4.14",
    "mermaid": "^11.16.1",
    "node-pty": "^1.1.0",
    "react-icons": "5.7.0",
    "rxjs": "^7.8.2",
    "schemastery": "^3.18.0",
    "ws": "^8.18.0"
  },
  "devDependencies": {
    "@cordisjs/plugin-loader": "^1.0.0-rc.5",
    "@deepseek-ai/dsh-agent": "0.1.5-rc.2",
    "@deepseek-ai/dsh-agent-loop": "0.1.5-rc.2",
    "@deepseek-ai/dsh-attachment": "0.1.5-rc.2",
    "@deepseek-ai/dsh-client-locale": "0.1.5-rc.2",
    "@deepseek-ai/dsh-client-ui-conversation": "0.1.5-rc.2",
    "@deepseek-ai/dsh-client-ui-primitives": "0.1.5-rc.2",
    "@deepseek-ai/dsh-client-ui-settings": "0.1.5-rc.2",
    "@deepseek-ai/dsh-client-ui-sidebar-right": "0.1.5-rc.2",
    "@deepseek-ai/dsh-client-ui-slots": "0.1.5-rc.2",
    "@deepseek-ai/dsh-code-runtime": "0.1.5-rc.2",
    "@deepseek-ai/dsh-host-webserver": "0.1.5-rc.2",
    "@deepseek-ai/dsh-invariants": "0.1.5-rc.2",
    "@deepseek-ai/dsh-llm": "0.1.5-rc.2",
    "@deepseek-ai/dsh-scope": "0.1.5-rc.2",
    "@deepseek-ai/dsh-session": "0.1.5-rc.2",
    "@deepseek-ai/dsh-session-persistence": "0.1.5-rc.2",
    "@deepseek-ai/dsh-session-projection": "0.1.5-rc.2",
    "@deepseek-ai/dsh-settings": "0.1.5-rc.2",
    "@deepseek-ai/dsh-subagent": "0.1.5-rc.2",
    "@deepseek-ai/dsh-system-prompt": "0.1.5-rc.2",
    "@deepseek-ai/dsh-tools": "0.1.5-rc.2",
    "@deepseek-ai/dsh-user-approval": "0.1.5-rc.2",
    "@deepseek-ai/dsh-util-time": "0.1.5-rc.2",
    "@huanlin/dsh-plugin-better-locale": "^0.1.0",
    "@playwright/test": "^1.62.1",
    "@shikijs/langs": "^4.3.1",
    "@types/mdast": "^4.0.4",
    "@types/node": "^24.0.0",
    "@types/react": "~18.3.1",
    "@types/react-dom": "~18.3.1",
    "@types/ws": "^8.5.10",
    "@xterm/addon-fit": "^0.11.0",
    "@xterm/xterm": "^5.5.0",
    "anser": "^2.3.5",
    "cordis": "^4.0.0-rc.8",
    "jsdom": "^29.1.1",
    "katex": "^0.16.47",
    "lightningcss": "^1.32.0",
    "mdast-util-from-markdown": "^2.0.3",
    "mdast-util-gfm": "^3.1.0",
    "mdast-util-math": "^3.0.0",
    "micromark-core-commonmark": "^2.0.3",
    "micromark-extension-gfm": "^3.0.0",
    "micromark-extension-math": "^3.1.0",
    "micromark-factory-space": "^2.0.1",
    "micromark-util-character": "^2.1.1",
    "micromark-util-classify-character": "^2.0.1",
    "micromark-util-sanitize-uri": "^2.0.1",
    "micromark-util-symbol": "^2.0.1",
    "micromark-util-types": "^2.0.2",
    "shiki": "^4.3.1",
    "react": "^18.2.0",
    "react-dom": "18.2.0",
    "tsdown": "^0.22.2",
    "typescript": "^5.6.0",
    "unrun": "^0.2.39",
    "vitest": "^4.1.8",
    "@eslint/js": "^10.0.1",
    "eslint": "^10.9.1",
    "eslint-plugin-react-hooks": "^7.1.1",
    "globals": "^17.12.0",
    "typescript-eslint": "^8.69.0"
  },
  "scripts": {
    "build": "node -e \"require('node:fs').rmSync('lib',{recursive:true,force:true})\" && tsc -p tsconfig.build.json && tsdown",
    "typecheck": "tsc --noEmit",
    "bundle": "tsdown",
    "watch": "tsdown --watch",
    "test": "vitest run",
    "test:windows": "vitest run --maxWorkers=1",
    "test:mount": "bash scripts/e2e-mount.sh",
    "test:mount:aggregate": "bash scripts/e2e-aggregate-mount.sh",
    "clean": "node -e \"require('node:fs').rmSync('lib',{recursive:true,force:true})\"",
    "check:consumer-types": "bash scripts/check-consumer-types.sh",
    "lint": "eslint ."
  }
}