{
  "name": "visionclaw",
  "version": "0.1.203",
  "description": "A personal assistant agent that runs on your desktop, receives commands from messaging channels, and executes tasks autonomously.",
  "type": "module",
  "main": "dist/index.js",
  "bin": {
    "visionclaw": "dist-agent/bundle.cjs"
  },
  "files": [
    "dist/builtin-skills/**/*",
    "dist/tools/helpers/**/*",
    "dist/index.js",
    "dist/**/*",
    "dist-agent/**/*",
    "assets/**/*",
    "packages/openclaw-sdk-shim/**/*",
    "scripts/setup-openclaw-shim.mjs",
    "scripts/chat-monitor.mjs",
    "README.md",
    "CHANGELOG.md"
  ],
  "dependencies": {
    "@anthropic-ai/bedrock-sdk": "0.26.4",
    "@anthropic-ai/claude-agent-sdk": "0.3.185",
    "@anthropic-ai/sdk": "0.105.0",
    "@anthropic-ai/vertex-sdk": "0.16.0",
    "@aws-sdk/client-s3": "3.1030.0",
    "@earendil-works/pi-agent-core": "0.79.9",
    "@earendil-works/pi-ai": "0.79.9",
    "@earendil-works/pi-coding-agent": "0.79.9",
    "@google/genai": "1.50.1",
    "@modelcontextprotocol/sdk": "1.29.0",
    "@playwright/mcp": "0.0.75",
    "@tencent-weixin/openclaw-weixin": "2.4.3",
    "@types/qrcode": "1.5.6",
    "@volcengine/tos-sdk": "2.9.1",
    "cron-parser": "4.9.0",
    "discord.js": "14.26.3",
    "ethers": "6.16.0",
    "googleapis": "144.0.0",
    "ignore": "7.0.5",
    "jsqr": "1.4.0",
    "node-telegram-bot-api": "0.67.0",
    "open": "10.2.0",
    "openai": "6.34.0",
    "otplib": "13.4.0",
    "pi-mcp-adapter": "2.6.1",
    "playwright": "1.59.1",
    "playwriter": "0.2.0",
    "prompts": "2.4.2",
    "qrcode": "1.5.4",
    "qrcode-terminal": "0.12.0",
    "sqlite-vec": "0.1.9",
    "typebox": "1.1.38",
    "ws": "8.20.0",
    "zod": "4.3.6"
  },
  "devDependencies": {
    "@eslint/js": "9.39.4",
    "@testing-library/react": "16.3.2",
    "@types/node": "22.19.17",
    "@types/node-telegram-bot-api": "0.64.14",
    "@types/prompts": "2.4.9",
    "@types/ws": "8.18.1",
    "conventional-changelog-cli": "5.0.0",
    "dotenv": "17.4.2",
    "esbuild": "0.27.7",
    "eslint": "9.39.4",
    "javascript-obfuscator": "5.4.1",
    "jsdom": "26.1.0",
    "pngjs": "7.0.0",
    "tsx": "4.21.0",
    "typescript": "5.9.3",
    "typescript-eslint": "8.58.2",
    "vitest": "4.1.4"
  },
  "engines": {
    "node": ">=24.12.0"
  },
  "license": "Apache-2.0",
  "repository": {
    "type": "git",
    "url": "https://github.com/babelcloud/visionclaw.git"
  },
  "homepage": "https://visionclaw.dev",
  "bugs": {
    "url": "https://github.com/babelcloud/visionclaw/issues"
  },
  "author": "BabelCloud",
  "keywords": [
    "agent",
    "desktop-automation",
    "mobile-automation",
    "computer-use",
    "claude",
    "ai-assistant",
    "telegram",
    "discord",
    "wechat",
    "feishu",
    "whatsapp"
  ],
  "scripts": {
    "postinstall": "node scripts/setup-openclaw-shim.mjs",
    "check": "node scripts/check-pinned-deps.mjs && pnpm lint && tsc",
    "build": "pnpm lint && tsc && node scripts/copy-builtin-skills.mjs && mkdir -p dist/tools/helpers && cp src/tools/helpers/*.swift dist/tools/helpers/ && cp src/obs/rdp/desktop.html dist/obs/rdp/desktop.html && cp -r src/obs/rdp/icons dist/obs/rdp/icons && cp src/obs/rdp/*.swift dist/obs/rdp/",
    "dev": "tsx src/index.ts",
    "dev:weixin-login": "tsx src/index.ts weixin-login",
    "start": "node dist/index.js",
    "lint": "eslint src/",
    "lint:fix": "eslint src/ --fix",
    "test": "vitest run",
    "test:watch": "vitest",
    "test:click-grid": "tsx scripts/test-click-grid.ts",
    "test:android:agent-regression": "tsx scripts/test-android-agent-regression.ts",
    "test:integration": "vitest run --config vitest.integration.config.ts --reporter=default --reporter=json --outputFile=.integration-test-result.json && node scripts/stamp-integration-result.mjs",
    "get-google-token": "tsx scripts/get-google-token.ts",
    "dev:setup": "tsx src/index.ts setup",
    "dev:prepare-mac": "tsx src/index.ts prepare-mac",
    "dev:prepare-mac-power": "tsx src/index.ts prepare-mac-power",
    "dev:prepare-windows": "tsx src/index.ts prepare-windows",
    "dev:set-owner": "tsx src/index.ts set-owner",
    "reconfigure": "tsx src/index.ts reconfigure",
    "reset-session": "tsx scripts/reset-session.ts",
    "list-profiles": "tsx scripts/list-profiles.ts",
    "changelog": "node scripts/changelog.mjs",
    "build:bundle": "node scripts/esbuild-bundle.cjs",
    "build:obfuscate": "javascript-obfuscator dist/ --output dist/ --compact true --identifier-names-generator hexadecimal --string-array true --string-array-encoding base64 --rename-properties false",
    "release": "node scripts/check-integration-gate.mjs && pnpm lint && pnpm build && pnpm version patch --no-git-tag-version && pnpm run build:bundle && pnpm changelog && git add -A && git commit -m \"chore(release): v$(node -p 'require(\"./package.json\").version')\" && git tag \"v$(node -p 'require(\"./package.json\").version')\" && pnpm publish",
    "release:manual": "node scripts/check-integration-gate.mjs && test -z \"$(git status --porcelain)\" && pnpm lint && pnpm build && pnpm version patch --no-git-tag-version && pnpm run build:bundle && pnpm changelog && printf '\\nRelease prepared. Edit CHANGELOG.md, then run: pnpm release:manual:finalize\\n'",
    "release:manual:finalize": "git add package.json pnpm-lock.yaml CHANGELOG.md && git commit -m \"chore(release): v$(node -p 'require(\"./package.json\").version')\" && git tag \"v$(node -p 'require(\"./package.json\").version')\" && pnpm publish --no-git-checks",
    "release:beta": "node scripts/prepare-beta-version.mjs && pnpm lint && pnpm build && pnpm version prerelease --preid beta --no-git-tag-version && pnpm run build:bundle && git add -A && git commit -m \"chore(release): v$(node -p 'require(\"./package.json\").version')\" && git tag \"v$(node -p 'require(\"./package.json\").version')\" && pnpm publish --tag beta --no-git-checks",
    "release:dev": "node scripts/check-not-main.mjs && pnpm lint && pnpm build && DEV_META=$(node scripts/release-dev.mjs) && DEV_VER=$(echo $DEV_META | node -p 'JSON.parse(require(\"fs\").readFileSync(0,\"utf-8\")).version') && DEV_TAG=$(echo $DEV_META | node -p 'JSON.parse(require(\"fs\").readFileSync(0,\"utf-8\")).tag') && npm version \"$DEV_VER\" --no-git-tag-version --allow-same-version && pnpm run build:bundle && git add -A && git commit -m \"chore(release-dev): v$DEV_VER\" && git tag \"v$DEV_VER\" && pnpm publish --tag \"$DEV_TAG\" --no-git-checks"
  }
}