{
  "name": "@openduo/duoduo",
  "version": "0.6.1",
  "private": false,
  "type": "module",
  "publishConfig": {
    "access": "public"
  },
  "files": [
    "bin/duoduo",
    "bootstrap/",
    "dist/release/",
    "scripts/postinstall.mjs",
    "README.md"
  ],
  "bin": {
    "duoduo": "bin/duoduo"
  },
  "lint-staged": {
    "*.{ts,js}": [
      "eslint --max-warnings=0",
      "prettier --write"
    ],
    "*.{json,md,mdx,yml,yaml}": [
      "prettier --write"
    ]
  },
  "devDependencies": {
    "@eslint/js": "^9.39.4",
    "@types/node": "^20.19.41",
    "@types/react": "^18.3.29",
    "@types/ws": "^8.18.1",
    "esbuild": "^0.28.1",
    "eslint": "^9.39.4",
    "eslint-config-prettier": "^10.1.8",
    "husky": "^9.1.7",
    "lint-staged": "^16.4.0",
    "prettier": "^3.8.3",
    "tsx": "^4.22.4",
    "typescript": "^5.9.3",
    "typescript-eslint": "^8.60.1",
    "undici": "^8.3.0",
    "vite": "^6.4.2",
    "vitest": "^4.1.8",
    "ws": "^8.21.0"
  },
  "dependencies": {
    "@anthropic-ai/claude-agent-sdk": "0.3.217",
    "@fastify/websocket": "^11.2.0",
    "@modelcontextprotocol/sdk": "^1.29.0",
    "chalk": "^4.1.2",
    "cli-highlight": "^2.1.11",
    "cron-parser": "^5.5.0",
    "fastify": "^5.8.5",
    "gray-matter": "^4.0.3",
    "ink": "^4.4.1",
    "ink-text-input": "^5.0.1",
    "marked": "^15.0.12",
    "react": "^18.3.1",
    "zod": "^4.4.3",
    "@openduo/protocol": "0.6.0"
  },
  "scripts": {
    "test": "vitest run",
    "test:watch": "vitest",
    "build": "tsc -p tsconfig.build.json",
    "build:release": "node scripts/build-release.mjs",
    "build:release:plain": "ALADUO_MINIFY=false node scripts/build-release.mjs",
    "build:channel:feishu": "pnpm --dir packages/channel-feishu run build:plugin",
    "build:channel:acp": "pnpm --dir packages/channel-acp run build:plugin",
    "lint": "eslint .",
    "lint:types": "tsc -p tsconfig.json --noEmit",
    "lint:meta": "node scripts/lint-meta-prompts.mjs",
    "lab:ab": "node scripts/lab/ab-compare.mjs",
    "format": "prettier --write .",
    "format:check": "prettier --check .",
    "lint-staged": "lint-staged",
    "postinstall": "node scripts/postinstall.mjs",
    "dev:host": "tsx watch src/daemon/daemon.ts",
    "start:stdio:host": "tsx src/cli/main.ts",
    "start:daemon": "tsx src/daemon/daemon.ts",
    "mailbox:prompt": "tsx scripts/mailbox-prompt.ts",
    "telemetry:report": "tsx scripts/telemetry-report.ts",
    "runtime:migrate": "tsx scripts/migrate-runtime-state.ts"
  }
}