macro-agent 0.1.8 → 0.1.11
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.md +263 -33
- package/README.md +781 -131
- package/dist/acp/claude-code-replay.d.ts +11 -0
- package/dist/acp/claude-code-replay.d.ts.map +1 -0
- package/dist/acp/claude-code-replay.js +190 -0
- package/dist/acp/claude-code-replay.js.map +1 -0
- package/dist/acp/macro-agent.d.ts.map +1 -1
- package/dist/acp/macro-agent.js +192 -7
- package/dist/acp/macro-agent.js.map +1 -1
- package/dist/acp/types.d.ts +9 -0
- package/dist/acp/types.d.ts.map +1 -1
- package/dist/acp/types.js.map +1 -1
- package/dist/adapters/tasks-adapter.d.ts.map +1 -1
- package/dist/adapters/tasks-adapter.js +3 -0
- package/dist/adapters/tasks-adapter.js.map +1 -1
- package/dist/adapters/types.d.ts +1 -0
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/agent/agent-manager-v2.d.ts +21 -0
- package/dist/agent/agent-manager-v2.d.ts.map +1 -1
- package/dist/agent/agent-manager-v2.js +308 -54
- package/dist/agent/agent-manager-v2.js.map +1 -1
- package/dist/agent/agent-manager.d.ts +12 -0
- package/dist/agent/agent-manager.d.ts.map +1 -1
- package/dist/agent/agent-manager.js.map +1 -1
- package/dist/agent/agent-store.d.ts +10 -0
- package/dist/agent/agent-store.d.ts.map +1 -1
- package/dist/agent/agent-store.js +22 -0
- package/dist/agent/agent-store.js.map +1 -1
- package/dist/agent/types.d.ts +15 -2
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/boot-v2.d.ts +129 -1
- package/dist/boot-v2.d.ts.map +1 -1
- package/dist/boot-v2.js +359 -8
- package/dist/boot-v2.js.map +1 -1
- package/dist/cli/acp.js +4 -0
- package/dist/cli/acp.js.map +1 -1
- package/dist/cli/index.js +56 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cognitive/macro-agent-backend.d.ts.map +1 -1
- package/dist/cognitive/macro-agent-backend.js +40 -22
- package/dist/cognitive/macro-agent-backend.js.map +1 -1
- package/dist/integrations/skilltree.d.ts.map +1 -1
- package/dist/integrations/skilltree.js +1 -0
- package/dist/integrations/skilltree.js.map +1 -1
- package/dist/lifecycle/cascade.d.ts +25 -2
- package/dist/lifecycle/cascade.d.ts.map +1 -1
- package/dist/lifecycle/cascade.js +70 -2
- package/dist/lifecycle/cascade.js.map +1 -1
- package/dist/lifecycle/cleanup.d.ts +33 -2
- package/dist/lifecycle/cleanup.d.ts.map +1 -1
- package/dist/lifecycle/cleanup.js +28 -6
- package/dist/lifecycle/cleanup.js.map +1 -1
- package/dist/lifecycle/handlers-v2.d.ts +7 -0
- package/dist/lifecycle/handlers-v2.d.ts.map +1 -1
- package/dist/lifecycle/handlers-v2.js +28 -2
- package/dist/lifecycle/handlers-v2.js.map +1 -1
- package/dist/lifecycle/types.d.ts +11 -0
- package/dist/lifecycle/types.d.ts.map +1 -1
- package/dist/lifecycle/types.js.map +1 -1
- package/dist/map/acp-bridge.d.ts +9 -0
- package/dist/map/acp-bridge.d.ts.map +1 -1
- package/dist/map/acp-bridge.js +15 -2
- package/dist/map/acp-bridge.js.map +1 -1
- package/dist/map/cascade-action-handler.d.ts +24 -0
- package/dist/map/cascade-action-handler.d.ts.map +1 -0
- package/dist/map/cascade-action-handler.js +170 -0
- package/dist/map/cascade-action-handler.js.map +1 -0
- package/dist/map/cascade-bridge.d.ts +44 -0
- package/dist/map/cascade-bridge.d.ts.map +1 -0
- package/dist/map/cascade-bridge.js +294 -0
- package/dist/map/cascade-bridge.js.map +1 -0
- package/dist/map/coordination-handler.d.ts.map +1 -1
- package/dist/map/coordination-handler.js +12 -1
- package/dist/map/coordination-handler.js.map +1 -1
- package/dist/map/lifecycle-bridge.d.ts +1 -1
- package/dist/map/lifecycle-bridge.d.ts.map +1 -1
- package/dist/map/lifecycle-bridge.js +58 -23
- package/dist/map/lifecycle-bridge.js.map +1 -1
- package/dist/map/server.d.ts.map +1 -1
- package/dist/map/server.js +219 -7
- package/dist/map/server.js.map +1 -1
- package/dist/map/sidecar.d.ts.map +1 -1
- package/dist/map/sidecar.js +49 -2
- package/dist/map/sidecar.js.map +1 -1
- package/dist/map/types.d.ts +22 -0
- package/dist/map/types.d.ts.map +1 -1
- package/dist/mcp/tools/done-v2.d.ts.map +1 -1
- package/dist/mcp/tools/done-v2.js +8 -0
- package/dist/mcp/tools/done-v2.js.map +1 -1
- package/dist/teams/team-manager-v2.d.ts.map +1 -1
- package/dist/teams/team-manager-v2.js +26 -0
- package/dist/teams/team-manager-v2.js.map +1 -1
- package/dist/teams/team-runtime-v2.d.ts.map +1 -1
- package/dist/teams/team-runtime-v2.js +16 -3
- package/dist/teams/team-runtime-v2.js.map +1 -1
- package/dist/workspace/config.d.ts +10 -10
- package/dist/workspace/config.d.ts.map +1 -1
- package/dist/workspace/config.js +4 -4
- package/dist/workspace/config.js.map +1 -1
- package/dist/workspace/git-cascade-adapter.d.ts +510 -0
- package/dist/workspace/git-cascade-adapter.d.ts.map +1 -0
- package/dist/workspace/git-cascade-adapter.js +934 -0
- package/dist/workspace/git-cascade-adapter.js.map +1 -0
- package/dist/workspace/index.d.ts +3 -3
- package/dist/workspace/index.d.ts.map +1 -1
- package/dist/workspace/index.js +4 -4
- package/dist/workspace/index.js.map +1 -1
- package/dist/workspace/landing/direct-push.d.ts +20 -0
- package/dist/workspace/landing/direct-push.d.ts.map +1 -0
- package/dist/workspace/landing/direct-push.js +74 -0
- package/dist/workspace/landing/direct-push.js.map +1 -0
- package/dist/workspace/landing/index.d.ts +29 -0
- package/dist/workspace/landing/index.d.ts.map +1 -0
- package/dist/workspace/landing/index.js +37 -0
- package/dist/workspace/landing/index.js.map +1 -0
- package/dist/workspace/landing/merge-to-parent.d.ts +41 -0
- package/dist/workspace/landing/merge-to-parent.d.ts.map +1 -0
- package/dist/workspace/landing/merge-to-parent.js +186 -0
- package/dist/workspace/landing/merge-to-parent.js.map +1 -0
- package/dist/workspace/landing/optimistic-push.d.ts +16 -0
- package/dist/workspace/landing/optimistic-push.d.ts.map +1 -0
- package/dist/workspace/landing/optimistic-push.js +27 -0
- package/dist/workspace/landing/optimistic-push.js.map +1 -0
- package/dist/workspace/landing/queue-to-branch.d.ts +24 -0
- package/dist/workspace/landing/queue-to-branch.d.ts.map +1 -0
- package/dist/workspace/landing/queue-to-branch.js +79 -0
- package/dist/workspace/landing/queue-to-branch.js.map +1 -0
- package/dist/workspace/merge-queue/merge-queue.d.ts +10 -0
- package/dist/workspace/merge-queue/merge-queue.d.ts.map +1 -1
- package/dist/workspace/merge-queue/merge-queue.js +10 -0
- package/dist/workspace/merge-queue/merge-queue.js.map +1 -1
- package/dist/workspace/merge-queue/types.d.ts +16 -2
- package/dist/workspace/merge-queue/types.d.ts.map +1 -1
- package/dist/workspace/merge-queue/types.js +9 -0
- package/dist/workspace/merge-queue/types.js.map +1 -1
- package/dist/workspace/pool/types.d.ts +1 -0
- package/dist/workspace/pool/types.d.ts.map +1 -1
- package/dist/workspace/pool/worktree-pool.d.ts.map +1 -1
- package/dist/workspace/pool/worktree-pool.js +1 -0
- package/dist/workspace/pool/worktree-pool.js.map +1 -1
- package/dist/workspace/recovery/abandon.d.ts +15 -0
- package/dist/workspace/recovery/abandon.d.ts.map +1 -0
- package/dist/workspace/recovery/abandon.js +45 -0
- package/dist/workspace/recovery/abandon.js.map +1 -0
- package/dist/workspace/recovery/auto-resolve.d.ts +27 -0
- package/dist/workspace/recovery/auto-resolve.d.ts.map +1 -0
- package/dist/workspace/recovery/auto-resolve.js +99 -0
- package/dist/workspace/recovery/auto-resolve.js.map +1 -0
- package/dist/workspace/recovery/defer.d.ts +15 -0
- package/dist/workspace/recovery/defer.d.ts.map +1 -0
- package/dist/workspace/recovery/defer.js +16 -0
- package/dist/workspace/recovery/defer.js.map +1 -0
- package/dist/workspace/recovery/escalate.d.ts +16 -0
- package/dist/workspace/recovery/escalate.d.ts.map +1 -0
- package/dist/workspace/recovery/escalate.js +24 -0
- package/dist/workspace/recovery/escalate.js.map +1 -0
- package/dist/workspace/recovery/index.d.ts +32 -0
- package/dist/workspace/recovery/index.d.ts.map +1 -0
- package/dist/workspace/recovery/index.js +45 -0
- package/dist/workspace/recovery/index.js.map +1 -0
- package/dist/workspace/recovery/spawn-resolver.d.ts +45 -0
- package/dist/workspace/recovery/spawn-resolver.d.ts.map +1 -0
- package/dist/workspace/recovery/spawn-resolver.js +118 -0
- package/dist/workspace/recovery/spawn-resolver.js.map +1 -0
- package/dist/workspace/recovery/types.d.ts +63 -0
- package/dist/workspace/recovery/types.d.ts.map +1 -0
- package/dist/workspace/recovery/types.js +12 -0
- package/dist/workspace/recovery/types.js.map +1 -0
- package/dist/workspace/topology/index.d.ts +9 -0
- package/dist/workspace/topology/index.d.ts.map +1 -0
- package/dist/workspace/topology/index.js +8 -0
- package/dist/workspace/topology/index.js.map +1 -0
- package/dist/workspace/topology/no-workspace.d.ts +18 -0
- package/dist/workspace/topology/no-workspace.d.ts.map +1 -0
- package/dist/workspace/topology/no-workspace.js +25 -0
- package/dist/workspace/topology/no-workspace.js.map +1 -0
- package/dist/workspace/topology/types.d.ts +97 -0
- package/dist/workspace/topology/types.d.ts.map +1 -0
- package/dist/workspace/topology/types.js +20 -0
- package/dist/workspace/topology/types.js.map +1 -0
- package/dist/workspace/topology/yaml-driven.d.ts +69 -0
- package/dist/workspace/topology/yaml-driven.d.ts.map +1 -0
- package/dist/workspace/topology/yaml-driven.js +273 -0
- package/dist/workspace/topology/yaml-driven.js.map +1 -0
- package/dist/workspace/types-v3.d.ts +117 -0
- package/dist/workspace/types-v3.d.ts.map +1 -0
- package/dist/workspace/types-v3.js +20 -0
- package/dist/workspace/types-v3.js.map +1 -0
- package/dist/workspace/types.d.ts +162 -17
- package/dist/workspace/types.d.ts.map +1 -1
- package/dist/workspace/workspace-manager.d.ts +101 -13
- package/dist/workspace/workspace-manager.d.ts.map +1 -1
- package/dist/workspace/workspace-manager.js +416 -13
- package/dist/workspace/workspace-manager.js.map +1 -1
- package/dist/workspace/yaml-schema.d.ts +254 -0
- package/dist/workspace/yaml-schema.d.ts.map +1 -0
- package/dist/workspace/yaml-schema.js +170 -0
- package/dist/workspace/yaml-schema.js.map +1 -0
- package/docs/conflict-recovery.md +472 -0
- package/docs/design/task-dispatcher.md +880 -0
- package/docs/git-cascade-integration-gaps.md +678 -0
- package/docs/workspace-interfaces.md +731 -0
- package/docs/workspace-redesign-plan.md +302 -0
- package/package.json +6 -5
- package/src/__tests__/boot-v2.test.ts +435 -0
- package/src/__tests__/e2e/acp-over-map.e2e.test.ts +92 -0
- package/src/__tests__/e2e/auto-sync.e2e.test.ts +257 -0
- package/src/__tests__/e2e/bootstrap.e2e.test.ts +319 -0
- package/src/__tests__/e2e/cascade-rebase.e2e.test.ts +254 -0
- package/src/__tests__/e2e/cli-run.e2e.test.ts +167 -0
- package/src/__tests__/e2e/dispatch-coordination.e2e.test.ts +495 -0
- package/src/__tests__/e2e/dispatch-live.e2e.test.ts +564 -0
- package/src/__tests__/e2e/dispatch-opentasks.e2e.test.ts +496 -0
- package/src/__tests__/e2e/dispatch-phase2-live.e2e.test.ts +456 -0
- package/src/__tests__/e2e/dispatch-phase2.e2e.test.ts +386 -0
- package/src/__tests__/e2e/dispatch.e2e.test.ts +376 -0
- package/src/__tests__/e2e/self-driving-v3.e2e.test.ts +197 -0
- package/src/__tests__/e2e/spawn-resolver.e2e.test.ts +200 -0
- package/src/__tests__/e2e/workspace-lifecycle.e2e.test.ts +30 -22
- package/src/__tests__/e2e/workspace-v3.e2e.test.ts +413 -0
- package/src/acp/__tests__/claude-code-replay.test.ts +225 -0
- package/src/acp/__tests__/macro-agent.test.ts +39 -1
- package/src/acp/claude-code-replay.ts +208 -0
- package/src/acp/macro-agent.ts +203 -10
- package/src/acp/types.ts +10 -0
- package/src/adapters/__tests__/tasks-adapter.test.ts +1 -0
- package/src/adapters/tasks-adapter.ts +3 -0
- package/src/adapters/types.ts +1 -0
- package/src/agent/__tests__/agent-manager-topology.test.ts +73 -0
- package/src/agent/__tests__/agent-manager-v2.test.ts +66 -0
- package/src/agent/__tests__/agent-store.test.ts +52 -0
- package/src/agent/__tests__/task-ref-resolution.test.ts +231 -0
- package/src/agent/agent-manager-v2.ts +372 -59
- package/src/agent/agent-manager.ts +14 -0
- package/src/agent/agent-store.ts +24 -0
- package/src/agent/types.ts +16 -2
- package/src/boot-v2.ts +589 -35
- package/src/cli/acp.ts +4 -0
- package/src/cli/index.ts +61 -0
- package/src/cognitive/macro-agent-backend.ts +45 -29
- package/src/integrations/skilltree.ts +1 -0
- package/src/lifecycle/__tests__/cascade-consolidation.test.ts +240 -0
- package/src/lifecycle/cascade.ts +77 -2
- package/src/lifecycle/cleanup.ts +52 -3
- package/src/lifecycle/handlers-v2.ts +40 -3
- package/src/lifecycle/types.ts +12 -0
- package/src/map/__tests__/cascade-bridge.test.ts +229 -0
- package/src/map/__tests__/emit-event.test.ts +71 -0
- package/src/map/__tests__/lifecycle-bridge.test.ts +86 -10
- package/src/map/acp-bridge.ts +26 -3
- package/src/map/cascade-action-handler.ts +205 -0
- package/src/map/cascade-bridge.ts +339 -0
- package/src/map/coordination-handler.ts +13 -1
- package/src/map/lifecycle-bridge.ts +52 -17
- package/src/map/server.ts +225 -7
- package/src/map/sidecar.ts +48 -1
- package/src/map/types.ts +23 -0
- package/src/mcp/tools/done-v2.ts +9 -0
- package/src/teams/team-manager-v2.ts +37 -0
- package/src/teams/team-runtime-v2.ts +23 -3
- package/src/workspace/__tests__/{dataplane-adapter.test.ts → git-cascade-adapter.test.ts} +209 -14
- package/src/workspace/__tests__/land-dispatch.test.ts +214 -0
- package/src/workspace/__tests__/self-driving-yaml.test.ts +114 -0
- package/src/workspace/__tests__/shared-worktree-refcount.test.ts +154 -0
- package/src/workspace/__tests__/standalone-mode.test.ts +118 -0
- package/src/workspace/__tests__/workspace-manager-v3.test.ts +245 -0
- package/src/workspace/__tests__/yaml-schema.test.ts +210 -0
- package/src/workspace/config.ts +11 -11
- package/src/workspace/git-cascade-adapter.ts +1213 -0
- package/src/workspace/index.ts +11 -11
- package/src/workspace/landing/__tests__/strategies.test.ts +184 -0
- package/src/workspace/landing/direct-push.ts +91 -0
- package/src/workspace/landing/index.ts +40 -0
- package/src/workspace/landing/merge-to-parent.ts +229 -0
- package/src/workspace/landing/optimistic-push.ts +36 -0
- package/src/workspace/landing/queue-to-branch.ts +108 -0
- package/src/workspace/merge-queue/merge-queue.ts +10 -0
- package/src/workspace/merge-queue/types.ts +16 -2
- package/src/workspace/pool/__tests__/worktree-pool.integration.test.ts +5 -5
- package/src/workspace/pool/types.ts +1 -0
- package/src/workspace/pool/worktree-pool.ts +1 -0
- package/src/workspace/recovery/__tests__/auto-resolve-integration.test.ts +127 -0
- package/src/workspace/recovery/__tests__/spawn-resolver.test.ts +139 -0
- package/src/workspace/recovery/__tests__/strategies.test.ts +145 -0
- package/src/workspace/recovery/abandon.ts +51 -0
- package/src/workspace/recovery/auto-resolve.ts +119 -0
- package/src/workspace/recovery/defer.ts +23 -0
- package/src/workspace/recovery/escalate.ts +30 -0
- package/src/workspace/recovery/index.ts +58 -0
- package/src/workspace/recovery/spawn-resolver.ts +152 -0
- package/src/workspace/recovery/types.ts +54 -0
- package/src/workspace/topology/__tests__/yaml-driven.test.ts +345 -0
- package/src/workspace/topology/index.ts +18 -0
- package/src/workspace/topology/no-workspace.ts +39 -0
- package/src/workspace/topology/types.ts +116 -0
- package/src/workspace/topology/yaml-driven.ts +316 -0
- package/src/workspace/types-v3.ts +162 -0
- package/src/workspace/types.ts +211 -20
- package/src/workspace/workspace-manager.ts +533 -19
- package/src/workspace/yaml-schema.ts +216 -0
- package/dist/workspace/dataplane-adapter.d.ts +0 -260
- package/dist/workspace/dataplane-adapter.d.ts.map +0 -1
- package/dist/workspace/dataplane-adapter.js +0 -416
- package/dist/workspace/dataplane-adapter.js.map +0 -1
- package/src/workspace/dataplane-adapter.ts +0 -546
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/tasks-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,YAAY,IAAI,aAAa,EAC7B,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAMpB,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD,qBAAa,mBAAoB,YAAW,aAAa;IACvD,OAAO,CAAC,MAAM,CAAoC;IAClD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,GAAE,kBAAuB;IAI3C,IAAI,SAAS,IAAI,OAAO,CAEvB;IAIK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAe9B,UAAU,IAAI,IAAI;IAUZ,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"tasks-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/tasks-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,YAAY,IAAI,aAAa,EAC7B,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAMpB,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAMD,qBAAa,mBAAoB,YAAW,aAAa;IACvD,OAAO,CAAC,MAAM,CAAoC;IAClD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,UAAU,CAAS;gBAEf,MAAM,GAAE,kBAAuB;IAI3C,IAAI,SAAS,IAAI,OAAO,CAEvB;IAIK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAe9B,UAAU,IAAI,IAAI;IAUZ,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBpD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1D,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IASjE,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAW5C,UAAU,CACd,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACzC,OAAO,CAAC,UAAU,EAAE,CAAC;IAelB,SAAS,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAoB3D,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS5D,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/D,SAAS,CACb,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAC3B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IA4BvB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa1C,aAAa,CACjB,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3C,OAAO,CAAC,UAAU,EAAE,CAAC;IAMxB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,gBAAgB;CAgBzB"}
|
|
@@ -58,6 +58,7 @@ export class DefaultTasksAdapter {
|
|
|
58
58
|
parent_id: opts.parent,
|
|
59
59
|
tags: opts.tags,
|
|
60
60
|
priority: opts.priority,
|
|
61
|
+
metadata: opts.metadata,
|
|
61
62
|
});
|
|
62
63
|
return node?.id ?? "";
|
|
63
64
|
}
|
|
@@ -89,6 +90,7 @@ export class DefaultTasksAdapter {
|
|
|
89
90
|
limit: opts?.limit,
|
|
90
91
|
tags: opts?.tags,
|
|
91
92
|
},
|
|
93
|
+
verbose: true,
|
|
92
94
|
});
|
|
93
95
|
return (result.items ?? []).map((n) => this.nodeToTaskRecord(n));
|
|
94
96
|
}
|
|
@@ -102,6 +104,7 @@ export class DefaultTasksAdapter {
|
|
|
102
104
|
tags: filter?.tags,
|
|
103
105
|
limit: filter?.limit,
|
|
104
106
|
},
|
|
107
|
+
verbose: true,
|
|
105
108
|
});
|
|
106
109
|
return (result.items ?? []).map((n) => this.nodeToTaskRecord(n));
|
|
107
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks-adapter.js","sourceRoot":"","sources":["../../src/adapters/tasks-adapter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tasks-adapter.js","sourceRoot":"","sources":["../../src/adapters/tasks-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/adapters/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { type PermissionMode } from "acp-factory";
|
|
11
11
|
import { AgentStore } from "./agent-store.js";
|
|
12
|
+
import type { SpawnAgentOptions } from "./types.js";
|
|
12
13
|
import type { RoleRegistry } from "../roles/types.js";
|
|
13
14
|
import type { WorkspaceManager } from "../workspace/types.js";
|
|
14
15
|
import { AgentTokenManager } from "../auth/token.js";
|
|
@@ -32,6 +33,26 @@ export interface AgentManagerV2Config {
|
|
|
32
33
|
serverToken?: string;
|
|
33
34
|
/** Control socket path for MCP subprocess lifecycle RPC */
|
|
34
35
|
controlSocketPath?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Default opentasks resource ID hosted on the OpenHive hub. When set,
|
|
38
|
+
* spawn paths build `taskRef = { resource_id: <this>, node_id: task_id }`
|
|
39
|
+
* automatically from `SpawnAgentOptions.task_id` (for any spawn where
|
|
40
|
+
* `resolveTaskRef` returned undefined AND the caller didn't supply an
|
|
41
|
+
* explicit `taskRef`).
|
|
42
|
+
*
|
|
43
|
+
* Operators set this once at swarm registration for the common
|
|
44
|
+
* single-graph case. Multi-graph deployments should use `resolveTaskRef`
|
|
45
|
+
* instead.
|
|
46
|
+
*/
|
|
47
|
+
taskResourceId?: string;
|
|
48
|
+
/**
|
|
49
|
+
* Multi-graph resolver. Called at every spawn; return a `TaskRef` to set
|
|
50
|
+
* the binding or `undefined` to fall through to the `taskResourceId`
|
|
51
|
+
* default. Explicit `SpawnAgentOptions.taskRef` always wins over both.
|
|
52
|
+
*
|
|
53
|
+
* Keep cheap — runs per-spawn.
|
|
54
|
+
*/
|
|
55
|
+
resolveTaskRef?: (spawnOptions: SpawnAgentOptions) => import("git-cascade/events").TaskRef | undefined;
|
|
35
56
|
}
|
|
36
57
|
export declare function createAgentManagerV2(agentStore: AgentStore, inboxAdapter: InboxAdapter, tasksAdapter: TasksAdapter, config?: AgentManagerV2Config): AgentManager;
|
|
37
58
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-manager-v2.d.ts","sourceRoot":"","sources":["../../src/agent/agent-manager-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,UAAU,EAGX,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-manager-v2.d.ts","sourceRoot":"","sources":["../../src/agent/agent-manager-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,UAAU,EAGX,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,KAAK,EACV,iBAAiB,EAelB,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,mBAAmB,CAAC;AAIlE,OAAO,KAAK,EAAE,gBAAgB,EAAa,MAAM,uBAAuB,CAAC;AAMzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,oBAAoB,CAAC;AAkCzE,oEAAoE;AACpE,UAAU,kBAAkB;IAC1B,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,oBAAoB;IACnC,qBAAqB,CAAC,EAAE,cAAc,CAAC;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,CACf,YAAY,EAAE,iBAAiB,KAC5B,OAAO,oBAAoB,EAAE,OAAO,GAAG,SAAS,CAAC;CACvD;AAMD,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,MAAM,GAAE,oBAAyB,GAChC,YAAY,CAukDd"}
|
|
@@ -44,7 +44,7 @@ function generateName() {
|
|
|
44
44
|
// Factory
|
|
45
45
|
// ─────────────────────────────────────────────────────────────────
|
|
46
46
|
export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, config = {}) {
|
|
47
|
-
const { defaultPermissionMode = "auto-approve", defaultAgentType = "claude-code", defaultCwd = process.cwd(), workspaceManager, roleRegistry = new DefaultRoleRegistry(), healthCheckService, serverUrl, serverToken, agentTokenManager, controlSocketPath, } = config;
|
|
47
|
+
const { defaultPermissionMode = "auto-approve", defaultAgentType = "claude-code", defaultCwd = process.cwd(), workspaceManager, roleRegistry = new DefaultRoleRegistry(), healthCheckService, serverUrl, serverToken, agentTokenManager, controlSocketPath, taskResourceId, resolveTaskRef, } = config;
|
|
48
48
|
// In-memory state
|
|
49
49
|
const activeSessions = new Map();
|
|
50
50
|
const agentWorkspaces = new Map();
|
|
@@ -60,6 +60,9 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
|
|
|
60
60
|
const skillLoadouts = new Map();
|
|
61
61
|
// MAP sidecar reference for trajectory reporting (set via setSidecar)
|
|
62
62
|
let sidecarRef = null;
|
|
63
|
+
// TopologyPolicy for workspace allocation (Phase 3+); set via setTopologyPolicy.
|
|
64
|
+
// When null, createWorkspaceForRole falls back to legacy role-name dispatch.
|
|
65
|
+
let topologyPolicy = null;
|
|
63
66
|
// ── Helpers ──────────────────────────────────────────────────
|
|
64
67
|
function notifyLifecycle(event) {
|
|
65
68
|
for (const listener of lifecycleListeners) {
|
|
@@ -134,49 +137,170 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
|
|
|
134
137
|
};
|
|
135
138
|
}
|
|
136
139
|
// ── Workspace Helper ─────────────────────────────────────────
|
|
140
|
+
/**
|
|
141
|
+
* Execute a TopologyPolicy decision against the WorkspaceManager.
|
|
142
|
+
*
|
|
143
|
+
* Translates declarative `WorkspaceDecision` into concrete workspace
|
|
144
|
+
* allocations. Returns a `Workspace` compatible with the legacy shape
|
|
145
|
+
* so the rest of AgentManagerV2 doesn't need to change.
|
|
146
|
+
*/
|
|
147
|
+
async function executeWorkspaceDecision(agentId, decision, role, spawnOptions) {
|
|
148
|
+
if (!workspaceManager)
|
|
149
|
+
return undefined;
|
|
150
|
+
switch (decision.kind) {
|
|
151
|
+
case 'none':
|
|
152
|
+
case 'share-parent-cwd':
|
|
153
|
+
return undefined;
|
|
154
|
+
case 'share-with-agent': {
|
|
155
|
+
const worktree = workspaceManager.allocateWorktree({
|
|
156
|
+
agentId,
|
|
157
|
+
sharedWithAgent: decision.agentId,
|
|
158
|
+
});
|
|
159
|
+
return {
|
|
160
|
+
agentId,
|
|
161
|
+
path: worktree.path,
|
|
162
|
+
branch: worktree.currentStream
|
|
163
|
+
? `stream/${worktree.currentStream}`
|
|
164
|
+
: 'unknown',
|
|
165
|
+
streamId: worktree.currentStream ?? '',
|
|
166
|
+
role: 'v3', // V3 path — bypass legacy worker task/merge-queue flows
|
|
167
|
+
createdAt: worktree.createdAt,
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
case 'attach-to-stream': {
|
|
171
|
+
// Record even if no worktree — the topology needs the stream↔role
|
|
172
|
+
// mapping for event-driven features like on_parent_advanced.
|
|
173
|
+
const attachPolicy = topologyPolicy;
|
|
174
|
+
attachPolicy.recordAgentStream?.(agentId, decision.streamId, role);
|
|
175
|
+
if (!decision.allocateWorktree) {
|
|
176
|
+
return undefined;
|
|
177
|
+
}
|
|
178
|
+
const worktree = workspaceManager.allocateWorktree({
|
|
179
|
+
agentId,
|
|
180
|
+
streamId: decision.streamId,
|
|
181
|
+
});
|
|
182
|
+
return {
|
|
183
|
+
agentId,
|
|
184
|
+
path: worktree.path,
|
|
185
|
+
branch: `stream/${decision.streamId}`,
|
|
186
|
+
streamId: decision.streamId,
|
|
187
|
+
role: 'v3', // V3 path — attach-to-team-root
|
|
188
|
+
createdAt: worktree.createdAt,
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
case 'new-stream': {
|
|
192
|
+
// If the spawning agent has a taskRef and the streamSpec doesn't
|
|
193
|
+
// already carry one, weave it into metadata so the resulting stream
|
|
194
|
+
// binds to the OpenTasks node. Explicit streamSpec.metadata.task_ref
|
|
195
|
+
// wins.
|
|
196
|
+
const taskRef = spawnOptions?.taskRef;
|
|
197
|
+
const existingMeta = decision.streamSpec.metadata;
|
|
198
|
+
const streamSpec = taskRef && !existingMeta?.task_ref
|
|
199
|
+
? {
|
|
200
|
+
...decision.streamSpec,
|
|
201
|
+
metadata: { ...(existingMeta ?? {}), task_ref: taskRef },
|
|
202
|
+
}
|
|
203
|
+
: decision.streamSpec;
|
|
204
|
+
const streamId = workspaceManager.createStreamV3(streamSpec);
|
|
205
|
+
// Record the mapping in the topology if it supports it (for share-with lookup).
|
|
206
|
+
const policy = topologyPolicy;
|
|
207
|
+
policy.recordAgentStream?.(agentId, streamId, role);
|
|
208
|
+
if (!decision.allocateWorktree) {
|
|
209
|
+
return undefined;
|
|
210
|
+
}
|
|
211
|
+
const worktree = workspaceManager.allocateWorktree({
|
|
212
|
+
agentId,
|
|
213
|
+
streamId,
|
|
214
|
+
});
|
|
215
|
+
return {
|
|
216
|
+
agentId,
|
|
217
|
+
path: worktree.path,
|
|
218
|
+
branch: `stream/${streamId}`,
|
|
219
|
+
streamId,
|
|
220
|
+
role: 'v3', // V3 path — new-stream
|
|
221
|
+
createdAt: worktree.createdAt,
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
137
226
|
async function createWorkspaceForRole(agentId, role, options) {
|
|
138
227
|
if (!workspaceManager)
|
|
139
228
|
return undefined;
|
|
229
|
+
// V3 path — TopologyPolicy-driven. Set by boot-v2 when team YAML has
|
|
230
|
+
// `macro_agent.workspace`. When set, this takes precedence over the legacy
|
|
231
|
+
// capability/role-name dispatch below.
|
|
232
|
+
if (topologyPolicy) {
|
|
233
|
+
const decision = await topologyPolicy.onAgentSpawn({
|
|
234
|
+
agentId,
|
|
235
|
+
role,
|
|
236
|
+
parentAgentId: options.parent ?? undefined,
|
|
237
|
+
parentStreamId: options.streamId,
|
|
238
|
+
teamStreamId: (() => {
|
|
239
|
+
const stream = topologyPolicy.getAgentStream?.(agentId);
|
|
240
|
+
return stream ?? undefined;
|
|
241
|
+
})(),
|
|
242
|
+
workspaceManager,
|
|
243
|
+
getAgentByRole: (r) => {
|
|
244
|
+
for (const [aid, ws] of agentWorkspaces) {
|
|
245
|
+
const rec = agentStore.getAgent(aid);
|
|
246
|
+
if (rec?.role === r)
|
|
247
|
+
return aid;
|
|
248
|
+
}
|
|
249
|
+
return null;
|
|
250
|
+
},
|
|
251
|
+
});
|
|
252
|
+
return executeWorkspaceDecision(agentId, decision, role, options);
|
|
253
|
+
}
|
|
254
|
+
// Capability-based dispatch for programmatic callers that don't use
|
|
255
|
+
// team YAML. This is the supported path for libraries that construct
|
|
256
|
+
// WorkspaceManager + GitCascadeAdapter directly and spawn agents with
|
|
257
|
+
// explicit `capabilities` + `streamId` arguments. It coexists with the
|
|
258
|
+
// V3 topology path above.
|
|
259
|
+
return capabilityBasedDispatch(agentId, options, workspaceManager);
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Capability-based workspace allocation for programmatic callers.
|
|
263
|
+
*
|
|
264
|
+
* Matches on `workspace.stream` / `workspace.integrate` / `workspace.worktree`
|
|
265
|
+
* capabilities + corresponding streamId/streamConfig args. Delegates to the
|
|
266
|
+
* role-shaped WorkspaceManager methods (createWorkerWorkspace,
|
|
267
|
+
* createIntegratorWorkspace, createCoordinatorWorkspace).
|
|
268
|
+
*
|
|
269
|
+
* Not used by team-YAML-driven teams — those go through TopologyPolicy above.
|
|
270
|
+
*/
|
|
271
|
+
async function capabilityBasedDispatch(agentId, options, ws) {
|
|
140
272
|
const capabilities = options.capabilities ?? [];
|
|
141
273
|
const streamId = options.streamId;
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
//
|
|
274
|
+
// Merge taskRef (if set at spawn time) into streamConfig.metadata so that
|
|
275
|
+
// adapter.createStream → x-cascade/stream.opened carries the binding to
|
|
276
|
+
// OpenTasks. Explicit streamConfig.metadata.task_ref wins if already set.
|
|
277
|
+
const streamConfig = options.streamConfig
|
|
278
|
+
? options.taskRef &&
|
|
279
|
+
!(options.streamConfig.metadata &&
|
|
280
|
+
options.streamConfig.metadata.task_ref)
|
|
281
|
+
? {
|
|
282
|
+
...options.streamConfig,
|
|
283
|
+
metadata: {
|
|
284
|
+
...(options.streamConfig.metadata ?? {}),
|
|
285
|
+
task_ref: options.taskRef,
|
|
286
|
+
},
|
|
287
|
+
}
|
|
288
|
+
: options.streamConfig
|
|
289
|
+
: undefined;
|
|
290
|
+
const gitCascadeTaskId = options.gitCascadeTaskId;
|
|
145
291
|
if (capabilities.includes("workspace.stream") && streamConfig) {
|
|
146
|
-
const newStreamId =
|
|
147
|
-
return
|
|
292
|
+
const newStreamId = ws.createIntegrationStream(agentId, streamConfig);
|
|
293
|
+
return ws.createCoordinatorWorkspace(agentId, newStreamId);
|
|
148
294
|
}
|
|
149
295
|
if (capabilities.includes("workspace.integrate") && streamId) {
|
|
150
|
-
return
|
|
296
|
+
return ws.createIntegratorWorkspace(agentId, streamId);
|
|
151
297
|
}
|
|
152
298
|
if (capabilities.includes("workspace.worktree") && streamId) {
|
|
153
|
-
const taskId =
|
|
154
|
-
return
|
|
155
|
-
}
|
|
156
|
-
// Role-name fallback
|
|
157
|
-
switch (role) {
|
|
158
|
-
case "coordinator":
|
|
159
|
-
if (streamConfig) {
|
|
160
|
-
const sid = workspaceManager.createIntegrationStream(agentId, streamConfig);
|
|
161
|
-
return workspaceManager.createCoordinatorWorkspace(agentId, sid);
|
|
162
|
-
}
|
|
163
|
-
return undefined;
|
|
164
|
-
case "integrator":
|
|
165
|
-
if (streamId) {
|
|
166
|
-
return workspaceManager.createIntegratorWorkspace(agentId, streamId);
|
|
167
|
-
}
|
|
168
|
-
return undefined;
|
|
169
|
-
case "worker":
|
|
170
|
-
case "worker.resolver": {
|
|
171
|
-
if (streamId) {
|
|
172
|
-
const tid = dataplaneTaskId ?? agentId;
|
|
173
|
-
return workspaceManager.createWorkerWorkspace(agentId, tid, streamId);
|
|
174
|
-
}
|
|
175
|
-
return undefined;
|
|
176
|
-
}
|
|
177
|
-
default:
|
|
178
|
-
return undefined;
|
|
299
|
+
const taskId = gitCascadeTaskId ?? agentId;
|
|
300
|
+
return ws.createWorkerWorkspace(agentId, taskId, streamId);
|
|
179
301
|
}
|
|
302
|
+
// No matching capability — agent inherits parent cwd (no workspace)
|
|
303
|
+
return undefined;
|
|
180
304
|
}
|
|
181
305
|
// ── Core Lifecycle ───────────────────────────────────────────
|
|
182
306
|
async function spawn(rawOptions) {
|
|
@@ -184,9 +308,36 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
|
|
|
184
308
|
throw new AgentManagerError("Cannot spawn agent during shutdown", "SHUTDOWN_IN_PROGRESS");
|
|
185
309
|
}
|
|
186
310
|
// Apply spawn interceptor (set by TeamRuntime)
|
|
187
|
-
const
|
|
311
|
+
const interceptedOptions = spawnInterceptor
|
|
188
312
|
? await spawnInterceptor(rawOptions)
|
|
189
313
|
: rawOptions;
|
|
314
|
+
// Resolve taskRef with three-level precedence:
|
|
315
|
+
// 1. Explicit `options.taskRef` (caller knows exactly what graph).
|
|
316
|
+
// 2. `resolveTaskRef(opts)` (multi-graph deployments decide per spawn).
|
|
317
|
+
// 3. `taskResourceId` + `options.task_id` (single-graph default).
|
|
318
|
+
// If none resolves, spawn proceeds with no taskRef — cascade events
|
|
319
|
+
// land without a task binding (hub back-fills from first commit that
|
|
320
|
+
// carries one, if any).
|
|
321
|
+
let resolvedTaskRef = interceptedOptions.taskRef;
|
|
322
|
+
if (!resolvedTaskRef && resolveTaskRef) {
|
|
323
|
+
try {
|
|
324
|
+
resolvedTaskRef = resolveTaskRef(interceptedOptions);
|
|
325
|
+
}
|
|
326
|
+
catch (err) {
|
|
327
|
+
// Resolver failures must not block spawn. Log + fall through.
|
|
328
|
+
// eslint-disable-next-line no-console
|
|
329
|
+
console.warn("[agent-manager-v2] resolveTaskRef threw; falling back to taskResourceId default:", err instanceof Error ? err.message : err);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
if (!resolvedTaskRef && taskResourceId && interceptedOptions.task_id) {
|
|
333
|
+
resolvedTaskRef = {
|
|
334
|
+
resource_id: taskResourceId,
|
|
335
|
+
node_id: String(interceptedOptions.task_id),
|
|
336
|
+
};
|
|
337
|
+
}
|
|
338
|
+
const options = resolvedTaskRef === interceptedOptions.taskRef
|
|
339
|
+
? interceptedOptions
|
|
340
|
+
: { ...interceptedOptions, taskRef: resolvedTaskRef };
|
|
190
341
|
const { task, task_id, parent, cwd = defaultCwd, permissionMode = defaultPermissionMode, subscribeParent = true, topics = [], config: agentConfig, agentType = defaultAgentType, customPrompt, interactionPatterns, role, team_instance, capabilities, } = options;
|
|
191
342
|
// Generate IDs
|
|
192
343
|
const agentId = `agent_${nanoid(12)}`;
|
|
@@ -240,7 +391,9 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
|
|
|
240
391
|
if (interactionPatterns?.length) {
|
|
241
392
|
systemPrompt += `\n\n${interactionPatterns.join("\n\n")}`;
|
|
242
393
|
}
|
|
243
|
-
// Persist agent in store
|
|
394
|
+
// Persist agent in store. Stash taskRef in metadata so done()'s
|
|
395
|
+
// lifecycle context can read it without separate plumbing — this is the
|
|
396
|
+
// path that makes per-commit task_ref binding work end-to-end.
|
|
244
397
|
const now = Date.now();
|
|
245
398
|
const agentRecord = {
|
|
246
399
|
id: agentId,
|
|
@@ -258,7 +411,7 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
|
|
|
258
411
|
created_at: now,
|
|
259
412
|
started_at: now,
|
|
260
413
|
config: agentConfig,
|
|
261
|
-
metadata: {},
|
|
414
|
+
metadata: options.taskRef ? { task_ref: options.taskRef } : {},
|
|
262
415
|
};
|
|
263
416
|
agentStore.putAgent(agentRecord);
|
|
264
417
|
let handle;
|
|
@@ -286,11 +439,11 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
|
|
|
286
439
|
workspace = await createWorkspaceForRole(agentId, role ?? "", options);
|
|
287
440
|
if (workspace) {
|
|
288
441
|
agentWorkspaces.set(agentId, workspace);
|
|
289
|
-
// Create and claim
|
|
442
|
+
// Create and claim git-cascade task for workers
|
|
290
443
|
if (workspace.role === "worker" &&
|
|
291
444
|
workspace.streamId &&
|
|
292
445
|
workspaceManager) {
|
|
293
|
-
const dpTaskId = options.
|
|
446
|
+
const dpTaskId = options.gitCascadeTaskId ?? agentId;
|
|
294
447
|
workspaceManager.createTask(workspace.streamId, {
|
|
295
448
|
title: task ?? `Task for ${agentId}`,
|
|
296
449
|
});
|
|
@@ -404,9 +557,11 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
|
|
|
404
557
|
provider_session_id: session.id,
|
|
405
558
|
created_at: now,
|
|
406
559
|
});
|
|
407
|
-
// Update agent with provider session ID
|
|
560
|
+
// Update agent with provider session ID. Merge with existing metadata
|
|
561
|
+
// so fields set at spawn time (e.g. task_ref) aren't clobbered.
|
|
562
|
+
const existingMeta = agentStore.getAgent(agentId)?.metadata ?? {};
|
|
408
563
|
agentStore.updateAgent(agentId, {
|
|
409
|
-
metadata: { provider_session_id: session.id },
|
|
564
|
+
metadata: { ...existingMeta, provider_session_id: session.id },
|
|
410
565
|
});
|
|
411
566
|
// Register agent in inbox
|
|
412
567
|
await inboxAdapter.registerAgent(agentId, {
|
|
@@ -478,25 +633,61 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
|
|
|
478
633
|
if (healthCheckService && record.role === "coordinator") {
|
|
479
634
|
healthCheckService.stopForCoordinator(agentId);
|
|
480
635
|
}
|
|
481
|
-
//
|
|
636
|
+
// Land the worker's work if completed with a workspace.
|
|
637
|
+
//
|
|
638
|
+
// V3 path (preferred): look up the role's YAML landing strategy via
|
|
639
|
+
// TopologyPolicy.getRoleConfig and dispatch through
|
|
640
|
+
// WorkspaceManager.land(). This fires cascade events (stream.merged or
|
|
641
|
+
// queue.added) so the hub sees the work. Landing = 'none' short-circuits.
|
|
642
|
+
//
|
|
643
|
+
// Legacy fallback: if no TopologyPolicy is wired or it can't resolve a
|
|
644
|
+
// landing for this role, submit to the legacy MergeQueue as before.
|
|
645
|
+
// Keeps pre-V3 programmatic callers + tests that bypass YAML working.
|
|
482
646
|
if (workspaceManager &&
|
|
483
647
|
agentWorkspaces.has(agentId) &&
|
|
484
648
|
reason === "completed") {
|
|
485
649
|
const ws = agentWorkspaces.get(agentId);
|
|
486
650
|
if (ws.role === "worker" && ws.streamId) {
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
651
|
+
const roleConfig = topologyPolicy?.getRoleConfig?.(record.role);
|
|
652
|
+
const yamlLandingName = roleConfig?.landing;
|
|
653
|
+
const usingV3Landing = typeof yamlLandingName === "string" && yamlLandingName.length > 0;
|
|
654
|
+
if (usingV3Landing) {
|
|
655
|
+
try {
|
|
656
|
+
const taskRef = record.metadata
|
|
657
|
+
?.task_ref;
|
|
658
|
+
await workspaceManager.land({
|
|
659
|
+
agentId,
|
|
491
660
|
streamId: ws.streamId,
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
661
|
+
sourceWorktree: ws.path,
|
|
662
|
+
strategyName: yamlLandingName,
|
|
663
|
+
strategyConfig: roleConfig?.landing_config,
|
|
664
|
+
taskRef,
|
|
665
|
+
// Dispatcher overwrites this with `this`; placeholder keeps the
|
|
666
|
+
// type satisfied without a cast.
|
|
667
|
+
workspaceManager,
|
|
495
668
|
});
|
|
496
669
|
}
|
|
670
|
+
catch {
|
|
671
|
+
// Non-fatal landing failure — agent still terminates; conflicts
|
|
672
|
+
// and strategy errors surface via WorkspaceEvent emission and
|
|
673
|
+
// the strategy's own logs.
|
|
674
|
+
}
|
|
497
675
|
}
|
|
498
|
-
|
|
499
|
-
|
|
676
|
+
else {
|
|
677
|
+
try {
|
|
678
|
+
const mergeQueue = workspaceManager.getMergeQueue();
|
|
679
|
+
if (mergeQueue) {
|
|
680
|
+
mergeQueue.submit({
|
|
681
|
+
streamId: ws.streamId,
|
|
682
|
+
workerBranch: ws.branch,
|
|
683
|
+
taskId: record.task_id ?? agentId,
|
|
684
|
+
workerAgentId: agentId,
|
|
685
|
+
});
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
catch {
|
|
689
|
+
// Non-fatal merge queue submission failure
|
|
690
|
+
}
|
|
500
691
|
}
|
|
501
692
|
}
|
|
502
693
|
}
|
|
@@ -574,7 +765,9 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
|
|
|
574
765
|
.map((r) => agentRecordToAgent(r)),
|
|
575
766
|
terminate: (id, r) => terminate(id, r),
|
|
576
767
|
};
|
|
577
|
-
|
|
768
|
+
const parentTaskRef = record.metadata
|
|
769
|
+
?.task_ref;
|
|
770
|
+
await terminateWithChangeConsolidation(child.id, agentId, cascadeAdapter, wsProvider, undefined, workspaceManager ?? undefined, parentTaskRef);
|
|
578
771
|
}
|
|
579
772
|
}
|
|
580
773
|
}
|
|
@@ -647,6 +840,19 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
|
|
|
647
840
|
created_at: now,
|
|
648
841
|
});
|
|
649
842
|
const agent = agentRecordToAgent(agentStore.getAgent(agentId));
|
|
843
|
+
// Re-publish the agent to subscribers (local MAP server, hub lifecycle
|
|
844
|
+
// bridge, team auto-join listeners) so a resumed agent is a first-class
|
|
845
|
+
// registered agent — not just an in-memory handle. Without this, the hub
|
|
846
|
+
// never re-registers the agent after cold-start; ACP routing works but
|
|
847
|
+
// the hub's "Registered Agents" view stays empty and capabilities never
|
|
848
|
+
// propagate back through `map/agents/register`.
|
|
849
|
+
//
|
|
850
|
+
// Spawn semantics are correct here: the process is new, the session is
|
|
851
|
+
// (re)loaded, and subscribers treat it as a fresh registration. Paired
|
|
852
|
+
// with the `stopped` event that fired on the prior termination, this
|
|
853
|
+
// keeps the bridge's `registered` map consistent.
|
|
854
|
+
notifyLifecycle({ type: "spawned", agent });
|
|
855
|
+
notifyLifecycle({ type: "started", agent });
|
|
650
856
|
return {
|
|
651
857
|
id: agentId,
|
|
652
858
|
session_id: sessionRecord?.session_id ?? "",
|
|
@@ -821,11 +1027,17 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
|
|
|
821
1027
|
}
|
|
822
1028
|
// ── Head Manager ─────────────────────────────────────────────
|
|
823
1029
|
async function getOrCreateHeadManager(options) {
|
|
824
|
-
// Check for existing head manager
|
|
1030
|
+
// Check for an existing head manager matching this cwd that ALSO has a
|
|
1031
|
+
// live session in this process. The activeSessions check has to be inside
|
|
1032
|
+
// the predicate (not after .find) — the agentStore is persistent across
|
|
1033
|
+
// process restarts, so without this filter we'd match stale "running"
|
|
1034
|
+
// records from previous processes whose sessions are gone, then fall
|
|
1035
|
+
// through to spawn() and create a duplicate coordinator.
|
|
825
1036
|
const existing = agentStore
|
|
826
1037
|
.listAgents({ parent_id: null, state: "running" })
|
|
827
|
-
.find((a) => a.cwd === options.cwd
|
|
828
|
-
|
|
1038
|
+
.find((a) => a.cwd === options.cwd &&
|
|
1039
|
+
activeSessions.has(a.id));
|
|
1040
|
+
if (existing) {
|
|
829
1041
|
const sessionEntry = activeSessions.get(existing.id);
|
|
830
1042
|
const storedSession = agentStore.getSession(existing.id);
|
|
831
1043
|
return {
|
|
@@ -850,6 +1062,31 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
|
|
|
850
1062
|
.listAgents({ parent_id: null })
|
|
851
1063
|
.map(agentRecordToAgent);
|
|
852
1064
|
}
|
|
1065
|
+
/**
|
|
1066
|
+
* Look up the spawned-agent shape for any agent that's still alive in this
|
|
1067
|
+
* process (any role, not just coordinators). Returns null if the agent
|
|
1068
|
+
* doesn't exist, isn't running, or has no live session in `activeSessions`.
|
|
1069
|
+
*
|
|
1070
|
+
* Used by the ACP layer to bind a session to a specific agent when the MAP
|
|
1071
|
+
* stream targets one explicitly — preserving the routing intent that
|
|
1072
|
+
* cwd-based head-manager lookup would otherwise lose in multi-coordinator
|
|
1073
|
+
* scenarios.
|
|
1074
|
+
*/
|
|
1075
|
+
function getActiveAgentSession(agentId) {
|
|
1076
|
+
if (!activeSessions.has(agentId))
|
|
1077
|
+
return null;
|
|
1078
|
+
const record = agentStore.getAgent(agentId);
|
|
1079
|
+
if (!record || record.state !== "running")
|
|
1080
|
+
return null;
|
|
1081
|
+
const sessionEntry = activeSessions.get(agentId);
|
|
1082
|
+
const storedSession = agentStore.getSession(agentId);
|
|
1083
|
+
return {
|
|
1084
|
+
id: agentId,
|
|
1085
|
+
session_id: storedSession?.session_id ?? sessionEntry.session.id ?? "",
|
|
1086
|
+
agent: agentRecordToAgent(record),
|
|
1087
|
+
session: sessionEntry.session,
|
|
1088
|
+
};
|
|
1089
|
+
}
|
|
853
1090
|
// ── Session Interaction ──────────────────────────────────────
|
|
854
1091
|
async function* prompt(agentId, message) {
|
|
855
1092
|
const activeSession = activeSessions.get(agentId);
|
|
@@ -915,6 +1152,18 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
|
|
|
915
1152
|
"Please call the done() tool to signal that you have completed your work.";
|
|
916
1153
|
}
|
|
917
1154
|
}
|
|
1155
|
+
// Auto-terminate when done() was called and the handler signaled shouldTerminate.
|
|
1156
|
+
// This closes the lifecycle gap: without this, agents stay in "running" state
|
|
1157
|
+
// after calling done() because nothing triggers terminate().
|
|
1158
|
+
if (doneCalled) {
|
|
1159
|
+
const reason = doneStatus === "completed" ? "completed" : (doneStatus ?? "failed");
|
|
1160
|
+
try {
|
|
1161
|
+
await terminate(agentId, reason);
|
|
1162
|
+
}
|
|
1163
|
+
catch {
|
|
1164
|
+
// Best effort — agent may already be stopping
|
|
1165
|
+
}
|
|
1166
|
+
}
|
|
918
1167
|
return { doneCalled, doneStatus, updates: allUpdates };
|
|
919
1168
|
}
|
|
920
1169
|
function getSession(agentId) {
|
|
@@ -1006,6 +1255,9 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
|
|
|
1006
1255
|
function setSidecar(sidecar) {
|
|
1007
1256
|
sidecarRef = sidecar;
|
|
1008
1257
|
}
|
|
1258
|
+
function setTopologyPolicyFn(policy) {
|
|
1259
|
+
topologyPolicy = policy;
|
|
1260
|
+
}
|
|
1009
1261
|
function setMailServices() {
|
|
1010
1262
|
// No-op: agent-inbox handles conversation tracking
|
|
1011
1263
|
}
|
|
@@ -1043,6 +1295,7 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
|
|
|
1043
1295
|
getHierarchy,
|
|
1044
1296
|
getOrCreateHeadManager,
|
|
1045
1297
|
listHeadManagers,
|
|
1298
|
+
getActiveAgentSession,
|
|
1046
1299
|
prompt,
|
|
1047
1300
|
promptUntilDone,
|
|
1048
1301
|
getSession,
|
|
@@ -1062,6 +1315,7 @@ export function createAgentManagerV2(agentStore, inboxAdapter, tasksAdapter, con
|
|
|
1062
1315
|
setIntegrationConfigs,
|
|
1063
1316
|
setSkillLoadout,
|
|
1064
1317
|
setSidecar,
|
|
1318
|
+
setTopologyPolicy: setTopologyPolicyFn,
|
|
1065
1319
|
setMailServices,
|
|
1066
1320
|
close,
|
|
1067
1321
|
};
|