@cello-protocol/daemon 0.0.210 → 0.0.212
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-admin-handlers.d.ts.map +1 -1
- package/dist/agent-admin-handlers.js +3 -0
- package/dist/agent-admin-handlers.js.map +1 -1
- package/dist/agent-handlers.d.ts.map +1 -1
- package/dist/agent-handlers.js +44 -0
- package/dist/agent-handlers.js.map +1 -1
- package/dist/agent-id-migration.d.ts.map +1 -1
- package/dist/agent-id-migration.js +11 -2
- package/dist/agent-id-migration.js.map +1 -1
- package/dist/assignment-verify.d.ts.map +1 -1
- package/dist/assignment-verify.js +2 -2
- package/dist/assignment-verify.js.map +1 -1
- package/dist/attendance-wiring.d.ts +2 -21
- package/dist/attendance-wiring.d.ts.map +1 -1
- package/dist/attendance-wiring.js +57 -251
- package/dist/attendance-wiring.js.map +1 -1
- package/dist/away-detection.d.ts +16 -21
- package/dist/away-detection.d.ts.map +1 -1
- package/dist/away-detection.js +34 -23
- package/dist/away-detection.js.map +1 -1
- package/dist/boot-agents.d.ts.map +1 -1
- package/dist/close-session-handler.d.ts.map +1 -1
- package/dist/close-session-handler.js +47 -1
- package/dist/close-session-handler.js.map +1 -1
- package/dist/co-attendance.d.ts +1 -1
- package/dist/co-attendance.js +1 -1
- package/dist/consortium-fingerprint.d.ts +115 -0
- package/dist/consortium-fingerprint.d.ts.map +1 -0
- package/dist/consortium-fingerprint.js +175 -0
- package/dist/consortium-fingerprint.js.map +1 -0
- package/dist/content-park.d.ts.map +1 -1
- package/dist/content-park.js +80 -0
- package/dist/content-park.js.map +1 -1
- package/dist/daemon-handle.d.ts +1 -1
- package/dist/daemon-handle.d.ts.map +1 -1
- package/dist/daemon-status-report.d.ts +10 -2
- package/dist/daemon-status-report.d.ts.map +1 -1
- package/dist/daemon-status-report.js +6 -3
- package/dist/daemon-status-report.js.map +1 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +41 -13
- package/dist/daemon.js.map +1 -1
- package/dist/directory-bootstrap.d.ts +3 -1
- package/dist/directory-bootstrap.d.ts.map +1 -1
- package/dist/directory-bootstrap.js +3 -1
- package/dist/directory-bootstrap.js.map +1 -1
- package/dist/directory-connect.d.ts.map +1 -1
- package/dist/directory-connect.js +10 -2
- package/dist/directory-connect.js.map +1 -1
- package/dist/disconnect-cleanup.d.ts +7 -0
- package/dist/disconnect-cleanup.d.ts.map +1 -1
- package/dist/disconnect-cleanup.js +16 -1
- package/dist/disconnect-cleanup.js.map +1 -1
- package/dist/document-notify.d.ts +0 -1
- package/dist/document-notify.d.ts.map +1 -1
- package/dist/document-notify.js +0 -1
- package/dist/document-notify.js.map +1 -1
- package/dist/document-store.d.ts +0 -1
- package/dist/document-store.d.ts.map +1 -1
- package/dist/document-store.js +0 -1
- package/dist/document-store.js.map +1 -1
- package/dist/document-write-path.d.ts.map +1 -1
- package/dist/document-write-path.js +2 -9
- package/dist/document-write-path.js.map +1 -1
- package/dist/inbound-sessions.d.ts +3 -1
- package/dist/inbound-sessions.d.ts.map +1 -1
- package/dist/inbound-sessions.js +12 -4
- package/dist/inbound-sessions.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/initiate-session-handler.d.ts.map +1 -1
- package/dist/initiate-session-handler.js +5 -1
- package/dist/initiate-session-handler.js.map +1 -1
- package/dist/park-envelope.d.ts +68 -0
- package/dist/park-envelope.d.ts.map +1 -1
- package/dist/park-envelope.js +86 -1
- package/dist/park-envelope.js.map +1 -1
- package/dist/park-recovery.d.ts +46 -0
- package/dist/park-recovery.d.ts.map +1 -1
- package/dist/park-recovery.js +100 -1
- package/dist/park-recovery.js.map +1 -1
- package/dist/relay-only.d.ts.map +1 -1
- package/dist/relay-only.js +7 -4
- package/dist/relay-only.js.map +1 -1
- package/dist/relay-receipt-store.d.ts +48 -17
- package/dist/relay-receipt-store.d.ts.map +1 -1
- package/dist/relay-receipt-store.js +77 -27
- package/dist/relay-receipt-store.js.map +1 -1
- package/dist/seal-escalation.d.ts.map +1 -1
- package/dist/seal-escalation.js +25 -0
- package/dist/seal-escalation.js.map +1 -1
- package/dist/seal-settle.d.ts +38 -0
- package/dist/seal-settle.d.ts.map +1 -0
- package/dist/seal-settle.js +33 -0
- package/dist/seal-settle.js.map +1 -0
- package/dist/session-assignment-parser.d.ts.map +1 -1
- package/dist/session-assignment-parser.js +5 -0
- package/dist/session-assignment-parser.js.map +1 -1
- package/dist/session-ceremony.d.ts +21 -14
- package/dist/session-ceremony.d.ts.map +1 -1
- package/dist/session-ceremony.js +25 -15
- package/dist/session-ceremony.js.map +1 -1
- package/dist/session-content-context.d.ts +11 -2
- package/dist/session-content-context.d.ts.map +1 -1
- package/dist/session-content-ingest.d.ts +0 -3
- package/dist/session-content-ingest.d.ts.map +1 -1
- package/dist/session-content-ingest.js +18 -111
- package/dist/session-content-ingest.js.map +1 -1
- package/dist/session-content-send.d.ts +5 -0
- package/dist/session-content-send.d.ts.map +1 -1
- package/dist/session-content-send.js +58 -0
- package/dist/session-content-send.js.map +1 -1
- package/dist/session-delivery-acks.d.ts +195 -0
- package/dist/session-delivery-acks.d.ts.map +1 -0
- package/dist/session-delivery-acks.js +674 -0
- package/dist/session-delivery-acks.js.map +1 -0
- package/dist/session-leaf-records.d.ts +19 -1
- package/dist/session-leaf-records.d.ts.map +1 -1
- package/dist/session-leaf-records.js +67 -1
- package/dist/session-leaf-records.js.map +1 -1
- package/dist/session-lifecycle.js +3 -3
- package/dist/session-lifecycle.js.map +1 -1
- package/dist/session-node-manager.d.ts +36 -21
- package/dist/session-node-manager.d.ts.map +1 -1
- package/dist/session-node-manager.js +99 -29
- package/dist/session-node-manager.js.map +1 -1
- package/dist/session-node-types.d.ts +18 -12
- package/dist/session-node-types.d.ts.map +1 -1
- package/dist/session-node-types.js +1 -9
- package/dist/session-node-types.js.map +1 -1
- package/dist/session-read-handlers.d.ts.map +1 -1
- package/dist/session-read-handlers.js +125 -4
- package/dist/session-read-handlers.js.map +1 -1
- package/dist/session-records.d.ts +17 -0
- package/dist/session-records.d.ts.map +1 -1
- package/dist/session-records.js +32 -0
- package/dist/session-records.js.map +1 -1
- package/dist/session-relay-client.d.ts +103 -6
- package/dist/session-relay-client.d.ts.map +1 -1
- package/dist/session-relay-client.js +369 -27
- package/dist/session-relay-client.js.map +1 -1
- package/dist/session-relay.d.ts +24 -2
- package/dist/session-relay.d.ts.map +1 -1
- package/dist/session-relay.js +44 -7
- package/dist/session-relay.js.map +1 -1
- package/dist/session-schema.d.ts.map +1 -1
- package/dist/session-schema.js +43 -0
- package/dist/session-schema.js.map +1 -1
- package/dist/session-seal-leaf-store.d.ts +6 -0
- package/dist/session-seal-leaf-store.d.ts.map +1 -1
- package/dist/session-seal-leaf-store.js +21 -4
- package/dist/session-seal-leaf-store.js.map +1 -1
- package/dist/session-seal.d.ts +12 -0
- package/dist/session-seal.d.ts.map +1 -1
- package/dist/session-seal.js +92 -3
- package/dist/session-seal.js.map +1 -1
- package/dist/session-views.d.ts +1 -0
- package/dist/session-views.d.ts.map +1 -1
- package/dist/session-views.js +81 -1
- package/dist/session-views.js.map +1 -1
- package/dist/signaling-connect.d.ts +1 -0
- package/dist/signaling-connect.d.ts.map +1 -1
- package/dist/signaling-connect.js +0 -1
- package/dist/signaling-connect.js.map +1 -1
- package/dist/status-handler.d.ts +9 -1
- package/dist/status-handler.d.ts.map +1 -1
- package/dist/status-handler.js +5 -2
- package/dist/status-handler.js.map +1 -1
- package/dist/test-handlers.js +4 -3
- package/dist/test-handlers.js.map +1 -1
- package/dist/trust-signal-store.d.ts +4 -2
- package/dist/trust-signal-store.d.ts.map +1 -1
- package/dist/trust-signal-store.js +4 -2
- package/dist/trust-signal-store.js.map +1 -1
- package/dist/types.d.ts +64 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +5 -5
|
@@ -196,9 +196,14 @@ export declare function sendSealFrostSignature(deps: {
|
|
|
196
196
|
* channel. Rebuilds the canonical seal TBS from the cert fields and verifies the signature
|
|
197
197
|
* against a key trusted independently of the delivering frame: the session primary_pubkey
|
|
198
198
|
* (commitments[0] of this agent's FROST share) for 'frost'. A channel-swapped sealed_root
|
|
199
|
-
* (or any TBS-bound field) fails this check (SI-003).
|
|
200
|
-
*
|
|
201
|
-
*
|
|
199
|
+
* (or any TBS-bound field) fails this check (SI-003).
|
|
200
|
+
*
|
|
201
|
+
* 'single' is not a second variant this function is missing — it is a DOWNGRADE, refused by name
|
|
202
|
+
* before a session exists (`assignment_signature_type_downgraded`, assignment-verify.ts, checked
|
|
203
|
+
* against the directory's only producer of `signature_type`). A cert carrying it is a shape no
|
|
204
|
+
* honest peer can produce, so the branch below refuses rather than verifying. Do not "finish" it
|
|
205
|
+
* by adding a manifest-key path: that would make the downgrade verifiable instead of refused,
|
|
206
|
+
* which is the outcome the upstream check exists to prevent.
|
|
202
207
|
*/
|
|
203
208
|
export declare function verifyUnilateralCertificate(deps: {
|
|
204
209
|
persistence: DaemonRegistrationPersistence;
|
|
@@ -240,18 +245,20 @@ export declare function verifyUnilateralCertificate(deps: {
|
|
|
240
245
|
* primary value is OUT-OF-BAND (any holder of the signer's primary — e.g. an arbitrator — can verify
|
|
241
246
|
* an exported cert's legibility).
|
|
242
247
|
*
|
|
243
|
-
* SYMMETRY
|
|
244
|
-
*
|
|
245
|
-
*
|
|
246
|
-
*
|
|
247
|
-
*
|
|
248
|
-
*
|
|
249
|
-
*
|
|
250
|
-
*
|
|
248
|
+
* SYMMETRY: both closing orders verify locally, and it takes BOTH bindings to stay that way. The
|
|
249
|
+
* initiator learns the responder's primary from `participant_b_primary_pubkey` with a binding
|
|
250
|
+
* signed by participant_b's own K_local, recorded by `initiate-session-handler.ts`; the responder
|
|
251
|
+
* learns the initiator's from `signer_pubkey` with `participant_a_key_binding`, verified before the
|
|
252
|
+
* assignment's threshold signature is checked at all and recorded by `inbound-sessions.ts`. Both
|
|
253
|
+
* are refused by name when absent or invalid (`assignment-verify.ts`).
|
|
254
|
+
*
|
|
255
|
+
* The binding, not the key, is the load-bearing part: carrying a group key alone would let a
|
|
256
|
+
* directory name one of its choosing, so a change that keeps either key and drops its binding
|
|
257
|
+
* breaks verification while appearing to work.
|
|
251
258
|
*
|
|
252
|
-
* `signer_key_not_held` therefore
|
|
253
|
-
*
|
|
254
|
-
*
|
|
259
|
+
* `signer_key_not_held` is therefore NOT the ordinary responder-first outcome. It remains reachable
|
|
260
|
+
* for a session row that predates the recording, or one whose assignment never reached this path,
|
|
261
|
+
* and it is the honest answer there, which is why the branch stays.
|
|
255
262
|
*
|
|
256
263
|
* `legibility` MUST be the AS-RECEIVED wire object (not a normalised copy) — the directory signed
|
|
257
264
|
* over the canonical hash of exactly what it sent.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-ceremony.d.ts","sourceRoot":"","sources":["../src/session-ceremony.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"session-ceremony.d.ts","sourceRoot":"","sources":["../src/session-ceremony.ts"],"names":[],"mappings":"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"}
|
package/dist/session-ceremony.js
CHANGED
|
@@ -733,9 +733,14 @@ export async function sendSealFrostSignature(deps, sessionId, sidHex, frostSigna
|
|
|
733
733
|
* channel. Rebuilds the canonical seal TBS from the cert fields and verifies the signature
|
|
734
734
|
* against a key trusted independently of the delivering frame: the session primary_pubkey
|
|
735
735
|
* (commitments[0] of this agent's FROST share) for 'frost'. A channel-swapped sealed_root
|
|
736
|
-
* (or any TBS-bound field) fails this check (SI-003).
|
|
737
|
-
*
|
|
738
|
-
*
|
|
736
|
+
* (or any TBS-bound field) fails this check (SI-003).
|
|
737
|
+
*
|
|
738
|
+
* 'single' is not a second variant this function is missing — it is a DOWNGRADE, refused by name
|
|
739
|
+
* before a session exists (`assignment_signature_type_downgraded`, assignment-verify.ts, checked
|
|
740
|
+
* against the directory's only producer of `signature_type`). A cert carrying it is a shape no
|
|
741
|
+
* honest peer can produce, so the branch below refuses rather than verifying. Do not "finish" it
|
|
742
|
+
* by adding a manifest-key path: that would make the downgrade verifiable instead of refused,
|
|
743
|
+
* which is the outcome the upstream check exists to prevent.
|
|
739
744
|
*/
|
|
740
745
|
export async function verifyUnilateralCertificate(deps, cert) {
|
|
741
746
|
const tbs = buildSealTbs(cert.sessionId, cert.sealedRoot, cert.leafCount, cert.closeTimestamp);
|
|
@@ -793,18 +798,20 @@ export async function verifyUnilateralCertificate(deps, cert) {
|
|
|
793
798
|
* primary value is OUT-OF-BAND (any holder of the signer's primary — e.g. an arbitrator — can verify
|
|
794
799
|
* an exported cert's legibility).
|
|
795
800
|
*
|
|
796
|
-
* SYMMETRY
|
|
797
|
-
*
|
|
798
|
-
*
|
|
799
|
-
*
|
|
800
|
-
*
|
|
801
|
-
*
|
|
802
|
-
*
|
|
803
|
-
*
|
|
801
|
+
* SYMMETRY: both closing orders verify locally, and it takes BOTH bindings to stay that way. The
|
|
802
|
+
* initiator learns the responder's primary from `participant_b_primary_pubkey` with a binding
|
|
803
|
+
* signed by participant_b's own K_local, recorded by `initiate-session-handler.ts`; the responder
|
|
804
|
+
* learns the initiator's from `signer_pubkey` with `participant_a_key_binding`, verified before the
|
|
805
|
+
* assignment's threshold signature is checked at all and recorded by `inbound-sessions.ts`. Both
|
|
806
|
+
* are refused by name when absent or invalid (`assignment-verify.ts`).
|
|
807
|
+
*
|
|
808
|
+
* The binding, not the key, is the load-bearing part: carrying a group key alone would let a
|
|
809
|
+
* directory name one of its choosing, so a change that keeps either key and drops its binding
|
|
810
|
+
* breaks verification while appearing to work.
|
|
804
811
|
*
|
|
805
|
-
* `signer_key_not_held` therefore
|
|
806
|
-
*
|
|
807
|
-
*
|
|
812
|
+
* `signer_key_not_held` is therefore NOT the ordinary responder-first outcome. It remains reachable
|
|
813
|
+
* for a session row that predates the recording, or one whose assignment never reached this path,
|
|
814
|
+
* and it is the honest answer there, which is why the branch stays.
|
|
808
815
|
*
|
|
809
816
|
* `legibility` MUST be the AS-RECEIVED wire object (not a normalised copy) — the directory signed
|
|
810
817
|
* over the canonical hash of exactly what it sent.
|
|
@@ -854,7 +861,10 @@ export async function verifyBilateralSealCertificate(deps, cert) {
|
|
|
854
861
|
else {
|
|
855
862
|
// We do not hold the signer's key (no counterparty primary recorded) → cannot verify; accept
|
|
856
863
|
// (the live frame arrived over the authenticated Noise channel; the binding aids out-of-band).
|
|
857
|
-
//
|
|
864
|
+
// Reachable only for a session whose assignment never carried (or never recorded) the
|
|
865
|
+
// counterparty's bound primary — a pre-038-KEYBIND row. A CURRENT session reaching here means
|
|
866
|
+
// `recordCounterpartyPrimary` did not run on either side (`initiate-session-handler.ts` for the
|
|
867
|
+
// initiator, `inbound-sessions.ts` for the responder), which is a defect, not a close order.
|
|
858
868
|
return { ok: true, verified: false, reason: "signer_key_not_held" };
|
|
859
869
|
}
|
|
860
870
|
const tbs = bindLegibilityToTbs(buildSealTbs(cert.sessionId, cert.sealedRoot, cert.leafCount, cert.closeTimestamp), cert.legibility);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-ceremony.js","sourceRoot":"","sources":["../src/session-ceremony.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-ceremony.js","sourceRoot":"","sources":["../src/session-ceremony.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ import type { SessionEphemerals } from "./session-ephemerals.js";
|
|
|
37
37
|
import type { SessionLiveness } from "./session-liveness.js";
|
|
38
38
|
import type { HeldContent, HeldEntry } from "./held-content.js";
|
|
39
39
|
import type { SessionLeafRecords } from "./session-leaf-records.js";
|
|
40
|
-
import { type ActiveSessionEntry, type AwaitingAckEntry
|
|
40
|
+
import { type ActiveSessionEntry, type AwaitingAckEntry } from "./session-node-types.js";
|
|
41
41
|
/**
|
|
42
42
|
* What the content pipeline needs from the manager.
|
|
43
43
|
*
|
|
@@ -84,12 +84,21 @@ export interface SessionContentPipelineContext {
|
|
|
84
84
|
readonly awaitingAck: Map<string, Map<string, AwaitingAckEntry>>;
|
|
85
85
|
readonly heldContent: Map<string, Map<number, HeldEntry>>;
|
|
86
86
|
readonly witnessedSeq: Map<string, Map<string, number>>;
|
|
87
|
+
/**
|
|
88
|
+
* DOD-M15-SEALPRECOND-1 — content hash -> the sequence the relay assigned OUR OWN leaf, for the
|
|
89
|
+
* span between the relay ordering it and this tree placing it.
|
|
90
|
+
*
|
|
91
|
+
* Distinct from `witnessedSeq`, which gains an entry only for leaves NOT authored by us
|
|
92
|
+
* (`relayLeafHandler`), and that asymmetry is exactly what cost a receipt on 2026-09-11: the
|
|
93
|
+
* relay had ordered our third leaf, the tree still held two, and every counter the seal gate
|
|
94
|
+
* reads was zero. Gained at the assignment site in `sendContent`, lost in `placeOwnLeaf`.
|
|
95
|
+
*/
|
|
96
|
+
readonly ownLeavesOrdered: Map<string, Map<string, number>>;
|
|
87
97
|
readonly leafFetchTimers: Map<string, ReturnType<typeof setTimeout>>;
|
|
88
98
|
readonly lastAck: Map<string, {
|
|
89
99
|
seq: number;
|
|
90
100
|
hash: Uint8Array;
|
|
91
101
|
}>;
|
|
92
|
-
readonly receivedContent: Map<string, ReceivedContentEntry[]>;
|
|
93
102
|
readonly resolvedContent: Map<string, Set<string>>;
|
|
94
103
|
readonly undeliverableSeqs: Map<string, Set<number>>;
|
|
95
104
|
readonly highWaterSeq: Map<string, number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-content-context.d.ts","sourceRoot":"","sources":["../src/session-content-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"session-content-context.d.ts","sourceRoot":"","sources":["../src/session-content-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { type CelloNode } from "@cello-protocol/transport";
|
|
2
|
-
import { type ReceivedContentEntry } from "./session-node-types.js";
|
|
3
2
|
import type { SessionContentPipelineContext } from "./session-content-context.js";
|
|
4
3
|
import type { SessionContentSender } from "./session-content-send.js";
|
|
5
4
|
export declare class SessionContentIngest {
|
|
@@ -165,8 +164,6 @@ export declare class SessionContentIngest {
|
|
|
165
164
|
}): {
|
|
166
165
|
leafIndex: number;
|
|
167
166
|
};
|
|
168
|
-
/** DAEMON-004: pop the oldest verified received content for cello_receive. */
|
|
169
|
-
takeReceivedContent(agentName: string, sessionId: string): ReceivedContentEntry | null;
|
|
170
167
|
/**
|
|
171
168
|
* DAEMON-004: register the /cello/content/1.0.0 handler on a session node so
|
|
172
169
|
* inbound content_frames are decoded, cross-checked, and ingested.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-content-ingest.d.ts","sourceRoot":"","sources":["../src/session-content-ingest.ts"],"names":[],"mappings":"AAsBA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"session-content-ingest.d.ts","sourceRoot":"","sources":["../src/session-content-ingest.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import * as lp from "it-length-prefixed";
|
|
20
20
|
import { decode } from "cbor-x";
|
|
21
|
-
import {
|
|
21
|
+
import { decodeStructure1 } from "@cello-protocol/protocol-types";
|
|
22
22
|
import { openSessionContent } from "@cello-protocol/crypto";
|
|
23
23
|
import { CELLO_CONTENT_PROTOCOL_ID } from "@cello-protocol/transport";
|
|
24
24
|
import { GATEWAY_UNAVAILABLE, GOVERNANCE_TIMEOUT } from "@cello-protocol/gateway";
|
|
@@ -31,7 +31,10 @@ import { triageOrphanedContent } from "./orphan-triage.js";
|
|
|
31
31
|
import { extractErrorMessage } from "./error-message.js";
|
|
32
32
|
import { retentionSentence } from "./quarantine-framing.js";
|
|
33
33
|
import { LEAF_KIND_CTRL } from "./session-relay-client.js";
|
|
34
|
-
import { ACK_HASH_REASONS, AUTHORSHIP_SELF_CHAIN_MISMATCH, AUTHORSHIP_SESSION_MISMATCH, CONTENT_MAX_INBOUND_STREAMS, CONTENT_STREAM_LINGER_MS,
|
|
34
|
+
import { ACK_HASH_REASONS, AUTHORSHIP_SELF_CHAIN_MISMATCH, AUTHORSHIP_SESSION_MISMATCH, CONTENT_MAX_INBOUND_STREAMS, CONTENT_STREAM_LINGER_MS, REFUSAL_MAY_STILL_ARRIVE, REFUSAL_NO_OTHER_ROUTE } from "./session-node-types.js";
|
|
35
|
+
// DOD-M15-DELIVERYACK-1: the acknowledgement is its own subject — signed, verified against the
|
|
36
|
+
// session's recorded counterparty key, and kept as evidence. It lives in its own module.
|
|
37
|
+
import { sendDeliveryAck, onDeliveryAck } from "./session-delivery-acks.js";
|
|
35
38
|
export class SessionContentIngest {
|
|
36
39
|
#ctx;
|
|
37
40
|
/**
|
|
@@ -1324,18 +1327,17 @@ export class SessionContentIngest {
|
|
|
1324
1327
|
// grace window and the relay is never asked, which is what keeps a fetch off the hot path of
|
|
1325
1328
|
// every message.
|
|
1326
1329
|
this.markContentResolved(agentName, sessionId, contentHashHex);
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
buf.splice(0, buf.length - RECEIVED_BUFFER_CAP);
|
|
1330
|
+
/**
|
|
1331
|
+
* THE ARRIVAL BUFFER USED TO BE FILLED HERE, and nothing read it.
|
|
1332
|
+
*
|
|
1333
|
+
* Every verified message was copied into an in-memory list as plaintext, capped at the last 32
|
|
1334
|
+
* per session and held for the life of the daemon process. `cello_receive` stopped draining it
|
|
1335
|
+
* at DOD-COATTEND-1, when delivery moved onto the durable transcript written a few lines above;
|
|
1336
|
+
* the away responder's peek at its tail was the last reader, and DOD-M15-AWAYSCOPE-1 deleted
|
|
1337
|
+
* that. What was left was the plaintext of every conversation, kept in memory, for nobody.
|
|
1338
|
+
*
|
|
1339
|
+
* The transcript row IS the delivery record. There is nothing to keep alongside it.
|
|
1340
|
+
*/
|
|
1339
1341
|
this.#ctx.logger.info("session.content.received", {
|
|
1340
1342
|
sessionId,
|
|
1341
1343
|
senderPubkey,
|
|
@@ -1356,101 +1358,6 @@ export class SessionContentIngest {
|
|
|
1356
1358
|
}
|
|
1357
1359
|
return { leafIndex };
|
|
1358
1360
|
}
|
|
1359
|
-
/** DAEMON-004: pop the oldest verified received content for cello_receive. */
|
|
1360
|
-
takeReceivedContent(agentName, sessionId) {
|
|
1361
|
-
const buf = this.#ctx.receivedContent.get(this.#ctx.sessionKey(agentName, sessionId));
|
|
1362
|
-
if (!buf || buf.length === 0)
|
|
1363
|
-
return null;
|
|
1364
|
-
return buf.shift() ?? null;
|
|
1365
|
-
}
|
|
1366
|
-
/**
|
|
1367
|
-
* Send an unsigned `persisted` delivery ACK back to the sender over the same
|
|
1368
|
-
* /cello/content/1.0.0 protocol (AC-001). Best-effort: authentication is the Noise
|
|
1369
|
-
* session channel, so the ACK carries no signature; a failed ACK send is logged and
|
|
1370
|
-
* the sender recovers via its TTF/recovery path rather than a thrown error here.
|
|
1371
|
-
*/
|
|
1372
|
-
async #sendDeliveryAck(agentName, sessionId, contentHash, correlationId) {
|
|
1373
|
-
const entry = this.#ctx.activeNodes.get(this.#ctx.sessionKey(agentName, sessionId));
|
|
1374
|
-
if (!entry) {
|
|
1375
|
-
// NOT a silent return. No ACK is exactly this milestone's symptom — the sender's TTF expires
|
|
1376
|
-
// and the message parks — so the one case where we knowingly decline to send one has to say
|
|
1377
|
-
// so, or it is indistinguishable from the defect.
|
|
1378
|
-
this.#ctx.logger.debug("content.delivery.ack.skipped", {
|
|
1379
|
-
agentName,
|
|
1380
|
-
sessionId,
|
|
1381
|
-
contentHash: Buffer.from(contentHash).toString("hex"),
|
|
1382
|
-
reason: "session_node_gone",
|
|
1383
|
-
correlationId,
|
|
1384
|
-
});
|
|
1385
|
-
return;
|
|
1386
|
-
}
|
|
1387
|
-
// Held outside the try so the catch can retire a stream that was opened and then failed to
|
|
1388
|
-
// write. Without it every failure leaks the OUTBOUND half of the stream the receiver-side
|
|
1389
|
-
// `finally` retires — same defect, other end, other cap. See the note on #handleContentStream.
|
|
1390
|
-
// Assigned IMMEDIATELY after newStream: anything between the two is a window where a throw
|
|
1391
|
-
// leaks the stream because the catch cannot see it.
|
|
1392
|
-
let ackStream;
|
|
1393
|
-
try {
|
|
1394
|
-
const stream = await entry.node.newStream(entry.counterpartySessionPeerId, CELLO_CONTENT_PROTOCOL_ID);
|
|
1395
|
-
ackStream = stream;
|
|
1396
|
-
// Injected ACK-write failure — thrown from inside the try so it lands in exactly the catch a
|
|
1397
|
-
// real reset lands in, and the whole downstream path (impair → abort → log) runs unmodified.
|
|
1398
|
-
if (this.#ctx.ackFaultRemaining > 0) {
|
|
1399
|
-
this.#ctx.ackFaultRemaining -= 1;
|
|
1400
|
-
this.#ctx.logger.warn("content.delivery.ack.fault.injected", { sessionId });
|
|
1401
|
-
throw new Error("connection_lost: injected delivery-ack fault");
|
|
1402
|
-
}
|
|
1403
|
-
const frame = encodeCbor({
|
|
1404
|
-
type: "content_delivery_ack",
|
|
1405
|
-
session_id: sessionId,
|
|
1406
|
-
content_hash: contentHash,
|
|
1407
|
-
level: "persisted",
|
|
1408
|
-
correlation_id: correlationId,
|
|
1409
|
-
});
|
|
1410
|
-
stream.send(lp.encode.single(frame));
|
|
1411
|
-
// NOT SWALLOWED, for the same reason the direct-send path stopped swallowing it: `close()`
|
|
1412
|
-
// waits for the write buffer to drain, so a reset mid-flush throws HERE and that is exactly
|
|
1413
|
-
// the case where the bytes never left. A swallowed close made two things happen at once —
|
|
1414
|
-
// this log claimed the ACK went out while the sender's TTF fired and parked, and the abort in
|
|
1415
|
-
// the catch below (the thing that frees the stream slot) became unreachable.
|
|
1416
|
-
await stream.close();
|
|
1417
|
-
// AFTER the close, because that is when it is true. The receiver-side counterpart to the
|
|
1418
|
-
// sender's content.delivery.acked: B has acknowledged this content `persisted`, so the sender
|
|
1419
|
-
// stops retrying/parking. Emitted for BOTH a normally delivered message AND a terminal-screen
|
|
1420
|
-
// block (the block is a definitive receipt — the leaf is recorded, so the sender must stop) —
|
|
1421
|
-
// and deliberately NOT for a transient hold.
|
|
1422
|
-
this.#ctx.logger.info("content.delivery.ack.sent", {
|
|
1423
|
-
sessionId,
|
|
1424
|
-
contentHash: Buffer.from(contentHash).toString("hex"),
|
|
1425
|
-
correlationId,
|
|
1426
|
-
});
|
|
1427
|
-
// An agent that mostly LISTENS sends content rarely and ACKs constantly. Clearing only on the
|
|
1428
|
-
// content path would leave exactly those sessions reporting a broken conversation forever
|
|
1429
|
-
// after one bad ACK — the one-way door, on the other send path.
|
|
1430
|
-
this.#ctx.liveness.clearSessionImpairment(agentName, sessionId, "delivery_ack", correlationId);
|
|
1431
|
-
}
|
|
1432
|
-
catch (err) {
|
|
1433
|
-
this.#ctx.logger.warn("content.delivery.ack.send.failed", {
|
|
1434
|
-
sessionId,
|
|
1435
|
-
contentHash: Buffer.from(contentHash).toString("hex"),
|
|
1436
|
-
error: extractErrorMessage(err),
|
|
1437
|
-
// "Cannot write to a stream that is closed" names where the write died, never why. The
|
|
1438
|
-
// why is almost always the per-protocol stream cap, and these two numbers are what turn
|
|
1439
|
-
// that from a log-measurement session into a grep.
|
|
1440
|
-
...this.#ctx.streamCensus(entry.node, entry.counterpartySessionPeerId),
|
|
1441
|
-
correlationId,
|
|
1442
|
-
});
|
|
1443
|
-
// The ACK travels the same direct path as our own content, so a failure here is the same
|
|
1444
|
-
// evidence: writes to this counterparty are not landing.
|
|
1445
|
-
this.#ctx.liveness.markSessionImpaired(agentName, sessionId, { cause: "delivery_ack", error: extractErrorMessage(err), correlationId });
|
|
1446
|
-
if (ackStream !== undefined) {
|
|
1447
|
-
try {
|
|
1448
|
-
ackStream.abort(err instanceof Error ? err : new Error(String(err)));
|
|
1449
|
-
}
|
|
1450
|
-
catch { /* already gone */ }
|
|
1451
|
-
}
|
|
1452
|
-
}
|
|
1453
|
-
}
|
|
1454
1361
|
/**
|
|
1455
1362
|
* DAEMON-004: register the /cello/content/1.0.0 handler on a session node so
|
|
1456
1363
|
* inbound content_frames are decoded, cross-checked, and ingested.
|
|
@@ -1714,7 +1621,7 @@ export class SessionContentIngest {
|
|
|
1714
1621
|
const ackHash = frame["content_hash"];
|
|
1715
1622
|
const level = frame["level"];
|
|
1716
1623
|
if (ackHash instanceof Uint8Array && level === "persisted") {
|
|
1717
|
-
this.#send.resolveAwaitingAck(agentName, sessionId, ackHash);
|
|
1624
|
+
onDeliveryAck(this.#ctx, (a, sid, h) => this.#send.resolveAwaitingAck(a, sid, h), agentName, sessionId, ackHash, frame["ack_sig"], correlationId);
|
|
1718
1625
|
}
|
|
1719
1626
|
return;
|
|
1720
1627
|
}
|
|
@@ -2162,7 +2069,7 @@ export class SessionContentIngest {
|
|
|
2162
2069
|
}
|
|
2163
2070
|
void this.witnessReceivedLeaf(agentName, sessionId, contentHash, s1Cbor, senderSig, framedKind, correlationId);
|
|
2164
2071
|
}
|
|
2165
|
-
void this.#
|
|
2072
|
+
void sendDeliveryAck(this.#ctx, agentName, sessionId, contentHash, correlationId);
|
|
2166
2073
|
}
|
|
2167
2074
|
}
|
|
2168
2075
|
catch (err) {
|