@cello-protocol/daemon 0.0.138 → 0.0.139

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 (45) hide show
  1. package/dist/column-birth.d.ts +40 -0
  2. package/dist/column-birth.d.ts.map +1 -0
  3. package/dist/column-birth.js +60 -0
  4. package/dist/column-birth.js.map +1 -0
  5. package/dist/daemon.js +35 -2
  6. package/dist/daemon.js.map +1 -1
  7. package/dist/document-ack-inbound.d.ts +1 -1
  8. package/dist/document-ack-inbound.d.ts.map +1 -1
  9. package/dist/document-ack-inbound.js +1 -1
  10. package/dist/document-ack-inbound.js.map +1 -1
  11. package/dist/document-delivery-transport.d.ts +16 -1
  12. package/dist/document-delivery-transport.d.ts.map +1 -1
  13. package/dist/document-delivery-transport.js +45 -5
  14. package/dist/document-delivery-transport.js.map +1 -1
  15. package/dist/document-delivery.d.ts +32 -0
  16. package/dist/document-delivery.d.ts.map +1 -1
  17. package/dist/document-delivery.js +52 -6
  18. package/dist/document-delivery.js.map +1 -1
  19. package/dist/document-handlers.d.ts.map +1 -1
  20. package/dist/document-handlers.js +171 -15
  21. package/dist/document-handlers.js.map +1 -1
  22. package/dist/document-handshake.d.ts +4 -0
  23. package/dist/document-handshake.d.ts.map +1 -1
  24. package/dist/document-handshake.js +40 -13
  25. package/dist/document-handshake.js.map +1 -1
  26. package/dist/document-layer.d.ts +3 -1
  27. package/dist/document-layer.d.ts.map +1 -1
  28. package/dist/document-layer.js +11 -7
  29. package/dist/document-layer.js.map +1 -1
  30. package/dist/document-lifecycle.d.ts +10 -0
  31. package/dist/document-lifecycle.d.ts.map +1 -1
  32. package/dist/document-lifecycle.js +23 -2
  33. package/dist/document-lifecycle.js.map +1 -1
  34. package/dist/document-screen.d.ts +16 -0
  35. package/dist/document-screen.d.ts.map +1 -1
  36. package/dist/document-screen.js +40 -20
  37. package/dist/document-screen.js.map +1 -1
  38. package/dist/document-store.d.ts +20 -0
  39. package/dist/document-store.d.ts.map +1 -1
  40. package/dist/document-store.js +36 -9
  41. package/dist/document-store.js.map +1 -1
  42. package/dist/session-node-manager.d.ts.map +1 -1
  43. package/dist/session-node-manager.js +11 -1
  44. package/dist/session-node-manager.js.map +1 -1
  45. package/package.json +3 -3
@@ -28,6 +28,7 @@ import * as Y from "yjs";
28
28
  import { encodeDocumentProposal, buildDocumentProposalTbs, documentIdFromProposal, seamViolation, ASSURANCE_TIER_V1, TOPOLOGY_V1, DOCUMENT_FEATURE_VERSION, encodeDocumentProposalAck, buildDocumentProposalAckTbs, DOCUMENT_PROPOSAL_ACK_VERSION, MAX_PROPOSAL_REFUSAL_REASON_LENGTH, } from "@cello-protocol/protocol-types";
29
29
  import { lineHunks } from "./document-write-path.js";
30
30
  import { profileViolation } from "./document-profile.js";
31
+ import { screenText, SCREEN_RULE_ID } from "./document-screen.js";
31
32
  /** Document types the notification/diff path understands. Anything else is stored, not diffed. */
32
33
  const DEFAULT_DOCUMENT_TYPE = "markdown";
