@cello-protocol/daemon 0.0.53 → 0.0.54

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 (173) hide show
  1. package/dist/agent-handlers.d.ts +57 -0
  2. package/dist/agent-handlers.d.ts.map +1 -0
  3. package/dist/agent-handlers.js +360 -0
  4. package/dist/agent-handlers.js.map +1 -0
  5. package/dist/agent-id-migration.d.ts.map +1 -1
  6. package/dist/agent-id-migration.js +1 -0
  7. package/dist/agent-id-migration.js.map +1 -1
  8. package/dist/agent-loader.d.ts +3 -4
  9. package/dist/agent-loader.d.ts.map +1 -1
  10. package/dist/agent-loader.js +3 -4
  11. package/dist/agent-loader.js.map +1 -1
  12. package/dist/cbor-blob-migration.d.ts +8 -0
  13. package/dist/cbor-blob-migration.d.ts.map +1 -0
  14. package/dist/cbor-blob-migration.js +115 -0
  15. package/dist/cbor-blob-migration.js.map +1 -0
  16. package/dist/close-session-handler.d.ts +41 -0
  17. package/dist/close-session-handler.d.ts.map +1 -0
  18. package/dist/close-session-handler.js +399 -0
  19. package/dist/close-session-handler.js.map +1 -0
  20. package/dist/consortium-bootstrap.d.ts +83 -0
  21. package/dist/consortium-bootstrap.d.ts.map +1 -0
  22. package/dist/consortium-bootstrap.js +120 -0
  23. package/dist/consortium-bootstrap.js.map +1 -0
  24. package/dist/contact-handlers.d.ts +56 -0
  25. package/dist/contact-handlers.d.ts.map +1 -0
  26. package/dist/contact-handlers.js +303 -0
  27. package/dist/contact-handlers.js.map +1 -0
  28. package/dist/content-park-client.d.ts.map +1 -1
  29. package/dist/content-park-client.js +7 -7
  30. package/dist/content-park-client.js.map +1 -1
  31. package/dist/content-park.d.ts +15 -0
  32. package/dist/content-park.d.ts.map +1 -0
  33. package/dist/content-park.js +227 -0
  34. package/dist/content-park.js.map +1 -0
  35. package/dist/daemon.d.ts +0 -11
  36. package/dist/daemon.d.ts.map +1 -1
  37. package/dist/daemon.js +407 -4552
  38. package/dist/daemon.js.map +1 -1
  39. package/dist/db-identity-store.d.ts +31 -35
  40. package/dist/db-identity-store.d.ts.map +1 -1
  41. package/dist/db-identity-store.js +62 -66
  42. package/dist/db-identity-store.js.map +1 -1
  43. package/dist/directory-bootstrap.d.ts +27 -31
  44. package/dist/directory-bootstrap.d.ts.map +1 -1
  45. package/dist/directory-bootstrap.js +18 -21
  46. package/dist/directory-bootstrap.js.map +1 -1
  47. package/dist/frame-values.d.ts +3 -0
  48. package/dist/frame-values.d.ts.map +1 -0
  49. package/dist/frame-values.js +73 -0
  50. package/dist/frame-values.js.map +1 -0
  51. package/dist/identity-migration.d.ts +8 -8
  52. package/dist/identity-migration.d.ts.map +1 -1
  53. package/dist/identity-migration.js +30 -31
  54. package/dist/identity-migration.js.map +1 -1
  55. package/dist/inbound-seal-request.d.ts +17 -0
  56. package/dist/inbound-seal-request.d.ts.map +1 -0
  57. package/dist/inbound-seal-request.js +155 -0
  58. package/dist/inbound-seal-request.js.map +1 -0
  59. package/dist/inbound-sessions.d.ts +54 -0
  60. package/dist/inbound-sessions.d.ts.map +1 -0
  61. package/dist/inbound-sessions.js +603 -0
  62. package/dist/inbound-sessions.js.map +1 -0
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +8 -10
  65. package/dist/index.js.map +1 -1
  66. package/dist/initiate-session-handler.d.ts +22 -0
  67. package/dist/initiate-session-handler.d.ts.map +1 -0
  68. package/dist/initiate-session-handler.js +150 -0
  69. package/dist/initiate-session-handler.js.map +1 -0
  70. package/dist/network-directory-node.d.ts +6 -6
  71. package/dist/network-directory-node.d.ts.map +1 -1
  72. package/dist/network-directory-node.js +29 -28
  73. package/dist/network-directory-node.js.map +1 -1
  74. package/dist/notification-handlers.d.ts +32 -0
  75. package/dist/notification-handlers.d.ts.map +1 -0
  76. package/dist/notification-handlers.js +73 -0
  77. package/dist/notification-handlers.js.map +1 -0
  78. package/dist/outbound-sessions.d.ts +54 -0
  79. package/dist/outbound-sessions.d.ts.map +1 -0
  80. package/dist/outbound-sessions.js +429 -0
  81. package/dist/outbound-sessions.js.map +1 -0
  82. package/dist/park-envelope.d.ts.map +1 -1
  83. package/dist/park-envelope.js +3 -2
  84. package/dist/park-envelope.js.map +1 -1
  85. package/dist/register-handler.d.ts +35 -0
  86. package/dist/register-handler.d.ts.map +1 -0
  87. package/dist/register-handler.js +179 -0
  88. package/dist/register-handler.js.map +1 -0
  89. package/dist/registration-manager.d.ts.map +1 -1
  90. package/dist/registration-manager.js +3 -6
  91. package/dist/registration-manager.js.map +1 -1
  92. package/dist/relay-receipt-store.d.ts.map +1 -1
  93. package/dist/relay-receipt-store.js +1 -2
  94. package/dist/relay-receipt-store.js.map +1 -1
  95. package/dist/retry-queue.d.ts +18 -60
  96. package/dist/retry-queue.d.ts.map +1 -1
  97. package/dist/retry-queue.js +46 -97
  98. package/dist/retry-queue.js.map +1 -1
  99. package/dist/seal-coordinator.d.ts +47 -0
  100. package/dist/seal-coordinator.d.ts.map +1 -0
  101. package/dist/seal-coordinator.js +551 -0
  102. package/dist/seal-coordinator.js.map +1 -0
  103. package/dist/seal-flows.d.ts +50 -0
  104. package/dist/seal-flows.d.ts.map +1 -0
  105. package/dist/seal-flows.js +454 -0
  106. package/dist/seal-flows.js.map +1 -0
  107. package/dist/seal-frontier-verify.d.ts +9 -9
  108. package/dist/seal-frontier-verify.d.ts.map +1 -1
  109. package/dist/seal-frontier-verify.js +11 -12
  110. package/dist/seal-frontier-verify.js.map +1 -1
  111. package/dist/seal-leaf.d.ts +58 -0
  112. package/dist/seal-leaf.d.ts.map +1 -0
  113. package/dist/seal-leaf.js +111 -0
  114. package/dist/seal-leaf.js.map +1 -0
  115. package/dist/seal-receipt-upgrade.d.ts +1 -1
  116. package/dist/seal-receipt-upgrade.js +1 -1
  117. package/dist/seal-upgrade.d.ts +10 -10
  118. package/dist/seal-upgrade.d.ts.map +1 -1
  119. package/dist/seal-upgrade.js +23 -24
  120. package/dist/seal-upgrade.js.map +1 -1
  121. package/dist/session-assignment-parser.d.ts +16 -19
  122. package/dist/session-assignment-parser.d.ts.map +1 -1
  123. package/dist/session-assignment-parser.js +30 -29
  124. package/dist/session-assignment-parser.js.map +1 -1
  125. package/dist/session-ceremony.d.ts +3 -6
  126. package/dist/session-ceremony.d.ts.map +1 -1
  127. package/dist/session-ceremony.js +7 -9
  128. package/dist/session-ceremony.js.map +1 -1
  129. package/dist/session-content-handlers.d.ts +25 -0
  130. package/dist/session-content-handlers.d.ts.map +1 -0
  131. package/dist/session-content-handlers.js +436 -0
  132. package/dist/session-content-handlers.js.map +1 -0
  133. package/dist/session-name.d.ts +35 -0
  134. package/dist/session-name.d.ts.map +1 -0
  135. package/dist/session-name.js +60 -0
  136. package/dist/session-name.js.map +1 -0
  137. package/dist/session-node-manager.d.ts +26 -62
  138. package/dist/session-node-manager.d.ts.map +1 -1
  139. package/dist/session-node-manager.js +115 -92
  140. package/dist/session-node-manager.js.map +1 -1
  141. package/dist/session-read-handlers.d.ts +38 -0
  142. package/dist/session-read-handlers.d.ts.map +1 -0
  143. package/dist/session-read-handlers.js +233 -0
  144. package/dist/session-read-handlers.js.map +1 -0
  145. package/dist/session-relay-client.d.ts +8 -8
  146. package/dist/session-relay-client.d.ts.map +1 -1
  147. package/dist/session-relay-client.js +44 -46
  148. package/dist/session-relay-client.js.map +1 -1
  149. package/dist/session-tree.d.ts +11 -23
  150. package/dist/session-tree.d.ts.map +1 -1
  151. package/dist/session-tree.js +14 -26
  152. package/dist/session-tree.js.map +1 -1
  153. package/dist/signaling-connect.d.ts +2 -5
  154. package/dist/signaling-connect.d.ts.map +1 -1
  155. package/dist/signaling-connect.js +7 -12
  156. package/dist/signaling-connect.js.map +1 -1
  157. package/dist/sqlcipher-db.d.ts +18 -19
  158. package/dist/sqlcipher-db.d.ts.map +1 -1
  159. package/dist/sqlcipher-db.js +30 -30
  160. package/dist/sqlcipher-db.js.map +1 -1
  161. package/dist/telegram-doorbell.d.ts +38 -0
  162. package/dist/telegram-doorbell.d.ts.map +1 -0
  163. package/dist/telegram-doorbell.js +139 -0
  164. package/dist/telegram-doorbell.js.map +1 -0
  165. package/dist/types.d.ts +86 -79
  166. package/dist/types.d.ts.map +1 -1
  167. package/dist/types.js +0 -1
  168. package/dist/types.js.map +1 -1
  169. package/dist/vocabulary.d.ts +30 -30
  170. package/dist/vocabulary.d.ts.map +1 -1
  171. package/dist/vocabulary.js +41 -49
  172. package/dist/vocabulary.js.map +1 -1
  173. package/package.json +5 -5
