@cello-protocol/daemon 0.0.194 → 0.0.195
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/assignment-verify.d.ts +39 -11
- package/dist/assignment-verify.d.ts.map +1 -1
- package/dist/assignment-verify.js +133 -17
- package/dist/assignment-verify.js.map +1 -1
- package/dist/authorship-verification.d.ts +70 -0
- package/dist/authorship-verification.d.ts.map +1 -0
- package/dist/authorship-verification.js +441 -0
- package/dist/authorship-verification.js.map +1 -0
- package/dist/db-identity-store.d.ts +1 -0
- package/dist/db-identity-store.d.ts.map +1 -1
- package/dist/db-identity-store.js +19 -1
- package/dist/db-identity-store.js.map +1 -1
- package/dist/held-content.d.ts +141 -0
- package/dist/held-content.d.ts.map +1 -0
- package/dist/held-content.js +388 -0
- package/dist/held-content.js.map +1 -0
- package/dist/inbound-refusals.d.ts +283 -0
- package/dist/inbound-refusals.d.ts.map +1 -0
- package/dist/inbound-refusals.js +919 -0
- package/dist/inbound-refusals.js.map +1 -0
- package/dist/inbound-sessions.d.ts.map +1 -1
- package/dist/inbound-sessions.js +65 -27
- package/dist/inbound-sessions.js.map +1 -1
- package/dist/initiate-session-handler.d.ts.map +1 -1
- package/dist/initiate-session-handler.js +63 -0
- package/dist/initiate-session-handler.js.map +1 -1
- package/dist/outbound-sessions.d.ts.map +1 -1
- package/dist/outbound-sessions.js +108 -8
- package/dist/outbound-sessions.js.map +1 -1
- package/dist/park-recovery.d.ts +205 -0
- package/dist/park-recovery.d.ts.map +1 -0
- package/dist/park-recovery.js +600 -0
- package/dist/park-recovery.js.map +1 -0
- package/dist/refusal-notices.d.ts +196 -0
- package/dist/refusal-notices.d.ts.map +1 -0
- package/dist/refusal-notices.js +496 -0
- package/dist/refusal-notices.js.map +1 -0
- package/dist/refusal-reasons.d.ts +11 -0
- package/dist/refusal-reasons.d.ts.map +1 -1
- package/dist/refusal-reasons.js +18 -0
- package/dist/refusal-reasons.js.map +1 -1
- package/dist/registration-manager.d.ts.map +1 -1
- package/dist/registration-manager.js +126 -5
- package/dist/registration-manager.js.map +1 -1
- package/dist/registration-persistence.d.ts +18 -0
- package/dist/registration-persistence.d.ts.map +1 -1
- package/dist/registration-persistence.js +6 -0
- package/dist/registration-persistence.js.map +1 -1
- package/dist/session-assignment-parser.d.ts.map +1 -1
- package/dist/session-assignment-parser.js +23 -1
- package/dist/session-assignment-parser.js.map +1 -1
- package/dist/session-ceremony.d.ts +12 -7
- package/dist/session-ceremony.d.ts.map +1 -1
- package/dist/session-ceremony.js +12 -7
- package/dist/session-ceremony.js.map +1 -1
- package/dist/session-ephemerals.d.ts +271 -0
- package/dist/session-ephemerals.d.ts.map +1 -0
- package/dist/session-ephemerals.js +546 -0
- package/dist/session-ephemerals.js.map +1 -0
- package/dist/session-leaf-records.d.ts +132 -0
- package/dist/session-leaf-records.d.ts.map +1 -0
- package/dist/session-leaf-records.js +320 -0
- package/dist/session-leaf-records.js.map +1 -0
- package/dist/session-liveness.d.ts +135 -0
- package/dist/session-liveness.d.ts.map +1 -0
- package/dist/session-liveness.js +347 -0
- package/dist/session-liveness.js.map +1 -0
- package/dist/session-node-manager.d.ts +300 -1670
- package/dist/session-node-manager.d.ts.map +1 -1
- package/dist/session-node-manager.js +871 -9951
- package/dist/session-node-manager.js.map +1 -1
- package/dist/session-node-types.d.ts +933 -0
- package/dist/session-node-types.d.ts.map +1 -0
- package/dist/session-node-types.js +576 -0
- package/dist/session-node-types.js.map +1 -0
- package/dist/session-queries.d.ts +476 -0
- package/dist/session-queries.d.ts.map +1 -0
- package/dist/session-queries.js +1006 -0
- package/dist/session-queries.js.map +1 -0
- package/dist/session-records.d.ts +320 -0
- package/dist/session-records.d.ts.map +1 -0
- package/dist/session-records.js +792 -0
- package/dist/session-records.js.map +1 -0
- package/dist/session-salts.d.ts +390 -0
- package/dist/session-salts.d.ts.map +1 -0
- package/dist/session-salts.js +1457 -0
- package/dist/session-salts.js.map +1 -0
- package/dist/session-schema.d.ts +30 -0
- package/dist/session-schema.d.ts.map +1 -0
- package/dist/session-schema.js +786 -0
- package/dist/session-schema.js.map +1 -0
- package/dist/standing-receivers.d.ts +280 -0
- package/dist/standing-receivers.d.ts.map +1 -0
- package/dist/standing-receivers.js +1100 -0
- package/dist/standing-receivers.js.map +1 -0
- package/dist/transport-selector.d.ts +13 -0
- package/dist/transport-selector.d.ts.map +1 -1
- package/dist/transport-selector.js.map +1 -1
- package/dist/witness-alerts.d.ts +40 -0
- package/dist/witness-alerts.d.ts.map +1 -0
- package/dist/witness-alerts.js +102 -0
- package/dist/witness-alerts.js.map +1 -0
- package/package.json +5 -5
|
@@ -155,7 +155,25 @@ export function createOutboundSessions(deps) {
|
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
157
|
/** Send a session_request over `signaling` and await the assignment / error (the extracted core). */
|
|
158
|
-
async function runSessionRequestOverSignaling(signaling, targetHex, sr, correlationId,
|
|
158
|
+
async function runSessionRequestOverSignaling(signaling, targetHex, sr, correlationId,
|
|
159
|
+
/**
|
|
160
|
+
* WHO WE ARE — name and key together, as ONE object, and the shape is the point (review F2).
|
|
161
|
+
*
|
|
162
|
+
* `ownPubkeyHex` is this agent's own K_local pubkey, hex. It is passed in rather than looked up
|
|
163
|
+
* here because every caller has already resolved it and already refuses (`agent_not_found`)
|
|
164
|
+
* when it cannot; a second lookup would invent an absence case at the one place that must not
|
|
165
|
+
* have one — the target check below has to compare against a real key or refuse, never against
|
|
166
|
+
* an empty string that happens to mismatch.
|
|
167
|
+
*
|
|
168
|
+
* ⚠️ AN OBJECT RATHER THAN TWO POSITIONAL STRINGS, because as positional parameters they sat
|
|
169
|
+
* adjacent to `targetHex` and `correlationId` and a swap COMPILED. Only one of the three call
|
|
170
|
+
* sites is unit-reachable (the cross-node one needs a live visiting connection), so a slip at
|
|
171
|
+
* either of the other two would have made every cross-region session refuse with
|
|
172
|
+
* `assignment_names_different_self` — a security-flavoured refusal for a wiring bug, on the
|
|
173
|
+
* exact path sovereign-node redundancy depends on, with nothing red. Named properties make that
|
|
174
|
+
* swap a type error instead of a test we do not have.
|
|
175
|
+
*/
|
|
176
|
+
identity, signalFilter,
|
|
159
177
|
/**
|
|
160
178
|
* `DOD-M15-UNILATERAL-1`: opt this conversation in to the HIGH-STAKES seal tier.
|
|
161
179
|
*
|
|
@@ -165,6 +183,7 @@ export function createOutboundSessions(deps) {
|
|
|
165
183
|
* and the directory never sees it.
|
|
166
184
|
*/
|
|
167
185
|
highStakes) {
|
|
186
|
+
const { agentName, ownPubkeyHex } = identity;
|
|
168
187
|
let resolveFrame;
|
|
169
188
|
const pending = new Promise((r) => { resolveFrame = r; });
|
|
170
189
|
const unregister = signaling.registerInboundHandler((frame) => {
|
|
@@ -412,16 +431,97 @@ export function createOutboundSessions(deps) {
|
|
|
412
431
|
* the design and enforced nowhere.
|
|
413
432
|
*
|
|
414
433
|
* THE BOUND, equally explicit: a THRESHOLD of this agent's own directories, colluding, could
|
|
415
|
-
* still
|
|
416
|
-
* the
|
|
417
|
-
*
|
|
434
|
+
* still produce a VALID SIGNATURE over an assignment naming the wrong counterparty. That is
|
|
435
|
+
* the designed-for limit of the signature check and it does not move. What that signature can
|
|
436
|
+
* no longer buy them is a session: `DOD-M15-ASSIGN-TARGET-1` below compares the participants
|
|
437
|
+
* the slip names against the two values this daemon already holds, and refuses before
|
|
438
|
+
* anything dials. Ingest-time wrong-signer detection (`DOD-M15-FRAME-1`) and relay
|
|
439
|
+
* corroboration (`DOD-M15-CORROBORATE-1`) still run — they are now the second line, not the
|
|
440
|
+
* first.
|
|
418
441
|
*/
|
|
419
442
|
const verified = await verifyAssignmentSignature(assignment, getPersistence(agentName), logger, agentName, correlationId);
|
|
420
443
|
if (!verified.ok) {
|
|
421
444
|
return { ok: false, reason: verified.reason, guidance: verified.guidance };
|
|
422
445
|
}
|
|
446
|
+
/**
|
|
447
|
+
* DOD-M15-ASSIGN-TARGET-1 — THE SLIP MUST NAME WHO YOU ASKED FOR.
|
|
448
|
+
*
|
|
449
|
+
* A verified signature says the slip is genuine. It says nothing about WHO it is about, and
|
|
450
|
+
* until now nothing on the client compared `participant_b` to the pubkey the operator typed.
|
|
451
|
+
* A colluding quorum could name an impostor, the signature would verify, and the daemon would
|
|
452
|
+
* dial them.
|
|
453
|
+
*
|
|
454
|
+
* ⚠️ IT MUST BE HERE, BEFORE THE RETURN — not at ingest, where the existing wrong-signer
|
|
455
|
+
* check lives.
|
|
456
|
+
*
|
|
457
|
+
* ─── AND THE REASON IS NOT "the first message goes out in plaintext" (review F3) ──────────
|
|
458
|
+
*
|
|
459
|
+
* That was the premise this check was written from and IT DOES NOT HOLD IN THIS TREE, which
|
|
460
|
+
* is worth stating because a reader who assumed it would think this guard is holding a line
|
|
461
|
+
* it is not. On the initiator side the content key is agreed from a peer ephemeral that must
|
|
462
|
+
* verify against the session's counterparty record, and that record is the operator's own
|
|
463
|
+
* `target_pubkey` — not `participant_b` (`session-ephemerals.ts`). A substituted counterparty
|
|
464
|
+
* cannot sign a passing half, and a send with no agreed key throws rather than going out
|
|
465
|
+
* (`content-encryption-status.ts` states the rule as absolute). No plaintext leaves.
|
|
466
|
+
*
|
|
467
|
+
* ─── What was actually wrong, which is a better reason than the one it replaces ──────────
|
|
468
|
+
*
|
|
469
|
+
* 1. ERROR SUBSTITUTION, and it is the serious one. A substituted counterparty surfaced to
|
|
470
|
+
* the operator as `session.key.refused`, whose guidance names *"something in the middle of
|
|
471
|
+
* your connection substituting its own key"* — pointing at the relay and the network for a
|
|
472
|
+
* fault that was entirely the directory's. The operator was told to distrust the right
|
|
473
|
+
* thing for the wrong reason and sent to investigate the wrong party.
|
|
474
|
+
* 2. THE DIAL ITSELF DISCLOSES. We hand the impostor our session peer id and, on a direct
|
|
475
|
+
* address, our IP — permanently — before anything has failed.
|
|
476
|
+
* 3. THE SEAL ANCHOR DISAGREES WITH THE SESSION. `recordSessionGenesis` anchors the
|
|
477
|
+
* transcript to `participant_a`/`participant_b` while the session's own counterparty
|
|
478
|
+
* record holds what the operator asked for. Refusing here keeps those two provably equal.
|
|
479
|
+
*
|
|
480
|
+
* The ingest wrong-signer check still runs and still freezes on a bad reply; it is now the
|
|
481
|
+
* second line rather than the first, and it is not what makes this safe.
|
|
482
|
+
*
|
|
483
|
+
* Both sides of both comparisons are LOCAL values: `targetHex` is the operator's own input
|
|
484
|
+
* and `ownPubkeyHex` is this daemon's loaded identity. Neither is influenced by anything the
|
|
485
|
+
* directory returned, which is what makes the comparison worth anything.
|
|
486
|
+
*
|
|
487
|
+
* Case-insensitive because `target_pubkey` is operator input, accepted as `[0-9a-fA-F]{64}`.
|
|
488
|
+
*/
|
|
489
|
+
const namedTarget = Buffer.from(assignment.participant_b.pubkey).toString("hex").toLowerCase();
|
|
490
|
+
if (namedTarget !== targetHex.toLowerCase()) {
|
|
491
|
+
logger.error("session.assignment.target_mismatch", {
|
|
492
|
+
agentName, correlationId,
|
|
493
|
+
askedForPrefix: targetHex.toLowerCase().slice(0, 16), namedPrefix: namedTarget.slice(0, 16),
|
|
494
|
+
impact: "the directory returned a validly-signed assignment naming a counterparty other than the one requested; it was refused before any dial, so no conversation was opened and nothing was sent",
|
|
495
|
+
});
|
|
496
|
+
return {
|
|
497
|
+
ok: false,
|
|
498
|
+
reason: "assignment_names_different_counterparty",
|
|
499
|
+
// ⚠️ LEAD WITH THE ATTRIBUTION, and the reason is measurable rather than stylistic (review
|
|
500
|
+
// F1). The directory echoes the `target_pubkey` we sent it straight back into
|
|
501
|
+
// `participant_b`, so an operator TYPO cannot produce this — a typo puts the same wrong
|
|
502
|
+
// key on both sides and matches. This fault is 100% directory-side. Guidance that opened
|
|
503
|
+
// by telling the operator to re-check the key sent them to the one place it cannot be.
|
|
504
|
+
guidance: "The directory returned a session assignment naming a counterparty other than the one you asked for. No conversation was opened and nothing you wrote was sent. This is not a typo on your side — the directory echoes back the key you sent it, so a mismatch means the node that answered departed from the protocol. Run cello_status to see which directory node answered, then retry cello_initiate_session; a different node will serve the request. Only if it repeats across nodes is it worth confirming the key with the counterparty's operator out of band.",
|
|
505
|
+
};
|
|
506
|
+
}
|
|
507
|
+
const namedSelf = Buffer.from(assignment.participant_a.pubkey).toString("hex").toLowerCase();
|
|
508
|
+
if (namedSelf !== ownPubkeyHex.toLowerCase()) {
|
|
509
|
+
logger.error("session.assignment.self_mismatch", {
|
|
510
|
+
agentName, correlationId,
|
|
511
|
+
ownPrefix: ownPubkeyHex.toLowerCase().slice(0, 16), namedPrefix: namedSelf.slice(0, 16),
|
|
512
|
+
impact: "the directory returned a validly-signed assignment putting a different agent in this agent's own seat; it was refused before any dial, so no conversation was opened and nothing was sent",
|
|
513
|
+
});
|
|
514
|
+
return {
|
|
515
|
+
ok: false,
|
|
516
|
+
reason: "assignment_names_different_self",
|
|
517
|
+
// Same correction as above (review F1): the directory derives `participant_a` from the key
|
|
518
|
+
// the signaling stream AUTHENTICATED with, not from anything the operator typed, so "check
|
|
519
|
+
// which agent is selected" names a cause that cannot produce this either.
|
|
520
|
+
guidance: "The directory returned a session assignment naming a different agent as this side of the conversation. No conversation was opened and nothing you wrote was sent. This is not a local selection problem — the directory derives this side from the key your daemon authenticated with, so a mismatch means the node that answered is brokering sessions in another agent's name. Run cello_status to see which directory node answered, then retry cello_initiate_session; a different node will serve the request.",
|
|
521
|
+
};
|
|
522
|
+
}
|
|
423
523
|
logger.info("session.negotiate.assignment.received", { agentName, correlationId, signatureType: assignment.signature_type, signatureVerified: true });
|
|
424
|
-
return { ok: true, assignment };
|
|
524
|
+
return { ok: true, assignment, counterpartyPrimaryHex: verified.counterpartyPrimaryHex };
|
|
425
525
|
}
|
|
426
526
|
finally {
|
|
427
527
|
unregister();
|
|
@@ -570,7 +670,7 @@ export function createOutboundSessions(deps) {
|
|
|
570
670
|
logger.warn("session.crossnode.failed", { agentName, brokerNode: owningNodeId, reason: "visiting_connection_unreachable", correlationId });
|
|
571
671
|
return { ok: false, reason: "visiting_connection_unreachable", guidance: `Could not establish a visiting connection to the counterparty's home node (${owningNodeId}) within 10s. Retry.` };
|
|
572
672
|
}
|
|
573
|
-
const result = await runSessionRequestOverSignaling(visiting.mgr, targetHex, sr, correlationId, agentName, signalFilter, highStakes);
|
|
673
|
+
const result = await runSessionRequestOverSignaling(visiting.mgr, targetHex, sr, correlationId, { agentName, ownPubkeyHex: agentPubkeyHex }, signalFilter, highStakes);
|
|
574
674
|
if (result.ok) {
|
|
575
675
|
releaseReason = "handoff-complete";
|
|
576
676
|
// Fix #1: remember the broker for this session so cello_close_session can reconnect to complete the seal.
|
|
@@ -726,7 +826,7 @@ export function createOutboundSessions(deps) {
|
|
|
726
826
|
continue;
|
|
727
827
|
}
|
|
728
828
|
logger.info("session.discovery.unsupported_fallback", { agentName: ctx.agentName, correlationId: ctx.correlationId });
|
|
729
|
-
return await runSessionRequestOverSignaling(signaling, targetHex, sr, ctx.correlationId, ctx.agentName, signalFilter, highStakes);
|
|
829
|
+
return await runSessionRequestOverSignaling(signaling, targetHex, sr, ctx.correlationId, { agentName: ctx.agentName, ownPubkeyHex: agentRec.pubkey }, signalFilter, highStakes);
|
|
730
830
|
}
|
|
731
831
|
// DIRECTORY-SIDE lookup fault (DB error / malformed reply): RETRYABLE — but a DIRECTORY fault,
|
|
732
832
|
// reported truthfully as directory_unreachable, NEVER as the counterparty being offline.
|
|
@@ -783,7 +883,7 @@ export function createOutboundSessions(deps) {
|
|
|
783
883
|
const result = action.kind === "same_node"
|
|
784
884
|
// SAME-NODE: the target is on the node we're already connected to. The existing path runs
|
|
785
885
|
// unchanged — ZERO visiting connections, ZERO new frames beyond the one discovery_lookup.
|
|
786
|
-
? await runSessionRequestOverSignaling(signaling, targetHex, sr, ctx.correlationId, ctx.agentName, signalFilter, highStakes)
|
|
886
|
+
? await runSessionRequestOverSignaling(signaling, targetHex, sr, ctx.correlationId, { agentName: ctx.agentName, ownPubkeyHex: agentRec.pubkey }, signalFilter, highStakes)
|
|
787
887
|
// CROSS-NODE: reach into the target's home over a transient visiting connection.
|
|
788
888
|
: await runCrossNodeSetup(ctx.agentName, kp, agentRec.pubkey, action.owningNodeId, targetHex, sr, ctx.correlationId, signalFilter, highStakes);
|
|
789
889
|
// RETRY triggers: (a) the broker reported target_offline (stale replicated presence or a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outbound-sessions.js","sourceRoot":"","sources":["../src/outbound-sessions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"outbound-sessions.js","sourceRoot":"","sources":["../src/outbound-sessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CELLO Daemon — MAIL THAT WAITED
|
|
3
|
+
*
|
|
4
|
+
* Split out of `session-node-manager.ts` by 036-GODFILE, Part 6. The relay store-and-forward path:
|
|
5
|
+
* depositing content the counterparty could not take live, recovering it when they come back, and
|
|
6
|
+
* the backstop sweep that drains it even when a trigger is missing.
|
|
7
|
+
*
|
|
8
|
+
* Moved verbatim, comments included.
|
|
9
|
+
*
|
|
10
|
+
* ⚠️ THE BACKSTOP SWEEP EXISTS BECAUSE THE INCIDENT WAS A MISSING TRIGGER, and a missing trigger is
|
|
11
|
+
* invisible: the daemon looked healthy, the content was intact on the relay, and the only thing that
|
|
12
|
+
* ever moved it was a human restarting the daemon. Do not delete it as redundant — the trigger-driven
|
|
13
|
+
* drains are what deliver, and this is what bounds the cost of the next gap in trigger coverage to
|
|
14
|
+
* one interval of latency.
|
|
15
|
+
*/
|
|
16
|
+
import type { Logger, SessionRecord } from "./types.js";
|
|
17
|
+
import type { SealCarryLeaf } from "./session-seal-leaf-store.js";
|
|
18
|
+
import type { SessionTree } from "./session-tree.js";
|
|
19
|
+
import type { InboundRefusals } from "./inbound-refusals.js";
|
|
20
|
+
import { type ParkedDrainReason, type ParkAttempt, type ActiveSessionEntry } from "./session-node-types.js";
|
|
21
|
+
import { type ParkAuthFailure } from "./park-envelope.js";
|
|
22
|
+
/** What park recovery needs from the manager, stated explicitly rather than handed `this`. */
|
|
23
|
+
export interface ParkContext {
|
|
24
|
+
readonly logger: Logger;
|
|
25
|
+
readonly refusals: InboundRefusals;
|
|
26
|
+
shuttingDown(): boolean;
|
|
27
|
+
sessionKey(agentName: string, sessionId: string): string;
|
|
28
|
+
requireAgentId(agentName: string): string;
|
|
29
|
+
ownPubkeyHex(agentName: string): string | null;
|
|
30
|
+
/** The live session entry, when one exists. Park works for sessions that have none. */
|
|
31
|
+
activeEntry(key: string): ActiveSessionEntry | undefined;
|
|
32
|
+
/** Agents currently holding a standing receiver — the backstop sweep's population. */
|
|
33
|
+
agentsWithLiveReceiver(): Iterable<string>;
|
|
34
|
+
agentWantsReceiver(agentName: string): boolean;
|
|
35
|
+
getSessionRecord(agentName: string, sessionId: string): SessionRecord | null;
|
|
36
|
+
getSealCarry(agentName: string, sessionId: string): readonly SealCarryLeaf[];
|
|
37
|
+
getSessionTree(agentName: string, sessionId: string): SessionTree;
|
|
38
|
+
recordOrderingRecord(agentName: string, sessionId: string, structure1Cbor: Uint8Array, structure2Cbor: Uint8Array, contentHash: Uint8Array, correlationId?: string): number | null;
|
|
39
|
+
ingestReceivedContent(agentName: string, sessionId: string, content: Uint8Array, contentHash: Uint8Array, correlationId?: string, recoveredSeq?: number, contentHashAlgIn?: string | null): Promise<{
|
|
40
|
+
ok: true;
|
|
41
|
+
leafIndex: number;
|
|
42
|
+
sequenceNumber: number;
|
|
43
|
+
held?: boolean;
|
|
44
|
+
appendedCount?: number;
|
|
45
|
+
screenedOut?: boolean;
|
|
46
|
+
} | {
|
|
47
|
+
ok: false;
|
|
48
|
+
reason: string;
|
|
49
|
+
}>;
|
|
50
|
+
witnessReceivedLeaf(agentName: string, sessionId: string, contentHash: Uint8Array, structure1Cbor: Uint8Array, senderSignature: Uint8Array, leafKind: number, correlationId?: string): void;
|
|
51
|
+
noteAcknowledgeable(agentName: string, sessionId: string, canonicalSeq: number, contentHash: Uint8Array): void;
|
|
52
|
+
}
|
|
53
|
+
export declare class ParkRecovery {
|
|
54
|
+
#private;
|
|
55
|
+
constructor(ctx: ParkContext, parkedDrainBackstopMs: number);
|
|
56
|
+
/**
|
|
57
|
+
* Arm the backstop clock from the START of watching, not from the epoch — otherwise the first
|
|
58
|
+
* tick always fires a sweep on top of the install drain that just ran.
|
|
59
|
+
*/
|
|
60
|
+
armBackstopClock(now: number): void;
|
|
61
|
+
/** Arm the park-deposit fault. Returns the count now armed. */
|
|
62
|
+
injectParkFault(count: number, cause?: string): number;
|
|
63
|
+
/** Remaining armed park faults — so a test can assert the fault was actually consumed. */
|
|
64
|
+
getParkFaultRemaining(): number;
|
|
65
|
+
/**
|
|
66
|
+
* MSG-001-3b (2b): inject the live content-park deposit (seal + ContentParkClient.deposit).
|
|
67
|
+
* Injected by the composition root (daemon.ts). When absent, a not-confirmed send still records
|
|
68
|
+
* the durable awaiting entry (crash backstop) but does not deposit live.
|
|
69
|
+
* DOD-LEAVEMSG-1 (cello-unit-reviewer HIGH fix): the hook returns a TYPED result — `{ok:true}` or
|
|
70
|
+
* `{ok:false, reason}` — mirroring RetryQueue's ParkFn contract. It must NEVER resolve `{ok:true}`
|
|
71
|
+
* merely because it didn't throw: the production hook's own failure branches (standing receiver
|
|
72
|
+
* unavailable, relay explicitly rejects the deposit) log-and-return without throwing, and a
|
|
73
|
+
* throw-only contract would silently report those as success — the exact "system lies about its
|
|
74
|
+
* own health" bug the reviewer caught (a park that never happened reported to the operator as
|
|
75
|
+
* "dispatched to relay," with the durable retry_queue backstop skipped because sendContent's own
|
|
76
|
+
* caller only enqueues on an honest {ok:false}).
|
|
77
|
+
*/
|
|
78
|
+
setContentParkHook(fn: (args: {
|
|
79
|
+
agentName: string;
|
|
80
|
+
sessionId: string;
|
|
81
|
+
recipientPubkeyHex: string;
|
|
82
|
+
relayPeerId: string;
|
|
83
|
+
relayAddrs: readonly string[];
|
|
84
|
+
contentHashHex: string;
|
|
85
|
+
content: Uint8Array;
|
|
86
|
+
structure1Cbor?: Uint8Array;
|
|
87
|
+
structure2Cbor?: Uint8Array;
|
|
88
|
+
structure1Signature?: Uint8Array;
|
|
89
|
+
leafKind?: number;
|
|
90
|
+
contentHashAlg: string | undefined;
|
|
91
|
+
}) => Promise<{
|
|
92
|
+
ok: true;
|
|
93
|
+
} | {
|
|
94
|
+
ok: false;
|
|
95
|
+
reason: string;
|
|
96
|
+
cause?: string;
|
|
97
|
+
retryAfterMs?: number;
|
|
98
|
+
}>): void;
|
|
99
|
+
/**
|
|
100
|
+
* DOD-PARK-DRAIN-1: inject the parked-mailbox drain (daemon.ts → contentPark.autoRecoverForAgent).
|
|
101
|
+
*
|
|
102
|
+
* The manager owns the two events that mean "content may be waiting for this agent on a relay":
|
|
103
|
+
* a standing receiver was (re)built, and the slow backstop sweep. It does not own the drain
|
|
104
|
+
* itself — that needs the agent's key provider and the inbound ingest funnel. So it calls out.
|
|
105
|
+
*
|
|
106
|
+
* Injected by the composition root, not passed to the constructor: the manager is built long
|
|
107
|
+
* before the content park exists (content-park.ts documents why that ordering is load-bearing).
|
|
108
|
+
*/
|
|
109
|
+
setParkedDrainHook(fn: (agentName: string, reason: ParkedDrainReason) => void): void;
|
|
110
|
+
/** Ask for a drain. Never throws — a broken drain must never cost the caller its receiver. */
|
|
111
|
+
fireParkedDrain(agentName: string, reason: ParkedDrainReason): void;
|
|
112
|
+
/**
|
|
113
|
+
* MSG-001-3b (2b): deposit un-confirmed content to the relay store-and-forward backstop — keyed
|
|
114
|
+
* to the recipient, on the SAME relay this session is witnessed by — so an offline recipient
|
|
115
|
+
* recovers it (at the sequence the witness already assigned, R1). Best-effort, never throws.
|
|
116
|
+
* DOD-LEAVEMSG-1: returns whether the deposit actually succeeded (false if no hook/relay is
|
|
117
|
+
* configured, or the hook rejects) so a caller with a live response to shape (sendContent) can
|
|
118
|
+
* distinguish "genuinely parked" from "nothing recoverable" instead of guessing. Callers that
|
|
119
|
+
* fire this from an async backstop with no live caller (the TTF-expiry path) may ignore the
|
|
120
|
+
* result — the deposit itself and its logging are unchanged either way.
|
|
121
|
+
*/
|
|
122
|
+
/**
|
|
123
|
+
* `contentHashAlg` is `string | undefined`, NOT optional — B2b-1 review F4's shape, applied to the
|
|
124
|
+
* last place it was missing.
|
|
125
|
+
*
|
|
126
|
+
* Optional, dropping it at a call site was neither a typecheck error nor a test failure, because
|
|
127
|
+
* absent silently means `sha256` and that is the only value in play today. Measured: the
|
|
128
|
+
* direct-dial-fail route's mutant SURVIVED the whole daemon suite. Requiring the argument — even
|
|
129
|
+
* when its value is `undefined` — forces each of the three callers to state what this message was
|
|
130
|
+
* hashed under, so a new fourth caller cannot omit it by accident.
|
|
131
|
+
*/
|
|
132
|
+
parkContent(agentName: string, sessionId: string, contentHashHex: string, content: Uint8Array, structure1Cbor: Uint8Array | undefined, structure2Cbor: Uint8Array | undefined, contentHashAlg: string | undefined, structure1Signature?: Uint8Array, parkLeafKind?: number): Promise<ParkAttempt>;
|
|
133
|
+
/** DOD-M12B-INDEX-1 — this agent's own K_local pubkey, for attributing its own held content.
|
|
134
|
+
* Null when it cannot be resolved: an UNATTRIBUTED annex row is true, a falsely attributed one
|
|
135
|
+
* is not, and this is the record that outlives the session. */
|
|
136
|
+
/**
|
|
137
|
+
* Test seam for `#recoverOwnSealCtrlLeaf` (documented on the method itself, below). The
|
|
138
|
+
* distinction it draws — "there is none" versus "I could not tell" — is the whole safety
|
|
139
|
+
* property, and it had no coverage at any level.
|
|
140
|
+
*/
|
|
141
|
+
recoverOwnSealCtrlLeafForTest(agentName: string, sessionId: string): {
|
|
142
|
+
reportedRootHex: string;
|
|
143
|
+
sequenceNumber: number;
|
|
144
|
+
} | "none" | "unknown";
|
|
145
|
+
/**
|
|
146
|
+
* DOD-M12B-INTERRUPTED-ESCALATE-1 — our own SEAL ctrl leaf, if a previous run already posted one.
|
|
147
|
+
*
|
|
148
|
+
* Returns the two values a unilateral escalation runs on, rebuilt from durable state:
|
|
149
|
+
* the ctrl leaf's relay-assigned sequence, and the root the tree WOULD have with that leaf
|
|
150
|
+
* appended. The content hash cannot be recomputed — the seal payload embeds a `close_timestamp`
|
|
151
|
+
* — so it is read out of the signed Structure 1 the store already holds.
|
|
152
|
+
*
|
|
153
|
+
* Null when there is no own ctrl leaf, which is the ordinary first-close case.
|
|
154
|
+
*/
|
|
155
|
+
recoverOwnSealCtrlLeaf(agentName: string, sessionId: string): {
|
|
156
|
+
reportedRootHex: string;
|
|
157
|
+
sequenceNumber: number;
|
|
158
|
+
} | "none" | "unknown";
|
|
159
|
+
/**
|
|
160
|
+
* SEC-1 — THE ONLY WAY PARKED CONTENT ENTERS THE TRANSCRIPT.
|
|
161
|
+
*
|
|
162
|
+
* Authentication and ingest are FUSED here on purpose, and must stay fused. A caller cannot ingest
|
|
163
|
+
* parked content without passing the signature gate, because this is the only entry point. Exposing
|
|
164
|
+
* a separate `decode → ingest` path — with the signature check as its own optional step — is a
|
|
165
|
+
* downgrade attack: an attacker omits the thing that triggers the check, and the check never runs.
|
|
166
|
+
* A gate the caller can skip by leaving a field out is not a gate.
|
|
167
|
+
*
|
|
168
|
+
* FAILS CLOSED. No signature / bad signature / signer is not this session's counterparty / no
|
|
169
|
+
* session at all → REFUSED, nothing is appended, nothing is written, and the caller MUST NOT
|
|
170
|
+
* confirm-delete the entry from the relay (a forgery must not be able to evict itself, and a
|
|
171
|
+
* genuine bug must not silently eat mail).
|
|
172
|
+
*/
|
|
173
|
+
recoverParkedEntry(agentName: string, sessionId: string, recipientPubkey: Uint8Array, unsealed: Uint8Array, contentHash: Uint8Array, correlationId?: string): Promise<{
|
|
174
|
+
ok: true;
|
|
175
|
+
leafIndex: number;
|
|
176
|
+
sequenceNumber: number;
|
|
177
|
+
held?: boolean;
|
|
178
|
+
appendedCount?: number;
|
|
179
|
+
screenedOut?: boolean;
|
|
180
|
+
} | {
|
|
181
|
+
ok: false;
|
|
182
|
+
reason: string;
|
|
183
|
+
}>;
|
|
184
|
+
/**
|
|
185
|
+
* Review M4: bounded memo of parked entries we have already refused, so a mailbox stuffed with
|
|
186
|
+
* forgeries cannot force an unbounded unseal+verify on every reconnect. FIFO-capped — the cap
|
|
187
|
+
* matters more than the retention: forgetting an entry only costs one extra verification, whereas
|
|
188
|
+
* an unbounded map would be a memory leak fed by a remote party (the exact class the DOD-MSG-4
|
|
189
|
+
* review already caught once in the offered-moniker map).
|
|
190
|
+
*/
|
|
191
|
+
rememberRefusedParkedEntry(key: string, reason: ParkAuthFailure): void;
|
|
192
|
+
/**
|
|
193
|
+
* DOD-PARK-DRAIN-1: the backstop sweep — every agent holding a standing receiver gets a drain
|
|
194
|
+
* every #parkedDrainBackstopMs, whether or not anything happened.
|
|
195
|
+
*
|
|
196
|
+
* The trigger-driven drains (agent start, receiver rebuild, signaling reconnect) are what
|
|
197
|
+
* actually deliver. This exists because the incident was a MISSING trigger, and a missing
|
|
198
|
+
* trigger is invisible: the daemon looked healthy, the content was intact on the relay, and the
|
|
199
|
+
* only thing that ever moved it was a human restarting the daemon. With the sweep, the worst a
|
|
200
|
+
* future gap in trigger coverage can cost is one interval of latency. Safe by construction —
|
|
201
|
+
* ingest is deduped and the relay is delete-on-confirm, so a redundant drain pulls nothing.
|
|
202
|
+
*/
|
|
203
|
+
parkedDrainBackstopTick(now: number): void;
|
|
204
|
+
}
|
|
205
|
+
//# sourceMappingURL=park-recovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"park-recovery.d.ts","sourceRoot":"","sources":["../src/park-recovery.ts"],"names":[],"mappings":"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"}
|