@cello-protocol/daemon 0.0.182 → 0.0.183
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-settings-keys.d.ts.map +1 -1
- package/dist/agent-settings-keys.js +18 -0
- package/dist/agent-settings-keys.js.map +1 -1
- package/dist/consortium-bootstrap.d.ts.map +1 -1
- package/dist/consortium-bootstrap.js +117 -2
- package/dist/consortium-bootstrap.js.map +1 -1
- package/dist/content-encryption-status.d.ts +97 -0
- package/dist/content-encryption-status.d.ts.map +1 -0
- package/dist/content-encryption-status.js +122 -0
- package/dist/content-encryption-status.js.map +1 -0
- package/dist/content-park-client.d.ts +10 -0
- package/dist/content-park-client.d.ts.map +1 -1
- package/dist/content-park-client.js +84 -3
- package/dist/content-park-client.js.map +1 -1
- package/dist/content-park.d.ts.map +1 -1
- package/dist/content-park.js +184 -13
- package/dist/content-park.js.map +1 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +306 -23
- package/dist/daemon.js.map +1 -1
- package/dist/document-handlers.d.ts.map +1 -1
- package/dist/document-handlers.js +119 -0
- package/dist/document-handlers.js.map +1 -1
- package/dist/document-layer.d.ts +0 -2
- package/dist/document-layer.d.ts.map +1 -1
- package/dist/document-layer.js.map +1 -1
- package/dist/initiate-session-handler.d.ts.map +1 -1
- package/dist/initiate-session-handler.js +34 -3
- package/dist/initiate-session-handler.js.map +1 -1
- package/dist/manifest-deps.d.ts +0 -11
- package/dist/manifest-deps.d.ts.map +1 -1
- package/dist/manifest-deps.js +28 -2
- package/dist/manifest-deps.js.map +1 -1
- package/dist/manifest-validity.d.ts +2 -0
- package/dist/manifest-validity.d.ts.map +1 -1
- package/dist/manifest-validity.js +1 -1
- package/dist/manifest-validity.js.map +1 -1
- package/dist/outbound-sessions.d.ts.map +1 -1
- package/dist/outbound-sessions.js +19 -0
- package/dist/outbound-sessions.js.map +1 -1
- package/dist/park-envelope.d.ts +23 -0
- package/dist/park-envelope.d.ts.map +1 -1
- package/dist/park-envelope.js +76 -0
- package/dist/park-envelope.js.map +1 -1
- package/dist/register-handler.d.ts.map +1 -1
- package/dist/register-handler.js +76 -0
- package/dist/register-handler.js.map +1 -1
- package/dist/relay-only.d.ts +133 -0
- package/dist/relay-only.d.ts.map +1 -0
- package/dist/relay-only.js +183 -0
- package/dist/relay-only.js.map +1 -0
- package/dist/retry-queue.d.ts +26 -1
- package/dist/retry-queue.d.ts.map +1 -1
- package/dist/retry-queue.js +18 -1
- package/dist/retry-queue.js.map +1 -1
- package/dist/session-ceremony.d.ts +6 -0
- package/dist/session-ceremony.d.ts.map +1 -1
- package/dist/session-ceremony.js +26 -0
- package/dist/session-ceremony.js.map +1 -1
- package/dist/session-content-handlers.d.ts +12 -0
- package/dist/session-content-handlers.d.ts.map +1 -1
- package/dist/session-content-handlers.js +39 -4
- package/dist/session-content-handlers.js.map +1 -1
- package/dist/session-node-manager.d.ts +247 -4
- package/dist/session-node-manager.d.ts.map +1 -1
- package/dist/session-node-manager.js +3088 -304
- package/dist/session-node-manager.js.map +1 -1
- package/dist/session-read-handlers.d.ts.map +1 -1
- package/dist/session-read-handlers.js +16 -1
- package/dist/session-read-handlers.js.map +1 -1
- package/dist/session-relay-client.d.ts +116 -0
- package/dist/session-relay-client.d.ts.map +1 -1
- package/dist/session-relay-client.js +395 -6
- package/dist/session-relay-client.js.map +1 -1
- package/dist/session-salt-agreement.d.ts +58 -4
- package/dist/session-salt-agreement.d.ts.map +1 -1
- package/dist/session-salt-agreement.js +110 -3
- package/dist/session-salt-agreement.js.map +1 -1
- package/dist/signaling-connect.d.ts +18 -1
- package/dist/signaling-connect.d.ts.map +1 -1
- package/dist/signaling-connect.js +164 -1
- package/dist/signaling-connect.js.map +1 -1
- package/dist/types.d.ts +21 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/wire-content-hash.d.ts +15 -3
- package/dist/wire-content-hash.d.ts.map +1 -1
- package/dist/wire-content-hash.js +15 -3
- package/dist/wire-content-hash.js.map +1 -1
- package/package.json +5 -5
|
@@ -43,6 +43,19 @@ function asBytes(v) {
|
|
|
43
43
|
return new Uint8Array(v);
|
|
44
44
|
return null;
|
|
45
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* DOD-M15-RELAYAUTH-1 review HIGH-3: the relay REFUSED to release parked content, as distinct from
|
|
48
|
+
* having none. Thrown rather than returned so it cannot be mistaken for an empty result — the whole
|
|
49
|
+
* defect was a refusal flattening into `[]`, which reads to an operator as "nothing was waiting".
|
|
50
|
+
*/
|
|
51
|
+
export class ContentParkRefusedError extends Error {
|
|
52
|
+
reason;
|
|
53
|
+
constructor(reason) {
|
|
54
|
+
super(`the relay refused to release parked content: ${reason}`);
|
|
55
|
+
this.name = "ContentParkRefusedError";
|
|
56
|
+
this.reason = reason;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
46
59
|
export class ContentParkClient {
|
|
47
60
|
#relayPeerId;
|
|
48
61
|
#relayAddrs;
|
|
@@ -73,12 +86,27 @@ export class ContentParkClient {
|
|
|
73
86
|
return { ok: false, reason: "no_deposit_ack" };
|
|
74
87
|
}
|
|
75
88
|
const ok = ack["ok"] === true;
|
|
89
|
+
/**
|
|
90
|
+
* DOD-M15-RELAYABUSE-1 — **CARRY THE RELAY'S OWN ANSWER TO "WHEN?".**
|
|
91
|
+
*
|
|
92
|
+
* The relay computes exactly when a throttle clears and now puts `retry_after_ms` on the ack.
|
|
93
|
+
* Dropping it here would make it a value with no reader — the defect this milestone keeps
|
|
94
|
+
* finding — and it is the one number that decides whether a queued message waits sixty seconds
|
|
95
|
+
* or waits for an unrelated reconnect that may be minutes away.
|
|
96
|
+
*/
|
|
97
|
+
const rawRetry = ack["retry_after_ms"];
|
|
98
|
+
const retryAfterMs = typeof rawRetry === "number" && Number.isFinite(rawRetry) && rawRetry > 0 ? rawRetry : undefined;
|
|
76
99
|
this.#logger.info("content.park.deposit.result", {
|
|
77
100
|
relayPeerId: this.#relayPeerId,
|
|
78
101
|
ok,
|
|
79
102
|
reason: typeof ack["reason"] === "string" ? ack["reason"] : undefined,
|
|
103
|
+
...(retryAfterMs !== undefined ? { retryAfterMs } : {}),
|
|
80
104
|
});
|
|
81
|
-
return {
|
|
105
|
+
return {
|
|
106
|
+
ok,
|
|
107
|
+
reason: typeof ack["reason"] === "string" ? ack["reason"] : undefined,
|
|
108
|
+
...(retryAfterMs !== undefined ? { retryAfterMs } : {}),
|
|
109
|
+
};
|
|
82
110
|
}
|
|
83
111
|
finally {
|
|
84
112
|
await stream.close().catch(() => { });
|
|
@@ -107,6 +135,34 @@ export class ContentParkClient {
|
|
|
107
135
|
stream.send(lp.encode.single(encodeCbor({ type: "content_park_auth_response", signature })));
|
|
108
136
|
// Count header, then N responses.
|
|
109
137
|
const countFrame = await this.#read(iter);
|
|
138
|
+
/**
|
|
139
|
+
* DOD-M15-RELAYAUTH-1 review HIGH-3 — **A REFUSAL MUST NOT READ AS AN EMPTY MAILBOX.**
|
|
140
|
+
*
|
|
141
|
+
* The relay refuses a pull from a key it has never seen named by a directory-signed
|
|
142
|
+
* assignment, and it names the cause: `content_park_pull_refused { reason }`. Without this
|
|
143
|
+
* branch that frame simply is not `content_park_pull_count`, so the operator was told
|
|
144
|
+
* `no_pull_count` — a wire-shape complaint about the RIGHT answer — and the caller got `[]`,
|
|
145
|
+
* which the recover flow reports as `pulled: 0`: *nothing was waiting for you*. The relay was
|
|
146
|
+
* honest and the client threw the reason away one layer up.
|
|
147
|
+
*
|
|
148
|
+
* This is reachable on the ordinary path, not just under attack: the relay's vouched set is
|
|
149
|
+
* in-process, so every relay restart empties it, and a client does not re-present its
|
|
150
|
+
* assignment on reconnect.
|
|
151
|
+
*/
|
|
152
|
+
if (countFrame && countFrame["type"] === "content_park_pull_refused") {
|
|
153
|
+
const reason = typeof countFrame["reason"] === "string" ? countFrame["reason"] : "refused";
|
|
154
|
+
// Review L2: named `..._by_relay`, not `content.park.pull.refused` — that name is already
|
|
155
|
+
// emitted by the relay itself, and an operator grepping one aggregated log for it would get
|
|
156
|
+
// two events from opposite sides of a trust boundary under a single name.
|
|
157
|
+
this.#logger.warn("content.park.pull.refused_by_relay", {
|
|
158
|
+
relayPeerId: this.#relayPeerId,
|
|
159
|
+
reason,
|
|
160
|
+
impact: "this relay refused to release parked content for this key — it is NOT an empty mailbox. " +
|
|
161
|
+
"Content may still be waiting. If the reason is not_a_participant the relay has no record " +
|
|
162
|
+
"of a session naming this agent (it restarts empty), and a new session on this relay re-vouches it.",
|
|
163
|
+
});
|
|
164
|
+
throw new ContentParkRefusedError(reason);
|
|
165
|
+
}
|
|
110
166
|
if (!countFrame || countFrame["type"] !== "content_park_pull_count") {
|
|
111
167
|
this.#logger.warn("content.park.pull.failed", { relayPeerId: this.#relayPeerId, reason: "no_pull_count" });
|
|
112
168
|
return [];
|
|
@@ -161,8 +217,33 @@ export class ContentParkClient {
|
|
|
161
217
|
stream.send(lp.encode.single(encodeCbor({ type: "content_park_auth_response", signature })));
|
|
162
218
|
const ack = await this.#read(iter);
|
|
163
219
|
const ok = !!ack && ack["type"] === "content_park_confirm_ack" && ack["ok"] === true;
|
|
164
|
-
if (!ok)
|
|
165
|
-
|
|
220
|
+
if (!ok) {
|
|
221
|
+
/**
|
|
222
|
+
* Review M3 — the same error substitution HIGH-3 fixed on the pull path, left standing one
|
|
223
|
+
* function above in this same file.
|
|
224
|
+
*
|
|
225
|
+
* A refused confirm is not a missing ack. The relay answers with a perfectly well-formed
|
|
226
|
+
* `content_park_confirm_ack { ok: false, reason }`, and reporting `no_confirm_ack` is a
|
|
227
|
+
* complaint about the wire shape of the RIGHT answer — it sends the operator to look at the
|
|
228
|
+
* transport when the relay has already said exactly what is wrong.
|
|
229
|
+
*
|
|
230
|
+
* What it costs: confirm is delete-on-pickup. If it is refused, the entry is never deleted,
|
|
231
|
+
* so the recipient is re-notified about a message it has already read, every time it
|
|
232
|
+
* reconnects, forever — while the log blames the connection.
|
|
233
|
+
*/
|
|
234
|
+
const reason = typeof ack?.["reason"] === "string"
|
|
235
|
+
? ack["reason"]
|
|
236
|
+
: ack
|
|
237
|
+
? "unexpected_frame"
|
|
238
|
+
: "no_confirm_ack";
|
|
239
|
+
this.#logger.warn("content.park.confirm.failed", {
|
|
240
|
+
relayPeerId: this.#relayPeerId,
|
|
241
|
+
reason,
|
|
242
|
+
impact: "pickup was not confirmed, so the relay keeps the entry and will keep announcing it as " +
|
|
243
|
+
"unread on every reconnect. If the reason is not_a_participant this relay has no record " +
|
|
244
|
+
"of a session naming this agent; a new session on it re-vouches the key.",
|
|
245
|
+
});
|
|
246
|
+
}
|
|
166
247
|
return ok;
|
|
167
248
|
}
|
|
168
249
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-park-client.js","sourceRoot":"","sources":["../src/content-park-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAI5D,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAGnG,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAE/B,SAAS,IAAI,CAAC,KAAc;IAC1B,IAAI,KAAK,YAAY,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,CAAC,GAAG,KAAwC,CAAC;IACnD,IAAI,OAAO,CAAC,EAAE,QAAQ,KAAK,UAAU;QAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC3D,OAAO,IAAI,UAAU,CAAC,KAAwB,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,OAAO,CAAC,CAAU;IACzB,IAAI,CAAC,YAAY,UAAU;QAAE,OAAO,CAAC,CAAC;IACtC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,UAAU,CAAC,CAAW,CAAC,CAAC;IAC5F,OAAO,IAAI,CAAC;AACd,CAAC;AAiBD,MAAM,OAAO,iBAAiB;IACnB,YAAY,CAAS;IACrB,WAAW,CAAW;IACtB,OAAO,CAAS;IAEzB,YAAY,IAA8B;QACxC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CACX,IAAe,EACf,IAA6G;QAE7G,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAChC,MAAM,CAAC,IAAI,CACT,EAAE,CAAC,MAAM,CAAC,MAAM,CACd,UAAU,CAAC;gBACT,IAAI,EAAE,sBAAsB;gBAC5B,gBAAgB,EAAE,IAAI,CAAC,eAAe;gBACtC,YAAY,EAAE,IAAI,CAAC,WAAW;gBAC9B,UAAU,EAAE,IAAI,CAAC,SAAS;gBAC1B,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAe,CACjB,CACF,CAAC;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,0BAA0B,EAAE,CAAC;gBACvD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;YACjD,CAAC;YACD,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE;gBAC/C,WAAW,EAAE,IAAI,CAAC,YAAY;gBAC9B,EAAE;gBACF,MAAM,EAAE,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"content-park-client.js","sourceRoot":"","sources":["../src/content-park-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-park.d.ts","sourceRoot":"","sources":["../src/content-park.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"content-park.d.ts","sourceRoot":"","sources":["../src/content-park.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAA2B,MAAM,0BAA0B,CAAC;AAKtF,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;IAC/D;;;;;OAKG;IACH,eAAe,EAAE,qBAAqB,CAAC;IACvC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,iBAAiB,CAAC;CACpH;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe;qCAgZP,MAAM,uBAA4B,OAAO,CAAC,IAAI,CAAC;iCAkEzD,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,KAAG,IAAI;6CAvbhD;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,eACpC,MAAM,cACP,MAAM,EAAE,KACnB,OAAO,CACN;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAC;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,GAC7I;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAChC;EAsqBF"}
|
package/dist/content-park.js
CHANGED
|
@@ -20,10 +20,10 @@
|
|
|
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 } from "./content-park-client.js";
|
|
23
|
+
import { ContentParkClient, ContentParkRefusedError } from "./content-park-client.js";
|
|
24
24
|
import { extractErrorMessage } from "./session-relay-client.js";
|
|
25
|
-
import { decodeParkEnvelope } from "./park-envelope.js";
|
|
26
|
-
import { contentHashFor, resolveContentHashAlg, CONTENT_HASH_ALGS } from "./wire-content-hash.js";
|
|
25
|
+
import { decodeParkEnvelope, sealParkEnvelope } from "./park-envelope.js";
|
|
26
|
+
import { contentHashFor, resolveContentHashAlg, isKnownContentHashAlg, CONTENT_HASH_ALGS } from "./wire-content-hash.js";
|
|
27
27
|
export function createContentPark(deps) {
|
|
28
28
|
const { logger, sessionNodeManager, agents, getKeyProvider, securityGateway } = deps;
|
|
29
29
|
const newParkClient = deps.makeContentParkClient ?? ((o) => new ContentParkClient(o));
|
|
@@ -61,7 +61,24 @@ export function createContentPark(deps) {
|
|
|
61
61
|
return { ok: false, reason: sessionNodeManager.standingReceiverAbsenceReason(recipientAgent.name) };
|
|
62
62
|
const recipientPubkey = recipientAgent.pubkey ?? "";
|
|
63
63
|
const client = newParkClient({ relayPeerId, relayAddrs, logger });
|
|
64
|
-
|
|
64
|
+
let entries;
|
|
65
|
+
try {
|
|
66
|
+
entries = await client.pull(node, Buffer.from(recipientPubkey, "hex"), kp);
|
|
67
|
+
}
|
|
68
|
+
catch (err) {
|
|
69
|
+
/**
|
|
70
|
+
* DOD-M15-RELAYAUTH-1 review HIGH-3 — a REFUSAL is not an empty mailbox, and the distinction
|
|
71
|
+
* is the whole point of this branch. Falling through with `[]` would report
|
|
72
|
+
* `{ok:true, pulled:0, recovered:0}` — "nothing was waiting for you" — for a relay that
|
|
73
|
+
* explicitly said it would not release this agent's content. Same defect shape as the
|
|
74
|
+
* refused-entry comment directly below, one layer further out.
|
|
75
|
+
*/
|
|
76
|
+
if (err instanceof ContentParkRefusedError) {
|
|
77
|
+
logger.warn("content.recover.refused", { agentName: recipientAgent.name, relayPeerId, reason: err.reason });
|
|
78
|
+
return { ok: false, reason: `relay_refused_pull:${err.reason}` };
|
|
79
|
+
}
|
|
80
|
+
throw err;
|
|
81
|
+
}
|
|
65
82
|
let recovered = 0;
|
|
66
83
|
// SEC-1 / review M2: a REFUSED entry must not vanish behind `ok:true`. Report it — an operator
|
|
67
84
|
// seeing {ok:true, pulled:3, recovered:0} would otherwise have three messages evaporate with the
|
|
@@ -246,7 +263,10 @@ export function createContentPark(deps) {
|
|
|
246
263
|
// Lifted from the direct path's equivalent, because the operator needs the same
|
|
247
264
|
// answer wherever the message arrived. Deliberately does NOT promise delivery:
|
|
248
265
|
// without the salt this entry cannot be verified on any future drain either.
|
|
249
|
-
|
|
266
|
+
// DOD-M15-SALTSPLIT-1 review MEDIUM-3: "never completed" is now one of TWO ways to
|
|
267
|
+
// hold no salt. The discard undoes an agreement that DID complete, so an operator
|
|
268
|
+
// reading the old sentence would look for a failure that never happened.
|
|
269
|
+
? "This side holds no salt for the session, for one of two reasons. If session.salt.discarded is in the log, the agreement completed and this side then dropped its salt on purpose because the counterparty said it could never hold one. Otherwise the agreement never completed — look for session.salt.read.failed or session.salt.persist.failed. Either way their build is NOT the problem; do not ask them to upgrade. This message will keep being re-pulled and re-refused until the session is closed, so close it and start a new one."
|
|
250
270
|
: "Their CELLO build is newer than this one: ask which version they run, and upgrade. The message stays on the relay and is delivered once this daemon can read that algorithm.",
|
|
251
271
|
correlationId,
|
|
252
272
|
});
|
|
@@ -473,24 +493,157 @@ export function createContentPark(deps) {
|
|
|
473
493
|
}
|
|
474
494
|
/** Phase 2: register the IPC handlers, once the handler map exists. */
|
|
475
495
|
function registerHandlers(handlers) {
|
|
496
|
+
/**
|
|
497
|
+
* ⚠️ THIS HANDLER HAS NO PRODUCTION CALLER, AND THAT IS WHY IT DRIFTED.
|
|
498
|
+
*
|
|
499
|
+
* Production parks through `#parkContent` (`daemon.ts`), which seals a SIGNED envelope via
|
|
500
|
+
* `sealParkEnvelope`. This IPC handler is reached only from the spine tests, and it deposited
|
|
501
|
+
* whatever bytes it was handed — so the tests were parking a shape production stopped producing
|
|
502
|
+
* when SEC-1 landed. `authenticateParkedEntry` then refused every one of them with
|
|
503
|
+
* `unsigned_envelope`, which `park-envelope.ts` calls "the ATTACKER shape". Three j-content tests
|
|
504
|
+
* were asserting downstream security properties — tamper detection, dedup, the post-seal
|
|
505
|
+
* straggler guard — that the code never reached, because the entry was thrown out one step
|
|
506
|
+
* earlier for a reason none of them mentioned.
|
|
507
|
+
*
|
|
508
|
+
* So `content` (plaintext hex) now parks the PRODUCTION way: same `sealParkEnvelope`, the sole
|
|
509
|
+
* signer, no second copy of the encoder anywhere near a test.
|
|
510
|
+
*
|
|
511
|
+
* **`contentHash` stays a separate parameter on purpose — it is NOT derived from `content`.**
|
|
512
|
+
* The signature covers `(sessionId, recipient, contentHash)` and deliberately does not bind the
|
|
513
|
+
* content, so a sender CAN sign an entry whose claimed hash does not match what is inside. That
|
|
514
|
+
* is a real malicious-sender case, it is what the recover path's hash cross-check exists to
|
|
515
|
+
* catch, and a caller that wants to exercise it must be able to state the two independently.
|
|
516
|
+
* Deriving the hash here would make that case unreachable and quietly hollow the tamper test.
|
|
517
|
+
*
|
|
518
|
+
* `ciphertext` (the raw path) is kept for the one caller that wants byte fidelity through the
|
|
519
|
+
* relay rather than envelope semantics.
|
|
520
|
+
*/
|
|
476
521
|
handlers.set("content_park_deposit", async (params, _connectionId) => {
|
|
522
|
+
/**
|
|
523
|
+
* `Buffer.from(x, "hex")` TRUNCATES at the first invalid pair instead of throwing — the trap
|
|
524
|
+
* `park-envelope.ts` already documents. Unvalidated, a typo'd `content` is signed and sealed at
|
|
525
|
+
* its truncated length and surfaces at the far end as `content_hash_mismatch`: a TAMPER verdict
|
|
526
|
+
* on a local argument mistake. Review MEDIUM-4.
|
|
527
|
+
*/
|
|
528
|
+
const hexOrNull = (v) => typeof v === "string" && v.length % 2 === 0 && /^[0-9a-fA-F]*$/.test(v) ? v : null;
|
|
477
529
|
const relay = parseRelayPeer(params?.relayMultiaddr);
|
|
478
|
-
const recipientPubkey = params?.recipientPubkey;
|
|
479
|
-
const contentHash = params?.contentHash;
|
|
480
|
-
const sessionId = params?.sessionId;
|
|
481
|
-
const
|
|
482
|
-
|
|
483
|
-
|
|
530
|
+
const recipientPubkey = hexOrNull(params?.recipientPubkey);
|
|
531
|
+
const contentHash = hexOrNull(params?.contentHash);
|
|
532
|
+
const sessionId = hexOrNull(params?.sessionId);
|
|
533
|
+
const senderAgentName = params?.senderAgentName;
|
|
534
|
+
const hasCiphertext = params?.ciphertext !== undefined;
|
|
535
|
+
const hasContent = params?.content !== undefined;
|
|
536
|
+
if (!relay || !recipientPubkey || !contentHash || !sessionId) {
|
|
537
|
+
const bad = [
|
|
538
|
+
!relay ? "relayMultiaddr (needs /p2p/<peerId>)" : null,
|
|
539
|
+
recipientPubkey === null ? "recipientPubkey" : null,
|
|
540
|
+
contentHash === null ? "contentHash" : null,
|
|
541
|
+
sessionId === null ? "sessionId" : null,
|
|
542
|
+
].filter(Boolean);
|
|
543
|
+
return { ok: false, reason: "missing_params", guidance: `Missing or not even-length hex: ${bad.join(", ")}. Hex is validated here because Buffer.from truncates silently, and a truncated value is signed and refused at the far end as a content hash mismatch.` };
|
|
544
|
+
}
|
|
545
|
+
if (!hasCiphertext && !hasContent) {
|
|
546
|
+
return { ok: false, reason: "missing_params", guidance: "Provide either `content` (plaintext hex — sealed and SIGNED here, the production shape) or `ciphertext` (hex — deposited verbatim, no envelope)." };
|
|
547
|
+
}
|
|
548
|
+
if (hasCiphertext && hasContent) {
|
|
549
|
+
return { ok: false, reason: "conflicting_params", guidance: "Provide `content` OR `ciphertext`, not both — they are two different deposit shapes and honouring one would silently discard the other." };
|
|
550
|
+
}
|
|
551
|
+
/**
|
|
552
|
+
* ⚠️ PARSED BEFORE THE BRANCH, and refused on the raw branch rather than dropped — review
|
|
553
|
+
* HIGH-2, and it was the same defect this parameter exists to prevent, reintroduced one branch
|
|
554
|
+
* over. It used to be read INSIDE the `content` branch, so `ciphertext` + `contentHashAlg`
|
|
555
|
+
* discarded the algorithm in silence: the far end then resolves the absent field to `sha256`,
|
|
556
|
+
* recomputes unsalted, and reports `content_hash_mismatch` — a tamper verdict on an honest
|
|
557
|
+
* message, with nothing on the sender side logging anything at all.
|
|
558
|
+
*
|
|
559
|
+
* A raw deposit has nowhere to PUT the name (there is no envelope), so naming one is a
|
|
560
|
+
* contradiction, not a preference. Refuse it.
|
|
561
|
+
*/
|
|
562
|
+
let contentHashAlg;
|
|
563
|
+
const rawAlg = params?.contentHashAlg;
|
|
564
|
+
if (rawAlg !== undefined && rawAlg !== null) {
|
|
565
|
+
if (typeof rawAlg !== "string" || !isKnownContentHashAlg(rawAlg)) {
|
|
566
|
+
return { ok: false, reason: "unknown_content_hash_alg", guidance: `This daemon cannot compute "${typeof rawAlg === "string" ? rawAlg : `(${typeof rawAlg})`}". Known algorithms: ${Object.values(CONTENT_HASH_ALGS).join(", ")}. Omit the field to mean ${CONTENT_HASH_ALGS.SHA256}.` };
|
|
567
|
+
}
|
|
568
|
+
if (hasCiphertext) {
|
|
569
|
+
return { ok: false, reason: "conflicting_params", guidance: "`contentHashAlg` cannot ride with `ciphertext`: a raw deposit carries no envelope, so there is nowhere to record the algorithm and the far end would recompute under sha256 and report a content hash mismatch on honest content. Use `content` to deposit under a named algorithm." };
|
|
570
|
+
}
|
|
571
|
+
contentHashAlg = rawAlg;
|
|
484
572
|
}
|
|
485
573
|
const node = sessionNodeManager.getStandingReceiverNode();
|
|
486
574
|
if (!node)
|
|
487
575
|
return { ok: false, reason: "standing_receiver_unavailable", guidance: "The daemon's standing receiver is not ready yet; retry after startup." };
|
|
576
|
+
let payload;
|
|
577
|
+
if (hasContent) {
|
|
578
|
+
const content = hexOrNull(params?.content);
|
|
579
|
+
if (content === null) {
|
|
580
|
+
return { ok: false, reason: "missing_params", guidance: "`content` is not even-length hex. It is validated because Buffer.from truncates silently, and a truncated body is sealed at the wrong length and refused at the far end as a content hash mismatch." };
|
|
581
|
+
}
|
|
582
|
+
/**
|
|
583
|
+
* Which agent signs. Named explicitly when given; otherwise the only local agent that COULD
|
|
584
|
+
* sign, and if there is more than one we REFUSE rather than pick — silently signing as the
|
|
585
|
+
* wrong sender produces an entry the recipient authenticates against a pubkey nobody
|
|
586
|
+
* expected, surfacing at recover time as a signature mismatch with no clue the wrong key was
|
|
587
|
+
* chosen here.
|
|
588
|
+
*
|
|
589
|
+
* `load_failed` agents are excluded (review LOW-5): they hold no key provider, so listing
|
|
590
|
+
* one as a candidate makes a daemon with one healthy agent report `ambiguous_sender` and
|
|
591
|
+
* name a candidate that cannot sign.
|
|
592
|
+
*/
|
|
593
|
+
const signable = agents.filter((a) => a.state !== "load_failed");
|
|
594
|
+
const candidates = senderAgentName ? signable.filter((a) => a.name === senderAgentName) : signable;
|
|
595
|
+
if (candidates.length === 0) {
|
|
596
|
+
return { ok: false, reason: "agent_not_found", guidance: senderAgentName ? `No local agent named '${senderAgentName}' that can sign this deposit.` : "This daemon has no loadable local agent to sign the deposit." };
|
|
597
|
+
}
|
|
598
|
+
if (candidates.length > 1) {
|
|
599
|
+
return { ok: false, reason: "ambiguous_sender", guidance: `This daemon has ${candidates.length} signable agents (${candidates.map((a) => a.name).join(", ")}); pass senderAgentName to say which one signs.` };
|
|
600
|
+
}
|
|
601
|
+
const signerAgent = candidates[0];
|
|
602
|
+
/**
|
|
603
|
+
* ⚠️ BIND THE SIGNATURE TO A SESSION THIS DAEMON ACTUALLY HOLDS — review HIGH-1.
|
|
604
|
+
*
|
|
605
|
+
* Both production producers derive `(sessionId, recipientPubkey)` from a session record;
|
|
606
|
+
* this handler took them from the caller and signed whatever pair it was handed. A caller
|
|
607
|
+
* passing the wrong session id or the wrong recipient therefore got a perfectly-formed
|
|
608
|
+
* SIGNED entry, which the far end refuses as `bad_signature` / `signer_not_counterparty` —
|
|
609
|
+
* **an attack verdict for a local argument mistake** — and a refused entry is deliberately
|
|
610
|
+
* never confirm-deleted, so it re-pulls forever.
|
|
611
|
+
*
|
|
612
|
+
* `getSessionRecord` returns the row regardless of status, so a COMMITTED session still
|
|
613
|
+
* resolves and the post-seal straggler case keeps working.
|
|
614
|
+
*/
|
|
615
|
+
const record = sessionNodeManager.getSessionRecord(signerAgent.name, sessionId);
|
|
616
|
+
if (!record) {
|
|
617
|
+
return { ok: false, reason: "session_not_found", guidance: `Agent '${signerAgent.name}' holds no session ${sessionId.slice(0, 16)}…. Signing a park entry for a session this daemon does not hold produces bytes the recipient can only read as a forgery.` };
|
|
618
|
+
}
|
|
619
|
+
if ((record.counterparty_pubkey ?? "").toLowerCase() !== recipientPubkey.toLowerCase()) {
|
|
620
|
+
return { ok: false, reason: "session_recipient_mismatch", guidance: `Session ${sessionId.slice(0, 16)}… has counterparty ${(record.counterparty_pubkey ?? "(none)").slice(0, 16)}…, not ${recipientPubkey.slice(0, 16)}…. Refused rather than signed: the entry would authenticate against a key the recipient never expects and be reported as a bad signature — an attack verdict for a wrong argument.` };
|
|
621
|
+
}
|
|
622
|
+
const signer = getKeyProvider(signerAgent.name);
|
|
623
|
+
if (!signer)
|
|
624
|
+
return { ok: false, reason: "signing_key_unavailable", guidance: `Signing key for '${signerAgent.name}' is not loaded.` };
|
|
625
|
+
payload = await sealParkEnvelope({
|
|
626
|
+
signer,
|
|
627
|
+
sessionIdHex: sessionId,
|
|
628
|
+
recipientPubkey: Buffer.from(recipientPubkey, "hex"),
|
|
629
|
+
contentHash: Buffer.from(contentHash, "hex"),
|
|
630
|
+
content: Buffer.from(content, "hex"),
|
|
631
|
+
...(contentHashAlg !== undefined ? { contentHashAlg } : {}),
|
|
632
|
+
});
|
|
633
|
+
}
|
|
634
|
+
else {
|
|
635
|
+
const ciphertext = hexOrNull(params?.ciphertext);
|
|
636
|
+
if (ciphertext === null) {
|
|
637
|
+
return { ok: false, reason: "missing_params", guidance: "`ciphertext` is not even-length hex." };
|
|
638
|
+
}
|
|
639
|
+
payload = Buffer.from(ciphertext, "hex");
|
|
640
|
+
}
|
|
488
641
|
const client = new ContentParkClient({ relayPeerId: relay.peerId, relayAddrs: [relay.addr], logger });
|
|
489
642
|
return await client.deposit(node, {
|
|
490
643
|
recipientPubkey: Buffer.from(recipientPubkey, "hex"),
|
|
491
644
|
contentHash: Buffer.from(contentHash, "hex"),
|
|
492
645
|
sessionId: Buffer.from(sessionId, "hex"),
|
|
493
|
-
ciphertext:
|
|
646
|
+
ciphertext: payload,
|
|
494
647
|
});
|
|
495
648
|
});
|
|
496
649
|
handlers.set("content_park_pull", async (params, _connectionId) => {
|
|
@@ -510,7 +663,25 @@ export function createContentPark(deps) {
|
|
|
510
663
|
if (!node)
|
|
511
664
|
return { ok: false, reason: "standing_receiver_unavailable", guidance: "The daemon's standing receiver is not ready yet; retry after startup." };
|
|
512
665
|
const client = new ContentParkClient({ relayPeerId: relay.peerId, relayAddrs: [relay.addr], logger });
|
|
513
|
-
|
|
666
|
+
let entries;
|
|
667
|
+
try {
|
|
668
|
+
entries = await client.pull(node, Buffer.from(recipientPubkey, "hex"), kp);
|
|
669
|
+
}
|
|
670
|
+
catch (err) {
|
|
671
|
+
// DOD-M15-RELAYAUTH-1 review HIGH-3: a refusal must not be reported as an empty list.
|
|
672
|
+
if (err instanceof ContentParkRefusedError) {
|
|
673
|
+
return {
|
|
674
|
+
ok: false,
|
|
675
|
+
reason: `relay_refused_pull:${err.reason}`,
|
|
676
|
+
guidance: "This relay refused to release parked content for this agent — it is NOT an empty mailbox, " +
|
|
677
|
+
"and content may still be waiting. A relay only recognises agents named by a session " +
|
|
678
|
+
"assignment it has recorded, and it forgets them when it restarts. Establish a session " +
|
|
679
|
+
"with this relay (cello_initiate_session) and retry, or pull from the relay that " +
|
|
680
|
+
"brokered the session the content belongs to.",
|
|
681
|
+
};
|
|
682
|
+
}
|
|
683
|
+
throw err;
|
|
684
|
+
}
|
|
514
685
|
return {
|
|
515
686
|
ok: true,
|
|
516
687
|
entries: entries.map((e) => ({ contentHash: e.contentHashHex, sessionId: e.sessionIdHex, ciphertext: Buffer.from(e.ciphertext).toString("hex") })),
|
package/dist/content-park.js.map
CHANGED
|
@@ -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.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAMH,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EAQpB,MAAM,EACP,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAmC,KAAK,UAAU,EAAsB,MAAM,iBAAiB,CAAC;AAavG,OAAO,EAAE,kBAAkB,EAA6C,MAAM,2BAA2B,CAAC;AAO1G,OAAO,EAIL,KAAK,SAAS,EAIf,MAAM,2BAA2B,CAAC;AAiBnC,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAsB,MAAM,2BAA2B,CAAC;AAS5G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAIlE,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAmCnF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAMH,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EAQpB,MAAM,EACP,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAmC,KAAK,UAAU,EAAsB,MAAM,iBAAiB,CAAC;AAavG,OAAO,EAAE,kBAAkB,EAA6C,MAAM,2BAA2B,CAAC;AAO1G,OAAO,EAIL,KAAK,SAAS,EAIf,MAAM,2BAA2B,CAAC;AAiBnC,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAsB,MAAM,2BAA2B,CAAC;AAS5G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAIlE,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAmCnF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAalD,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,SAAS,IAAI,oBAAoB,CAAC;IAClC;;;;;OAKG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACpE;;;;OAIG;IACH,qBAAqB,IAAI,kBAAkB,CAAC;IAC5C;;;;OAIG;IACH,oBAAoB,IAAI,kBAAkB,CAAC;IAC3C;;;OAGG;IACH,iBAAiB,IAAI,eAAe,CAAC;IACrC;;OAEG;IACH,eAAe,IAAI,YAAY,CAAC;IAChC;;;;;;;;OAQG;IACH,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACxC;AAYD,qBAAa,4BAA6B,YAAW,mBAAmB;IAW1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAVpC;;;;;;;;;OASG;gBAC0B,MAAM,CAAC,EAAE,MAAM,YAAA;IAEtC,UAAU,CAAC,MAAM,EAAE,iBAAiB;CAsJ3C;AAID,eAAO,MAAM,sBAAsB,QAAsB,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAS7E"}
|