@cello-protocol/daemon 0.0.187 → 0.0.189

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/agent-id-migration.d.ts.map +1 -1
  2. package/dist/agent-id-migration.js +5 -0
  3. package/dist/agent-id-migration.js.map +1 -1
  4. package/dist/contact-pubkey-case.d.ts +65 -0
  5. package/dist/contact-pubkey-case.d.ts.map +1 -0
  6. package/dist/contact-pubkey-case.js +135 -0
  7. package/dist/contact-pubkey-case.js.map +1 -0
  8. package/dist/content-encryption-status.d.ts +14 -0
  9. package/dist/content-encryption-status.d.ts.map +1 -1
  10. package/dist/content-encryption-status.js +36 -0
  11. package/dist/content-encryption-status.js.map +1 -1
  12. package/dist/content-park-client.d.ts +31 -0
  13. package/dist/content-park-client.d.ts.map +1 -1
  14. package/dist/content-park-client.js +89 -4
  15. package/dist/content-park-client.js.map +1 -1
  16. package/dist/content-park.d.ts +1 -0
  17. package/dist/content-park.d.ts.map +1 -1
  18. package/dist/content-park.js +262 -20
  19. package/dist/content-park.js.map +1 -1
  20. package/dist/daemon.js +19 -1
  21. package/dist/daemon.js.map +1 -1
  22. package/dist/inbound-sessions.d.ts.map +1 -1
  23. package/dist/inbound-sessions.js +19 -5
  24. package/dist/inbound-sessions.js.map +1 -1
  25. package/dist/notification-handlers.d.ts.map +1 -1
  26. package/dist/notification-handlers.js +113 -2
  27. package/dist/notification-handlers.js.map +1 -1
  28. package/dist/orphan-triage.d.ts +130 -0
  29. package/dist/orphan-triage.d.ts.map +1 -0
  30. package/dist/orphan-triage.js +207 -0
  31. package/dist/orphan-triage.js.map +1 -0
  32. package/dist/quarantine-framing.d.ts +92 -0
  33. package/dist/quarantine-framing.d.ts.map +1 -0
  34. package/dist/quarantine-framing.js +111 -0
  35. package/dist/quarantine-framing.js.map +1 -0
  36. package/dist/refusal-reasons.d.ts +53 -0
  37. package/dist/refusal-reasons.d.ts.map +1 -1
  38. package/dist/refusal-reasons.js +109 -0
  39. package/dist/refusal-reasons.js.map +1 -1
  40. package/dist/seal-frontier-verify.d.ts.map +1 -1
  41. package/dist/seal-frontier-verify.js +24 -16
  42. package/dist/seal-frontier-verify.js.map +1 -1
  43. package/dist/sealed-leaf-set.d.ts +4 -4
  44. package/dist/sealed-leaf-set.d.ts.map +1 -1
  45. package/dist/sealed-leaf-set.js +11 -18
  46. package/dist/sealed-leaf-set.js.map +1 -1
  47. package/dist/session-content-handlers.d.ts.map +1 -1
  48. package/dist/session-content-handlers.js +92 -18
  49. package/dist/session-content-handlers.js.map +1 -1
  50. package/dist/session-node-manager.d.ts +284 -39
  51. package/dist/session-node-manager.d.ts.map +1 -1
  52. package/dist/session-node-manager.js +2620 -245
  53. package/dist/session-node-manager.js.map +1 -1
  54. package/dist/session-read-handlers.d.ts.map +1 -1
  55. package/dist/session-read-handlers.js +133 -4
  56. package/dist/session-read-handlers.js.map +1 -1
  57. package/dist/session-relay-client.d.ts +0 -7
  58. package/dist/session-relay-client.d.ts.map +1 -1
  59. package/dist/session-relay-client.js +52 -37
  60. package/dist/session-relay-client.js.map +1 -1
  61. package/dist/vocabulary.d.ts.map +1 -1
  62. package/dist/vocabulary.js +1 -0
  63. package/dist/vocabulary.js.map +1 -1
  64. package/package.json +5 -5
@@ -20,7 +20,7 @@
20
20
  // `contentHashFor`, so this file no longer computes a content hash without asking which algorithm
21
21
  // the sender used (`DOD-M15-SEALWIRE-1` part B2a).
22
22
  import { randomUUID } from "node:crypto";
