{
  "name": "@hybridaione/hybridclaw",
  "version": "0.27.0",
  "type": "module",
  "description": "Enterprise-ready self-hosted AI assistant runtime with sandboxed execution, secure credentials, approvals, and memory",
  "repository": {
    "type": "git",
    "url": "https://github.com/HybridAIOne/hybridclaw"
  },
  "homepage": "https://github.com/HybridAIOne/hybridclaw",
  "bugs": {
    "url": "https://github.com/HybridAIOne/hybridclaw/issues"
  },
  "packageManager": "npm@11.10.0",
  "workspaces": [
    "desktop",
    "console",
    "container"
  ],
  "engines": {
    "node": "22.x"
  },
  "publishConfig": {
    "access": "public"
  },
  "bin": {
    "hybridclaw": "dist/cli.js"
  },
  "files": [
    "dist/",
    "npm-shrinkwrap.json",
    "scripts/postinstall-container.mjs",
    "console/dist/",
    "console/package.json",
    "container/dist/",
    "skills/",
    "community-skills/",
    "presets/",
    "templates/",
    "docs/",
    "infra/managed-browser/",
    "plugins/concierge-router/",
    "container/Dockerfile",
    "container/.dockerignore",
    "container/package.json",
    "container/package-lock.json",
    "container/npm-shrinkwrap.json",
    "container/tsconfig.json",
    "container/shared/",
    "container/src/",
    "plugin-sdk.js",
    "plugin-sdk.d.ts",
    "README.md",
    "CHANGELOG.md",
    "LICENSE",
    "AGENTS.md",
    "SECURITY.md",
    "TRUST_MODEL.md",
    "config.example.json"
  ],
  "scripts": {
    "check:node": "node ./scripts/check-node-version.mjs",
    "clean": "node -e \"const fs=require('node:fs');fs.rmSync('dist',{recursive:true,force:true});fs.rmSync('console/dist',{recursive:true,force:true});fs.rmSync('container/dist',{recursive:true,force:true});fs.rmSync('desktop/dist',{recursive:true,force:true});fs.rmSync('desktop/release',{recursive:true,force:true});\"",
    "build:console": "npm --workspace console run build",
    "build:desktop": "npm run build && npm --workspace desktop run build",
    "build": "npm --prefix container run build && tsc && node -e \"require('node:fs').chmodSync('dist/cli.js', 0o755)\"",
    "version:sync": "node ./scripts/sync-package-versions.mjs",
    "version:check": "node ./scripts/sync-package-versions.mjs --check",
    "typecheck": "tsc --noEmit && npm --workspace console run typecheck && npm --workspace desktop run typecheck",
    "lint": "tsc --noEmit --noUnusedLocals --noUnusedParameters && npm --workspace console run typecheck && npm --workspace desktop run typecheck",
    "check": "biome check .",
    "format": "biome check --write .",
    "test": "npm run test:unit",
    "test:unit": "vitest run --configLoader runner --project unit && npm --workspace console run test && npm --workspace desktop run test",
    "test:watch": "vitest --configLoader runner --project unit",
    "test:integration": "vitest run --configLoader runner --project integration --passWithNoTests",
    "test:e2e": "vitest run --configLoader runner --project e2e --passWithNoTests",
    "test:install-e2e": "vitest run --configLoader runner --project install-e2e",
    "test:console": "npm --workspace console run test",
    "audit:signatures": "node ./scripts/audit-signatures.mjs",
    "security:secret-scan": "node ./scripts/secret-scan.mjs",
    "deps:policy": "node ./scripts/check-dependency-policy.mjs",
    "deps:update-lockfile": "npm update --package-lock-only && npm --prefix container update --package-lock-only && node ./scripts/sync-shrinkwraps.mjs",
    "deps:verify": "npm ci --ignore-scripts --no-audit --fund=false && npm --prefix container ci --ignore-scripts --no-audit --fund=false && npm run audit:signatures",
    "eval:trace-judge:gate": "HYBRIDCLAW_DATA_DIR=/tmp/hybridclaw-trace-judge-gate HYBRIDCLAW_DISABLE_CONFIG_WATCHER=1 node -e \"import('./dist/evals/trace-judge-native.js').then((m)=>m.runTraceJudgeNativeGate()).catch((err)=>{console.error(err);process.exitCode=1})\"",
    "eval:trace-judge:gate:live": "HYBRIDCLAW_DATA_DIR=/tmp/hybridclaw-trace-judge-live-gate HYBRIDCLAW_DISABLE_CONFIG_WATCHER=1 node -e \"import('./dist/evals/trace-judge-native.js').then((m)=>m.runTraceJudgeNativeGate({live:true})).catch((err)=>{console.error(err);process.exitCode=1})\"",
    "desktop": "npm run build:desktop && npm --workspace desktop run start",
    "desktop:mac": "npm run build && npm --workspace desktop run dist:mac",
    "desktop:linux": "npm run build && npm --workspace desktop run dist:linux",
    "test:live": "vitest run --configLoader runner --project live --passWithNoTests",
    "setup": "npm --prefix container install",
    "dev": "tsx src/cli.ts gateway",
    "dev:console": "HYBRIDCLAW_DEV_VITE_URL=http://127.0.0.1:4173 tsx src/cli.ts gateway restart && npm --workspace console run dev",
    "gateway": "tsx src/cli.ts gateway",
    "tui": "tsx src/cli.ts tui",
    "start": "node dist/cli.js gateway",
    "postinstall": "node ./scripts/postinstall-container.mjs",
    "build:container": "node ./scripts/build-container.mjs",
    "prebuild": "npm run check:node && npm run build:console",
    "pretest:unit": "npm run check:node",
    "prepack": "npm run clean && npm run build && npm run release:check",
    "release:check": "npm run version:check && node ./scripts/check-dependency-policy.mjs && node ./scripts/release-check.mjs",
    "publish:dry": "npm publish --access public --dry-run",
    "prepare": "command -v git >/dev/null 2>&1 && test -w .git/config && husky || true"
  },
  "dependencies": {
    "@huggingface/transformers": "3.8.1",
    "@modelcontextprotocol/sdk": "1.29.0",
    "@ngrok/ngrok": "1.7.0",
    "@opentelemetry/api": "1.9.1",
    "@opentelemetry/exporter-trace-otlp-grpc": "0.218.0",
    "@opentelemetry/exporter-trace-otlp-http": "0.218.0",
    "@opentelemetry/resources": "2.7.1",
    "@opentelemetry/sdk-node": "0.218.0",
    "@sentry/node": "10.56.0",
    "@slack/bolt": "4.7.3",
    "@whiskeysockets/baileys": "7.0.0-rc13",
    "ajv": "8.20.0",
    "amaro": "1.1.10",
    "better-sqlite3": "12.10.0",
    "botbuilder": "4.23.3",
    "camoufox-js": "0.10.2",
    "cron-parser": "5.5.0",
    "csv-parse": "6.2.1",
    "discord.js": "14.26.4",
    "docx": "9.7.1",
    "iconv-lite": "0.7.2",
    "imapflow": "1.3.5",
    "impit": "0.13.0",
    "mailparser": "3.9.9",
    "marked": "17.0.4",
    "node-pty": "1.1.0",
    "nodemailer": "9.0.1",
    "pdf-lib": "1.17.1",
    "pdfjs-dist": "5.5.207",
    "pino": "9.14.0",
    "pino-pretty": "13.1.3",
    "playwright": "1.60.0",
    "pptxgenjs": "4.0.1",
    "qrcode-terminal": "0.12.0",
    "sanitize-html": "2.17.4",
    "stemmer": "2.0.1",
    "ws": "8.21.0",
    "xlsx-populate": "1.21.0",
    "yaml": "2.8.3",
    "yauzl": "3.2.1",
    "yazl": "3.3.1"
  },
  "devDependencies": {
    "@biomejs/biome": "2.4.16",
    "@types/better-sqlite3": "7.6.13",
    "@types/mailparser": "3.4.6",
    "@types/node": "22.19.15",
    "@types/nodemailer": "8.0.1",
    "@types/sanitize-html": "2.16.1",
    "@types/yauzl": "2.10.3",
    "@types/yazl": "3.3.1",
    "@vitest/coverage-v8": "4.1.8",
    "husky": "9.1.7",
    "tsx": "4.22.4",
    "typescript": "5.9.3",
    "vitest": "4.1.8"
  },
  "overrides": {
    "undici": "6.27.0",
    "lodash": "4.18.1",
    "uuid": "11.1.1",
    "vite": "8.0.16",
    "nodemailer": "9.0.1",
    "cheerio": {
      "undici": "7.28.0"
    },
    "shell-quote": "1.8.4",
    "tmp": "0.2.7"
  }
}
