{
  "name": "@getpaseo/server",
  "version": "0.6.0",
  "description": "Paseo backend server",
  "files": [
    "dist/server",
    "dist/src",
    "dist/scripts",
    "!dist/**/*.map",
    "README.md",
    ".env.example"
  ],
  "type": "module",
  "types": "./dist/server/server/exports.d.ts",
  "exports": {
    ".": {
      "types": "./dist/server/server/exports.d.ts",
      "source": "./src/server/exports.ts",
      "default": "./dist/server/server/exports.js"
    },
    "./utils/tool-call-parsers": {
      "types": "./dist/server/utils/tool-call-parsers.d.ts",
      "source": "./src/utils/tool-call-parsers.ts",
      "default": "./dist/server/utils/tool-call-parsers.js"
    },
    "./agent-hooks": {
      "types": "./dist/server/terminal/agent-hooks/provider-registry.d.ts",
      "source": "./src/terminal/agent-hooks/provider-registry.ts",
      "default": "./dist/server/terminal/agent-hooks/provider-registry.js"
    }
  },
  "publishConfig": {
    "access": "public"
  },
  "scripts": {
    "dev": "cross-env PASEO_NODE_ENV=development node --import tsx scripts/dev-runner.ts",
    "dev:tsx": "cross-env PASEO_NODE_ENV=development tsx watch --ignore '**/*.timestamp-*' scripts/dev-runner.ts",
    "clean": "node ../../scripts/clean-package-dist.mjs",
    "build": "npm run build:lib && npm run build:scripts",
    "build:clean": "npm run clean && npm run build",
    "build:lib": "tsc -p tsconfig.server.json --incremental false && node -e \"const fs=require('node:fs'); fs.mkdirSync('dist/server/server/speech/providers/local/sherpa/assets',{recursive:true}); fs.copyFileSync('src/server/speech/providers/local/sherpa/assets/silero_vad.onnx','dist/server/server/speech/providers/local/sherpa/assets/silero_vad.onnx'); fs.cpSync('src/terminal/shell-integration','dist/server/terminal/shell-integration',{recursive:true}); fs.cpSync('src/terminal/shell-integration','dist/src/terminal/shell-integration',{recursive:true}); fs.copyFileSync('src/terminal/terminal-ts-loader.mjs','dist/server/terminal/terminal-ts-loader.mjs'); fs.rmSync('dist/server/skills',{recursive:true,force:true}); fs.cpSync('../../skills','dist/server/skills',{recursive:true});\"",
    "build:scripts": "tsc -p tsconfig.scripts.json --incremental false && node -e \"const fs=require('node:fs'); fs.mkdirSync('dist/scripts',{recursive:true}); fs.copyFileSync('scripts/mcp-stdio-socket-bridge-cli.mjs','dist/scripts/mcp-stdio-socket-bridge-cli.mjs');\"",
    "prepack": "npm run build:clean && npm --prefix ../.. run build:daemon-web-ui",
    "start": "node dist/scripts/supervisor-entrypoint.js",
    "typecheck": "tsgo -p tsconfig.server.typecheck.json --noEmit",
    "generate:config-schema": "tsx scripts/generate-config-schema.ts",
    "measure:agent-tools": "tsx scripts/measure-agent-tools-context.ts",
    "measure:git-observation": "tsx scripts/measure-git-observation.ts",
    "measure:file-observer": "tsx scripts/measure-file-observer.ts",
    "repro:file-observer-teardown": "tsx scripts/reproduce-file-observer-teardown.ts",
    "speech:models": "tsx scripts/list-speech-models.ts",
    "speech:download": "tsx scripts/download-speech-models.ts",
    "speech:transcribe:local": "tsx scripts/transcribe-local-wav.ts",
    "test": "npm run test:unit && npm run test:integration",
    "test:unit": "vitest run --fileParallelism --exclude \"**/*.e2e.test.ts\"",
    "test:integration": "vitest run --maxWorkers=1 src/server/daemon-e2e/models.e2e.test.ts src/server/daemon-e2e/live-preferences.e2e.test.ts src/server/agent/model-catalog.e2e.test.ts && vitest run --maxWorkers=1 src/server/session.create-agent-worktree-autoarchive.e2e.test.ts -t \"creates a worktree and auto-archives both\"",
    "test:hub-cli-contract": "vitest run --maxWorkers=1 src/server/hub/hub-cli-contract.test.ts",
    "test:integration:all": "npm run test:e2e",
    "test:integration:real": "vitest run real.e2e.test.ts",
    "test:integration:local": "vitest run local.e2e.test.ts",
    "test:watch": "vitest",
    "test:ui": "vitest --ui",
    "test:e2e": "vitest run e2e.test.ts --maxWorkers=1 --exclude \"**/*.real.e2e.test.ts\" --exclude \"**/*.local.e2e.test.ts\"",
    "test:e2e:all": "vitest run e2e.test.ts --maxWorkers=1",
    "test:e2e:real": "npm run test:integration:real",
    "test:e2e:local": "npm run test:integration:local",
    "test:e2e:relay:live": "cross-env RUN_LIVE_RELAY_E2E=1 vitest run src/server/daemon-e2e/live-relay.real.e2e.test.ts --maxWorkers=1",
    "test:e2e:ui": "vitest --ui e2e.test.ts"
  },
  "dependencies": {
    "@agentclientprotocol/sdk": "^0.17.1",
    "@anthropic-ai/claude-agent-sdk": "0.3.220",
    "@anthropic-ai/sdk": "^0.104.2",
    "@babel/parser": "^7.29.8",
    "@getpaseo/client": "0.6.0",
    "@getpaseo/highlight": "0.6.0",
    "@getpaseo/plugin": "0.6.0",
    "@getpaseo/protocol": "0.6.0",
    "@getpaseo/relay": "0.6.0",
    "@isaacs/ttlcache": "^2.1.4",
    "@modelcontextprotocol/sdk": "1.29.0",
    "@opencode-ai/sdk": "1.14.46",
    "@xterm/headless": "^6.0.0",
    "ai": "5.0.78",
    "ajv": "^8.20.0",
    "bcryptjs": "^3.0.3",
    "dotenv": "^17.2.3",
    "esbuild": "^0.25.12",
    "express": "^4.18.2",
    "fast-deep-equal": "^3.1.3",
    "lru-cache": "^11.5.1",
    "mnemonic-id": "^3.2.7",
    "node-pty": "1.2.0-beta.15",
    "openai": "^6.44.0",
    "p-limit": "^7.3.0",
    "p-memoize": "^8.0.0",
    "p-throttle": "^8.1.0",
    "pino": "^10.2.0",
    "pino-pretty": "^13.1.3",
    "qrcode": "^1.5.4",
    "rotating-file-stream": "^3.2.9",
    "sherpa-onnx-node": "1.12.28",
    "strip-ansi": "^7.1.2",
    "tree-kill": "^1.2.2",
    "uuid": "^9.0.1",
    "which": "^5.0.0",
    "ws": "^8.14.2",
    "zod": "^4.4.3"
  },
  "devDependencies": {
    "@playwright/test": "^1.56.1",
    "@types/express": "^4.17.20",
    "@types/node": "^20.9.0",
    "@types/qrcode": "^1.5.6",
    "@types/uuid": "^9.0.7",
    "@types/ws": "^8.5.8",
    "@vitest/ui": "^4.1.6",
    "cross-env": "^10.1.0",
    "tsx": "^4.6.0",
    "typescript": "^5.2.2",
    "vitest": "^4.1.6"
  },
  "overrides": {
    "lightningcss": "1.30.1"
  }
}
