{
  "name": "bestie-agent",
  "version": "0.1.76",
  "description": "Vietnamese-first bestie agent CLI.",
  "type": "module",
  "files": [
    "dist/**/*.js",
    "!dist/**/*.test.js",
    "dist/ui/web/**/*",
    "assets/**/*",
    "README.md",
    "LICENSE",
    "CHANGELOG.md"
  ],
  "bin": {
    "bestie": "dist/cli/index.js"
  },
  "scripts": {
    "build": "tsc -p tsconfig.json && npm run build:ui && node -e \"import('node:fs/promises').then(({ chmod }) => chmod('dist/cli/index.js', 0o755))\"",
    "build:ui": "tsc -p web/tsconfig.json --noEmit && vite build --config web/vite.config.ts",
    "clean": "node scripts/clean.mjs",
    "dev": "tsx src/cli/index.ts",
    "pack:check": "npm run clean && npm run build && npm pack --dry-run",
    "prepack": "npm run clean && npm run build",
    "prepublishOnly": "npm test",
    "release": "node scripts/release.mjs",
    "start": "node dist/cli/index.js",
    "test": "npm run build && node --test dist/**/*.test.js",
    "eval:character": "npm run build && node --test dist/character/prompt-generator.test.js dist/character/character-eval-cases.test.js",
    "eval:character:cases": "npm run build && node --test dist/character/character-eval-cases.test.js",
    "smoke": "npm run build && npm run smoke:status:run && npm run smoke:doctor:run && npm run smoke:doctor:json:run && npm run smoke:channels:doctor:json:run && npm run smoke:doctor:fix:run && npm run smoke:chat:run && npm run smoke:onboard:run && npm run smoke:telegram:setup:run && npm run smoke:zalo:setup:run",
    "smoke:chat": "npm run build && npm run smoke:chat:run",
    "smoke:chat:run": "node scripts/smoke-cli-temp-runtime.mjs chat",
    "smoke:doctor": "npm run build && npm run smoke:doctor:run",
    "smoke:doctor:run": "node scripts/smoke-cli-temp-runtime.mjs doctor",
    "smoke:doctor:json": "npm run build && npm run smoke:doctor:json:run",
    "smoke:doctor:json:run": "node scripts/smoke-cli-temp-runtime.mjs doctor-json",
    "smoke:channels:doctor:json": "npm run build && npm run smoke:channels:doctor:json:run",
    "smoke:channels:doctor:json:run": "node scripts/smoke-channels-doctor-json.mjs",
    "smoke:doctor:exit-code": "npm run build && node scripts/smoke-doctor-exit-code.mjs",
    "smoke:doctor:fix": "npm run build && npm run smoke:doctor:fix:run",
    "smoke:doctor:fix:run": "node scripts/smoke-doctor-fix.mjs",
    "smoke:installer": "npm run build && node scripts/smoke-installer.mjs",
    "smoke:mcp": "npm run build && npm run smoke:mcp:run",
    "smoke:mcp:run": "node scripts/smoke-mcp.mjs",
    "smoke:onboard": "npm run build && npm run smoke:onboard:run",
    "smoke:onboard:run": "node scripts/smoke-onboard.mjs",
    "smoke:status": "npm run build && npm run smoke:status:run",
    "smoke:status:run": "node scripts/smoke-cli-temp-runtime.mjs status",
    "smoke:telegram": "npm run build && npm run smoke:telegram:run",
    "smoke:telegram:run": "node scripts/smoke-telegram-disabled.mjs",
    "smoke:telegram:real": "npm run build && node scripts/smoke-telegram-real.mjs",
    "smoke:telegram:setup": "npm run build && npm run smoke:telegram:setup:run",
    "smoke:telegram:setup:run": "node scripts/smoke-telegram-setup.mjs",
    "smoke:zalo": "npm run build && npm run smoke:zalo:run",
    "smoke:zalo:run": "node scripts/smoke-zalo-disabled.mjs",
    "smoke:zalo:real": "npm run build && node scripts/smoke-zalo-real.mjs",
    "smoke:zalo:setup": "npm run build && npm run smoke:zalo:setup:run",
    "smoke:zalo:setup:run": "node scripts/smoke-zalo-setup.mjs",
    "smoke:tools": "npm run build && npm run smoke:tools:run",
    "smoke:tools:run": "node dist/cli/index.js tools logs --lines 5 | grep -q 'action_permission_decision' && node dist/cli/index.js tools memories --limit 5 >/dev/null && node dist/cli/index.js tools git status >/dev/null",
    "smoke:ui": "npm run build && npm run smoke:ui:run",
    "smoke:ui:all": "npm run build && npm run smoke:ui:run && npm run smoke:ui:browser:run && node scripts/smoke-ui-onboarding-browser.mjs",
    "smoke:ui:browser": "npm run build && npm run smoke:ui:browser:run",
    "smoke:ui:browser:run": "node scripts/smoke-ui-browser.mjs",
    "smoke:ui:onboarding:browser": "npm run build && node scripts/smoke-ui-onboarding-browser.mjs",
    "smoke:ui:run": "node scripts/smoke-ui.mjs"
  },
  "engines": {
    "node": ">=22"
  },
  "devDependencies": {
    "@types/better-sqlite3": "^7.6.13",
    "@types/node": "^20.14.15",
    "@types/pngjs": "^6.0.5",
    "@types/react": "^19.2.18",
    "@types/react-dom": "^19.2.4",
    "@types/three": "^0.185.3",
    "@vitejs/plugin-react": "^6.0.5",
    "autoprefixer": "^10.5.4",
    "postcss": "^8.5.25",
    "tailwindcss": "^3.4.17",
    "tsx": "^4.16.2",
    "typescript": "^5.5.4",
    "vite": "^8.2.0"
  },
  "dependencies": {
    "@elevenlabs/elevenlabs-js": "^2.57.0",
    "@google/genai": "^2.12.0",
    "@grammyjs/types": "^3.28.0",
    "@inquirer/prompts": "^8.5.2",
    "@modelcontextprotocol/sdk": "^1.29.0",
    "@radix-ui/react-slot": "^1.3.3",
    "3d-force-graph": "^1.80.0",
    "better-sqlite3": "^12.11.1",
    "class-variance-authority": "^0.7.1",
    "clsx": "^2.1.1",
    "commander": "^14.0.3",
    "cytoscape": "^3.34.0",
    "grammy": "^1.44.0",
    "iso-639-1": "^3.1.6",
    "lucide-react": "^1.28.0",
    "mammoth": "^1.12.0",
    "pdf-parse": "^1.1.1",
    "playwright": "^1.61.1",
    "pngjs": "^7.0.0",
    "react": "^19.2.8",
    "react-dom": "^19.2.8",
    "tailwind-merge": "^3.6.0",
    "three": "^0.185.1",
    "three-spritetext": "^1.10.0",
    "zca-js": "2.1.2"
  }
}
