@groundnuty/macf-channel-server 0.2.46 → 0.2.48

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.
Files changed (51) hide show
  1. package/dist/collision.d.ts +28 -3
  2. package/dist/collision.d.ts.map +1 -1
  3. package/dist/collision.js +78 -18
  4. package/dist/collision.js.map +1 -1
  5. package/dist/delivery/driver.d.ts +45 -0
  6. package/dist/delivery/driver.d.ts.map +1 -0
  7. package/dist/delivery/driver.js +34 -0
  8. package/dist/delivery/driver.js.map +1 -0
  9. package/dist/delivery/in-memory-store.d.ts +24 -0
  10. package/dist/delivery/in-memory-store.d.ts.map +1 -0
  11. package/dist/delivery/in-memory-store.js +60 -0
  12. package/dist/delivery/in-memory-store.js.map +1 -0
  13. package/dist/delivery/inbox-drain-driver.d.ts +150 -0
  14. package/dist/delivery/inbox-drain-driver.d.ts.map +1 -0
  15. package/dist/delivery/inbox-drain-driver.js +109 -0
  16. package/dist/delivery/inbox-drain-driver.js.map +1 -0
  17. package/dist/delivery/inbox-ticker.d.ts +45 -0
  18. package/dist/delivery/inbox-ticker.d.ts.map +1 -0
  19. package/dist/delivery/inbox-ticker.js +68 -0
  20. package/dist/delivery/inbox-ticker.js.map +1 -0
  21. package/dist/delivery/inbox.d.ts +57 -0
  22. package/dist/delivery/inbox.d.ts.map +1 -0
  23. package/dist/delivery/inbox.js +19 -0
  24. package/dist/delivery/inbox.js.map +1 -0
  25. package/dist/delivery/message-id.d.ts +10 -0
  26. package/dist/delivery/message-id.d.ts.map +1 -0
  27. package/dist/delivery/message-id.js +33 -0
  28. package/dist/delivery/message-id.js.map +1 -0
  29. package/dist/delivery/outbox-ticker.d.ts +50 -0
  30. package/dist/delivery/outbox-ticker.d.ts.map +1 -0
  31. package/dist/delivery/outbox-ticker.js +49 -0
  32. package/dist/delivery/outbox-ticker.js.map +1 -0
  33. package/dist/delivery/outbox.d.ts +105 -0
  34. package/dist/delivery/outbox.d.ts.map +1 -0
  35. package/dist/delivery/outbox.js +103 -0
  36. package/dist/delivery/outbox.js.map +1 -0
  37. package/dist/https.d.ts +24 -0
  38. package/dist/https.d.ts.map +1 -1
  39. package/dist/https.js +70 -4
  40. package/dist/https.js.map +1 -1
  41. package/dist/notify-peer.d.ts +70 -0
  42. package/dist/notify-peer.d.ts.map +1 -1
  43. package/dist/notify-peer.js +142 -29
  44. package/dist/notify-peer.js.map +1 -1
  45. package/dist/server.js +100 -2
  46. package/dist/server.js.map +1 -1
  47. package/dist/shutdown.d.ts +18 -0
  48. package/dist/shutdown.d.ts.map +1 -1
  49. package/dist/shutdown.js +18 -1
  50. package/dist/shutdown.js.map +1 -1
  51. package/package.json +2 -2