@@ -8,50 +8,9 @@
8
8
  * Persistence: SQLCipher table `retry_queue`.
9
9
  * Cap: 1,000 messages per session. On overflow the OLDEST is evicted.
10
10
  *
11
- * Pseudocode (SPARC Phase P):
12
- *
13
- * 1. constructor(db, logger):
14
- * - Store db handle and logger reference
15
- * - Initialize empty per-session Map<sessionId, RetryQueueEntry[]>
16
- * - Create retry_queue table IF NOT EXISTS
17
- * - Create index on (session_id, position ASC)
18
- *
19
- * 2. loadFromDb():
20
- * - SELECT all rows from retry_queue ordered by session_id, position ASC
21
- * - Group into per-session arrays of RetryQueueEntry
22
- * - Store in in-memory Map
23
- * - Track per-session position counters (MAX position per session)
24
- *
25
- * 3. enqueue(sessionId, nonce: Uint8Array, contentBlob: Uint8Array):
26
- * - Convert nonce to hex via Buffer.from(nonce).toString('hex')
27
- * - If session queue size >= 1000: evict oldest (lowest position)
28
- * - DELETE from retry_queue WHERE session_id AND position = min
29
- * - Log message.retry.evicted WARN with evicted nonce hex
30
- * - Remove from in-memory array
31
- * - Compute next position: max(existing positions) + 1
32
- * - INSERT into retry_queue (session_id, nonce_hex, content_blob, queued_at, attempts, position)
33
- * - Add to in-memory array
34
- * - Log message.retry.queued INFO
35
- * - Return queueDepth
36
- *
37
- * 4. drainSession(sessionId, sendFn):
38
- * - Get entries for session in FIFO order (ascending position)
39
- * - For each entry:
40
- * a. Call sendFn(entry.contentBlob) → await result
41
- * b. If success: DELETE from retry_queue, remove from memory,
42
- * log message.retry.delivered INFO with attemptsTotal
43
- * c. If failure: HALT immediately. Do not attempt remaining entries.
44
- * FIFO invariant: M3 must not arrive before M2.
45
- * - Return count of successfully delivered messages
46
- *
47
- * 5. getTotalDepth():
48
- * - Sum sizes of all per-session arrays
49
- * - Return integer >= 0
50
- *
51
- * 6. getSessionDepth(sessionId):
52
- * - Return length of session's array (0 if absent)
11
+ * FIFO invariant: a drain HALTS on the first failure. M3 must never arrive before M2.
53
12
  */
