@cello-protocol/client 0.0.3 → 0.0.4

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.
@@ -144,6 +144,25 @@ export declare function verifyRelayAck(hashHex: string, ack: RelayAck, relayPubk
144
144
  export declare class AgentHashQueue {
145
145
  #private;
146
146
  constructor(opts: AgentHashQueueOptions);
147
+ /**
148
+ * PERSIST-024 AC-008: Pre-populate the queue from hashes loaded out of the
149
+ * pending_hashes SQL table on startup.
150
+ *
151
+ * Unlike enqueue(), this method does NOT emit log events and does NOT call
152
+ * ClientStatePersistence — the entries are already durable in the SQL table.
153
+ * It writes them directly into the backing ClientStore so that getPending()
154
+ * and pollDepth() see them, and so that subsequent relay reconnect can
155
+ * resubmit them.
156
+ *
157
+ * Must be called AFTER loadPersistedState() and BEFORE relay reconnect (AC-008).
158
+ *
159
+ * @param entries - hashes loaded from pending_hashes for this agent
160
+ */
161
+ loadPending(entries: Array<{
162
+ sessionId: string;
163
+ hashHex: string;
164
+ enqueuedAt: number;
165
+ }>): Promise<void>;
147
166
  /**
148
167
  * Enqueue a hash in the local hash queue before relay submission.
149
168
  *
@@ -1 +1 @@
1
- {"version":3,"file":"agent-hash-queue.d.ts","sourceRoot":"","sources":["../src/agent-hash-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAItE,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,iFAAiF;AACjF,MAAM,WAAW,QAAQ;IACvB,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,WAAW,EAAE,UAAU,CAAC;IACxB,oDAAoD;IACpD,cAAc,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,SAAS,EAAE,UAAU,CAAC;CACvB;AAWD,sFAAsF;AACtF,eAAO,MAAM,yBAAyB,EAAG,2BAAoC,CAAC;AAC9E,MAAM,MAAM,uBAAuB,GAAG,OAAO,yBAAyB,CAAC;AAEvE,kDAAkD;AAClD,MAAM,WAAW,qBAAqB;IACpC,6DAA6D;IAC7D,KAAK,EAAE,WAAW,CAAC;IACnB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAgBD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,GAChB,UAAU,CAEZ;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,QAAQ,EACb,WAAW,EAAE,UAAU,GACtB,OAAO,CAIT;AAID;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAc;;gBAMb,IAAI,EAAE,qBAAqB;IASvC;;;;;;;OAOG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBvF;;;;;;;;;;;;;;;OAeG;IACG,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,QAAQ,EACb,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,EAClE,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IAgDhB;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAIhE;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAI5D;;OAEG;IACG,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAO/C;;;;;;;;;OASG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAgChC;;;;;;;OAOG;IACG,uBAAuB,CAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC;CA2FnB"}
1
+ {"version":3,"file":"agent-hash-queue.d.ts","sourceRoot":"","sources":["../src/agent-hash-queue.ts"],"names":[],"mappings":"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"}
@@ -132,6 +132,36 @@ export class AgentHashQueue {
132
132
  this.#logger = opts.logger;
133
133
  this.#hashQueueMaxAgeMs = opts.hashQueueMaxAgeMs ?? 24 * 60 * 60 * 1000;
134
134
  }
135
+ // ─── Startup load ─────────────────────────────────────────────────────────
136
+ /**
137
+ * PERSIST-024 AC-008: Pre-populate the queue from hashes loaded out of the
138
+ * pending_hashes SQL table on startup.
139
+ *
140
+ * Unlike enqueue(), this method does NOT emit log events and does NOT call
141
+ * ClientStatePersistence — the entries are already durable in the SQL table.
142
+ * It writes them directly into the backing ClientStore so that getPending()
143
+ * and pollDepth() see them, and so that subsequent relay reconnect can
144
+ * resubmit them.
145
+ *
146
+ * Must be called AFTER loadPersistedState() and BEFORE relay reconnect (AC-008).
147
+ *
148
+ * @param entries - hashes loaded from pending_hashes for this agent
149
+ */
150
+ async loadPending(entries) {
151
+ // Group by sessionId for efficient batch writes
152
+ const bySession = new Map();
153
+ for (const e of entries) {
154
+ const list = bySession.get(e.sessionId) ?? [];
155
+ list.push({ sessionId: e.sessionId, hashHex: e.hashHex, enqueuedAt: e.enqueuedAt });
156
+ bySession.set(e.sessionId, list);
157
+ }
158
+ for (const [sessionId, pendingEntries] of bySession) {
159
+ // Add session to the sessions index so pollDepth() and #loadAllPending() see it
160
+ await this.#addToSessionsIndex(sessionId);
161
+ // Write the pending entries directly to the store
162
+ await this.#savePending(sessionId, pendingEntries);
163
+ }
164
+ }
135
165
  // ─── Enqueue ───────────────────────────────────────────────────────────────
136
166
  /**
137
167
  * Enqueue a hash in the local hash queue before relay submission.
@@ -1 +1 @@
1
- {"version":3,"file":"agent-hash-queue.js","sourceRoot":"","sources":["../src/agent-hash-queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-hash-queue.js","sourceRoot":"","sources":["../src/agent-hash-queue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,290 @@
1
+ /**
2
+ * CELLO-PERSIST-024 — Client State Persistence Layer
3
+ *
4
+ * Provides structured DB operations for persisting and loading client state
5
+ * using the V2 SQLCipher schema. All methods operate on the structured tables
6
+ * (not the deprecated client_store KV table).
7
+ *
8
+ * Security invariants:
9
+ * SI-001: signing_share MUST NOT appear in any log event or error message.
10
+ * SI-002: secret_key_blob MUST NOT appear in any log event or error message.
11
+ * SI-003: db_key is never stored — derived at runtime from K_local via HKDF.
12
+ * SI-004: relay_ack_receipts is append-only (INSERT OR IGNORE).
13
+ */
14
+ import type { Logger } from "@cello-protocol/interfaces";
15
+ import type { SQLCipherClientStore } from "./sqlcipher-client-store.js";
16
+ import type { SignalRequirementPolicy } from "./connection-policy.js";
17
+ import type { SessionRecord } from "./types.js";
18
+ export interface FrostKeyShareRow {
19
+ agent_pubkey: string;
20
+ epoch_id: string;
21
+ primary_pubkey: string;
22
+ identifier: string;
23
+ signing_share: Buffer | Uint8Array;
24
+ threshold: number;
25
+ participants: number;
26
+ commitments_cbor: Buffer | Uint8Array;
27
+ verifying_shares_cbor: Buffer | Uint8Array;
28
+ dkg_method: string;
29
+ is_active: number;
30
+ }
31
+ export interface MlDsaKeypairRow {
32
+ agent_pubkey: string;
33
+ ml_dsa_pubkey: string;
34
+ secret_key_blob: Buffer | Uint8Array;
35
+ algorithm: string;
36
+ }
37
+ export interface RegistrationStateRow {
38
+ agent_pubkey: string;
39
+ agent_id: string;
40
+ primary_pubkey: string;
41
+ ml_dsa_pubkey: string;
42
+ registered_at: number;
43
+ status: string;
44
+ }
45
+ export interface ConnectionRow {
46
+ connection_id: string;
47
+ agent_pubkey: string;
48
+ counterparty_pubkey: string;
49
+ counterparty_primary_pubkey: string;
50
+ counterparty_ml_dsa_pubkey: string;
51
+ established_at: number;
52
+ status: string;
53
+ profile_unchecked: number;
54
+ }
55
+ export interface ConnectionPolicyRow {
56
+ agent_pubkey: string;
57
+ mode: string;
58
+ review_mode: string;
59
+ }
60
+ export interface ConnectionPolicyRequirementRow {
61
+ agent_pubkey: string;
62
+ position: number;
63
+ signal_type: string;
64
+ condition_json: string;
65
+ }
66
+ export interface SessionRow {
67
+ session_id: string;
68
+ agent_pubkey: string;
69
+ counterparty_pubkey: Buffer | Uint8Array;
70
+ counterparty_peer_id: string;
71
+ counterparty_multiaddrs: string;
72
+ relay_peer_id: string;
73
+ relay_multiaddrs: string;
74
+ directory_peer_id: string;
75
+ directory_multiaddrs: string;
76
+ directory_pubkey: Buffer | Uint8Array;
77
+ genesis_prev_root: Buffer | Uint8Array;
78
+ last_seen_seq: number;
79
+ last_sent_seq: number;
80
+ next_expected_seq: number;
81
+ status: string;
82
+ desynchronized: number;
83
+ leaf_count: number;
84
+ sealed_root: Buffer | Uint8Array | null;
85
+ seal_type: string | null;
86
+ close_timestamp: number | null;
87
+ frost_signature: Buffer | Uint8Array | null;
88
+ signer_pubkey: Buffer | Uint8Array | null;
89
+ directory_signature: Buffer | Uint8Array | null;
90
+ }
91
+ export interface SessionTreeLeafRow {
92
+ session_id: string;
93
+ agent_pubkey: string;
94
+ leaf_index: number;
95
+ leaf_kind: string;
96
+ s2_cbor: Buffer | Uint8Array;
97
+ sequence_number: number;
98
+ }
99
+ export interface PeerRow {
100
+ agent_pubkey: string;
101
+ peer_pubkey_hex: string;
102
+ peer_id: string;
103
+ multiaddrs: string;
104
+ }
105
+ export interface PendingHashRow {
106
+ id: number;
107
+ agent_pubkey: string;
108
+ session_id: string;
109
+ hash_hex: string;
110
+ enqueued_at: number;
111
+ }
112
+ export interface DecidedConnectionRequestRow {
113
+ request_id: string;
114
+ agent_pubkey: string;
115
+ decision: string;
116
+ }
117
+ export interface PendingConnectionRequestRow {
118
+ request_id: string;
119
+ agent_pubkey: string;
120
+ from_pubkey: string;
121
+ package_cbor: Buffer | Uint8Array;
122
+ round: number;
123
+ }
124
+ export interface ClientStatePersistenceOptions {
125
+ store: SQLCipherClientStore;
126
+ agentPubkey: string;
127
+ keyFilePath: string;
128
+ logger: Logger;
129
+ }
130
+ /**
131
+ * Client state persistence layer.
132
+ *
133
+ * Provides type-safe methods for persisting and loading all durable state
134
+ * from the V2 structured SQLCipher schema.
135
+ */
136
+ export declare class ClientStatePersistence {
137
+ #private;
138
+ constructor(opts: ClientStatePersistenceOptions);
139
+ /** Upsert the agent row (called on every startup). */
140
+ upsertAgent(): Promise<void>;
141
+ /** Persist a FROST key share after DKG completes. */
142
+ persistFrostKeyShare(opts: {
143
+ epochId: string;
144
+ primaryPubkey: string;
145
+ identifier: string;
146
+ signingShare: Uint8Array;
147
+ threshold: number;
148
+ participants: number;
149
+ commitmentsCbor: Uint8Array;
150
+ verifyingSharesCbor: Uint8Array;
151
+ dkgMethod: "trusted_dealer" | "network_dkg";
152
+ }): Promise<void>;
153
+ /** Load the active FROST key share for this agent. */
154
+ loadActiveFrostKeyShare(): Promise<FrostKeyShareRow | undefined>;
155
+ /** Persist an ML-DSA keypair after registration. */
156
+ persistMlDsaKeypair(opts: {
157
+ mlDsaPubkey: string;
158
+ secretKeyBlob: Uint8Array;
159
+ }): Promise<void>;
160
+ /** Load the ML-DSA keypair for this agent. */
161
+ loadMlDsaKeypair(): Promise<MlDsaKeypairRow | undefined>;
162
+ /** Persist registration state after successful register(). */
163
+ persistRegistrationState(opts: {
164
+ agentId: string;
165
+ primaryPubkey: string;
166
+ mlDsaPubkey: string;
167
+ registeredAt: number;
168
+ }): Promise<void>;
169
+ /** Load registration state for this agent. */
170
+ loadRegistrationState(): Promise<RegistrationStateRow | undefined>;
171
+ /** Persist a connection record. */
172
+ persistConnection(opts: {
173
+ connectionId: string;
174
+ counterpartyPubkey: string;
175
+ counterpartyPrimaryPubkey?: string;
176
+ counterpartyMlDsaPubkey?: string;
177
+ establishedAt: number;
178
+ profileUnchecked?: boolean;
179
+ }): Promise<void>;
180
+ /** Load all connections for this agent. */
181
+ loadConnections(): Promise<ConnectionRow[]>;
182
+ /** Persist connection policy (upsert mode + requirements in a single transaction). */
183
+ persistConnectionPolicy(policy: SignalRequirementPolicy): Promise<void>;
184
+ /** Load connection policy for this agent. */
185
+ loadConnectionPolicy(): Promise<SignalRequirementPolicy | undefined>;
186
+ /** Persist a session record. */
187
+ persistSession(sessionIdHex: string, record: SessionRecord): Promise<void>;
188
+ /** Load all sessions for this agent. */
189
+ loadSessions(): Promise<SessionRow[]>;
190
+ /** Persist a single session tree leaf. */
191
+ persistSessionTreeLeaf(opts: {
192
+ sessionIdHex: string;
193
+ leafIndex: number;
194
+ leafKind: "msg" | "ctrl";
195
+ s2Cbor: Uint8Array;
196
+ sequenceNumber: number;
197
+ }): Promise<void>;
198
+ /** Load all leaves for a session in order. */
199
+ loadSessionTreeLeaves(sessionIdHex: string): Promise<SessionTreeLeafRow[]>;
200
+ /** Persist a peer record. */
201
+ persistPeer(opts: {
202
+ peerPubkeyHex: string;
203
+ peerId: string;
204
+ multiaddrs: string[];
205
+ }): Promise<void>;
206
+ /** Load all peers for this agent. */
207
+ loadPeers(): Promise<PeerRow[]>;
208
+ /** Persist a pending hash entry. */
209
+ persistPendingHash(opts: {
210
+ sessionId: string;
211
+ hashHex: string;
212
+ enqueuedAt: number;
213
+ }): Promise<void>;
214
+ /** Remove a pending hash after ACK is stored. */
215
+ removePendingHash(sessionId: string, hashHex: string): Promise<void>;
216
+ /** Load all pending hashes for this agent. */
217
+ loadPendingHashes(): Promise<PendingHashRow[]>;
218
+ /** Persist a relay ACK receipt. SI-004: INSERT OR IGNORE — first ACK wins. */
219
+ persistRelayAckReceipt(opts: {
220
+ hashHex: string;
221
+ sessionId: string;
222
+ relayId: string;
223
+ relayPubkeyHex: string;
224
+ sequenceNumber: number;
225
+ relayTimestamp: number;
226
+ signatureHex: string;
227
+ }): Promise<{
228
+ isDuplicate: boolean;
229
+ }>;
230
+ /** Cache a relay pubkey. */
231
+ persistKnownRelay(relayId: string, relayPubkeyHex: string, source: string): Promise<void>;
232
+ /** Look up a cached relay pubkey. */
233
+ lookupKnownRelay(relayId: string): Promise<string | undefined>;
234
+ /** Persist a pending inbound connection request. */
235
+ persistPendingConnectionRequest(opts: {
236
+ requestId: string;
237
+ fromPubkey: string;
238
+ packageCbor: Uint8Array;
239
+ round: number;
240
+ }): Promise<void>;
241
+ /** Remove from pending and insert into decided (atomic — wrapped in a transaction). */
242
+ decidePendingConnectionRequest(requestId: string, decision: "accepted" | "rejected" | "more_disclosure"): Promise<void>;
243
+ /** Load pending connection requests. */
244
+ loadPendingConnectionRequests(): Promise<PendingConnectionRequestRow[]>;
245
+ /** Load decided connection request IDs. */
246
+ loadDecidedConnectionRequests(): Promise<DecidedConnectionRequestRow[]>;
247
+ /** Load non-expired endorsements. */
248
+ loadEndorsements(nowMs: number): Promise<Array<Record<string, unknown>>>;
249
+ /** Load non-expired attestations. */
250
+ loadAttestations(nowMs: number): Promise<Array<Record<string, unknown>>>;
251
+ /** Persist backup metadata. */
252
+ persistBackupMetadata(opts: {
253
+ completedAt: string;
254
+ destinationUrl: string;
255
+ checksum: string;
256
+ }): Promise<void>;
257
+ /** Load backup metadata. */
258
+ loadBackupMetadata(): Promise<{
259
+ destination_url: string;
260
+ checksum: string;
261
+ completed_at: string;
262
+ } | undefined>;
263
+ /**
264
+ * Load all durable state from DB and emit the batch summary event.
265
+ * Returns counts and booleans for client.startup.state.loaded.
266
+ */
267
+ loadStartupState(): Promise<{
268
+ hasFrostShare: boolean;
269
+ hasMlDsaKeypair: boolean;
270
+ hasRegistration: boolean;
271
+ hasPolicy: boolean;
272
+ connectionCount: number;
273
+ sessionCount: number;
274
+ leafCount: number;
275
+ pendingHashCount: number;
276
+ frostShare: FrostKeyShareRow | undefined;
277
+ mlDsaKeypair: MlDsaKeypairRow | undefined;
278
+ registrationState: RegistrationStateRow | undefined;
279
+ connectionPolicy: SignalRequirementPolicy | undefined;
280
+ connections: ConnectionRow[];
281
+ sessions: SessionRow[];
282
+ peers: PeerRow[];
283
+ pendingHashes: PendingHashRow[];
284
+ decidedRequests: DecidedConnectionRequestRow[];
285
+ pendingConnectionRequests: PendingConnectionRequestRow[];
286
+ endorsements: Array<Record<string, unknown>>;
287
+ attestations: Array<Record<string, unknown>>;
288
+ }>;
289
+ }
290
+ //# sourceMappingURL=client-state-persistence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-state-persistence.d.ts","sourceRoot":"","sources":["../src/client-state-persistence.ts"],"names":[],"mappings":"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"}