@cello-protocol/daemon 0.0.168 → 0.0.170

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 (111) hide show
  1. package/dist/agent-id-migration.d.ts.map +1 -1
  2. package/dist/agent-id-migration.js +16 -0
  3. package/dist/agent-id-migration.js.map +1 -1
  4. package/dist/away-detection.d.ts +62 -15
  5. package/dist/away-detection.d.ts.map +1 -1
  6. package/dist/away-detection.js +77 -20
  7. package/dist/away-detection.js.map +1 -1
  8. package/dist/close-session-handler.d.ts.map +1 -1
  9. package/dist/close-session-handler.js +69 -3
  10. package/dist/close-session-handler.js.map +1 -1
  11. package/dist/daemon.d.ts.map +1 -1
  12. package/dist/daemon.js +406 -303
  13. package/dist/daemon.js.map +1 -1
  14. package/dist/delivery-open-registry.d.ts +92 -0
  15. package/dist/delivery-open-registry.d.ts.map +1 -0
  16. package/dist/delivery-open-registry.js +121 -0
  17. package/dist/delivery-open-registry.js.map +1 -0
  18. package/dist/document-amendment-store.d.ts +94 -46
  19. package/dist/document-amendment-store.d.ts.map +1 -1
  20. package/dist/document-amendment-store.js +217 -102
  21. package/dist/document-amendment-store.js.map +1 -1
  22. package/dist/document-delivery-transport.d.ts +51 -53
  23. package/dist/document-delivery-transport.d.ts.map +1 -1
  24. package/dist/document-delivery-transport.js +16 -157
  25. package/dist/document-delivery-transport.js.map +1 -1
  26. package/dist/document-frame-router.d.ts +13 -17
  27. package/dist/document-frame-router.d.ts.map +1 -1
  28. package/dist/document-frame-router.js +21 -93
  29. package/dist/document-frame-router.js.map +1 -1
  30. package/dist/document-handlers.d.ts +1 -1
  31. package/dist/document-handlers.d.ts.map +1 -1
  32. package/dist/document-handlers.js +462 -511
  33. package/dist/document-handlers.js.map +1 -1
  34. package/dist/document-handshake.d.ts +4 -1
  35. package/dist/document-handshake.d.ts.map +1 -1
  36. package/dist/document-handshake.js +3 -1
  37. package/dist/document-handshake.js.map +1 -1
  38. package/dist/document-inbound.d.ts +18 -5
  39. package/dist/document-inbound.d.ts.map +1 -1
  40. package/dist/document-inbound.js +94 -110
  41. package/dist/document-inbound.js.map +1 -1
  42. package/dist/document-layer.d.ts +49 -67
  43. package/dist/document-layer.d.ts.map +1 -1
  44. package/dist/document-layer.js +688 -565
  45. package/dist/document-layer.js.map +1 -1
  46. package/dist/document-lifecycle.d.ts +11 -157
  47. package/dist/document-lifecycle.d.ts.map +1 -1
  48. package/dist/document-lifecycle.js +26 -568
  49. package/dist/document-lifecycle.js.map +1 -1
  50. package/dist/document-publish.d.ts +13 -0
  51. package/dist/document-publish.d.ts.map +1 -1
  52. package/dist/document-publish.js +19 -11
  53. package/dist/document-publish.js.map +1 -1
  54. package/dist/document-reconcile-engine.d.ts +66 -0
  55. package/dist/document-reconcile-engine.d.ts.map +1 -0
  56. package/dist/document-reconcile-engine.js +225 -0
  57. package/dist/document-reconcile-engine.js.map +1 -0
  58. package/dist/document-reconcile-scheduler.d.ts +124 -0
  59. package/dist/document-reconcile-scheduler.d.ts.map +1 -0
  60. package/dist/document-reconcile-scheduler.js +226 -0
  61. package/dist/document-reconcile-scheduler.js.map +1 -0
  62. package/dist/document-rejection.d.ts +2 -0
  63. package/dist/document-rejection.d.ts.map +1 -1
  64. package/dist/document-rejection.js +5 -1
  65. package/dist/document-rejection.js.map +1 -1
  66. package/dist/document-store.d.ts +18 -247
  67. package/dist/document-store.d.ts.map +1 -1
  68. package/dist/document-store.js +95 -827
  69. package/dist/document-store.js.map +1 -1
  70. package/dist/inbound-sessions.d.ts +7 -0
  71. package/dist/inbound-sessions.d.ts.map +1 -1
  72. package/dist/inbound-sessions.js +27 -6
  73. package/dist/inbound-sessions.js.map +1 -1
  74. package/dist/initiate-session-handler.d.ts +5 -0
  75. package/dist/initiate-session-handler.d.ts.map +1 -1
  76. package/dist/initiate-session-handler.js +1 -0
  77. package/dist/initiate-session-handler.js.map +1 -1
  78. package/dist/notification-handlers.d.ts.map +1 -1
  79. package/dist/notification-handlers.js +39 -2
  80. package/dist/notification-handlers.js.map +1 -1
  81. package/dist/session-content-handlers.d.ts.map +1 -1
  82. package/dist/session-content-handlers.js +134 -8
  83. package/dist/session-content-handlers.js.map +1 -1
  84. package/dist/session-node-manager.d.ts +153 -8
  85. package/dist/session-node-manager.d.ts.map +1 -1
  86. package/dist/session-node-manager.js +1376 -35
  87. package/dist/session-node-manager.js.map +1 -1
  88. package/dist/types.d.ts +64 -2
  89. package/dist/types.d.ts.map +1 -1
  90. package/dist/types.js.map +1 -1
  91. package/package.json +5 -5
  92. package/dist/delivery-sweep-bound.d.ts +0 -79
  93. package/dist/delivery-sweep-bound.d.ts.map +0 -1
  94. package/dist/delivery-sweep-bound.js +0 -109
  95. package/dist/delivery-sweep-bound.js.map +0 -1
  96. package/dist/document-ack-inbound.d.ts +0 -71
  97. package/dist/document-ack-inbound.d.ts.map +0 -1
  98. package/dist/document-ack-inbound.js +0 -210
  99. package/dist/document-ack-inbound.js.map +0 -1
  100. package/dist/document-control-notifier.d.ts +0 -124
  101. package/dist/document-control-notifier.d.ts.map +0 -1
  102. package/dist/document-control-notifier.js +0 -176
  103. package/dist/document-control-notifier.js.map +0 -1
  104. package/dist/document-delivery.d.ts +0 -250
  105. package/dist/document-delivery.d.ts.map +0 -1
  106. package/dist/document-delivery.js +0 -608
  107. package/dist/document-delivery.js.map +0 -1
  108. package/dist/document-join-store.d.ts +0 -80
  109. package/dist/document-join-store.d.ts.map +0 -1
  110. package/dist/document-join-store.js +0 -197
  111. package/dist/document-join-store.js.map +0 -1
