@cello-protocol/daemon 0.0.181 → 0.0.183
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.
- package/dist/agent-id-migration.d.ts +9 -0
- package/dist/agent-id-migration.d.ts.map +1 -1
- package/dist/agent-id-migration.js +73 -1
- package/dist/agent-id-migration.js.map +1 -1
- package/dist/agent-selection.d.ts +73 -0
- package/dist/agent-selection.d.ts.map +1 -0
- package/dist/agent-selection.js +80 -0
- package/dist/agent-selection.js.map +1 -0
- package/dist/agent-settings-keys.d.ts.map +1 -1
- package/dist/agent-settings-keys.js +18 -0
- package/dist/agent-settings-keys.js.map +1 -1
- package/dist/assignment-verify.d.ts +62 -0
- package/dist/assignment-verify.d.ts.map +1 -0
- package/dist/assignment-verify.js +185 -0
- package/dist/assignment-verify.js.map +1 -0
- package/dist/backup-restore.d.ts +102 -0
- package/dist/backup-restore.d.ts.map +1 -0
- package/dist/backup-restore.js +340 -0
- package/dist/backup-restore.js.map +1 -0
- package/dist/bin/cello-daemon.js +91 -49
- package/dist/bin/cello-daemon.js.map +1 -1
- package/dist/close-commitment.d.ts +67 -0
- package/dist/close-commitment.d.ts.map +1 -0
- package/dist/close-commitment.js +78 -0
- package/dist/close-commitment.js.map +1 -0
- package/dist/close-session-handler.d.ts +20 -0
- package/dist/close-session-handler.d.ts.map +1 -1
- package/dist/close-session-handler.js +351 -58
- package/dist/close-session-handler.js.map +1 -1
- package/dist/consortium-bootstrap.d.ts +2 -0
- package/dist/consortium-bootstrap.d.ts.map +1 -1
- package/dist/consortium-bootstrap.js +182 -9
- package/dist/consortium-bootstrap.js.map +1 -1
- package/dist/content-encryption-status.d.ts +97 -0
- package/dist/content-encryption-status.d.ts.map +1 -0
- package/dist/content-encryption-status.js +122 -0
- package/dist/content-encryption-status.js.map +1 -0
- package/dist/content-park-client.d.ts +10 -0
- package/dist/content-park-client.d.ts.map +1 -1
- package/dist/content-park-client.js +84 -3
- package/dist/content-park-client.js.map +1 -1
- package/dist/content-park.d.ts.map +1 -1
- package/dist/content-park.js +323 -21
- package/dist/content-park.js.map +1 -1
- package/dist/daemon.d.ts +13 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +1168 -141
- package/dist/daemon.js.map +1 -1
- package/dist/delivery-session-suspects.d.ts.map +1 -1
- package/dist/delivery-session-suspects.js +5 -0
- package/dist/delivery-session-suspects.js.map +1 -1
- package/dist/directory-auth-posture.d.ts +87 -0
- package/dist/directory-auth-posture.d.ts.map +1 -0
- package/dist/directory-auth-posture.js +134 -0
- package/dist/directory-auth-posture.js.map +1 -0
- package/dist/directory-bootstrap.d.ts +66 -3
- package/dist/directory-bootstrap.d.ts.map +1 -1
- package/dist/directory-bootstrap.js +133 -7
- package/dist/directory-bootstrap.js.map +1 -1
- package/dist/document-delivery-transport.d.ts +22 -2
- package/dist/document-delivery-transport.d.ts.map +1 -1
- package/dist/document-delivery-transport.js +11 -3
- package/dist/document-delivery-transport.js.map +1 -1
- package/dist/document-handlers.d.ts.map +1 -1
- package/dist/document-handlers.js +119 -0
- package/dist/document-handlers.js.map +1 -1
- package/dist/document-layer.d.ts +0 -2
- package/dist/document-layer.d.ts.map +1 -1
- package/dist/document-layer.js.map +1 -1
- package/dist/inbound-sessions.d.ts +31 -1
- package/dist/inbound-sessions.d.ts.map +1 -1
- package/dist/inbound-sessions.js +276 -16
- package/dist/inbound-sessions.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/initiate-session-handler.d.ts.map +1 -1
- package/dist/initiate-session-handler.js +34 -3
- package/dist/initiate-session-handler.js.map +1 -1
- package/dist/ipc-server.d.ts +5 -1
- package/dist/ipc-server.d.ts.map +1 -1
- package/dist/ipc-server.js +19 -3
- package/dist/ipc-server.js.map +1 -1
- package/dist/manifest-deps.d.ts +0 -11
- package/dist/manifest-deps.d.ts.map +1 -1
- package/dist/manifest-deps.js +28 -2
- package/dist/manifest-deps.js.map +1 -1
- package/dist/manifest-validity.d.ts +153 -0
- package/dist/manifest-validity.d.ts.map +1 -0
- package/dist/manifest-validity.js +268 -0
- package/dist/manifest-validity.js.map +1 -0
- package/dist/notification-handlers.d.ts.map +1 -1
- package/dist/notification-handlers.js +15 -0
- package/dist/notification-handlers.js.map +1 -1
- package/dist/outbound-sessions.d.ts +31 -0
- package/dist/outbound-sessions.d.ts.map +1 -1
- package/dist/outbound-sessions.js +217 -17
- package/dist/outbound-sessions.js.map +1 -1
- package/dist/park-envelope.d.ts +95 -1
- package/dist/park-envelope.d.ts.map +1 -1
- package/dist/park-envelope.js +195 -4
- package/dist/park-envelope.js.map +1 -1
- package/dist/refusal-reasons.d.ts +72 -0
- package/dist/refusal-reasons.d.ts.map +1 -0
- package/dist/refusal-reasons.js +69 -0
- package/dist/refusal-reasons.js.map +1 -0
- package/dist/register-handler.d.ts.map +1 -1
- package/dist/register-handler.js +76 -0
- package/dist/register-handler.js.map +1 -1
- package/dist/registration-manager.d.ts.map +1 -1
- package/dist/registration-manager.js +20 -1
- package/dist/registration-manager.js.map +1 -1
- package/dist/relay-only.d.ts +133 -0
- package/dist/relay-only.d.ts.map +1 -0
- package/dist/relay-only.js +183 -0
- package/dist/relay-only.js.map +1 -0
- package/dist/restart-seal-resolver.d.ts.map +1 -1
- package/dist/restart-seal-resolver.js +6 -0
- package/dist/restart-seal-resolver.js.map +1 -1
- package/dist/retry-queue.d.ts +49 -2
- package/dist/retry-queue.d.ts.map +1 -1
- package/dist/retry-queue.js +55 -10
- package/dist/retry-queue.js.map +1 -1
- package/dist/roster-freshness.d.ts +169 -0
- package/dist/roster-freshness.d.ts.map +1 -0
- package/dist/roster-freshness.js +249 -0
- package/dist/roster-freshness.js.map +1 -0
- package/dist/seal-certificate-pull.d.ts +17 -1
- package/dist/seal-certificate-pull.d.ts.map +1 -1
- package/dist/seal-certificate-pull.js +37 -3
- package/dist/seal-certificate-pull.js.map +1 -1
- package/dist/seal-coordinator.d.ts +17 -1
- package/dist/seal-coordinator.d.ts.map +1 -1
- package/dist/seal-coordinator.js +71 -0
- package/dist/seal-coordinator.js.map +1 -1
- package/dist/seal-failure-store.d.ts +104 -0
- package/dist/seal-failure-store.d.ts.map +1 -0
- package/dist/seal-failure-store.js +126 -0
- package/dist/seal-failure-store.js.map +1 -0
- package/dist/seal-flows.d.ts.map +1 -1
- package/dist/seal-flows.js +35 -6
- package/dist/seal-flows.js.map +1 -1
- package/dist/seal-upgrade.d.ts +20 -5
- package/dist/seal-upgrade.d.ts.map +1 -1
- package/dist/seal-upgrade.js +28 -5
- package/dist/seal-upgrade.js.map +1 -1
- package/dist/session-assignment-parser.d.ts +41 -5
- package/dist/session-assignment-parser.d.ts.map +1 -1
- package/dist/session-assignment-parser.js +77 -14
- package/dist/session-assignment-parser.js.map +1 -1
- package/dist/session-ceremony.d.ts +35 -0
- package/dist/session-ceremony.d.ts.map +1 -1
- package/dist/session-ceremony.js +97 -0
- package/dist/session-ceremony.js.map +1 -1
- package/dist/session-connection-gater.d.ts +46 -7
- package/dist/session-connection-gater.d.ts.map +1 -1
- package/dist/session-connection-gater.js +163 -12
- package/dist/session-connection-gater.js.map +1 -1
- package/dist/session-content-handlers.d.ts +12 -0
- package/dist/session-content-handlers.d.ts.map +1 -1
- package/dist/session-content-handlers.js +149 -8
- package/dist/session-content-handlers.js.map +1 -1
- package/dist/session-node-manager.d.ts +653 -40
- package/dist/session-node-manager.d.ts.map +1 -1
- package/dist/session-node-manager.js +5938 -374
- package/dist/session-node-manager.js.map +1 -1
- package/dist/session-read-handlers.d.ts +27 -0
- package/dist/session-read-handlers.d.ts.map +1 -1
- package/dist/session-read-handlers.js +127 -6
- package/dist/session-read-handlers.js.map +1 -1
- package/dist/session-relay-client.d.ts +177 -2
- package/dist/session-relay-client.d.ts.map +1 -1
- package/dist/session-relay-client.js +564 -16
- package/dist/session-relay-client.js.map +1 -1
- package/dist/session-salt-agreement.d.ts +338 -0
- package/dist/session-salt-agreement.d.ts.map +1 -0
- package/dist/session-salt-agreement.js +478 -0
- package/dist/session-salt-agreement.js.map +1 -0
- package/dist/signal-submission.d.ts.map +1 -1
- package/dist/signal-submission.js +10 -1
- package/dist/signal-submission.js.map +1 -1
- package/dist/signaling-connect.d.ts +18 -1
- package/dist/signaling-connect.d.ts.map +1 -1
- package/dist/signaling-connect.js +206 -6
- package/dist/signaling-connect.js.map +1 -1
- package/dist/types.d.ts +75 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/vocabulary.d.ts.map +1 -1
- package/dist/vocabulary.js +10 -0
- package/dist/vocabulary.js.map +1 -1
- package/dist/wire-content-hash.d.ts +68 -0
- package/dist/wire-content-hash.d.ts.map +1 -1
- package/dist/wire-content-hash.js +83 -0
- package/dist/wire-content-hash.js.map +1 -1
- package/package.json +5 -5
|
@@ -9,8 +9,12 @@
|
|
|
9
9
|
* appends to the daemon-owned tree; cello_receive advances the per-connection cursor and the durable
|
|
10
10
|
* watermark. Splitting them would put the cursor's writer and its reader in different modules.
|
|
11
11
|
*/
|
|
12
|
-
|
|
12
|
+
// `wireContentHash` is no longer imported here: every outbound hash in this file now comes from
|
|
13
|
+
// `SessionNodeManager.contentHashForSession`, which returns the hash and its ALGORITHM together
|
|
14
|
+
// (`DOD-M15-SEALWIRE-1` part B2b). A direct call would be a hash computed without deciding — or
|
|
15
|
+
// recording — how it was made, which is the state that made a version skew look like a tamper.
|
|
13
16
|
import { randomUUID } from "node:crypto";
|
|
17
|
+
import { LEAF_KIND_MSG } from "./session-relay-client.js";
|
|
14
18
|
import { MAX_CONTENT_BYTES } from "@cello-protocol/protocol-types";
|
|
15
19
|
import { TIER } from "./contacts-tier-migration.js";
|
|
16
20
|
import { GATEWAY_UNAVAILABLE, GOVERNANCE_TIMEOUT } from "@cello-protocol/gateway";
|
|
@@ -23,6 +27,45 @@ import { isAutoReplyMarked } from "./away-detection.js";
|
|
|
23
27
|
* to each other for a morning on 2026-08-17. So it leads with "nobody read your message", and it
|
|
24
28
|
* says what the reader should do instead of replying into an empty room.
|
|
25
29
|
*/
|
|
30
|
+
/**
|
|
31
|
+
* DOD-M15-REFUSED-INBOUND-SILENT-1 — spread the operator's unshown refusals into a reply, or
|
|
32
|
+
* nothing at all.
|
|
33
|
+
*
|
|
34
|
+
* A spread rather than a field so the key is ABSENT when there is nothing to say. An always-present
|
|
35
|
+
* `refusals: []` is a field readers learn to skip, and this is precisely the field that explains
|
|
36
|
+
* why a conversation went quiet — it has to be unusual to be read.
|
|
37
|
+
*
|
|
38
|
+
* Draining is the point: the operator is told once per reason per session. The count travels with
|
|
39
|
+
* it, so "this happened 90 times" is visible without announcing it 90 times.
|
|
40
|
+
*/
|
|
41
|
+
/**
|
|
42
|
+
* ⚠️ RETURNS THE ADVICE WITH THE NOTICE, and that pairing is the fix — not a convenience.
|
|
43
|
+
*
|
|
44
|
+
* The drain is DESTRUCTIVE: whoever reads first consumes the notice. When only the quiet exit
|
|
45
|
+
* carried the "waiting will not help" sentence, a catch-up read (`--since-seq -1`, the stateless
|
|
46
|
+
* door the refusals elsewhere point people at) drained the refusal into a payload with no advice at
|
|
47
|
+
* all — and the operator's NEXT blocking read then said "call again and keep waiting", because the
|
|
48
|
+
* notice was already gone. The catch-up door destroyed the one sentence that made it actionable and
|
|
49
|
+
* replaced it with the advice this whole line exists to stop.
|
|
50
|
+
*
|
|
51
|
+
* Returning them together means no call site can take one without the other. A future exit that
|
|
52
|
+
* spreads this gets the advice for free; that is the property, and it is why the guidance does not
|
|
53
|
+
* live at the call sites any more.
|
|
54
|
+
*/
|
|
55
|
+
function refusalsField(mgr, agentName, sessionId,
|
|
56
|
+
/**
|
|
57
|
+
* WHO is being shown this. Without it the first window to read consumed the notice for every
|
|
58
|
+
* other window attending the same agent — the defect the delivery loop below was rewritten to
|
|
59
|
+
* remove, re-created on a different surface.
|
|
60
|
+
*/
|
|
61
|
+
consumerId) {
|
|
62
|
+
const refusals = mgr.takeContentRefusals(agentName, sessionId, consumerId);
|
|
63
|
+
return refusals.length > 0 ? { refusals, refusal_guidance: REFUSAL_GUIDANCE } : {};
|
|
64
|
+
}
|
|
65
|
+
const REFUSAL_GUIDANCE = "Message(s) from this counterparty WERE received and REFUSED — they were not verified, so they " +
|
|
66
|
+
"were neither ingested nor shown. See `refusals` for the reason and what to do. Waiting longer " +
|
|
67
|
+
"will not help until it is resolved, and the counterparty has no way to know: from their side the " +
|
|
68
|
+
"message was sent. If you need it, ask them to resend after the cause is fixed.";
|
|
26
69
|
const AUTO_REPLY_GUIDANCE = "At least one message here is an AUTOMATIC reply generated by the counterparty's daemon because " +
|
|
27
70
|
"nobody was attending that agent — no person and no agent read what you sent. Do not treat it as " +
|
|
28
71
|
"an answer, do not report a conversation is happening, and do not infer anything from its " +
|
|
@@ -32,6 +75,25 @@ const AUTO_REPLY_GUIDANCE = "At least one message here is an AUTOMATIC reply gen
|
|
|
32
75
|
"or anyone who simply omits it sends automatic replies with no mark at all. An unmarked message " +
|
|
33
76
|
"is NOT evidence a person wrote it. Never tell the operator a human replied because a message " +
|
|
34
77
|
"was unmarked.";
|
|
78
|
+
/**
|
|
79
|
+
* DOD-M15-SEALWIRE-1 bullet 5, SENT half — the proof for a message THIS agent sent.
|
|
80
|
+
*
|
|
81
|
+
* Present only when the relay WITNESSED the leaf: an unwitnessed send never put a Structure-1 on the
|
|
82
|
+
* wire, so there is nothing signed to store, and the row must record `self_authored` with no proof
|
|
83
|
+
* rather than imply one. `sendContent` returns it per-send rather than stashing it by session,
|
|
84
|
+
* because a side map hands a caller the wrong send's signature the moment two are in flight.
|
|
85
|
+
*/
|
|
86
|
+
export function sentAuthorship(r) {
|
|
87
|
+
/**
|
|
88
|
+
* ⚠️ NOT `r.ok ? …` — that made two of the five call sites DEAD BY CONSTRUCTION.
|
|
89
|
+
*
|
|
90
|
+
* Both live inside `if (!sendResult.ok)`, so an `ok`-gated read is unconditionally `undefined`
|
|
91
|
+
* there: the durably-queued send — witnessed, signed, only the direct hand-off failed — wrote a
|
|
92
|
+
* row with no proof while the proof sat in the result. The union now carries `authorship` on the
|
|
93
|
+
* failure member too, so read it off whichever shape arrived.
|
|
94
|
+
*/
|
|
95
|
+
return r.authorship;
|
|
96
|
+
}
|
|
35
97
|
export function registerSessionContentHandlers(deps) {
|
|
36
98
|
const { handlers, logger, sessionNodeManager, securityGateway, retryQueue, getConnState, resolveCurrentAgent, NO_CURRENT_AGENT_RESPONSE, getConnectionCursor, advanceConnectionCursor, safeCursorAdvance, getDeliveryBookmark, advanceDeliveryBookmark, clearTelegramRung, attendanceCount, contentTakes, } = deps;
|
|
37
99
|
/**
|
|
@@ -293,7 +355,16 @@ export function registerSessionContentHandlers(deps) {
|
|
|
293
355
|
// hash binds — the transcript records what was actually sent, not the pre-redaction draft.
|
|
294
356
|
const modified = outboundVerdict.disposition === "redact" && outboundVerdict.content !== undefined;
|
|
295
357
|
const sendBytes = modified ? new Uint8Array(outboundVerdict.content) : contentBytes;
|
|
296
|
-
|
|
358
|
+
/**
|
|
359
|
+
* `DOD-M15-SEALWIRE-1` part B2b — the hash and its ALGORITHM come from one decision point.
|
|
360
|
+
*
|
|
361
|
+
* Four outbound sites compute a content hash. Each of them independently deciding whether to
|
|
362
|
+
* salt is the defect `wire-content-hash.ts` was created to end (its header: the expression was
|
|
363
|
+
* written out five times, the last two got it wrong, and it took two live daemons to find),
|
|
364
|
+
* with a worse failure mode — a message hashed one way and LABELLED another is refused by every
|
|
365
|
+
* peer, including a correct one.
|
|
366
|
+
*/
|
|
367
|
+
const { hash: contentHash, alg: contentHashAlg } = await sessionNodeManager.contentHashForSession(record.agent_name, sessionId, sendBytes);
|
|
297
368
|
const contentHashHex = Buffer.from(contentHash).toString("hex");
|
|
298
369
|
// ─── DOD-COATTEND-SENDWINDOW-1 (§4): re-check the gate, in the same synchronous window as the
|
|
299
370
|
// act that makes this message irreversible ───────────────────────────────────────────────
|
|
@@ -331,6 +402,9 @@ export function registerSessionContentHandlers(deps) {
|
|
|
331
402
|
authority: "sibling_send_in_flight",
|
|
332
403
|
claimHeldMs: Date.now() - claimedAt,
|
|
333
404
|
});
|
|
405
|
+
// B2b-2 review F3: this send produced NOTHING — no leaf, no wire, no peer copy — so the
|
|
406
|
+
// unsalted hash computed above must not keep this session unsalted for its life.
|
|
407
|
+
sessionNodeManager.abandonUnsaltedHash(agentName, sessionId);
|
|
334
408
|
return {
|
|
335
409
|
ok: false,
|
|
336
410
|
reason: "session_moved_under_send",
|
|
@@ -347,6 +421,9 @@ export function registerSessionContentHandlers(deps) {
|
|
|
347
421
|
authority: "frontier_moved_during_send",
|
|
348
422
|
frontierAtGate, frontierNow,
|
|
349
423
|
});
|
|
424
|
+
// B2b-2 review F3: nothing was sent, so release the unsalted hash's permanent closure. This
|
|
425
|
+
// path got MORE likely with B2b-2 — the salt wait widens the interval this check watches.
|
|
426
|
+
sessionNodeManager.abandonUnsaltedHash(agentName, sessionId);
|
|
350
427
|
return {
|
|
351
428
|
ok: false,
|
|
352
429
|
reason: "session_moved_under_send",
|
|
@@ -371,7 +448,7 @@ export function registerSessionContentHandlers(deps) {
|
|
|
371
448
|
sendInFlight.set(inFlightKey, Date.now());
|
|
372
449
|
let sendResult;
|
|
373
450
|
try {
|
|
374
|
-
sendResult = await sessionNodeManager.sendContent(record.agent_name, sessionId, sendBytes, new Uint8Array(contentHash), correlationId);
|
|
451
|
+
sendResult = await sessionNodeManager.sendContent(record.agent_name, sessionId, sendBytes, new Uint8Array(contentHash), correlationId, LEAF_KIND_MSG, contentHashAlg);
|
|
375
452
|
}
|
|
376
453
|
finally {
|
|
377
454
|
sendInFlight.delete(inFlightKey);
|
|
@@ -387,6 +464,10 @@ export function registerSessionContentHandlers(deps) {
|
|
|
387
464
|
// awaiting-ACK queue already holds the content and actually drains, so writing here too
|
|
388
465
|
// stored the same plaintext twice and drained neither copy from this table.
|
|
389
466
|
if (!sendResult.durable) {
|
|
467
|
+
// B2b-2 review F3: a non-durable failure means the message is GONE — it reached no leaf, no
|
|
468
|
+
// peer, and the queue below has no production consumer. Nothing exists to split a
|
|
469
|
+
// transcript, so this session must not stay unsalted for its life over it.
|
|
470
|
+
sessionNodeManager.abandonUnsaltedHash(agentName, sessionId);
|
|
390
471
|
const nonce = randomUUID();
|
|
391
472
|
try {
|
|
392
473
|
retryQueue.enqueue(sessionId, new TextEncoder().encode(nonce), sendBytes);
|
|
@@ -419,13 +500,13 @@ export function registerSessionContentHandlers(deps) {
|
|
|
419
500
|
// DOD-M12B-INDEX-1: at the position the relay assigned, not at whatever the tail is. When
|
|
420
501
|
// this side has a gap the two differ, and committing at the tail puts our leaf at someone
|
|
421
502
|
// else's index — which parts the two roots and makes the next seal terminal.
|
|
422
|
-
const placed = sessionNodeManager.placeOwnLeaf(record.agent_name, sessionId, contentHashHex, sendBytes, sendResult.sequenceNumber, correlationId);
|
|
503
|
+
const placed = sessionNodeManager.placeOwnLeaf(record.agent_name, sessionId, contentHashHex, sendBytes, sendResult.sequenceNumber, correlationId, "msg", sentAuthorship(sendResult));
|
|
423
504
|
// `sequence_number` is a LEAF INDEX or nothing. Reporting the relay's number when no leaf
|
|
424
505
|
// exists hands the caller a value that matches no leaf on this side, and anything that
|
|
425
506
|
// feeds it to a cursor or a `--since-seq` read is then wrong.
|
|
426
507
|
const queuedLeaf = placed.placed ? placed.leafIndex : -1;
|
|
427
508
|
if (placed.placed) {
|
|
428
|
-
sessionNodeManager.recordTranscriptMessage(record.agent_name, sessionId, queuedLeaf, "sent", sendBytes, correlationId);
|
|
509
|
+
sessionNodeManager.recordTranscriptMessage(record.agent_name, sessionId, queuedLeaf, "sent", sendBytes, correlationId, sentAuthorship(sendResult));
|
|
429
510
|
advanceConnectionCursor(connectionId, sessionId, queuedLeaf);
|
|
430
511
|
}
|
|
431
512
|
logger.info(placed.placed ? "session.content.queued.committed" : "session.content.queued.held", {
|
|
@@ -435,6 +516,19 @@ export function registerSessionContentHandlers(deps) {
|
|
|
435
516
|
return {
|
|
436
517
|
ok: false,
|
|
437
518
|
reason: sendResult.reason,
|
|
519
|
+
/**
|
|
520
|
+
* DOD-M15-RELAYABUSE-1 review MEDIUM-7 — **THE CODE MUST CROSS THE BOUNDARY, NOT JUST THE
|
|
521
|
+
* PARAGRAPH.**
|
|
522
|
+
*
|
|
523
|
+
* `reason` here is `session_stream_unavailable` — an EXIT-POINT label. The actual cause
|
|
524
|
+
* (throttled / this counterparty's mailbox is full / the relay's store is full / this
|
|
525
|
+
* build cannot seal the algorithm) was computed, logged, and then left inside the English
|
|
526
|
+
* `guidance`. So an MCP caller wanting to tell "wait 45 seconds" from "another relay will
|
|
527
|
+
* not help" was back to substring-matching prose — which is exactly what `cause` was added
|
|
528
|
+
* to stop. Three newly-distinguishable causes had just landed and none of them reached the
|
|
529
|
+
* agent that would act on them.
|
|
530
|
+
*/
|
|
531
|
+
...(sendResult.cause !== undefined ? { cause: sendResult.cause } : {}),
|
|
438
532
|
queued: true,
|
|
439
533
|
// Carried on BOTH paths: without it a caller cannot tell "queued and in the record" from
|
|
440
534
|
// "queued and not in the record yet".
|
|
@@ -446,6 +540,9 @@ export function registerSessionContentHandlers(deps) {
|
|
|
446
540
|
return {
|
|
447
541
|
ok: false,
|
|
448
542
|
reason: sendResult.reason,
|
|
543
|
+
// DOD-M15-RELAYABUSE-1 review MEDIUM-7: the machine-readable cause crosses here too — see
|
|
544
|
+
// the note on the queued return above. `reason` is the exit point; `cause` is what happened.
|
|
545
|
+
...(sendResult.cause !== undefined ? { cause: sendResult.cause } : {}),
|
|
449
546
|
// M12-P12 (review pass 2): sendContent knows whether the content is actually recoverable;
|
|
450
547
|
// this boundary used to overwrite that with one sentence promising a retry for EVERY
|
|
451
548
|
// failure — including a persist that threw, where the message is simply gone, and a session
|
|
@@ -465,7 +562,7 @@ export function registerSessionContentHandlers(deps) {
|
|
|
465
562
|
// seen, which parts the two roots permanently. When the position is ahead of the tail the leaf
|
|
466
563
|
// is held — the bytes are already on the wire, so only the record waits, exactly as it does for
|
|
467
564
|
// a message we receive out of order.
|
|
468
|
-
const placement = sessionNodeManager.placeOwnLeaf(record.agent_name, sessionId, contentHashHex, sendBytes, sendResult.sequenceNumber, correlationId);
|
|
565
|
+
const placement = sessionNodeManager.placeOwnLeaf(record.agent_name, sessionId, contentHashHex, sendBytes, sendResult.sequenceNumber, correlationId, "msg", sentAuthorship(sendResult));
|
|
469
566
|
if (!placement.placed) {
|
|
470
567
|
// NOT IN THE RECORD YET, and the caller is told so rather than handed a plain success.
|
|
471
568
|
// `sequence_number` stays -1 because no leaf exists: `held_at` carries the relay's position
|
|
@@ -505,7 +602,7 @@ export function registerSessionContentHandlers(deps) {
|
|
|
505
602
|
// M9 merge fix: use sendBytes (the ALTERED bytes on a redact verdict), never the pre-redaction
|
|
506
603
|
// contentBytes — the leaf hash above already binds sendBytes; the transcript must match what
|
|
507
604
|
// actually went on the wire, not the pre-redaction draft (M9's own stated seam invariant).
|
|
508
|
-
sessionNodeManager.recordTranscriptMessage(record.agent_name, sessionId, leafIndex, "sent", sendBytes, correlationId);
|
|
605
|
+
sessionNodeManager.recordTranscriptMessage(record.agent_name, sessionId, leafIndex, "sent", sendBytes, correlationId, sentAuthorship(sendResult));
|
|
509
606
|
// M8C-CURSOR-1: the sender authored this leaf — advance ITS OWN cursor so it doesn't get
|
|
510
607
|
// blocked by session_not_current on its own just-sent message.
|
|
511
608
|
advanceConnectionCursor(connectionId, sessionId, leafIndex);
|
|
@@ -767,6 +864,10 @@ export function registerSessionContentHandlers(deps) {
|
|
|
767
864
|
ok: true,
|
|
768
865
|
since_seq: sinceSeq,
|
|
769
866
|
count: received.length,
|
|
867
|
+
// DOD-M15-REFUSED-INBOUND-SILENT-1: refusals the operator has not been shown yet. Omitted
|
|
868
|
+
// entirely when there are none — an always-present empty array trains readers to skip the
|
|
869
|
+
// field, and this is the field that explains why a conversation went quiet.
|
|
870
|
+
...refusalsField(sessionNodeManager, agentName, sessionId, connectionId),
|
|
770
871
|
...(autoReplyCount > 0 ? { auto_reply_guidance: AUTO_REPLY_GUIDANCE } : {}),
|
|
771
872
|
// AC6 (review F1): the catch-up batch is THE stateless-client door — `cello receive <id>
|
|
772
873
|
// --since-seq -1` is a fresh connection every time, so it never saw a doorbell, and the
|
|
@@ -837,6 +938,13 @@ export function registerSessionContentHandlers(deps) {
|
|
|
837
938
|
...(sealedRoot ? { sealed_root: sealedRoot } : {}),
|
|
838
939
|
unread_count: terminal.unreadCount,
|
|
839
940
|
attendance: attendingNow(agentName),
|
|
941
|
+
// DOD-M15-REFUSED-INBOUND-SILENT-1: the LAST door, and without this it is a closed one.
|
|
942
|
+
// This check runs FIRST in the loop, so once a session is sealed the quiet exit is
|
|
943
|
+
// unreachable for it forever — and the guidance here sends the operator to
|
|
944
|
+
// `cello_transcript`, which cannot show a message that was never ingested. The likely
|
|
945
|
+
// sequence is exactly the bad one: skew, silence, the operator gives up and seals, and the
|
|
946
|
+
// explanation becomes unreachable through every door they are pointed at.
|
|
947
|
+
...refusalsField(sessionNodeManager, agentName, sessionId, connectionId),
|
|
840
948
|
guidance: terminal.unreadCount > 0
|
|
841
949
|
? `The session has been sealed by both parties. ${terminal.unreadCount} message(s) arrived that were not read live — call cello_transcript to retrieve the full sealed history. No further actions are required on this session.`
|
|
842
950
|
: "The session has been sealed by both parties. The full history is available via cello_transcript. No further actions are required on this session.",
|
|
@@ -960,6 +1068,9 @@ export function registerSessionContentHandlers(deps) {
|
|
|
960
1068
|
content: null,
|
|
961
1069
|
reason: "content_undeliverable",
|
|
962
1070
|
attendance: attendingNow(agentName),
|
|
1071
|
+
// A local write failure and a refused message look identical from the operator's chair —
|
|
1072
|
+
// nothing arrived. Carrying the refusal here keeps the two distinguishable.
|
|
1073
|
+
...refusalsField(sessionNodeManager, agentName, sessionId, connectionId),
|
|
963
1074
|
undeliverable_sequences: [...undeliverable],
|
|
964
1075
|
guidance: `${undeliverable.length} message(s) arrived but could not be written to the local transcript, so they cannot be delivered — this is a fault on THIS machine (check disk space and ~/.cello permissions; see transcript.message.record.failed in the daemon log), not a quiet counterparty. Do not wait: waiting cannot recover them. Ask the counterparty to resend once the local fault is fixed.`,
|
|
965
1076
|
};
|
|
@@ -1013,6 +1124,8 @@ export function registerSessionContentHandlers(deps) {
|
|
|
1013
1124
|
content: null,
|
|
1014
1125
|
reason: "counterparty_gone",
|
|
1015
1126
|
liveness: "gone",
|
|
1127
|
+
// Same reasoning as the standalone `counterparty_gone` exit below.
|
|
1128
|
+
...refusalsField(sessionNodeManager, agentName, sessionId, connectionId),
|
|
1016
1129
|
taken_by_sibling: takenDetail,
|
|
1017
1130
|
attendance,
|
|
1018
1131
|
guidance: `${missedText} Note the counterparty's session connection has ALSO dropped (liveness: gone), so no more content will arrive and a reply cannot reach them — call cello_close_session to seal the session once you have read the history. If the counterparty never co-closes, a unilateral seal becomes available after the directory's delivery-grace window.`,
|
|
@@ -1039,6 +1152,13 @@ export function registerSessionContentHandlers(deps) {
|
|
|
1039
1152
|
ok: true,
|
|
1040
1153
|
content: null,
|
|
1041
1154
|
attendance: attendingNow(agentName),
|
|
1155
|
+
// DOD-M15-REFUSED-INBOUND-SILENT-1 — the exit that does not merely stay silent, it
|
|
1156
|
+
// MISLEADS. The guidance below blames the network ("may have crashed or gone offline")
|
|
1157
|
+
// and tells the operator to seal, while the daemon is holding the real reason in memory.
|
|
1158
|
+
// A version-skewed peer never gets an ACK, so it eventually drops the direct path and
|
|
1159
|
+
// lands HERE — pre-empting the quiet exit this line was written to fix. A wrong
|
|
1160
|
+
// explanation plus an action is worse than saying nothing at all.
|
|
1161
|
+
...refusalsField(sessionNodeManager, agentName, sessionId, connectionId),
|
|
1042
1162
|
reason: "counterparty_gone",
|
|
1043
1163
|
liveness: "gone",
|
|
1044
1164
|
guidance: "The counterparty's session connection has dropped (liveness: gone) — it may have crashed or gone offline. No more content will arrive on the direct path. Call cello_close_session to seal the session; if the counterparty never co-closes, a unilateral seal becomes available after the directory's delivery-grace window.",
|
|
@@ -1077,6 +1197,11 @@ export function registerSessionContentHandlers(deps) {
|
|
|
1077
1197
|
attendance: attendingNow(agentName),
|
|
1078
1198
|
reason: "delivery_impaired",
|
|
1079
1199
|
liveness: "impaired",
|
|
1200
|
+
// DOD-M15-REFUSED-INBOUND-SILENT-1, the item I filed POST-LAUNCH as "deferred, not
|
|
1201
|
+
// lost". Taken now instead: it was only safe to spread refusals into an exit once the
|
|
1202
|
+
// notice and its advice travel together (see `refusalsField`), and they do — so this
|
|
1203
|
+
// exit cannot carry the reason without also carrying what to do about it.
|
|
1204
|
+
...refusalsField(sessionNodeManager, agentName, sessionId, connectionId),
|
|
1080
1205
|
...(impairment ? { impairment } : {}),
|
|
1081
1206
|
guidance: `Nothing arrived. ${what}${whatNext} Their connection is still up, so content may still arrive and this can clear on its own — call cello_status for this session rather than assuming the counterparty is ignoring you.`,
|
|
1082
1207
|
};
|
|
@@ -1088,11 +1213,27 @@ export function registerSessionContentHandlers(deps) {
|
|
|
1088
1213
|
// AC6: the QUIET answer carries it too. This is the exit a session with no doorbell to
|
|
1089
1214
|
// learn from is most likely to reach — it attached, found nothing waiting, and would
|
|
1090
1215
|
// otherwise have no way to know another window holds the same agent.
|
|
1216
|
+
/**
|
|
1217
|
+
* DOD-M15-REFUSED-INBOUND-SILENT-1 — THE exit this line exists for.
|
|
1218
|
+
*
|
|
1219
|
+
* "I waited and nothing came" is the moment an operator concludes the other person stopped
|
|
1220
|
+
* replying. If messages ARE arriving and being refused, the reason is known, it is already
|
|
1221
|
+
* written to the log with impact and guidance, and this is the one place the person who
|
|
1222
|
+
* needs it is actually looking. Guidance below changes to match: telling someone to "call
|
|
1223
|
+
* again and keep waiting" while their peer's every message is being refused for a version
|
|
1224
|
+
* skew is advice that cannot work.
|
|
1225
|
+
*/
|
|
1226
|
+
const quietRefusals = refusalsField(sessionNodeManager, agentName, sessionId, connectionId);
|
|
1091
1227
|
return {
|
|
1092
1228
|
ok: true,
|
|
1093
1229
|
content: null,
|
|
1094
1230
|
attendance: attendingNow(agentName),
|
|
1095
|
-
|
|
1231
|
+
...quietRefusals,
|
|
1232
|
+
// ONE source for the refusal advice (see `refusalsField`). It used to be written out
|
|
1233
|
+
// again here, which is how the batch exit came to carry the notice without it.
|
|
1234
|
+
guidance: quietRefusals.refusals
|
|
1235
|
+
? `No content arrived within timeout_ms. ${REFUSAL_GUIDANCE}`
|
|
1236
|
+
: "No content arrived within timeout_ms. Call cello_receive again to keep waiting — do not resend your last message. Or read cello_transcript for the full session history.",
|
|
1096
1237
|
};
|
|
1097
1238
|
}
|
|
1098
1239
|
await new Promise((r) => setTimeout(r, Math.min(20, remaining)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-content-handlers.js","sourceRoot":"","sources":["../src/session-content-handlers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-content-handlers.js","sourceRoot":"","sources":["../src/session-content-handlers.ts"],"names":[],"mappings":"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"}
|