/ package.json
package.json
  1  {
  2    "name": "@swarmclawai/swarmclaw",
  3    "version": "1.5.71",
  4    "description": "Build and run autonomous AI agents with OpenClaw, Hermes, multiple model providers, orchestration, delegation, memory, skills, schedules, and chat connectors.",
  5    "main": "electron-dist/main.js",
  6    "license": "MIT",
  7    "author": {
  8      "name": "SwarmClaw",
  9      "email": "noreply@swarmclaw.ai",
 10      "url": "https://swarmclaw.ai"
 11    },
 12    "publishConfig": {
 13      "access": "public",
 14      "registry": "https://registry.npmjs.org/"
 15    },
 16    "overrides": {
 17      "protobufjs": "7.5.5",
 18      "request": {
 19        "form-data": "2.5.5"
 20      }
 21    },
 22    "repository": {
 23      "type": "git",
 24      "url": "git+https://github.com/swarmclawai/swarmclaw.git"
 25    },
 26    "keywords": [
 27      "openclaw",
 28      "crustacean",
 29      "clawd",
 30      "clawdbot",
 31      "moltbot",
 32      "openclaw-skill",
 33      "openclaw-dashboard",
 34      "openclaw-gateway",
 35      "clawdbot-dashboard"
 36    ],
 37    "engines": {
 38      "node": ">=22.6.0"
 39    },
 40    "bin": {
 41      "swarmclaw": "./bin/swarmclaw.js"
 42    },
 43    "files": [
 44      "bin/",
 45      "skills/",
 46      "src/",
 47      "!src/**/.env*",
 48      "public/",
 49      "Dockerfile.sandbox-browser",
 50      "scripts/easy-setup.mjs",
 51      "scripts/easy-update.mjs",
 52      "scripts/ensure-sandbox-browser-image.mjs",
 53      "scripts/postinstall.mjs",
 54      "scripts/build-bootstrap-env.mjs",
 55      "scripts/run-next-build.mjs",
 56      "scripts/run-next-typegen.mjs",
 57      "scripts/sandbox-browser-entrypoint.sh",
 58      "next.config.ts",
 59      "tsconfig.json",
 60      "postcss.config.mjs",
 61      "package.json"
 62    ],
 63    "scripts": {
 64      "setup:easy": "node ./scripts/easy-setup.mjs",
 65      "quickstart": "node ./scripts/easy-setup.mjs --start",
 66      "quickstart:prod": "node ./scripts/easy-setup.mjs --prod",
 67      "update:easy": "node ./scripts/easy-update.mjs",
 68      "dev": "next dev --turbopack --hostname 0.0.0.0 -p 3456",
 69      "dev:webpack": "next dev --webpack --hostname 0.0.0.0 -p 3456",
 70      "dev:clean": "rm -rf .next && next dev --turbopack --hostname 0.0.0.0 -p 3456",
 71      "typegen": "node ./scripts/run-next-typegen.mjs",
 72      "build": "node ./scripts/run-next-build.mjs",
 73      "build:ci": "NEXT_DISABLE_ESLINT=1 node ./scripts/run-next-build.mjs",
 74      "start": "node .next/standalone/server.js",
 75      "start:standalone": "node .next/standalone/server.js",
 76      "sandbox:build:browser": "docker build -f Dockerfile.sandbox-browser -t swarmclaw-sandbox-browser:bookworm-slim .",
 77      "benchmark:autonomy": "node ./scripts/benchmark-autonomy-harness.mjs",
 78      "benchmark:agent-regression": "node --import tsx ./scripts/run-agent-regression-suite.ts",
 79      "type-check": "npm run typegen && tsc --noEmit --incremental false",
 80      "test": "npm run test:cli && npm run test:setup && npm run test:openclaw && npm run test:runtime && npm run test:builder",
 81      "format": "eslint --fix",
 82      "lint": "eslint",
 83      "lint:fix": "eslint --fix",
 84      "lint:baseline": "node ./scripts/lint-baseline.mjs check",
 85      "lint:baseline:update": "node ./scripts/lint-baseline.mjs update",
 86      "cli": "node ./bin/swarmclaw.js",
 87      "test:cli": "node --test src/cli/*.test.js bin/*.test.js scripts/postinstall.test.mjs scripts/run-next-build.test.mjs scripts/run-next-typegen.test.mjs",
 88      "test:setup": "tsx --test src/app/api/setup/check-provider/route.test.ts src/lib/server/provider-model-discovery.test.ts src/components/auth/setup-wizard/utils.test.ts src/components/auth/setup-wizard/types.test.ts src/hooks/setup-done-detection.test.ts src/lib/setup-defaults.test.ts src/lib/server/storage-auth.test.ts src/lib/server/storage-auth-docker.test.ts",
 89      "test:openclaw": "tsx --test src/lib/openclaw/openclaw-agent-id.test.ts src/lib/openclaw/openclaw-endpoint.test.ts src/lib/server/agents/agent-runtime-config.test.ts src/lib/server/build-llm.test.ts src/lib/server/connectors/connector-routing.test.ts src/lib/server/connectors/openclaw.test.ts src/lib/server/connectors/swarmdock.test.ts src/lib/server/gateway/protocol.test.ts src/lib/server/llm-response-cache.test.ts src/lib/server/mcp-conformance.test.ts src/lib/server/openclaw/agent-resolver.test.ts src/lib/server/openclaw/deploy.test.ts src/lib/server/openclaw/skills-normalize.test.ts src/lib/server/session-tools/openclaw-nodes.test.ts src/lib/server/session-tools/swarmdock.test.ts src/lib/server/tasks/task-quality-gate.test.ts src/lib/server/tasks/task-validation.test.ts src/lib/server/tool-capability-policy.test.ts src/lib/providers/openai.test.ts src/lib/providers/openclaw-exports.test.ts src/app/api/openclaw/dashboard-url/route.test.ts",
 90      "test:runtime": "tsx --test src/lib/server/mcp-gateway-runtime.test.ts src/lib/server/mcp-connection-pool.test.ts src/lib/server/knowledge-sources.test.ts src/lib/server/chat-execution/chat-execution-grounding.test.ts src/lib/server/chat-execution/chat-turn-preparation.test.ts src/lib/server/chat-execution/iteration-timers.test.ts src/lib/server/chat-execution/post-stream-finalization.test.ts src/lib/server/chats/clear-undo-snapshots.test.ts src/lib/server/connectors/email.test.ts src/lib/server/protocols/protocol-service.test.ts src/lib/server/runtime/run-ledger.test.ts src/lib/server/observability/otel-config.test.ts src/lib/server/safe-parse-body.test.ts src/lib/app/view-constants.test.ts src/app/api/approvals/route.test.ts src/app/api/agents/agents-route.test.ts src/app/api/tasks/tasks-route.test.ts src/app/api/chats/chat-route.test.ts src/app/api/chats/clear-route.test.ts src/app/api/chats/compact-route.test.ts src/app/api/chats/context-status-route.test.ts src/app/api/connectors/connector-doctor-route.test.ts src/app/api/healthz/route.test.ts src/app/api/logs/route.test.ts src/app/api/providers/[id]/route.test.ts src/app/api/tts/route.test.ts",
 91      "test:builder": "tsx --test src/features/protocols/builder/utils/nodes-to-template.test.ts src/features/protocols/builder/utils/template-to-nodes.test.ts src/features/protocols/builder/validators/dag-validator.test.ts",
 92      "test:e2e": "tsx .workbench/browser-e2e/run.ts",
 93      "test:mcp:conformance": "node --import tsx ./scripts/mcp-conformance-check.ts",
 94      "electron:compile": "tsc -p electron/tsconfig.json",
 95      "electron:dev": "npm run electron:compile && electron electron-dist/main.js",
 96      "electron:build": "node ./scripts/build-electron.mjs",
 97      "electron:build:mac": "node ./scripts/build-electron.mjs --mac",
 98      "electron:build:win": "node ./scripts/build-electron.mjs --win",
 99      "electron:build:linux": "node ./scripts/build-electron.mjs --linux",
100      "electron:build:publish": "node ./scripts/build-electron.mjs --publish",
101      "prepack": "npm run build:ci",
102      "postinstall": "node ./scripts/postinstall.mjs"
103    },
104    "dependencies": {
105      "@huggingface/transformers": "^3.8.1",
106      "@langchain/anthropic": "^1.3.18",
107      "@langchain/core": "^1.1.31",
108      "@langchain/langgraph": "^1.2.2",
109      "@langchain/openai": "^1.2.8",
110      "@modelcontextprotocol/sdk": "^1.29.0",
111      "@multiavatar/multiavatar": "^1.0.7",
112      "@opentelemetry/api": "^1.9.1",
113      "@opentelemetry/exporter-trace-otlp-http": "^0.214.0",
114      "@opentelemetry/sdk-node": "^0.214.0",
115      "@playwright/mcp": "^0.0.68",
116      "@slack/bolt": "^4.6.0",
117      "@swarmdock/sdk": "^0.5.3",
118      "@tailwindcss/postcss": "^4",
119      "@tanstack/react-query": "^5.91.0",
120      "@types/better-sqlite3": "^7.6.13",
121      "@types/mailparser": "^3.4.6",
122      "@types/node": "^20",
123      "@types/nodemailer": "^7.0.11",
124      "@types/qrcode": "^1.5.6",
125      "@types/react": "^19",
126      "@types/react-dom": "^19",
127      "@types/ws": "^8.18.1",
128      "@whiskeysockets/baileys": "^7.0.0-rc.9",
129      "@xyflow/react": "^12.10.2",
130      "@xyflow/system": "^0.0.76",
131      "better-sqlite3": "^12.6.2",
132      "bs58": "^5.0.0",
133      "cheerio": "^1.2.0",
134      "class-variance-authority": "^0.7.1",
135      "clsx": "^2.1.1",
136      "commander": "^13.1.0",
137      "cron-parser": "^5.5.0",
138      "cronstrue": "^3.12.0",
139      "dagre": "^0.8.5",
140      "discord.js": "^14.26.3",
141      "dompurify": "^3.4.1",
142      "electron-updater": "^6.3.9",
143      "ethers": "^6.16.0",
144      "exceljs": "^4.4.0",
145      "grammy": "^1.40.0",
146      "highlight.js": "^11.11.1",
147      "imapflow": "^1.2.11",
148      "just-bash": "^2.14.0",
149      "langchain": "^1.2.30",
150      "lucide-react": "^0.574.0",
151      "mailparser": "^3.9.3",
152      "next": "16.2.4",
153      "next-themes": "^0.4.6",
154      "nodemailer": "^8.0.1",
155      "openclaw": "^2026.4.22",
156      "pdf-parse": "^2.4.5",
157      "qrcode": "^1.5.4",
158      "radix-ui": "^1.4.3",
159      "react": "19.2.3",
160      "react-dom": "19.2.3",
161      "react-hot-toast": "^2.6.0",
162      "react-icons": "^5.5.0",
163      "react-markdown": "^10.1.0",
164      "recharts": "^3.7.0",
165      "rehype-highlight": "^7.0.2",
166      "remark-gfm": "^4.0.1",
167      "remove-markdown": "^0.6.3",
168      "shadcn": "^3.8.5",
169      "sonner": "^2.0.7",
170      "tailwind-merge": "^3.4.1",
171      "tailwindcss": "^4",
172      "tsx": "^4.20.6",
173      "tw-animate-css": "^1.4.0",
174      "typescript": "^5",
175      "ws": "^8.19.0",
176      "zod": "^4.3.6",
177      "zustand": "^5.0.11"
178    },
179    "devDependencies": {
180      "@electron/rebuild": "^3.7.2",
181      "@types/dagre": "^0.7.54",
182      "electron": "^33.3.0",
183      "electron-builder": "^25.1.8",
184      "eslint": "^9",
185      "eslint-config-next": "16.2.4",
186      "png-to-ico": "^3.0.1"
187    },
188    "optionalDependencies": {
189      "botbuilder": "^4.23.3",
190      "googleapis": "^171.4.0",
191      "matrix-bot-sdk": "^0.8.0",
192      "opusscript": "0.0.8",
193      "utf-8-validate": "5.0.10"
194    }
195  }