@@ -131,21 +131,87 @@ export class DocumentInbound {
131
131
  // the whole gate — a joined third holder's envelope is as admissible as the genesis peer's,
132
132
  // and a removed genesis peer's is not admissible at all. Only when the chain cannot answer
133
133
  // (bilateral legacy, no genesis record) does the row's peer column stand in.
134
+ // SYNC-G1 (R20): admissibility is ruled AT THE ENVELOPE'S SIGNED FRONTIER — the governance
135
+ // world its author actually held — never at our current state, which refuses a removed
136
+ // author's legitimate earlier work and breaks convergence for every holder who was behind
137
+ // at removal time (the AC14 case; the old epoch-equality gate broke it three documented
138
+ // times). An honest removed daemon names a frontier containing its own removal and refuses
139
+ // HERE, by name (AC13); a backdating daemon admits exactly what an honest holder at that
140
+ // position could have authored — the same bounded concession the governance fold accepted,
141
+ // and the fold's removal dominance keeps such a daemon out of governance regardless.
134
142
  const senderHolders = this.#d.currentHolders(ownerAgentId, env.document_id);
135
- const senderIsParty = senderHolders === null
136
- ? env.sender_agent_id === doc.peerAgentId
137
- : senderHolders.includes(env.sender_agent_id);
143
+ let senderIsParty;
144
+ if (senderHolders === null) {
145
+ // Bilateral legacy — no derivable chain; the row's peer column is the membership. A
146
+ // genesis-less document can hold no validated entries, so `standingOf` answers `unknown`
147
+ // here and the removed branch below is unreachable in practice — kept so the two paths
148
+ // cannot drift about what "removed" means (SYNC-D8: one derivation).
149
+ if (this.#d.standingOf(ownerAgentId, env.document_id, env.sender_agent_id) === "removed") {
150
+ this.#d.logger.warn("document.inbound.sender_removed", {
151
+ documentId: env.document_id,
152
+ senderAgentId: env.sender_agent_id,
153
+ correlationId,
154
+ });
155
+ return {
156
+ ok: false,
157
+ reason: "document_sender_removed",
158
+ terminal: true,
159
+ envelopeHash,
160
+ detail: "this holder was removed from the document — the removal is forward-only (your " +
161
+ "copy is yours), but new edits are no longer accepted",
162
+ };
163
+ }
164
+ senderIsParty = env.sender_agent_id === doc.peerAgentId;
165
+ }
166
+ else {
167
+ const at = this.#d.deriveAtFrontier(ownerAgentId, env.document_id, env.governance_parents);
168
+ if (!at.ok) {
169
+ // Ancestors not held: the governance is IN FLIGHT — non-terminal, the exchange
170
+ // delivers governance before content and this envelope admits on redelivery.
171
+ this.#d.logger.warn("document.inbound.governance_in_flight", {
172
+ documentId: env.document_id,
173
+ senderAgentId: env.sender_agent_id,
174
+ missing: at.missing ?? [],
175
+ correlationId,
176
+ });
177
+ return {
178
+ ok: false,
179
+ reason: "document_governance_in_flight",
180
+ envelopeHash,
181
+ detail: `this update names governance ancestors this holder does not yet hold — ` +
182
+ `reconcile delivers governance first; retry after it lands`,
183
+ };
184
+ }
185
+ // R30 / AC16: an ending among the envelope's own named ancestors means its author KNEW
186
+ // the document was over when they wrote — refused everywhere, terminally, including from
187
+ // a modified daemon: the parents are inside the signature.
188
+ if (at.ended !== null) {
189
+ this.#d.logger.warn("document.inbound.authored_after_ending", {
190
+ documentId: env.document_id,
191
+ senderAgentId: env.sender_agent_id,
192
+ ended: at.ended,
193
+ correlationId,
194
+ });
195
+ return {
196
+ ok: false,
197
+ reason: "document_authored_after_ending",
198
+ terminal: true,
199
+ envelopeHash,
200
+ detail: `this update names a governance world in which the document was already ` +
201
+ `${at.ended} - content authored after an ending is refused everywhere (R30)`,
202
+ };
203
+ }
204
+ senderIsParty = at.participants.has(env.sender_agent_id);
205
+ }
138
206
  if (!senderIsParty) {
139
207
  // A REMOVED former holder is upgraded from the silent stranger-refusal to the TERMINAL
140
208
  // named one (REMOVE-1 review F4): they hold the removal fact already — no new disclosure —
141
209
  // and the silent path left their delivery worker redelivering forever, which is the exact
142
210
  // silent drop the DoD line forbids. A true stranger still gets silence.
143
- const formerHolder = this.#d.membershipOf(ownerAgentId, env.document_id, env.sender_agent_id);
144
- if (formerHolder.state === "removed") {
211
+ if (this.#d.standingOf(ownerAgentId, env.document_id, env.sender_agent_id) === "removed") {
145
212
  this.#d.logger.warn("document.inbound.sender_removed", {
146
213
  documentId: env.document_id,
147
214
  senderAgentId: env.sender_agent_id,
148
- removedAtEpoch: formerHolder.epochId,
149
215
  correlationId,
150
216
  });
151
217
  return {
@@ -153,24 +219,17 @@ export class DocumentInbound {
153
219
  reason: "document_sender_removed",
154
220
  terminal: true,
155
221
  envelopeHash,
156
- detail: `this holder was removed from the document at epoch ${formerHolder.epochId} the ` +
157
- `removal is forward-only (your copy is yours), but new edits are no longer accepted`,
222
+ detail: "this holder was removed from the document the removal is forward-only (your " +
223
+ "copy is yours), but new edits are no longer accepted",
158
224
  };
159
225
  }
160
- // F1 (INBOUND-N-1 review): an UNKNOWN sender whose envelope claims an epoch ahead of
161
- // ours is the amendment-in-flight signature an honest new holder can ONLY arrive
162
- // epoch-ahead, because a receiver holding their epoch would hold their amendment too.
163
- // The wire stays silent (the disclosure decision stands); the LOG names the lag, so the
164
- // operator debugging "the new collaborator's edits aren't landing" does not read that a
165
- // stranger probed the document. Resolution is the sender's ordinary retry after the
166
- // amendment lands — see Entry 18 for the settled shape and its retry-ceiling window.
167
- const lagSignature = formerHolder.state === "untouched" &&
168
- env.epoch_id > this.#d.store.currentDocumentEpoch(ownerAgentId, env.document_id);
169
- this.#d.logger.warn(lagSignature ? "document.inbound.sender_unknown_epoch_ahead" : "document.inbound.not_peer", {
226
+ // The wire stays silent (the disclosure decision stands); the LOG names the refusal, so
227
+ // the operator debugging "the new collaborator's edits aren't landing" has a line to find.
228
+ // An admission still in flight resolves by the sender's ordinary retry after it lands.
229
+ this.#d.logger.warn("document.inbound.not_peer", {
170
230
  documentId: env.document_id,
171
231
  senderAgentId: env.sender_agent_id,
172
232
  peerAgentId: doc.peerAgentId,
173
- ...(lagSignature ? { envelopeEpoch: env.epoch_id } : {}),
174
233
  correlationId,
175
234
  });