@@ -0,0 +1,103 @@
1
+ import { mintMessageId } from './message-id.js';
2
+ /** Default exponential-backoff base (DR-038 Decision 4: "~1s → … → 5min"). */
3
+ export const DEFAULT_BACKOFF_BASE_MS = 1_000;
4
+ /** Default exponential-backoff cap (DR-038 Decision 4: "~1s → … → 5min"). */
5
+ export const DEFAULT_BACKOFF_CAP_MS = 5 * 60 * 1000;
6
+ /**
7
+ * Default wall-clock TTL bounding the retry budget. DR-038 Decision 4
8
+ * proposes 24h ("the 8h outage fits comfortably; a multi-day VM outage
9
+ * would dead-letter, correctly escalating to GitHub" — Open Questions).
10
+ */
11
+ export const DEFAULT_TTL_MS = 24 * 60 * 60 * 1000;
12
+ /**
13
+ * `baseMs * 2^attemptCount`, capped at `capMs`. `attemptCount` is the number
14
+ * of PRIOR failed attempts (0 on the first failure → backoff = `baseMs`).
15
+ * A wall-clock TTL bounds the retry budget (see `DEFAULT_TTL_MS`), NOT an
16
+ * attempt-count ceiling — an attempt count is meaningless across restart
17
+ * gaps of varying length (DR-038 Decision 4).
18
+ */
19
+ export function computeBackoffMs(attemptCount, baseMs = DEFAULT_BACKOFF_BASE_MS, capMs = DEFAULT_BACKOFF_CAP_MS) {
20
+ const exp = baseMs * Math.pow(2, Math.max(0, attemptCount));
21
+ return Math.min(exp, capMs);
22
+ }
23
+ export function createOutbox(deps) {
24
+ const { store, send, onDeadLetter, logger } = deps;
25
+ const now = deps.now ?? Date.now;
26
+ const backoffBaseMs = deps.backoffBaseMs ?? DEFAULT_BACKOFF_BASE_MS;
27
+ const backoffCapMs = deps.backoffCapMs ?? DEFAULT_BACKOFF_CAP_MS;
28
+ const ttlMs = deps.ttlMs ?? DEFAULT_TTL_MS;
29
+ async function enqueue(target, payload) {
30
+ const id = mintMessageId();
31
+ const t = now();
32
+ const entry = {
33
+ id,
34
+ target,
35
+ payload,
36
+ enqueuedAt: t,
37
+ nextAttemptAt: t, // eligible for the first attempt immediately
38
+ attemptCount: 0,
39
+ };
40
+ await store.enqueue(entry);
41
+ return id;
42
+ }
43
+ async function driveOnce(nowOverride) {
44
+ const t = nowOverride ?? now();
45
+ const pending = await store.listPending();
46
+ let attempted = 0;
47
+ let acked = 0;
48
+ let failed = 0;
49
+ let deadLettered = 0;
50
+ for (const entry of pending) {
51
+ if (entry.nextAttemptAt > t)
52
+ continue; // not due yet
53
+ // TTL check takes priority over attempting another send: once the
54
+ // wall-clock budget is spent, Decision 4 downgrades to the
55
+ // always-durable GitHub-anchored escalation rather than retrying
56
+ // further — dead-letter is a downgrade to a durable substrate, not
57
+ // "give up."
58
+ if (t - entry.enqueuedAt > ttlMs) {
59
+ await store.deadLetter(entry.id);
60
+ deadLettered++;
61
+ if (onDeadLetter !== undefined) {
62
+ try {
63
+ await onDeadLetter(entry);
64
+ }
65
+ catch (err) {
66
+ logger?.warn('outbox_dead_letter_callback_failed', {
67
+ id: entry.id,
68
+ target: entry.target,
69
+ error: err instanceof Error ? err.message : String(err),
70
+ });
71
+ }
72
+ }
73
+ continue;
74
+ }
75
+ attempted++;
76
+ let result;
77
+ try {
78
+ result = await send(entry.target, entry.id, entry.payload);
79
+ }
80
+ catch (err) {
81
+ logger?.warn('outbox_send_failed', {
82
+ id: entry.id,
83
+ target: entry.target,
84
+ error: err instanceof Error ? err.message : String(err),
85
+ });
86
+ result = { ack: false };
87
+ }
88
+ if (result.ack) {
89
+ await store.markAcked(entry.id);
90
+ acked++;
91
+ }
92
+ else {
93
+ failed++;
94
+ const nextAttemptCount = entry.attemptCount + 1;
95
+ const backoff = computeBackoffMs(entry.attemptCount, backoffBaseMs, backoffCapMs);
96
+ await store.reschedule(entry.id, t + backoff, nextAttemptCount);
97
+ }
98
+ }
99
+ return { attempted, acked, failed, deadLettered };
100
+ }
101
+ return { enqueue, driveOnce };
102
+ }
103
+ //# sourceMappingURL=outbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbox.js","sourceRoot":"","sources":["../../src/delivery/outbox.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA0BhD,8EAA8E;AAC9E,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAE7C,6EAA6E;AAC7E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAEpD;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,YAAoB,EACpB,SAAiB,uBAAuB,EACxC,QAAgB,sBAAsB;IAEtC,MAAM,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;IAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC9B,CAAC;AAgDD,MAAM,UAAU,YAAY,CAAC,IAAgB;IAC3C,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACjC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,uBAAuB,CAAC;IACpE,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,sBAAsB,CAAC;IACjE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,cAAc,CAAC;IAE3C,KAAK,UAAU,OAAO,CAAC,MAAc,EAAE,OAAgB;QACrD,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC;QAChB,MAAM,KAAK,GAAgB;YACzB,EAAE;YACF,MAAM;YACN,OAAO;YACP,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,CAAC,EAAE,6CAA6C;YAC/D,YAAY,EAAE,CAAC;SAChB,CAAC;QACF,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,UAAU,SAAS,CAAC,WAAoB;QAC3C,MAAM,CAAC,GAAG,WAAW,IAAI,GAAG,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC;gBAAE,SAAS,CAAC,cAAc;YAErD,kEAAkE;YAClE,2DAA2D;YAC3D,iEAAiE;YACjE,mEAAmE;YACnE,aAAa;YACb,IAAI,CAAC,GAAG,KAAK,CAAC,UAAU,GAAG,KAAK,EAAE,CAAC;gBACjC,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACjC,YAAY,EAAE,CAAC;gBACf,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC/B,IAAI,CAAC;wBACH,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;oBAC5B,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,EAAE,IAAI,CAAC,oCAAoC,EAAE;4BACjD,EAAE,EAAE,KAAK,CAAC,EAAE;4BACZ,MAAM,EAAE,KAAK,CAAC,MAAM;4BACpB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;yBACxD,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,SAAS;YACX,CAAC;YAED,SAAS,EAAE,CAAC;YACZ,IAAI,MAAwB,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE;oBACjC,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC,CAAC;gBACH,MAAM,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;YAC1B,CAAC;YAED,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;gBACf,MAAM,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAChC,KAAK,EAAE,CAAC;YACV,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,CAAC;gBACT,MAAM,gBAAgB,GAAG,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC;gBAChD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;gBAClF,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,EAAE,gBAAgB,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IACpD,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAChC,CAAC"}
package/dist/https.d.ts CHANGED
@@ -2,6 +2,7 @@ import type { NotifyPayload, SignRequest, HealthResponse, HttpsServer, Logger }
2
2
  import type { TaskStore } from './a2a-task.js';
