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
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cascade Bridge — forwards GitCascadeAdapter events to the MAP hub as
|
|
3
|
+
* `x-cascade/*` notifications.
|
|
4
|
+
*
|
|
5
|
+
* macro-agent's GitCascadeAdapter maintains a structured `GitCascadeEvent`
|
|
6
|
+
* stream (translated from git-cascade's native `x-cascade/*` emissions + local
|
|
7
|
+
* adapter events). This bridge subscribes to that stream and translates
|
|
8
|
+
* **back** to `x-cascade/*` MAP method calls so the OpenHive hub receives the
|
|
9
|
+
* canonical event schema.
|
|
10
|
+
*
|
|
11
|
+
* The round-trip (git-cascade → adapter translation → bridge re-translation)
|
|
12
|
+
* is deliberate: it preserves the adapter's internal abstraction (other
|
|
13
|
+
* macro-agent code consumes `GitCascadeEvent`, not raw MAP params) while
|
|
14
|
+
* guaranteeing the hub sees the same schema git-cascade defines. The bridge
|
|
15
|
+
* is the only place that knows about both shapes.
|
|
16
|
+
*
|
|
17
|
+
* Standalone-safe: when `connection.isConnected` is false, events are
|
|
18
|
+
* dropped. macro-agent continues to work without an OpenHive hub.
|
|
19
|
+
*
|
|
20
|
+
* @module map/cascade-bridge
|
|
21
|
+
*/
|
|
22
|
+
import { CASCADE_METHODS } from 'git-cascade/events';
|
|
23
|
+
// Fallback method names for events not yet present in the installed
|
|
24
|
+
// git-cascade version (`STREAM_PAUSED`, `STREAM_RESUMED`,
|
|
25
|
+
// `STREAM_ROLLED_BACK` were added after 0.0.7). When the dep is upgraded,
|
|
26
|
+
// collapse these back into `CASCADE_METHODS.*` for a single source of truth.
|
|
27
|
+
const X_CASCADE_STREAM_PAUSED = 'x-cascade/stream.paused';
|
|
28
|
+
const X_CASCADE_STREAM_RESUMED = 'x-cascade/stream.resumed';
|
|
29
|
+
const X_CASCADE_STREAM_ROLLED_BACK = 'x-cascade/stream.rolled_back';
|
|
30
|
+
/**
|
|
31
|
+
* Create a cascade bridge.
|
|
32
|
+
*
|
|
33
|
+
* Subscribes to `adapter.onEvent()` and forwards a fixed subset of events
|
|
34
|
+
* (the ones that have a canonical `x-cascade/*` method name) as MAP
|
|
35
|
+
* notifications via `connection.callExtension()`. Events with no MAP
|
|
36
|
+
* counterpart (`stream:forked`, `worktree:*`, `task:*`, `mergeQueue:*`, etc.)
|
|
37
|
+
* are silently ignored.
|
|
38
|
+
*
|
|
39
|
+
* @returns A disposable that unsubscribes from the adapter stream.
|
|
40
|
+
*/
|
|
41
|
+
export function createCascadeBridge(connection, adapter, options = {}) {
|
|
42
|
+
const verbose = options.verbose ?? false;
|
|
43
|
+
const unsubscribe = adapter.onEvent((event) => {
|
|
44
|
+
if (!connection.isConnected)
|
|
45
|
+
return;
|
|
46
|
+
const mapped = translate(event);
|
|
47
|
+
if (!mapped)
|
|
48
|
+
return;
|
|
49
|
+
// Fire-and-forget: never block the adapter's event loop on a MAP RPC.
|
|
50
|
+
// Errors are swallowed to preserve standalone-safety; they indicate the
|
|
51
|
+
// hub is unreachable or the method isn't registered, neither of which
|
|
52
|
+
// should break local cascade operations.
|
|
53
|
+
void connection
|
|
54
|
+
.callExtension(mapped.method, mapped.params)
|
|
55
|
+
.catch((err) => {
|
|
56
|
+
if (verbose) {
|
|
57
|
+
// eslint-disable-next-line no-console
|
|
58
|
+
console.warn(`[cascade-bridge] failed to forward ${event.type} as ${mapped.method}:`, err instanceof Error ? err.message : err);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
return { dispose: unsubscribe };
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Translate a `GitCascadeEvent` into a MAP method call.
|
|
66
|
+
*
|
|
67
|
+
* Covers the 7 event types that have canonical MAP method names. Returns
|
|
68
|
+
* `null` for events that are macro-agent-internal (worktree/task/mergeQueue
|
|
69
|
+
* lifecycle, local-only forks, etc.).
|
|
70
|
+
*
|
|
71
|
+
* Field names flip from camelCase (macro-agent internal) back to snake_case
|
|
72
|
+
* (MAP wire format). The bridge is intentionally conservative — it only
|
|
73
|
+
* emits fields present on the event, letting the hub back-fill/ignore as
|
|
74
|
+
* needed.
|
|
75
|
+
*/
|
|
76
|
+
function translate(event) {
|
|
77
|
+
const d = event.data;
|
|
78
|
+
switch (event.type) {
|
|
79
|
+
case 'stream:created':
|
|
80
|
+
return {
|
|
81
|
+
method: CASCADE_METHODS.STREAM_OPENED,
|
|
82
|
+
params: {
|
|
83
|
+
stream_id: d.streamId,
|
|
84
|
+
name: d.name,
|
|
85
|
+
agent_id: d.agentId,
|
|
86
|
+
base_commit: d.baseCommit,
|
|
87
|
+
parent_stream: d.parentStream,
|
|
88
|
+
branch_name: d.branchName,
|
|
89
|
+
metadata: d.metadata,
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
case 'stream:committed':
|
|
93
|
+
return {
|
|
94
|
+
method: CASCADE_METHODS.STREAM_COMMITTED,
|
|
95
|
+
params: {
|
|
96
|
+
stream_id: d.streamId,
|
|
97
|
+
commit_hash: d.commit,
|
|
98
|
+
change_id: d.changeId,
|
|
99
|
+
agent_id: d.agentId,
|
|
100
|
+
message_summary: d.messageSummary,
|
|
101
|
+
files_touched: d.filesTouched,
|
|
102
|
+
parent_commit: d.parentCommit,
|
|
103
|
+
metadata: d.metadata,
|
|
104
|
+
},
|
|
105
|
+
};
|
|
106
|
+
case 'stream:merged':
|
|
107
|
+
return {
|
|
108
|
+
method: CASCADE_METHODS.STREAM_MERGED,
|
|
109
|
+
params: {
|
|
110
|
+
source_stream_id: d.sourceStreamId,
|
|
111
|
+
target_stream_id: d.targetStreamId,
|
|
112
|
+
merge_commit: d.mergeCommit,
|
|
113
|
+
agent_id: d.agentId,
|
|
114
|
+
strategy: d.strategy,
|
|
115
|
+
source_commit: d.sourceCommit,
|
|
116
|
+
metadata: d.metadata,
|
|
117
|
+
},
|
|
118
|
+
};
|
|
119
|
+
case 'stream:conflicted':
|
|
120
|
+
return {
|
|
121
|
+
method: CASCADE_METHODS.STREAM_CONFLICTED,
|
|
122
|
+
params: {
|
|
123
|
+
stream_id: d.streamId,
|
|
124
|
+
conflict_id: d.conflictId,
|
|
125
|
+
conflicted_files: d.conflictedFiles,
|
|
126
|
+
agent_id: d.agentId,
|
|
127
|
+
conflicting_commit: d.conflictingCommit,
|
|
128
|
+
target_commit: d.targetCommit,
|
|
129
|
+
source: d.source,
|
|
130
|
+
metadata: d.metadata,
|
|
131
|
+
},
|
|
132
|
+
};
|
|
133
|
+
case 'conflict:resolved':
|
|
134
|
+
// The adapter emits this from two sources: workspace-manager's local
|
|
135
|
+
// resolveConflict path (carries resolvedBy + resolutionCommit) AND the
|
|
136
|
+
// forwarded git-cascade stream.conflict_resolved (carries the explicit
|
|
137
|
+
// resolution_method). Bridge only forwards events with conflict_id +
|
|
138
|
+
// stream_id present (the cascade-driven shape).
|
|
139
|
+
if (!d.streamId || !d.conflictId)
|
|
140
|
+
return null;
|
|
141
|
+
return {
|
|
142
|
+
method: CASCADE_METHODS.STREAM_CONFLICT_RESOLVED,
|
|
143
|
+
params: {
|
|
144
|
+
stream_id: d.streamId,
|
|
145
|
+
conflict_id: d.conflictId,
|
|
146
|
+
resolution_method: d.resolutionMethod ??
|
|
147
|
+
(d.resolvedBy ? 'agent' : 'manual'),
|
|
148
|
+
resolved_by: d.resolvedBy,
|
|
149
|
+
resolution_summary: d.resolutionSummary,
|
|
150
|
+
metadata: d.metadata,
|
|
151
|
+
},
|
|
152
|
+
};
|
|
153
|
+
case 'stream:abandoned':
|
|
154
|
+
return {
|
|
155
|
+
method: CASCADE_METHODS.STREAM_ABANDONED,
|
|
156
|
+
params: {
|
|
157
|
+
stream_id: d.streamId,
|
|
158
|
+
reason: d.reason,
|
|
159
|
+
cascade: d.cascade,
|
|
160
|
+
metadata: d.metadata,
|
|
161
|
+
},
|
|
162
|
+
};
|
|
163
|
+
case 'stream:pushed':
|
|
164
|
+
// Trunk-style push to a remote (direct-push / optimistic-push). Hub
|
|
165
|
+
// sees this as the "merged" equivalent for non-stream targets.
|
|
166
|
+
if (!d.streamId || !d.pushedCommit || !d.remoteRef)
|
|
167
|
+
return null;
|
|
168
|
+
return {
|
|
169
|
+
method: CASCADE_METHODS.STREAM_PUSHED,
|
|
170
|
+
params: {
|
|
171
|
+
stream_id: d.streamId,
|
|
172
|
+
agent_id: d.agentId,
|
|
173
|
+
pushed_commit: d.pushedCommit,
|
|
174
|
+
remote: d.remote ?? 'origin',
|
|
175
|
+
remote_ref: d.remoteRef,
|
|
176
|
+
strategy: d.strategy,
|
|
177
|
+
metadata: d.metadata,
|
|
178
|
+
},
|
|
179
|
+
};
|
|
180
|
+
case 'cascade:rebased':
|
|
181
|
+
return {
|
|
182
|
+
method: CASCADE_METHODS.CASCADE_REBASED,
|
|
183
|
+
params: {
|
|
184
|
+
stream_id: d.streamId,
|
|
185
|
+
agent_id: d.agentId,
|
|
186
|
+
triggered_by_stream_id: d.triggeredByStreamId,
|
|
187
|
+
triggered_by_agent_id: d.triggeredByAgentId,
|
|
188
|
+
new_base_commit: d.newBaseCommit,
|
|
189
|
+
new_head: d.newHead,
|
|
190
|
+
new_commits: d.newCommits,
|
|
191
|
+
metadata: d.metadata,
|
|
192
|
+
},
|
|
193
|
+
};
|
|
194
|
+
case 'cascade:completed':
|
|
195
|
+
return {
|
|
196
|
+
method: CASCADE_METHODS.CASCADE_COMPLETED,
|
|
197
|
+
params: {
|
|
198
|
+
root_stream_id: d.rootStreamId,
|
|
199
|
+
agent_id: d.agentId,
|
|
200
|
+
strategy: d.strategy,
|
|
201
|
+
updated_streams: d.updatedStreams,
|
|
202
|
+
failed_streams: d.failedStreams,
|
|
203
|
+
skipped_streams: d.skippedStreams,
|
|
204
|
+
deferred_streams: d.deferredStreams,
|
|
205
|
+
metadata: d.metadata,
|
|
206
|
+
},
|
|
207
|
+
};
|
|
208
|
+
case 'mergeQueue:added':
|
|
209
|
+
if (!d.entryId || !d.streamId)
|
|
210
|
+
return null;
|
|
211
|
+
return {
|
|
212
|
+
method: CASCADE_METHODS.QUEUE_ADDED,
|
|
213
|
+
params: {
|
|
214
|
+
entry_id: d.entryId,
|
|
215
|
+
stream_id: d.streamId,
|
|
216
|
+
target_branch: d.targetBranch ?? 'main',
|
|
217
|
+
metadata: d.metadata,
|
|
218
|
+
},
|
|
219
|
+
};
|
|
220
|
+
case 'mergeQueue:ready':
|
|
221
|
+
if (!d.entryId || !d.streamId)
|
|
222
|
+
return null;
|
|
223
|
+
return {
|
|
224
|
+
method: CASCADE_METHODS.QUEUE_READY,
|
|
225
|
+
params: {
|
|
226
|
+
entry_id: d.entryId,
|
|
227
|
+
stream_id: d.streamId,
|
|
228
|
+
target_branch: d.targetBranch ?? 'main',
|
|
229
|
+
},
|
|
230
|
+
};
|
|
231
|
+
case 'mergeQueue:cancelled':
|
|
232
|
+
if (!d.entryId || !d.streamId)
|
|
233
|
+
return null;
|
|
234
|
+
return {
|
|
235
|
+
method: CASCADE_METHODS.QUEUE_CANCELLED,
|
|
236
|
+
params: {
|
|
237
|
+
entry_id: d.entryId,
|
|
238
|
+
stream_id: d.streamId,
|
|
239
|
+
target_branch: d.targetBranch ?? 'main',
|
|
240
|
+
reason: d.reason,
|
|
241
|
+
},
|
|
242
|
+
};
|
|
243
|
+
case 'mergeQueue:removed':
|
|
244
|
+
if (!d.entryId || !d.streamId)
|
|
245
|
+
return null;
|
|
246
|
+
return {
|
|
247
|
+
method: CASCADE_METHODS.QUEUE_REMOVED,
|
|
248
|
+
params: {
|
|
249
|
+
entry_id: d.entryId,
|
|
250
|
+
stream_id: d.streamId,
|
|
251
|
+
target_branch: d.targetBranch ?? 'main',
|
|
252
|
+
outcome: d.outcome,
|
|
253
|
+
},
|
|
254
|
+
};
|
|
255
|
+
case 'stream:paused':
|
|
256
|
+
if (!d.streamId)
|
|
257
|
+
return null;
|
|
258
|
+
return {
|
|
259
|
+
method: X_CASCADE_STREAM_PAUSED,
|
|
260
|
+
params: {
|
|
261
|
+
stream_id: d.streamId,
|
|
262
|
+
reason: d.reason,
|
|
263
|
+
},
|
|
264
|
+
};
|
|
265
|
+
case 'stream:resumed':
|
|
266
|
+
if (!d.streamId)
|
|
267
|
+
return null;
|
|
268
|
+
return {
|
|
269
|
+
method: X_CASCADE_STREAM_RESUMED,
|
|
270
|
+
params: {
|
|
271
|
+
stream_id: d.streamId,
|
|
272
|
+
},
|
|
273
|
+
};
|
|
274
|
+
case 'stream:rolled_back':
|
|
275
|
+
if (!d.streamId)
|
|
276
|
+
return null;
|
|
277
|
+
return {
|
|
278
|
+
method: X_CASCADE_STREAM_ROLLED_BACK,
|
|
279
|
+
params: {
|
|
280
|
+
stream_id: d.streamId,
|
|
281
|
+
strategy: d.strategy,
|
|
282
|
+
target: d.target,
|
|
283
|
+
new_head: d.newHead,
|
|
284
|
+
},
|
|
285
|
+
};
|
|
286
|
+
// Local-only events with no MAP counterpart.
|
|
287
|
+
// 'stream:updated', 'stream:forked', 'worktree:*', 'task:*',
|
|
288
|
+
// 'change:*', 'conflict:*' (legacy local-only variant — cascade-bridge
|
|
289
|
+
// handles the cascade-driven 'conflict:resolved' separately above)
|
|
290
|
+
default:
|
|
291
|
+
return null;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
//# sourceMappingURL=cascade-bridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cascade-bridge.js","sourceRoot":"","sources":["../../src/map/cascade-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordination-handler.d.ts","sourceRoot":"","sources":["../../src/map/coordination-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,KAAK,EAKV,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,sBAAsB;IACrC,cAAc,CACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACjD,IAAI,CAAC;IACR,eAAe,CACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACjD,IAAI,CAAC;IACR,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,sBAAsB,CAAC;IACnC,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE;QACjB,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,yBAAyB,CAAC,GAAG,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC;KAC9D,CAAC;CACH;AAWD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,gBAAgB,GACrB,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"coordination-handler.d.ts","sourceRoot":"","sources":["../../src/map/coordination-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,KAAK,EAKV,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,sBAAsB;IACrC,cAAc,CACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACjD,IAAI,CAAC;IACR,eAAe,CACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACjD,IAAI,CAAC;IACR,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,sBAAsB,CAAC;IACnC,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE;QACjB,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACvD,yBAAyB,CAAC,GAAG,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAC;KAC9D,CAAC;CACH;AAWD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,gBAAgB,GACrB,MAAM,IAAI,CA4KZ"}
|
|
@@ -31,12 +31,23 @@ export function setupCoordinationHandlers(deps) {
|
|
|
31
31
|
if (!p?.title)
|
|
32
32
|
return;
|
|
33
33
|
try {
|
|
34
|
-
//
|
|
34
|
+
// Extract tags and metadata from OpenHive context
|
|
35
|
+
const context = p.context ?? {};
|
|
36
|
+
const tags = Array.isArray(context.tags) ? context.tags : undefined;
|
|
37
|
+
const metadata = {
|
|
38
|
+
...context,
|
|
39
|
+
...(p.assigned_by ? { assigned_by: p.assigned_by } : {}),
|
|
40
|
+
...(p.deadline ? { deadline: p.deadline } : {}),
|
|
41
|
+
};
|
|
42
|
+
// Remove tags from metadata (already a top-level field)
|
|
43
|
+
delete metadata.tags;
|
|
35
44
|
const taskId = await tasksAdapter.createTask({
|
|
36
45
|
title: p.title,
|
|
37
46
|
content: p.description,
|
|
38
47
|
assignee: p.assigned_to,
|
|
48
|
+
tags,
|
|
39
49
|
priority: p.priority === "critical" ? 1 : p.priority === "high" ? 2 : p.priority === "low" ? 4 : 3,
|
|
50
|
+
metadata: Object.keys(metadata).length > 0 ? metadata : undefined,
|
|
40
51
|
});
|
|
41
52
|
// Optionally spawn an agent to work on the task
|
|
42
53
|
if (p.assigned_to) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordination-handler.js","sourceRoot":"","sources":["../../src/map/coordination-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAqCH,oCAAoC;AACpC,MAAM,OAAO,GAAG;IACd,WAAW,EAAE,wBAAwB;IACrC,WAAW,EAAE,wBAAwB;IACrC,aAAa,EAAE,0BAA0B;IACzC,YAAY,EAAE,yBAAyB;IACvC,iBAAiB,EAAE,uCAAuC;CAClD,CAAC;AAEX;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,IAAsB;IAEtB,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IACtE,MAAM,QAAQ,GAAkF,EAAE,CAAC;IAEnG,MAAM,QAAQ,GAAG,CACf,MAAc,EACd,OAAkD,EAC5C,EAAE;QACR,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,0BAA0B;IAC1B,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,MAAe,EAAE,EAAE;QACtD,MAAM,CAAC,GAAG,MAAgC,CAAC;QAC3C,IAAI,CAAC,CAAC,EAAE,KAAK;YAAE,OAAO;QAEtB,IAAI,CAAC;YACH,
|
|
1
|
+
{"version":3,"file":"coordination-handler.js","sourceRoot":"","sources":["../../src/map/coordination-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ export interface LifecycleBridgeConnection {
|
|
|
20
20
|
* Returns an `AgentLifecycleCallback` to register via `agentManager.onLifecycleEvent()`,
|
|
21
21
|
* plus a `cleanup()` function to unregister all tracked agents on shutdown.
|
|
22
22
|
*/
|
|
23
|
-
export declare function createLifecycleBridge(connection: LifecycleBridgeConnection, agentStore: AgentStore, scope: string, taskBridge?: TaskBridge): {
|
|
23
|
+
export declare function createLifecycleBridge(connection: LifecycleBridgeConnection, agentStore: AgentStore, scope: string, taskBridge?: TaskBridge, getLocalMapId?: (localAgentId: string) => string | undefined): {
|
|
24
24
|
callback: AgentLifecycleCallback;
|
|
25
25
|
cleanup: () => Promise<void>;
|
|
26
26
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle-bridge.d.ts","sourceRoot":"","sources":["../../src/map/lifecycle-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,+DAA+D;AAC/D,MAAM,WAAW,yBAAyB;IACxC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,IAAI,WAAW,IAAI,OAAO,CAAC;CAC5B;AAUD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,yBAAyB,EACrC,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"lifecycle-bridge.d.ts","sourceRoot":"","sources":["../../src/map/lifecycle-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,+DAA+D;AAC/D,MAAM,WAAW,yBAAyB;IACxC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,IAAI,WAAW,IAAI,OAAO,CAAC;CAC5B;AAUD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,yBAAyB,EACrC,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,UAAU,EACvB,aAAa,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GAC3D;IAAE,QAAQ,EAAE,sBAAsB,CAAC;IAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAsJpE"}
|
|
@@ -12,8 +12,26 @@
|
|
|
12
12
|
* Returns an `AgentLifecycleCallback` to register via `agentManager.onLifecycleEvent()`,
|
|
13
13
|
* plus a `cleanup()` function to unregister all tracked agents on shutdown.
|
|
14
14
|
*/
|
|
15
|
-
export function createLifecycleBridge(connection, agentStore, scope, taskBridge) {
|
|
15
|
+
export function createLifecycleBridge(connection, agentStore, scope, taskBridge, getLocalMapId) {
|
|
16
16
|
const registered = new Map();
|
|
17
|
+
/**
|
|
18
|
+
* Poll for the local MAP server's assigned ID for an agent.
|
|
19
|
+
* The local MAP server and the lifecycle bridge both listen to the same
|
|
20
|
+
* lifecycle callback, so they may fire in any order. Poll briefly to handle
|
|
21
|
+
* the race.
|
|
22
|
+
*/
|
|
23
|
+
async function waitForLocalMapId(localAgentId, timeoutMs = 500) {
|
|
24
|
+
if (!getLocalMapId)
|
|
25
|
+
return undefined;
|
|
26
|
+
const deadline = Date.now() + timeoutMs;
|
|
27
|
+
while (Date.now() < deadline) {
|
|
28
|
+
const id = getLocalMapId(localAgentId);
|
|
29
|
+
if (id)
|
|
30
|
+
return id;
|
|
31
|
+
await new Promise((r) => setTimeout(r, 20));
|
|
32
|
+
}
|
|
33
|
+
return getLocalMapId(localAgentId);
|
|
34
|
+
}
|
|
17
35
|
const callback = (event) => {
|
|
18
36
|
if (!connection.isConnected)
|
|
19
37
|
return;
|
|
@@ -34,29 +52,46 @@ export function createLifecycleBridge(connection, agentStore, scope, taskBridge)
|
|
|
34
52
|
capabilities.acp = { version: "2024-10-07" };
|
|
35
53
|
}
|
|
36
54
|
// Register agent with MAP hub (use map/agents/register to preserve
|
|
37
|
-
// per-agent capabilities; map/agents/spawn drops them)
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
+
// per-agent capabilities; map/agents/spawn drops them).
|
|
56
|
+
// Include the local MAP server's ID in metadata so clients can route
|
|
57
|
+
// ACP messages to the correct agent on the macro-agent's own MAP server.
|
|
58
|
+
// Also include provider_session_id so OpenHive can find the underlying
|
|
59
|
+
// Claude Code JSONL transcript on disk for history recovery.
|
|
60
|
+
const agentMetadata = agent.metadata;
|
|
61
|
+
const providerSessionId = typeof agentMetadata?.provider_session_id === "string"
|
|
62
|
+
? agentMetadata.provider_session_id
|
|
63
|
+
: undefined;
|
|
64
|
+
(async () => {
|
|
65
|
+
const peerMapId = await waitForLocalMapId(agent.id);
|
|
66
|
+
try {
|
|
67
|
+
const result = await connection.callExtension("map/agents/register", {
|
|
68
|
+
name,
|
|
69
|
+
role,
|
|
70
|
+
capabilities,
|
|
71
|
+
metadata: {
|
|
72
|
+
// From the hub's perspective these IDs identify this agent on
|
|
73
|
+
// the macro-agent (peer) side. `peerAgentId` is macro-agent's
|
|
74
|
+
// internal store id; `peerMapId` is its local MAP server ULID.
|
|
75
|
+
// Hub callers use these to address the agent in routing
|
|
76
|
+
// (ACP streams target peerMapId, lifecycle ops use peerAgentId).
|
|
77
|
+
peerAgentId: agent.id,
|
|
78
|
+
peerMapId,
|
|
79
|
+
provider_session_id: providerSessionId,
|
|
80
|
+
parent: agent.parent_id ?? undefined,
|
|
81
|
+
team: agent.team ?? undefined,
|
|
82
|
+
cwd: agent.cwd ?? undefined,
|
|
83
|
+
},
|
|
84
|
+
});
|
|
85
|
+
// Track the MAP-assigned agent ID for unregistration
|
|
86
|
+
const mapId = result?.agent?.id ?? result?.id;
|
|
87
|
+
if (mapId) {
|
|
88
|
+
entry.mapId = mapId;
|
|
89
|
+
}
|
|
55
90
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
});
|
|
91
|
+
catch {
|
|
92
|
+
// Silent — MAP hub may be temporarily unavailable
|
|
93
|
+
}
|
|
94
|
+
})();
|
|
60
95
|
// Bridge task creation if agent has a task
|
|
61
96
|
if (taskBridge && agent.task_id) {
|
|
62
97
|
taskBridge
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle-bridge.js","sourceRoot":"","sources":["../../src/map/lifecycle-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAoBH;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,UAAqC,EACrC,UAAsB,EACtB,KAAa,EACb,UAAuB;
|
|
1
|
+
{"version":3,"file":"lifecycle-bridge.js","sourceRoot":"","sources":["../../src/map/lifecycle-bridge.ts"],"names":[],"mappings":"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"}
|
package/dist/map/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/map/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAOxD,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,2DAA2D;IAC3D,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B;AAMD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,aAAa,EACnB,MAAM,GAAE,eAAoB,GAC3B,iBAAiB,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/map/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAOxD,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,2DAA2D;IAC3D,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B;AAMD;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,aAAa,EACnB,MAAM,GAAE,eAAoB,GAC3B,iBAAiB,CA+rBnB"}
|