{
  "name": "patchwork-os",
  "version": "0.2.0-beta.13",
  "description": "Your personal AI runtime, local-first. Patchwork OS gives any AI model a consistent set of tools, YAML recipes, a delegation policy with approval queue, and a durable trace memory — all on your machine, all under your policy.",
  "type": "module",
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "exports": {
    ".": {
      "import": "./dist/index.js",
      "types": "./dist/index.d.ts"
    },
    "./plugin": {
      "import": "./dist/plugin.js",
      "types": "./dist/plugin.d.ts"
    }
  },
  "bin": {
    "patchwork": "dist/index.js",
    "patchwork-os": "dist/index.js",
    "claude-ide-bridge": "dist/index.js"
  },
  "license": "MIT",
  "keywords": [
    "claude",
    "claude-code",
    "mcp",
    "mcp-server",
    "ide",
    "ide-bridge",
    "vscode",
    "cursor",
    "windsurf",
    "lsp",
    "debugging",
    "terminal",
    "git",
    "github",
    "ai",
    "agent",
    "ai-agent",
    "automation",
    "approval-queue",
    "oversight",
    "recipes",
    "patchwork",
    "anthropic",
    "ollama",
    "local-first",
    "coding-assistant",
    "smithery",
    "model-context-protocol",
    "developer-tools"
  ],
  "repository": {
    "type": "git",
    "url": "git+https://github.com/Oolab-labs/patchwork-os.git"
  },
  "homepage": "https://github.com/Oolab-labs/patchwork-os#readme",
  "bugs": {
    "url": "https://github.com/Oolab-labs/patchwork-os/issues"
  },
  "files": [
    "dist",
    "!dist/__tests__",
    "!dist/**/__tests__",
    "!dist/recipes/tools/altscan.*",
    "!dist/recipes/tools/market.*",
    "!dist/recipes/tools/ta.*",
    "!dist/recipes/tools/taLedger.*",
    "!dist/recipes/tools/watchlist.*",
    "scripts/start-all.sh",
    "scripts/start-all.mjs",
    "scripts/start-all.ps1",
    "scripts/start-orchestrator.sh",
    "scripts/start-orchestrator.ps1",
    "scripts/start-remote.sh",
    "scripts/start-remote.mjs",
    "scripts/install-extension.sh",
    "scripts/gen-mcp-config.sh",
    "scripts/mcp-stdio-shim.cjs",
    "scripts/postinstall.mjs",
    "scripts/start-vps.sh",
    "scripts/gen-claude-desktop-config.sh",
    "scripts/smoke/run-all.mjs",
    "templates",
    "LICENSE",
    "README.md"
  ],
  "engines": {
    "node": ">=20.0.0"
  },
  "scripts": {
    "build": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc && (node scripts/postinstall.mjs || true)",
    "install:global": "node scripts/install-global.mjs",
    "dev": "tsx src/index.ts",
    "start": "node dist/index.js",
    "test": "vitest run",
    "test:smoke": "node scripts/smoke/run-all.mjs",
    "test:smoke:bash": "bash scripts/smoke/run-all.sh",
    "test:smoke:dashboard": "node scripts/smoke/dashboard-walk.mjs",
    "schema:generate": "node scripts/generate-schemas.mjs",
    "schema:check": "node scripts/audit-schema-changes.mjs",
    "parity:check": "node scripts/audit-parity-xfails.mjs",
    "schema:update": "node scripts/audit-schema-changes.mjs --update",
    "test:coverage": "vitest run --coverage",
    "test:watch": "vitest",
    "lint": "biome check .",
    "lint:src": "biome check src",
    "lint:fix": "biome check --write .",
    "typecheck": "tsc --noEmit",
    "typecheck:tests": "tsc --noEmit -p tsconfig.tests.json",
    "typecheck:tests:core": "tsc --noEmit -p tsconfig.tests.core.json",
    "postinstall": "node scripts/postinstall.mjs || true",
    "prepublishOnly": "npm run build && node -e \"const h=require('child_process').execFileSync('node',['dist/index.js','--workspace','.','--help'],{encoding:'utf8'});if(!h.includes('issuer-url'))process.exit(1)\" && node scripts/publish-schemas.mjs",
    "smoke": "node smoke-test-v2.mjs",
    "remote": "bash scripts/start-remote.sh",
    "remote:node": "node scripts/start-remote.mjs",
    "vps": "bash scripts/start-vps.sh",
    "vps:stop": "bash scripts/start-vps.sh --stop",
    "start-all": "bash scripts/start-all.sh",
    "start-all:node": "node scripts/start-all.mjs",
    "start-all:win": "powershell -NoProfile -ExecutionPolicy Bypass -File scripts/start-all.ps1",
    "start-orchestrator": "bash scripts/start-orchestrator.sh",
    "start-orchestrator:win": "powershell -NoProfile -ExecutionPolicy Bypass -File scripts/start-orchestrator.ps1",
    "start:bridge": "node dist/index.js --workspace .",
    "start:automation": "claude-ide-bridge --workspace . --automation --automation-policy automation-policy.json --driver subprocess --full",
    "prepare": "husky"
  },
  "dependencies": {
    "@opentelemetry/api": "^1.9.0",
    "@opentelemetry/exporter-trace-otlp-http": "^0.219.0",
    "@opentelemetry/resources": "^2.6.0",
    "@opentelemetry/sdk-trace-node": "^2.7.1",
    "@opentelemetry/semantic-conventions": "^1.40.0",
    "ajv": "^8.18.0",
    "ipaddr.js": "^2.3.0",
    "minimatch": "^10.0.0",
    "node-cron": "^4.2.1",
    "undici": "^6.27.0",
    "ws": "^8.18.0",
    "yaml": "^2.8.3"
  },
  "devDependencies": {
    "@biomejs/biome": "^2.4.10",
    "@types/node": "^22.0.0",
    "@types/node-cron": "^3.0.11",
    "@types/ws": "^8.5.0",
    "@vitest/coverage-v8": "^4.1.8",
    "@vscode/ripgrep": "^1.17.1",
    "fast-check": "^4.6.0",
    "husky": "^9.1.7",
    "lint-staged": "^16.4.0",
    "tsx": "^4.0.0",
    "typescript": "^5.7.0",
    "vitest": "^4.1.8"
  },
  "lint-staged": {
    "{src,vscode-extension/src,scripts,deploy}/**/*.{ts,js,mjs,cjs,json}": "biome check --no-errors-on-unmatched"
  },
  "overrides": {
    "esbuild": "^0.28.1"
  }
}