3
3
  import type { CommsEvent, CommsLedgerEdge } from './comms-ledger.js';
4
4
  import type { Message } from './a2a-types.js';
5
+ import type { Inbox } from './delivery/inbox.js';
5
6
  export declare const PORT_RANGE_START = 8800;
6
7
  export declare const PORT_RANGE_SIZE = 1000;
7
8
  export declare const CLIENT_AUTH_EKU_OID = "1.3.6.1.5.5.7.3.2";
@@ -90,6 +91,29 @@ export declare function createHttpsServer(config: {
90
91
  * via `Message.taskId`.
91
92
  */
92
93
  readonly taskStore?: TaskStore;
94
+ /**
95
+ * DR-038 Slice B (groundnuty/macf#704): the durable receiver-side inbox for
96
+ * the direct A2A path — legacy `/notify` `type:peer_notification` payloads
97
+ * that carry a `message_id`, and every A2A `message/send` (its `Message.
98
+ * messageId` is spec-required, always present). When present, both recv
99
+ * sites call `inbox.accept(id, payload)` — an atomic dedup-and-persist —
100
+ * and return their HTTP 200 / JSON-RPC result ONLY AFTER it resolves
101
+ * (Decision 3's load-bearing persist-then-ACK ordering: returning 200
102
+ * before the persist would make the ACK mean "received" instead of
103
+ * "durably yours" — the exact silent-fallback shape Decision 3 exists to
104
+ * avoid). A redelivered id dedups (`wasNew: false`) — the existing entry
105
+ * is left untouched and `onNotify` is NOT re-invoked (no duplicate MCP
106
+ * push / tmux wake), but the handler still returns 200 (Decision 3: "a
107
+ * lost-in-transit 200 is safe... idempotent by construction"). Optional —
108
+ * omitted entirely preserves the exact pre-DR-038 behavior (call onNotify
109
+ * directly, no persist, no dedup) for channel-servers that haven't wired
110
+ * a store driver yet, and for GitHub-anchored /notify types (mention /
111
+ * issue_routed / pr_review_state / ci_completion / startup_check), which
112
+ * are OUT of DR-038 scope (Decision 1: GitHub stays the durable substrate
113
+ * for those; the inbox/outbox is the DIRECT path only) and never carry a
114
+ * `message_id` regardless of whether `inbox` is configured.
115
+ */
116
+ readonly inbox?: Inbox;
93
117
  readonly logger: Logger;
94
118
  /**
95
119
  * macf#473 piece 2 (DR-025): record an authoritative comms-ledger edge for
@@ -1 +1 @@
1
- {"version":3,"file":"https.d.ts","sourceRoot":"","sources":["../src/https.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AA+B7G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAG9C,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,eAAe,OAAO,CAAC;AAQpC,eAAO,MAAM,mBAAmB,sBAAsB,CAAC;AAEvD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE;IACjD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C,GAAG,OAAO,CAGV;AAUD,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AA+ED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG,UAAU,CAoBzE;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAY5E;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGvE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAYpE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC3D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUzB;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,QAAQ,CAAC,QAAQ,EAAE,MAAM,cAAc,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7E;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;;;;;OASG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;;;OAOG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5D;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,GAAG,WAAW,CAq6Bd"}
1
+ {"version":3,"file":"https.d.ts","sourceRoot":"","sources":["../src/https.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AA+B7G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAK9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAGjD,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,eAAe,OAAO,CAAC;AAQpC,eAAO,MAAM,mBAAmB,sBAAsB,CAAC;AAEvD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE;IACjD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C,GAAG,OAAO,CAGV;AAUD,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AA+ED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG,UAAU,CAoBzE;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAY5E;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGvE;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAYpE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC3D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUzB;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,QAAQ,CAAC,QAAQ,EAAE,MAAM,cAAc,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7E;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;;;;;OASG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;;;OAOG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5D;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,GAAG,WAAW,CAq+Bd"}
package/dist/https.js CHANGED
@@ -202,7 +202,7 @@ export function diagnosticAckBody(payload, ids) {
202
202
  return body;
203
203
  }
204
204
  export function createHttpsServer(config) {
205
- const { onNotify, onHealth, onSign, agentCard, taskStore, logger, recordLedgerEdge, selfAgentName, routingLabel, instanceId } = config;
205
+ const { onNotify, onHealth, onSign, agentCard, taskStore, inbox, logger, recordLedgerEdge, selfAgentName, routingLabel, instanceId } = config;
206
206
  const tlsOptions = {
207
207
  key: readFileSync(config.agentKeyPath),
208
208
  cert: readFileSync(config.agentCertPath),
@@ -411,7 +411,38 @@ export function createHttpsServer(config) {
411
411
  trace_id: span.spanContext().traceId,
412
412
  });
413
413
  }
414
- await onNotify(result.data);
414
+ // DR-038 Slice B: the direct A2A path (legacy `peer_notification`
415
+ // carrying a sender-stamped `message_id`) routes through the
416
+ // durable inbox when one is configured. `accept()` is the
417
+ // atomic dedup-and-persist primitive (Decision 6); the caller
418
+ // MUST await it fully before the HTTP 200 below is ever sent —
419
+ // Decision 3's load-bearing persist-then-ACK ordering. Every
420
+ // OTHER notify type (mention / issue_routed / pr_review_state /
421
+ // ci_completion / startup_check — GitHub-anchored, out of
422
+ // DR-038 scope per Decision 1) and any pre-DR-038 sender that
423
+ // omitted `message_id` fall through to the unchanged direct
424
+ // onNotify call.
425
+ const messageId = result.data.type === 'peer_notification' ? result.data.message_id : undefined;
426
+ if (messageId !== undefined && inbox !== undefined) {
427
+ const accepted = await inbox.accept(messageId, result.data);
428
+ if (accepted.wasNew) {
429
+ await onNotify(result.data);
430
+ await inbox.markProcessed(messageId);
431
+ }
432
+ else {
433
+ // Redelivery (sender retried after a lost-in-transit 200,
434
+ // DR-038 Decision 3): existing entry untouched, onNotify NOT
435
+ // re-invoked (no duplicate MCP push / tmux wake). Still
436
+ // returns 200 below — idempotent by construction.
437
+ logger.info('notify_inbox_dedup', {
438
+ message_id: messageId,
439
+ type: result.data.type,
440
+ });
441
+ }
442
+ }
443
+ else {
444
+ await onNotify(result.data);
445
+ }
415
446
  sendJson(res, 200, { status: 'received' });
416
447
  span.setStatus({ code: SpanStatusCode.OK });
417
448
  }
@@ -801,6 +832,41 @@ export function createHttpsServer(config) {
801
832
  trace_id: span.spanContext().traceId,
802
833
  });
803
834
  };
835
+ // DR-038 Slice B: the durable inbox wraps `onNotify` for the A2A
836
+ // path — `Message.messageId` is spec-required (always present,
837
+ // unlike the legacy path's optional `message_id`), so every A2A
838
+ // `message/send` gets inbox dedup whenever `inbox` is configured.
839
+ // Same persist-THEN-ack/process ordering as the legacy `/notify`
840
+ // handler; called from both delivering branches below (resume +
841
+ // fresh happy-path).
842
+ const deliverA2aMessage = async (msg) => {
843
+ // DR-038 #744: persist the CONVERTED NotifyPayload (not the raw
844
+ // `Message`) so `entry.payload` is uniformly a NotifyPayload at
845
+ // BOTH `inbox.accept` sites (legacy `/notify` above + this A2A
846
+ // path). The inbox orphan-drain ticker (`inbox-drain-driver.ts`)
847
+ // re-fires `onNotify(entry.payload as NotifyPayload)` directly;
848
+ // persisting the raw `Message` here would make an A2A orphan
849
+ // re-fire `onNotify(Message)` → every NotifyPayload field
850
+ // (`type`/`event`/`message`/`source`) undefined → a malformed,
851
+ // context-free re-delivery. Convert ONCE + reuse for both the
852
+ // persist and the live `onNotify` (dedup keys on `id`, and both
853
+ // drainers consume the payload as a NotifyPayload — nothing
854
+ // downstream needs the raw `Message` post-accept).
855
+ const payload = a2aMessageToNotifyPayload(msg);
856
+ if (inbox !== undefined) {
857
+ const accepted = await inbox.accept(msg.messageId, payload);
858
+ if (accepted.wasNew) {
859
+ await onNotify(payload);
860
+ await inbox.markProcessed(msg.messageId);
861
+ }
862
+ else {
863
+ logger.info('a2a_inbox_dedup', { message_id: msg.messageId });
864
+ }
865
+ }
866
+ else {
867
+ await onNotify(payload);
868
+ }
869
+ };
804
870
  // macf#392 Phase 2b: resume branch. If incoming Message.taskId
805
871
  // is set, the client is resuming a paused task (INPUT_REQUIRED
806
872
  // or AUTH_REQUIRED state); dispatch to TaskStore.resume() instead
@@ -818,7 +884,7 @@ export function createHttpsServer(config) {
818
884
  // not just happy-path — avoids a deliver/silently-drop asymmetry).
819
885
  // See the happy-path call below for the ordering + wake rationale.
820
886
  recordA2aRecvEdge(); // macf#473: append-before-deliver
821
- await onNotify(a2aMessageToNotifyPayload(incomingMessage));
887
+ await deliverA2aMessage(incomingMessage);
822
888
  sendA2aJson(res, 200, {
823
889
  jsonrpc: '2.0',
824
890
  id: envelope.data.id,
@@ -892,7 +958,7 @@ export function createHttpsServer(config) {
892
958
  // NB: the REJECTED test-fixture branch above intentionally does
893
959
  // NOT deliver — a rejected message was declined, not received.
894
960
  recordA2aRecvEdge(); // macf#473: append-before-deliver
895
- await onNotify(a2aMessageToNotifyPayload(incomingMessage));
961
+ await deliverA2aMessage(incomingMessage);
896
962
  sendA2aJson(res, 200, {
897
963
  jsonrpc: '2.0',
898
964
  id: envelope.data.id,
package/dist/https.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"https.js","sourceRoot":"","sources":["../src/https.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"https.js","sourceRoot":"","sources":["../src/https.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import type { Logger } from '@groundnuty/macf-core';
3
3
  import { z } from 'zod';
4
4
  import { A2aClient } from './a2a-client.js';
5
5
  import type { CommsLedgerEdge } from './comms-ledger.js';
6
+ import type { Outbox, OutboxSendFn } from './delivery/outbox.js';
6
7
  export declare const NotifyPeerInputSchema: {
7
8
  readonly to: z.ZodOptional<z.ZodString>;
8
9
  readonly event: z.ZodEnum<{
@@ -47,6 +48,33 @@ export interface NotifyPeerDeps {
47
48
  * `recordEdge`).
48
49
  */
49
50
  readonly recordLedgerEdge?: (edge: CommsLedgerEdge) => void;
51
+ /**
52
+ * DR-038 Slice B: the durable, process-lifetime outbox `notifyPeer()` now
53
+ * enqueues every dispatch through (persist-then-send, Decision 1), instead
54
+ * of dispatching directly. Constructed ONCE at server startup (`server.ts`)
55
+ * over a pluggable `OutboxStore` driver (`delivery/driver.ts`) with `send`
56
+ * wired to `createNotifyOutboxSend()`'s adapter (below) — so retry state
57
+ * survives across `notify_peer` calls (and, once a durable store driver
58
+ * lands per DR-008, across this sender's own restarts).
59
+ */
60
+ readonly outbox: Outbox;
61
+ /**
62
+ * DR-038 Slice B: the read-once side-channel populated by
63
+ * `createNotifyOutboxSend()`'s adapter on every send attempt, keyed by
64
+ * outbox message-id. `Outbox.driveOnce()`'s public contract only returns
65
+ * AGGREGATE counts (attempted/acked/failed/deadLettered), not per-entry
66
+ * outcomes — this map is what lets `notifyPeer()` recover the SAME
67
+ * per-peer {httpOk, transportOk} granularity the pre-DR-038 direct-dispatch
68
+ * path returned synchronously (needed to preserve the `channel_state`
69
+ * online-vs-offline distinction: "peer alive but rejected" vs "peer
70
+ * unreachable"). `notifyPeer()` reads-and-deletes its own ids after the
71
+ * immediate `driveOnce()` call; an id that needs a LATER retry (driven by
72
+ * the periodic `outbox-ticker.ts`, after the originating `notifyPeer()`
73
+ * call already returned) leaves one entry here that is simply overwritten
74
+ * on the next attempt for that id and never independently unbounded — see
75
+ * `createNotifyOutboxSend`'s doc comment for the full accepted-tradeoff note.
76
+ */
77
+ readonly outboxAttempts: Map<string, NotifyOutboxAttempt>;
50
78
  }
51
79
  export interface NotifyPeerInput {
52
80
  readonly to?: string;
@@ -80,4 +108,46 @@ export interface NotifyPeerResult {
80
108
  * this notify_peer span (cross-channel-server trace correlation).
81
109
  */
82
110
  export declare function notifyPeer(deps: NotifyPeerDeps, input: NotifyPeerInput): Promise<NotifyPeerResult>;
111
+ /** Per-attempt outcome recorded in `NotifyPeerDeps.outboxAttempts`. */
112
+ export interface NotifyOutboxAttempt {
113
+ readonly httpOk: boolean;
114
+ readonly transportOk: boolean;
115
+ }
116
+ /**
117
+ * Everything `createNotifyOutboxSend`'s adapter needs — exactly
118
+ * `NotifyPeerDeps` minus the two outbox-related fields (which don't exist
119
+ * yet at the point this factory is called: `server.ts` constructs the
120
+ * adapter FIRST, then wraps it in `createOutbox({ send, ... })`, and only
121
+ * THEN has a complete `NotifyPeerDeps` to hand to `notifyPeer()`).
122
+ */
123
+ export type NotifyDispatchDeps = Omit<NotifyPeerDeps, 'outbox' | 'outboxAttempts'>;
124
+ /**
125
+ * Build the `OutboxSendFn` wired to the real peer dispatch (legacy `/notify`
126
+ * POST or A2A `message/send`, per `selectOutboundProtocol`) — this is the
127
+ * seam DR-038 Decision 1's "persist-then-send" plugs the ACTUAL send into.
128
+ * Constructed ONCE at server startup (`server.ts`) and passed to
129
+ * `createOutbox({ send, ... })`; `server.ts` then folds the resulting
130
+ * `outbox` + `lastAttempts` into the full `NotifyPeerDeps` handed to
131
+ * `notifyPeer()`.
132
+ *
133
+ * The returned `lastAttempts` map is the read-once side-channel documented
134
+ * on `NotifyPeerDeps.outboxAttempts`: `Outbox.driveOnce()`'s public contract
135
+ * only returns aggregate attempted/acked/failed/deadLettered counts, not
136
+ * per-entry outcomes, so this is what recovers the granular
137
+ * {httpOk, transportOk} pair `notifyPeer()` needs to preserve the pre-DR-038
138
+ * `channel_state` distinction (peer-alive-but-rejected vs peer-unreachable)
139
+ * in its immediate return value. A message that needs a LATER retry (driven
140
+ * by `delivery/outbox-ticker.ts`'s periodic tick, after the originating
141
+ * `notifyPeer()` call has already read-and-deleted its own id) leaves one
142
+ * stale entry here — bounded by `MAX_TRACKED_ATTEMPTS` (FIFO eviction), so
143
+ * this is capped, not unbounded, even though it is not eagerly cleaned up
144
+ * the moment a message finally acks or dead-letters. Accepted tradeoff for
145
+ * this wiring slice; a follow-up could decorate `store.markAcked` /
146
+ * `store.deadLetter` to evict eagerly if the cap ever proves too coarse in
147
+ * practice.
148
+ */
149
+ export declare function createNotifyOutboxSend(deps: NotifyDispatchDeps, timeoutMs?: number): {
150
+ readonly send: OutboxSendFn;
151
+ readonly lastAttempts: Map<string, NotifyOutboxAttempt>;
152
+ };
83
153
  //# sourceMappingURL=notify-peer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"notify-peer.d.ts","sourceRoot":"","sources":["../src/notify-peer.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,QAAQ,EAAa,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,OAAO,EAAE,SAAS,EAAkB,MAAM,iBAAiB,CAAC;AAG5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;CAgBxB,CAAC;AAEX,eAAO,MAAM,sBAAsB;;;;;;;;CASzB,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;CAC7D;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;CAClC;AAmVD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,gBAAgB,CAAC,CA2H3B"}
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;AAEpD,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;;;;;;;;CASzB,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;CAC3D;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;CAClC;AAuXD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,gBAAgB,CAAC,CA0I3B;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,CAoC1F"}