33
34
  export function registerDocumentHandlers(deps) {
@@ -57,6 +58,16 @@ export function registerDocumentHandlers(deps) {
57
58
  return { agentName, ownerAgentId };
58
59
  }
59
60
  const isRefusal = (r) => r.ok === false;
61
+ /**
62
+ * Documents holding an edit that was APPLIED to the live doc and never published.
63
+ *
64
+ * In memory deliberately, and it is not a shortcut: an unpublished edit exists only in the live
65
+ * `Y.Doc`, which is rebuilt from the envelope log on restart — so the edit and this flag are lost
66
+ * together. A durable flag would outlive the thing it describes and send the operator flushing
67
+ * something that no longer exists.
68
+ */
69
+ const unpublishedEdits = new Set();
70
+ const unpublishedKey = (ownerAgentId, documentId) => `${ownerAgentId}\u0000${documentId}`;
60
71
  /**
61
72
  * Has the peer REFUSED this document? If so, nothing may be published into it.
62
73
  *
@@ -139,6 +150,7 @@ export function registerDocumentHandlers(deps) {
139
150
  if (!resent.ok) {
140
151
  return { ok: false, reason: resent.reason, guidance: resent.detail ?? "The peer is still unreachable." };
141
152
  }
153
+ layer.handshake.markProposalSent(who.ownerAgentId, retryId, deps.now());
142
154
  return { ok: true, documentId: retryId, proposalSent: true, peerAgentId: stored.envelope.peer_agent_id };
143
155
  }
144
156
  const peerAgentId = typeof params?.peer_pubkey === "string" ? params.peer_pubkey.toLowerCase() : "";
@@ -251,6 +263,7 @@ export function registerDocumentHandlers(deps) {
251
263
  `re-send this same offer — do not propose a new one, that would make a second document.`,
252
264
  };
253
265
  }
266
+ layer.handshake.markProposalSent(who.ownerAgentId, documentId, deps.now());
254
267
  return { ok: true, documentId, proposalSent: true, peerAgentId, filePath: proposeFilePath };
255
268
  });
256
269
  /**
@@ -273,17 +286,40 @@ export function registerDocumentHandlers(deps) {
273
286
  decided_at_ms: deps.now(),
274
287
  signature: new Uint8Array(0),
275
288
  };
276
- ack.signature = await deps.sign(who.agentName, buildDocumentProposalAckTbs(ack));
277
- const sent = await deps.transportFor(who.agentName).sendBytes({
278
- peerAgentId: proposerAgentId,
279
- documentId,
280
- bytes: encodeDocumentProposalAck(ack),
281
- correlationId: randomUUID(),
282
- });
283
- if (!sent.ok) {
284
- logger.warn("document.proposal.ack_unsent", { documentId, accepted, reason: sent.reason });
289
+ // BEST-EFFORT MEANS BEST-EFFORT FOR A THROW TOO, and it did not.
290
+ //
291
+ // The header above states the contract: consent is local and final, and an unsent ack must not
292
+ // fail the decision. That held only for a RETURNED failure. `sign` goes through a key provider
293
+ // and `sendBytes` opens a session — a directory negotiation, a dial, and a seal ceremony on its
294
+ // last line — any of which can throw. Nothing caught them.
295
+ //
296
+ // By the time this runs, `accept` has already committed the consent transition and created the
297
+ // document. So a throw here reached the IPC boundary as `internal_error` with "An unexpected
298
+ // error occurred", the operator re-ran accept, and got "a consent decision is made once" — which
299
+ // reads as a bug in the handshake rather than a send that failed after the decision stuck.
300
+ try {
301
+ ack.signature = await deps.sign(who.agentName, buildDocumentProposalAckTbs(ack));
302
+ const sent = await deps.transportFor(who.agentName).sendBytes({
303
+ peerAgentId: proposerAgentId,
304
+ documentId,
305
+ bytes: encodeDocumentProposalAck(ack),
306
+ correlationId: randomUUID(),
307
+ });
308
+ if (!sent.ok) {
309
+ logger.warn("document.proposal.ack_unsent", { documentId, accepted, reason: sent.reason });
310
+ }
311
+ return sent.ok;
312
+ }
313
+ catch (err) {
314
+ // Same outcome as a returned failure, and reported the same way: the peer was not told. The
315
+ // caller already surfaces that as `proposerNotified: false`.
316
+ logger.warn("document.proposal.ack_threw", {
317
+ documentId,
318
+ accepted,
319
+ error: err instanceof Error ? err.message : String(err),
320
+ });
321
+ return false;
285
322
  }
286
- return sent.ok;
287
323
  }
288
324
  // ─── inbox / accept / refuse ──────────────────────────────────────────────────────────────
289
325
  handlers.set("cello_doc_inbox", async (params, connectionId) => {
@@ -345,7 +381,11 @@ export function registerDocumentHandlers(deps) {
345
381
  if (isRefusal(who))
346
382
  return who;
347
383
  const documentId = typeof params?.document_id === "string" ? params.document_id : "";
348
- const reason = typeof params?.reason === "string" && params.reason.length > 0 ? params.reason : "declined_by_operator";
384
+ // TRIMMED before the emptiness test. `document-handshake.refuse` THROWS on a whitespace-only
385
+ // reason, and this guard only checked length — so `{ reason: " " }` reached it and surfaced
386
+ // as `internal_error`, for a refusal that is otherwise perfectly valid.
387
+ const given = typeof params?.reason === "string" ? params.reason.trim() : "";
388
+ const reason = given.length > 0 ? given : "declined_by_operator";
349
389
  if (documentId.length === 0) {
350
390
  return { ok: false, reason: "invalid_document_id", guidance: "Pass 'document_id' from cello_doc_inbox." };
351
391
  }
@@ -394,6 +434,13 @@ export function registerDocumentHandlers(deps) {
394
434
  // in it is a fine state; it is just not the same state.
395
435
  peerHasPublished: layer.store.knownEnvelopeHashesBySender(who.ownerAgentId, d.documentId, d.peerAgentId).size > 0,
396
436
  consentState: proposal?.consentState ?? null,
437
+ // DID OUR OFFER LEAVE? Only meaningful for a document WE proposed — for one we accepted
438
+ // there is no offer of ours to have sent. Without this, `peerAccepted: null` meant both
439
+ // "they are thinking" and "they were never asked", and the shipped guidance said WAIT,
440
+ // which is wrong for the second and leaves the operator waiting on nothing.
441
+ proposalSent: proposal?.proposerAgentId === who.ownerAgentId
442
+ ? layer.handshake.proposalSent(who.ownerAgentId, d.documentId)
443
+ : null,
397
444
  };
398
445
  }),
399
446
  };
@@ -475,7 +522,17 @@ export function registerDocumentHandlers(deps) {
475
522
  if (!rendered.ok) {
476
523
  // The stats still stand — they are structural and type-independent — so a document type this
477
524
  // build cannot render is not a document an agent has to read blind.
478
- return { ok: true, documentId, unchanged: before === after, diff: null, reason: rendered.reason, stats };
525
+ // NOT `reason` ON AN `ok: true`. That key is the daemon's FAILURE convention everywhere else —
526
+ // `json-out.ts` documents `ok: false` as the one failure shape — so an agent branching on
527
+ // `result.reason` reads this perfectly good stats-only diff as an error and stops.
528
+ return {
529
+ ok: true,
530
+ documentId,
531
+ unchanged: before === after,
532
+ diff: null,
533
+ diffUnavailableReason: rendered.reason,
534
+ stats,
535
+ };
479
536
  }
480
537
  return {
481
538
  ok: true,
@@ -519,6 +576,51 @@ export function registerDocumentHandlers(deps) {
519
576
  const text = doc.getText("content");
520
577
  const before = text.toString();
521
578
  if (before === content) {
579
+ // NO TEXT CHANGE IS NOT ALWAYS NOTHING TO DO, and this returned here unconditionally — which
580
+ // made an applied-but-unpublished edit UNRECOVERABLE.
581
+ //
582
+ // The sequence: a write applies the text to the live doc, `publish.publish` then refuses (the
583
+ // platform is paused), and the handler correctly reports `changed: true, published: false`.
584
+ // The edit is now in the document and in no log — and pending is derived from the log, so
585
+ // nothing will ever deliver it. The operator's natural retry is to write the same text again,
586
+ // which landed HERE and was answered `changed: false, published: false`: a cheerful no-op
587
+ // over a permanent divergence. `cello_doc_publish` could not flush it either — it diffs the
588
+ // FILE, which already matches.
589
+ //
590
+ // GATED ON A RECORDED FACT, not on asking `publish` whether anything is owed. Its own guard
591
+ // only fires once we have published before (`lastPublishedStateVector !== null`), so on a
592
+ // first write it would publish the whole document on every unchanged call — a leaf and a
593
+ // delivery for nothing, which the neighbouring test pins against.
594
+ //
595
+ // The flag lives in memory ON PURPOSE: an unpublished edit is itself in-memory only. The live
596
+ // doc is rebuilt from the envelope log, and the edit is by definition not in it, so both are
597
+ // lost on restart together. A durable flag would outlive the thing it describes.
598
+ if (unpublishedEdits.has(unpublishedKey(who.ownerAgentId, documentId))) {
599
+ const flushed = await publish.publish(who.ownerAgentId, documentId, doc, deps.now());
600
+ if (flushed.ok) {
601
+ unpublishedEdits.delete(unpublishedKey(who.ownerAgentId, documentId));
602
+ layer.notifications.markWritten(who.ownerAgentId, documentId, content);
603
+ await materialize(who.ownerAgentId, documentId, document.documentType);
604
+ return {
605
+ ok: true,
606
+ documentId,
607
+ changed: false,
608
+ published: true,
609
+ envelopeHash: flushed.envelopeHash,
610
+ guidance: "The text was already what you sent, but an earlier edit had been applied without " +
611
+ "reaching your peer. It has gone out now.",
612
+ };
613
+ }
614
+ return {
615
+ ok: true,
616
+ documentId,
617
+ changed: false,
618
+ published: false,
619
+ reason: flushed.reason,
620
+ guidance: `An earlier edit is applied locally and still has not reached your peer ` +
621
+ `(${flushed.reason}). ${flushed.detail ?? ""}`.trim(),
622
+ };
623
+ }
522
624
  return { ok: true, documentId, changed: false, published: false };
523
625
  }
524
626
  // AUTHORING-SIDE PROFILE CHECK (DOD-DOC-PROFILE-1, §16.7-14). Caught where the character was
@@ -533,6 +635,28 @@ export function registerDocumentHandlers(deps) {
533
635
  const profileFault = profileViolation(typeof document.properties.content_profile === "string"
534
636
  ? document.properties.content_profile
535
637
  : undefined, content);
638
+ // AUTHORING-SIDE SCREENING (DOD-DOC-SCREEN-1, §16.6). The receiver's gate refuses these and
639
+ // stays authoritative; this catches them where the character was WRITTEN so it never becomes a
640
+ // rejection round. Three rejected rounds stall the document, and a stall from a character the
641
+ // operator cannot see in their own editor is the worst version of that.
642
+ //
643
+ // FRICTION REDUCTION AMONG GOOD ACTORS, never a boundary — the sender's client can be patched
644
+ // or compromised while the sender is a good actor, which is why the receiving gate exists and
645
+ // why this one cannot replace it. Same function on both sides (`screenText`), so the two cannot
646
+ // disagree about what is refused.
647
+ const screenFault = screenText(content);
648
+ if (screenFault) {
649
+ return {
650
+ ok: false,
651
+ reason: "document_content_refused",
652
+ guidance: `Your peer's screening will refuse ${screenFault.codepoints.join(", ")} ` +
653
+ `(${screenFault.count} occurrence(s), first at character ${screenFault.offsets[0]}). ` +
654
+ `These are characters that make what a reader SEES differ from what the document SAYS, or ` +
655
+ `that address a reader's model rather than the reader. Remove them and write again — ` +
656
+ `sending as-is costs a rejection round, and three of those stall the document.`,
657
+ detail: JSON.stringify({ rule: SCREEN_RULE_ID, ...screenFault }),
658
+ };
659
+ }
536
660
  if (profileFault) {
537
661
  return {
538
662
  ok: false,
@@ -577,6 +701,9 @@ export function registerDocumentHandlers(deps) {
577
701
  });
578
702
  const result = await publish.publish(who.ownerAgentId, documentId, doc, deps.now());
579
703
  if (!result.ok) {
704
+ // REMEMBER IT, so the retry above can flush it. Without this the operator's next identical
705
+ // write is indistinguishable from an ordinary no-op and the edit never leaves.
706
+ unpublishedEdits.add(unpublishedKey(who.ownerAgentId, documentId));
580
707
  // The EDIT IS APPLIED locally and is not published. Reported as such: an operator told the
581
708
  // write failed would write it again, and the second write would be a no-op diff against the
582
709
  // text it already applied — the change silently never leaving.
@@ -592,6 +719,7 @@ export function registerDocumentHandlers(deps) {
592
719
  // WHAT WE WROTE, against the current read mark. Without it `cello_doc_diff` shows our own edits
593
720
  // back to us as "what changed since I looked" — which the tool description frames as the
594
721
  // COUNTERPARTY's contribution — and `overlap` has nothing to separate mine from theirs.
722
+ unpublishedEdits.delete(unpublishedKey(who.ownerAgentId, documentId));
595
723
  layer.notifications.markWritten(who.ownerAgentId, documentId, content);
596
724
  // AND THE FILE. `cello_doc_write` changes the document; without this the operator's own
597
725
  // projection on disk is stale the moment they use it, and the two surfaces disagree about the
@@ -601,11 +729,31 @@ export function registerDocumentHandlers(deps) {
601
729
  // so a stale file either refuses as `document_file_stale` or — if it happened to match an older
602
730
  // baseline — republishes text the document has already moved past. Found on the first live
603
731
  // two-agent smoke, where the author's own file was missing the line she had just written.
604
- await materialize(who.ownerAgentId, documentId, document.documentType);
732
+ const writtenFile = await materialize(who.ownerAgentId, documentId, document.documentType);
605
733
  // Delivery is the worker's, not this call's — publish is fire-and-forget by design (§16.4), and
606
734
  // a write that blocked on an offline peer would make editing a shared document depend on the
607
735
  // other party being awake.
608
- return { ok: true, documentId, changed: true, published: true, envelopeHash: result.envelopeHash };
736
+ return {
737
+ ok: true,
738
+ documentId,
739
+ changed: true,
740
+ published: true,
741
+ envelopeHash: result.envelopeHash,
742
+ // THE FILE'S FATE, SURFACED. `materialize` swallows its error — right for propose and accept,
743
+ // where a disk fault must not fail a completed consent decision, and wrong here. The comment
744
+ // above this call already spells out the consequence: a stale file makes the NEXT
745
+ // `cello_doc_publish` refuse as `document_file_stale`, or worse, republish text the document
746
+ // has moved past. The cause was a swallowed error one call earlier that only a daemon-log
747
+ // reader would ever see.
748
+ fileUpdated: writtenFile !== null,
749
+ ...(writtenFile === null
750
+ ? {
751
+ guidance: "The change was published, but your local file could not be rewritten. Read the " +
752
+ "document rather than the file, and expect cello_doc_publish to refuse as " +
753
+ "document_file_stale until the file is back in step.",
754
+ }
755
+ : {}),
756
+ };
609
757
  });
610
758
  // ─── close / kill ─────────────────────────────────────────────────────────────────────────
611
759
  handlers.set("cello_doc_close", async (params, connectionId) => {
@@ -720,7 +868,15 @@ export function registerDocumentHandlers(deps) {
720
868
  return { ok: true, documentId, changed: true, published: true, envelopeHash: result.envelopeHash };
721
869
  });
722
870
  logger.debug("document.handlers.registered", {
723
- verbs: ["propose", "inbox", "accept", "refuse", "list", "read", "diff", "write", "publish", "close", "kill"],
871
+ // DERIVED from what was actually registered, never hand-typed. The list it replaced was a
872
+ // second source of truth for the one question this line exists to answer, and it could drift
873
+ // from the handler map without anything noticing — which is the same four-place-lockstep
874
+ // failure this surface has already had twice.
875
+ // Matched on `_doc_` and logged WHOLE rather than stripped of a `cello_doc_` prefix: the
876
+ // §2b source audit reads cello_* tokens out of this file to prove the daemon never names a
877
+ // tool that does not exist, and a bare prefix literal reads to it as exactly that — a dead
878
+ // command. The audit was right to flag it; the literal is what had to go.
879
+ verbs: [...handlers.keys()].filter((k) => k.includes("_doc_")).sort(),
724
880
  });
725
881
  }
726
882
  //# sourceMappingURL=document-handlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"document-handlers.js","sourceRoot":"","sources":["../src/document-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-handlers.js","sourceRoot":"","sources":["../src/document-handlers.ts"],"names":[],"mappings":"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"}
@@ -152,5 +152,9 @@ export declare class DocumentHandshake {
152
152
  reason: string;
153
153
  detail: string;
154
154
  };
155
+ /** Record that OUR proposal for this document actually left the machine. */
156
+ markProposalSent(ownerAgentId: string, documentId: string, nowMs: number): void;
157
+ /** Has our proposal for this document left? False also covers "we never authored one". */
158
+ proposalSent(ownerAgentId: string, documentId: string): boolean;
155
159
  }
