{"_id":"@coderage-labs/armada-agent-plugin","_rev":"3-7c3c7dddd0030f0139092a1f5ba9df7c","name":"@coderage-labs/armada-agent-plugin","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@coderage-labs/armada-agent-plugin","version":"0.1.0","keywords":["openclaw","openclaw-plugin","armada","agent","team-communication"],"author":{"name":"Chris Kitch"},"license":"MIT","_id":"@coderage-labs/armada-agent-plugin@0.1.0","maintainers":[{"name":"kriskit","email":"chris@coderage.co.uk"}],"homepage":"https://github.com/coderage-labs/armada#readme","bugs":{"url":"https://github.com/coderage-labs/armada/issues"},"dist":{"shasum":"9bf95bb3a591eae33708343d0e52e867643868a9","tarball":"https://registry.npmjs.org/@coderage-labs/armada-agent-plugin/-/armada-agent-plugin-0.1.0.tgz","fileCount":3,"integrity":"sha512-y+r5KT61pYPTTGmE6PRLMt7yxJepwIpzbypagVidtnBf4Rw8lFk29VRaB2yK3iuSNiTJH+F+OqxMd4U53WZGXA==","signatures":[{"sig":"MEQCIHeTHehPDSCK+2qzh2KbWbOirYXPbLkGCVbbwpP046qbAiAdHBxYvprCYEwZhQaItOvQQi09j1tDFzu/qgbMWxJx7Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4929},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"f2ec80bb0b71b4691f119c0a66f058458d432c7a","scripts":{"test":"node --test dist/**/*.test.js","build":"tsc"},"_npmUser":{"name":"kriskit","email":"chris@coderage.co.uk"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/coderage-labs/armada.git","type":"git","directory":"plugins/armada-agent"},"_npmVersion":"10.9.4","description":"Armada agent plugin for OpenClaw — managed team communication with ACL, status reporting, and maintenance support","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@coderage-labs/armada-plugin-shared":"*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.3.2"},"_npmOperationalInternal":{"tmp":"tmp/armada-agent-plugin_0.1.0_1773571847633_0.788418375278354","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@coderage-labs/armada-agent-plugin","version":"0.1.1","keywords":["openclaw","openclaw-plugin","armada","agent","team-communication"],"author":{"name":"Chris Kitch"},"license":"MIT","_id":"@coderage-labs/armada-agent-plugin@0.1.1","maintainers":[{"name":"kriskit","email":"chris@coderage.co.uk"}],"homepage":"https://github.com/coderage-labs/armada#readme","bugs":{"url":"https://github.com/coderage-labs/armada/issues"},"dist":{"shasum":"f19793bca14708907235496746c7a49e31c09601","tarball":"https://registry.npmjs.org/@coderage-labs/armada-agent-plugin/-/armada-agent-plugin-0.1.1.tgz","fileCount":7,"integrity":"sha512-st3w1XHoDLBMLpaJbSj5bJ6KAO+Ak96Zg7/6ys5Q6lpwYy6wpMV+cQBLifAqzA/u4svCrORCx/txBWkFc2q3JA==","signatures":[{"sig":"MEUCIExRyrMvfztKqVevos1TxxWmcRddXGtTPXy22n78RDcAAiEAjojvLlFF7CfKs9FlQ1SZMJurJ58Qm+vibuE3lwHiN/k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":118130},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"a7aaf46d33d01e40bf45cdf5e76a8669a3a5a45c","scripts":{"test":"node --test dist/**/*.test.js","build":"tsc"},"_npmUser":{"name":"kriskit","email":"chris@coderage.co.uk"},"openclaw":{"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/coderage-labs/armada.git","type":"git","directory":"plugins/armada-agent"},"_npmVersion":"10.9.4","description":"Armada agent plugin for OpenClaw — managed team communication with ACL, status reporting, and maintenance support","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@coderage-labs/armada-plugin-shared":"0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^25.3.2"},"_npmOperationalInternal":{"tmp":"tmp/armada-agent-plugin_0.1.1_1773602890172_0.07593844306129127","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@coderage-labs/armada-agent-plugin","version":"0.2.0","description":"Armada agent plugin for OpenClaw — managed team communication with ACL, status reporting, and maintenance support","main":"dist/index.js","types":"dist/index.d.ts","type":"module","scripts":{"build":"tsc","test":"node --test dist/**/*.test.js"},"keywords":["openclaw","openclaw-plugin","armada","agent","team-communication"],"author":{"name":"Chris Kitch"},"license":"MIT","dependencies":{"@coderage-labs/armada-plugin-shared":"0.2.0"},"devDependencies":{"@types/node":"^25.3.2"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/coderage-labs/armada.git","directory":"plugins/armada-agent"},"openclaw":{"extensions":["./dist/index.js"]},"gitHead":"44891b3f57857aee2244df24369fc4155600ff9e","_id":"@coderage-labs/armada-agent-plugin@0.2.0","bugs":{"url":"https://github.com/coderage-labs/armada/issues"},"homepage":"https://github.com/coderage-labs/armada#readme","_nodeVersion":"22.22.2","_npmVersion":"11.6.2","dist":{"integrity":"sha512-cal+68AQX9xonKMzmcMhrc0wjcqAKITrl1oikrRAQH5BCWAuQMRf8P8I+XkKNLwd8dXuWDhGxFenO/bLpshIfw==","shasum":"88fa042f32150c5ed6d83c4b8a1be293799c9a98","tarball":"https://registry.npmjs.org/@coderage-labs/armada-agent-plugin/-/armada-agent-plugin-0.2.0.tgz","fileCount":7,"unpackedSize":129347,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@coderage-labs%2farmada-agent-plugin@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDtMLxVNX3OWqctOSPvMccJYZC9wmr6l4dwrVbk82gkYAIgIioWVAeF+n8D5OS2MPnkE8Bzqcoj6OnRJ6soWTeAv2c="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:d1dd5436-d19d-4c93-aeab-0c13ae8ef95a"}},"directories":{},"maintainers":[{"name":"kriskit","email":"chris@coderage.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/armada-agent-plugin_0.2.0_1777288157557_0.2744742781144689"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-15T10:50:47.554Z","modified":"2026-04-27T11:09:18.087Z","0.1.0":"2026-03-15T10:50:47.785Z","0.1.1":"2026-03-15T19:28:10.325Z","0.2.0":"2026-04-27T11:09:17.731Z"},"bugs":{"url":"https://github.com/coderage-labs/armada/issues"},"author":{"name":"Chris Kitch"},"license":"MIT","homepage":"https://github.com/coderage-labs/armada#readme","keywords":["openclaw","openclaw-plugin","armada","agent","team-communication"],"repository":{"type":"git","url":"git+https://github.com/coderage-labs/armada.git","directory":"plugins/armada-agent"},"description":"Armada agent plugin for OpenClaw — managed team communication with ACL, status reporting, and maintenance support","maintainers":[{"name":"kriskit","email":"chris@coderage.co.uk"}],"readme":"# @coderage-labs/armada-agent\n\nOpenClaw plugin for Armada-managed agent instances. Installed automatically by the changeset pipeline when agents are deployed.\n\n## What It Does\n\n- **Task execution** — receives work dispatched by workflows and the task system via `POST /armada/task`\n- **Heartbeat reporting** — sends health status and active task count to the control plane\n- **Status endpoint** — `GET/POST /armada/status` for idle/busy/draining state\n- **Maintenance support** — `POST /armada/drain` to gracefully stop accepting work\n- **Health endpoint** — `GET /armada/health` for control plane health checks\n- **Workflow context** — `armada_workflow_context` tool lets agents fetch workflow state and prior step outputs\n- **Rework requests** — `armada_request_rework` tool lets review agents send work back for revision\n- **Progress reporting** — task progress posted back to the control plane in real-time\n- **Callback on completion** — results POSTed back when `TASK_COMPLETE` is detected in agent output\n- **Subtask coordination** — parent tasks wait for child tasks before finalizing\n- **Mid-task steering** — `POST /armada/steer` allows injecting instructions into active tasks\n- **Workflow notifications** — `POST /armada/notify` receives gate/completion events from the control plane\n- **Session inspection** — `GET /armada/session` and `GET /armada/session/messages` for session visibility\n\n## Installation\n\nInstalled automatically by the Armada changeset pipeline. For manual installation:\n\n```bash\nnpm install @coderage-labs/armada-agent\n```\n\n## Configuration\n\nAdded to `openclaw.json` on managed instances by the Armada config generator:\n\n```json\n{\n  \"plugins\": {\n    \"load\": {\n      \"paths\": [\"/home/node/.openclaw/extensions/armada-agent\"]\n    },\n    \"allow\": [\"armada-agent\"],\n    \"entries\": {\n      \"armada-agent\": {\n        \"config\": {\n          \"instanceName\": \"my-instance\",\n          \"armadaApiToken\": \"YOUR_SCOPED_TOKEN\",\n          \"proxyUrl\": \"http://armada-node:3002\"\n        }\n      }\n    }\n  }\n}\n```\n\n### Config Fields\n\n| Field | Required | Description |\n|-------|----------|-------------|\n| `instanceName` | ✅ | This instance's name (used for identity and heartbeats) |\n| `armadaApiToken` | ✅ | Scoped API token (generated per-instance by the control plane) |\n| `proxyUrl` | ✅ | Node agent proxy URL — all outbound calls route through here. Default: `http://armada-node:3002` |\n| `org` | — | Organisation identifier (optional metadata) |\n| `role` | — | Instance role label (optional metadata, e.g. `development`) |\n| `progressTimeoutMs` | — | Timeout (ms) without LLM output before task is considered stuck (default: 600000) |\n| `hardTimeoutMs` | — | Absolute task ceiling (ms) — always fires (default: 1800000) |\n| `pingWatchdogMs` | — | Timeout (ms) without a ping before agent is presumed dead (default: 60000) |\n| `projects` | — | Project names this instance belongs to |\n\n> ⚠️ `armadaApiUrl` is deprecated — instances must communicate via `proxyUrl` (node agent relay). Direct control plane access is not supported for remote nodes.\n\n## HTTP Routes\n\nRegistered on the OpenClaw gateway at startup:\n\n| Method | Path | Auth | Description |\n|--------|------|------|-------------|\n| `POST` | `/armada/task` | plugin | Receive inbound task — creates InboundContext, fires turn |\n| `POST` | `/armada/result` | plugin | Receive subtask result callbacks |\n| `GET/POST` | `/armada/status` | plugin | Instance status (activeTasks, role, etc.) |\n| `GET` | `/armada/health` | plugin | Health check (`{ healthy, uptime }`) |\n| `POST` | `/armada/drain` | plugin | Enter drain mode — stop accepting new tasks |\n| `POST` | `/armada/steer` | plugin | Inject mid-task steering message |\n| `POST` | `/armada/notify` | plugin | Receive workflow notifications |\n| `GET` | `/armada/session` | plugin | List sessions via gateway RPC |\n| `GET` | `/armada/session/messages` | plugin | Get session message history |\n\n## Agent Tools\n\n| Tool | Description |\n|------|-------------|\n| `armada_task` | Dispatch a task to another armada agent (goes via node agent proxy → control plane → target) |\n| `armada_workflow_context` | Fetch current workflow state and prior step outputs |\n| `armada_request_rework` | Send completed work back for revision (in workflow review loops) |\n\n## Links\n\n- [Armada](https://github.com/coderage-labs/armada) — Control plane and dashboard\n- [Architecture](https://github.com/coderage-labs/armada/blob/main/docs/ARCHITECTURE.md) — How task dispatch works\n- [Plugin Guide](https://github.com/coderage-labs/armada/blob/main/docs/PLUGIN-GUIDE.md) — Building OpenClaw plugins\n","readmeFilename":"README.md"}