@cello-protocol/daemon 0.0.53 → 0.0.55
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-handlers.d.ts +57 -0
- package/dist/agent-handlers.d.ts.map +1 -0
- package/dist/agent-handlers.js +360 -0
- package/dist/agent-handlers.js.map +1 -0
- package/dist/agent-id-migration.d.ts.map +1 -1
- package/dist/agent-id-migration.js +1 -0
- package/dist/agent-id-migration.js.map +1 -1
- package/dist/agent-loader.d.ts +3 -4
- package/dist/agent-loader.d.ts.map +1 -1
- package/dist/agent-loader.js +3 -4
- package/dist/agent-loader.js.map +1 -1
- package/dist/cbor-blob-migration.d.ts +8 -0
- package/dist/cbor-blob-migration.d.ts.map +1 -0
- package/dist/cbor-blob-migration.js +115 -0
- package/dist/cbor-blob-migration.js.map +1 -0
- package/dist/close-session-handler.d.ts +41 -0
- package/dist/close-session-handler.d.ts.map +1 -0
- package/dist/close-session-handler.js +399 -0
- package/dist/close-session-handler.js.map +1 -0
- package/dist/consortium-bootstrap.d.ts +83 -0
- package/dist/consortium-bootstrap.d.ts.map +1 -0
- package/dist/consortium-bootstrap.js +120 -0
- package/dist/consortium-bootstrap.js.map +1 -0
- package/dist/contact-handlers.d.ts +56 -0
- package/dist/contact-handlers.d.ts.map +1 -0
- package/dist/contact-handlers.js +303 -0
- package/dist/contact-handlers.js.map +1 -0
- package/dist/content-park-client.d.ts.map +1 -1
- package/dist/content-park-client.js +7 -7
- package/dist/content-park-client.js.map +1 -1
- package/dist/content-park.d.ts +15 -0
- package/dist/content-park.d.ts.map +1 -0
- package/dist/content-park.js +227 -0
- package/dist/content-park.js.map +1 -0
- package/dist/daemon.d.ts +4 -10
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +430 -4563
- package/dist/daemon.js.map +1 -1
- package/dist/db-identity-store.d.ts +31 -35
- package/dist/db-identity-store.d.ts.map +1 -1
- package/dist/db-identity-store.js +62 -66
- package/dist/db-identity-store.js.map +1 -1
- package/dist/directory-bootstrap.d.ts +27 -31
- package/dist/directory-bootstrap.d.ts.map +1 -1
- package/dist/directory-bootstrap.js +18 -21
- package/dist/directory-bootstrap.js.map +1 -1
- package/dist/frame-values.d.ts +3 -0
- package/dist/frame-values.d.ts.map +1 -0
- package/dist/frame-values.js +73 -0
- package/dist/frame-values.js.map +1 -0
- package/dist/identity-migration.d.ts +8 -8
- package/dist/identity-migration.d.ts.map +1 -1
- package/dist/identity-migration.js +30 -31
- package/dist/identity-migration.js.map +1 -1
- package/dist/inbound-seal-request.d.ts +17 -0
- package/dist/inbound-seal-request.d.ts.map +1 -0
- package/dist/inbound-seal-request.js +155 -0
- package/dist/inbound-seal-request.js.map +1 -0
- package/dist/inbound-sessions.d.ts +54 -0
- package/dist/inbound-sessions.d.ts.map +1 -0
- package/dist/inbound-sessions.js +603 -0
- package/dist/inbound-sessions.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -10
- package/dist/index.js.map +1 -1
- package/dist/initiate-session-handler.d.ts +22 -0
- package/dist/initiate-session-handler.d.ts.map +1 -0
- package/dist/initiate-session-handler.js +150 -0
- package/dist/initiate-session-handler.js.map +1 -0
- package/dist/network-directory-node.d.ts +6 -6
- package/dist/network-directory-node.d.ts.map +1 -1
- package/dist/network-directory-node.js +29 -28
- package/dist/network-directory-node.js.map +1 -1
- package/dist/notification-handlers.d.ts +32 -0
- package/dist/notification-handlers.d.ts.map +1 -0
- package/dist/notification-handlers.js +73 -0
- package/dist/notification-handlers.js.map +1 -0
- package/dist/outbound-sessions.d.ts +54 -0
- package/dist/outbound-sessions.d.ts.map +1 -0
- package/dist/outbound-sessions.js +429 -0
- package/dist/outbound-sessions.js.map +1 -0
- package/dist/park-envelope.d.ts.map +1 -1
- package/dist/park-envelope.js +3 -2
- package/dist/park-envelope.js.map +1 -1
- package/dist/register-handler.d.ts +35 -0
- package/dist/register-handler.d.ts.map +1 -0
- package/dist/register-handler.js +179 -0
- package/dist/register-handler.js.map +1 -0
- package/dist/registration-manager.d.ts.map +1 -1
- package/dist/registration-manager.js +3 -6
- package/dist/registration-manager.js.map +1 -1
- package/dist/relay-receipt-store.d.ts.map +1 -1
- package/dist/relay-receipt-store.js +1 -2
- package/dist/relay-receipt-store.js.map +1 -1
- package/dist/retry-queue.d.ts +18 -60
- package/dist/retry-queue.d.ts.map +1 -1
- package/dist/retry-queue.js +46 -97
- package/dist/retry-queue.js.map +1 -1
- package/dist/seal-coordinator.d.ts +47 -0
- package/dist/seal-coordinator.d.ts.map +1 -0
- package/dist/seal-coordinator.js +551 -0
- package/dist/seal-coordinator.js.map +1 -0
- package/dist/seal-flows.d.ts +50 -0
- package/dist/seal-flows.d.ts.map +1 -0
- package/dist/seal-flows.js +454 -0
- package/dist/seal-flows.js.map +1 -0
- package/dist/seal-frontier-verify.d.ts +9 -9
- package/dist/seal-frontier-verify.d.ts.map +1 -1
- package/dist/seal-frontier-verify.js +11 -12
- package/dist/seal-frontier-verify.js.map +1 -1
- package/dist/seal-leaf.d.ts +58 -0
- package/dist/seal-leaf.d.ts.map +1 -0
- package/dist/seal-leaf.js +111 -0
- package/dist/seal-leaf.js.map +1 -0
- package/dist/seal-receipt-upgrade.d.ts +1 -1
- package/dist/seal-receipt-upgrade.js +1 -1
- package/dist/seal-upgrade.d.ts +10 -10
- package/dist/seal-upgrade.d.ts.map +1 -1
- package/dist/seal-upgrade.js +23 -24
- package/dist/seal-upgrade.js.map +1 -1
- package/dist/session-assignment-parser.d.ts +16 -19
- package/dist/session-assignment-parser.d.ts.map +1 -1
- package/dist/session-assignment-parser.js +30 -29
- package/dist/session-assignment-parser.js.map +1 -1
- package/dist/session-ceremony.d.ts +3 -6
- package/dist/session-ceremony.d.ts.map +1 -1
- package/dist/session-ceremony.js +7 -9
- package/dist/session-ceremony.js.map +1 -1
- package/dist/session-connection-gater.d.ts +4 -2
- package/dist/session-connection-gater.d.ts.map +1 -1
- package/dist/session-connection-gater.js +16 -10
- package/dist/session-connection-gater.js.map +1 -1
- package/dist/session-content-handlers.d.ts +25 -0
- package/dist/session-content-handlers.d.ts.map +1 -0
- package/dist/session-content-handlers.js +436 -0
- package/dist/session-content-handlers.js.map +1 -0
- package/dist/session-name.d.ts +35 -0
- package/dist/session-name.d.ts.map +1 -0
- package/dist/session-name.js +60 -0
- package/dist/session-name.js.map +1 -0
- package/dist/session-node-manager.d.ts +47 -62
- package/dist/session-node-manager.d.ts.map +1 -1
- package/dist/session-node-manager.js +297 -97
- package/dist/session-node-manager.js.map +1 -1
- package/dist/session-read-handlers.d.ts +38 -0
- package/dist/session-read-handlers.d.ts.map +1 -0
- package/dist/session-read-handlers.js +233 -0
- package/dist/session-read-handlers.js.map +1 -0
- package/dist/session-relay-client.d.ts +8 -8
- package/dist/session-relay-client.d.ts.map +1 -1
- package/dist/session-relay-client.js +44 -46
- package/dist/session-relay-client.js.map +1 -1
- package/dist/session-tree.d.ts +11 -23
- package/dist/session-tree.d.ts.map +1 -1
- package/dist/session-tree.js +14 -26
- package/dist/session-tree.js.map +1 -1
- package/dist/signaling-connect.d.ts +13 -5
- package/dist/signaling-connect.d.ts.map +1 -1
- package/dist/signaling-connect.js +55 -13
- package/dist/signaling-connect.js.map +1 -1
- package/dist/sqlcipher-db.d.ts +18 -19
- package/dist/sqlcipher-db.d.ts.map +1 -1
- package/dist/sqlcipher-db.js +30 -30
- package/dist/sqlcipher-db.js.map +1 -1
- package/dist/telegram-doorbell.d.ts +38 -0
- package/dist/telegram-doorbell.d.ts.map +1 -0
- package/dist/telegram-doorbell.js +139 -0
- package/dist/telegram-doorbell.js.map +1 -0
- package/dist/types.d.ts +86 -79
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -1
- package/dist/types.js.map +1 -1
- package/dist/vocabulary.d.ts +30 -30
- package/dist/vocabulary.d.ts.map +1 -1
- package/dist/vocabulary.js +41 -49
- package/dist/vocabulary.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-relay-client.js","sourceRoot":"","sources":["../src/session-relay-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-relay-client.js","sourceRoot":"","sources":["../src/session-relay-client.ts"],"names":[],"mappings":"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"}
|
package/dist/session-tree.d.ts
CHANGED
|
@@ -1,33 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* CELLO Daemon — SessionTree
|
|
2
|
+
* CELLO Daemon — SessionTree.
|
|
3
3
|
*
|
|
4
|
-
* The DAEMON-OWNED per-session Merkle tree
|
|
5
|
-
*
|
|
6
|
-
* the
|
|
7
|
-
*
|
|
8
|
-
* that sends and receives every message, so the transcript belongs where the
|
|
9
|
-
* messages flow.
|
|
4
|
+
* The DAEMON-OWNED per-session Merkle tree: the authoritative running transcript
|
|
5
|
+
* of every leaf (sent or received) for a session. Ownership lives here because the
|
|
6
|
+
* daemon is the component that sends and receives every message — the transcript
|
|
7
|
+
* belongs where the messages flow, never supplied by a caller.
|
|
10
8
|
*
|
|
11
|
-
* Specification (SPARC Phase S):
|
|
12
9
|
* - A leaf is the 32-byte leaf hash of a message or control entry, in order.
|
|
13
10
|
* For a message leaf the leaf hash is content_hash = SHA-256(0x00 || content)
|
|
14
11
|
* (msgLeafHash, RFC 6962 §2.1 leaf hashing). For a control leaf (SEAL) the
|
|
15
12
|
* leaf hash is SHA-256(0x02 || canonical_bytes) (ctrlLeafHash). Both sides of
|
|
16
13
|
* a session compute the SAME leaf hash for the SAME message, so appending the
|
|
17
|
-
* SAME leaves in the SAME order yields the SAME root
|
|
14
|
+
* SAME leaves in the SAME order yields the SAME root.
|
|
18
15
|
* - The root is recomputed over all leaves after every append (RFC 6962 §2.1,
|
|
19
16
|
* left-balanced binary Merkle tree). Empty tree root = SHA-256("").
|
|
20
17
|
* - The tree is serializable to/from an ordered list of leaf-hash hex strings so
|
|
21
|
-
* it can be persisted to SQLCipher and reloaded across a daemon restart
|
|
22
|
-
*
|
|
23
|
-
* Pseudocode (SPARC Phase P):
|
|
24
|
-
* appendLeafHash(kind, hashHex):
|
|
25
|
-
* 1. push {kind, hashHex} onto leaves
|
|
26
|
-
* 2. return { leafIndex: leaves.length - 1, newRootHex: rootHex() }
|
|
27
|
-
* rootHex():
|
|
28
|
-
* 1. build = buildMerkleTree(leaves.map(l => {kind:"hash", data: bytes(l.hashHex)}))
|
|
29
|
-
* 2. return hex(merkleRoot(build)) // empty → hex(SHA-256(""))
|
|
30
|
-
* fromLeaves(leaves): reconstruct from persisted ordered list.
|
|
18
|
+
* it can be persisted to SQLCipher and reloaded across a daemon restart.
|
|
31
19
|
*
|
|
32
20
|
* Crypto refs: RFC 6962 §2.1 (Merkle hash trees), FIPS 180-4 (SHA-256).
|
|
33
21
|
*/
|
|
@@ -46,11 +34,11 @@ export interface SessionTreeLeaf {
|
|
|
46
34
|
export declare class SessionTree {
|
|
47
35
|
#private;
|
|
48
36
|
private constructor();
|
|
49
|
-
/** O(1) index of the first leaf with this content-hash, or -1 if absent (
|
|
37
|
+
/** O(1) index of the first leaf with this content-hash, or -1 if absent (inbound dedup). */
|
|
50
38
|
indexOfHash(hashHex: string): number;
|
|
51
39
|
/** Construct an empty tree. */
|
|
52
40
|
static empty(): SessionTree;
|
|
53
|
-
/** Reconstruct a tree from a persisted, ordered list of leaves
|
|
41
|
+
/** Reconstruct a tree from a persisted, ordered list of leaves. */
|
|
54
42
|
static fromLeaves(leaves: readonly SessionTreeLeaf[]): SessionTree;
|
|
55
43
|
/** Number of leaves currently in the tree. */
|
|
56
44
|
size(): number;
|
|
@@ -70,8 +58,8 @@ export declare class SessionTree {
|
|
|
70
58
|
*/
|
|
71
59
|
rootHex(): string;
|
|
72
60
|
/**
|
|
73
|
-
*
|
|
74
|
-
*
|
|
61
|
+
* The Merkle root this tree WOULD have if one more leaf (hashHex) were appended —
|
|
62
|
+
* WITHOUT mutating the tree. Used to compute the reported_root for a unilateral
|
|
75
63
|
* seal: the post-SEAL-ctrl-leaf root the directory rebuilds from the relay's content-hash
|
|
76
64
|
* chain and verifies, without advancing the durable tree / message_count.
|
|
77
65
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-tree.d.ts","sourceRoot":"","sources":["../src/session-tree.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"session-tree.d.ts","sourceRoot":"","sources":["../src/session-tree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,MAAM,CAAC;AAEjD,MAAM,WAAW,eAAe;IAC9B,sFAAsF;IACtF,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,sCAAsC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,qBAAa,WAAW;;IAOtB,OAAO;IAQP,4FAA4F;IAC5F,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIpC,+BAA+B;IAC/B,MAAM,CAAC,KAAK,IAAI,WAAW;IAI3B,mEAAmE;IACnE,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,GAAG,WAAW;IAIlE,8CAA8C;IAC9C,IAAI,IAAI,MAAM;IAId,iEAAiE;IACjE,MAAM,IAAI,eAAe,EAAE;IAI3B;;;OAGG;IACH,cAAc,CAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IAUrG;;;OAGG;IACH,OAAO,IAAI,MAAM;IASjB;;;;;OAKG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAU7C"}
|
package/dist/session-tree.js
CHANGED
|
@@ -1,33 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* CELLO Daemon — SessionTree
|
|
2
|
+
* CELLO Daemon — SessionTree.
|
|
3
3
|
*
|
|
4
|
-
* The DAEMON-OWNED per-session Merkle tree
|
|
5
|
-
*
|
|
6
|
-
* the
|
|
7
|
-
*
|
|
8
|
-
* that sends and receives every message, so the transcript belongs where the
|
|
9
|
-
* messages flow.
|
|
4
|
+
* The DAEMON-OWNED per-session Merkle tree: the authoritative running transcript
|
|
5
|
+
* of every leaf (sent or received) for a session. Ownership lives here because the
|
|
6
|
+
* daemon is the component that sends and receives every message — the transcript
|
|
7
|
+
* belongs where the messages flow, never supplied by a caller.
|
|
10
8
|
*
|
|
11
|
-
* Specification (SPARC Phase S):
|
|
12
9
|
* - A leaf is the 32-byte leaf hash of a message or control entry, in order.
|
|
13
10
|
* For a message leaf the leaf hash is content_hash = SHA-256(0x00 || content)
|
|
14
11
|
* (msgLeafHash, RFC 6962 §2.1 leaf hashing). For a control leaf (SEAL) the
|
|
15
12
|
* leaf hash is SHA-256(0x02 || canonical_bytes) (ctrlLeafHash). Both sides of
|
|
16
13
|
* a session compute the SAME leaf hash for the SAME message, so appending the
|
|
17
|
-
* SAME leaves in the SAME order yields the SAME root
|
|
14
|
+
* SAME leaves in the SAME order yields the SAME root.
|
|
18
15
|
* - The root is recomputed over all leaves after every append (RFC 6962 §2.1,
|
|
19
16
|
* left-balanced binary Merkle tree). Empty tree root = SHA-256("").
|
|
20
17
|
* - The tree is serializable to/from an ordered list of leaf-hash hex strings so
|
|
21
|
-
* it can be persisted to SQLCipher and reloaded across a daemon restart
|
|
22
|
-
*
|
|
23
|
-
* Pseudocode (SPARC Phase P):
|
|
24
|
-
* appendLeafHash(kind, hashHex):
|
|
25
|
-
* 1. push {kind, hashHex} onto leaves
|
|
26
|
-
* 2. return { leafIndex: leaves.length - 1, newRootHex: rootHex() }
|
|
27
|
-
* rootHex():
|
|
28
|
-
* 1. build = buildMerkleTree(leaves.map(l => {kind:"hash", data: bytes(l.hashHex)}))
|
|
29
|
-
* 2. return hex(merkleRoot(build)) // empty → hex(SHA-256(""))
|
|
30
|
-
* fromLeaves(leaves): reconstruct from persisted ordered list.
|
|
18
|
+
* it can be persisted to SQLCipher and reloaded across a daemon restart.
|
|
31
19
|
*
|
|
32
20
|
* Crypto refs: RFC 6962 §2.1 (Merkle hash trees), FIPS 180-4 (SHA-256).
|
|
33
21
|
*/
|
|
@@ -39,9 +27,9 @@ import { buildMerkleTree, merkleRoot } from "@cello-protocol/crypto";
|
|
|
39
27
|
*/
|
|
40
28
|
export class SessionTree {
|
|
41
29
|
#leaves;
|
|
42
|
-
// O(1) content-hash -> first leaf index, so the inbound dedup check
|
|
43
|
-
//
|
|
44
|
-
//
|
|
30
|
+
// O(1) content-hash -> first leaf index, so the inbound dedup check is not a linear scan per
|
|
31
|
+
// message. Stores the FIRST occurrence to match findIndex semantics. Rebuilt from #leaves in the
|
|
32
|
+
// constructor, so it survives the fromLeaves() restart path for free.
|
|
45
33
|
#indexByHash;
|
|
46
34
|
constructor(leaves) {
|
|
47
35
|
this.#leaves = leaves;
|
|
@@ -51,7 +39,7 @@ export class SessionTree {
|
|
|
51
39
|
this.#indexByHash.set(leaves[i].hashHex, i);
|
|
52
40
|
}
|
|
53
41
|
}
|
|
54
|
-
/** O(1) index of the first leaf with this content-hash, or -1 if absent (
|
|
42
|
+
/** O(1) index of the first leaf with this content-hash, or -1 if absent (inbound dedup). */
|
|
55
43
|
indexOfHash(hashHex) {
|
|
56
44
|
return this.#indexByHash.get(hashHex) ?? -1;
|
|
57
45
|
}
|
|
@@ -59,7 +47,7 @@ export class SessionTree {
|
|
|
59
47
|
static empty() {
|
|
60
48
|
return new SessionTree([]);
|
|
61
49
|
}
|
|
62
|
-
/** Reconstruct a tree from a persisted, ordered list of leaves
|
|
50
|
+
/** Reconstruct a tree from a persisted, ordered list of leaves. */
|
|
63
51
|
static fromLeaves(leaves) {
|
|
64
52
|
return new SessionTree(leaves.map((l) => ({ kind: l.kind, hashHex: l.hashHex })));
|
|
65
53
|
}
|
|
@@ -98,8 +86,8 @@ export class SessionTree {
|
|
|
98
86
|
return bytesToHex(merkleRoot(tree));
|
|
99
87
|
}
|
|
100
88
|
/**
|
|
101
|
-
*
|
|
102
|
-
*
|
|
89
|
+
* The Merkle root this tree WOULD have if one more leaf (hashHex) were appended —
|
|
90
|
+
* WITHOUT mutating the tree. Used to compute the reported_root for a unilateral
|
|
103
91
|
* seal: the post-SEAL-ctrl-leaf root the directory rebuilds from the relay's content-hash
|
|
104
92
|
* chain and verifies, without advancing the durable tree / message_count.
|
|
105
93
|
*/
|
package/dist/session-tree.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-tree.js","sourceRoot":"","sources":["../src/session-tree.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"session-tree.js","sourceRoot":"","sources":["../src/session-tree.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,11 +7,8 @@
|
|
|
7
7
|
* heartbeat, reconnect (it calls connect() again on a fresh attempt), the outbound
|
|
8
8
|
* queue, and optional manifest polling.
|
|
9
9
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* connected the M6 client to the real directory, ran the full DKG ceremony, and
|
|
13
|
-
* sealed sessions — so the 7-step handshake here is the known-good one, not new
|
|
14
|
-
* protocol.
|
|
10
|
+
* The 7-step handshake below is the wire protocol the directory speaks. It is not negotiable from
|
|
11
|
+
* this side: change a step and registration, the DKG ceremony, and session sealing all break.
|
|
15
12
|
*
|
|
16
13
|
* Architecture note (2026-06-11 daemon-transport doc): this is the *directory-facing
|
|
17
14
|
* node* — one per daemon, signaling only. A FRESH libp2p node (and therefore a fresh
|
|
@@ -80,6 +77,17 @@ export interface SignalingConnectDeps {
|
|
|
80
77
|
* bound (the auth TBS is unchanged) — the flag rides the encrypted libp2p channel.
|
|
81
78
|
*/
|
|
82
79
|
visiting?: boolean;
|
|
80
|
+
/**
|
|
81
|
+
* DOD-NAT-REACHABILITY-1 (Phase 2): receives the directory's healthy relay-pool
|
|
82
|
+
* endpoints when signaling_auth_ok carries `relay_endpoints`. Fires once per
|
|
83
|
+
* successful connect (so every reconnect refreshes the set). The endpoints ride
|
|
84
|
+
* the authenticated, directory-verified signaling channel — the same trust rail
|
|
85
|
+
* as session_assignment frames. Absent field (old directory) → never called.
|
|
86
|
+
*/
|
|
87
|
+
onRelayEndpoints?: (endpoints: Array<{
|
|
88
|
+
peerId: string;
|
|
89
|
+
addrs: string[];
|
|
90
|
+
}>) => void;
|
|
83
91
|
}
|
|
84
92
|
/**
|
|
85
93
|
* Build a production `signalingConnect` for `DaemonConfig.signalingConnect`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signaling-connect.d.ts","sourceRoot":"","sources":["../src/signaling-connect.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"signaling-connect.d.ts","sourceRoot":"","sources":["../src/signaling-connect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAOH,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,aAAa,EAElB,KAAK,2BAA2B,EACjC,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAkCzC,0FAA0F;AAC1F,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,sGAAsG;IACtG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,+EAA+E;AAC/E,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,oBAAoB,EAAE,MAAM,iBAAiB,GAAG,IAAI,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACzF,4FAA4F;IAC5F,eAAe,EAAE,MAAM,qBAAqB,GAAG,IAAI,CAAC;IACpD,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,iBAAiB,CAAC,EAAE,2BAA2B,CAAC;IAChD,oGAAoG;IACpG,kBAAkB,CAAC,EAAE,MAAM,MAAM,CAAC;IAClC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IACvE;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/C;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,KAAK,IAAI,CAAC;CACpF;AAuBD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,CAoK/F"}
|
|
@@ -7,11 +7,8 @@
|
|
|
7
7
|
* heartbeat, reconnect (it calls connect() again on a fresh attempt), the outbound
|
|
8
8
|
* queue, and optional manifest polling.
|
|
9
9
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* connected the M6 client to the real directory, ran the full DKG ceremony, and
|
|
13
|
-
* sealed sessions — so the 7-step handshake here is the known-good one, not new
|
|
14
|
-
* protocol.
|
|
10
|
+
* The 7-step handshake below is the wire protocol the directory speaks. It is not negotiable from
|
|
11
|
+
* this side: change a step and registration, the DKG ceremony, and session sealing all break.
|
|
15
12
|
*
|
|
16
13
|
* Architecture note (2026-06-11 daemon-transport doc): this is the *directory-facing
|
|
17
14
|
* node* — one per daemon, signaling only. A FRESH libp2p node (and therefore a fresh
|
|
@@ -28,15 +25,13 @@
|
|
|
28
25
|
* the agent's K_local Ed25519 key (RFC 8032). K_local never leaves the KeyProvider.
|
|
29
26
|
*/
|
|
30
27
|
import { createHash } from "node:crypto";
|
|
31
|
-
import {
|
|
28
|
+
import { decode } from "cbor-x";
|
|
29
|
+
import { encodeCbor } from "@cello-protocol/protocol-types";
|
|
32
30
|
import * as lp from "it-length-prefixed";
|
|
33
31
|
import { createNode, buildStep5Tbs, } from "@cello-protocol/transport";
|
|
34
32
|
const SIGNALING_PROTOCOL_ID = "/cello/signaling/1.0.0";
|
|
35
33
|
const AUTH_DOMAIN_DIR = "CELLO-DIR-AUTH-v1";
|
|
36
34
|
const AUTH_TIMEOUT_MS = 5_000;
|
|
37
|
-
// tagUint8Array:false — match the M6 client encoder so the directory decodes bytes
|
|
38
|
-
// fields (pubkey, signature, nonce) as raw byte strings, not CBOR-tagged values.
|
|
39
|
-
const CBOR_ENC = new Encoder({ tagUint8Array: false });
|
|
40
35
|
function toU8(v) {
|
|
41
36
|
if (v instanceof Uint8Array)
|
|
42
37
|
return v;
|
|
@@ -64,6 +59,31 @@ async function safeStop(node) {
|
|
|
64
59
|
/* best-effort teardown */
|
|
65
60
|
}
|
|
66
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Parse signaling_auth_ok's optional `relay_endpoints` field. Per-entry strict:
|
|
64
|
+
* a malformed entry is dropped (auth must never fail on a bad hint), a valid one
|
|
65
|
+
* survives. Returns [] when the field is absent or not an array.
|
|
66
|
+
*/
|
|
67
|
+
function parseRelayEndpoints(raw) {
|
|
68
|
+
if (!Array.isArray(raw))
|
|
69
|
+
return [];
|
|
70
|
+
const out = [];
|
|
71
|
+
for (const entry of raw) {
|
|
72
|
+
if (typeof entry !== "object" || entry === null)
|
|
73
|
+
continue;
|
|
74
|
+
const e = entry;
|
|
75
|
+
const peerId = e["peer_id"];
|
|
76
|
+
const multiaddrs = e["multiaddrs"];
|
|
77
|
+
if (typeof peerId !== "string" || peerId.length === 0)
|
|
78
|
+
continue;
|
|
79
|
+
if (!Array.isArray(multiaddrs) || multiaddrs.length === 0)
|
|
80
|
+
continue;
|
|
81
|
+
if (!multiaddrs.every((a) => typeof a === "string" && a.length > 0))
|
|
82
|
+
continue;
|
|
83
|
+
out.push({ peerId, addrs: multiaddrs });
|
|
84
|
+
}
|
|
85
|
+
return out;
|
|
86
|
+
}
|
|
67
87
|
/**
|
|
68
88
|
* Build a production `signalingConnect` for `DaemonConfig.signalingConnect`.
|
|
69
89
|
*
|
|
@@ -82,9 +102,17 @@ export function createSignalingConnect(deps) {
|
|
|
82
102
|
throw new Error("no_agent_identity");
|
|
83
103
|
}
|
|
84
104
|
// Fresh directory-facing node per connect → fresh transport key / Peer ID.
|
|
105
|
+
// DOD-NAT-REACHABILITY-1: relayServer disabled — this is a long-lived client
|
|
106
|
+
// node bound on 0.0.0.0; without the explicit opt-out the no-nodeType default
|
|
107
|
+
// (a service node) would advertise HOP and let LAN peers relay through the
|
|
108
|
+
// operator's machine.
|
|
85
109
|
const node = deps.createDirectoryNode
|
|
86
110
|
? await deps.createDirectoryNode(identity.keyProvider)
|
|
87
|
-
: await createNode({
|
|
111
|
+
: await createNode({
|
|
112
|
+
keyProvider: identity.keyProvider,
|
|
113
|
+
listenAddresses: ["/ip4/0.0.0.0/tcp/0"],
|
|
114
|
+
relayServer: { enabled: false },
|
|
115
|
+
});
|
|
88
116
|
let sigStream;
|
|
89
117
|
try {
|
|
90
118
|
// L1: start() is inside the try so a start failure is caught and the
|
|
@@ -129,7 +157,7 @@ export function createSignalingConnect(deps) {
|
|
|
129
157
|
const authMsg = new Uint8Array(Buffer.concat([domain, nonce, myPubkey]));
|
|
130
158
|
const msgHash = new Uint8Array(createHash("sha256").update(authMsg).digest());
|
|
131
159
|
const sig = await identity.keyProvider.sign(msgHash);
|
|
132
|
-
const authResponse =
|
|
160
|
+
const authResponse = encodeCbor({
|
|
133
161
|
type: "signaling_auth_response",
|
|
134
162
|
pubkey: myPubkey,
|
|
135
163
|
signature: sig,
|
|
@@ -171,8 +199,22 @@ export function createSignalingConnect(deps) {
|
|
|
171
199
|
directoryNodeId = nodeId;
|
|
172
200
|
deps.logger.info("directory.auth.challenge.verified", { directoryNodeId });
|
|
173
201
|
}
|
|
202
|
+
// DOD-NAT-REACHABILITY-1 (Phase 2): the directory's relay pool rides
|
|
203
|
+
// signaling_auth_ok so the standing receiver can reserve BEFORE any
|
|
204
|
+
// session exists. Surfaced via callback; parse failures drop entries,
|
|
205
|
+
// never the handshake.
|
|
206
|
+
if (deps.onRelayEndpoints) {
|
|
207
|
+
const endpoints = parseRelayEndpoints(ackFrame["relay_endpoints"]);
|
|
208
|
+
if (endpoints.length > 0) {
|
|
209
|
+
deps.logger.info("directory.relay_endpoints.received", {
|
|
210
|
+
directoryNodeId,
|
|
211
|
+
relayPeerIds: endpoints.map((e) => e.peerId),
|
|
212
|
+
});
|
|
213
|
+
deps.onRelayEndpoints(endpoints);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
174
216
|
// ── Step 7: announce our peer info so the directory can broker sessions ──
|
|
175
|
-
const peerInfo =
|
|
217
|
+
const peerInfo = encodeCbor({
|
|
176
218
|
type: "peer_info_announce",
|
|
177
219
|
peer_id: node.getPeerId(),
|
|
178
220
|
multiaddrs: node.listenAddresses(),
|
|
@@ -221,7 +263,7 @@ function wrapSignalingStream(sigStream, iter, node, logger, publishNode) {
|
|
|
221
263
|
let closed = false;
|
|
222
264
|
return {
|
|
223
265
|
async send(frame) {
|
|
224
|
-
const encoded =
|
|
266
|
+
const encoded = encodeCbor(frame);
|
|
225
267
|
sigStream.send(lp.encode.single(encoded));
|
|
226
268
|
},
|
|
227
269
|
onMessage(handler) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signaling-connect.js","sourceRoot":"","sources":["../src/signaling-connect.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"signaling-connect.js","sourceRoot":"","sources":["../src/signaling-connect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEzC,OAAO,EACL,UAAU,EACV,aAAa,GAKd,MAAM,2BAA2B,CAAC;AAInC,MAAM,qBAAqB,GAAG,wBAAwB,CAAC;AACvD,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAC5C,MAAM,eAAe,GAAG,KAAK,CAAC;AAE9B,SAAS,IAAI,CAAC,CAAU;IACtB,IAAI,CAAC,YAAY,UAAU;QAAE,OAAO,CAAC,CAAC;IACtC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,UAAU,CAAC,CAAW,CAAC,CAAC;IAC3D,IAAI,OAAQ,CAAyB,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QAC3D,OAAQ,CAA6B,CAAC,KAAK,EAAE,CAAC;IAChD,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,CAAC,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,MAAM,CAAC,GAAY;IAC1B,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED,KAAK,UAAU,eAAe,CAAI,IAAsB,EAAE,SAAiB;IACzE,OAAO,OAAO,CAAC,IAAI,CAAC;QAClB,IAAI,CAAC,IAAI,EAAE;QACX,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;KAClG,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAe;IACrC,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,0BAA0B;IAC5B,CAAC;AACH,CAAC;AAgED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,GAAY;IACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,GAAG,GAA+C,EAAE,CAAC;IAC3D,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QAC1D,MAAM,CAAC,GAAG,KAAgC,CAAC;QAC3C,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5B,MAAM,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;QACnC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAChE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACpE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAAE,SAAS;QAC3F,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAA0B;IAC/D,OAAO,KAAK,UAAU,OAAO;QAC3B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QAED,2EAA2E;QAC3E,6EAA6E;QAC7E,8EAA8E;QAC9E,2EAA2E;QAC3E,sBAAsB;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB;YACnC,CAAC,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,WAAW,CAAC;YACtD,CAAC,CAAC,MAAM,UAAU,CAAC;gBACf,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,eAAe,EAAE,CAAC,oBAAoB,CAAC;gBACvC,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;aAChC,CAAC,CAAC;QAEP,IAAI,SAAiB,CAAC;QACtB,IAAI,CAAC;YACH,qEAAqE;YACrE,qEAAqE;YACrE,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACvB,8EAA8E;gBAC9E,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACtC,CAAC;gBAAC,OAAO,OAAgB,EAAE,CAAC;oBAC1B,yEAAyE;oBACzE,uDAAuD;oBACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE;wBACzC,SAAS,EAAE,QAAQ,CAAC,SAAS;wBAC7B,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;qBACvB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,IAAI,GAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAA4B,CAAC,MAAM,CAAC,aAAa,CAAC,EAA+B,CAAC;QAEnH,IAAI,CAAC;YACH,0EAA0E;YAC1E,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YAC/D,IAAI,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACpG,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAA4B,CAAC;YAChF,IAAI,cAAc,CAAC,MAAM,CAAC,KAAK,0BAA0B,EAAE,CAAC;gBAC1D,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;YACxF,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAErE,6EAA6E;YAC7E,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;YACzE,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9E,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrD,MAAM,YAAY,GAAG,UAAU,CAAC;gBAC9B,IAAI,EAAE,yBAAyB;gBAC/B,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,GAAG;gBACd,iGAAiG;gBACjG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7C,CAAe,CAAC;YACjB,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;YAE/C,0CAA0C;YAC1C,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YACzD,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAClF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAA4B,CAAC;YACpE,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,mBAAmB,EAAE,CAAC;gBAC7C,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1E,CAAC;YAED,2EAA2E;YAC3E,wEAAwE;YACxE,IAAI,eAAe,GAAG,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,QAAQ,CAAC,QAAQ,CAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAChH,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACxC,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAuB,CAAC;gBACxD,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAuB,CAAC;gBAC9D,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAuB,CAAC;gBAC9D,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;oBACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;oBACtF,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBAC3D,CAAC;gBACD,MAAM,QAAQ,GAAG,aAAa,CAAC;oBAC7B,MAAM;oBACN,cAAc,EAAE,QAAQ,CAAC,SAAS;oBAClC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAC5C,YAAY,EAAE,SAAS;iBACxB,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;gBACrE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;oBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBACzG,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAClE,CAAC;gBACD,eAAe,GAAG,MAAM,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;YAC7E,CAAC;YAED,qEAAqE;YACrE,oEAAoE;YACpE,sEAAsE;YACtE,uBAAuB;YACvB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACnE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE;wBACrD,eAAe;wBACf,YAAY,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;qBAC7C,CAAC,CAAC;oBACH,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;YAED,4EAA4E;YAC5E,MAAM,QAAQ,GAAG,UAAU,CAAC;gBAC1B,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE;gBACzB,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE;aACnC,CAAe,CAAC;YACjB,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YAE3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE;gBAChD,eAAe;gBACf,WAAW,EAAE,QAAQ,CAAC,SAAS;gBAC/B,QAAQ,EAAE,CAAC,CAAC,QAAQ;aACrB,CAAC,CAAC;YAEH,4EAA4E;YAC5E,0DAA0D;YAC1D,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC;YAEzB,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACzF,OAAO;gBACL,MAAM;gBACN,eAAe;gBACf,eAAe,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,CAAC;aAClD,CAAC;QACJ,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,iFAAiF;YACjF,gFAAgF;YAChF,sEAAsE;YACtE,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC;gBACH,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;YACrD,CAAC;YAAC,MAAM,CAAC;gBACP,qCAAqC;YACvC,CAAC;YACD,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrB,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAC1B,SAAiB,EACjB,IAA+B,EAC/B,IAAe,EACf,MAAc,EACd,WAA8C;IAE9C,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,KAAc;YACvB,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAe,CAAC;YAChD,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,SAAS,CAAC,OAAiC;YACzC,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,IAAI,CAAC;oBACH,SAAS,CAAC;wBACR,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;wBAC1C,IAAI,IAAI,IAAI,KAAK,KAAK,SAAS;4BAAE,MAAM;wBACvC,IAAI,KAAc,CAAC;wBACnB,IAAI,CAAC;4BACH,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC9B,CAAC;wBAAC,MAAM,CAAC;4BACP,gEAAgE;4BAChE,SAAS;wBACX,CAAC;wBACD,OAAO,CAAC,KAAK,CAAC,CAAC;oBACjB,CAAC;oBACD,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvE,CAAC;gBAAC,OAAO,GAAY,EAAE,CAAC;oBACtB,uFAAuF;oBACvF,uFAAuF;oBACvF,0FAA0F;oBAC1F,2FAA2F;oBAC3F,wDAAwD;oBACxD,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3F,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;QACP,CAAC;QACD,KAAK;YACH,IAAI,MAAM;gBAAE,OAAO;YACnB,MAAM,GAAG,IAAI,CAAC;YACd,4EAA4E;YAC5E,wDAAwD;YACxD,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC;YACpB,IAAI,CAAC;gBACH,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACjD,CAAC;YAAC,MAAM,CAAC;gBACP,oBAAoB;YACtB,CAAC;YACD,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/sqlcipher-db.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* The daemon's single encrypted store.
|
|
3
3
|
*
|
|
4
4
|
* The daemon DB is a SQLCipher database (whole-file AES-256 at rest). This module is the ONE
|
|
5
|
-
* engine site: it loads @signalapp/sqlcipher (prebuilt —
|
|
5
|
+
* engine site: it loads @signalapp/sqlcipher (prebuilt — never compiled from source), opens the DB with a
|
|
6
6
|
* PRAGMA key, verifies the key, enables WAL, and presents a thin `DaemonDatabase` adapter so the
|
|
7
7
|
* rest of the daemon (SessionNodeManager, RetryQueue, NonceDedupStore) keeps its node:sqlite-style
|
|
8
8
|
* varargs call sites unchanged.
|
|
@@ -13,19 +13,18 @@
|
|
|
13
13
|
* satisfies them too (used for in-memory test handles and for reading a legacy plaintext DB during
|
|
14
14
|
* migration), and `SqlcipherDatabase` implements them by forwarding varargs as an array.
|
|
15
15
|
*
|
|
16
|
-
* Key custody
|
|
17
|
-
*
|
|
18
|
-
* the
|
|
16
|
+
* Key custody: the SQLCipher key is a standalone random 32-byte 0600 key file beside the DB. It is
|
|
17
|
+
* NOT derived from K_local — that is a chicken-and-egg, since K_local itself lives inside the DB. It
|
|
18
|
+
* is the ONE plaintext key file on disk.
|
|
19
19
|
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
20
|
+
* FAILS CLOSED: there is no plaintext fallback anywhere. A wrong/missing key on an existing DB throws
|
|
21
|
+
* `db_encryption_key_mismatch`; the daemon never opens, creates, or migrates to a plaintext store as
|
|
22
|
+
* a fallback.
|
|
23
23
|
*
|
|
24
24
|
* Security invariants:
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* encrypted at rest.
|
|
25
|
+
* - The db key is NEVER logged, serialized, or placed in an error message — only the raw
|
|
26
|
+
* `PRAGMA key` string uses the hex, and that string is never logged.
|
|
27
|
+
* - WAL mode is enabled only AFTER key verification, so WAL files are encrypted at rest.
|
|
29
28
|
*/
|
|
30
29
|
export interface DaemonStatement {
|
|
31
30
|
run(...params: unknown[]): {
|
|
@@ -81,24 +80,24 @@ export declare function isPlaintextSqliteFile(dbPath: string): boolean;
|
|
|
81
80
|
/**
|
|
82
81
|
* Resolve the SQLCipher key, generating it on a genuinely fresh install only.
|
|
83
82
|
*
|
|
84
|
-
* Fail-closed matrix
|
|
83
|
+
* Fail-closed matrix:
|
|
85
84
|
* key present → load it (must be 32 bytes).
|
|
86
85
|
* key absent + DB absent → generate + persist (0600), proceed (fresh install).
|
|
87
86
|
* key absent + DB present → THROW db_encryption_key_mismatch (never overwrite an
|
|
88
87
|
* existing DB with a new key — that would be data loss; and
|
|
89
|
-
* a
|
|
88
|
+
* a legacy PLAINTEXT DB must be migrated first, not opened).
|
|
90
89
|
*/
|
|
91
90
|
export declare function resolveDbKey(dbPath: string, keyPath: string): Uint8Array;
|
|
92
91
|
/**
|
|
93
|
-
* Load the SQLCipher native module. Exported because the daemon's singleton lock
|
|
94
|
-
*
|
|
95
|
-
*
|
|
92
|
+
* Load the SQLCipher native module. Exported because the daemon's singleton lock needs the same
|
|
93
|
+
* engine for its kernel-level file lock — one place that knows how to load the prebuilt, and one
|
|
94
|
+
* error when it will not load.
|
|
96
95
|
*/
|
|
97
96
|
export declare function loadSignalModule(): SignalModule;
|
|
98
97
|
/**
|
|
99
98
|
* Open `dbPath` as a SQLCipher database keyed by `dbKey`. Verifies the key (reads sqlite_master)
|
|
100
99
|
* and enables WAL after verification. Throws DbEncryptionError on any failure — never returns a
|
|
101
|
-
* plaintext handle
|
|
100
|
+
* plaintext handle.
|
|
102
101
|
*/
|
|
103
102
|
export declare function openEncryptedDatabase(dbPath: string, dbKey: Uint8Array, logger?: {
|
|
104
103
|
warn(event: string, context?: Record<string, unknown>): void;
|
|
@@ -109,7 +108,7 @@ export declare function openEncryptedDatabase(dbPath: string, dbKey: Uint8Array,
|
|
|
109
108
|
* the key.
|
|
110
109
|
*/
|
|
111
110
|
export declare function openEncryptedDatabaseAtPath(dbPath: string, keyPath?: string): DaemonDatabase;
|
|
112
|
-
/** The key file path the daemon uses for a given DB path
|
|
111
|
+
/** The key file path the daemon uses for a given DB path — the one plaintext key file. */
|
|
113
112
|
export declare function dbKeyPathFor(dbPath: string): string;
|
|
114
113
|
export {};
|
|
115
114
|
//# sourceMappingURL=sqlcipher-db.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlcipher-db.d.ts","sourceRoot":"","sources":["../src/sqlcipher-db.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sqlcipher-db.d.ts","sourceRoot":"","sources":["../src/sqlcipher-db.ts"],"names":[],"mappings":"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"}
|