macro-agent 0.1.12 → 0.2.0
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/dist/agent/agent-manager-v2.d.ts.map +1 -1
- package/dist/agent/agent-manager-v2.js +240 -7
- package/dist/agent/agent-manager-v2.js.map +1 -1
- package/dist/agent/types.d.ts +47 -0
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/boot-v2.d.ts +33 -0
- package/dist/boot-v2.d.ts.map +1 -1
- package/dist/boot-v2.js +142 -11
- package/dist/boot-v2.js.map +1 -1
- package/dist/cli/inbox-mcp-proxy.d.ts +36 -0
- package/dist/cli/inbox-mcp-proxy.d.ts.map +1 -0
- package/dist/cli/inbox-mcp-proxy.js +51 -0
- package/dist/cli/inbox-mcp-proxy.js.map +1 -0
- package/dist/dispatch/loadout-translation.d.ts +100 -0
- package/dist/dispatch/loadout-translation.d.ts.map +1 -0
- package/dist/dispatch/loadout-translation.js +90 -0
- package/dist/dispatch/loadout-translation.js.map +1 -0
- package/dist/dispatch/mail-inbound-consumer.d.ts +89 -0
- package/dist/dispatch/mail-inbound-consumer.d.ts.map +1 -0
- package/dist/dispatch/mail-inbound-consumer.js +261 -0
- package/dist/dispatch/mail-inbound-consumer.js.map +1 -0
- package/dist/dispatch/mail-inbound-reuse-consumer.d.ts +75 -0
- package/dist/dispatch/mail-inbound-reuse-consumer.d.ts.map +1 -0
- package/dist/dispatch/mail-inbound-reuse-consumer.js +325 -0
- package/dist/dispatch/mail-inbound-reuse-consumer.js.map +1 -0
- package/dist/dispatch/permission-evaluator.d.ts +68 -0
- package/dist/dispatch/permission-evaluator.d.ts.map +1 -0
- package/dist/dispatch/permission-evaluator.js +159 -0
- package/dist/dispatch/permission-evaluator.js.map +1 -0
- package/dist/dispatch/permission-overlay.d.ts +64 -0
- package/dist/dispatch/permission-overlay.d.ts.map +1 -0
- package/dist/dispatch/permission-overlay.js +72 -0
- package/dist/dispatch/permission-overlay.js.map +1 -0
- package/dist/dispatch/permissions-handler.d.ts +71 -0
- package/dist/dispatch/permissions-handler.d.ts.map +1 -0
- package/dist/dispatch/permissions-handler.js +83 -0
- package/dist/dispatch/permissions-handler.js.map +1 -0
- package/dist/dispatch/spawn-agent-handler.d.ts +84 -0
- package/dist/dispatch/spawn-agent-handler.d.ts.map +1 -0
- package/dist/dispatch/spawn-agent-handler.js +85 -0
- package/dist/dispatch/spawn-agent-handler.js.map +1 -0
- 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 +27 -0
- package/dist/lifecycle/handlers-v2.js.map +1 -1
- package/dist/map/lifecycle-bridge.d.ts +18 -0
- package/dist/map/lifecycle-bridge.d.ts.map +1 -1
- package/dist/map/lifecycle-bridge.js +23 -1
- package/dist/map/lifecycle-bridge.js.map +1 -1
- package/dist/map/mail-bridge.d.ts +55 -0
- package/dist/map/mail-bridge.d.ts.map +1 -0
- package/dist/map/mail-bridge.js +115 -0
- package/dist/map/mail-bridge.js.map +1 -0
- package/dist/map/sidecar.d.ts.map +1 -1
- package/dist/map/sidecar.js +245 -1
- package/dist/map/sidecar.js.map +1 -1
- package/dist/map/types.d.ts +15 -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 +1 -0
- package/dist/mcp/tools/done-v2.js.map +1 -1
- package/dist/teams/team-loader.d.ts.map +1 -1
- package/dist/teams/team-loader.js.map +1 -1
- package/dist/teams/team-runtime-v2.d.ts.map +1 -1
- package/dist/teams/team-runtime-v2.js +2 -0
- package/dist/teams/team-runtime-v2.js.map +1 -1
- package/package.json +6 -5
- package/src/agent/__tests__/agent-manager-v2.permission-interception.test.ts +296 -0
- package/src/agent/__tests__/agent-manager-v2.permissions.test.ts +233 -0
- package/src/agent/agent-manager-v2.ts +268 -8
- package/src/agent/types.ts +51 -0
- package/src/boot-v2.ts +190 -12
- package/src/cli/inbox-mcp-proxy.ts +56 -0
- package/src/dispatch/CLAUDE.md +129 -0
- package/src/dispatch/__tests__/loadout-translation.test.ts +141 -0
- package/src/dispatch/__tests__/mail-inbound-consumer.integration.test.ts +519 -0
- package/src/dispatch/__tests__/mail-inbound-consumer.test.ts +589 -0
- package/src/dispatch/__tests__/mail-inbound-reuse-consumer.test.ts +575 -0
- package/src/dispatch/__tests__/permission-evaluator.test.ts +196 -0
- package/src/dispatch/__tests__/permission-overlay.test.ts +56 -0
- package/src/dispatch/__tests__/permissions-handler.test.ts +168 -0
- package/src/dispatch/__tests__/spawn-agent-handler.test.ts +282 -0
- package/src/dispatch/loadout-translation.ts +138 -0
- package/src/dispatch/mail-inbound-consumer.ts +397 -0
- package/src/dispatch/mail-inbound-reuse-consumer.ts +479 -0
- package/src/dispatch/permission-evaluator.ts +191 -0
- package/src/dispatch/permission-overlay.ts +89 -0
- package/src/dispatch/permissions-handler.ts +112 -0
- package/src/dispatch/spawn-agent-handler.ts +160 -0
- package/src/lifecycle/handlers-v2.ts +34 -0
- package/src/map/__tests__/lifecycle-bridge.test.ts +64 -0
- package/src/map/__tests__/mail-bridge.test.ts +196 -0
- package/src/map/lifecycle-bridge.ts +48 -2
- package/src/map/mail-bridge.ts +203 -0
- package/src/map/sidecar.ts +346 -1
- package/src/map/types.ts +21 -0
- package/src/mcp/tools/done-v2.ts +1 -0
- package/src/teams/team-loader.ts +3 -1
- package/src/teams/team-runtime-v2.ts +2 -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
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Permission Overlay Registry
|
|
3
|
+
*
|
|
4
|
+
* Process-singleton map of `agentId → Permissions` for in-flight
|
|
5
|
+
* dispatches. The `PreToolUse` hook installed at spawn time consults
|
|
6
|
+
* this registry on every tool call. Dispatch consumers (e.g., the
|
|
7
|
+
* mail-inbound-reuse-consumer) set the overlay when claiming an
|
|
8
|
+
* in-flight dispatch and clear it on resolution.
|
|
9
|
+
*
|
|
10
|
+
* Why a registry rather than a per-spawn argument:
|
|
11
|
+
* - The session is created with permissive rules at boot. The
|
|
12
|
+
* dispatch's narrower deny rules need to apply at *call time*, not
|
|
13
|
+
* at spawn time, because the agent already exists when the dispatch
|
|
14
|
+
* arrives. The hook closure captures `agentId` and reads the
|
|
15
|
+
* registry per-call so updates propagate without recreating the
|
|
16
|
+
* session.
|
|
17
|
+
*
|
|
18
|
+
* Semantics:
|
|
19
|
+
* - Intersection-only: the overlay can ADD denies to a session but
|
|
20
|
+
* cannot grant new allows. If the session was spawned with broad
|
|
21
|
+
* permissions and the overlay says `allow: [Read]`, the session's
|
|
22
|
+
* other tools still work — the overlay only tightens.
|
|
23
|
+
* - Single overlay per agent: `mail-inbound-reuse-consumer` already
|
|
24
|
+
* enforces one in-flight dispatch per agent (`recipient_busy`
|
|
25
|
+
* reject), so overwriting is safe.
|
|
26
|
+
*
|
|
27
|
+
* @module dispatch/permission-overlay
|
|
28
|
+
*/
|
|
29
|
+
const overlays = new Map();
|
|
30
|
+
/**
|
|
31
|
+
* Apply a permission overlay for an agent. Subsequent tool calls by
|
|
32
|
+
* that agent flow through the `PreToolUse` hook, which consults this
|
|
33
|
+
* registry. Overwrites any prior overlay for the same agent.
|
|
34
|
+
*/
|
|
35
|
+
export function setPermissionOverlay(agentId, perms) {
|
|
36
|
+
overlays.set(agentId, perms);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Remove the active overlay for an agent. Subsequent tool calls fall
|
|
40
|
+
* back to the session's static permission rules.
|
|
41
|
+
*/
|
|
42
|
+
export function clearPermissionOverlay(agentId) {
|
|
43
|
+
overlays.delete(agentId);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Read the current overlay for an agent. Returns `undefined` when no
|
|
47
|
+
* overlay is in effect — the hook treats that as pass-through.
|
|
48
|
+
*/
|
|
49
|
+
export function getPermissionOverlay(agentId) {
|
|
50
|
+
return overlays.get(agentId);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Clear all overlays. Used as defense-in-depth when a fresh consumer
|
|
54
|
+
* starts (process startup); also exposed for test isolation.
|
|
55
|
+
*/
|
|
56
|
+
export function clearAllPermissionOverlays() {
|
|
57
|
+
overlays.clear();
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Test helper — alias for `clearAllPermissionOverlays`. Kept distinct
|
|
61
|
+
* so it's grep-able for "test-only" cleanup paths.
|
|
62
|
+
*/
|
|
63
|
+
export function _resetForTest() {
|
|
64
|
+
overlays.clear();
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Test helper — number of overlays currently active.
|
|
68
|
+
*/
|
|
69
|
+
export function _sizeForTest() {
|
|
70
|
+
return overlays.size;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=permission-overlay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permission-overlay.js","sourceRoot":"","sources":["../../src/dispatch/permission-overlay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAQH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;AAEvD;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAe,EACf,KAAyB;IAEzB,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAe;IACpD,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAe;IAEf,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B;IACxC,QAAQ,CAAC,KAAK,EAAE,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,QAAQ,CAAC,KAAK,EAAE,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `x-dispatch/permissions.set` and `x-dispatch/permissions.clear` MAP
|
|
3
|
+
* notification handlers — runtime-agnostic wire shape, macro-agent-specific
|
|
4
|
+
* implementation.
|
|
5
|
+
*
|
|
6
|
+
* Called by OpenHive's orchestrator on the ACP+reuse dispatch path to apply
|
|
7
|
+
* per-dispatch loadout deny/allow rules to a long-lived agent's session at
|
|
8
|
+
* runtime, without recreating the session. The handler invokes
|
|
9
|
+
* `setPermissionOverlay` (resp. `clearPermissionOverlay`); the prompt
|
|
10
|
+
* iterator in `agent-manager-v2.ts` enforces the overlay against
|
|
11
|
+
* `permission_request` ACP session updates.
|
|
12
|
+
*
|
|
13
|
+
* See `docs/PERMISSION_OVERLAY_ACP_DESIGN.md` for the four-process flow
|
|
14
|
+
* diagram and rationale. The mail+reuse path uses the same overlay
|
|
15
|
+
* registry but sets/clears it directly from `mail-inbound-reuse-consumer`
|
|
16
|
+
* (which has a clean entry point on swarm side); ACP+reuse needs this MAP
|
|
17
|
+
* wire because the dispatch's prompt arrives through the ACP server with
|
|
18
|
+
* no equivalent consumer to bracket.
|
|
19
|
+
*
|
|
20
|
+
* Wire shape (set):
|
|
21
|
+
*
|
|
22
|
+
* request: { agent_id: string, deny?: string[], allow?: string[] }
|
|
23
|
+
* response: { ok: true } | { ok: false, error: string }
|
|
24
|
+
*
|
|
25
|
+
* Wire shape (clear):
|
|
26
|
+
*
|
|
27
|
+
* request: { agent_id: string }
|
|
28
|
+
* response: { ok: true } | { ok: false, error: string }
|
|
29
|
+
*
|
|
30
|
+
* Notification-pair pattern matches the existing `x-dispatch/spawn-agent`
|
|
31
|
+
* handler (the MAP SDK's AgentConnection doesn't expose
|
|
32
|
+
* setRequestHandler, so we use notifications with correlation_ids).
|
|
33
|
+
*/
|
|
34
|
+
export interface PermissionsSetRequest {
|
|
35
|
+
agent_id: string;
|
|
36
|
+
deny?: string[];
|
|
37
|
+
allow?: string[];
|
|
38
|
+
}
|
|
39
|
+
export interface PermissionsClearRequest {
|
|
40
|
+
agent_id: string;
|
|
41
|
+
}
|
|
42
|
+
export type PermissionsResponse = {
|
|
43
|
+
ok: true;
|
|
44
|
+
} | {
|
|
45
|
+
ok: false;
|
|
46
|
+
error: string;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Handle `x-dispatch/permissions.set.request`. Sets the per-agent overlay
|
|
50
|
+
* registry entry that the prompt iterator consults when answering
|
|
51
|
+
* `permission_request` session updates.
|
|
52
|
+
*
|
|
53
|
+
* Idempotent: re-setting on the same agent overwrites the prior overlay.
|
|
54
|
+
* Safe: returns an error response (rather than throwing) for malformed
|
|
55
|
+
* params or unknown agents — the orchestrator should log and proceed.
|
|
56
|
+
*/
|
|
57
|
+
export declare function handlePermissionsSet(params: PermissionsSetRequest, log?: (msg: string) => void): PermissionsResponse;
|
|
58
|
+
/**
|
|
59
|
+
* Handle `x-dispatch/permissions.clear.request`. Removes any overlay set
|
|
60
|
+
* on the named agent. Idempotent: clearing a non-existent overlay is a
|
|
61
|
+
* no-op success. Always paired with a prior `set` from the same dispatch;
|
|
62
|
+
* the orchestrator must guarantee `clear` runs even on dispatch failure.
|
|
63
|
+
*/
|
|
64
|
+
export declare function handlePermissionsClear(params: PermissionsClearRequest, log?: (msg: string) => void): PermissionsResponse;
|
|
65
|
+
export declare const X_DISPATCH_PERMISSIONS_METHODS: {
|
|
66
|
+
readonly SET_REQUEST: "x-dispatch/permissions.set.request";
|
|
67
|
+
readonly SET_RESPONSE: "x-dispatch/permissions.set.response";
|
|
68
|
+
readonly CLEAR_REQUEST: "x-dispatch/permissions.clear.request";
|
|
69
|
+
readonly CLEAR_RESPONSE: "x-dispatch/permissions.clear.response";
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=permissions-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions-handler.d.ts","sourceRoot":"","sources":["../../src/dispatch/permissions-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAOH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,qBAAqB,EAC7B,GAAG,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAkB,GACvC,mBAAmB,CAqBrB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,uBAAuB,EAC/B,GAAG,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAkB,GACvC,mBAAmB,CAOrB;AAED,eAAO,MAAM,8BAA8B;;;;;CAKjC,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `x-dispatch/permissions.set` and `x-dispatch/permissions.clear` MAP
|
|
3
|
+
* notification handlers — runtime-agnostic wire shape, macro-agent-specific
|
|
4
|
+
* implementation.
|
|
5
|
+
*
|
|
6
|
+
* Called by OpenHive's orchestrator on the ACP+reuse dispatch path to apply
|
|
7
|
+
* per-dispatch loadout deny/allow rules to a long-lived agent's session at
|
|
8
|
+
* runtime, without recreating the session. The handler invokes
|
|
9
|
+
* `setPermissionOverlay` (resp. `clearPermissionOverlay`); the prompt
|
|
10
|
+
* iterator in `agent-manager-v2.ts` enforces the overlay against
|
|
11
|
+
* `permission_request` ACP session updates.
|
|
12
|
+
*
|
|
13
|
+
* See `docs/PERMISSION_OVERLAY_ACP_DESIGN.md` for the four-process flow
|
|
14
|
+
* diagram and rationale. The mail+reuse path uses the same overlay
|
|
15
|
+
* registry but sets/clears it directly from `mail-inbound-reuse-consumer`
|
|
16
|
+
* (which has a clean entry point on swarm side); ACP+reuse needs this MAP
|
|
17
|
+
* wire because the dispatch's prompt arrives through the ACP server with
|
|
18
|
+
* no equivalent consumer to bracket.
|
|
19
|
+
*
|
|
20
|
+
* Wire shape (set):
|
|
21
|
+
*
|
|
22
|
+
* request: { agent_id: string, deny?: string[], allow?: string[] }
|
|
23
|
+
* response: { ok: true } | { ok: false, error: string }
|
|
24
|
+
*
|
|
25
|
+
* Wire shape (clear):
|
|
26
|
+
*
|
|
27
|
+
* request: { agent_id: string }
|
|
28
|
+
* response: { ok: true } | { ok: false, error: string }
|
|
29
|
+
*
|
|
30
|
+
* Notification-pair pattern matches the existing `x-dispatch/spawn-agent`
|
|
31
|
+
* handler (the MAP SDK's AgentConnection doesn't expose
|
|
32
|
+
* setRequestHandler, so we use notifications with correlation_ids).
|
|
33
|
+
*/
|
|
34
|
+
import { setPermissionOverlay, clearPermissionOverlay, } from "./permission-overlay.js";
|
|
35
|
+
/**
|
|
36
|
+
* Handle `x-dispatch/permissions.set.request`. Sets the per-agent overlay
|
|
37
|
+
* registry entry that the prompt iterator consults when answering
|
|
38
|
+
* `permission_request` session updates.
|
|
39
|
+
*
|
|
40
|
+
* Idempotent: re-setting on the same agent overwrites the prior overlay.
|
|
41
|
+
* Safe: returns an error response (rather than throwing) for malformed
|
|
42
|
+
* params or unknown agents — the orchestrator should log and proceed.
|
|
43
|
+
*/
|
|
44
|
+
export function handlePermissionsSet(params, log = console.log) {
|
|
45
|
+
if (!params || typeof params.agent_id !== "string" || params.agent_id === "") {
|
|
46
|
+
return { ok: false, error: "x-dispatch/permissions.set: missing or invalid 'agent_id'" };
|
|
47
|
+
}
|
|
48
|
+
if (params.deny !== undefined && !Array.isArray(params.deny)) {
|
|
49
|
+
return { ok: false, error: "x-dispatch/permissions.set: 'deny' must be an array of strings" };
|
|
50
|
+
}
|
|
51
|
+
if (params.allow !== undefined && !Array.isArray(params.allow)) {
|
|
52
|
+
return { ok: false, error: "x-dispatch/permissions.set: 'allow' must be an array of strings" };
|
|
53
|
+
}
|
|
54
|
+
const overlay = {
|
|
55
|
+
...(params.deny ? { deny: params.deny } : {}),
|
|
56
|
+
...(params.allow ? { allow: params.allow } : {}),
|
|
57
|
+
};
|
|
58
|
+
setPermissionOverlay(params.agent_id, overlay);
|
|
59
|
+
log(`[x-dispatch/permissions.set] agent=${params.agent_id} ` +
|
|
60
|
+
`deny=${params.deny?.length ?? 0} allow=${params.allow?.length ?? 0}`);
|
|
61
|
+
return { ok: true };
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Handle `x-dispatch/permissions.clear.request`. Removes any overlay set
|
|
65
|
+
* on the named agent. Idempotent: clearing a non-existent overlay is a
|
|
66
|
+
* no-op success. Always paired with a prior `set` from the same dispatch;
|
|
67
|
+
* the orchestrator must guarantee `clear` runs even on dispatch failure.
|
|
68
|
+
*/
|
|
69
|
+
export function handlePermissionsClear(params, log = console.log) {
|
|
70
|
+
if (!params || typeof params.agent_id !== "string" || params.agent_id === "") {
|
|
71
|
+
return { ok: false, error: "x-dispatch/permissions.clear: missing or invalid 'agent_id'" };
|
|
72
|
+
}
|
|
73
|
+
clearPermissionOverlay(params.agent_id);
|
|
74
|
+
log(`[x-dispatch/permissions.clear] agent=${params.agent_id}`);
|
|
75
|
+
return { ok: true };
|
|
76
|
+
}
|
|
77
|
+
export const X_DISPATCH_PERMISSIONS_METHODS = {
|
|
78
|
+
SET_REQUEST: "x-dispatch/permissions.set.request",
|
|
79
|
+
SET_RESPONSE: "x-dispatch/permissions.set.response",
|
|
80
|
+
CLEAR_REQUEST: "x-dispatch/permissions.clear.request",
|
|
81
|
+
CLEAR_RESPONSE: "x-dispatch/permissions.clear.response",
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=permissions-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions-handler.js","sourceRoot":"","sources":["../../src/dispatch/permissions-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EACL,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AAgBjC;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAA6B,EAC7B,MAA6B,OAAO,CAAC,GAAG;IAExC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;QAC7E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,2DAA2D,EAAE,CAAC;IAC3F,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,gEAAgE,EAAE,CAAC;IAChG,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iEAAiE,EAAE,CAAC;IACjG,CAAC;IAED,MAAM,OAAO,GAAG;QACd,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjD,CAAC;IACF,oBAAoB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/C,GAAG,CACD,sCAAsC,MAAM,CAAC,QAAQ,GAAG;QACtD,QAAQ,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,EAAE,CACxE,CAAC;IACF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAA+B,EAC/B,MAA6B,OAAO,CAAC,GAAG;IAExC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;QAC7E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,6DAA6D,EAAE,CAAC;IAC7F,CAAC;IACD,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxC,GAAG,CAAC,wCAAwC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,WAAW,EAAE,oCAAoC;IACjD,YAAY,EAAE,qCAAqC;IACnD,aAAa,EAAE,sCAAsC;IACrD,cAAc,EAAE,uCAAuC;CAC/C,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `x-dispatch/spawn-agent` MAP request handler — runtime-agnostic wire shape,
|
|
3
|
+
* macro-agent-specific implementation.
|
|
4
|
+
*
|
|
5
|
+
* Called by OpenHive's orchestrator when ACP-routing a dispatch with
|
|
6
|
+
* `lifecycle: 'fresh'` — the hub asks the swarm to spawn a fresh agent
|
|
7
|
+
* with the materialized loadout's structured fields applied to its spawn
|
|
8
|
+
* config. The handler returns the spawned agent's id; the orchestrator
|
|
9
|
+
* then attaches an ACP stream via the existing `findAcpAgentInfo` path.
|
|
10
|
+
*
|
|
11
|
+
* Wire shape — canonical (swarm-dispatch's `RemoteSpawnRequest`):
|
|
12
|
+
*
|
|
13
|
+
* request:
|
|
14
|
+
* {
|
|
15
|
+
* role: string,
|
|
16
|
+
* capabilities_required: string[], // e.g. ["acp"]
|
|
17
|
+
* lifecycle: "fresh" | "reuse",
|
|
18
|
+
* cwd?: string,
|
|
19
|
+
* fullAutonomous?: boolean,
|
|
20
|
+
* consumer_extensions?: {
|
|
21
|
+
* openhive?: { loadout?: WireLoadout }, // OpenHive payload
|
|
22
|
+
* }
|
|
23
|
+
* }
|
|
24
|
+
*
|
|
25
|
+
* response:
|
|
26
|
+
* { agentId: string }
|
|
27
|
+
*
|
|
28
|
+
* Legacy shape support: pre-Tier-2 callers passed `loadout` at the top
|
|
29
|
+
* level (not under consumer_extensions). The handler accepts both for
|
|
30
|
+
* one release window — `consumer_extensions.openhive.loadout` is read
|
|
31
|
+
* first; falls back to top-level `loadout`.
|
|
32
|
+
*
|
|
33
|
+
* Symmetric with the mail path: both routes use `loadoutToSpawnOptions`
|
|
34
|
+
* to translate the wire-level loadout into macro-agent's spawn options.
|
|
35
|
+
*/
|
|
36
|
+
import type { AgentManager } from "../agent/agent-manager.js";
|
|
37
|
+
import { type WireLoadout } from "./loadout-translation.js";
|
|
38
|
+
export interface SpawnAgentRequest {
|
|
39
|
+
role: string;
|
|
40
|
+
/** Optional cwd; defaults to the swarm's process.cwd() via agentManager. */
|
|
41
|
+
cwd?: string;
|
|
42
|
+
capabilities_required?: string[];
|
|
43
|
+
lifecycle?: "fresh" | "reuse";
|
|
44
|
+
/**
|
|
45
|
+
* @deprecated — pre-Tier-2 top-level loadout slot. Newer callers ship
|
|
46
|
+
* the loadout under `consumer_extensions.openhive.loadout`. Both
|
|
47
|
+
* shapes are accepted for one release window.
|
|
48
|
+
*/
|
|
49
|
+
loadout?: WireLoadout;
|
|
50
|
+
/** Canonical consumer-extension namespace (Tier 2+). */
|
|
51
|
+
consumer_extensions?: {
|
|
52
|
+
openhive?: {
|
|
53
|
+
loadout?: WireLoadout;
|
|
54
|
+
};
|
|
55
|
+
[otherConsumer: string]: unknown;
|
|
56
|
+
};
|
|
57
|
+
fullAutonomous?: boolean;
|
|
58
|
+
/** Optional initial task description; defaults to a placeholder so the
|
|
59
|
+
* agent's session has *something* to render until the orchestrator's
|
|
60
|
+
* ACP `session/prompt` arrives. */
|
|
61
|
+
task?: string;
|
|
62
|
+
}
|
|
63
|
+
export interface SpawnAgentResponse {
|
|
64
|
+
agentId: string;
|
|
65
|
+
}
|
|
66
|
+
export interface SpawnAgentHandlerDeps {
|
|
67
|
+
agentManager: AgentManager;
|
|
68
|
+
/**
|
|
69
|
+
* Optional barrier called after spawn so the spawned agent's
|
|
70
|
+
* lifecycle-bridge has had time to register its `protocols: ['acp']`
|
|
71
|
+
* capability with the hub before this handler returns. Without this
|
|
72
|
+
* the orchestrator's subsequent `findAcpAgentInfo` would race the
|
|
73
|
+
* registration and return null.
|
|
74
|
+
*
|
|
75
|
+
* Returns true once the agent is registered and ACP-capable; false on
|
|
76
|
+
* timeout. Implementations typically wait on a Promise resolved by
|
|
77
|
+
* the lifecycle-bridge's `agent.registered` callback.
|
|
78
|
+
*/
|
|
79
|
+
waitForAcpRegistration?: (agentId: string, timeoutMs?: number) => Promise<boolean>;
|
|
80
|
+
/** Optional logger; defaults to console.log. */
|
|
81
|
+
log?: (msg: string) => void;
|
|
82
|
+
}
|
|
83
|
+
export declare function handleDispatchSpawnAgent(params: SpawnAgentRequest, deps: SpawnAgentHandlerDeps): Promise<SpawnAgentResponse>;
|
|
84
|
+
//# sourceMappingURL=spawn-agent-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spawn-agent-handler.d.ts","sourceRoot":"","sources":["../../src/dispatch/spawn-agent-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAyB,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEnF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC9B;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,wDAAwD;IACxD,mBAAmB,CAAC,EAAE;QACpB,QAAQ,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,WAAW,CAAA;SAAE,CAAC;QACrC,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;KAClC,CAAC;IACF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;wCAEoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,YAAY,CAAC;IAC3B;;;;;;;;;;OAUG;IACH,sBAAsB,CAAC,EAAE,CACvB,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,KACf,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,gDAAgD;IAChD,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAID,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,iBAAiB,EACzB,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,kBAAkB,CAAC,CAkE7B"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `x-dispatch/spawn-agent` MAP request handler — runtime-agnostic wire shape,
|
|
3
|
+
* macro-agent-specific implementation.
|
|
4
|
+
*
|
|
5
|
+
* Called by OpenHive's orchestrator when ACP-routing a dispatch with
|
|
6
|
+
* `lifecycle: 'fresh'` — the hub asks the swarm to spawn a fresh agent
|
|
7
|
+
* with the materialized loadout's structured fields applied to its spawn
|
|
8
|
+
* config. The handler returns the spawned agent's id; the orchestrator
|
|
9
|
+
* then attaches an ACP stream via the existing `findAcpAgentInfo` path.
|
|
10
|
+
*
|
|
11
|
+
* Wire shape — canonical (swarm-dispatch's `RemoteSpawnRequest`):
|
|
12
|
+
*
|
|
13
|
+
* request:
|
|
14
|
+
* {
|
|
15
|
+
* role: string,
|
|
16
|
+
* capabilities_required: string[], // e.g. ["acp"]
|
|
17
|
+
* lifecycle: "fresh" | "reuse",
|
|
18
|
+
* cwd?: string,
|
|
19
|
+
* fullAutonomous?: boolean,
|
|
20
|
+
* consumer_extensions?: {
|
|
21
|
+
* openhive?: { loadout?: WireLoadout }, // OpenHive payload
|
|
22
|
+
* }
|
|
23
|
+
* }
|
|
24
|
+
*
|
|
25
|
+
* response:
|
|
26
|
+
* { agentId: string }
|
|
27
|
+
*
|
|
28
|
+
* Legacy shape support: pre-Tier-2 callers passed `loadout` at the top
|
|
29
|
+
* level (not under consumer_extensions). The handler accepts both for
|
|
30
|
+
* one release window — `consumer_extensions.openhive.loadout` is read
|
|
31
|
+
* first; falls back to top-level `loadout`.
|
|
32
|
+
*
|
|
33
|
+
* Symmetric with the mail path: both routes use `loadoutToSpawnOptions`
|
|
34
|
+
* to translate the wire-level loadout into macro-agent's spawn options.
|
|
35
|
+
*/
|
|
36
|
+
import { loadoutToSpawnOptions } from "./loadout-translation.js";
|
|
37
|
+
const DEFAULT_REGISTRATION_TIMEOUT_MS = 5_000;
|
|
38
|
+
export async function handleDispatchSpawnAgent(params, deps) {
|
|
39
|
+
const { agentManager, waitForAcpRegistration, log = console.log } = deps;
|
|
40
|
+
if (!params.role) {
|
|
41
|
+
throw new Error("x-dispatch/spawn-agent: missing 'role'");
|
|
42
|
+
}
|
|
43
|
+
if (params.lifecycle && params.lifecycle !== "fresh") {
|
|
44
|
+
throw new Error(`x-dispatch/spawn-agent: lifecycle='${params.lifecycle}' not supported by this handler — ` +
|
|
45
|
+
`'reuse' is handled hub-side via findAcpAgentInfo, not via this method`);
|
|
46
|
+
}
|
|
47
|
+
// cwd is optional — agentManager.spawn defaults to its own defaultCwd
|
|
48
|
+
// (typically process.cwd() of the macro-agent process) when omitted.
|
|
49
|
+
// Loadout location: prefer the canonical consumer_extensions.openhive
|
|
50
|
+
// slot (Tier 2+); fall back to the top-level field (pre-Tier-2). Older
|
|
51
|
+
// hubs ship the loadout at the top level; newer hubs ship under
|
|
52
|
+
// consumer_extensions. Both work during the dual-listen window.
|
|
53
|
+
const loadout = params.consumer_extensions?.openhive?.loadout ?? params.loadout;
|
|
54
|
+
const fullAutonomous = params.fullAutonomous ?? true;
|
|
55
|
+
const spawnLoadoutOpts = loadoutToSpawnOptions(loadout, {
|
|
56
|
+
fullAutonomous,
|
|
57
|
+
});
|
|
58
|
+
log(`[x-dispatch/spawn-agent] Spawning fresh ${params.role} cwd=${params.cwd} ` +
|
|
59
|
+
`permissions=${spawnLoadoutOpts.permissions ? JSON.stringify(spawnLoadoutOpts.permissions) : "(none)"} fullAutonomous=${fullAutonomous}`);
|
|
60
|
+
const spawned = await agentManager.spawn({
|
|
61
|
+
role: params.role,
|
|
62
|
+
...(params.cwd ? { cwd: params.cwd } : {}),
|
|
63
|
+
parent: null,
|
|
64
|
+
// Mail-inbound and dispatch-spawned coordinators alike run under
|
|
65
|
+
// isolated settings so host-level Claude plugins don't auto-mount.
|
|
66
|
+
isolatedSettings: true,
|
|
67
|
+
task: params.task ?? "Awaiting dispatch (created by dispatch/spawn-agent)",
|
|
68
|
+
...spawnLoadoutOpts,
|
|
69
|
+
});
|
|
70
|
+
// Block until the lifecycle-bridge has registered ACP capabilities,
|
|
71
|
+
// otherwise the orchestrator's subsequent `findAcpAgentInfo` lookup
|
|
72
|
+
// races the registration and fails. Best-effort: a timeout returns
|
|
73
|
+
// anyway and the orchestrator will retry on its own poll.
|
|
74
|
+
if (waitForAcpRegistration) {
|
|
75
|
+
const ok = await waitForAcpRegistration(spawned.id, DEFAULT_REGISTRATION_TIMEOUT_MS).catch(() => false);
|
|
76
|
+
if (!ok) {
|
|
77
|
+
log(`[x-dispatch/spawn-agent] Warning: ACP registration not confirmed for ` +
|
|
78
|
+
`agent ${spawned.id} within ${DEFAULT_REGISTRATION_TIMEOUT_MS}ms; ` +
|
|
79
|
+
`orchestrator may need to retry.`);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
log(`[x-dispatch/spawn-agent] Spawn complete agentId=${spawned.id}`);
|
|
83
|
+
return { agentId: spawned.id };
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=spawn-agent-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spawn-agent-handler.js","sourceRoot":"","sources":["../../src/dispatch/spawn-agent-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAGH,OAAO,EAAE,qBAAqB,EAAoB,MAAM,0BAA0B,CAAC;AAmDnF,MAAM,+BAA+B,GAAG,KAAK,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAyB,EACzB,IAA2B;IAE3B,MAAM,EAAE,YAAY,EAAE,sBAAsB,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IAEzE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CACb,sCAAsC,MAAM,CAAC,SAAS,oCAAoC;YACxF,uEAAuE,CAC1E,CAAC;IACJ,CAAC;IACD,sEAAsE;IACtE,qEAAqE;IAErE,sEAAsE;IACtE,uEAAuE;IACvE,gEAAgE;IAChE,gEAAgE;IAChE,MAAM,OAAO,GACX,MAAM,CAAC,mBAAmB,EAAE,QAAQ,EAAE,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC;IAElE,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC;IACrD,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,OAAO,EAAE;QACtD,cAAc;KACf,CAAC,CAAC;IAEH,GAAG,CACD,2CAA2C,MAAM,CAAC,IAAI,QAAQ,MAAM,CAAC,GAAG,GAAG;QACzE,eACE,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAChF,mBAAmB,cAAc,EAAE,CACtC,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC;QACvC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,MAAM,EAAE,IAAI;QACZ,iEAAiE;QACjE,mEAAmE;QACnE,gBAAgB,EAAE,IAAI;QACtB,IAAI,EACF,MAAM,CAAC,IAAI,IAAI,qDAAqD;QACtE,GAAG,gBAAgB;KACpB,CAAC,CAAC;IAEH,oEAAoE;IACpE,oEAAoE;IACpE,mEAAmE;IACnE,0DAA0D;IAC1D,IAAI,sBAAsB,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,MAAM,sBAAsB,CACrC,OAAO,CAAC,EAAE,EACV,+BAA+B,CAChC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,GAAG,CACD,uEAAuE;gBACrE,SAAS,OAAO,CAAC,EAAE,WAAW,+BAA+B,MAAM;gBACnE,iCAAiC,CACpC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,GAAG,CAAC,mDAAmD,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IACrE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;AACjC,CAAC"}
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
import type { InboxAdapter } from "../adapters/types.js";
|
|
16
16
|
import type { TasksAdapter } from "../adapters/types.js";
|
|
17
17
|
import type { AgentManager } from "../agent/agent-manager.js";
|
|
18
|
+
import type { AgentStore } from "../agent/agent-store.js";
|
|
18
19
|
import type { LifecycleContext, DoneArgs, CleanupStatus, DoneHandlerResult } from "./types.js";
|
|
19
20
|
import type { MergeQueueInterface } from "../workspace/merge-queue/types.js";
|
|
20
21
|
import type { WorkspaceManager } from "../workspace/types.js";
|
|
@@ -30,6 +31,12 @@ export interface HandlerDepsV2 {
|
|
|
30
31
|
* Without it, commits use raw git (legacy / null-workspace path).
|
|
31
32
|
*/
|
|
32
33
|
workspaceManager?: WorkspaceManager;
|
|
34
|
+
/**
|
|
35
|
+
* Optional agent store. When provided, the done() summary is persisted in
|
|
36
|
+
* agent metadata for parentless agents (mail-inbound dispatch workers) so
|
|
37
|
+
* the dispatch reply bridge can forward it as a hub mail turn.
|
|
38
|
+
*/
|
|
39
|
+
agentStore?: AgentStore;
|
|
33
40
|
}
|
|
34
41
|
/**
|
|
35
42
|
* Dispatch done() to the appropriate handler based on role.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers-v2.d.ts","sourceRoot":"","sources":["../../src/lifecycle/handlers-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EACV,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAW9D,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"handlers-v2.d.ts","sourceRoot":"","sources":["../../src/lifecycle/handlers-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,KAAK,EACV,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAW9D,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AA8ZD;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,QAAQ,EACd,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,iBAAiB,CAAC,CA0B5B"}
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
*
|
|
13
13
|
* @module lifecycle/handlers-v2
|
|
14
14
|
*/
|
|
15
|
+
import { getPermissionOverlay } from "../dispatch/permission-overlay.js";
|
|
15
16
|
import { commitChanges, attemptMerge, abortMerge } from "./cleanup.js";
|
|
16
17
|
import { getAllDescendants, needsCascadeTermination, } from "./cascade.js";
|
|
17
18
|
// =============================================================================
|
|
@@ -143,6 +144,32 @@ async function handleWorkerDone(context, args, cleanupStatus, deps) {
|
|
|
143
144
|
catch {
|
|
144
145
|
warnings.push("Failed to emit WORKER_DONE");
|
|
145
146
|
}
|
|
147
|
+
// Step 3b: Persist `_lastSummary` to agent metadata when:
|
|
148
|
+
// - Agent is parentless (mail-inbound fresh-spawn dispatch workers —
|
|
149
|
+
// emitSignal is a no-op for parentless, so metadata is the only
|
|
150
|
+
// reply-path channel), OR
|
|
151
|
+
// - Agent is processing a dispatch (Phase 1 permission overlay set
|
|
152
|
+
// for this agent → in-flight). Gives the mail-inbound-reuse-consumer
|
|
153
|
+
// a metadata-side fallback for the reply summary that's
|
|
154
|
+
// independent of whether the prompt iterator's update stream
|
|
155
|
+
// races with ACP connection close. Applies to both parentless
|
|
156
|
+
// AND parented in-flight agents (parented dispatch targets are
|
|
157
|
+
// the typical mail+reuse setup).
|
|
158
|
+
const inDispatch = !!getPermissionOverlay(context.agentId);
|
|
159
|
+
if ((inDispatch || !context.parentId) && args.summary && deps.agentStore) {
|
|
160
|
+
try {
|
|
161
|
+
const existing = deps.agentStore.getAgent(context.agentId);
|
|
162
|
+
deps.agentStore.updateAgent(context.agentId, {
|
|
163
|
+
metadata: {
|
|
164
|
+
...(existing?.metadata ?? {}),
|
|
165
|
+
_lastSummary: args.summary,
|
|
166
|
+
},
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
catch {
|
|
170
|
+
// best effort — don't block termination
|
|
171
|
+
}
|
|
172
|
+
}
|
|
146
173
|
// NOTE: Task transition is NOT done here — AgentManagerV2.terminate() handles
|
|
147
174
|
// it to avoid double-transitioning.
|
|
148
175
|
// Step 4: Signal descendants (notification only — actual cascade via AgentManager)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers-v2.js","sourceRoot":"","sources":["../../src/lifecycle/handlers-v2.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handlers-v2.js","sourceRoot":"","sources":["../../src/lifecycle/handlers-v2.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,5 +23,23 @@ export interface LifecycleBridgeConnection {
|
|
|
23
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
|
+
/**
|
|
27
|
+
* Resolve true once the named agent has completed `map/agents/register`
|
|
28
|
+
* with the hub (its entry.mapId is populated). Used by the dispatch
|
|
29
|
+
* spawn-agent handler to barrier-wait for hub-side registration before
|
|
30
|
+
* returning, so the orchestrator's subsequent `findAcpAgentInfo` lookup
|
|
31
|
+
* doesn't race the registration.
|
|
32
|
+
*
|
|
33
|
+
* Returns false if the timeout elapses before registration completes.
|
|
34
|
+
*/
|
|
35
|
+
awaitRegistration: (agentId: string, timeoutMs?: number) => Promise<boolean>;
|
|
36
|
+
/**
|
|
37
|
+
* Reverse-lookup: hub-assigned MAP ULID → local agent id. Used by the
|
|
38
|
+
* `map/dispatch/message` handler in the sidecar to translate envelope
|
|
39
|
+
* recipients (which the hub addresses by MAP ULID) into local agent ids
|
|
40
|
+
* (which the inbox addresses messages by). Returns undefined when no
|
|
41
|
+
* registered agent matches.
|
|
42
|
+
*/
|
|
43
|
+
findLocalAgentByMapId: (mapId: string) => string | undefined;
|
|
26
44
|
};
|
|
27
45
|
//# sourceMappingURL=lifecycle-bridge.d.ts.map
|
|
@@ -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,EACvB,aAAa,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GAC3D;
|
|
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;IACD,QAAQ,EAAE,sBAAsB,CAAC;IACjC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B;;;;;;;;OAQG;IACH,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7E;;;;;;OAMG;IACH,qBAAqB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAC9D,CA+KA"}
|
|
@@ -145,6 +145,28 @@ export function createLifecycleBridge(connection, agentStore, scope, taskBridge,
|
|
|
145
145
|
await Promise.allSettled(promises);
|
|
146
146
|
registered.clear();
|
|
147
147
|
};
|
|
148
|
-
|
|
148
|
+
/**
|
|
149
|
+
* Block until the named agent's hub-side registration completes (entry
|
|
150
|
+
* has been assigned a mapId by the `map/agents/register` response) or
|
|
151
|
+
* the timeout elapses. Polls the local `registered` map.
|
|
152
|
+
*/
|
|
153
|
+
const awaitRegistration = async (agentId, timeoutMs = 5000) => {
|
|
154
|
+
const deadline = Date.now() + timeoutMs;
|
|
155
|
+
while (Date.now() < deadline) {
|
|
156
|
+
const entry = registered.get(agentId);
|
|
157
|
+
if (entry?.mapId)
|
|
158
|
+
return true;
|
|
159
|
+
await new Promise((r) => setTimeout(r, 50));
|
|
160
|
+
}
|
|
161
|
+
return Boolean(registered.get(agentId)?.mapId);
|
|
162
|
+
};
|
|
163
|
+
const findLocalAgentByMapId = (mapId) => {
|
|
164
|
+
for (const [localId, entry] of registered) {
|
|
165
|
+
if (entry.mapId === mapId)
|
|
166
|
+
return localId;
|
|
167
|
+
}
|
|
168
|
+
return undefined;
|
|
169
|
+
};
|
|
170
|
+
return { callback, cleanup, awaitRegistration, findLocalAgentByMapId };
|
|
149
171
|
}
|
|
150
172
|
//# sourceMappingURL=lifecycle-bridge.js.map
|
|
@@ -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,EACvB,aAA4D;
|
|
1
|
+
{"version":3,"file":"lifecycle-bridge.js","sourceRoot":"","sources":["../../src/map/lifecycle-bridge.ts"],"names":[],"mappings":"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"}
|