156
160
  //# sourceMappingURL=document-handshake.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"document-handshake.d.ts","sourceRoot":"","sources":["../src/document-handshake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-handshake.d.ts","sourceRoot":"","sources":["../src/document-handshake.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@
24
24
  * safe — a proposal recorded under an older build cannot be accepted under rules it predates.
25
25
  */
26
26
  import { buildDocumentProposalTbs, decodeDocumentProposal, documentFeatureIncompatibility, documentIdFromProposal, encodeDocumentProposal, seamViolation, } from "@cello-protocol/protocol-types";
27
+ import { addColumnIfMissing } from "./column-birth.js";
27
28
  /**
28
29
  * NOTE FOR THE NEXT COLUMN. `CREATE TABLE IF NOT EXISTS` is correct only while no daemon has ever
29
30
  * created this table — true today, since it is new in an unreleased milestone. The moment any dev
@@ -64,9 +65,14 @@ const CREATE_PROPOSALS_SQL = `
64
65
  * operator surface exists precisely to tell those apart.
65
66
  */
66
67
  const PEER_DECISION_COLUMNS = [
67
- "ALTER TABLE document_proposals ADD COLUMN peer_accepted INTEGER",
68
- "ALTER TABLE document_proposals ADD COLUMN peer_reason TEXT",
69
- "ALTER TABLE document_proposals ADD COLUMN peer_decided_at INTEGER",
68
+ { column: "peer_accepted", sql: "ALTER TABLE document_proposals ADD COLUMN peer_accepted INTEGER" },
69
+ { column: "peer_reason", sql: "ALTER TABLE document_proposals ADD COLUMN peer_reason TEXT" },
70
+ { column: "peer_decided_at", sql: "ALTER TABLE document_proposals ADD COLUMN peer_decided_at INTEGER" },
71
+ // DID OUR OFFER ACTUALLY LEAVE? Nothing durable recorded it, so `peerAccepted: null` meant both
72
+ // "they have not decided" and "they were never asked" — and the shipped skill told the operator
73
+ // to WAIT, which is wrong for the second. The only place the send outcome ever appeared was the
74
+ // transient response to the propose call itself.
75
+ { column: "proposal_sent_at", sql: "ALTER TABLE document_proposals ADD COLUMN proposal_sent_at INTEGER" },
70
76
  ];
