@groundnuty/macf-channel-server 0.2.55 → 0.2.57

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.
@@ -36,6 +36,11 @@ import type { NotifyPayload } from '@groundnuty/macf-core';
36
36
  * trusted clients (fine under mTLS).
37
37
  * - **source**: from `Message.metadata.source` (sender agent name); falls
38
38
  * back to a generic label when absent.
39
+ * - **reply_to** (macf#790 Gap 2): from `Message.metadata.reply_to` — the
40
+ * sender's canonical `<project>/<name>` reply address (stamped by
41
+ * `notify-peer.ts`'s `buildA2aMessageFromPayload`). Carried straight
42
+ * through so `formatNotifyContent` can surface it to the recipient;
43
+ * omitted when absent (pre-#790 senders) or non-string.
39
44
  */
40
45
  export declare function a2aMessageToNotifyPayload(message: Message): NotifyPayload;
41
46
  //# sourceMappingURL=a2a-delivery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"a2a-delivery.d.ts","sourceRoot":"","sources":["../src/a2a-delivery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAU3D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAmBzE"}
1
+ {"version":3,"file":"a2a-delivery.d.ts","sourceRoot":"","sources":["../src/a2a-delivery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAU3D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAqBzE"}
@@ -24,6 +24,11 @@ function isKnownEvent(v) {
24
24
  * trusted clients (fine under mTLS).
25
25
  * - **source**: from `Message.metadata.source` (sender agent name); falls
26
26
  * back to a generic label when absent.
27
+ * - **reply_to** (macf#790 Gap 2): from `Message.metadata.reply_to` — the
28
+ * sender's canonical `<project>/<name>` reply address (stamped by
29
+ * `notify-peer.ts`'s `buildA2aMessageFromPayload`). Carried straight
30
+ * through so `formatNotifyContent` can surface it to the recipient;
31
+ * omitted when absent (pre-#790 senders) or non-string.
27
32
  */
28
33
  export function a2aMessageToNotifyPayload(message) {
29
34
  const body = message.parts
@@ -32,6 +37,7 @@ export function a2aMessageToNotifyPayload(message) {
32
37
  .join('\n');
33
38
  const meta = message.metadata ?? {};
34
39
  const rawEvent = meta['event'];
40
+ const rawReplyTo = meta['reply_to'];
35
41
  const source = typeof meta['source'] === 'string' && meta['source'].length > 0
36
42
  ? meta['source']
37
43
  : 'a2a-peer';
@@ -41,6 +47,7 @@ export function a2aMessageToNotifyPayload(message) {
41
47
  message: body,
42
48
  // Omit `event` entirely when unrecognized → decideWake → skip (push-only).
43
49
  ...(isKnownEvent(rawEvent) ? { event: rawEvent } : {}),
50
+ ...(typeof rawReplyTo === 'string' && rawReplyTo.length > 0 ? { reply_to: rawReplyTo } : {}),
44
51
  };
45
52
  }
46
53
  //# sourceMappingURL=a2a-delivery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"a2a-delivery.js","sourceRoot":"","sources":["../src/a2a-delivery.ts"],"names":[],"mappings":"AAkBA,sEAAsE;AACtE,MAAM,YAAY,GAAG,CAAC,aAAa,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AAGlF,SAAS,YAAY,CAAC,CAAU;IAC9B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAK,YAAkC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK;SACvB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACjF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;SAC3B,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC;QAC5E,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAChB,CAAC,CAAC,UAAU,CAAC;IAEf,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,MAAM;QACN,OAAO,EAAE,IAAI;QACb,2EAA2E;QAC3E,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"a2a-delivery.js","sourceRoot":"","sources":["../src/a2a-delivery.ts"],"names":[],"mappings":"AAkBA,sEAAsE;AACtE,MAAM,YAAY,GAAG,CAAC,aAAa,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AAGlF,SAAS,YAAY,CAAC,CAAU;IAC9B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAK,YAAkC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK;SACvB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACjF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;SAC3B,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC;QAC5E,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAChB,CAAC,CAAC,UAAU,CAAC;IAEf,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,MAAM;QACN,OAAO,EAAE,IAAI;QACb,2EAA2E;QAC3E,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,GAAG,CAAC,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7F,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"notify-formatter.d.ts","sourceRoot":"","sources":["../src/notify-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,eAAe,CAiH3E"}
1
+ {"version":3,"file":"notify-formatter.d.ts","sourceRoot":"","sources":["../src/notify-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,eAAe,CAc3E"}
@@ -1,4 +1,19 @@
1
1
  export function formatNotifyContent(payload) {
2
+ const formatted = renderNotifyContent(payload);
3
+ // macf#790 Gap 2: when the sender stamped a canonical `<project>/<name>`
4
+ // reply-to slug, surface it explicitly so the recipient agent has an
5
+ // unambiguous reply address instead of guessing from the bare `source` —
6
+ // a guest replying to a bare routing label resolves inside its OWN
7
+ // project and never reaches the sender's home fleet. Applies uniformly
8
+ // across every rendered variant that can carry `reply_to` (peer_notification
9
+ // + mention today, both the legacy `/notify` path and the A2A message
10
+ // path once converted to NotifyPayload — see a2a-delivery.ts).
11
+ if (payload.reply_to !== undefined && payload.reply_to.length > 0) {
12
+ return { ...formatted, content: `${formatted.content}\n(reply to: ${payload.reply_to})` };
13
+ }
14
+ return formatted;
15
+ }
16
+ function renderNotifyContent(payload) {
2
17
  if (payload.type === 'issue_routed') {
3
18
  if (payload.issue_number !== undefined) {
4
19
  const suffix = payload.title ? `: ${payload.title}` : '';
@@ -1 +1 @@
1
- {"version":3,"file":"notify-formatter.js","sourceRoot":"","sources":["../src/notify-formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notify-formatter.js","sourceRoot":"","sources":["../src/notify-formatter.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ export declare const NotifyPeerOutputSchema: {
23
23
  readonly channel_state: z.ZodEnum<{
24
24
  online: "online";
25
25
  offline: "offline";
26
+ "no-peer-resolved": "no-peer-resolved";
26
27
  }>;
27
28
  readonly peers_attempted: z.ZodNumber;
28
29
  readonly peers_delivered: z.ZodNumber;
@@ -31,6 +32,20 @@ export declare const NotifyPeerOutputSchema: {
31
32
  export interface NotifyPeerDeps {
32
33
  readonly registry: Registry;
33
34
  readonly selfAgentName: string;
35
+ /**
36
+ * macf#790 Gap 2: this agent's canonical cross-fleet reply-to slug, in
37
+ * `<project>/<routing-label>` form (e.g. `icsoc-2026/science-agent`).
38
+ * Computed ONCE at the wiring site (`server.ts`, where both `config.project`
39
+ * and `config.routingLabel` are available) — NOT derived here, so this
40
+ * module never needs to know about `ChannelServerConfig`. Stamped onto
41
+ * every outbound payload (legacy `reply_to` field + A2A
42
+ * `Message.metadata.reply_to`) so a cross-fleet guest recipient has an
43
+ * unambiguous address to reply to, instead of resolving the bare
44
+ * `source`/`selfAgentName` inside ITS OWN project (macf#790's confirmed
45
+ * live bug: a guest's reply to a bare routing-label never reaches the
46
+ * sender's home fleet).
47
+ */
48
+ readonly selfReplyTo: string;
34
49
  readonly mTlsClientCertPem: string;
35
50
  readonly mTlsClientKeyPem: string;
36
51
  readonly caCertPem: string;
@@ -117,7 +132,8 @@ export interface NotifyPeerInput {
117
132
  }
118
133
  export interface NotifyPeerResult {
119
134
  readonly delivered: boolean;
120
- readonly channel_state: 'online' | 'offline';
135
+ /** macf#790 Gap 1 — see `NotifyPeerOutputSchema.channel_state` doc. */
136
+ readonly channel_state: 'online' | 'offline' | 'no-peer-resolved';
121
137
  readonly peers_attempted: number;
122
138
  readonly peers_delivered: number;
123
139
  /** DR-041 Amendment A (macf#786) — see `NotifyPeerOutputSchema.error` doc. */
@@ -1 +1 @@
1
- {"version":3,"file":"notify-peer.d.ts","sourceRoot":"","sources":["../src/notify-peer.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,QAAQ,EAAa,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAOpD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,OAAO,EAAE,SAAS,EAAkB,MAAM,iBAAiB,CAAC;AAG5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEjE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;CAgBxB,CAAC;AAEX,eAAO,MAAM,sBAAsB;;;;;;;;;CAiBzB,CAAC;AAEX,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5D;;;;;;;;OAQG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC1D;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,yBAAyB,CAAC;CAC/D;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,iBAAiB,GAAG,eAAe,GAAG,OAAO,GAAG,QAAQ,CAAC;IACzF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,yFAAyF;IACzF,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAwaD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,gBAAgB,CAAC,CA2J3B;AAMD,uEAAuE;AACvE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,gBAAgB,CAAC,CAAC;AAQnF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,kBAAkB,EACxB,SAAS,SAAO,GACf;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;CAAE,CA6C1F"}
1
+ {"version":3,"file":"notify-peer.d.ts","sourceRoot":"","sources":["../src/notify-peer.ts"],"names":[],"mappings":"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"}
@@ -63,8 +63,13 @@ export const NotifyPeerInputSchema = {
63
63
  export const NotifyPeerOutputSchema = {
64
64
  delivered: z.boolean()
65
65
  .describe('True if at least one peer received HTTP 200 from /notify.'),
66
- channel_state: z.enum(['online', 'offline'])
67
- .describe('Aggregate state — "online" if at least one peer reachable, "offline" otherwise.'),
66
+ // macf#790 Gap 1: `no-peer-resolved` is distinct from `offline` — it means
67
+ // ADDRESS RESOLUTION failed (no peer was ever dialed), not that a real
68
+ // peer was attempted and found unreachable. Conflating the two reads as
69
+ // "my own channel-server is down" when the actual cause is a bad/
70
+ // unfederated `<project>/<name>` slug. See the `error` field doc below.
71
+ channel_state: z.enum(['online', 'offline', 'no-peer-resolved'])
72
+ .describe('Aggregate state — "online" if at least one peer reachable, "offline" if peers were attempted but unreachable, "no-peer-resolved" if address resolution itself failed (see `error`).'),
68
73
  peers_attempted: z.number().int().nonnegative()
69
74
  .describe('Number of peers the tool attempted to notify.'),
70
75
  peers_delivered: z.number().int().nonnegative()
@@ -235,7 +240,7 @@ function peerBaseUrl(peer) {
235
240
  * must be the SAME across every retry, and this function has no id of its
236
241
  * own to offer).
237
242
  */
238
- function buildLegacyPayload(input, selfAgentName) {
243
+ function buildLegacyPayload(input, selfAgentName, selfReplyTo) {
239
244
  return {
240
245
  type: 'peer_notification',
241
246
  source: selfAgentName,
@@ -247,6 +252,11 @@ function buildLegacyPayload(input, selfAgentName) {
247
252
  // legacy recv edge can't derive the anchor → silent drop + send/recv
248
253
  // graph-join asymmetry.
249
254
  ...(input.github_anchor != null ? { github_anchor: input.github_anchor } : {}),
255
+ // macf#790 Gap 2: the canonical `<project>/<name>` reply-to slug, always
256
+ // present (selfReplyTo is required on NotifyPeerDeps) — unlike `source`
257
+ // (the bare routing label), this is unambiguous for a cross-fleet guest
258
+ // recipient to reply to.
259
+ reply_to: selfReplyTo,
250
260
  };
251
261
  }
252
262
  /**
@@ -272,7 +282,7 @@ function buildLegacyPayload(input, selfAgentName) {
272
282
  * receiver-side metadata-driven wake-decision routing so that custom
273
283
  * events on the A2A path still wake the receiver TUI.
274
284
  */
275
- function buildA2aMessageFromPayload(input, selfAgentName, id) {
285
+ function buildA2aMessageFromPayload(input, selfAgentName, selfReplyTo, id) {
276
286
  const summary = input.message ?? `Notification from ${selfAgentName} (event=${input.event})`;
277
287
  return {
278
288
  messageId: id,
@@ -285,6 +295,10 @@ function buildA2aMessageFromPayload(input, selfAgentName, id) {
285
295
  // macf#473 piece 2: carry the github_anchor on the wire so the
286
296
  // receiver records the same anchor on its recv edge (graph join).
287
297
  ...(input.github_anchor != null ? { github_anchor: input.github_anchor } : {}),
298
+ // macf#790 Gap 2: mirror the legacy path's `reply_to` — the canonical
299
+ // `<project>/<name>` slug the receiver should reply to, distinct from
300
+ // the bare `source` routing label.
301
+ reply_to: selfReplyTo,
288
302
  },
289
303
  };
290
304
  }
@@ -388,12 +402,15 @@ async function dispatchToPeer(deps, peer, input, id, timeoutMs) {
388
402
  }
389
403
  let result;
390
404
  if (protocol === 'legacy') {
391
- const legacyPayload = { ...buildLegacyPayload(input, deps.selfAgentName), message_id: id };
405
+ const legacyPayload = {
406
+ ...buildLegacyPayload(input, deps.selfAgentName, deps.selfReplyTo),
407
+ message_id: id,
408
+ };
392
409
  result = await postToPeer(deps, peer, legacyPayload, timeoutMs);
393
410
  }
394
411
  else {
395
412
  // A2A path: construct message (stable id stamped in) + send + map outcome.
396
- const message = buildA2aMessageFromPayload(input, deps.selfAgentName, id);
413
+ const message = buildA2aMessageFromPayload(input, deps.selfAgentName, deps.selfReplyTo, id);
397
414
  try {
398
415
  const task = await deps.a2aClient.sendMessage(`${peerBaseUrl(peer)}`, message,
399
416
  // macf#590: the `target` becomes the span's `gen_ai.agent.name`
@@ -522,9 +539,15 @@ export async function notifyPeer(deps, input) {
522
539
  span.setAttribute(Attr.PeersAttempted, 0);
523
540
  span.setAttribute(Attr.PeersDelivered, 0);
524
541
  span.setStatus({ code: SpanStatusCode.ERROR, message: resolved.error });
542
+ // macf#790 Gap 1: this is an ADDRESS RESOLUTION failure (bad/
543
+ // unfederated `<project>/<name>` slug) — no peer was ever dialed.
544
+ // `channel_state: 'offline'` here previously misread as "my own
545
+ // channel-server is down"; `'no-peer-resolved'` names the actual
546
+ // cause. Distinct from the real-outage path below (peers WERE
547
+ // attempted and found unreachable), which stays `'offline'`.
525
548
  return {
526
549
  delivered: false,
527
- channel_state: 'offline',
550
+ channel_state: 'no-peer-resolved',
528
551
  peers_attempted: 0,
529
552
  peers_delivered: 0,
530
553
  error: resolved.error,
@@ -1 +1 @@
1
- {"version":3,"file":"notify-peer.js","sourceRoot":"","sources":["../src/notify-peer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notify-peer.js","sourceRoot":"","sources":["../src/notify-peer.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -52,14 +52,17 @@ import { createInboxTicker } from './delivery/inbox-ticker.js';
52
52
  // DR-041 Decision 1 (groundnuty/macf#784): cross-fleet multi-CA trust bundle.
53
53
  // Built ONCE at startup + threaded unchanged to all three mTLS-configuring
54
54
  // sites (inbound https.ts `ca:`, outbound a2a-client.ts + notify-peer.ts
55
- // `caCertPem`) — see trust-bundle.ts module doc for the full trust model.
55
+ // `caCertPem`) — see macf-core's trust-bundle.ts module doc for the full
56
+ // trust model. Moved to macf-core by DR-041 Amendment B (groundnuty/macf#794)
57
+ // so the `macf` CLI's guest-probe path can share the SAME security-critical
58
+ // resolution logic rather than duplicating it.
56
59
  // DR-041 Amendment A (groundnuty/macf#786): `loadFederatedCaProjects` is
57
60
  // called ONCE here (below) and its result threaded to BOTH the trust-bundle
58
61
  // PEM resolution AND the outbound messaging layer's `federatedCas` dep —
59
62
  // `buildTrustBundlePem`'s all-in-one orchestration is bypassed in favor of
60
63
  // its two constituent calls so the file is read/parsed exactly once
61
64
  // (single source, per the addressing-gate design on #786).
62
- import { loadFederatedCaProjects, resolveFederatedCaBundle } from './trust-bundle.js';
65
+ import { loadFederatedCaProjects, resolveFederatedCaBundle } from '@groundnuty/macf-core';
63
66
  async function main() {
64
67
  // Bootstrap OTEL BEFORE anything calls `trace.getTracer()` with
65
68
  // intent to record. Function is no-op when
@@ -557,6 +560,14 @@ async function main() {
557
560
  const notifyDispatchDeps = {
558
561
  registry,
559
562
  selfAgentName: config.agentName,
563
+ // macf#790 Gap 2: the canonical cross-fleet reply-to slug, computed ONCE
564
+ // here (the wiring site — the only place both `config.project` and
565
+ // `config.routingLabel` are naturally in scope) and threaded through
566
+ // notify-peer.ts's dispatch so every outbound payload carries an
567
+ // unambiguous `<project>/<name>` reply address rather than a bare
568
+ // routing label a cross-fleet guest would resolve inside its OWN
569
+ // project.
570
+ selfReplyTo: `${config.project}/${config.routingLabel}`,
560
571
  mTlsClientCertPem,
561
572
  mTlsClientKeyPem,
562
573
  caCertPem,
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import type { Registry } from '@groundnuty/macf-core';
2
2
  import type { HttpsServer, HealthState, Logger } from '@groundnuty/macf-core';
3
3
  /**
4
- * Registers SIGTERM, SIGINT, and MCP-stdin-close handlers that clean up
5
- * the agent's registry variable and stop the HTTPS server.
4
+ * Registers SIGTERM, SIGINT, SIGHUP, and MCP-stdin-close handlers that clean
5
+ * up the agent's registry variable and stop the HTTPS server.
6
6
  *
7
7
  * The channel-server runs as the Claude TUI's MCP stdio child. A normal TUI
8
8
  * exit (`/exit`, or SIGTERM-to-the-TUI) does NOT deliver a SIGTERM/SIGINT to
@@ -12,6 +12,37 @@ import type { HttpsServer, HealthState, Logger } from '@groundnuty/macf-core';
12
12
  * DR-031 TTL heartbeat (#589) remains the backstop for hard kills (SIGKILL /
13
13
  * OOM / power loss) where no handler runs at all.
14
14
  *
15
+ * macf#1035: `#627`'s stdin wiring was verified live to NOT actually
16
+ * deregister, despite passing every existing (mocked-`process.exit`) unit
17
+ * test. Root-caused to two independent, additive defects, both fixed here:
18
+ *
19
+ * 1. **Once-guard stale-value race (this file).** The previous guard was a
20
+ * `shuttingDown` boolean + a `lastResult` snapshot updated only when the
21
+ * WINNING invocation finished. Node's stdin 'end' is ALWAYS immediately
22
+ * followed by 'close' (`autoDestroy`/`emitClose` default `true` — verified
23
+ * empirically via a real child-process repro, not a rare race), and both
24
+ * are wired to the same handler. The 'close'-triggered second call saw
25
+ * `shuttingDown === true` and returned `lastResult` — which was still its
26
+ * *initial* value (`true`), because the first (real) call was still
27
+ * awaiting the async registry delete. That spurious `true` needs only one
28
+ * microtask hop to resolve, so its `process.exit(0)` always won the race
29
+ * against the real cleanup's multi-await chain (a genuine network round
30
+ * trip) and killed the process mid-deregister — on every graceful exit,
31
+ * not occasionally. Existing tests never caught this because they mock
32
+ * `process.exit`, so the abandoned real cleanup kept running silently in
33
+ * the background instead of being cut off (see `cleanupPromise` below for
34
+ * the fix: memoize the in-flight PROMISE, not a boolean-plus-snapshot).
35
+ * 2. **SIGHUP was unhandled (fixed by the new `process.on('SIGHUP', ...)`
36
+ * below).** Verified live via a tmux-topology repro matching how
37
+ * `claude.sh` actually launches agents (DR-013 tmux self-wrap execs into
38
+ * `claude`, which spawns the channel-server as a non-detached child —
39
+ * same session/process group as the pty): tearing down the pane after the
40
+ * simulated TUI process exits (tmux's default `remain-on-exit off`
41
+ * destroys the pty) delivers SIGHUP to the still-running channel-server
42
+ * child. SIGHUP's default disposition is immediate termination with NO
43
+ * handler run — worse than defect 1, since it skips the graceful path
44
+ * (and the stdin 'end' event) entirely rather than merely racing it.
45
+ *
15
46
  * Returns a cleanup function that can also be called directly.
16
47
  */
17
48
  export declare function registerShutdownHandler(config: {
@@ -1 +1 @@
1
- {"version":3,"file":"shutdown.d.ts","sourceRoot":"","sources":["../src/shutdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE9E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IAC3D;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IACtD;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IACrD;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;CAChD,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAgJzC"}
1
+ {"version":3,"file":"shutdown.d.ts","sourceRoot":"","sources":["../src/shutdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IAC3D;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IACtD;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IACrD;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;CAChD,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CA6KzC"}
package/dist/shutdown.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
- * Registers SIGTERM, SIGINT, and MCP-stdin-close handlers that clean up
3
- * the agent's registry variable and stop the HTTPS server.
2
+ * Registers SIGTERM, SIGINT, SIGHUP, and MCP-stdin-close handlers that clean
3
+ * up the agent's registry variable and stop the HTTPS server.
4
4
  *
5
5
  * The channel-server runs as the Claude TUI's MCP stdio child. A normal TUI
6
6
  * exit (`/exit`, or SIGTERM-to-the-TUI) does NOT deliver a SIGTERM/SIGINT to
@@ -10,16 +10,50 @@
10
10
  * DR-031 TTL heartbeat (#589) remains the backstop for hard kills (SIGKILL /
11
11
  * OOM / power loss) where no handler runs at all.
12
12
  *
13
+ * macf#1035: `#627`'s stdin wiring was verified live to NOT actually
14
+ * deregister, despite passing every existing (mocked-`process.exit`) unit
15
+ * test. Root-caused to two independent, additive defects, both fixed here:
16
+ *
17
+ * 1. **Once-guard stale-value race (this file).** The previous guard was a
18
+ * `shuttingDown` boolean + a `lastResult` snapshot updated only when the
19
+ * WINNING invocation finished. Node's stdin 'end' is ALWAYS immediately
20
+ * followed by 'close' (`autoDestroy`/`emitClose` default `true` — verified
21
+ * empirically via a real child-process repro, not a rare race), and both
22
+ * are wired to the same handler. The 'close'-triggered second call saw
23
+ * `shuttingDown === true` and returned `lastResult` — which was still its
24
+ * *initial* value (`true`), because the first (real) call was still
25
+ * awaiting the async registry delete. That spurious `true` needs only one
26
+ * microtask hop to resolve, so its `process.exit(0)` always won the race
27
+ * against the real cleanup's multi-await chain (a genuine network round
28
+ * trip) and killed the process mid-deregister — on every graceful exit,
29
+ * not occasionally. Existing tests never caught this because they mock
30
+ * `process.exit`, so the abandoned real cleanup kept running silently in
31
+ * the background instead of being cut off (see `cleanupPromise` below for
32
+ * the fix: memoize the in-flight PROMISE, not a boolean-plus-snapshot).
33
+ * 2. **SIGHUP was unhandled (fixed by the new `process.on('SIGHUP', ...)`
34
+ * below).** Verified live via a tmux-topology repro matching how
35
+ * `claude.sh` actually launches agents (DR-013 tmux self-wrap execs into
36
+ * `claude`, which spawns the channel-server as a non-detached child —
37
+ * same session/process group as the pty): tearing down the pane after the
38
+ * simulated TUI process exits (tmux's default `remain-on-exit off`
39
+ * destroys the pty) delivers SIGHUP to the still-running channel-server
40
+ * child. SIGHUP's default disposition is immediate termination with NO
41
+ * handler run — worse than defect 1, since it skips the graceful path
42
+ * (and the stdin 'end' event) entirely rather than merely racing it.
43
+ *
13
44
  * Returns a cleanup function that can also be called directly.
14
45
  */
15
46
  export function registerShutdownHandler(config) {
16
47
  const { agentName, registry, instanceId, httpsServer, healthState, registryHeartbeat, outboxTicker, inboxTicker, logger } = config;
17
- let shuttingDown = false;
18
- let lastResult = true;
19
- async function cleanup(trigger) {
20
- if (shuttingDown)
21
- return lastResult;
22
- shuttingDown = true;
48
+ // macf#1035: memoize the IN-FLIGHT PROMISE, not a `shuttingDown` boolean +
49
+ // `lastResult` snapshot. The old shape returned `lastResult`'s stale
50
+ // default (`true`) to any trigger that arrived while the winning trigger's
51
+ // cleanup was still in flight (see the module docblock for the verified
52
+ // 'end'-then-'close' race). Sharing the actual promise means every caller
53
+ // — however many triggers land in the same tick — awaits the SAME real
54
+ // outcome; none can observe a not-yet-updated placeholder.
55
+ let cleanupPromise;
56
+ async function runCleanup(trigger) {
23
57
  logger.info('shutdown_start', {
24
58
  agent: agentName,
25
59
  ...(trigger !== undefined ? { trigger } : {}),
@@ -123,9 +157,21 @@ export function registerShutdownHandler(config) {
123
157
  ok = false;
124
158
  }
125
159
  logger.info('shutdown_complete', { agent: agentName, ok });
126
- lastResult = ok;
127
160
  return ok;
128
161
  }
162
+ // macf#1035: the exported `cleanup` is now a thin memoizing wrapper. The
163
+ // FIRST call assigns `cleanupPromise` synchronously (before `runCleanup`'s
164
+ // first `await` — `??=` and the assignment inside it happen in the same
165
+ // synchronous tick, so no second caller can ever race the assignment
166
+ // itself) and every subsequent call — regardless of trigger — returns that
167
+ // SAME promise. Only the winning trigger's value is ever passed to
168
+ // `runCleanup` (matches the pre-#1035 "trigger recorded once" contract);
169
+ // later triggers are ignored for logging purposes but correctly await the
170
+ // real, shared outcome instead of a stale placeholder.
171
+ function cleanup(trigger) {
172
+ cleanupPromise ??= runCleanup(trigger);
173
+ return cleanupPromise;
174
+ }
129
175
  // Exit 1 when any cleanup step failed so external monitors (systemd,
130
176
  // macf-actions heartbeat) surface the degraded state instead of
131
177
  // silently absorbing it into a clean exit (#103 R2). The `trigger` is
@@ -135,13 +181,25 @@ export function registerShutdownHandler(config) {
135
181
  };
136
182
  process.on('SIGTERM', handlerFor('SIGTERM'));
137
183
  process.on('SIGINT', handlerFor('SIGINT'));
184
+ // macf#1035: tmux teardown after a TUI `/exit` closes the pane's pty and
185
+ // delivers SIGHUP to the channel-server child (spawned by Claude Code
186
+ // without setsid/detach, so it shares the pty's foreground process group)
187
+ // — verified live via a tmux-topology repro. SIGHUP's default disposition
188
+ // is immediate, unconditional termination; without a handler the process
189
+ // dies before the stdin 'end' event below ever fires. This process has no
190
+ // useful existence without its parent TUI, so treating a hangup exactly
191
+ // like SIGTERM/SIGINT (graceful deregister, then exit) is the correct
192
+ // response, not merely a defensive one.
193
+ process.on('SIGHUP', handlerFor('SIGHUP'));
138
194
  // macf#627: a normal Claude-TUI exit does NOT signal this MCP-stdio child —
139
195
  // it only sees stdin reach EOF ('end') / be destroyed ('close') as the parent
140
196
  // departs. Wire the SAME deregister handler to both events so a graceful TUI
141
197
  // exit deregisters rather than stranding the registry slot until the DR-031
142
- // TTL backstop (#589). `cleanup()`'s once-guard (set synchronously before any
143
- // await) makes a stdin-close racing a SIGTERM — or 'end' then 'close' — run
144
- // the deregister exactly once. The child lingers ~8s after TUI exit
198
+ // TTL backstop (#589). `cleanup()`'s once-guard (memoized promise, set
199
+ // synchronously before any await — macf#1035) makes a stdin-close racing a
200
+ // SIGTERM — or 'end' then 'close' — run the deregister exactly once, and
201
+ // every racing trigger awaits the SAME real completion rather than a stale
202
+ // placeholder. The child lingers ~8s after TUI exit
145
203
  // (devops-observed), ample for the async deregister: the in-flight `cleanup()`
146
204
  // promise plus the still-bound HTTPS server keep the event loop alive, and we
147
205
  // exit only from `cleanup()`'s `.then()` — never mid-deregister.
@@ -1 +1 @@
1
- {"version":3,"file":"shutdown.js","sourceRoot":"","sources":["../src/shutdown.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAmDvC;IACC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACnI,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,UAAU,GAAG,IAAI,CAAC;IAEtB,KAAK,UAAU,OAAO,CAAC,OAAgB;QACrC,IAAI,YAAY;YAAE,OAAO,UAAU,CAAC;QACpC,YAAY,GAAG,IAAI,CAAC;QAEpB,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC5B,KAAK,EAAE,SAAS;YAChB,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9C,CAAC,CAAC;QACH,IAAI,EAAE,GAAG,IAAI,CAAC;QAEd,0EAA0E;QAC1E,yEAAyE;QACzE,2BAA2B;QAC3B,IAAI,CAAC;YACH,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;QACzE,CAAC;QAED,4EAA4E;QAC5E,8EAA8E;QAC9E,4EAA4E;QAC5E,IAAI,CAAC;YACH,iBAAiB,EAAE,IAAI,EAAE,EAAE,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,6DAA6D;QAC/D,CAAC;QAED,+EAA+E;QAC/E,kEAAkE;QAClE,IAAI,CAAC;YACH,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,6DAA6D;QAC/D,CAAC;QAED,qEAAqE;QACrE,uEAAuE;QACvE,eAAe;QACf,IAAI,CAAC;YACH,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,6DAA6D;QAC/D,CAAC;QAED,2EAA2E;QAC3E,6EAA6E;QAC7E,8EAA8E;QAC9E,yEAAyE;QACzE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,qBAAqB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAC3E,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;YACtF,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACxC,0EAA0E;gBAC1E,qEAAqE;gBACrE,sEAAsE;gBACtE,2BAA2B;gBAC3B,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE;oBACzC,KAAK,EAAE,SAAS;oBAChB,WAAW,EAAE,UAAU;oBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,MAAM,EAAE,gFAAgF;iBACzF,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACtC,4EAA4E;gBAC5E,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE;oBACzC,KAAK,EAAE,SAAS;oBAChB,WAAW,EAAE,UAAU;oBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,MAAM,EAAE,6BAA6B;iBACtC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,yEAAyE;gBACzE,uEAAuE;gBACvE,uEAAuE;gBACvE,wEAAwE;gBACxE,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;oBACzC,KAAK,EAAE,SAAS;oBAChB,WAAW,EAAE,UAAU;oBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC,CAAC;gBACH,EAAE,GAAG,KAAK,CAAC;YACb,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;gBACzC,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,UAAU;gBACvB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;YACH,EAAE,GAAG,KAAK,CAAC;QACb,CAAC;QAED,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;gBAC1C,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;YACH,EAAE,GAAG,KAAK,CAAC;QACb,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3D,UAAU,GAAG,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,qEAAqE;IACrE,gEAAgE;IAChE,sEAAsE;IACtE,6EAA6E;IAC7E,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,GAAS,EAAE;QACjD,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CACnB,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC9B,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CACtB,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE3C,4EAA4E;IAC5E,8EAA8E;IAC9E,6EAA6E;IAC7E,4EAA4E;IAC5E,8EAA8E;IAC9E,4EAA4E;IAC5E,oEAAoE;IACpE,+EAA+E;IAC/E,8EAA8E;IAC9E,iEAAiE;IACjE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;IAC5C,MAAM,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IACxD,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACnC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAErC,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"shutdown.js","sourceRoot":"","sources":["../src/shutdown.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@groundnuty/macf-channel-server",
3
- "version": "0.2.55",
3
+ "version": "0.2.57",
4
4
  "description": "MCP channel server for the Multi-Agent Coordination Framework. HTTPS + mTLS endpoint agents connect to for inter-agent messaging (notify), CI-completion routing, and /sign certificate issuance. Invoked by Claude Code's plugin via `npx -y @groundnuty/macf-channel-server` per DR-022.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -33,7 +33,7 @@
33
33
  "test:integration": "vitest run --config vitest.integration.config.ts"
34
34
  },
35
35
  "dependencies": {
36
- "@groundnuty/macf-core": "0.2.55",
36
+ "@groundnuty/macf-core": "0.2.57",
37
37
  "@modelcontextprotocol/sdk": "~1.29.0",
38
38
  "@opentelemetry/api": "1.9.1",
39
39
  "@opentelemetry/core": "2.7.0",
@@ -1,59 +0,0 @@
1
- import { MacfError } from '@groundnuty/macf-core';
2
- import type { GitHubVariablesClient, Logger } from '@groundnuty/macf-core';
3
- /** Raised when a declared `federated_cas` entry cannot be resolved to a CA PEM. */
4
- export declare class TrustBundleError extends MacfError {
5
- constructor(message: string);
6
- }
7
- /**
8
- * Read `<workspaceDir>/.github/macf-fleet.json` and return the declared
9
- * `federated_cas` project list. Pure file-IO + parse — no network.
10
- *
11
- * Degrades to `[]` (i.e. "no federation") on every "the file doesn't clearly
12
- * express federation intent" case: no workspaceDir, absent file, unparseable
13
- * JSON, or a schema violation. This is the SAFE default for a trust-boundary
14
- * config — an empty bundle-addition means "trust only my own CA," which is
15
- * strictly MORE conservative than the pre-#784 behavior, never less. This
16
- * mirrors `fleet-guests.ts`'s `loadGuestBindings` loud-but-degrade posture
17
- * for the same file. Contrast with `resolveFederatedCaBundle` below, which
18
- * FAILS LOUD once a project is unambiguously *declared* — degrading there
19
- * would silently narrow an operator's explicit trust intent.
20
- */
21
- export declare function loadFederatedCaProjects(workspaceDir: string | undefined, logger: Logger): readonly string[];
22
- /**
23
- * Resolve `federatedProjects` to their `<PROJECT>_CA_CERT` shared-registry
24
- * variables and concatenate them onto `ownCaCertPem`, producing the final
25
- * trust-bundle PEM string threaded to all three mTLS-configuring sites
26
- * (`https.ts` inbound, `a2a-client.ts` + `notify-peer.ts` outbound).
27
- *
28
- * Empty `federatedProjects` short-circuits to `ownCaCertPem` UNCHANGED — the
29
- * exact pre-#784 single-CA value, byte-for-byte — so the zero-federation
30
- * path has no observable difference from before this feature existed.
31
- *
32
- * THROWS `TrustBundleError` (never returns a partial bundle) when:
33
- * - `federatedProjects` is non-empty but `varsClient` is `undefined` (this
34
- * agent's registry is DR-024 local-mode, which has no shared-registry
35
- * variable to resolve a foreign project's CA from); or
36
- * - any declared project's `<PROJECT>_CA_CERT` variable read fails
37
- * (network/auth error) or resolves to `null`/empty (variable absent).
38
- *
39
- * Exported standalone (no file IO) so tests can exercise every resolution
40
- * outcome — success, missing-var, read-error, local-mode-with-federation —
41
- * without needing a real `.github/macf-fleet.json` fixture.
42
- */
43
- export declare function resolveFederatedCaBundle(ownCaCertPem: string, federatedProjects: readonly string[], varsClient: GitHubVariablesClient | undefined, logger: Logger): Promise<string>;
44
- /**
45
- * Full orchestration: load `federated_cas` from the workspace's
46
- * `.github/macf-fleet.json` (degrade-to-`[]` on absent/malformed — safe
47
- * default), then resolve + concatenate into the final trust-bundle PEM
48
- * (fail-loud on an unresolvable DECLARED project — see module doc). This is
49
- * the single call `server.ts` makes at startup; its result is threaded
50
- * unchanged to `createHttpsServer`'s `caBundlePem`, `A2aClient`'s
51
- * `caCertPem`, and `notifyDispatchDeps.caCertPem`.
52
- */
53
- export declare function buildTrustBundlePem(deps: {
54
- readonly workspaceDir: string | undefined;
55
- readonly ownCaCertPem: string;
56
- readonly varsClient: GitHubVariablesClient | undefined;
57
- readonly logger: Logger;
58
- }): Promise<string>;
59
- //# sourceMappingURL=trust-bundle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trust-bundle.d.ts","sourceRoot":"","sources":["../src/trust-bundle.ts"],"names":[],"mappings":"AAsCA,OAAO,EAAE,SAAS,EAA2C,MAAM,uBAAuB,CAAC;AAC3F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3E,mFAAmF;AACnF,qBAAa,gBAAiB,SAAQ,SAAS;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,MAAM,EAAE,MAAM,GACb,SAAS,MAAM,EAAE,CAyBnB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,wBAAwB,CAC5C,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,SAAS,MAAM,EAAE,EACpC,UAAU,EAAE,qBAAqB,GAAG,SAAS,EAC7C,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CA0CjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,GAAG,OAAO,CAAC,MAAM,CAAC,CAGlB"}
@@ -1,158 +0,0 @@
1
- /**
2
- * DR-041 Decision 1 (cross-fleet trust federation, groundnuty/macf#784):
3
- * builds this channel-server's multi-CA mTLS trust bundle from its own CA +
4
- * zero-or-more federated fleets' CAs declared in `.github/macf-fleet.json`
5
- * `federated_cas` (macf-core `guest.ts` schema).
6
- *
7
- * v1 = the STATIC committed-bundle tier (DR-041 Decision 1c Tier v1): the
8
- * bundle is resolved ONCE at process startup from the shared registry (the
9
- * same GitHub-Variables backing this agent's OWN registry, per DR-006 shared
10
- * profile scope — a federated fleet's `<PROJECT>_CA_CERT` variable lives in
11
- * the same registry namespace as this fleet's own, just under a different
12
- * project prefix). Re-resolved on the next process restart if a federated
13
- * fleet rotates its CA (documented rotation model: re-commit + notify). The
14
- * well-known bundle-endpoint + poller tier (rotation-aware, live-fetched) is
15
- * v2 — documented, not built (backlog groundnuty/macf#783).
16
- *
17
- * SECURITY-CRITICAL trust-boundary code. Two invariants this module upholds
18
- * (DR-041 Decision 1b):
19
- *
20
- * 1. **Complete-allow-list, never partial.** The resulting bundle REPLACES
21
- * Node's default TLS root store at every consuming site (`https.ts`
22
- * inbound `ca:`, `a2a-client.ts` + `notify-peer.ts` outbound `ca:`), so
23
- * it MUST carry every CA this agent intends to trust. If a declared
24
- * `federated_cas` project's CA is unresolvable (registry read failure,
25
- * or the variable is simply absent), this module THROWS rather than
26
- * silently omitting that CA from the bundle — a silently-partial bundle
27
- * would present as the EXACT same symptom (a guest reading `offline`)
28
- * DR-041 exists to fix, with no signal pointing at the real cause. See
29
- * `.claude/rules/silent-fallback-hazards.md` — this is Pattern B
30
- * (reject-at-the-boundary) applied to a trust-anchor set.
31
- * 2. **All-or-nothing per fleet-CA, by design.** Federating a fleet's CA
32
- * trusts EVERY certificate that CA has signed or will sign — there is
33
- * no per-agent or per-skill restriction at this layer (DR-041 Decision
34
- * 4 explicitly defers finer-grained capability enforcement to a future
35
- * capability-token mechanism, NOT this bundle).
36
- */
37
- import { existsSync, readFileSync } from 'node:fs';
38
- import { join } from 'node:path';
39
- import { MacfError, parseMacfFleetConfig, toVariableSegment } from '@groundnuty/macf-core';
40
- /** Raised when a declared `federated_cas` entry cannot be resolved to a CA PEM. */
41
- export class TrustBundleError extends MacfError {
42
- constructor(message) {
43
- super('TRUST_BUNDLE_ERROR', message);
44
- this.name = 'TrustBundleError';
45
- }
46
- }
47
- /**
48
- * Read `<workspaceDir>/.github/macf-fleet.json` and return the declared
49
- * `federated_cas` project list. Pure file-IO + parse — no network.
50
- *
51
- * Degrades to `[]` (i.e. "no federation") on every "the file doesn't clearly
52
- * express federation intent" case: no workspaceDir, absent file, unparseable
53
- * JSON, or a schema violation. This is the SAFE default for a trust-boundary
54
- * config — an empty bundle-addition means "trust only my own CA," which is
55
- * strictly MORE conservative than the pre-#784 behavior, never less. This
56
- * mirrors `fleet-guests.ts`'s `loadGuestBindings` loud-but-degrade posture
57
- * for the same file. Contrast with `resolveFederatedCaBundle` below, which
58
- * FAILS LOUD once a project is unambiguously *declared* — degrading there
59
- * would silently narrow an operator's explicit trust intent.
60
- */
61
- export function loadFederatedCaProjects(workspaceDir, logger) {
62
- if (workspaceDir === undefined)
63
- return [];
64
- const path = join(workspaceDir, '.github', 'macf-fleet.json');
65
- if (!existsSync(path))
66
- return [];
67
- let raw;
68
- try {
69
- raw = JSON.parse(readFileSync(path, 'utf-8'));
70
- }
71
- catch (e) {
72
- logger.warn('trust_bundle_fleet_config_parse_failed', {
73
- path,
74
- error: e instanceof Error ? e.message : String(e),
75
- });
76
- return [];
77
- }
78
- try {
79
- return parseMacfFleetConfig(raw).federated_cas;
80
- }
81
- catch (e) {
82
- logger.warn('trust_bundle_fleet_config_invalid', {
83
- path,
84
- error: e instanceof Error ? e.message : String(e),
85
- });
86
- return [];
87
- }
88
- }
89
- /**
90
- * Resolve `federatedProjects` to their `<PROJECT>_CA_CERT` shared-registry
91
- * variables and concatenate them onto `ownCaCertPem`, producing the final
92
- * trust-bundle PEM string threaded to all three mTLS-configuring sites
93
- * (`https.ts` inbound, `a2a-client.ts` + `notify-peer.ts` outbound).
94
- *
95
- * Empty `federatedProjects` short-circuits to `ownCaCertPem` UNCHANGED — the
96
- * exact pre-#784 single-CA value, byte-for-byte — so the zero-federation
97
- * path has no observable difference from before this feature existed.
98
- *
99
- * THROWS `TrustBundleError` (never returns a partial bundle) when:
100
- * - `federatedProjects` is non-empty but `varsClient` is `undefined` (this
101
- * agent's registry is DR-024 local-mode, which has no shared-registry
102
- * variable to resolve a foreign project's CA from); or
103
- * - any declared project's `<PROJECT>_CA_CERT` variable read fails
104
- * (network/auth error) or resolves to `null`/empty (variable absent).
105
- *
106
- * Exported standalone (no file IO) so tests can exercise every resolution
107
- * outcome — success, missing-var, read-error, local-mode-with-federation —
108
- * without needing a real `.github/macf-fleet.json` fixture.
109
- */
110
- export async function resolveFederatedCaBundle(ownCaCertPem, federatedProjects, varsClient, logger) {
111
- if (federatedProjects.length === 0) {
112
- return ownCaCertPem;
113
- }
114
- if (varsClient === undefined) {
115
- throw new TrustBundleError(`DR-041 federated_cas declares ${federatedProjects.length} federated project(s) ` +
116
- `(${federatedProjects.join(', ')}) but this agent's registry is DR-024 local-mode, ` +
117
- 'which has no shared GitHub-Variables registry to resolve a foreign fleet\'s CA from. ' +
118
- 'Cross-fleet CA federation (DR-041) requires a GitHub-backed registry (repo/org/profile). ' +
119
- 'Remove federated_cas from .github/macf-fleet.json, or switch this agent off local mode.');
120
- }
121
- const parts = [ownCaCertPem];
122
- for (const project of federatedProjects) {
123
- const varName = `${toVariableSegment(project)}_CA_CERT`;
124
- let pem;
125
- try {
126
- pem = await varsClient.readVariable(varName);
127
- }
128
- catch (e) {
129
- throw new TrustBundleError(`DR-041 federated_cas: failed to read registry variable "${varName}" for declared ` +
130
- `federated project "${project}": ${e instanceof Error ? e.message : String(e)}. ` +
131
- 'Refusing to start with an INCOMPLETE trust bundle (a partial bundle would present ' +
132
- 'as the exact same "guest reads offline" symptom DR-041 fixes, with no signal why).');
133
- }
134
- if (pem === null || pem.trim() === '') {
135
- throw new TrustBundleError(`DR-041 federated_cas: registry variable "${varName}" is missing/empty for declared ` +
136
- `federated project "${project}". Run \`macf certs\` on that project first to publish ` +
137
- 'its CA, or remove the project from federated_cas. Refusing to start with an ' +
138
- 'INCOMPLETE trust bundle.');
139
- }
140
- parts.push(pem);
141
- logger.info('trust_bundle_federated_ca_added', { project, variable: varName });
142
- }
143
- return parts.join('\n');
144
- }
145
- /**
146
- * Full orchestration: load `federated_cas` from the workspace's
147
- * `.github/macf-fleet.json` (degrade-to-`[]` on absent/malformed — safe
148
- * default), then resolve + concatenate into the final trust-bundle PEM
149
- * (fail-loud on an unresolvable DECLARED project — see module doc). This is
150
- * the single call `server.ts` makes at startup; its result is threaded
151
- * unchanged to `createHttpsServer`'s `caBundlePem`, `A2aClient`'s
152
- * `caCertPem`, and `notifyDispatchDeps.caCertPem`.
153
- */
154
- export async function buildTrustBundlePem(deps) {
155
- const federatedProjects = loadFederatedCaProjects(deps.workspaceDir, deps.logger);
156
- return resolveFederatedCaBundle(deps.ownCaCertPem, federatedProjects, deps.varsClient, deps.logger);
157
- }
158
- //# sourceMappingURL=trust-bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trust-bundle.js","sourceRoot":"","sources":["../src/trust-bundle.ts"],"names":[],"mappings":"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"}