176
235
  return {
@@ -192,11 +251,9 @@ export class DocumentInbound {
192
251
  // "new edits stop flowing either way" is a lie if the removed party's own daemon keeps
193
252
  // admitting what still arrives from holders whose worker has not yet gated. TERMINAL — the
194
253
  // sender's delivery settles instead of retrying at a door that will never open.
195
- const selfMembership = this.#d.store.removedFromArrangement(ownerAgentId, env.document_id);
196
- if (selfMembership.removed) {
254
+ if (this.#d.standingOf(ownerAgentId, env.document_id, ownerAgentId) === "removed") {
197
255
  this.#d.logger.warn("document.inbound.recipient_removed", {
198
256
  documentId: env.document_id,
199
- removedAtEpoch: selfMembership.epochId,
200
257
  correlationId,
201
258
  });
202
259
  return {
@@ -204,96 +261,23 @@ export class DocumentInbound {
204
261
  reason: "document_recipient_removed",
205
262
  terminal: true,
206
263
  envelopeHash,
207
- detail: `this daemon was removed from the document's arrangement at epoch ` +
208
- `${selfMembership.epochId} — the local copy remains, but new edits are no longer applied`,
209
- };
210
- }
211
- // 4b. THE EPOCH RULING (M14B / DOD-MP-AMEND-1) — moved here from the decoder, which cannot
212
- // know a per-document fact. The decoded value is trustworthy at this point: `epoch_id` sits
213
- // inside the signed TBS verified at step 2, so a lie about the epoch already failed there.
214
- // The two directions are different facts and get different answers:
215
- // - BEHIND us: the envelope was authored under an epoch that has been amended past. Its TBS
216
- // binds that epoch forever, so redelivery can never change the answer — TERMINAL; the
217
- // sender's daemon re-publishes its content under the current epoch.
218
- // - AHEAD of us: the sender has applied an amendment we have not yet received. Once it
219
- // arrives, this envelope becomes admittable — so the refusal is NON-terminal and their
220
- // ordinary redelivery retry resolves it. (Richer lag handling is DOD-MP-INBOUND-N-1.)
221
- const currentEpoch = this.#d.store.currentDocumentEpoch(ownerAgentId, env.document_id);
222
- if (env.epoch_id !== currentEpoch) {
223
- const behind = env.epoch_id < currentEpoch;
224
- this.#d.logger.warn("document.inbound.epoch_mismatch", {
225
- documentId: env.document_id,
226
- envelopeEpoch: env.epoch_id,
227
- currentEpoch,
228
- behind,
229
- correlationId,
230
- });
231
- if (behind) {
232
- // ERROR FIDELITY (REMOVE-1 review F2): a removed holder who MISSED the removal
233
- // amendment publishes at the old epoch and lands here — and "republish under the
234
- // current epoch" is an instruction they cannot follow, concealing a membership fact
235
- // behind an epoch label. The behind branch is the one place this answer is definitive:
236
- // our chain already contains their removal. (The AHEAD case must NOT do this — there
237
- // OUR chain may be the stale one.)
238
- const senderMembership = this.#d.membershipOf(ownerAgentId, env.document_id, env.sender_agent_id);
239
- if (senderMembership.state === "removed") {
240
- return {
241
- ok: false,
242
- reason: "document_sender_removed",
243
- terminal: true,
244
- envelopeHash,
245
- detail: `this holder was removed from the document at epoch ${senderMembership.epochId} — ` +
246
- `the removal is forward-only (your copy is yours), but new edits are no longer ` +
247
- `accepted`,
248
- };
249
- }
250
- return {
251
- ok: false,
252
- reason: "document_epoch_stale",
253
- terminal: true,
254
- envelopeHash,
255
- detail: `this update was authored under epoch ${env.epoch_id} and the document is at epoch ` +
256
- `${currentEpoch} — republish it under the current epoch`,
257
- };
258
- }
259
- return {
260
- ok: false,
261
- reason: "document_epoch_ahead",
262
- detail: `this update names epoch ${env.epoch_id} and this holder is at epoch ${currentEpoch} — ` +
263
- `an amendment is still in flight here; retry after it lands`,
264
- };
265
- }
266
- // 4c. A REMOVED HOLDER'S envelope refuses NAMING THE REMOVAL (DOD-MP-REMOVE-1) — never a
267
- // silent drop, and never a generic condition: "you were removed at epoch N" is a different
268
- // fact to hand an operator than any transport or chain error, and it is TERMINAL — no
269
- // redelivery changes a membership fact. The sender was authenticated at step 2, so answering
270
- // discloses only what the removal amendment already told them.
271
- const membership = this.#d.membershipOf(ownerAgentId, env.document_id, env.sender_agent_id);
272
- if (membership.state === "removed") {
273
- this.#d.logger.warn("document.inbound.sender_removed", {
274
- documentId: env.document_id,
275
- senderAgentId: env.sender_agent_id,
276
- removedAtEpoch: membership.epochId,
277
- correlationId,
278
- });
279
- return {
280
- ok: false,
281
- reason: "document_sender_removed",
282
- terminal: true,
283
- envelopeHash,
284
- detail: `this holder was removed from the document at epoch ${membership.epochId} — the ` +
285
- `removal is forward-only (your copy is yours), but new edits are no longer accepted`,
264
+ detail: "this daemon was removed from the document's arrangement the local copy remains, " +
265
+ "but new edits are no longer applied",
286
266
  };
