/ 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 }