23
- import { ContentParkClient, ContentParkRefusedError } from "./content-park-client.js";
23
+ import { ContentParkClient, ContentParkRefusedError, ContentParkUnreachableError } from "./content-park-client.js";
24
24
  import { extractErrorMessage } from "./error-message.js";
25
25
  import { decodeParkEnvelope, sealParkEnvelope } from "./park-envelope.js";
26
26
  import { contentHashFor, resolveContentHashAlg, isKnownContentHashAlg, CONTENT_HASH_ALGS } from "./wire-content-hash.js";
@@ -32,11 +32,100 @@ export function createContentPark(deps) {
32
32
  // proven (J-CONTENT increment 1) before the send/receive-path integration. The relay
33
33
  // multiaddr (with /p2p/<peerId>) comes from the session assignment's relay endpoint;
34
34
  // dials run from the standing receiver (open-gater) node.
35
+ /**
36
+ * ⚠️ THE `/p2p/` SEGMENT IS SHAPE-CHECKED — review HIGH-1.
37
+ *
38
+ * This used to accept whatever followed `/p2p/`, so a truncated or mistyped multiaddr became a
39
+ * "peer id" that only `newStream` rejected, four layers down, as `invalid_peer_id` — and the
40
+ * deposit then reported it as a relay that could not be REACHED. A payload fault wearing a
41
+ * network fault's name is the substitution this milestone is named for.
42
+ *
43
+ * This proves the segment is a plausible base58btc peer id, NOT that the peer exists — the
44
+ * multibase/multihash decode still happens in the transport, and `invalid_peer_id` is still
45
+ * mapped honestly below for anything this misses. It is defence in depth on the cheapest fault,
46
+ * not a replacement for the mapping.
47
+ */
48
+ const PEER_ID_SHAPE = /^(1[1-9A-HJ-NP-Za-km-z]{47,52}|Qm[1-9A-HJ-NP-Za-km-z]{44}|12D3Koo[1-9A-HJ-NP-Za-km-z]{45,50})$/;
35
49
  const parseRelayPeer = (multiaddr) => {
36
50
  if (!multiaddr)
37
51
  return null;
38
- const peerId = multiaddr.split("/p2p/")[1];
39
- return peerId ? { peerId, addr: multiaddr } : null;
52
+ // Up to the next `/`, so a CIRCUIT address (`…/p2p/<relay>/p2p-circuit/p2p/<target>`) yields the
53
+ // relay rather than `<relay>/p2p-circuit` which the old form produced and only `newStream`
54
+ // ever rejected, four layers down, as an invalid peer id.
55
+ const peerId = multiaddr.split("/p2p/")[1]?.split("/")[0];
56
+ return peerId && PEER_ID_SHAPE.test(peerId) ? { peerId, addr: multiaddr } : null;
57
+ };
58
+ /**
59
+ * DOD-M15-PARKCONN-1 review HIGH-1 — **ONE STREAM FAILURE IS SIX FAULTS, AND ONLY TWO ARE ABOUT
60
+ * REACHING THE RELAY.**
61
+ *
62
+ * `#open` wraps every `newStream` rejection, because the dial evidence it collects is worth having
63
+ * on all of them. Labelling them all `relay_unreachable` is a different question, and getting it
64
+ * wrong reproduces the exact defect this unit exists to remove: `invalid_peer_id` is a MALFORMED
65
+ * ARGUMENT, `node_stopped` is THIS daemon's own transport, and `protocol_not_supported` means the
66
+ * connection worked and the relay does not speak content-park. Telling any of those three
67
+ * "the relay could not be reached — retry once it is up" sends the operator to the network for a
68
+ * fault that is not there, and the guidance is the half an operator actually reads.
69
+ *
70
+ * Reasons come from `core/transport/src/node.ts` (`newStream` + `mapStreamError`). An unknown one
71
+ * gets a neutral label rather than a reachability claim, because the default is where this class
72
+ * of defect hides.
73
+ */
74
+ const parkTransportFault = (reason, relayPeerId) => {
75
+ switch (reason) {
76
+ case "no_connection":
77
+ case "connection_lost":
78
+ return {
79
+ reason: `relay_unreachable:${reason}`,
80
+ guidance: `Relay ${relayPeerId} could not be reached from this daemon (${reason}), so nothing was deposited and no content was lost. ` +
81
+ `Retry once the relay is up. A conversation cannot be moved to a different relay from here — the park relay comes from the ` +
82
+ `session assignment — so if this relay stays down, broker a new session with cello_initiate_session.`,
83
+ };
84
+ case "invalid_peer_id":
85
+ return {
86
+ reason: "relay_address_invalid",
87
+ guidance: `The /p2p/ segment of the relayMultiaddr is not a usable peer id, so no relay was ever contacted. The relay is not at fault ` +
88
+ `and retrying will not help. Pass the relay endpoint from the session assignment verbatim — a truncated paste is the usual cause.`,
89
+ };
90
+ case "node_stopped":
91
+ return {
92
+ reason: "daemon_transport_stopped",
93
+ guidance: `This daemon's own transport is stopped, so the relay was never asked. Nothing was deposited. This is local: restart the ` +
94
+ `daemon, or start the agent with cello_start_agent if it was stopped deliberately.`,
95
+ };
96
+ case "protocol_not_supported":
97
+ return {
98
+ reason: "relay_protocol_unsupported",
99
+ guidance: `Relay ${relayPeerId} is CONNECTED and does not speak the content-park protocol — a version skew, not an outage. Retrying ` +
100
+ `will not change it. Use a relay running a build that carries content-park, or update this one.`,
101
+ };
102
+ case "limited_connection_refused":
103
+ return {
104
+ reason: "relay_limited_connection",
105
+ guidance: `Relay ${relayPeerId} allowed only a limited (relayed) connection and refused a content-park stream on it. CELLO's own paths ` +
106
+ `always permit limited connections, so this points at a defect on this side rather than at the relay; report it with the daemon log.`,
107
+ };
108
+ default:
109
+ return {
110
+ reason: `park_stream_failed:${reason}`,
111
+ guidance: `The content-park stream to relay ${relayPeerId} could not be opened (${reason}), and nothing was deposited. This daemon has no ` +
112
+ `specific remedy for that reason — the dial detail below is the evidence to report.`,
113
+ };
114
+ }
115
+ };
116
+ /** The IPC refusal for a content-park stream that could not be opened, with the dial evidence. */
117
+ const parkTransportRefusal = (err) => {
118
+ const fault = parkTransportFault(err.reason, err.relayPeerId);
119
+ const dials = err.dialFailures.length > 0
120
+ ? ` Dials tried: ${err.dialFailures.map((f) => `${f.addr} → ${f.error}`).join("; ")}.`
121
+ : ` No dial was refused, so the connection existed a moment ago or was never attempted.`;
122
+ return {
123
+ ok: false,
124
+ reason: fault.reason,
125
+ guidance: fault.guidance + dials,
126
+ // DoD 1: recoverable from the RESPONSE as well as the log — this caller has no daemon log.
127
+ dialFailures: err.dialFailures,
128
+ };
40
129
  };
41
130
  // MSG-001-3b (increment 3): RECOVER parked content. Pulls the recipient's parked entries,
42
131
  // decrypts each IN-DAEMON (openContentSeal — the relay never sees plaintext), and routes the
@@ -77,6 +166,16 @@ export function createContentPark(deps) {
77
166
  logger.warn("content.recover.refused", { agentName: recipientAgent.name, relayPeerId, reason: err.reason });
78
167
  return { ok: false, reason: `relay_refused_pull:${err.reason}` };
79
168
  }
169
+ /**
170
+ * Review MEDIUM-2 — the transport wrap reaches here too, and rethrowing it made
171
+ * `content_park_recover` answer `internal_error` / "An unexpected error occurred" for a relay
172
+ * that is simply down. `content_park_recover` is one of the three failures this order was
173
+ * written from, so this is the live path, not a hypothetical.
174
+ */
175
+ if (err instanceof ContentParkUnreachableError) {
176
+ const refusal = parkTransportRefusal(err);
177
+ return { ok: false, reason: refusal.reason, guidance: refusal.guidance };
178
+ }
80
179
  throw err;
81
180
  }