54
- /** Cap per outline.md Resource Caps. */
13
+ /** Per-session cap. On overflow the OLDEST entry is evicted. */
55
14
  export const RETRY_QUEUE_CAP = 1000;
56
15
  export class RetryQueue {
57
16
  #db;
@@ -60,16 +19,15 @@ export class RetryQueue {
60
19
  #queues = new Map();
61
20
  /** Per-session position counter for monotonic increment. */
62
21
  #positionCounters = new Map();
63
- /** CELLO-M7-MSG-001: per-session FIFO arrays of awaiting-ACK content (park target). */
22
+ /** Per-(agent,session) FIFO arrays of awaiting-ACK content (park target). */
64
23
  #awaiting = new Map();
65
24
  constructor(db, logger) {
66
25
  this.#db = db;
67
26
  this.#logger = logger;
68
- // Create table + index if not exists (inline migration — not Flyway)
69
- // DOD-AGENT-ID-JOINKEY-1: this table is created in its RE-KEYED shape. An EXISTING database is
70
- // rebuilt to this exact shape by migrateSessionTablesToAgentId, which SessionNodeManager.initialize
71
- // runs BEFORE this constructor so by the time we get here the table either does not exist (fresh
72
- // DB, created below) or already carries agent_id.
27
+ // Create table + index if not exists (inline migration — not Flyway).
28
+ // ORDERING CONSTRAINT: migrateSessionTablesToAgentId (run by SessionNodeManager.initialize) MUST
29
+ // execute BEFORE this constructor, so the table here either does not exist (fresh DB, created
30
+ // below) or already carries agent_id. Do not reorder.
73
31
  this.#db.exec(`
74
32
  CREATE TABLE IF NOT EXISTS retry_queue (
75
33
  id INTEGER PRIMARY KEY AUTOINCREMENT,
@@ -88,29 +46,25 @@ export class RetryQueue {
88
46
  CREATE INDEX IF NOT EXISTS retry_queue_by_session_position
89
47
  ON retry_queue(session_id, position ASC)
90
48
  `);
91
- // DOD-AGENT-ID-JOINKEY-1: the uniqueness constraint DOD-LOOP-1 should have written. It added
92
- // agent_name so "two of the operator's agents can hold awaiting content for the SAME session_id
93
- // without colliding" — and then left the agent OUT of UNIQUE(session_id, nonce_hex). For an
94
- // awaiting row nonce_hex IS the content hash, so two local agents parking identical content in one
95
- // session collided, and the collision was swallowed (see enqueueAwaitingContent) and lost on the
96
- // next restart.
49
+ // Uniqueness MUST include the agent. For an awaiting row nonce_hex IS the content hash, so
50
+ // without the agent in the key two local agents parking identical content in one session collide.
97
51
  //
98
- // Expressed over COALESCE(agent_id, '') rather than as a bare UNIQUE(agent_id, ...): SQLite treats
99
- // NULLs as DISTINCT in a UNIQUE constraint, which would silently REMOVE the (session_id, nonce_hex)
100
- // dedup that agent-less direct-retry rows (agent_id NULL) have always relied on. COALESCE folds
101
- // every agent-less row into one bucket — old semantics preserved — while giving each agent its own.
52
+ // It is expressed over COALESCE(agent_id, '') rather than as a bare UNIQUE(agent_id, ...) because
53
+ // SQLite treats NULLs as DISTINCT in a UNIQUE constraint, which would silently REMOVE the
54
+ // (session_id, nonce_hex) dedup that agent-less direct-retry rows (agent_id NULL) rely on.
55
+ // COALESCE folds every agent-less row into one bucket while giving each agent its own.
102
56
  this.#db.exec(`
103
57
  CREATE UNIQUE INDEX IF NOT EXISTS retry_queue_agent_session_nonce
104
58
  ON retry_queue(COALESCE(agent_id, ''), session_id, nonce_hex)
105
59
  `);
106
60
  }
107
- /** DOD-LOOP-1: composite key for the awaiting-ACK map — (agentId, sessionId). */
61
+ /** Composite key for the awaiting-ACK map — (agentId, sessionId). */
108
62
  #ak(agentId, sessionId) {
109
63
  return `${agentId}\x1f${sessionId}`;
110
64
  }
111
65
  /**
112
66
  * Load all retry queue entries from SQLCipher into memory.
113
- * Must complete BEFORE the IPC socket opens (AC-007).
67
+ * Must complete BEFORE the IPC socket opens.
114
68
  */
115
69
  loadFromDb() {
116
70
  const rows = this.#db
@@ -121,11 +75,10 @@ export class RetryQueue {
121
75
  this.#awaiting.clear();
122
76
  for (const row of rows) {
123
77
  if (row.awaiting_ack === 1) {
124
- // CELLO-M7-MSG-001 (AC-004): un-acked content to re-park at startup. DOD-LOOP-1: keyed by
125
- // the OWNING agent. An awaiting row ALWAYS carries an agent_id (enqueueAwaitingContent
126
- // requires one); a legacy agent-less row here is a corrupt row, not a single-agent default,
127
- // so it is reported and skipped rather than silently re-parked under an empty-string agent —
128
- // which would merge two agents' content into one queue.
78
+ // Un-acked content to re-park at startup, keyed by the OWNING agent. An awaiting row ALWAYS
79
+ // carries an agent_id (enqueueAwaitingContent requires one); an agent-less row here is a
80
+ // corrupt row, not a single-agent default, so it is reported and skipped rather than silently
81
+ // re-parked under an empty-string agent — which would merge two agents' content into one queue.
129
82
  if (row.agent_id === null) {
130
83
  this.#logger.error("message.retry.awaiting.orphaned", {
131
84
  sessionId: row.session_id,
@@ -143,9 +96,9 @@ export class RetryQueue {
143
96
  position: row.position,
144
97
  };
145
98
  const ak = this.#ak(row.agent_id, entry.sessionId);
146
- // The awaiting position counter is keyed by (agentId, sessionId) — the same key
147
- // enqueueAwaitingContent uses. It was previously bumped under the bare session_id here, so
148
- // after a restart every awaiting position restarted at 1 and collided with the loaded rows.
99
+ // The awaiting position counter MUST be keyed by (agentId, sessionId) — the same key
100
+ // enqueueAwaitingContent uses. Bumping it under the bare session_id here restarts every
101
+ // awaiting position at 1 after a reload, colliding with the rows just loaded.
149
102
  const awaitingMax = this.#positionCounters.get(ak) ?? 0;
150
103
  if (row.position > awaitingMax)
151
104
  this.#positionCounters.set(ak, row.position);
@@ -182,9 +135,8 @@ export class RetryQueue {
182
135
  * Evicts the oldest entry if cap is reached.
183
136
  */
184
137
  /**
185
- * PERSIST-002 (AC-010): the content blob is stored as plaintext bytes — the whole DB is
186
- * SQLCipher-encrypted at rest, so the per-column cipher is gone. These pass-throughs keep the
187
- * call sites stable.
138
+ * The content blob is stored as plaintext bytes — the whole DB is SQLCipher-encrypted at rest, so
139
+ * there is no per-column cipher. These pass-throughs keep the call sites stable.
188
140
  */
189
141
  #sealBlob(b) {
190
142
  return b;
@@ -215,7 +167,7 @@ export class RetryQueue {
215
167
  error: err instanceof Error ? err.message : String(err),
216
168
  });
217
169
  }
218
- // Log eviction BEFORE the new entry is logged (per story spec)
170
+ // Log eviction BEFORE the new entry is logged.
219
171
  this.#logger.warn("message.retry.evicted", {
220
172
  sessionId,
221
173
  nonce: oldest.nonceHex,
@@ -250,7 +202,7 @@ export class RetryQueue {
250
202
  nonce: nonceHex,
251
203
  error: err instanceof Error ? err.message : String(err),
252
204
  });
253
- // Message stays in memory only (DB-001 fallback)
205
+ // Message stays in memory only it is not durable across a restart.
254
206
  }
255
207
  sessionQueue.push(entry);
256
208
  this.#logger.info("message.retry.queued", {
@@ -289,7 +241,7 @@ export class RetryQueue {
289
241
  error: err instanceof Error ? err.message : String(err),
290
242
  });
291
243
  }
292
- // Halt immediately — FIFO invariant (AC-015)
244
+ // Halt immediately — FIFO invariant: no out-of-order delivery.
293
245
  break;
294
246
  }
295
247
  // Success: delete from DB
@@ -339,12 +291,11 @@ export class RetryQueue {
339
291
  const queue = this.#queues.get(sessionId);
340
292
  return queue ? [...queue] : [];
341
293
  }
342
- // ─── CELLO-M7-MSG-001 (AC-004/AC-005/AC-019): awaiting-ACK content (park target) ──
294
+ // ─── Awaiting-ACK content (park target) ──
343
295
  /**
344
- * Record un-acked content awaiting a `persisted` delivery ACK (TTF-trigger path,
345
- * AC-005). Persisted to the SAME retry_queue table (awaiting_ack = 1) so a crash
346
- * before the relay park confirms is recoverable at startup (AC-004). Idempotent on
347
- * (sessionId, contentHash).
296
+ * Record un-acked content awaiting a `persisted` delivery ACK. Persisted to the SAME
297
+ * retry_queue table (awaiting_ack = 1) so a crash before the relay park confirms is
298
+ * recoverable at startup. Idempotent on (agentId, sessionId, contentHash).
348
299
  */
349
300
  enqueueAwaitingContent(agentId, sessionId, contentHash, contentBlob) {
350
301
  if (!agentId)
@@ -361,13 +312,11 @@ export class RetryQueue {
361
312
  const currentMax = this.#positionCounters.get(ak) ?? 0;
362
313
  const position = currentMax + 1;
363
314
  const queuedAt = Date.now();
364
- // DOD-AGENT-ID-JOINKEY-1: a failed persist of awaiting content is DATA LOSS, and it must say so.
365
- // This catch used to log and fall through to an in-memory push commented "still re-parkable this
366
- // run" a guarantee the schema denied. The content vanished at the next restart while the caller
367
- // was told it was parked. Now: nothing is added to memory, the position counter is not advanced,
368
- // and the caller learns its content is not durable. (The collision that used to land here cannot
369
- // occur any more — retry_queue_agent_session_nonce scopes uniqueness by agent — so reaching this
370
- // branch now means a real DB failure: disk full, corruption, SQLITE_LOCKED.)
315
+ // FAILS LOUD: a failed persist of awaiting content is DATA LOSS and MUST throw. Do not "recover"
316
+ // by pushing to memory anyway the content would vanish at the next restart while the caller was
317
+ // told it was parked. Nothing is added to memory, the position counter is not advanced, and the
318
+ // caller learns its content is not durable. Reaching this branch means a real DB failure (disk
319
+ // full, corruption, SQLITE_LOCKED); the agent-scoped unique index rules out a benign collision.
371
320
  try {
372
321
  this.#db
373
322
  .prepare(`INSERT INTO retry_queue (session_id, agent_id, nonce_hex, content_blob, queued_at, attempts, position, awaiting_ack, content_hash_hex)
@@ -425,10 +374,10 @@ export class RetryQueue {
425
374
  return out;
426
375
  }
427
376
  /**
428
- * Drain a session's awaiting-ACK content to the relay park target (AC-005). Each item
429
- * is independent — unlike the direct FIFO resend, a park failure does NOT halt the
430
- * rest; the failed item stays queued for the next reconnect / startup flush (DB-001,
431
- * AC-019). Returns the number of entries successfully parked.
377
+ * Drain a session's awaiting-ACK content to the relay park target. Each item is
378
+ * independent — unlike the direct FIFO resend, a park failure does NOT halt the rest;
379
+ * the failed item stays queued for the next reconnect / startup flush. Returns the
380
+ * number of entries successfully parked.
432
381
  */
433
382
  async drainAwaitingToPark(agentId, sessionId, parkFn) {
434
383
  const ak = this.#ak(agentId, sessionId);
@@ -445,18 +394,18 @@ export class RetryQueue {
445
394
  result = { parked: false, error: err instanceof Error ? err.message : String(err) };
446
395
  }
447
396
  if (!result.parked) {
448
- // Review M3: `result.error` used to be DISCARDED here, so every failure branch of the park
449
- // target (owning_agent_not_found, no_persisted_relay_endpoint, no_counterparty,
450
- // standing_receiver_unavailable, and SEC-1's new signing_key_unavailable) failed in total
451
- // silence the only trace was `parkedCount: 0`, a number with no reason. The entry is still
452
- // KEPT for the next flush (AC-019); it just no longer fails quietly.
397
+ // `result.error` MUST be logged. Every failure branch of the park target
398
+ // (owning_agent_not_found, no_persisted_relay_endpoint, no_counterparty,
399
+ // standing_receiver_unavailable, signing_key_unavailable) is otherwise invisible the only
400
+ // trace would be `parkedCount: 0`, a number with no reason. The entry is still KEPT for the
401
+ // next flush.
453
402
  this.#logger.warn("content.park.failed", {
454
403
  agentId,
455
404
  sessionId,
456
405
  contentHash: entry.contentHashHex,
457
406
  error: result.error,
458
407
  });
459
- continue; // keep for next reconnect / startup flush (AC-019)
408
+ continue; // keep for next reconnect / startup flush
460
409
  }
461
410
  const idx = q.indexOf(entry);
462
411
  if (idx !== -1)
@@ -1 +1 @@
1
- {"version":3,"file":"retry-queue.js","sourceRoot":"","sources":["../src/retry-queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"retry-queue.js","sourceRoot":"","sources":["../src/retry-queue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import { SignalingManager } from "@cello-protocol/transport";
2
+ import type { KeyProvider } from "@cello-protocol/crypto";
3
+ import type { SessionNodeManager } from "./session-node-manager.js";
4
+ import type { DbRegistrationPersistence } from "./db-identity-store.js";
5
+ import type { Logger } from "./types.js";
6
+ /** M7-SESSION-004: the bilateral seal resolves with the sealed_root AND the legibility certificate. */
7
+ export type SealCompletion = {
8
+ rootHex: string;
9
+ legibility?: unknown;
10
+ };
11
+ /**
12
+ * SESSION-002 / M8B FINDING-3: a unilateral seal carries the legibility certificate so the close
13
+ * returns it inline — the same RESPONSE SHAPE as a bilateral close, but NOT cryptographic parity:
14
+ * this cert is directory-attested (FINDING-5). `remainingSeconds` carries the directory's
15
+ * seal_unilateral_too_early countdown, so the close can tell the operator WHEN a unilateral seal
16
+ * becomes available.
17
+ */
18
+ export type UnilateralResult = {
19
+ ok: true;
20
+ sealedRootHex: string;
21
+ legibility?: unknown;
22
+ } | {
23
+ ok: false;
24
+ reason: string;
25
+ remainingSeconds?: number;
26
+ };
27
+ export interface SealCoordinatorDeps {
28
+ logger: Logger;
29
+ sessionNodeManager: SessionNodeManager;
30
+ /** PERSIST-002: the agent's encrypted FROST-share persistence seam. */
31
+ getPersistence: (agentName: string) => DbRegistrationPersistence;
32
+ getKeyProvider: (agentName: string) => KeyProvider | undefined;
33
+ /**
34
+ * Recover parked content for an agent. THE KERNEL of DOD-UP-1 depends on this: the absent party
35
+ * ratifies a seal ONLY after it has recovered and integrity-verified the content behind the
36
+ * sealed root. It never co-signs content it could not verify.
37
+ */
38
+ recoverContent: (agentName: string) => Promise<void>;
39
+ }
40
+ export declare function createSealCoordinator(deps: SealCoordinatorDeps): {
41
+ sealKey: (agentName: string, sessionId: string) => string;
42
+ sealInterruptedInProgress: Set<string>;
43
+ pendingSealWaiters: Map<string, (completion: SealCompletion) => void>;
44
+ pendingUnilateralWaiters: Map<string, (r: UnilateralResult) => void>;
45
+ registerSealListeners: (signaling: SignalingManager, agentName: string, agentPubkeyHex: string) => () => void;
46
+ };
47
+ //# sourceMappingURL=seal-coordinator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seal-coordinator.d.ts","sourceRoot":"","sources":["../src/seal-coordinator.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAO1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,uGAAuG;AACvG,MAAM,MAAM,cAAc,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEvE;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GACzD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,uEAAuE;IACvE,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,yBAAyB,CAAC;IACjE,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;IAC/D;;;;OAIG;IACH,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB;yBAOjC,MAAM,aAAa,MAAM,KAAG,MAAM;;iDAYN,cAAc,KAAK,IAAI;8CAmL1B,gBAAgB,KAAK,IAAI;uCA+VpC,gBAAgB,aAAa,MAAM,kBAAkB,MAAM,KAAG,MAAM,IAAI;EAkBnH"}