@claude-flow/cli 3.7.0-alpha.8 → 3.7.0-alpha.81
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/github/release-manager.md +2 -2
- package/.claude/agents/github/release-swarm.md +1 -1
- package/.claude/agents/github/repo-architect.md +2 -2
- package/.claude/agents/github/swarm-pr.md +1 -1
- package/.claude/agents/github/workflow-automation.md +2 -2
- package/.claude/commands/github/code-review-swarm.md +1 -1
- package/.claude/commands/github/issue-tracker.md +3 -3
- package/.claude/commands/github/release-manager.md +5 -3
- package/.claude/commands/github/release-swarm.md +1 -1
- package/.claude/commands/github/repo-architect.md +2 -2
- package/.claude/commands/github/swarm-issue.md +4 -1
- package/.claude/commands/github/swarm-pr.md +6 -3
- package/.claude/commands/github/sync-coordinator.md +3 -1
- package/.claude/commands/github/workflow-automation.md +2 -2
- package/.claude/helpers/github-safe.js +95 -60
- package/.claude/helpers/github-setup.sh +26 -9
- package/.claude/helpers/hook-handler.cjs +12 -4
- package/.claude/helpers/statusline.cjs +31 -2
- package/.claude/helpers/statusline.js +35 -4
- package/.claude/settings.json +1 -1
- package/.claude/skills/dual-mode/README.md +71 -0
- package/.claude/skills/dual-mode/dual-collect.md +103 -0
- package/.claude/skills/dual-mode/dual-coordinate.md +85 -0
- package/.claude/skills/dual-mode/dual-spawn.md +81 -0
- package/.claude/skills/flow-nexus-neural/SKILL.md +0 -11
- package/.claude/skills/flow-nexus-platform/SKILL.md +2 -5
- package/.claude/skills/flow-nexus-swarm/SKILL.md +0 -6
- package/.claude/skills/github-code-review/SKILL.md +2 -17
- package/.claude/skills/github-multi-repo/SKILL.md +4 -16
- package/.claude/skills/github-project-management/SKILL.md +18 -33
- package/.claude/skills/github-release-management/SKILL.md +4 -21
- package/.claude/skills/github-workflow-automation/SKILL.md +8 -26
- package/.claude/skills/reasoningbank-intelligence/SKILL.md +2 -2
- package/.claude/skills/sparc-methodology/SKILL.md +2 -11
- package/.claude/skills/stream-chain/SKILL.md +0 -3
- package/.claude/skills/swarm-advanced/SKILL.md +2 -5
- package/.claude/skills/swarm-orchestration/SKILL.md +1 -1
- package/.claude/skills/verification-quality/SKILL.md +120 -78
- package/README.md +57 -38
- package/bin/cli.js +15 -2
- package/bin/mcp-server.js +1 -1
- package/dist/src/__probe.d.ts +2 -0
- package/dist/src/__probe.d.ts.map +1 -0
- package/dist/src/__probe.js +5 -0
- package/dist/src/__probe.js.map +1 -0
- package/dist/src/commands/agent-wasm.js +2 -2
- package/dist/src/commands/agent-wasm.js.map +1 -1
- package/dist/src/commands/benchmark-cosign.d.ts +29 -0
- package/dist/src/commands/benchmark-cosign.d.ts.map +1 -0
- package/dist/src/commands/benchmark-cosign.js +222 -0
- package/dist/src/commands/benchmark-cosign.js.map +1 -0
- package/dist/src/commands/benchmark-verify.d.ts +21 -0
- package/dist/src/commands/benchmark-verify.d.ts.map +1 -0
- package/dist/src/commands/benchmark-verify.js +202 -0
- package/dist/src/commands/benchmark-verify.js.map +1 -0
- package/dist/src/commands/daemon.d.ts +20 -0
- package/dist/src/commands/daemon.d.ts.map +1 -1
- package/dist/src/commands/daemon.js +366 -7
- package/dist/src/commands/daemon.js.map +1 -1
- package/dist/src/commands/doctor.d.ts.map +1 -1
- package/dist/src/commands/doctor.js +224 -46
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/embeddings.d.ts.map +1 -1
- package/dist/src/commands/embeddings.js +18 -9
- package/dist/src/commands/embeddings.js.map +1 -1
- package/dist/src/commands/hive-mind.d.ts.map +1 -1
- package/dist/src/commands/hive-mind.js +25 -7
- package/dist/src/commands/hive-mind.js.map +1 -1
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +56 -29
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +21 -1
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/memory.d.ts.map +1 -1
- package/dist/src/commands/memory.js +128 -3
- package/dist/src/commands/memory.js.map +1 -1
- package/dist/src/commands/start.js +1 -1
- package/dist/src/commands/start.js.map +1 -1
- package/dist/src/commands/swarm.js +1 -1
- package/dist/src/commands/swarm.js.map +1 -1
- package/dist/src/commands/task.d.ts.map +1 -1
- package/dist/src/commands/task.js +8 -4
- package/dist/src/commands/task.js.map +1 -1
- package/dist/src/config-adapter.js +1 -1
- package/dist/src/config-adapter.js.map +1 -1
- package/dist/src/index.d.ts +5 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +61 -18
- package/dist/src/index.js.map +1 -1
- package/dist/src/init/claudemd-generator.d.ts.map +1 -1
- package/dist/src/init/claudemd-generator.js +1 -0
- package/dist/src/init/claudemd-generator.js.map +1 -1
- package/dist/src/init/executor.d.ts.map +1 -1
- package/dist/src/init/executor.js +133 -0
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/init/helpers-generator.d.ts +1 -0
- package/dist/src/init/helpers-generator.d.ts.map +1 -1
- package/dist/src/init/helpers-generator.js +19 -2
- package/dist/src/init/helpers-generator.js.map +1 -1
- package/dist/src/init/mcp-generator.js +4 -4
- package/dist/src/init/mcp-generator.js.map +1 -1
- package/dist/src/init/settings-generator.d.ts.map +1 -1
- package/dist/src/init/settings-generator.js +84 -19
- package/dist/src/init/settings-generator.js.map +1 -1
- package/dist/src/init/statusline-generator.d.ts.map +1 -1
- package/dist/src/init/statusline-generator.js +75 -31
- package/dist/src/init/statusline-generator.js.map +1 -1
- package/dist/src/init/types.d.ts +30 -0
- package/dist/src/init/types.d.ts.map +1 -1
- package/dist/src/init/types.js +18 -5
- package/dist/src/init/types.js.map +1 -1
- package/dist/src/mcp-client.d.ts.map +1 -1
- package/dist/src/mcp-client.js +12 -0
- package/dist/src/mcp-client.js.map +1 -1
- package/dist/src/mcp-server.d.ts.map +1 -1
- package/dist/src/mcp-server.js +38 -5
- package/dist/src/mcp-server.js.map +1 -1
- package/dist/src/mcp-tools/agent-execute-core.d.ts +3 -2
- package/dist/src/mcp-tools/agent-execute-core.d.ts.map +1 -1
- package/dist/src/mcp-tools/agent-execute-core.js +157 -83
- package/dist/src/mcp-tools/agent-execute-core.js.map +1 -1
- package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/agent-tools.js +119 -11
- package/dist/src/mcp-tools/agent-tools.js.map +1 -1
- package/dist/src/mcp-tools/agentdb-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/agentdb-tools.js +101 -24
- package/dist/src/mcp-tools/agentdb-tools.js.map +1 -1
- package/dist/src/mcp-tools/analyze-tools.js +6 -6
- package/dist/src/mcp-tools/analyze-tools.js.map +1 -1
- package/dist/src/mcp-tools/autopilot-tools.js +10 -10
- package/dist/src/mcp-tools/autopilot-tools.js.map +1 -1
- package/dist/src/mcp-tools/browser-session-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/browser-session-tools.js +18 -7
- package/dist/src/mcp-tools/browser-session-tools.js.map +1 -1
- package/dist/src/mcp-tools/browser-tools.js +23 -23
- package/dist/src/mcp-tools/browser-tools.js.map +1 -1
- package/dist/src/mcp-tools/claims-tools.js +12 -12
- package/dist/src/mcp-tools/claims-tools.js.map +1 -1
- package/dist/src/mcp-tools/config-tools.js +6 -6
- package/dist/src/mcp-tools/config-tools.js.map +1 -1
- package/dist/src/mcp-tools/coordination-tools.js +7 -7
- package/dist/src/mcp-tools/coordination-tools.js.map +1 -1
- package/dist/src/mcp-tools/daa-tools.js +8 -8
- package/dist/src/mcp-tools/daa-tools.js.map +1 -1
- package/dist/src/mcp-tools/embeddings-tools.js +10 -10
- package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
- package/dist/src/mcp-tools/github-tools.js +5 -5
- package/dist/src/mcp-tools/github-tools.js.map +1 -1
- package/dist/src/mcp-tools/guidance-tools.js +21 -21
- package/dist/src/mcp-tools/guidance-tools.js.map +1 -1
- package/dist/src/mcp-tools/hive-consensus-runtime.d.ts +149 -0
- package/dist/src/mcp-tools/hive-consensus-runtime.d.ts.map +1 -0
- package/dist/src/mcp-tools/hive-consensus-runtime.js +296 -0
- package/dist/src/mcp-tools/hive-consensus-runtime.js.map +1 -0
- package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/hive-mind-tools.js +53 -9
- package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.d.ts +2 -0
- package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.js +179 -46
- package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
- package/dist/src/mcp-tools/managed-agent-tools.d.ts +22 -0
- package/dist/src/mcp-tools/managed-agent-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/managed-agent-tools.js +357 -0
- package/dist/src/mcp-tools/managed-agent-tools.js.map +1 -0
- package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/memory-tools.js +499 -68
- package/dist/src/mcp-tools/memory-tools.js.map +1 -1
- package/dist/src/mcp-tools/neural-tools.js +6 -6
- package/dist/src/mcp-tools/neural-tools.js.map +1 -1
- package/dist/src/mcp-tools/performance-tools.js +6 -6
- package/dist/src/mcp-tools/performance-tools.js.map +1 -1
- package/dist/src/mcp-tools/progress-tools.js +4 -4
- package/dist/src/mcp-tools/progress-tools.js.map +1 -1
- package/dist/src/mcp-tools/ruvllm-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/ruvllm-tools.js +27 -11
- package/dist/src/mcp-tools/ruvllm-tools.js.map +1 -1
- package/dist/src/mcp-tools/security-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/security-tools.js +34 -9
- package/dist/src/mcp-tools/security-tools.js.map +1 -1
- package/dist/src/mcp-tools/session-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/session-tools.js +130 -6
- package/dist/src/mcp-tools/session-tools.js.map +1 -1
- package/dist/src/mcp-tools/swarm-tools.d.ts +28 -0
- package/dist/src/mcp-tools/swarm-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/swarm-tools.js +80 -9
- package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
- package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/system-tools.js +91 -18
- package/dist/src/mcp-tools/system-tools.js.map +1 -1
- package/dist/src/mcp-tools/task-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/task-tools.js +55 -7
- package/dist/src/mcp-tools/task-tools.js.map +1 -1
- package/dist/src/mcp-tools/terminal-tools.js +5 -5
- package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
- package/dist/src/mcp-tools/transfer-tools.js +11 -11
- package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
- package/dist/src/mcp-tools/wasm-agent-tools.js +11 -11
- package/dist/src/mcp-tools/wasm-agent-tools.js.map +1 -1
- package/dist/src/mcp-tools/workflow-tools.d.ts.map +1 -1
- package/dist/src/mcp-tools/workflow-tools.js +118 -10
- package/dist/src/mcp-tools/workflow-tools.js.map +1 -1
- package/dist/src/memory/ann-router-registry.d.ts +61 -0
- package/dist/src/memory/ann-router-registry.d.ts.map +1 -0
- package/dist/src/memory/ann-router-registry.js +72 -0
- package/dist/src/memory/ann-router-registry.js.map +1 -0
- package/dist/src/memory/diskann-registry.d.ts +56 -0
- package/dist/src/memory/diskann-registry.d.ts.map +1 -0
- package/dist/src/memory/diskann-registry.js +88 -0
- package/dist/src/memory/diskann-registry.js.map +1 -0
- package/dist/src/memory/memory-bridge.d.ts +4 -0
- package/dist/src/memory/memory-bridge.d.ts.map +1 -1
- package/dist/src/memory/memory-bridge.js +49 -8
- package/dist/src/memory/memory-bridge.js.map +1 -1
- package/dist/src/memory/memory-initializer.d.ts +12 -0
- package/dist/src/memory/memory-initializer.d.ts.map +1 -1
- package/dist/src/memory/memory-initializer.js +98 -19
- package/dist/src/memory/memory-initializer.js.map +1 -1
- package/dist/src/memory/sona-optimizer.d.ts.map +1 -1
- package/dist/src/memory/sona-optimizer.js +3 -0
- package/dist/src/memory/sona-optimizer.js.map +1 -1
- package/dist/src/parser.d.ts +9 -0
- package/dist/src/parser.d.ts.map +1 -1
- package/dist/src/parser.js +11 -0
- package/dist/src/parser.js.map +1 -1
- package/dist/src/plugins/store/discovery.d.ts +15 -4
- package/dist/src/plugins/store/discovery.d.ts.map +1 -1
- package/dist/src/plugins/store/discovery.js +40 -18
- package/dist/src/plugins/store/discovery.js.map +1 -1
- package/dist/src/ruvector/agent-wasm.d.ts.map +1 -1
- package/dist/src/ruvector/agent-wasm.js +4 -1
- package/dist/src/ruvector/agent-wasm.js.map +1 -1
- package/dist/src/ruvector/coverage-tools.js +6 -6
- package/dist/src/ruvector/coverage-tools.js.map +1 -1
- package/dist/src/services/headless-worker-executor.d.ts +20 -1
- package/dist/src/services/headless-worker-executor.d.ts.map +1 -1
- package/dist/src/services/headless-worker-executor.js +91 -13
- package/dist/src/services/headless-worker-executor.js.map +1 -1
- package/dist/src/services/worker-daemon.d.ts +92 -2
- package/dist/src/services/worker-daemon.d.ts.map +1 -1
- package/dist/src/services/worker-daemon.js +431 -16
- package/dist/src/services/worker-daemon.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +12 -8
- package/.claude/agents/core/coder.md +0 -453
- package/.claude/agents/core/researcher.md +0 -369
- package/.claude/agents/core/reviewer.md +0 -520
- package/.claude/agents/core/tester.md +0 -512
- package/.claude/agents/goal/goal-planner.md +0 -73
- package/.claude/agents/v3/adr-architect.md +0 -184
- package/.claude/agents/v3/memory-specialist.md +0 -995
- package/.claude/agents/v3/security-auditor.md +0 -771
- package/.claude/agents/v3/sparc-orchestrator.md +0 -182
- package/.claude/commands/flow-nexus/app-store.md +0 -124
- package/.claude/commands/flow-nexus/challenges.md +0 -120
- package/.claude/commands/flow-nexus/login-registration.md +0 -65
- package/.claude/commands/flow-nexus/neural-network.md +0 -134
- package/.claude/commands/flow-nexus/payments.md +0 -116
- package/.claude/commands/flow-nexus/sandbox.md +0 -83
- package/.claude/commands/flow-nexus/swarm.md +0 -87
- package/.claude/commands/flow-nexus/user-tools.md +0 -152
- package/.claude/commands/flow-nexus/workflow.md +0 -115
- package/.claude/skills/agentic-jujutsu/SKILL.md +0 -645
- package/.claude/skills/aidefence-scan.md +0 -151
- package/.claude/skills/aidefence.yaml +0 -297
- package/.claude/skills/hive-mind-advanced/SKILL.md +0 -712
- package/.claude/skills/performance-analysis/SKILL.md +0 -563
- package/.claude/skills/secure-review.md +0 -181
- package/.claude/skills/worker-benchmarks/skill.md +0 -135
- package/.claude/skills/worker-integration/skill.md +0 -154
- package/dist/src/ruvector/flash-attention.d.ts +0 -195
- package/dist/src/ruvector/flash-attention.d.ts.map +0 -1
- package/dist/src/ruvector/flash-attention.js +0 -643
- package/dist/src/ruvector/flash-attention.js.map +0 -1
- package/dist/src/ruvector/moe-router.d.ts +0 -206
- package/dist/src/ruvector/moe-router.d.ts.map +0 -1
- package/dist/src/ruvector/moe-router.js +0 -626
- package/dist/src/ruvector/moe-router.js.map +0 -1
- package/dist/src/services/event-stream.d.ts +0 -25
- package/dist/src/services/event-stream.d.ts.map +0 -1
- package/dist/src/services/event-stream.js +0 -27
- package/dist/src/services/event-stream.js.map +0 -1
- package/dist/src/services/loop-worker-runner.d.ts +0 -16
- package/dist/src/services/loop-worker-runner.d.ts.map +0 -1
- package/dist/src/services/loop-worker-runner.js +0 -34
- package/dist/src/services/loop-worker-runner.js.map +0 -1
- package/dist/src/services/runtime-capabilities.d.ts +0 -22
- package/dist/src/services/runtime-capabilities.d.ts.map +0 -1
- package/dist/src/services/runtime-capabilities.js +0 -45
- package/dist/src/services/runtime-capabilities.js.map +0 -1
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Managed Agent MCP tools — Anthropic Claude Managed Agents as a *cloud*
|
|
3
|
+
* agent runtime alongside ruflo's local WASM-sandboxed agents (`rvagent` /
|
|
4
|
+
* `wasm_agent_*`). See ADR-115.
|
|
5
|
+
*
|
|
6
|
+
* Wraps the Managed Agents REST API (beta, `anthropic-beta:
|
|
7
|
+
* managed-agents-2026-04-01`) with plain `fetch` — no new SDK dependency.
|
|
8
|
+
* Needs `ANTHROPIC_API_KEY` (or `CLAUDE_API_KEY`); every tool degrades
|
|
9
|
+
* gracefully with a structured error when the key is absent so the CLI/MCP
|
|
10
|
+
* server stays up.
|
|
11
|
+
*
|
|
12
|
+
* Lifecycle (mirrors `wasm_agent_*`):
|
|
13
|
+
* managed_agent_create → agents.create + environments.create + sessions.create ↔ wasm_agent_create
|
|
14
|
+
* managed_agent_prompt → events.send(user.message) + poll events until idle ↔ wasm_agent_prompt
|
|
15
|
+
* managed_agent_status → GET /v1/sessions/{id}
|
|
16
|
+
* managed_agent_events → GET /v1/sessions/{id}/events (full transcript) ↔ wasm_agent_files (artifacts/log)
|
|
17
|
+
* managed_agent_list → GET /v1/sessions
|
|
18
|
+
* managed_agent_terminate→ DELETE /v1/sessions/{id} (+ optionally the env) ↔ wasm_agent_terminate
|
|
19
|
+
*/
|
|
20
|
+
import type { MCPTool } from './types.js';
|
|
21
|
+
export declare const managedAgentTools: MCPTool[];
|
|
22
|
+
//# sourceMappingURL=managed-agent-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managed-agent-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/managed-agent-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AA0H1C,eAAO,MAAM,iBAAiB,EAAE,OAAO,EAwNtC,CAAC"}
|
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Managed Agent MCP tools — Anthropic Claude Managed Agents as a *cloud*
|
|
3
|
+
* agent runtime alongside ruflo's local WASM-sandboxed agents (`rvagent` /
|
|
4
|
+
* `wasm_agent_*`). See ADR-115.
|
|
5
|
+
*
|
|
6
|
+
* Wraps the Managed Agents REST API (beta, `anthropic-beta:
|
|
7
|
+
* managed-agents-2026-04-01`) with plain `fetch` — no new SDK dependency.
|
|
8
|
+
* Needs `ANTHROPIC_API_KEY` (or `CLAUDE_API_KEY`); every tool degrades
|
|
9
|
+
* gracefully with a structured error when the key is absent so the CLI/MCP
|
|
10
|
+
* server stays up.
|
|
11
|
+
*
|
|
12
|
+
* Lifecycle (mirrors `wasm_agent_*`):
|
|
13
|
+
* managed_agent_create → agents.create + environments.create + sessions.create ↔ wasm_agent_create
|
|
14
|
+
* managed_agent_prompt → events.send(user.message) + poll events until idle ↔ wasm_agent_prompt
|
|
15
|
+
* managed_agent_status → GET /v1/sessions/{id}
|
|
16
|
+
* managed_agent_events → GET /v1/sessions/{id}/events (full transcript) ↔ wasm_agent_files (artifacts/log)
|
|
17
|
+
* managed_agent_list → GET /v1/sessions
|
|
18
|
+
* managed_agent_terminate→ DELETE /v1/sessions/{id} (+ optionally the env) ↔ wasm_agent_terminate
|
|
19
|
+
*/
|
|
20
|
+
const API_BASE = process.env.ANTHROPIC_BASE_URL?.replace(/\/$/, '') || 'https://api.anthropic.com';
|
|
21
|
+
const BETA_HEADER = 'managed-agents-2026-04-01';
|
|
22
|
+
const ANTHROPIC_VERSION = '2023-06-01';
|
|
23
|
+
const DEFAULT_MODEL = 'claude-sonnet-4-6';
|
|
24
|
+
const POLL_INTERVAL_MS = 1500;
|
|
25
|
+
const DEFAULT_MAX_WAIT_MS = 180_000; // 3 min — long enough for a real task, bounded so a tool call never hangs forever
|
|
26
|
+
function apiKey() {
|
|
27
|
+
return process.env.ANTHROPIC_API_KEY || process.env.CLAUDE_API_KEY || null;
|
|
28
|
+
}
|
|
29
|
+
function headers(key) {
|
|
30
|
+
return {
|
|
31
|
+
'x-api-key': key,
|
|
32
|
+
'anthropic-version': ANTHROPIC_VERSION,
|
|
33
|
+
'anthropic-beta': BETA_HEADER,
|
|
34
|
+
'content-type': 'application/json',
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
const NEEDS_KEY = {
|
|
38
|
+
error: 'managed-agent runtime needs ANTHROPIC_API_KEY (or CLAUDE_API_KEY) and Claude Managed Agents beta access. ' +
|
|
39
|
+
'For a local, no-key agent runtime use wasm_agent_create instead (rvagent / WASM sandbox).',
|
|
40
|
+
};
|
|
41
|
+
async function maRequest(method, path, body) {
|
|
42
|
+
const key = apiKey();
|
|
43
|
+
if (!key)
|
|
44
|
+
return { ok: false, status: 0, error: NEEDS_KEY.error };
|
|
45
|
+
let res;
|
|
46
|
+
try {
|
|
47
|
+
res = await fetch(`${API_BASE}/v1${path}`, {
|
|
48
|
+
method,
|
|
49
|
+
headers: headers(key),
|
|
50
|
+
body: body !== undefined ? JSON.stringify(body) : undefined,
|
|
51
|
+
signal: AbortSignal.timeout(30_000),
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
catch (e) {
|
|
55
|
+
return { ok: false, status: 0, error: `network error calling ${method} /v1${path}: ${e.message}` };
|
|
56
|
+
}
|
|
57
|
+
const text = await res.text();
|
|
58
|
+
let parsed = undefined;
|
|
59
|
+
try {
|
|
60
|
+
parsed = text ? JSON.parse(text) : undefined;
|
|
61
|
+
}
|
|
62
|
+
catch { /* leave undefined */ }
|
|
63
|
+
if (!res.ok) {
|
|
64
|
+
const apiErr = parsed?.error?.message
|
|
65
|
+
?? parsed?.message
|
|
66
|
+
?? text.slice(0, 300);
|
|
67
|
+
return { ok: false, status: res.status, error: `Managed Agents API ${res.status}: ${apiErr}`, body: parsed };
|
|
68
|
+
}
|
|
69
|
+
return { ok: true, status: res.status, data: parsed };
|
|
70
|
+
}
|
|
71
|
+
// ---- helpers --------------------------------------------------------------
|
|
72
|
+
function summarizeEvents(events) {
|
|
73
|
+
let assistantText = '';
|
|
74
|
+
const toolUses = [];
|
|
75
|
+
let status = 'unknown';
|
|
76
|
+
let stopReason = null;
|
|
77
|
+
for (const e of events) {
|
|
78
|
+
if (e.type === 'agent.message' && Array.isArray(e.content)) {
|
|
79
|
+
assistantText += e.content.filter(b => b.type === 'text').map(b => b.text ?? '').join('');
|
|
80
|
+
}
|
|
81
|
+
else if (e.type === 'agent.tool_use') {
|
|
82
|
+
toolUses.push({ name: e.name ?? '?', input: e.input });
|
|
83
|
+
}
|
|
84
|
+
else if (e.type === 'session.status_running') {
|
|
85
|
+
status = 'running';
|
|
86
|
+
}
|
|
87
|
+
else if (e.type === 'session.status_idle') {
|
|
88
|
+
status = 'idle';
|
|
89
|
+
stopReason = e.stop_reason?.type ?? null;
|
|
90
|
+
}
|
|
91
|
+
else if (e.type === 'session.status_error' || e.type === 'session.status_failed') {
|
|
92
|
+
status = 'error';
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return { assistantText, toolUses, status, stopReason, eventCount: events.length };
|
|
96
|
+
}
|
|
97
|
+
async function fetchSessionEvents(sessionId) {
|
|
98
|
+
const r = await maRequest('GET', `/sessions/${encodeURIComponent(sessionId)}/events`);
|
|
99
|
+
if (!r.ok)
|
|
100
|
+
return [];
|
|
101
|
+
const d = r.data;
|
|
102
|
+
return (d.data ?? d.events ?? []);
|
|
103
|
+
}
|
|
104
|
+
// Wait until the session is no longer "running": poll the event log for a
|
|
105
|
+
// terminal session.status_* event. Bounded by maxWaitMs.
|
|
106
|
+
async function waitForIdle(sessionId, maxWaitMs) {
|
|
107
|
+
const deadline = Date.now() + Math.max(1_000, Math.min(maxWaitMs, 600_000));
|
|
108
|
+
let events = [];
|
|
109
|
+
while (Date.now() < deadline) {
|
|
110
|
+
events = await fetchSessionEvents(sessionId);
|
|
111
|
+
const terminal = events.some(e => e.type === 'session.status_idle' || e.type === 'session.status_error' || e.type === 'session.status_failed');
|
|
112
|
+
// Also stop early if the session record itself reports a non-running status
|
|
113
|
+
if (terminal)
|
|
114
|
+
return { done: true, events };
|
|
115
|
+
await new Promise(r => setTimeout(r, POLL_INTERVAL_MS));
|
|
116
|
+
}
|
|
117
|
+
return { done: false, events };
|
|
118
|
+
}
|
|
119
|
+
function maName(prefix, given) {
|
|
120
|
+
if (typeof given === 'string' && given.trim())
|
|
121
|
+
return given.trim().slice(0, 80);
|
|
122
|
+
return `${prefix}-${Date.now()}-${Math.random().toString(36).slice(2, 6)}`;
|
|
123
|
+
}
|
|
124
|
+
// ---------------------------------------------------------------------------
|
|
125
|
+
export const managedAgentTools = [
|
|
126
|
+
{
|
|
127
|
+
name: 'managed_agent_create',
|
|
128
|
+
description: 'Spin up an Anthropic-managed cloud agent (Agent + Environment + Session) — the CLOUD counterpart of wasm_agent_create. Use when wasm_agent_create (local WASM sandbox) is wrong because the task is long-running/async (minutes-hours), needs a real cloud container with pre-installed packages + network, or persistent filesystem + transcript across turns. For a fast, free, ephemeral, offline agent use wasm_agent_create (rvagent). Needs ANTHROPIC_API_KEY + Managed Agents beta access. Returns {sessionId, agentId, environmentId}; pair with managed_agent_prompt.',
|
|
129
|
+
category: 'agent',
|
|
130
|
+
inputSchema: {
|
|
131
|
+
type: 'object',
|
|
132
|
+
properties: {
|
|
133
|
+
name: { type: 'string', description: 'Agent name (default: auto)' },
|
|
134
|
+
model: { type: 'string', description: 'Model id (default: claude-sonnet-4-6)' },
|
|
135
|
+
system: { type: 'string', description: 'System prompt' },
|
|
136
|
+
title: { type: 'string', description: 'Session title' },
|
|
137
|
+
mcpServers: {
|
|
138
|
+
type: 'array',
|
|
139
|
+
description: 'MCP servers to expose to the agent — each {type:"url", url, name, authorization_token?}. NOTE: the cloud agent must be able to *reach* the URL (a local `ruflo mcp start` is not reachable from Anthropic\'s cloud — deploy/tunnel it).',
|
|
140
|
+
items: { type: 'object' },
|
|
141
|
+
},
|
|
142
|
+
skills: { type: 'array', description: 'Skills to attach to the agent', items: { type: 'object' } },
|
|
143
|
+
packages: { type: 'object', description: 'Environment packages: {pip?:[], npm?:[], apt?:[], cargo?:[], gem?:[], go?:[]}' },
|
|
144
|
+
networking: { type: 'string', enum: ['unrestricted', 'restricted', 'none'], description: 'Environment networking (default: unrestricted)' },
|
|
145
|
+
initScript: { type: 'string', description: 'Environment init script (bash, run at container start)' },
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
handler: async (input) => {
|
|
149
|
+
if (!apiKey())
|
|
150
|
+
return { success: false, ...NEEDS_KEY };
|
|
151
|
+
// 1. Agent
|
|
152
|
+
const agentBody = {
|
|
153
|
+
name: maName('ruflo-managed', input.name),
|
|
154
|
+
model: typeof input.model === 'string' && input.model ? input.model : DEFAULT_MODEL,
|
|
155
|
+
tools: [{ type: 'agent_toolset_20260401' }],
|
|
156
|
+
};
|
|
157
|
+
if (typeof input.system === 'string')
|
|
158
|
+
agentBody.system = input.system;
|
|
159
|
+
if (Array.isArray(input.mcpServers) && input.mcpServers.length)
|
|
160
|
+
agentBody.mcp_servers = input.mcpServers;
|
|
161
|
+
if (Array.isArray(input.skills) && input.skills.length)
|
|
162
|
+
agentBody.skills = input.skills;
|
|
163
|
+
const a = await maRequest('POST', '/agents', agentBody);
|
|
164
|
+
if (!a.ok)
|
|
165
|
+
return { success: false, stage: 'agent', error: a.error };
|
|
166
|
+
// 2. Environment
|
|
167
|
+
const net = input.networking || 'unrestricted';
|
|
168
|
+
const envBody = {
|
|
169
|
+
name: maName('ruflo-managed-env', input.name),
|
|
170
|
+
config: { type: 'cloud', networking: { type: net } },
|
|
171
|
+
};
|
|
172
|
+
if (input.packages && typeof input.packages === 'object')
|
|
173
|
+
envBody.config.packages = { type: 'packages', ...input.packages };
|
|
174
|
+
if (typeof input.initScript === 'string' && input.initScript)
|
|
175
|
+
envBody.config.init_script = input.initScript;
|
|
176
|
+
const e = await maRequest('POST', '/environments', envBody);
|
|
177
|
+
if (!e.ok)
|
|
178
|
+
return { success: false, stage: 'environment', agentId: a.data.id, error: e.error };
|
|
179
|
+
// 3. Session
|
|
180
|
+
const s = await maRequest('POST', '/sessions', {
|
|
181
|
+
agent: a.data.id,
|
|
182
|
+
environment_id: e.data.id,
|
|
183
|
+
title: maName('ruflo-managed session', input.title),
|
|
184
|
+
});
|
|
185
|
+
if (!s.ok)
|
|
186
|
+
return { success: false, stage: 'session', agentId: a.data.id, environmentId: e.data.id, error: s.error };
|
|
187
|
+
return {
|
|
188
|
+
success: true,
|
|
189
|
+
runtime: 'managed',
|
|
190
|
+
sessionId: s.data.id,
|
|
191
|
+
agentId: a.data.id,
|
|
192
|
+
agentVersion: a.data.version,
|
|
193
|
+
environmentId: e.data.id,
|
|
194
|
+
status: s.data.status ?? 'idle',
|
|
195
|
+
model: agentBody.model,
|
|
196
|
+
note: 'Cloud agent provisioned. Send work with managed_agent_prompt({sessionId, message}); inspect with managed_agent_events; clean up with managed_agent_terminate (it bills container time + tokens until you do).',
|
|
197
|
+
};
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
name: 'managed_agent_prompt',
|
|
202
|
+
description: 'Send a user turn to a managed cloud-agent session and wait for it to go idle, returning the assistant text + a tool-use trace — the CLOUD counterpart of wasm_agent_prompt. Use when wasm_agent_prompt (local WASM) is wrong because the work is long-running, needs the cloud container, or must persist across turns. Polls the session event log up to maxWaitMs (default 180s); for very long tasks raise maxWaitMs or follow up with managed_agent_events. Pair with managed_agent_create (for sessionId).',
|
|
203
|
+
category: 'agent',
|
|
204
|
+
inputSchema: {
|
|
205
|
+
type: 'object',
|
|
206
|
+
properties: {
|
|
207
|
+
sessionId: { type: 'string', description: 'Session id from managed_agent_create' },
|
|
208
|
+
message: { type: 'string', description: 'The user turn / task for the agent' },
|
|
209
|
+
maxWaitMs: { type: 'number', description: 'Max ms to wait for the session to go idle (default 180000, capped at 600000)' },
|
|
210
|
+
},
|
|
211
|
+
required: ['sessionId', 'message'],
|
|
212
|
+
},
|
|
213
|
+
handler: async (input) => {
|
|
214
|
+
if (!apiKey())
|
|
215
|
+
return { success: false, ...NEEDS_KEY };
|
|
216
|
+
const sessionId = String(input.sessionId ?? '');
|
|
217
|
+
const message = String(input.message ?? '');
|
|
218
|
+
if (!sessionId)
|
|
219
|
+
return { success: false, error: 'sessionId is required' };
|
|
220
|
+
if (!message)
|
|
221
|
+
return { success: false, error: 'message is required' };
|
|
222
|
+
const send = await maRequest('POST', `/sessions/${encodeURIComponent(sessionId)}/events`, {
|
|
223
|
+
events: [{ type: 'user.message', content: [{ type: 'text', text: message }] }],
|
|
224
|
+
});
|
|
225
|
+
if (!send.ok)
|
|
226
|
+
return { success: false, stage: 'send', sessionId, error: send.error };
|
|
227
|
+
const maxWait = typeof input.maxWaitMs === 'number' && input.maxWaitMs > 0 ? input.maxWaitMs : DEFAULT_MAX_WAIT_MS;
|
|
228
|
+
const { done, events } = await waitForIdle(sessionId, maxWait);
|
|
229
|
+
const sum = summarizeEvents(events);
|
|
230
|
+
return {
|
|
231
|
+
success: true,
|
|
232
|
+
runtime: 'managed',
|
|
233
|
+
sessionId,
|
|
234
|
+
finished: done,
|
|
235
|
+
status: sum.status,
|
|
236
|
+
stopReason: sum.stopReason,
|
|
237
|
+
assistantText: sum.assistantText,
|
|
238
|
+
toolUses: sum.toolUses,
|
|
239
|
+
eventCount: sum.eventCount,
|
|
240
|
+
note: done
|
|
241
|
+
? undefined
|
|
242
|
+
: `Session still running after ${maxWait}ms — call managed_agent_events({sessionId}) to keep watching, or managed_agent_prompt again to steer.`,
|
|
243
|
+
};
|
|
244
|
+
},
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
name: 'managed_agent_status',
|
|
248
|
+
description: 'Get the lifecycle state of a managed cloud-agent session: idle/running/error, title, last error. Use when native conversation memory is wrong because you need the cloud session\'s server-side status across turns rather than guessing. For a local WASM agent use wasm_agent_list. Pair with managed_agent_events for the full transcript.',
|
|
249
|
+
category: 'agent',
|
|
250
|
+
inputSchema: { type: 'object', properties: { sessionId: { type: 'string', description: 'Session id' } }, required: ['sessionId'] },
|
|
251
|
+
handler: async (input) => {
|
|
252
|
+
if (!apiKey())
|
|
253
|
+
return { ...NEEDS_KEY };
|
|
254
|
+
const sessionId = String(input.sessionId ?? '');
|
|
255
|
+
if (!sessionId)
|
|
256
|
+
return { error: 'sessionId is required' };
|
|
257
|
+
const r = await maRequest('GET', `/sessions/${encodeURIComponent(sessionId)}`);
|
|
258
|
+
if (!r.ok)
|
|
259
|
+
return { sessionId, error: r.error };
|
|
260
|
+
return { runtime: 'managed', sessionId: r.data.id, status: r.data.status, title: r.data.title, error: r.data.error ?? null, environmentId: r.data.environment_id };
|
|
261
|
+
},
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
name: 'managed_agent_events',
|
|
265
|
+
description: 'Fetch the full server-persisted event log of a managed cloud-agent session (user turns, agent thinking, tool_use, tool_result, status) — the transcript/artifact view, the CLOUD counterpart of wasm_agent_files. Use when native Read is wrong because the work happened in Anthropic\'s cloud container, not on disk. For a local WASM agent\'s filesystem use wasm_agent_files. Returns the events plus a summary (assistantText, toolUses).',
|
|
266
|
+
category: 'agent',
|
|
267
|
+
inputSchema: {
|
|
268
|
+
type: 'object',
|
|
269
|
+
properties: {
|
|
270
|
+
sessionId: { type: 'string', description: 'Session id' },
|
|
271
|
+
raw: { type: 'boolean', description: 'Include the full raw event objects (default: summary + compact list)' },
|
|
272
|
+
},
|
|
273
|
+
required: ['sessionId'],
|
|
274
|
+
},
|
|
275
|
+
handler: async (input) => {
|
|
276
|
+
if (!apiKey())
|
|
277
|
+
return { ...NEEDS_KEY };
|
|
278
|
+
const sessionId = String(input.sessionId ?? '');
|
|
279
|
+
if (!sessionId)
|
|
280
|
+
return { error: 'sessionId is required' };
|
|
281
|
+
const events = await fetchSessionEvents(sessionId);
|
|
282
|
+
const sum = summarizeEvents(events);
|
|
283
|
+
const compact = events.map(e => {
|
|
284
|
+
if (e.type === 'agent.message')
|
|
285
|
+
return { type: e.type, text: (e.content ?? []).filter(b => b.type === 'text').map(b => b.text ?? '').join('').slice(0, 500) };
|
|
286
|
+
if (e.type === 'agent.tool_use')
|
|
287
|
+
return { type: e.type, name: e.name, input: e.input };
|
|
288
|
+
if (e.type === 'agent.tool_result')
|
|
289
|
+
return { type: e.type, content: JSON.stringify(e.content ?? {}).slice(0, 500) };
|
|
290
|
+
return { type: e.type, ...(e.stop_reason ? { stop_reason: e.stop_reason } : {}) };
|
|
291
|
+
});
|
|
292
|
+
return {
|
|
293
|
+
runtime: 'managed',
|
|
294
|
+
sessionId,
|
|
295
|
+
status: sum.status,
|
|
296
|
+
stopReason: sum.stopReason,
|
|
297
|
+
assistantText: sum.assistantText,
|
|
298
|
+
toolUses: sum.toolUses,
|
|
299
|
+
eventCount: sum.eventCount,
|
|
300
|
+
events: input.raw ? events : compact,
|
|
301
|
+
};
|
|
302
|
+
},
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
name: 'managed_agent_list',
|
|
306
|
+
description: 'List managed cloud-agent sessions on this Anthropic org (id, status, title) — the CLOUD counterpart of wasm_agent_list. Use when native conversation memory is wrong because you need to see which cloud sessions exist (and which are still running / billing) across turns. For local WASM agents use wasm_agent_list. Pair with managed_agent_terminate to clean up idle sessions.',
|
|
307
|
+
category: 'agent',
|
|
308
|
+
inputSchema: { type: 'object', properties: { limit: { type: 'number', description: 'Max sessions to return (default 50)' } } },
|
|
309
|
+
handler: async (input) => {
|
|
310
|
+
if (!apiKey())
|
|
311
|
+
return { ...NEEDS_KEY, sessions: [], total: 0 };
|
|
312
|
+
const limit = typeof input.limit === 'number' && input.limit > 0 ? Math.min(Math.floor(input.limit), 200) : 50;
|
|
313
|
+
const r = await maRequest('GET', `/sessions?limit=${limit}`);
|
|
314
|
+
if (!r.ok)
|
|
315
|
+
return { sessions: [], total: 0, error: r.error };
|
|
316
|
+
const list = (r.data.data ?? r.data.sessions ?? []);
|
|
317
|
+
return {
|
|
318
|
+
runtime: 'managed',
|
|
319
|
+
sessions: list.map(s => ({ sessionId: s.id, status: s.status, title: s.title, environmentId: s.environment_id })),
|
|
320
|
+
total: list.length,
|
|
321
|
+
};
|
|
322
|
+
},
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
name: 'managed_agent_terminate',
|
|
326
|
+
description: 'Delete a managed cloud-agent session (stops billing for it) — the CLOUD counterpart of wasm_agent_terminate. Use when native nothing applies because a cloud session keeps billing container time + tokens until deleted. For a local WASM agent use wasm_agent_terminate. Optionally also deletes the session\'s environment. Always call this when done with a managed agent.',
|
|
327
|
+
category: 'agent',
|
|
328
|
+
inputSchema: {
|
|
329
|
+
type: 'object',
|
|
330
|
+
properties: {
|
|
331
|
+
sessionId: { type: 'string', description: 'Session id to delete' },
|
|
332
|
+
environmentId: { type: 'string', description: 'Optional: also delete this environment (the one returned by managed_agent_create)' },
|
|
333
|
+
},
|
|
334
|
+
required: ['sessionId'],
|
|
335
|
+
},
|
|
336
|
+
handler: async (input) => {
|
|
337
|
+
if (!apiKey())
|
|
338
|
+
return { success: false, ...NEEDS_KEY };
|
|
339
|
+
const sessionId = String(input.sessionId ?? '');
|
|
340
|
+
if (!sessionId)
|
|
341
|
+
return { success: false, error: 'sessionId is required' };
|
|
342
|
+
const s = await maRequest('DELETE', `/sessions/${encodeURIComponent(sessionId)}`);
|
|
343
|
+
const result = { runtime: 'managed', sessionId, sessionDeleted: s.ok };
|
|
344
|
+
if (!s.ok)
|
|
345
|
+
result.error = s.error;
|
|
346
|
+
if (typeof input.environmentId === 'string' && input.environmentId) {
|
|
347
|
+
const e = await maRequest('DELETE', `/environments/${encodeURIComponent(String(input.environmentId))}`);
|
|
348
|
+
result.environmentDeleted = e.ok;
|
|
349
|
+
if (!e.ok)
|
|
350
|
+
result.environmentError = e.error;
|
|
351
|
+
}
|
|
352
|
+
result.success = s.ok;
|
|
353
|
+
return result;
|
|
354
|
+
},
|
|
355
|
+
},
|
|
356
|
+
];
|
|
357
|
+
//# sourceMappingURL=managed-agent-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managed-agent-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/managed-agent-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/memory-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"memory-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/memory-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAoR1C,eAAO,MAAM,WAAW,EAAE,OAAO,EAu9BhC,CAAC"}
|