71
77
  export class DocumentHandshake {
72
78
  #db;
@@ -77,15 +83,8 @@ export class DocumentHandshake {
77
83
  this.#logger = logger;
78
84
  this.#verify = verify;
79
85
  this.#db.exec(CREATE_PROPOSALS_SQL);
80
- for (const sql of PEER_DECISION_COLUMNS) {
81
- try {
82
- this.#db.exec(sql);
83
- }
84
- catch {
85
- // Already present. The only other way this throws is a corrupt schema, which the very next
86
- // query surfaces with its own message — swallowing that one is not worth a version table
87
- // whose whole job would be to answer a question `ALTER` already answers.
88
- }
86
+ for (const { column, sql } of PEER_DECISION_COLUMNS) {
87
+ addColumnIfMissing(this.#db, this.#logger, { table: "document_proposals", column, sql });
89
88
  }
90
89
  }
91
90
  /**
@@ -370,15 +369,43 @@ export class DocumentHandshake {
370
369
  .run(reason, nowMs, ownerAgentId, documentId);
371
370
  if (Number(info.changes) === 0) {
372
371
  const now = this.get(ownerAgentId, documentId);
372
+ // A PROPOSAL THAT DOES NOT EXIST IS NOT ONE THAT WAS ALREADY DECIDED. `accept` checks for the
373
+ // row first and answers `document_proposal_unknown`; this went straight to the UPDATE, found
374
+ // zero changes, and reported a typo'd id as "is unknown — a consent decision is made once".
375
+ // That asserts a decision was recorded, about a proposal nobody ever made, and sends the
376
+ // operator looking for who made it.
377
+ if (!now) {
378
+ return {
379
+ ok: false,
380
+ reason: "document_proposal_unknown",
381
+ detail: `no proposal ${documentId.slice(0, 16)}… for this agent — check the id against ` +
382
+ `cello_doc_inbox`,
383
+ };
384
+ }
373
385
  return {
374
386
  ok: false,
375
387
  reason: "document_proposal_not_pending",
376
- detail: `proposal ${documentId.slice(0, 16)}… is ${now?.consentState ?? "unknown"} — a consent decision is made once`,
388
+ detail: `proposal ${documentId.slice(0, 16)}… is ${now.consentState} — a consent decision is made once`,
377
389
  };
378
390
  }
379
391
  this.#logger.info("document.proposal.refused", { documentId, reason, autoRefused: false });
380
392
  return { ok: true };
381
393
  }
394
+ /** Record that OUR proposal for this document actually left the machine. */
395
+ markProposalSent(ownerAgentId, documentId, nowMs) {
396
+ this.#db
397
+ .prepare(`UPDATE document_proposals SET proposal_sent_at = ?
398
+ WHERE owner_agent_id = ? AND document_id = ? AND proposal_sent_at IS NULL`)
399
+ .run(nowMs, ownerAgentId, documentId);
400
+ }
401
+ /** Has our proposal for this document left? False also covers "we never authored one". */
402
+ proposalSent(ownerAgentId, documentId) {
403
+ const row = this.#db
404
+ .prepare(`SELECT proposal_sent_at FROM document_proposals
405
+ WHERE owner_agent_id = ? AND document_id = ? AND proposal_sent_at IS NOT NULL LIMIT 1`)
406
+ .get(ownerAgentId, documentId);
407
+ return row !== undefined;
408
+ }
382
409
  #rows(ownerAgentId, where, extra) {
383
410
  const rows = this.#db
384
411
  .prepare(`SELECT * FROM document_proposals ${where} ORDER BY created_at ASC, rowid ASC`)
@@ -1 +1 @@
1
- {"version":3,"file":"document-handshake.js","sourceRoot":"","sources":["../src/document-handshake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-handshake.js","sourceRoot":"","sources":["../src/document-handshake.ts"],"names":[],"mappings":"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"}
@@ -131,7 +131,9 @@ export interface DocumentLayer {
131
131
  * caller, and a waiter that only listened for future events would then wait out the full grace
132
132
  * period on every fast peer.
133
133
  */
134
- awaitAck(ownerAgentId: string, envelopeHash: string, timeoutMs: number): Promise<boolean>;
134
+ awaitAck(ownerAgentId: string, envelopeHash: string, timeoutMs: number): Promise<{
135
+ admitted: boolean;
136
+ } | null>;
135
137
  }
136
138
  /**
137
139
  * 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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"}