82
181
  let recovered = 0;
@@ -299,13 +398,32 @@ export function createContentPark(deps) {
299
398
  screenDeferred = true;
300
399
  }
301
400
  else if (terminalBlock) {
302
- // TERMINAL: the detector rejected the CONTENT itself, so identical bytes would be
303
- // rejected identically forever keeping it would restore the very re-pull loop this
304
- // unit removes. Drop it from the relay and do NOT store it. Logged at warn with the
305
- // hash, so the operator can see something was discarded and what it was.
401
+ /**
402
+ * TERMINAL: the detector rejected the CONTENT itself, so identical bytes would be
403
+ * rejected identically forever — leaving it on the relay would restore the re-pull
404
+ * loop this drain exists to end. It is still dropped from the relay and still never
405
+ * annexed (the annex is a READABLE record of the conversation, and this was never part
406
+ * of it).
407
+ *
408
+ * ⚠️ **BUT IT IS NO LONGER DISCARDED — review F6.** This comment used to end *"and do
409
+ * NOT store it"*, and that was the last route in the tree that threw a refused message
410
+ * away. `DOD-M15-REFUSEDEVIDENCE-1` retains every other one, and shipped guidance now
411
+ * tells operators that refused messages are kept — so this branch falsified a promise
412
+ * on the case with the most evidence value in the product: hostile bytes aimed at a
413
+ * conversation that has already been sealed.
414
+ *
415
+ * Quarantined, not annexed. The two are different answers to different questions: the
416
+ * annex is what arrived late and is readable, quarantine is what was refused and is
417
+ * withheld. Bounded by the same tier cap and deduped by content, so the loop stays
418
+ * closed.
419
+ */
420
+ const kept = sessionNodeManager.quarantineRefusedInbound(recipientAgent.name, e.sessionIdHex, verdict.reason ?? "inbound_screen_blocked", env.content, e.contentHashHex, env.senderPubkey ? Buffer.from(env.senderPubkey).toString("hex") : null, correlationId);
306
421
  logger.warn("content.recover.annex.screened_out", {
307
422
  sessionId: e.sessionIdHex, contentHash: e.contentHashHex, agentName: recipientAgent.name,
308
- impact: "content was terminally blocked by the inbound screen — discarded, NOT annexed",
423
+ retained: kept !== null,
424
+ impact: kept !== null
425
+ ? "content was terminally blocked by the inbound screen — NOT annexed, and RETAINED as quarantined evidence"
426
+ : "content was terminally blocked by the inbound screen and could NOT be retained — see session.content.quarantine.skipped or .failed",
309
427
  correlationId,
310
428
  });
311
429
  screenedOut = true;
@@ -518,7 +636,7 @@ export function createContentPark(deps) {
518
636
  * `ciphertext` (the raw path) is kept for the one caller that wants byte fidelity through the
519
637
  * relay rather than envelope semantics.
520
638
  */
521
- handlers.set("content_park_deposit", async (params, _connectionId) => {
639
+ const runDeposit = async (params, _connectionId) => {
522
640
  /**
523
641
  * `Buffer.from(x, "hex")` TRUNCATES at the first invalid pair instead of throwing — the trap
524
642
  * `park-envelope.ts` already documents. Unvalidated, a typo'd `content` is signed and sealed at
@@ -571,8 +689,54 @@ export function createContentPark(deps) {
571
689
  contentHashAlg = rawAlg;
572
690
  }
573
691
  const node = sessionNodeManager.getStandingReceiverNode();
574
- if (!node)
575
- return { ok: false, reason: "standing_receiver_unavailable", guidance: "The daemon's standing receiver is not ready yet; retry after startup." };
692
+ if (!node) {
693
+ /**
694
+ * DOD-M15-PARKCONN-1 — **NAME THE CAUSE, NOT THE EXIT POINT** (Invariant 3).
695
+ *
696
+ * `standing_receiver_unavailable` is the label that already misnamed this incident 102
697
+ * times, which is why `standingReceiverAbsenceReason()` exists — and `recoverParkedFromRelay`
698
+ * has used it since M12-P12 while this handler kept returning the bare label. The four causes
699
+ * demand opposite responses: `standing_receiver_creating` clears in seconds and a retry
700
+ * works; `agent_offline` never clears until the agent is started; `daemon_shutting_down`
701
+ * means stop.
702
+ *
703
+ * The wire reason is unchanged — a caller matching on it keeps working — and the cause rides
704
+ * alongside, which is the same shape the send path settled on.
705
+ */
706
+ /**
707
+ * ⚠️ THE GUESS USES THE SIGNABLE LIST, review MEDIUM-4 — the same filter the signing branch
708
+ * below applies, and for the same reason it documents: a `load_failed` agent holds no key
709
+ * provider, so counting it makes a daemon with ONE healthy agent say it cannot tell which.
710
+ *
711
+ * And a name that matches no agent is not an offline agent, review LOW-6:
712
+ * `standingReceiverAbsenceReason("typo")` returns `agent_offline` because the name is simply
713
+ * absent from the wanting-a-receiver set, so the operator was told to start an agent that
714
+ * does not exist — a real verb pointed at nothing.
715
+ */
716
+ const signableAgents = agents.filter((a) => a.state !== "load_failed");
717
+ const namedAgent = senderAgentName
718
+ ? (signableAgents.some((a) => a.name === senderAgentName) ? senderAgentName : undefined)
719
+ : (signableAgents.length === 1 ? signableAgents[0].name : undefined);
720
+ const cause = namedAgent
721
+ ? sessionNodeManager.standingReceiverAbsenceReason(namedAgent)
722
+ : senderAgentName
723
+ ? "sender_agent_not_found"
724
+ // Review LOW-5: zero is not "more than one". An agentless daemon was being told it had
725
+ // several and could not say which.
726
+ : signableAgents.length === 0
727
+ ? "no_loadable_agent"
728
+ : "unknown_agent";
729
+ const guidanceByCause = {
730
+ standing_receiver_creating: "The standing receiver is still being built; retry this deposit in a few seconds.",
731
+ agent_offline: `Agent '${namedAgent}' is not online, so this daemon has no node to deposit from. Start it with cello_start_agent.`,
732
+ no_standing_receiver: "No agent on this daemon has a standing receiver; start an agent with cello_start_agent first.",
733
+ daemon_shutting_down: "The daemon is shutting down — nothing was deposited, and retrying will not help until it is back up.",
734
+ unknown_agent: `This daemon has no standing receiver and ${agents.filter((a) => a.state !== "load_failed").length} signable agents, so it cannot say which one is missing it; pass senderAgentName, or start an agent with cello_start_agent.`,
735
+ sender_agent_not_found: `This daemon has no loadable agent named '${senderAgentName}', so there is nothing to check a standing receiver for. Check the name — cello_agents lists what this daemon holds.`,
736
+ no_loadable_agent: "This daemon has no loadable agent at all, so it can never have a standing receiver. Create and register one, then start it with cello_start_agent.",
737
+ };
738
+ return { ok: false, reason: "standing_receiver_unavailable", cause, guidance: guidanceByCause[cause] ?? "The daemon's standing receiver is not ready yet; retry after startup." };
739
+ }
576
740
  let payload;
577
741
  if (hasContent) {
578
742
  const content = hexOrNull(params?.content);
@@ -638,13 +802,71 @@ export function createContentPark(deps) {
638
802
  }
639
803
  payload = Buffer.from(ciphertext, "hex");
640
804
  }
641
- const client = new ContentParkClient({ relayPeerId: relay.peerId, relayAddrs: [relay.addr], logger });
642
- return await client.deposit(node, {
643
- recipientPubkey: Buffer.from(recipientPubkey, "hex"),
644
- contentHash: Buffer.from(contentHash, "hex"),
645
- sessionId: Buffer.from(sessionId, "hex"),
646
- ciphertext: payload,
647
- });
805
+ /**
806
+ * DOD-M15-PARKCONN-1 — **THE ODD HANDLER OUT NOW REFUSES LIKE ITS SIBLINGS, AND SAYS SO ONCE.**
807
+ *
808
+ * Every other exit above returns `{ ok: false, reason, guidance }`; this one ended in a bare
809
+ * `return await client.deposit(...)` with no catch and no log. An unreachable relay — the
810
+ * ordinary condition park exists for — therefore left the daemon as a THROW, which IPC shapes
811
+ * into `internal_error` + "An unexpected error occurred. Check daemon logs for details." The
812
+ * daemon logs held nothing either: this handler logged NOTHING AT ALL, which is why
813
+ * `019-PARKERROR` went looking for a deposit line and found none.
814
+ *
815
+ * Only `ContentParkUnreachableError` is converted. Anything else still throws, because a
816
+ * blanket catch here would turn a genuine defect into a tidy refusal — the failure this
817
+ * milestone is named for.
818
+ */
819
+ const client = newParkClient({ relayPeerId: relay.peerId, relayAddrs: [relay.addr], logger });
820
+ try {
821
+ return await client.deposit(node, {
822
+ recipientPubkey: Buffer.from(recipientPubkey, "hex"),
823
+ contentHash: Buffer.from(contentHash, "hex"),
824
+ sessionId: Buffer.from(sessionId, "hex"),
825
+ ciphertext: payload,
826
+ });
827
+ }
828
+ catch (err) {
829
+ // Only the transport wrap is converted. A blanket catch here would turn a genuine defect
830
+ // into a tidy refusal — the failure this milestone is named for.
831
+ if (!(err instanceof ContentParkUnreachableError))
832
+ throw err;
833
+ return parkTransportRefusal(err);
834
+ }
835
+ };
836
+ /**
837
+ * ⚠️ **THE RESULT LOG WRAPS THE WHOLE HANDLER, review MEDIUM-3.**
838
+ *
839
+ * It used to sit beside the two exits that reach the relay, so eleven refusals — every bad
840
+ * argument, `agent_not_found`, `session_not_found`, `session_recipient_mismatch` — still
841
+ * returned in total silence. That is the same hole `019-PARKERROR` fell into in this very
842
+ * handler, for a different reason: an operator greps for a deposit line and finds nothing.
843
+ *
844
+ * Wrapping rather than sprinkling is deliberate. A call per exit drifts the moment someone adds
845
+ * a fourteenth; a wrapper cannot miss one.
846
+ */
847
+ handlers.set("content_park_deposit", async (params, connectionId) => {
848
+ const res = (await runDeposit(params, connectionId));
849
+ const line = {
850
+ // Read off the CALLER's params: a refusal can fire before either is parsed, and a log line
851
+ // that omits which deposit it is about cannot be correlated with anything.
852
+ relayMultiaddr: typeof params?.["relayMultiaddr"] === "string" ? params["relayMultiaddr"] : undefined,
853
+ sessionId: typeof params?.["sessionId"] === "string" ? params["sessionId"] : undefined,
854
+ contentHash: typeof params?.["contentHash"] === "string" ? params["contentHash"] : undefined,
855
+ ok: res.ok === true,
856
+ ...(res.reason !== undefined ? { reason: res.reason } : {}),
857
+ ...(res.cause !== undefined ? { cause: res.cause } : {}),
858
+ // Review LOW-8: the relay's own "when" already rides on the response; dropping it from the
859
+ // log leaves an aggregated log unable to say when a throttled deposit clears.
860
+ ...(res.retryAfterMs !== undefined ? { retryAfterMs: res.retryAfterMs } : {}),
861
+ };
862
+ // NOT `content.park.deposit.result` — the ContentParkClient already emits that name one layer
863
+ // down, and two events from different layers under one name make an aggregated log unreadable
864
+ // (the same review finding as `content.park.pull.refused_by_relay`).
865
+ if (line.ok)
866
+ logger.info("content.park.deposit.ipc.result", line);
867
+ else
868
+ logger.warn("content.park.deposit.ipc.result", line);
869
+ return res;
648
870
  });
649
871
  handlers.set("content_park_pull", async (params, _connectionId) => {
650
872
  const relay = parseRelayPeer(params?.relayMultiaddr);
@@ -662,12 +884,22 @@ export function createContentPark(deps) {
662
884
  const node = sessionNodeManager.getStandingReceiverNode();
663
885
  if (!node)
664
886
  return { ok: false, reason: "standing_receiver_unavailable", guidance: "The daemon's standing receiver is not ready yet; retry after startup." };
665
- const client = new ContentParkClient({ relayPeerId: relay.peerId, relayAddrs: [relay.addr], logger });
887
+ // Review LOW-9: the seam, like every other client in this file. This handler was still
888
+ // constructing directly, which is why its `#open` failure path had no unit coverage.
889
+ const client = newParkClient({ relayPeerId: relay.peerId, relayAddrs: [relay.addr], logger });
666
890
  let entries;
667
891
  try {
668
892
  entries = await client.pull(node, Buffer.from(recipientPubkey, "hex"), kp);
669
893
  }
670
894
  catch (err) {
895
+ /**
896
+ * Review MEDIUM-2 — `#open` is shared, so this handler now receives the same transport wrap
897
+ * the deposit handler does. Rethrowing it turned an unreachable relay into
898
+ * `internal_error` + "An unexpected error occurred" — the exact response this unit exists to
899
+ * abolish, one handler over, on a path the order's own evidence names.
900
+ */
901
+ if (err instanceof ContentParkUnreachableError)
902
+ return parkTransportRefusal(err);
671
903
  // DOD-M15-RELAYAUTH-1 review HIGH-3: a refusal must not be reported as an empty list.
672
904
  if (err instanceof ContentParkRefusedError) {
673
905
  return {
@@ -711,7 +943,17 @@ export function createContentPark(deps) {
711
943
  // where it helps the operator without breaking a consumer that branches on the reason.
712
944
  const noReceiver = new Set(["standing_receiver_creating", "agent_offline", "no_standing_receiver", "daemon_shutting_down"]);
713
945
  const wireReason = noReceiver.has(res.reason) ? "standing_receiver_unavailable" : res.reason;
714
- return { ok: false, reason: wireReason, guidance: guidanceByReason[res.reason] ?? "Recover failed." };
946
+ /**
947
+ * Review MEDIUM-2 — a guidance the drain already computed WINS, and the bare "Recover
948
+ * failed." is the last resort rather than the answer for everything the table misses. That
949
+ * default is not an affordance: it names no next step, which is what Invariant 4 forbids on
950
+ * exactly this kind of response.
951
+ */
952
+ return {
953
+ ok: false,
954
+ reason: wireReason,
955
+ guidance: res.guidance ?? guidanceByReason[res.reason] ?? `Recover failed (${res.reason}) and this daemon has no specific remedy for that reason. The daemon log holds the detail — report it with the reason above.`,
956
+ };
715
957
  }
716
958
  /**
717
959
  * `refusals` REACHES THE CALLER — review B2a pass-2 F3, "no consumer, no ship".
@@ -1 +1 @@
1
- {"version":3,"file":"content-park.js","sourceRoot":"","sources":["../src/content-park.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content-park.js","sourceRoot":"","sources":["../src/content-park.ts"],"names":[],"mappings":"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"}
package/dist/daemon.js CHANGED
@@ -4803,8 +4803,26 @@ async function startDaemonHoldingLock(config, singletonLock) {
4803
4803
  */
4804
4804
  const store = {};
4805
4805
  const result = await fallbackNoticeStore.run(store, () => handler(params, connectionId));
4806
+ /**
4807
+ * ⚠️ **THE NOTICE GOES FIRST, AND THAT ORDERING IS A SECURITY PROPERTY — review F2.**
4808
+ *
4809
+ * It used to be spread LAST, which reads as harmless because these keys are additive. It is
4810
+ * not: `cello_get_quarantined` returns a REFUSED MESSAGE as its final key, and the framing
4811
+ * that makes hostile content safe to read has NO CLOSING DELIMITER — the reader's one
4812
+ * structural guarantee is that nothing follows the payload. Three keys of genuine
4813
+ * CELLO-authored prose landing after it is exactly the shape a forged ending imitates, and
4814
+ * once a reader has seen real framing follow the payload, a forged one is credible.
4815
+ *
4816
+ * Not a corner case: `withIpc` in the CLI never sends `ipc.connect`, so a single-agent
4817
+ * daemon takes the sole-online fallback on EVERY plain `cello quarantined` invocation.
4818
+ *
4819
+ * Spreading first is safe in general and needs no per-handler knowledge: these keys cannot
4820
+ * collide with a handler's own (a collision would mean a handler already answered the
4821
+ * question the notice exists to answer), and every response then keeps its own key order at
4822
+ * the tail — which is where a payload-terminal key has to stay.
4823
+ */
4806
4824
  const annotated = store.notice && result !== null && typeof result === "object" && !Array.isArray(result)
4807
- ? { ...result, ...store.notice }
4825
+ ? { ...store.notice, ...result }
4808
4826
  : result;
4809
4827
  // Default to "cli": a connection that never sent ipc.connect has no recorded surface, and
4810
4828
  // the CLI verb is the safe answer — it is at least a real command an operator can run,