@cello-protocol/daemon 0.0.189 → 0.0.191
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.map +1 -1
- package/dist/agent-id-migration.js +8 -0
- package/dist/agent-id-migration.js.map +1 -1
- package/dist/daemon.js +5 -1
- package/dist/daemon.js.map +1 -1
- package/dist/park-envelope.d.ts +58 -1
- package/dist/park-envelope.d.ts.map +1 -1
- package/dist/park-envelope.js +61 -1
- package/dist/park-envelope.js.map +1 -1
- package/dist/refusal-reasons.d.ts +21 -0
- package/dist/refusal-reasons.d.ts.map +1 -1
- package/dist/refusal-reasons.js +27 -0
- package/dist/refusal-reasons.js.map +1 -1
- package/dist/session-connection-gater.d.ts +19 -3
- package/dist/session-connection-gater.d.ts.map +1 -1
- package/dist/session-connection-gater.js +40 -11
- package/dist/session-connection-gater.js.map +1 -1
- package/dist/session-node-manager.d.ts +69 -5
- package/dist/session-node-manager.d.ts.map +1 -1
- package/dist/session-node-manager.js +1221 -135
- package/dist/session-node-manager.js.map +1 -1
- package/dist/session-relay-client.d.ts +93 -3
- package/dist/session-relay-client.d.ts.map +1 -1
- package/dist/session-relay-client.js +352 -40
- package/dist/session-relay-client.js.map +1 -1
- package/package.json +5 -5
|
@@ -215,6 +215,19 @@ export interface RelayWitnessAlert {
|
|
|
215
215
|
* per-node relayDirSig) against any consortium directory pubkey. Field order/presence MUST match the
|
|
216
216
|
* directory producer (directory-node.ts) and the relay verifier (relay-node.ts recordAssignment).
|
|
217
217
|
*/
|
|
218
|
+
/**
|
|
219
|
+
* 034-CARRYLEAF — a leaf this agent RECEIVED, carried to the relay on its author's behalf.
|
|
220
|
+
*
|
|
221
|
+
* The author's own signed bytes and their signature over them, verbatim as they arrived on the
|
|
222
|
+
* content frame. **Never re-encoded**: the signature is over the ENCODED BYTES, so a decode-and-
|
|
223
|
+
* re-encode on this path would produce a claim the relay refuses and blame the wrong party for it.
|
|
224
|
+
*/
|
|
225
|
+
export interface CarriedLeafClaim {
|
|
226
|
+
/** The AUTHOR's `structure1_cbor`, exactly as received. */
|
|
227
|
+
structure1Cbor: Uint8Array;
|
|
228
|
+
/** The AUTHOR's signature over those bytes, exactly as received. */
|
|
229
|
+
senderSignature: Uint8Array;
|
|
230
|
+
}
|
|
218
231
|
export interface RelayAssignmentCarry {
|
|
219
232
|
participantA: Uint8Array;
|
|
220
233
|
participantB: Uint8Array;
|
|
@@ -242,7 +255,19 @@ export declare class AgentRelayClient {
|
|
|
242
255
|
* (idempotent). Storing the node per session lets a pure-receiver session re-establish
|
|
243
256
|
* the shared stream if the node that originally dialed is torn down.
|
|
244
257
|
*/
|
|
245
|
-
registerSession(sessionIdHex: string, node: CelloNode, onLeafDeliver?: (frame: LeafDeliverFrame) => void, assignment?: RelayAssignmentCarry
|
|
258
|
+
registerSession(sessionIdHex: string, node: CelloNode, onLeafDeliver?: (frame: LeafDeliverFrame) => void, assignment?: RelayAssignmentCarry,
|
|
259
|
+
/**
|
|
260
|
+
* 033-ACKEMIT — the session's genesis prev_root: what the FIRST message of this session
|
|
261
|
+
* acknowledges, before anything has been received.
|
|
262
|
+
*
|
|
263
|
+
* Supplied by the caller because `session-node-manager` is where the session record lives. When
|
|
264
|
+
* it is absent an ASSIGNMENT can still produce it (both participant keys and the session
|
|
265
|
+
* timestamp are on the carry), and that covers re-registration of a session whose row predates
|
|
266
|
+
* the column. When NEITHER is available the session has no seed, and its first submit claims
|
|
267
|
+
* position 0 with no hash — which asserts nothing about content and is therefore honest, rather
|
|
268
|
+
* than a claim about a position it cannot back.
|
|
269
|
+
*/
|
|
270
|
+
genesisPrevRoot?: Uint8Array): void;
|
|
246
271
|
/**
|
|
247
272
|
* DOD-M15-RELAYAUTH-1 review H1 — **present the assignment and WAIT for the relay to say it
|
|
248
273
|
* recorded it.**
|
|
@@ -318,6 +343,26 @@ export declare class AgentRelayClient {
|
|
|
318
343
|
* one production caller always passes explicitly, so the default was dead and misleading.
|
|
319
344
|
*/
|
|
320
345
|
leafKind: number): Promise<SubmitResult>;
|
|
346
|
+
/**
|
|
347
|
+
* ─── WITNESS A LEAF THIS AGENT RECEIVED BUT DID NOT AUTHOR — 034-CARRYLEAF ────────────────────
|
|
348
|
+
*
|
|
349
|
+
* **This is what closes `DOD-M15-WITHHOLD-SEAL-1`.** Until it existed, `submitMessageHash` had
|
|
350
|
+
* one production caller on the SEND path, so nothing ever witnessed a message that was RECEIVED.
|
|
351
|
+
* A counterparty who delivered a message directly and never submitted its hash left the relay's
|
|
352
|
+
* account of the conversation one message short — permanently — and a unilateral seal then agreed
|
|
353
|
+
* with the witness. Every leaf validly signed, nothing false, the last thing said simply absent.
|
|
354
|
+
*
|
|
355
|
+
* **The teeth are the author's own signature.** It arrived on the content frame beside the bytes
|
|
356
|
+
* it signs, this daemon verified it before ingesting anything, and it cannot be forged here. The
|
|
357
|
+
* relay verifies it again against the session's assignment before sequencing — so what this hands
|
|
358
|
+
* over is a claim the author made and cannot disown.
|
|
359
|
+
*
|
|
360
|
+
* ⚠️ **THE BYTES ARE PASSED THROUGH, NEVER REBUILT.** A signature is over the encoded bytes, and
|
|
361
|
+
* the one measured cost of forgetting that on this exact structure was a daemon-local encoder
|
|
362
|
+
* emitting a timestamp as float64 where the published one promotes to uint64 — same value,
|
|
363
|
+
* different signed bytes, refused by everyone.
|
|
364
|
+
*/
|
|
365
|
+
witnessReceivedLeaf(node: CelloNode, sessionId: Uint8Array, contentHash: Uint8Array, leafKind: number, carried: CarriedLeafClaim): Promise<SubmitResult>;
|
|
321
366
|
/**
|
|
322
367
|
* Submit a leaf hash of a given kind (0x00 message / 0x02 control) to the relay. The SEAL
|
|
323
368
|
* ctrl leaf rides this path: two distinct-sender ctrl leaves in the relay's
|
|
@@ -361,9 +406,54 @@ export declare class AgentRelayClient {
|
|
|
361
406
|
* before any test runs. Every caller must now say what this leaf carries, and `submitMessageHash`
|
|
362
407
|
* says `null` in one visible place instead of by saying nothing at all.
|
|
363
408
|
*/
|
|
364
|
-
submitLeaf(node: CelloNode, sessionId: Uint8Array, contentHash: Uint8Array, leafKind: number, contentBytes: Uint8Array | null
|
|
409
|
+
submitLeaf(node: CelloNode, sessionId: Uint8Array, contentHash: Uint8Array, leafKind: number, contentBytes: Uint8Array | null,
|
|
410
|
+
/**
|
|
411
|
+
* 034-CARRYLEAF — a leaf THIS AGENT DID NOT AUTHOR, carried on its author's behalf.
|
|
412
|
+
*
|
|
413
|
+
* Absent for every ordinary send, where this client builds and signs its own claim. Present
|
|
414
|
+
* only when witnessing something received whose author never submitted it — see
|
|
415
|
+
* `witnessReceivedLeaf`.
|
|
416
|
+
*/
|
|
417
|
+
carried?: CarriedLeafClaim): Promise<SubmitResult>;
|
|
365
418
|
/** The highest relay-assigned sequence observed for a given session (ack or deliver). */
|
|
366
|
-
|
|
419
|
+
/**
|
|
420
|
+
* Advance this session's acknowledgement from a message that ARRIVED — 033-ACKEMIT review F1.
|
|
421
|
+
*
|
|
422
|
+
* ⚠️ **`#bumpLastSeen` used to have exactly one caller, inside the `leaf_deliver` handler, so the
|
|
423
|
+
* acknowledgement tracked what the RELAY DELIVERED rather than what was RECEIVED.** On a direct
|
|
424
|
+
* session that is a real difference: the content arrives peer-to-peer and the relay's copy of the
|
|
425
|
+
* leaf follows separately, so until it did, this daemon signed an acknowledgement one message
|
|
426
|
+
* behind what it had actually read — and on a session where delivery never came back at all, the
|
|
427
|
+
* acknowledgement never moved.
|
|
428
|
+
*
|
|
429
|
+
* The order's own words are "the content hash of the last message this sender ACTUALLY RECEIVED".
|
|
430
|
+
* This is the caller that makes that true: the receive path calls it as soon as a message has been
|
|
431
|
+
* verified and ingested at a known canonical position.
|
|
432
|
+
*
|
|
433
|
+
* **THE POSITION IS STILL REQUIRED, and that is a real limit rather than an oversight.** The pair
|
|
434
|
+
* is (position, content-at-position), and the relay refuses a `last_seen_seq` that runs ahead of
|
|
435
|
+
* its counter — so a message that arrived with NO ordering record cannot be acknowledged by
|
|
436
|
+
* position at all, whatever we hold of it. That case is the withheld-submit attack itself, and it
|
|
437
|
+
* is closed by carrying the sender's signed leaf into the seal, not from here.
|
|
438
|
+
*/
|
|
439
|
+
noteReceivedLeaf(sessionIdHex: string, relaySeq: number, contentHash: Uint8Array): void;
|
|
440
|
+
/**
|
|
441
|
+
* The POSITION and the CONTENT AT IT together — 033-ACKEMIT.
|
|
442
|
+
*
|
|
443
|
+
* ⚠️ **IT REPLACED `lastSeenSeq()`, WHICH IS DELETED RATHER THAN LEFT WIRED.** That accessor
|
|
444
|
+
* returned the position alone, and `session-node-manager`'s unwitnessed content claim was its
|
|
445
|
+
* only caller. Leaving it in place after this one took over would leave a second way to read half
|
|
446
|
+
* of a pair that must be read whole: a `last_seen_seq` paired with a `last_seen_hash` for a
|
|
447
|
+
* different message is worse than no acknowledgement at all, because it looks checkable and
|
|
448
|
+
* fails.
|
|
449
|
+
*
|
|
450
|
+
* `undefined` means this session has no acknowledgement to make, which the caller must handle
|
|
451
|
+
* rather than fill in.
|
|
452
|
+
*/
|
|
453
|
+
lastSeenAck(sessionIdHex: string): {
|
|
454
|
+
seq: number;
|
|
455
|
+
hash: Uint8Array;
|
|
456
|
+
} | undefined;
|
|
367
457
|
close(): void;
|
|
368
458
|
}
|
|
369
459
|
//# sourceMappingURL=session-relay-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-relay-client.d.ts","sourceRoot":"","sources":["../src/session-relay-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"session-relay-client.d.ts","sourceRoot":"","sources":["../src/session-relay-client.ts"],"names":[],"mappings":"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"}
|