macro-agent 0.0.11 → 0.0.12
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/.macro-agent/teams/self-driving/prompts/grinder.md +27 -0
- package/.macro-agent/teams/self-driving/prompts/judge.md +27 -0
- package/.macro-agent/teams/self-driving/prompts/planner.md +33 -0
- package/.macro-agent/teams/self-driving/roles/grinder.yaml +17 -0
- package/.macro-agent/teams/self-driving/roles/judge.yaml +24 -0
- package/.macro-agent/teams/self-driving/roles/planner.yaml +18 -0
- package/.macro-agent/teams/self-driving/team.yaml +103 -0
- package/.macro-agent/teams/structured/prompts/developer.md +26 -0
- package/.macro-agent/teams/structured/prompts/lead.md +25 -0
- package/.macro-agent/teams/structured/prompts/reviewer.md +24 -0
- package/.macro-agent/teams/structured/roles/developer.yaml +12 -0
- package/.macro-agent/teams/structured/roles/lead.yaml +11 -0
- package/.macro-agent/teams/structured/roles/reviewer.yaml +19 -0
- package/.macro-agent/teams/structured/team.yaml +89 -0
- package/.sudocode/issues.jsonl +6 -0
- package/.sudocode/specs.jsonl +7 -0
- package/CLAUDE.md +110 -30
- package/README.md +60 -3
- package/dist/acp/macro-agent.d.ts +4 -0
- package/dist/acp/macro-agent.d.ts.map +1 -1
- package/dist/acp/macro-agent.js +50 -4
- package/dist/acp/macro-agent.js.map +1 -1
- package/dist/acp/session-mapper.d.ts +20 -1
- package/dist/acp/session-mapper.d.ts.map +1 -1
- package/dist/acp/session-mapper.js +90 -1
- package/dist/acp/session-mapper.js.map +1 -1
- package/dist/acp/types.d.ts +24 -1
- package/dist/acp/types.d.ts.map +1 -1
- package/dist/acp/types.js.map +1 -1
- package/dist/agent/agent-manager.d.ts +25 -1
- package/dist/agent/agent-manager.d.ts.map +1 -1
- package/dist/agent/agent-manager.js +93 -7
- package/dist/agent/agent-manager.js.map +1 -1
- package/dist/agent/types.d.ts +22 -0
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/agent-detection/command-builder.d.ts +30 -0
- package/dist/agent-detection/command-builder.d.ts.map +1 -0
- package/dist/agent-detection/command-builder.js +71 -0
- package/dist/agent-detection/command-builder.js.map +1 -0
- package/dist/agent-detection/detector.d.ts +84 -0
- package/dist/agent-detection/detector.d.ts.map +1 -0
- package/dist/agent-detection/detector.js +240 -0
- package/dist/agent-detection/detector.js.map +1 -0
- package/dist/agent-detection/index.d.ts +12 -0
- package/dist/agent-detection/index.d.ts.map +1 -0
- package/dist/agent-detection/index.js +14 -0
- package/dist/agent-detection/index.js.map +1 -0
- package/dist/agent-detection/registry.d.ts +53 -0
- package/dist/agent-detection/registry.d.ts.map +1 -0
- package/dist/agent-detection/registry.js +177 -0
- package/dist/agent-detection/registry.js.map +1 -0
- package/dist/agent-detection/types.d.ts +121 -0
- package/dist/agent-detection/types.d.ts.map +1 -0
- package/dist/agent-detection/types.js +20 -0
- package/dist/agent-detection/types.js.map +1 -0
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +95 -0
- package/dist/api/server.js.map +1 -1
- package/dist/cli/index.js +29 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/mcp.js +38 -0
- package/dist/cli/mcp.js.map +1 -1
- package/dist/config/index.d.ts +2 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +2 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/project-config.d.ts +46 -0
- package/dist/config/project-config.d.ts.map +1 -0
- package/dist/config/project-config.js +68 -0
- package/dist/config/project-config.js.map +1 -0
- package/dist/lifecycle/cascade.d.ts +1 -1
- package/dist/lifecycle/cascade.d.ts.map +1 -1
- package/dist/lifecycle/handlers/index.d.ts +4 -0
- package/dist/lifecycle/handlers/index.d.ts.map +1 -1
- package/dist/lifecycle/handlers/index.js +2 -0
- package/dist/lifecycle/handlers/index.js.map +1 -1
- package/dist/lifecycle/handlers/worker.d.ts +4 -0
- package/dist/lifecycle/handlers/worker.d.ts.map +1 -1
- package/dist/lifecycle/handlers/worker.js +35 -3
- package/dist/lifecycle/handlers/worker.js.map +1 -1
- package/dist/map/adapter/acp-over-map.d.ts.map +1 -1
- package/dist/map/adapter/acp-over-map.js +32 -2
- package/dist/map/adapter/acp-over-map.js.map +1 -1
- package/dist/map/adapter/event-translator.d.ts.map +1 -1
- package/dist/map/adapter/event-translator.js +1 -0
- package/dist/map/adapter/event-translator.js.map +1 -1
- package/dist/map/adapter/extensions/agent-detection.d.ts +49 -0
- package/dist/map/adapter/extensions/agent-detection.d.ts.map +1 -0
- package/dist/map/adapter/extensions/agent-detection.js +91 -0
- package/dist/map/adapter/extensions/agent-detection.js.map +1 -0
- package/dist/map/adapter/extensions/index.d.ts +10 -1
- package/dist/map/adapter/extensions/index.d.ts.map +1 -1
- package/dist/map/adapter/extensions/index.js +39 -0
- package/dist/map/adapter/extensions/index.js.map +1 -1
- package/dist/map/adapter/extensions/resume.d.ts +47 -0
- package/dist/map/adapter/extensions/resume.d.ts.map +1 -0
- package/dist/map/adapter/extensions/resume.js +59 -0
- package/dist/map/adapter/extensions/resume.js.map +1 -0
- package/dist/map/adapter/extensions/workspace-files.d.ts +42 -0
- package/dist/map/adapter/extensions/workspace-files.d.ts.map +1 -0
- package/dist/map/adapter/extensions/workspace-files.js +338 -0
- package/dist/map/adapter/extensions/workspace-files.js.map +1 -0
- package/dist/mcp/mcp-server.d.ts +6 -0
- package/dist/mcp/mcp-server.d.ts.map +1 -1
- package/dist/mcp/mcp-server.js +45 -0
- package/dist/mcp/mcp-server.js.map +1 -1
- package/dist/mcp/tools/claim_task.d.ts +35 -0
- package/dist/mcp/tools/claim_task.d.ts.map +1 -0
- package/dist/mcp/tools/claim_task.js +58 -0
- package/dist/mcp/tools/claim_task.js.map +1 -0
- package/dist/mcp/tools/done.d.ts +11 -2
- package/dist/mcp/tools/done.d.ts.map +1 -1
- package/dist/mcp/tools/done.js +15 -10
- package/dist/mcp/tools/done.js.map +1 -1
- package/dist/mcp/tools/list_claimable_tasks.d.ts +38 -0
- package/dist/mcp/tools/list_claimable_tasks.d.ts.map +1 -0
- package/dist/mcp/tools/list_claimable_tasks.js +63 -0
- package/dist/mcp/tools/list_claimable_tasks.js.map +1 -0
- package/dist/mcp/tools/unclaim_task.d.ts +31 -0
- package/dist/mcp/tools/unclaim_task.d.ts.map +1 -0
- package/dist/mcp/tools/unclaim_task.js +47 -0
- package/dist/mcp/tools/unclaim_task.js.map +1 -0
- package/dist/metrics/index.d.ts +2 -0
- package/dist/metrics/index.d.ts.map +1 -0
- package/dist/metrics/index.js +2 -0
- package/dist/metrics/index.js.map +1 -0
- package/dist/metrics/metrics.d.ts +79 -0
- package/dist/metrics/metrics.d.ts.map +1 -0
- package/dist/metrics/metrics.js +166 -0
- package/dist/metrics/metrics.js.map +1 -0
- package/dist/roles/capabilities.d.ts +1 -0
- package/dist/roles/capabilities.d.ts.map +1 -1
- package/dist/roles/capabilities.js +3 -0
- package/dist/roles/capabilities.js.map +1 -1
- package/dist/roles/types.d.ts +1 -1
- package/dist/roles/types.d.ts.map +1 -1
- package/dist/router/message-router.d.ts +41 -0
- package/dist/router/message-router.d.ts.map +1 -1
- package/dist/router/message-router.js +136 -5
- package/dist/router/message-router.js.map +1 -1
- package/dist/store/event-store.d.ts +8 -1
- package/dist/store/event-store.d.ts.map +1 -1
- package/dist/store/event-store.js +120 -4
- package/dist/store/event-store.js.map +1 -1
- package/dist/store/types/agents.d.ts +1 -1
- package/dist/store/types/agents.d.ts.map +1 -1
- package/dist/store/types/events.d.ts +1 -1
- package/dist/store/types/events.d.ts.map +1 -1
- package/dist/store/types/events.js.map +1 -1
- package/dist/store/types/index.d.ts +1 -0
- package/dist/store/types/index.d.ts.map +1 -1
- package/dist/store/types/index.js +1 -0
- package/dist/store/types/index.js.map +1 -1
- package/dist/store/types/sessions.d.ts +44 -0
- package/dist/store/types/sessions.d.ts.map +1 -0
- package/dist/store/types/sessions.js +9 -0
- package/dist/store/types/sessions.js.map +1 -0
- package/dist/store/types/tasks.d.ts +2 -0
- package/dist/store/types/tasks.d.ts.map +1 -1
- package/dist/task/backend/memory.d.ts +4 -1
- package/dist/task/backend/memory.d.ts.map +1 -1
- package/dist/task/backend/memory.js +81 -0
- package/dist/task/backend/memory.js.map +1 -1
- package/dist/task/backend/types.d.ts +30 -0
- package/dist/task/backend/types.d.ts.map +1 -1
- package/dist/task/backend/types.js.map +1 -1
- package/dist/teams/index.d.ts +4 -0
- package/dist/teams/index.d.ts.map +1 -0
- package/dist/teams/index.js +4 -0
- package/dist/teams/index.js.map +1 -0
- package/dist/teams/team-loader.d.ts +20 -0
- package/dist/teams/team-loader.d.ts.map +1 -0
- package/dist/teams/team-loader.js +293 -0
- package/dist/teams/team-loader.js.map +1 -0
- package/dist/teams/team-runtime.d.ts +139 -0
- package/dist/teams/team-runtime.d.ts.map +1 -0
- package/dist/teams/team-runtime.js +613 -0
- package/dist/teams/team-runtime.js.map +1 -0
- package/dist/teams/types.d.ts +266 -0
- package/dist/teams/types.d.ts.map +1 -0
- package/dist/teams/types.js +20 -0
- package/dist/teams/types.js.map +1 -0
- package/dist/workspace/dataplane-adapter.d.ts +1 -1
- package/dist/workspace/dataplane-adapter.d.ts.map +1 -1
- package/dist/workspace/dataplane-adapter.js +1 -1
- package/dist/workspace/dataplane-adapter.js.map +1 -1
- package/dist/workspace/index.d.ts +1 -1
- package/dist/workspace/index.d.ts.map +1 -1
- package/dist/workspace/strategies/index.d.ts +6 -0
- package/dist/workspace/strategies/index.d.ts.map +1 -0
- package/dist/workspace/strategies/index.js +5 -0
- package/dist/workspace/strategies/index.js.map +1 -0
- package/dist/workspace/strategies/optimistic.d.ts +26 -0
- package/dist/workspace/strategies/optimistic.d.ts.map +1 -0
- package/dist/workspace/strategies/optimistic.js +121 -0
- package/dist/workspace/strategies/optimistic.js.map +1 -0
- package/dist/workspace/strategies/queue.d.ts +26 -0
- package/dist/workspace/strategies/queue.d.ts.map +1 -0
- package/dist/workspace/strategies/queue.js +67 -0
- package/dist/workspace/strategies/queue.js.map +1 -0
- package/dist/workspace/strategies/registry.d.ts +37 -0
- package/dist/workspace/strategies/registry.d.ts.map +1 -0
- package/dist/workspace/strategies/registry.js +63 -0
- package/dist/workspace/strategies/registry.js.map +1 -0
- package/dist/workspace/strategies/trunk.d.ts +20 -0
- package/dist/workspace/strategies/trunk.d.ts.map +1 -0
- package/dist/workspace/strategies/trunk.js +108 -0
- package/dist/workspace/strategies/trunk.js.map +1 -0
- package/dist/workspace/strategies/types.d.ts +104 -0
- package/dist/workspace/strategies/types.d.ts.map +1 -0
- package/dist/workspace/strategies/types.js +11 -0
- package/dist/workspace/strategies/types.js.map +1 -0
- package/dist/workspace/types.d.ts +1 -1
- package/dist/workspace/types.d.ts.map +1 -1
- package/dist/workspace/workspace-manager.d.ts +1 -1
- package/dist/workspace/workspace-manager.d.ts.map +1 -1
- package/docs/implementation-details.md +1127 -0
- package/docs/implementation-summary.md +448 -0
- package/docs/plan-self-driving-support.md +433 -0
- package/docs/spec-self-driving-support.md +462 -0
- package/docs/team-templates.md +860 -0
- package/docs/teams.md +233 -0
- package/package.json +4 -2
- package/src/acp/__tests__/integration.test.ts +161 -1
- package/src/acp/__tests__/macro-agent.test.ts +95 -0
- package/src/acp/__tests__/session-persistence.test.ts +276 -0
- package/src/acp/macro-agent.ts +79 -7
- package/src/acp/session-mapper.ts +108 -1
- package/src/acp/types.ts +33 -1
- package/src/agent/agent-manager.ts +158 -6
- package/src/agent/types.ts +27 -0
- package/src/agent-detection/__tests__/command-builder.test.ts +336 -0
- package/src/agent-detection/__tests__/detector.test.ts +768 -0
- package/src/agent-detection/__tests__/registry.test.ts +254 -0
- package/src/agent-detection/command-builder.ts +90 -0
- package/src/agent-detection/detector.ts +307 -0
- package/src/agent-detection/index.ts +36 -0
- package/src/agent-detection/registry.ts +200 -0
- package/src/agent-detection/types.ts +184 -0
- package/src/api/server.ts +110 -0
- package/src/cli/index.ts +44 -0
- package/src/cli/mcp.ts +47 -0
- package/src/config/index.ts +9 -0
- package/src/config/project-config.ts +107 -0
- package/src/lifecycle/cascade.ts +1 -1
- package/src/lifecycle/handlers/index.ts +8 -0
- package/src/lifecycle/handlers/worker.ts +48 -3
- package/src/map/adapter/__tests__/extensions.test.ts +359 -0
- package/src/map/adapter/__tests__/workspace-files.test.ts +673 -0
- package/src/map/adapter/acp-over-map.ts +45 -2
- package/src/map/adapter/event-translator.ts +1 -0
- package/src/map/adapter/extensions/agent-detection.ts +201 -0
- package/src/map/adapter/extensions/index.ts +63 -0
- package/src/map/adapter/extensions/resume.ts +114 -0
- package/src/map/adapter/extensions/workspace-files.ts +449 -0
- package/src/mcp/mcp-server.ts +67 -0
- package/src/mcp/tools/claim_task.ts +86 -0
- package/src/mcp/tools/done.ts +24 -10
- package/src/mcp/tools/list_claimable_tasks.ts +93 -0
- package/src/mcp/tools/unclaim_task.ts +71 -0
- package/src/metrics/index.ts +9 -0
- package/src/metrics/metrics.ts +280 -0
- package/src/roles/capabilities.ts +3 -0
- package/src/roles/types.ts +2 -1
- package/src/router/__tests__/message-router.test.ts +561 -0
- package/src/router/message-router.ts +223 -6
- package/src/store/event-store.ts +151 -3
- package/src/store/types/agents.ts +1 -1
- package/src/store/types/events.ts +2 -1
- package/src/store/types/index.ts +1 -0
- package/src/store/types/sessions.ts +53 -0
- package/src/store/types/tasks.ts +3 -0
- package/src/task/backend/memory.ts +116 -0
- package/src/task/backend/types.ts +43 -0
- package/src/teams/__tests__/cross-subsystem.integration.test.ts +983 -0
- package/src/teams/__tests__/e2e/team-runtime.e2e.test.ts +553 -0
- package/src/teams/__tests__/team-system.test.ts +1280 -0
- package/src/teams/index.ts +13 -0
- package/src/teams/team-loader.ts +434 -0
- package/src/teams/team-runtime.ts +727 -0
- package/src/teams/types.ts +377 -0
- package/src/workspace/dataplane-adapter.ts +1 -1
- package/src/workspace/index.ts +1 -1
- package/src/workspace/strategies/index.ts +18 -0
- package/src/workspace/strategies/optimistic.ts +136 -0
- package/src/workspace/strategies/queue.ts +81 -0
- package/src/workspace/strategies/registry.ts +89 -0
- package/src/workspace/strategies/trunk.ts +123 -0
- package/src/workspace/strategies/types.ts +145 -0
- package/src/workspace/types.ts +1 -1
- package/src/workspace/workspace-manager.ts +1 -1
- package/.claude/settings.local.json +0 -59
- package/dist/map/utils/address-translation.d.ts +0 -99
- package/dist/map/utils/address-translation.d.ts.map +0 -1
- package/dist/map/utils/address-translation.js +0 -285
- package/dist/map/utils/address-translation.js.map +0 -1
- package/dist/map/utils/index.d.ts +0 -7
- package/dist/map/utils/index.d.ts.map +0 -1
- package/dist/map/utils/index.js +0 -7
- package/dist/map/utils/index.js.map +0 -1
- package/references/acp-factory-ref/CHANGELOG.md +0 -33
- package/references/acp-factory-ref/LICENSE +0 -21
- package/references/acp-factory-ref/README.md +0 -341
- package/references/acp-factory-ref/package-lock.json +0 -3102
- package/references/acp-factory-ref/package.json +0 -96
- package/references/acp-factory-ref/python/CHANGELOG.md +0 -33
- package/references/acp-factory-ref/python/LICENSE +0 -21
- package/references/acp-factory-ref/python/Makefile +0 -57
- package/references/acp-factory-ref/python/README.md +0 -253
- package/references/acp-factory-ref/python/pyproject.toml +0 -73
- package/references/acp-factory-ref/python/tests/__init__.py +0 -0
- package/references/acp-factory-ref/python/tests/e2e/__init__.py +0 -1
- package/references/acp-factory-ref/python/tests/e2e/test_codex_e2e.py +0 -349
- package/references/acp-factory-ref/python/tests/e2e/test_gemini_e2e.py +0 -165
- package/references/acp-factory-ref/python/tests/e2e/test_opencode_e2e.py +0 -296
- package/references/acp-factory-ref/python/tests/test_client_handler.py +0 -543
- package/references/acp-factory-ref/python/tests/test_pushable.py +0 -199
- package/references/claude-code-acp/.github/workflows/ci.yml +0 -45
- package/references/claude-code-acp/.github/workflows/publish.yml +0 -34
- package/references/claude-code-acp/.prettierrc.json +0 -4
- package/references/claude-code-acp/CHANGELOG.md +0 -249
- package/references/claude-code-acp/LICENSE +0 -222
- package/references/claude-code-acp/README.md +0 -53
- package/references/claude-code-acp/docs/RELEASES.md +0 -24
- package/references/claude-code-acp/eslint.config.js +0 -48
- package/references/claude-code-acp/package-lock.json +0 -4570
- package/references/claude-code-acp/package.json +0 -88
- package/references/claude-code-acp/scripts/release.sh +0 -119
- package/references/claude-code-acp/src/acp-agent.ts +0 -2065
- package/references/claude-code-acp/src/index.ts +0 -26
- package/references/claude-code-acp/src/lib.ts +0 -38
- package/references/claude-code-acp/src/mcp-server.ts +0 -911
- package/references/claude-code-acp/src/settings.ts +0 -522
- package/references/claude-code-acp/src/tests/.claude/commands/quick-math.md +0 -5
- package/references/claude-code-acp/src/tests/.claude/commands/say-hello.md +0 -6
- package/references/claude-code-acp/src/tests/acp-agent-fork.test.ts +0 -479
- package/references/claude-code-acp/src/tests/acp-agent.test.ts +0 -1502
- package/references/claude-code-acp/src/tests/extract-lines.test.ts +0 -103
- package/references/claude-code-acp/src/tests/fork-session.test.ts +0 -335
- package/references/claude-code-acp/src/tests/replace-and-calculate-location.test.ts +0 -334
- package/references/claude-code-acp/src/tests/settings.test.ts +0 -617
- package/references/claude-code-acp/src/tests/skills-options.test.ts +0 -187
- package/references/claude-code-acp/src/tests/tools.test.ts +0 -318
- package/references/claude-code-acp/src/tests/typescript-declarations.test.ts +0 -558
- package/references/claude-code-acp/src/tools.ts +0 -819
- package/references/claude-code-acp/src/utils.ts +0 -171
- package/references/claude-code-acp/tsconfig.json +0 -18
- package/references/claude-code-acp/vitest.config.ts +0 -19
- package/references/multi-agent-protocol/.sudocode/issues.jsonl +0 -111
- package/references/multi-agent-protocol/.sudocode/specs.jsonl +0 -13
- package/references/multi-agent-protocol/LICENSE +0 -21
- package/references/multi-agent-protocol/README.md +0 -113
- package/references/multi-agent-protocol/docs/00-design-specification.md +0 -496
- package/references/multi-agent-protocol/docs/01-open-questions.md +0 -1050
- package/references/multi-agent-protocol/docs/02-wire-protocol.md +0 -296
- package/references/multi-agent-protocol/docs/03-streaming-semantics.md +0 -252
- package/references/multi-agent-protocol/docs/04-error-handling.md +0 -231
- package/references/multi-agent-protocol/docs/05-connection-model.md +0 -244
- package/references/multi-agent-protocol/docs/06-visibility-permissions.md +0 -243
- package/references/multi-agent-protocol/docs/07-federation.md +0 -259
- package/references/multi-agent-protocol/docs/08-macro-agent-migration.md +0 -253
- package/references/multi-agent-protocol/docs/09-authentication.md +0 -680
- package/references/multi-agent-protocol/docs/10-mail-protocol.md +0 -553
- package/references/multi-agent-protocol/docs/agent-iam-integration.md +0 -877
- package/references/multi-agent-protocol/docs/agentic-mesh-integration-draft.md +0 -459
- package/references/multi-agent-protocol/docs/git-transport-draft.md +0 -251
- package/references/multi-agent-protocol/docs-site/Gemfile +0 -22
- package/references/multi-agent-protocol/docs-site/README.md +0 -82
- package/references/multi-agent-protocol/docs-site/_config.yml +0 -91
- package/references/multi-agent-protocol/docs-site/_includes/head_custom.html +0 -20
- package/references/multi-agent-protocol/docs-site/_sass/color_schemes/map.scss +0 -42
- package/references/multi-agent-protocol/docs-site/_sass/custom/custom.scss +0 -34
- package/references/multi-agent-protocol/docs-site/examples/full-integration.md +0 -510
- package/references/multi-agent-protocol/docs-site/examples/index.md +0 -138
- package/references/multi-agent-protocol/docs-site/examples/simple-chat.md +0 -282
- package/references/multi-agent-protocol/docs-site/examples/task-queue.md +0 -399
- package/references/multi-agent-protocol/docs-site/getting-started/index.md +0 -98
- package/references/multi-agent-protocol/docs-site/getting-started/installation.md +0 -219
- package/references/multi-agent-protocol/docs-site/getting-started/overview.md +0 -172
- package/references/multi-agent-protocol/docs-site/getting-started/quickstart.md +0 -237
- package/references/multi-agent-protocol/docs-site/index.md +0 -136
- package/references/multi-agent-protocol/docs-site/protocol/authentication.md +0 -391
- package/references/multi-agent-protocol/docs-site/protocol/connection-model.md +0 -376
- package/references/multi-agent-protocol/docs-site/protocol/design.md +0 -284
- package/references/multi-agent-protocol/docs-site/protocol/error-handling.md +0 -312
- package/references/multi-agent-protocol/docs-site/protocol/federation.md +0 -449
- package/references/multi-agent-protocol/docs-site/protocol/index.md +0 -129
- package/references/multi-agent-protocol/docs-site/protocol/permissions.md +0 -398
- package/references/multi-agent-protocol/docs-site/protocol/streaming.md +0 -353
- package/references/multi-agent-protocol/docs-site/protocol/wire-protocol.md +0 -369
- package/references/multi-agent-protocol/docs-site/sdk/api/agent.md +0 -357
- package/references/multi-agent-protocol/docs-site/sdk/api/client.md +0 -380
- package/references/multi-agent-protocol/docs-site/sdk/api/index.md +0 -62
- package/references/multi-agent-protocol/docs-site/sdk/api/server.md +0 -453
- package/references/multi-agent-protocol/docs-site/sdk/api/types.md +0 -468
- package/references/multi-agent-protocol/docs-site/sdk/guides/agent.md +0 -375
- package/references/multi-agent-protocol/docs-site/sdk/guides/authentication.md +0 -405
- package/references/multi-agent-protocol/docs-site/sdk/guides/client.md +0 -352
- package/references/multi-agent-protocol/docs-site/sdk/guides/index.md +0 -89
- package/references/multi-agent-protocol/docs-site/sdk/guides/server.md +0 -360
- package/references/multi-agent-protocol/docs-site/sdk/guides/testing.md +0 -446
- package/references/multi-agent-protocol/docs-site/sdk/guides/transports.md +0 -363
- package/references/multi-agent-protocol/docs-site/sdk/index.md +0 -206
- package/references/multi-agent-protocol/package-lock.json +0 -3886
- package/references/multi-agent-protocol/package.json +0 -56
- package/references/multi-agent-protocol/schema/meta.json +0 -467
- package/references/multi-agent-protocol/schema/schema.json +0 -2558
|
@@ -1,341 +0,0 @@
|
|
|
1
|
-
# acp-factory
|
|
2
|
-
|
|
3
|
-
A TypeScript library for spawning and managing AI agents through the [Agent Client Protocol (ACP)](https://agentclientprotocol.com/).
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npm install acp-factory
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Prerequisites
|
|
12
|
-
|
|
13
|
-
- Node.js 18+
|
|
14
|
-
- [Claude Code](https://claude.ai/claude-code) installed and authenticated (run `claude` once to set up)
|
|
15
|
-
- Or set `ANTHROPIC_API_KEY` environment variable
|
|
16
|
-
|
|
17
|
-
## Quick Start
|
|
18
|
-
|
|
19
|
-
```typescript
|
|
20
|
-
import { AgentFactory } from "acp-factory";
|
|
21
|
-
|
|
22
|
-
// Spawn a Claude Code agent
|
|
23
|
-
const agent = await AgentFactory.spawn("claude-code", {
|
|
24
|
-
permissionMode: "auto-approve",
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
// Create a session
|
|
28
|
-
const session = await agent.createSession(process.cwd());
|
|
29
|
-
|
|
30
|
-
// Send a prompt and stream responses
|
|
31
|
-
for await (const update of session.prompt("What files are in this directory?")) {
|
|
32
|
-
if (update.sessionUpdate === "agent_message_chunk") {
|
|
33
|
-
if (update.content.type === "text") {
|
|
34
|
-
process.stdout.write(update.content.text);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
// Clean up
|
|
40
|
-
await agent.close();
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
## API Reference
|
|
44
|
-
|
|
45
|
-
### AgentFactory
|
|
46
|
-
|
|
47
|
-
Static class for managing agent types and spawning agents.
|
|
48
|
-
|
|
49
|
-
```typescript
|
|
50
|
-
// List available agents
|
|
51
|
-
AgentFactory.listAgents(); // ["claude-code"]
|
|
52
|
-
|
|
53
|
-
// Register a custom agent
|
|
54
|
-
AgentFactory.register("my-agent", {
|
|
55
|
-
command: "npx",
|
|
56
|
-
args: ["my-agent-acp"],
|
|
57
|
-
env: { MY_VAR: "value" },
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
// Spawn an agent
|
|
61
|
-
const agent = await AgentFactory.spawn("claude-code", options);
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### AgentHandle
|
|
65
|
-
|
|
66
|
-
Represents a running agent process.
|
|
67
|
-
|
|
68
|
-
```typescript
|
|
69
|
-
// Agent capabilities
|
|
70
|
-
agent.capabilities; // { loadSession: true, ... }
|
|
71
|
-
|
|
72
|
-
// Create a new session
|
|
73
|
-
const session = await agent.createSession("/path/to/cwd", {
|
|
74
|
-
mode: "code", // Optional: initial mode
|
|
75
|
-
mcpServers: [], // Optional: MCP servers to connect
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
// Load an existing session
|
|
79
|
-
const session = await agent.loadSession(sessionId, "/path/to/cwd");
|
|
80
|
-
|
|
81
|
-
// Fork an existing session (experimental)
|
|
82
|
-
const forkedSession = await agent.forkSession(sessionId);
|
|
83
|
-
|
|
84
|
-
// Close the agent
|
|
85
|
-
await agent.close();
|
|
86
|
-
|
|
87
|
-
// Check if running
|
|
88
|
-
agent.isRunning(); // true/false
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### Session
|
|
92
|
-
|
|
93
|
-
High-level interface for interacting with an agent session.
|
|
94
|
-
|
|
95
|
-
```typescript
|
|
96
|
-
// Session properties
|
|
97
|
-
session.id; // Session ID
|
|
98
|
-
session.modes; // Available modes ["code", "ask", ...]
|
|
99
|
-
session.models; // Available models ["claude-sonnet-4-...", ...]
|
|
100
|
-
|
|
101
|
-
// Send a prompt (returns async iterable)
|
|
102
|
-
for await (const update of session.prompt("Hello!")) {
|
|
103
|
-
// Handle updates
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
// Cancel the current prompt
|
|
107
|
-
await session.cancel();
|
|
108
|
-
|
|
109
|
-
// Set the session mode
|
|
110
|
-
await session.setMode("ask");
|
|
111
|
-
|
|
112
|
-
// Interrupt and redirect with new context
|
|
113
|
-
for await (const update of session.interruptWith("Focus on tests only")) {
|
|
114
|
-
// Handle updates from new prompt
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
// Fork the session (experimental)
|
|
118
|
-
const forkedSession = await session.fork();
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
## Session Updates
|
|
122
|
-
|
|
123
|
-
The `prompt()` method yields `SessionUpdate` objects:
|
|
124
|
-
|
|
125
|
-
```typescript
|
|
126
|
-
for await (const update of session.prompt("Hello")) {
|
|
127
|
-
switch (update.sessionUpdate) {
|
|
128
|
-
case "agent_message_chunk":
|
|
129
|
-
// Text or image content from the agent
|
|
130
|
-
if (update.content.type === "text") {
|
|
131
|
-
process.stdout.write(update.content.text);
|
|
132
|
-
}
|
|
133
|
-
break;
|
|
134
|
-
|
|
135
|
-
case "tool_call":
|
|
136
|
-
// Agent is calling a tool
|
|
137
|
-
console.log(`Tool: ${update.title}`);
|
|
138
|
-
break;
|
|
139
|
-
|
|
140
|
-
case "tool_call_update":
|
|
141
|
-
// Tool call status changed
|
|
142
|
-
if (update.status === "completed") {
|
|
143
|
-
console.log("Tool completed");
|
|
144
|
-
}
|
|
145
|
-
break;
|
|
146
|
-
|
|
147
|
-
case "agent_thought_chunk":
|
|
148
|
-
// Agent's thinking (if enabled)
|
|
149
|
-
break;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
## Permission Modes
|
|
155
|
-
|
|
156
|
-
Control how permission requests are handled:
|
|
157
|
-
|
|
158
|
-
```typescript
|
|
159
|
-
// Auto-approve all requests (default)
|
|
160
|
-
await AgentFactory.spawn("claude-code", {
|
|
161
|
-
permissionMode: "auto-approve",
|
|
162
|
-
});
|
|
163
|
-
|
|
164
|
-
// Auto-deny all requests
|
|
165
|
-
await AgentFactory.spawn("claude-code", {
|
|
166
|
-
permissionMode: "auto-deny",
|
|
167
|
-
});
|
|
168
|
-
|
|
169
|
-
// Use a callback handler
|
|
170
|
-
await AgentFactory.spawn("claude-code", {
|
|
171
|
-
permissionMode: "callback",
|
|
172
|
-
onPermissionRequest: async (request) => {
|
|
173
|
-
// Return permission response
|
|
174
|
-
return {
|
|
175
|
-
outcome: { outcome: "selected", optionId: "allow" },
|
|
176
|
-
};
|
|
177
|
-
},
|
|
178
|
-
});
|
|
179
|
-
|
|
180
|
-
// Interactive mode - permissions emitted as session updates
|
|
181
|
-
await AgentFactory.spawn("claude-code", {
|
|
182
|
-
permissionMode: "interactive",
|
|
183
|
-
});
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
### Interactive Permissions
|
|
187
|
-
|
|
188
|
-
With `permissionMode: "interactive"`, permission requests appear as session updates:
|
|
189
|
-
|
|
190
|
-
```typescript
|
|
191
|
-
import { type ExtendedSessionUpdate } from "acp-factory";
|
|
192
|
-
|
|
193
|
-
for await (const update of session.prompt("Write a file")) {
|
|
194
|
-
if (update.sessionUpdate === "permission_request") {
|
|
195
|
-
// Show options to user
|
|
196
|
-
console.log(`Permission needed: ${update.toolCall.title}`);
|
|
197
|
-
update.options.forEach((opt, i) => {
|
|
198
|
-
console.log(`${i + 1}. ${opt.name}`);
|
|
199
|
-
});
|
|
200
|
-
|
|
201
|
-
// Respond to the request
|
|
202
|
-
session.respondToPermission(update.requestId, update.options[0].optionId);
|
|
203
|
-
// Or cancel it
|
|
204
|
-
// session.cancelPermission(update.requestId);
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
## Interrupting and Redirecting
|
|
210
|
-
|
|
211
|
-
Interrupt an agent mid-execution and redirect with new context:
|
|
212
|
-
|
|
213
|
-
```typescript
|
|
214
|
-
const promptIterator = session.prompt("Analyze this codebase")[Symbol.asyncIterator]();
|
|
215
|
-
|
|
216
|
-
while (true) {
|
|
217
|
-
const { done, value } = await promptIterator.next();
|
|
218
|
-
if (done) break;
|
|
219
|
-
|
|
220
|
-
handleUpdate(value);
|
|
221
|
-
|
|
222
|
-
if (userWantsToRedirect) {
|
|
223
|
-
// Interrupt and provide new direction
|
|
224
|
-
for await (const update of session.interruptWith("Focus only on the tests")) {
|
|
225
|
-
handleUpdate(update);
|
|
226
|
-
}
|
|
227
|
-
break;
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
## Forking Sessions
|
|
233
|
-
|
|
234
|
-
Fork a session to create an independent copy with shared history:
|
|
235
|
-
|
|
236
|
-
```typescript
|
|
237
|
-
// Original session continues normally
|
|
238
|
-
const session = await agent.createSession(process.cwd());
|
|
239
|
-
await consumePrompt(session.prompt("Analyze the codebase"));
|
|
240
|
-
|
|
241
|
-
// Fork to generate summary without affecting original
|
|
242
|
-
const summarySession = await session.fork();
|
|
243
|
-
for await (const update of summarySession.prompt("Summarize our conversation")) {
|
|
244
|
-
// This doesn't affect the original session
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
// Original session can continue independently
|
|
248
|
-
for await (const update of session.prompt("Now implement the feature")) {
|
|
249
|
-
// Continues from original context
|
|
250
|
-
}
|
|
251
|
-
```
|
|
252
|
-
|
|
253
|
-
## Custom File and Terminal Handlers
|
|
254
|
-
|
|
255
|
-
Override default file operations or provide terminal support:
|
|
256
|
-
|
|
257
|
-
```typescript
|
|
258
|
-
const agent = await AgentFactory.spawn("claude-code", {
|
|
259
|
-
// Custom file handling
|
|
260
|
-
onFileRead: async (path) => {
|
|
261
|
-
return await myCustomRead(path);
|
|
262
|
-
},
|
|
263
|
-
onFileWrite: async (path, content) => {
|
|
264
|
-
await myCustomWrite(path, content);
|
|
265
|
-
},
|
|
266
|
-
|
|
267
|
-
// Terminal support (all handlers required)
|
|
268
|
-
onTerminalCreate: async (params) => {
|
|
269
|
-
const id = createTerminal(params.command, params.args);
|
|
270
|
-
return { terminalId: id };
|
|
271
|
-
},
|
|
272
|
-
onTerminalOutput: async (terminalId) => {
|
|
273
|
-
return getTerminalOutput(terminalId);
|
|
274
|
-
},
|
|
275
|
-
onTerminalKill: async (terminalId) => {
|
|
276
|
-
killTerminal(terminalId);
|
|
277
|
-
},
|
|
278
|
-
onTerminalRelease: async (terminalId) => {
|
|
279
|
-
releaseTerminal(terminalId);
|
|
280
|
-
},
|
|
281
|
-
onTerminalWaitForExit: async (terminalId) => {
|
|
282
|
-
return await waitForExit(terminalId);
|
|
283
|
-
},
|
|
284
|
-
});
|
|
285
|
-
```
|
|
286
|
-
|
|
287
|
-
## Examples
|
|
288
|
-
|
|
289
|
-
See the [examples](./examples) directory:
|
|
290
|
-
|
|
291
|
-
- [`basic-usage.ts`](./examples/basic-usage.ts) - Simple prompt and response
|
|
292
|
-
- [`interactive-permissions.ts`](./examples/interactive-permissions.ts) - Handle permissions in UI
|
|
293
|
-
- [`interrupt-context.ts`](./examples/interrupt-context.ts) - Interrupt and redirect agent
|
|
294
|
-
|
|
295
|
-
Run examples with:
|
|
296
|
-
|
|
297
|
-
```bash
|
|
298
|
-
npx tsx examples/basic-usage.ts
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
## Type Exports
|
|
302
|
-
|
|
303
|
-
The library exports all necessary types:
|
|
304
|
-
|
|
305
|
-
```typescript
|
|
306
|
-
import {
|
|
307
|
-
// Core classes
|
|
308
|
-
AgentFactory,
|
|
309
|
-
AgentHandle,
|
|
310
|
-
Session,
|
|
311
|
-
|
|
312
|
-
// Configuration types
|
|
313
|
-
type AgentConfig,
|
|
314
|
-
type SpawnOptions,
|
|
315
|
-
type SessionOptions,
|
|
316
|
-
type PermissionMode,
|
|
317
|
-
|
|
318
|
-
// Session update types
|
|
319
|
-
type SessionUpdate,
|
|
320
|
-
type ExtendedSessionUpdate,
|
|
321
|
-
type PermissionRequestUpdate,
|
|
322
|
-
|
|
323
|
-
// Content types
|
|
324
|
-
type ContentBlock,
|
|
325
|
-
type TextContent,
|
|
326
|
-
type ImageContent,
|
|
327
|
-
|
|
328
|
-
// Tool types
|
|
329
|
-
type ToolCall,
|
|
330
|
-
type ToolCallUpdate,
|
|
331
|
-
|
|
332
|
-
// Permission types
|
|
333
|
-
type PermissionOption,
|
|
334
|
-
type RequestPermissionRequest,
|
|
335
|
-
type RequestPermissionResponse,
|
|
336
|
-
} from "acp-factory";
|
|
337
|
-
```
|
|
338
|
-
|
|
339
|
-
## License
|
|
340
|
-
|
|
341
|
-
MIT
|