287
267
  }
288
- // 5. The document must still ACCEPT. `acceptsUpdates` exists for exactly this and carries a
289
- // comment describing the bug it was written to fix "after a restart the document row said
290
- // `stalled` while the daemon happily accepted updates on it". The only inbound path in the
291
- // codebase was reintroducing it, and a killed document is defined by LIFECYCLE-1 as one that
292
- // stops accepting.
293
- if (doc.status === "killed" || doc.status === "closed") {
268
+ // 4b (SYNC-G1): the epoch-equality ruling and the current-state removed-sender check are
269
+ // GONE both are the causal sender gate's job now, ruled at the envelope's signed
270
+ // frontier before anything else ran. (D7: the epoch stamp itself dies with this phase.)
271
+ // 5. The document must still ACCEPT but for a document whose chain DERIVES, the ending
272
+ // ruling already happened at step 4 (R30: an ending in the envelope's own named ancestors
273
+ // refuses terminally; a frontier free of endings MUST be admitted, AC16 — the last edits
274
+ // before an agreed close are precisely the content the exchange still owes every holder,
275
+ // and the status column is a display projection that can lag the fold; review F1). Only a
276
+ // LEGACY document — no derivable chain, so no frontier to rule at — is judged by its stored
277
+ // status here, because for the pre-pivot bilateral record the column IS its ending.
278
+ if (senderHolders === null && (doc.status === "killed" || doc.status === "closed")) {
294
279
  // TERMINAL, and for the same reason `document_stalled` below is NOT: these are DECISIONS.
295
- // Nothing the sender does makes a killed or closed document accept this envelope, so leaving
296
- // their delivery outstanding buys nothing and costs a redelivery per tick, forever.
280
+ // Nothing the sender does makes a killed or closed legacy document accept this envelope.
297
281
  return {
298
282
  ok: false,
299
283
  reason: doc.status === "killed" ? "document_killed" : "document_closed",
@@ -460,7 +444,7 @@ export class DocumentInbound {
460
444
  documentId: env.document_id,
461
445
  senderAgentId: env.sender_agent_id,
462
446
  docPrevHash: env.doc_prev_hash,
463
- epochId: env.epoch_id,
447
+ governanceParents: [...env.governance_parents],
464
448
  signature: env.signature,
465
449
  stateVector: env.state_vector,
466
450
  payload: env.update,
@@ -1 +1 @@
1
- {"version":3,"file":"document-inbound.js","sourceRoot":"","sources":["../src/document-inbound.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-inbound.js","sourceRoot":"","sources":["../src/document-inbound.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,6 @@ import { DocumentStore } from "./document-store.js";
25
25
  import { DocumentEngine } from "./document-engine.js";
26
26
  import { DocumentRejections } from "./document-rejection.js";
27
27
  import { DocumentAmendmentStore } from "./document-amendment-store.js";
28
- import { DocumentJoinStore } from "./document-join-store.js";
29
28
  import { DocumentFrameRouter } from "./document-frame-router.js";
30
29
  import { LiveDocuments } from "./document-live-docs.js";
31
30
  import { DocumentLifecycle } from "./document-lifecycle.js";
@@ -65,25 +64,6 @@ export interface DocumentLayerDeps {
65
64
  * stands — this is the narrow exception an agent asked for by name.
66
65
  */
67
66
  nudge?(ownerAgentId: string, documentId: string, paths: readonly string[]): void;
68
- /**
69
- * Tell EVERY current holder about an end. Injected — the transport is not this layer's.
70
- * Per-holder because a document has N holders (DOD-MP-CONTROL-N-1), not one counterparty.
71
- */
72
- notifyPeer(documentId: string, verb: "kill" | "close"): Promise<{
73
- ok: true;
74
- holdersNotified: Record<string, boolean>;
75
- holderFailures: Record<string, string>;
76
- } | {
77
- ok: false;
78
- reason: string;
79
- }>;
80
- /** Undo one envelope's operations on the live document, for withdraw. */
81
- rollback(ownerAgentId: string, documentId: string, envelopeHash: string): {
82
- ok: true;
83
- } | {
84
- ok: false;
85
- reason: string;
86
- };
87
67
  /**
88
68
  * Sign as a given agent. Takes the agent id so a rejection cannot be signed with the wrong key —
89
69
  * the first version took no arguments and the composition root reached for whichever key
@@ -117,8 +97,29 @@ export interface DocumentLayerDeps {
117
97
  ok: false;
118
98
  reason: string;
119
99
  }>;
100
+ /**
101
+ * A PEER REFUSED OUR EXCHANGE. Wired to the scheduler so the refusal can slow the asking down.
102
+ *
103
+ * Without it the refusal is logged and dropped, and the sweep — which can only see whether the
104
+ * frame was SENT — retries at full speed forever. Optional so a layer built without a scheduler
105
+ * (every unit fixture) needs no wiring; the scheduler treats the signal as a DELAY, never a
106
+ * prohibition (R41).
107
+ */
108
+ onPeerRefusal?(ownerAgentId: string, peerAgentId: string, terminal: boolean): void;
120
109
  }
121
110
  export interface DocumentLayer {
111
+ /**
112
+ * DOD-M12B-SHUTDOWN-1 — refuse every further outbound reconcile, whichever caller asks.
113
+ *
114
+ * The reconcile scheduler is only one of four routes to `initiateReconcile`; `nudgeSeats` and the
115
+ * two invite notices reach it directly, and every document verb is still served while the daemon
116
+ * tears down, because the IPC server is the last thing stopped. Gating the scheduler alone left
117
+ * three paths dialling peers and opening sessions on the way out.
118
+ *
119
+ * Idempotent and one-way. The reconcile exchange is idempotent (R40), so a refused reconcile is
120
+ * deferred to the next process, never lost.
121
+ */
122
+ stopReconciling(): void;
122
123
  store: DocumentStore;
123
124
  /** The file projection, or null when no workspace root was configured. */
124
125
  writePath: DocumentWritePath | null;
@@ -128,50 +129,46 @@ export interface DocumentLayer {
128
129
  lifecycle: DocumentLifecycle;
129
130
  notifications: DocumentNotifications;
130
131
  rejections: DocumentRejections;
131
- /** M14B — the amendment chain (write path; reads go through `store.currentDocumentEpoch`). */
132
+ /** M14B — the entry chain: the fork-tolerant store the fold derives from. */
132
133
  amendments: DocumentAmendmentStore;
133
- /** M14B — join offers pending consent, both roles. */
134
- joins: DocumentJoinStore;
135
134
  /** The layer's one Ed25519 verifier seam — for handlers that run the replay themselves. */
136
135
  verifySignature(agentId: string, tbs: Uint8Array, signature: Uint8Array): boolean;
137
136
  /** M14B / FANOUT-1 — current holders derived from the chain; null when underivable. */
138
137
  holdersFor(ownerAgentId: string, documentId: string): string[] | null;
138
+ isCurrentHolder(ownerAgentId: string, documentId: string, agentId: string): boolean;
139
+ /** SYNC-P5 (R43) — the sweep's (party → shared active documents) map, seats from the fold. */
140
+ sweepTargets(ownerAgentId: string): Map<string, string[]>;
141
+ /** SYNC-R46 — one party's sync state from the display cache (never a correctness input). */
142
+ partySync(ownerAgentId: string, documentId: string, partyAgentId: string): {
143
+ sync: "in_sync" | "behind" | "unseen";
144
+ lastSyncedAtMs: number | null;
145
+ blockedBy?: string;
146
+ };
147
+ /** SYNC-D8 — the ONE derivation of an agent's standing (R17 + removed/unknown), from the fold. */
148
+ standingOf(ownerAgentId: string, documentId: string, agentId: string): "participant" | "invited" | "removed" | "stranger" | "unknown";
139
149
  /**
140
- * Who a control frame must be addressed to everyone but the owner, derived (DOD-MP-CONTROL-N-1).
141
- * Refuses by name rather than falling back to the genesis peer, which after a removal is the one
142
- * party the frame must not reach.
150
+ * SYNC-P3 step 1 of the reconcile exchange: send this holder's position for the named
151
+ * documents to a peer. Everything after that is symmetric and handled by the frame router.
143
152
  */
144
- controlHolders(ownerAgentId: string, documentId: string): {
145
- ok: true;
146
- holders: readonly string[];
147
- } | {
148
- ok: false;
149
- reason: string;
150
- };
151
- isCurrentHolder(ownerAgentId: string, documentId: string, agentId: string): boolean;
152
- /** M14B / DOD-MP-JOIN-1 — the invitee's consent decisions. Validate-everything-then-mutate. */
153
- acceptJoin(ownerAgentId: string, amendmentHash: string, nowMs: number): Promise<{
154
- ok: true;
155
- documentId: string;
156
- inviterAgentId: string;
157
- documentType: string;
158
- applied: number;
159
- answerBytes: Uint8Array;
160
- } | {
161
- ok: false;
162
- reason: string;
163
- detail: string;
164
- }>;
165
- refuseJoin(ownerAgentId: string, amendmentHash: string, reason: string | null, nowMs: number): Promise<{
153
+ initiateReconcile(ownerAgentId: string, peerAgentId: string, documentIds: readonly string[]): Promise<{
166
154
  ok: true;
167
- documentId: string;
168
- inviterAgentId: string;
169
- answerBytes: Uint8Array;
170
155
  } | {
171
156
  ok: false;
172
157
  reason: string;
173
- detail: string;
174
158
  }>;
159
+ /**
160
+ * SYNC-G1 — the fold's governance frontier for a document, or null when it cannot be
161
+ * derived. Publish stamps this into every envelope's signed TBS as content's causal anchor.
162
+ */
163
+ governanceFrontierFor(ownerAgentId: string, documentId: string): string[] | null;
164
+ /**
165
+ * SYNC-P4 (R27/R28) — the DERIVED ending and who a pending close still waits on. Null when
166
+ * the document cannot be derived.
167
+ */
168
+ deriveEnded(ownerAgentId: string, documentId: string): {
169
+ ended: "closed" | "killed" | null;
170
+ waitingOn: string[];
171
+ } | null;
175
172
  router: DocumentFrameRouter;
176
173
  /**
177
174
  * The hook `SessionNodeManager.setOnDocumentFrame` takes. Handed out ready-shaped so the
@@ -184,21 +181,6 @@ export interface DocumentLayer {
184
181
  ok?: boolean;
185
182
  reason?: string;
186
183
  };
187
- /**
188
- * Resolve when this envelope is SETTLED by the peer, or false when `timeoutMs` elapses first.
189
- *
190
- * The delivery transport holds a session it opened open until this resolves. See the comment on
191
- * `DocumentTransportDeps.awaitAck`: the seal tears the session down and the teardown drops
192
- * content still held for ordering, so sealing before the answer arrives can delete an ack that
193
- * was correctly sent and correctly received.
194
- *
195
- * Resolves IMMEDIATELY if the envelope is already settled — the ack can win the race with the
196
- * caller, and a waiter that only listened for future events would then wait out the full grace
197
- * period on every fast peer.
198
- */
199
- awaitAck(ownerAgentId: string, envelopeHash: string, expectedAckerAgentId: string, timeoutMs: number): Promise<{
200
- admitted: boolean;
201
- } | null>;
202
184
  }
203
185
  /**
204
186
  * The default `publicKeyFor`: a remote agent's id IS its K_local public key, hex-encoded (M14-D5).
@@ -1 +1 @@
1
- {"version":3,"file":"document-layer.d.ts","sourceRoot":"","sources":["../src/document-layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-layer.d.ts","sourceRoot":"","sources":["../src/document-layer.ts"],"names":[],"mappings":"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"}