@cello-protocol/client 0.0.19 → 0.0.21
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/client.d.ts.map +1 -1
- package/dist/client.js +28 -4
- package/dist/client.js.map +1 -1
- package/dist/sqlcipher-client-store.d.ts +16 -0
- package/dist/sqlcipher-client-store.d.ts.map +1 -1
- package/dist/sqlcipher-client-store.js +75 -149
- package/dist/sqlcipher-client-store.js.map +1 -1
- package/package.json +4 -3
|
@@ -4,6 +4,22 @@
|
|
|
4
4
|
* PERSIST-009: Implements the ClientStore interface backed by SQLCipher-encrypted SQLite.
|
|
5
5
|
* Used only by the composition root. Never exported from packages/client/src/index.ts.
|
|
6
6
|
*
|
|
7
|
+
* CELLO-M6B-013: Replaced @journeyapps/sqlcipher (always compiles from source, 20-40s)
|
|
8
|
+
* with @signalapp/sqlcipher (ships prebuilt binaries for darwin-arm64, darwin-x64,
|
|
9
|
+
* linux-arm64, linux-x64, win32-arm64, win32-x64). The prebuilt binaries are bundled
|
|
10
|
+
* inside the npm tarball — no node-gyp invocation occurs on install.
|
|
11
|
+
*
|
|
12
|
+
* @signalapp/sqlcipher is a SQLCipher 4 binding with the same AES-256-CBC defaults
|
|
13
|
+
* as @journeyapps/sqlcipher. Databases created by @journeyapps/sqlcipher are readable
|
|
14
|
+
* by @signalapp/sqlcipher using the same PRAGMA key = "x'<hexkey>'" format. Verified
|
|
15
|
+
* by the cross-library compatibility test in m6b-013-sqlcipher-compat.test.ts (AC-002).
|
|
16
|
+
*
|
|
17
|
+
* API: @signalapp/sqlcipher uses a synchronous better-sqlite3-style API:
|
|
18
|
+
* db.prepare(sql).run([params]) / .get([params]) / .all([params])
|
|
19
|
+
* db.exec(sql)
|
|
20
|
+
* db.pragma(source, { simple: true })
|
|
21
|
+
* db.transaction(fn)
|
|
22
|
+
*
|
|
7
23
|
* Security invariants (PERSIST-009):
|
|
8
24
|
* SI-001: db_key is NEVER logged, serialized, or included in any error message.
|
|
9
25
|
* SI-002: Constructor takes db_key (Uint8Array), NOT identity_key. The caller
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlcipher-client-store.d.ts","sourceRoot":"","sources":["../src/sqlcipher-client-store.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"sqlcipher-client-store.d.ts","sourceRoot":"","sources":["../src/sqlcipher-client-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAmCtE,MAAM,WAAW,2BAA2B;IAC1C,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;CAChB;AAID;;;;;;;GAOG;AACH,qBAAa,oBAAqB,YAAW,WAAW;;IAWtD;;;;OAIG;gBACS,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,2BAA2B;IAkBnE;;;;;;;;;;;OAWG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkE3B,oEAAoE;IAC9D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAStB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAIlD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA6LzC;;;OAGG;IACG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAM5F;;OAEG;IACG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAKtG;;OAEG;IACG,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAK7F;;OAEG;IACG,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtC;;OAEG;IACH,MAAM,IAAI,OAAO;CAGlB"}
|
|
@@ -4,6 +4,22 @@
|
|
|
4
4
|
* PERSIST-009: Implements the ClientStore interface backed by SQLCipher-encrypted SQLite.
|
|
5
5
|
* Used only by the composition root. Never exported from packages/client/src/index.ts.
|
|
6
6
|
*
|
|
7
|
+
* CELLO-M6B-013: Replaced @journeyapps/sqlcipher (always compiles from source, 20-40s)
|
|
8
|
+
* with @signalapp/sqlcipher (ships prebuilt binaries for darwin-arm64, darwin-x64,
|
|
9
|
+
* linux-arm64, linux-x64, win32-arm64, win32-x64). The prebuilt binaries are bundled
|
|
10
|
+
* inside the npm tarball — no node-gyp invocation occurs on install.
|
|
11
|
+
*
|
|
12
|
+
* @signalapp/sqlcipher is a SQLCipher 4 binding with the same AES-256-CBC defaults
|
|
13
|
+
* as @journeyapps/sqlcipher. Databases created by @journeyapps/sqlcipher are readable
|
|
14
|
+
* by @signalapp/sqlcipher using the same PRAGMA key = "x'<hexkey>'" format. Verified
|
|
15
|
+
* by the cross-library compatibility test in m6b-013-sqlcipher-compat.test.ts (AC-002).
|
|
16
|
+
*
|
|
17
|
+
* API: @signalapp/sqlcipher uses a synchronous better-sqlite3-style API:
|
|
18
|
+
* db.prepare(sql).run([params]) / .get([params]) / .all([params])
|
|
19
|
+
* db.exec(sql)
|
|
20
|
+
* db.pragma(source, { simple: true })
|
|
21
|
+
* db.transaction(fn)
|
|
22
|
+
*
|
|
7
23
|
* Security invariants (PERSIST-009):
|
|
8
24
|
* SI-001: db_key is NEVER logged, serialized, or included in any error message.
|
|
9
25
|
* SI-002: Constructor takes db_key (Uint8Array), NOT identity_key. The caller
|
|
@@ -76,35 +92,46 @@ export class SQLCipherClientStore {
|
|
|
76
92
|
* database over the corrupt file (DB-001).
|
|
77
93
|
*/
|
|
78
94
|
async open() {
|
|
79
|
-
// Load the native module. Using createRequire because @
|
|
95
|
+
// Load the native module. Using createRequire because @signalapp/sqlcipher
|
|
80
96
|
// is a CJS module and this file is ESM.
|
|
81
97
|
const require = createRequire(import.meta.url);
|
|
82
|
-
let
|
|
98
|
+
let signalModule;
|
|
83
99
|
try {
|
|
84
|
-
|
|
100
|
+
signalModule = require("@signalapp/sqlcipher");
|
|
85
101
|
}
|
|
86
102
|
catch (loadErr) {
|
|
87
103
|
const reason = loadErr instanceof Error ? loadErr.message : String(loadErr);
|
|
88
104
|
this.#logger.error("client.store.open.failed", { reason: `SQLCipher native module unavailable: ${reason}`, agentId: this.#agentId });
|
|
89
105
|
throw new Error(`SQLCipher native module unavailable: ${reason}`);
|
|
90
106
|
}
|
|
91
|
-
|
|
107
|
+
// @signalapp/sqlcipher exports { default: Database, Database, setLogger }
|
|
108
|
+
// The Database constructor takes a file path.
|
|
109
|
+
const DatabaseCtor = signalModule.Database ?? signalModule.default;
|
|
110
|
+
let db;
|
|
111
|
+
try {
|
|
112
|
+
db = new DatabaseCtor(this.#dbPath);
|
|
113
|
+
}
|
|
114
|
+
catch (openErr) {
|
|
115
|
+
const reason = openErr instanceof Error ? openErr.message : String(openErr);
|
|
116
|
+
this.#logger.error("client.store.open.failed", { reason, agentId: this.#agentId });
|
|
117
|
+
throw openErr;
|
|
118
|
+
}
|
|
92
119
|
// NOTE: do not assign this.#db yet — #applyKey and #verifyKey must succeed first.
|
|
93
120
|
try {
|
|
94
121
|
// Apply PRAGMA key (SI-003: only the key PRAGMA — no weakening cipher settings)
|
|
95
|
-
|
|
122
|
+
this.#applyKey(db);
|
|
96
123
|
// Verify the key is correct by reading the sqlite_master table.
|
|
97
|
-
// If the key is wrong or the file is corrupt, this will
|
|
98
|
-
|
|
124
|
+
// If the key is wrong or the file is corrupt, this will throw.
|
|
125
|
+
this.#verifyKey(db);
|
|
99
126
|
// SI-001 (M6B-005): WAL mode is set AFTER key verification and BEFORE migrations.
|
|
100
127
|
// Order: (1) PRAGMA key, (2) verify key, (3) PRAGMA journal_mode=WAL, (4) migrations.
|
|
101
128
|
// WAL mode is issued on a key-verified database — attackers with filesystem access
|
|
102
129
|
// see encrypted WAL files, not plaintext.
|
|
103
|
-
const journalMode =
|
|
130
|
+
const journalMode = this.#setWalMode(db);
|
|
104
131
|
// Key is verified — safe to make the database accessible to other methods.
|
|
105
132
|
this.#db = db;
|
|
106
133
|
// Run migration runner — applies pending V{n}__*.sql files
|
|
107
|
-
|
|
134
|
+
this.#runMigrations(db);
|
|
108
135
|
this.#logger.info("client.store.opened", {
|
|
109
136
|
env: this.#env,
|
|
110
137
|
dbPath: this.#dbPath,
|
|
@@ -120,9 +147,10 @@ export class SQLCipherClientStore {
|
|
|
120
147
|
agentId: this.#agentId,
|
|
121
148
|
});
|
|
122
149
|
// Close the DB to release the file handle
|
|
123
|
-
|
|
124
|
-
db.close(
|
|
125
|
-
}
|
|
150
|
+
try {
|
|
151
|
+
db.close();
|
|
152
|
+
}
|
|
153
|
+
catch { /* ignore close error */ }
|
|
126
154
|
this.#db = null;
|
|
127
155
|
throw err;
|
|
128
156
|
}
|
|
@@ -133,14 +161,7 @@ export class SQLCipherClientStore {
|
|
|
133
161
|
return;
|
|
134
162
|
const db = this.#db;
|
|
135
163
|
this.#db = null;
|
|
136
|
-
|
|
137
|
-
db.close((err) => {
|
|
138
|
-
if (err)
|
|
139
|
-
reject(err);
|
|
140
|
-
else
|
|
141
|
-
resolve();
|
|
142
|
-
});
|
|
143
|
-
});
|
|
164
|
+
db.close();
|
|
144
165
|
}
|
|
145
166
|
// ─── ClientStore interface ─────────────────────────────────────────────────
|
|
146
167
|
async set(_key, _value) {
|
|
@@ -161,41 +182,20 @@ export class SQLCipherClientStore {
|
|
|
161
182
|
throw new Error("SQLCipherClientStore: database is not open. Call open() first.");
|
|
162
183
|
}
|
|
163
184
|
}
|
|
164
|
-
/** Open the SQLite database file. Returns the Database instance on success. */
|
|
165
|
-
async #openDatabase(sqlite3Module) {
|
|
166
|
-
return new Promise((resolve, reject) => {
|
|
167
|
-
// OPEN_CREATE creates the file if absent (first run). On an existing corrupt file,
|
|
168
|
-
// SQLite opens it without error at the OS level; #verifyKey detects the corruption
|
|
169
|
-
// and throws without writing to the file — satisfying DB-001 (never overwrite a
|
|
170
|
-
// corrupt database).
|
|
171
|
-
const mode = sqlite3Module.OPEN_READWRITE | sqlite3Module.OPEN_CREATE;
|
|
172
|
-
const db = new sqlite3Module.Database(this.#dbPath, mode, (err) => {
|
|
173
|
-
if (err)
|
|
174
|
-
reject(err);
|
|
175
|
-
else
|
|
176
|
-
resolve(db);
|
|
177
|
-
});
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
185
|
/**
|
|
181
186
|
* Apply the SQLCipher PRAGMA key using the raw hex format.
|
|
182
187
|
* The key is passed as x'<hex>' which is the SQLCipher raw key format.
|
|
183
188
|
* SI-001: The key hex is used only in the PRAGMA string and never logged.
|
|
184
189
|
* SI-003: Only the `key` PRAGMA is set — no cipher_* weakening PRAGMAs.
|
|
190
|
+
*
|
|
191
|
+
* @signalapp/sqlcipher's synchronous pragma() throws on error — no callback needed.
|
|
185
192
|
*/
|
|
186
|
-
|
|
193
|
+
#applyKey(db) {
|
|
187
194
|
const keyHex = Buffer.from(this.#dbKey).toString("hex");
|
|
188
|
-
const
|
|
195
|
+
const pragmaSource = `key = "x'${keyHex}'"`;
|
|
189
196
|
// SI-001: keyHex is used only in the PRAGMA string and is never logged.
|
|
190
197
|
// SI-003: only the `key` PRAGMA is issued — no cipher_* weakening PRAGMAs.
|
|
191
|
-
|
|
192
|
-
db.run(pragmaSql, [], function (err) {
|
|
193
|
-
if (err)
|
|
194
|
-
reject(err);
|
|
195
|
-
else
|
|
196
|
-
resolve();
|
|
197
|
-
});
|
|
198
|
-
});
|
|
198
|
+
db.pragma(pragmaSource);
|
|
199
199
|
}
|
|
200
200
|
/**
|
|
201
201
|
* Verify the PRAGMA key is correct by executing a test query.
|
|
@@ -205,21 +205,14 @@ export class SQLCipherClientStore {
|
|
|
205
205
|
* DB-001: We do NOT catch and recover here — the error propagates to open()
|
|
206
206
|
* which logs client.store.open.failed and throws, halting the client.
|
|
207
207
|
*/
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
db.get(`SELECT count(*) as c FROM sqlite_master`, [], (err, _row) => {
|
|
211
|
-
if (err)
|
|
212
|
-
reject(err);
|
|
213
|
-
else
|
|
214
|
-
resolve();
|
|
215
|
-
});
|
|
216
|
-
});
|
|
208
|
+
#verifyKey(db) {
|
|
209
|
+
db.prepare(`SELECT count(*) as c FROM sqlite_master`).get([]);
|
|
217
210
|
}
|
|
218
211
|
/**
|
|
219
212
|
* Enable WAL (Write-Ahead Log) journal mode on the database.
|
|
220
213
|
*
|
|
221
|
-
*
|
|
222
|
-
*
|
|
214
|
+
* @signalapp/sqlcipher's synchronous pragma() with { simple: true } returns
|
|
215
|
+
* the first column of the first result row directly.
|
|
223
216
|
*
|
|
224
217
|
* Implements SI-001 (M6B-005): Must only be called AFTER #verifyKey() succeeds.
|
|
225
218
|
* WAL mode on an unverified database would operate on plaintext; by calling this after
|
|
@@ -227,21 +220,12 @@ export class SQLCipherClientStore {
|
|
|
227
220
|
*
|
|
228
221
|
* Returns the active journal mode string (normally 'wal').
|
|
229
222
|
*/
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
return reject(new Error("PRAGMA journal_mode=WAL returned no result"));
|
|
237
|
-
}
|
|
238
|
-
const mode = String(row.journal_mode);
|
|
239
|
-
if (mode !== "wal") {
|
|
240
|
-
return reject(new Error(`WAL mode failed: expected 'wal', got '${mode}'. This may occur on network filesystems (NFS, SMB). Move your CELLO_DB_PATH to a local filesystem.`));
|
|
241
|
-
}
|
|
242
|
-
resolve(mode);
|
|
243
|
-
});
|
|
244
|
-
});
|
|
223
|
+
#setWalMode(db) {
|
|
224
|
+
const mode = db.pragma("journal_mode=WAL", { simple: true });
|
|
225
|
+
if (mode !== "wal") {
|
|
226
|
+
throw new Error(`WAL mode failed: expected 'wal', got '${mode}'. This may occur on network filesystems (NFS, SMB). Move your CELLO_DB_PATH to a local filesystem.`);
|
|
227
|
+
}
|
|
228
|
+
return mode;
|
|
245
229
|
}
|
|
246
230
|
/**
|
|
247
231
|
* Run the custom migration runner.
|
|
@@ -254,18 +238,18 @@ export class SQLCipherClientStore {
|
|
|
254
238
|
* 5. Record the version in schema_migrations.
|
|
255
239
|
* 6. Log client.store.migration.applied for each applied migration.
|
|
256
240
|
*/
|
|
257
|
-
|
|
241
|
+
#runMigrations(db) {
|
|
258
242
|
// Bootstrap the migrations table before any migration runs — this is not a migration
|
|
259
243
|
// itself and must not be inside a migration transaction.
|
|
260
244
|
// Step 1: bootstrap the schema_migrations table itself
|
|
261
|
-
|
|
245
|
+
db.exec(`CREATE TABLE IF NOT EXISTS schema_migrations (
|
|
262
246
|
version TEXT PRIMARY KEY,
|
|
263
247
|
applied_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
264
248
|
)`);
|
|
265
249
|
// Step 2: read migration files
|
|
266
250
|
const migrationFiles = this.#readMigrationFiles();
|
|
267
251
|
// Step 3: find already-applied migrations
|
|
268
|
-
const appliedVersions =
|
|
252
|
+
const appliedVersions = this.#queryAppliedVersions(db);
|
|
269
253
|
// Step 4-6: apply pending migrations in order
|
|
270
254
|
let v2Applied = false;
|
|
271
255
|
const v2StartTime = Date.now();
|
|
@@ -275,7 +259,7 @@ export class SQLCipherClientStore {
|
|
|
275
259
|
const sql = readFileSync(filename, "utf-8");
|
|
276
260
|
const startTime = Date.now();
|
|
277
261
|
try {
|
|
278
|
-
|
|
262
|
+
this.#applyMigration(db, sql, version);
|
|
279
263
|
const executionTime = Date.now() - startTime;
|
|
280
264
|
this.#logger.info("client.store.migration.applied", {
|
|
281
265
|
version,
|
|
@@ -342,59 +326,22 @@ export class SQLCipherClientStore {
|
|
|
342
326
|
return migrations;
|
|
343
327
|
}
|
|
344
328
|
/** Query the schema_migrations table and return the set of applied version strings. */
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
if (err)
|
|
349
|
-
return reject(err);
|
|
350
|
-
const versions = new Set((rows ?? []).map((r) => String(r.version)));
|
|
351
|
-
resolve(versions);
|
|
352
|
-
});
|
|
353
|
-
});
|
|
329
|
+
#queryAppliedVersions(db) {
|
|
330
|
+
const rows = db.prepare(`SELECT version FROM schema_migrations`).all([]);
|
|
331
|
+
return new Set(rows.map((r) => r.version));
|
|
354
332
|
}
|
|
355
333
|
/**
|
|
356
334
|
* Apply a single migration SQL within a transaction and record it in schema_migrations.
|
|
357
335
|
*
|
|
358
|
-
*
|
|
359
|
-
*
|
|
360
|
-
* and COMMIT are already queued when a ROLLBACK fires. This method uses a linear await
|
|
361
|
-
* chain instead, which gives correct sequencing with real error propagation.
|
|
336
|
+
* @signalapp/sqlcipher's synchronous db.transaction(fn) wraps fn in a BEGIN/COMMIT pair.
|
|
337
|
+
* If fn throws, the transaction is automatically rolled back.
|
|
362
338
|
*/
|
|
363
|
-
|
|
364
|
-
const
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
else
|
|
368
|
-
res();
|
|
369
|
-
}));
|
|
370
|
-
const exec = (stmt) => new Promise((res, rej) => db.exec(stmt, (err) => {
|
|
371
|
-
if (err)
|
|
372
|
-
rej(err);
|
|
373
|
-
else
|
|
374
|
-
res();
|
|
375
|
-
}));
|
|
376
|
-
await run("BEGIN");
|
|
377
|
-
try {
|
|
378
|
-
await exec(sql);
|
|
379
|
-
await run(`INSERT OR IGNORE INTO schema_migrations (version, applied_at) VALUES (?, datetime('now'))`, [version]);
|
|
380
|
-
await run("COMMIT");
|
|
381
|
-
}
|
|
382
|
-
catch (err) {
|
|
383
|
-
// Best-effort rollback — if ROLLBACK itself fails we still re-throw the original error.
|
|
384
|
-
await run("ROLLBACK").catch(() => { });
|
|
385
|
-
throw err;
|
|
386
|
-
}
|
|
387
|
-
}
|
|
388
|
-
/** Execute a SQL statement with no parameters. */
|
|
389
|
-
async #execSql(db, sql) {
|
|
390
|
-
return new Promise((resolve, reject) => {
|
|
391
|
-
db.exec(sql, (err) => {
|
|
392
|
-
if (err)
|
|
393
|
-
reject(err);
|
|
394
|
-
else
|
|
395
|
-
resolve();
|
|
396
|
-
});
|
|
339
|
+
#applyMigration(db, sql, version) {
|
|
340
|
+
const applyFn = db.transaction(() => {
|
|
341
|
+
db.exec(sql);
|
|
342
|
+
db.prepare(`INSERT OR IGNORE INTO schema_migrations (version, applied_at) VALUES (?, datetime('now'))`).run([version]);
|
|
397
343
|
});
|
|
344
|
+
applyFn();
|
|
398
345
|
}
|
|
399
346
|
// ─── Structured DB access (PERSIST-024) ───────────────────────────────────────
|
|
400
347
|
/**
|
|
@@ -403,50 +350,29 @@ export class SQLCipherClientStore {
|
|
|
403
350
|
*/
|
|
404
351
|
async run(sql, params = []) {
|
|
405
352
|
this.#assertOpen();
|
|
406
|
-
const
|
|
407
|
-
return
|
|
408
|
-
db.run(sql, params, function (err) {
|
|
409
|
-
if (err)
|
|
410
|
-
reject(err);
|
|
411
|
-
else
|
|
412
|
-
resolve({ lastID: this.lastID, changes: this.changes });
|
|
413
|
-
});
|
|
414
|
-
});
|
|
353
|
+
const result = this.#db.prepare(sql).run(params);
|
|
354
|
+
return { lastID: result.lastInsertRowid, changes: result.changes };
|
|
415
355
|
}
|
|
416
356
|
/**
|
|
417
357
|
* Execute a parameterized query returning a single row (or undefined).
|
|
418
358
|
*/
|
|
419
359
|
async getRow(sql, params = []) {
|
|
420
360
|
this.#assertOpen();
|
|
421
|
-
|
|
422
|
-
return new Promise((resolve, reject) => {
|
|
423
|
-
db.get(sql, params, (err, row) => {
|
|
424
|
-
if (err)
|
|
425
|
-
return reject(err);
|
|
426
|
-
resolve(row);
|
|
427
|
-
});
|
|
428
|
-
});
|
|
361
|
+
return this.#db.prepare(sql).get(params);
|
|
429
362
|
}
|
|
430
363
|
/**
|
|
431
364
|
* Execute a parameterized query returning all matching rows.
|
|
432
365
|
*/
|
|
433
366
|
async allRows(sql, params = []) {
|
|
434
367
|
this.#assertOpen();
|
|
435
|
-
|
|
436
|
-
return new Promise((resolve, reject) => {
|
|
437
|
-
db.all(sql, params, (err, rows) => {
|
|
438
|
-
if (err)
|
|
439
|
-
return reject(err);
|
|
440
|
-
resolve((rows ?? []));
|
|
441
|
-
});
|
|
442
|
-
});
|
|
368
|
+
return this.#db.prepare(sql).all(params);
|
|
443
369
|
}
|
|
444
370
|
/**
|
|
445
371
|
* Execute raw SQL without parameters (for multi-statement DDL or pragmas).
|
|
446
372
|
*/
|
|
447
373
|
async exec(sql) {
|
|
448
374
|
this.#assertOpen();
|
|
449
|
-
|
|
375
|
+
this.#db.exec(sql);
|
|
450
376
|
}
|
|
451
377
|
/**
|
|
452
378
|
* Check if the database is open.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlcipher-client-store.js","sourceRoot":"","sources":["../src/sqlcipher-client-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sqlcipher-client-store.js","sourceRoot":"","sources":["../src/sqlcipher-client-store.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cello-protocol/client",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.21",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -25,20 +25,21 @@
|
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@aws-sdk/client-s3": "3.1051.0",
|
|
27
27
|
"@cello-protocol/interfaces": "0.0.3",
|
|
28
|
-
"@journeyapps/sqlcipher": "^6.0.0",
|
|
29
28
|
"@libp2p/interface": "^3.2.2",
|
|
30
29
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
31
30
|
"@noble/curves": "^2.2.0",
|
|
31
|
+
"@signalapp/sqlcipher": "^3.3.5",
|
|
32
32
|
"cbor-x": "^1.6.0",
|
|
33
33
|
"it-length-prefixed": "^10.0.1",
|
|
34
34
|
"it-pipe": "^3.0.1",
|
|
35
35
|
"zod": "^4.4.2",
|
|
36
|
-
"@cello-protocol/crypto": "0.0.7",
|
|
37
36
|
"@cello-protocol/protocol-types": "0.0.3",
|
|
37
|
+
"@cello-protocol/crypto": "0.0.7",
|
|
38
38
|
"@cello-protocol/transport": "0.0.4"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@claude-flow/testing": "3.0.0-alpha.6",
|
|
42
|
+
"@journeyapps/sqlcipher": "^6.0.0",
|
|
42
43
|
"@types/node": "^25.6.2",
|
|
43
44
|
"@cello-protocol/test-fixtures": "0.0.3"
|
|
44
45
|
},
|