@livestore/sqlite-wasm 0.4.0-dev.22 → 0.4.0-dev.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/README.md +1 -1
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/FacadeVFS.d.ts +0 -1
  4. package/dist/FacadeVFS.d.ts.map +1 -1
  5. package/dist/FacadeVFS.js +9 -14
  6. package/dist/FacadeVFS.js.map +1 -1
  7. package/dist/browser/mod.d.ts +2 -2
  8. package/dist/browser/mod.d.ts.map +1 -1
  9. package/dist/browser/mod.js +2 -2
  10. package/dist/browser/mod.js.map +1 -1
  11. package/dist/browser/opfs/AccessHandlePoolVFS.d.ts.map +1 -1
  12. package/dist/browser/opfs/AccessHandlePoolVFS.js +15 -13
  13. package/dist/browser/opfs/AccessHandlePoolVFS.js.map +1 -1
  14. package/dist/browser/opfs/opfs-sah-pool.js +3 -3
  15. package/dist/browser/opfs/opfs-sah-pool.js.map +1 -1
  16. package/dist/cf/CloudflareDurableObjectVFS.d.ts +104 -0
  17. package/dist/cf/CloudflareDurableObjectVFS.d.ts.map +1 -0
  18. package/dist/cf/CloudflareDurableObjectVFS.js +281 -0
  19. package/dist/cf/CloudflareDurableObjectVFS.js.map +1 -0
  20. package/dist/cf/CloudflareWorkerVFS.d.ts.map +1 -1
  21. package/dist/cf/CloudflareWorkerVFS.js +29 -28
  22. package/dist/cf/CloudflareWorkerVFS.js.map +1 -1
  23. package/dist/cf/mod.d.ts +3 -4
  24. package/dist/cf/mod.d.ts.map +1 -1
  25. package/dist/cf/mod.js +4 -12
  26. package/dist/cf/mod.js.map +1 -1
  27. package/dist/cf/test/async-storage/cloudflare-worker-vfs-advanced.test.js +5 -4
  28. package/dist/cf/test/async-storage/cloudflare-worker-vfs-advanced.test.js.map +1 -1
  29. package/dist/cf/test/async-storage/cloudflare-worker-vfs-core.test.js +3 -3
  30. package/dist/cf/test/async-storage/cloudflare-worker-vfs-core.test.js.map +1 -1
  31. package/dist/cf/test/async-storage/cloudflare-worker-vfs-integration.test.js +3 -3
  32. package/dist/cf/test/async-storage/cloudflare-worker-vfs-integration.test.js.map +1 -1
  33. package/dist/cf/test/async-storage/cloudflare-worker-vfs-reliability.test.js +3 -3
  34. package/dist/cf/test/async-storage/cloudflare-worker-vfs-reliability.test.js.map +1 -1
  35. package/dist/cf/test/sql/cloudflare-sql-vfs-core.test.js +194 -179
  36. package/dist/cf/test/sql/cloudflare-sql-vfs-core.test.js.map +1 -1
  37. package/dist/in-memory-vfs.d.ts.map +1 -1
  38. package/dist/in-memory-vfs.js +0 -1
  39. package/dist/in-memory-vfs.js.map +1 -1
  40. package/dist/load-wasm/mod.node.js +1 -1
  41. package/dist/load-wasm/mod.node.js.map +1 -1
  42. package/dist/load-wasm/mod.workerd.d.ts.map +1 -1
  43. package/dist/load-wasm/mod.workerd.js.map +1 -1
  44. package/dist/make-sqlite-db.d.ts.map +1 -1
  45. package/dist/make-sqlite-db.js +16 -4
  46. package/dist/make-sqlite-db.js.map +1 -1
  47. package/dist/node/NodeFS.d.ts.map +1 -1
  48. package/dist/node/NodeFS.js +13 -13
  49. package/dist/node/NodeFS.js.map +1 -1
  50. package/package.json +54 -15
  51. package/src/FacadeVFS.ts +9 -14
  52. package/src/browser/mod.ts +1 -1
  53. package/src/browser/opfs/AccessHandlePoolVFS.ts +33 -25
  54. package/src/browser/opfs/opfs-sah-pool.ts +3 -3
  55. package/src/cf/CloudflareDurableObjectVFS.ts +325 -0
  56. package/src/cf/CloudflareWorkerVFS.ts +41 -39
  57. package/src/cf/README.md +3 -3
  58. package/src/cf/mod.ts +10 -15
  59. package/src/cf/test/README.md +55 -26
  60. package/src/cf/test/async-storage/cloudflare-worker-vfs-advanced.test.ts +6 -4
  61. package/src/cf/test/async-storage/cloudflare-worker-vfs-core.test.ts +4 -3
  62. package/src/cf/test/async-storage/cloudflare-worker-vfs-integration.test.ts +4 -3
  63. package/src/cf/test/async-storage/cloudflare-worker-vfs-reliability.test.ts +4 -3
  64. package/src/cf/test/sql/cloudflare-sql-vfs-core.test.ts +228 -197
  65. package/src/in-memory-vfs.ts +0 -1
  66. package/src/load-wasm/mod.node.ts +1 -1
  67. package/src/load-wasm/mod.workerd.ts +0 -1
  68. package/src/make-sqlite-db.ts +24 -4
  69. package/src/node/NodeFS.ts +24 -23
  70. package/dist/cf/BlockManager.d.ts +0 -61
  71. package/dist/cf/BlockManager.d.ts.map +0 -1
  72. package/dist/cf/BlockManager.js +0 -157
  73. package/dist/cf/BlockManager.js.map +0 -1
  74. package/dist/cf/CloudflareSqlVFS.d.ts +0 -51
  75. package/dist/cf/CloudflareSqlVFS.d.ts.map +0 -1
  76. package/dist/cf/CloudflareSqlVFS.js +0 -351
  77. package/dist/cf/CloudflareSqlVFS.js.map +0 -1
  78. package/src/cf/BlockManager.ts +0 -225
  79. package/src/cf/CloudflareSqlVFS.ts +0 -450
@@ -0,0 +1,281 @@
1
+ import * as VFS from '@livestore/wa-sqlite/src/VFS.js';
2
+ import { FacadeVFS } from "../FacadeVFS.js";
3
+ // Page size for SQL-based storage. Matches dbState page size (PRAGMA page_size=8192)
4
+ // so each SQLite page write maps to exactly one vfs_pages row write — no read-merge-write.
5
+ export const PAGE_SIZE = 8 * 1024; // 8 KiB
6
+ /**
7
+ * The {@link CloudflareDurableObjectVFS} VFS assumes SQLite is configured with these pragmas.
8
+ * These pragmas are required both for correctness and for minimizing SQLite writes
9
+ * to the underlying storage.
10
+ */
11
+ export const REQUIRED_PRAGMAS = [
12
+ // Must match the fixed VFS page size so each SQLite page maps to one vfs_pages row.
13
+ `page_size=${PAGE_SIZE}`,
14
+ // The rollback journal is the largest source of VFS writes. Keeping it
15
+ // in WASM memory avoids writing journal pages through the VFS entirely.
16
+ // This is acceptable because the state database is rebuildable from the
17
+ // eventlog in case of a crash. We still, however, need the journal for
18
+ // transaction rollbacks.
19
+ 'journal_mode=MEMORY',
20
+ // Skips jSync VFS calls (already a no-op, but avoids the dispatch).
21
+ 'synchronous=OFF',
22
+ // A Durable Object is single-threaded with a single connection, so shared
23
+ // locking is unnecessary. Exclusive mode skips per-transaction lock/unlock
24
+ // VFS calls and hot-journal jAccess checks.
25
+ 'locking_mode=EXCLUSIVE',
26
+ // Temp tables and indices stay in WASM memory, preventing temp-file VFS writes.
27
+ 'temp_store=MEMORY',
28
+ // Keeps all dirty pages in the WASM page cache until commit. Without this,
29
+ // SQLite may spill pages to the VFS mid-transaction, and if those pages are
30
+ // dirtied again before commit, the same page gets written twice.
31
+ 'cache_spill=OFF',
32
+ ];
33
+ /**
34
+ * wa-sqlite VFS for the LiveStore **state database** (dbState), backed by
35
+ * {@link https://developers.cloudflare.com/durable-objects/api/sql-storage/ | SQLite in Durable Objects}.
36
+ *
37
+ * ## Why wa-sqlite on top of SQLite in Durable Objects
38
+ *
39
+ * LiveStore's state database depends on SQLite APIs that SQLite in
40
+ * Durable Objects does not expose. This VFS persists wa-sqlite's pages as
41
+ * rows in the DO's SQLite storage, giving the state database durable
42
+ * persistence while retaining full access to the SQLite API.
43
+ *
44
+ * ## Write Optimization
45
+ *
46
+ * Every VFS write becomes a (billable) row write in the DO's SQLite. To
47
+ * reduce costs, this VFS assumes a wa-sqlite configured with {@link REQUIRED_PRAGMAS}
48
+ * for minimizing writes.
49
+ *
50
+ * ## File Identity
51
+ *
52
+ * LiveStore currently only persists the main database file through this VFS,
53
+ * but pages still stay keyed by file path, so schema-hashed filenames open
54
+ * isolated databases across process restarts.
55
+ */
56
+ export class CloudflareDurableObjectVFS extends FacadeVFS {
57
+ #sql;
58
+ /**
59
+ * Tracks the path and open flags for each SQLite file handle.
60
+ *
61
+ * @remarks
62
+ *
63
+ * After `jOpen`, SQLite calls the VFS with `fileId` for reads, writes,
64
+ * truncates, size checks, and close, so we need this in-memory map to get
65
+ * back to the persisted `file_path` key and honor handle-specific flags
66
+ * such as `SQLITE_OPEN_DELETEONCLOSE`.
67
+ */
68
+ #openFiles = new Map();
69
+ /**
70
+ * @param name - VFS name registered with wa-sqlite (must be unique per database).
71
+ * @param sql - The Durable Object's {@link CfTypes.SqlStorage} handle.
72
+ * @param module - The wa-sqlite WASM module instance.
73
+ */
74
+ constructor(name, sql, module) {
75
+ super(name, module);
76
+ this.#sql = sql;
77
+ this.#sql.exec(`CREATE TABLE IF NOT EXISTS vfs_pages (
78
+ file_path TEXT NOT NULL,
79
+ page_no INTEGER NOT NULL,
80
+ page_data BLOB NOT NULL,
81
+ PRIMARY KEY (file_path, page_no)
82
+ )`);
83
+ }
84
+ /**
85
+ * Accepts any open request unconditionally and records which path each fileId refers to.
86
+ *
87
+ * @remarks
88
+ *
89
+ * SQLite's fileId is only an in-memory open-handle identifier. Persisted
90
+ * data must stay keyed by filename so schema-hashed state DB filenames
91
+ * remain isolated from each other across restarts.
92
+ */
93
+ jOpen(path, fileId, flags, pOutFlags) {
94
+ const resolvedPath = this.#resolveOpenPath(path);
95
+ this.#openFiles.set(fileId, { path: resolvedPath, flags });
96
+ pOutFlags.setInt32(0, flags, true);
97
+ return VFS.SQLITE_OK;
98
+ }
99
+ jClose(fileId) {
100
+ try {
101
+ const openFile = this.#openFiles.get(fileId);
102
+ if (openFile === undefined)
103
+ return VFS.SQLITE_OK;
104
+ this.#openFiles.delete(fileId);
105
+ if ((openFile.flags & VFS.SQLITE_OPEN_DELETEONCLOSE) !== 0) {
106
+ this.#deleteFilePages(openFile.path);
107
+ }
108
+ return VFS.SQLITE_OK;
109
+ }
110
+ catch (error) {
111
+ console.error('jClose error:', error);
112
+ return VFS.SQLITE_IOERR_CLOSE;
113
+ }
114
+ }
115
+ /**
116
+ * Reads a single page from `vfs_pages` and copies the requested byte range
117
+ * into {@link buffer}.
118
+ *
119
+ * @remarks
120
+ *
121
+ * Missing pages are zero-filled and still return `SQLITE_OK` (not `SQLITE_IOERR_SHORT_READ`)
122
+ * because wa-sqlite expects this during initial database creation.
123
+ */
124
+ jRead(fileId, buffer, offset) {
125
+ try {
126
+ const { path } = this.#getOpenFile(fileId);
127
+ const pageNo = Math.floor(offset / PAGE_SIZE);
128
+ const cursor = this.#sql.exec('SELECT page_data FROM vfs_pages WHERE file_path = ? AND page_no = ?', path, pageNo);
129
+ const rows = cursor.toArray();
130
+ if (rows.length === 0) {
131
+ buffer.fill(0);
132
+ return VFS.SQLITE_OK;
133
+ }
134
+ const src = new Uint8Array(rows[0].page_data);
135
+ const pageOffset = offset % PAGE_SIZE;
136
+ const available = src.byteLength - pageOffset;
137
+ if (available >= buffer.byteLength) {
138
+ buffer.set(src.subarray(pageOffset, pageOffset + buffer.byteLength));
139
+ return VFS.SQLITE_OK;
140
+ }
141
+ buffer.set(src.subarray(pageOffset));
142
+ buffer.fill(0, available);
143
+ return VFS.SQLITE_OK;
144
+ }
145
+ catch (error) {
146
+ console.error('jRead error:', error);
147
+ return VFS.SQLITE_IOERR;
148
+ }
149
+ }
150
+ /**
151
+ * Writes a single page to `vfs_pages`.
152
+ *
153
+ * @remarks
154
+ *
155
+ * The VFS only supports canonical SQLite page writes. Rejecting any other
156
+ * shape turns page-size mismatches into a hard failure instead of silently
157
+ * aliasing multiple SQLite pages onto the same `vfs_pages` row.
158
+ *
159
+ * The data is copied out of the WASM heap via `data.slice()` because
160
+ * Cloudflare's SQL storage cannot persist the {@link FacadeVFS}
161
+ * Proxy-wrapped buffer across DO restarts.
162
+ */
163
+ jWrite(fileId, data, offset) {
164
+ try {
165
+ const { path } = this.#getOpenFile(fileId);
166
+ this.#assertCanonicalPageWrite(data, offset);
167
+ const pageNo = Math.floor(offset / PAGE_SIZE);
168
+ // data.slice() copies out of the WASM heap Proxy so CF SQL storage can persist the BLOB correctly.
169
+ this.#sql.exec('INSERT OR REPLACE INTO vfs_pages (file_path, page_no, page_data) VALUES (?, ?, ?)', path, pageNo, data.slice());
170
+ return VFS.SQLITE_OK;
171
+ }
172
+ catch (error) {
173
+ console.error('jWrite error:', error);
174
+ return VFS.SQLITE_IOERR;
175
+ }
176
+ }
177
+ /** Deletes all pages beyond the new file size boundary. */
178
+ jTruncate(fileId, size) {
179
+ try {
180
+ const { path } = this.#getOpenFile(fileId);
181
+ const lastPageNo = Math.ceil(size / PAGE_SIZE);
182
+ this.#sql.exec('DELETE FROM vfs_pages WHERE file_path = ? AND page_no >= ?', path, lastPageNo);
183
+ return VFS.SQLITE_OK;
184
+ }
185
+ catch (error) {
186
+ console.error('jTruncate error:', error);
187
+ return VFS.SQLITE_IOERR;
188
+ }
189
+ }
190
+ /**
191
+ * Derives file size from `MAX(page_no)`.
192
+ *
193
+ * @remarks
194
+ *
195
+ * Possible because all writes are page-aligned (page size matches `PRAGMA page_size`).
196
+ */
197
+ jFileSize(fileId, pSize64) {
198
+ try {
199
+ const { path } = this.#getOpenFile(fileId);
200
+ const row = this.#sql.exec('SELECT MAX(page_no) AS max_page FROM vfs_pages WHERE file_path = ?', path).one();
201
+ const fileSize = row.max_page === null ? 0 : (row.max_page + 1) * PAGE_SIZE;
202
+ pSize64.setBigInt64(0, BigInt(fileSize), true);
203
+ return VFS.SQLITE_OK;
204
+ }
205
+ catch (error) {
206
+ console.error('jFileSize error:', error);
207
+ return VFS.SQLITE_IOERR;
208
+ }
209
+ }
210
+ /** Wipes all pages for the requested file path. */
211
+ jDelete(path, _syncDir) {
212
+ try {
213
+ this.#deleteFilePages(this.#getPath(path));
214
+ return VFS.SQLITE_OK;
215
+ }
216
+ catch (error) {
217
+ console.error('jDelete error:', error);
218
+ return VFS.SQLITE_IOERR;
219
+ }
220
+ }
221
+ /** Always reports "not found".
222
+ *
223
+ * @remarks
224
+ *
225
+ * With `locking_mode=EXCLUSIVE` and `journal_mode=MEMORY`, the only `jAccess` call SQLite makes is for
226
+ * hot-journal detection, which does not apply. Returning 1 (found) would
227
+ * trigger hot-journal recovery writes on every cold start.
228
+ */
229
+ jAccess(_path, _flags, pResOut) {
230
+ pResOut.setInt32(0, 0, true);
231
+ return VFS.SQLITE_OK;
232
+ }
233
+ /** Returns page count and total stored bytes for diagnostics. */
234
+ getStats() {
235
+ try {
236
+ const cursor = this.#sql.exec('SELECT COUNT(*) AS total_pages, COALESCE(SUM(LENGTH(page_data)), 0) AS total_bytes FROM vfs_pages');
237
+ const stats = cursor.one();
238
+ return {
239
+ pageSize: PAGE_SIZE,
240
+ totalPages: stats.total_pages,
241
+ totalStoredBytes: stats.total_bytes,
242
+ };
243
+ }
244
+ catch {
245
+ return {
246
+ pageSize: PAGE_SIZE,
247
+ totalPages: 0,
248
+ totalStoredBytes: 0,
249
+ };
250
+ }
251
+ }
252
+ /**
253
+ * Convert a bare filename, path, or URL to a UNIX-style path.
254
+ */
255
+ #getPath(nameOrURL) {
256
+ const url = typeof nameOrURL === 'string' ? new URL(nameOrURL, 'file://localhost/') : nameOrURL;
257
+ return url.pathname;
258
+ }
259
+ #resolveOpenPath(path) {
260
+ const pathOrHandleId = path !== null && path !== '' ? path : Math.random().toString(36).slice(2);
261
+ return this.#getPath(pathOrHandleId);
262
+ }
263
+ #getOpenFile(fileId) {
264
+ const openFile = this.#openFiles.get(fileId);
265
+ if (openFile === undefined)
266
+ throw new Error(`Unknown fileId ${fileId}`);
267
+ return openFile;
268
+ }
269
+ #assertCanonicalPageWrite(data, offset) {
270
+ if (offset % PAGE_SIZE !== 0) {
271
+ throw new Error(`CloudflareDurableObjectVFS expected page-aligned writes, got offset=${offset} for pageSize=${PAGE_SIZE}`);
272
+ }
273
+ if (data.byteLength !== PAGE_SIZE) {
274
+ throw new Error(`CloudflareDurableObjectVFS expected single-page writes of ${PAGE_SIZE} bytes, got ${data.byteLength}. Check that SQLite PRAGMA page_size matches the VFS page size.`);
275
+ }
276
+ }
277
+ #deleteFilePages(path) {
278
+ this.#sql.exec('DELETE FROM vfs_pages WHERE file_path = ?', path);
279
+ }
280
+ }
281
+ //# sourceMappingURL=CloudflareDurableObjectVFS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CloudflareDurableObjectVFS.js","sourceRoot":"","sources":["../../src/cf/CloudflareDurableObjectVFS.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CloudflareWorkerVFS.d.ts","sourceRoot":"","sources":["../../src/cf/CloudflareWorkerVFS.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAoC3C;;;;;;;;;;;;;GAaG;AACH,qBAAa,mBAAoB,SAAQ,SAAS;;IAChD,GAAG,OAAO;WAeG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,oBAAoB,EAAE,MAAM,EAAE,GAAG;gBAMxE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,oBAAoB,EAAE,MAAM,EAAE,GAAG;IAoJ5E,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,MAAM;IA6ChF,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAY9B,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IA6DjE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IA6DlE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAuDhD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAe7C,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,MAAM;IAapD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIpC,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAI/C,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,MAAM;IAYjE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAc1C,KAAK;IASL,OAAO;IAyCb;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACG,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK7C;;;;OAIG;IACG,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoChD;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAKpC;;OAEG;IACH,QAAQ;;;;;;;;;;CAoBT"}
1
+ {"version":3,"file":"CloudflareWorkerVFS.d.ts","sourceRoot":"","sources":["../../src/cf/CloudflareWorkerVFS.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAGnD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAoC3C;;;;;;;;;;;;;GAaG;AACH,qBAAa,mBAAoB,SAAQ,SAAS;;IAChD,GAAG,OAAO;WAeG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,oBAAoB,EAAE,MAAM,EAAE,GAAG;gBAMxE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,oBAAoB,EAAE,MAAM,EAAE,GAAG;IAoJnE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,MAAM;IA8ChF,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAY9B,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IA6DjE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IA6DlE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAuDhD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAe7C,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,MAAM;IAapD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIpC,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAI/C,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,MAAM;IAYjE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAcnD,KAAK;IASL,OAAO;IAyCb;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACG,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK7C;;;;OAIG;IACG,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoChD;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAKpC;;OAEG;IACH,QAAQ;;;;;;;;;;CAoBT"}
@@ -70,14 +70,14 @@ export class CloudflareWorkerVFS extends FacadeVFS {
70
70
  oldestKey = key;
71
71
  }
72
72
  }
73
- if (oldestKey) {
73
+ if (oldestKey !== '') {
74
74
  this.#chunkCache.delete(oldestKey);
75
75
  }
76
76
  }
77
77
  #getCachedChunk(path, chunkIndex) {
78
78
  const key = this.#getCacheKey(path, chunkIndex);
79
79
  const entry = this.#chunkCache.get(key);
80
- if (entry) {
80
+ if (entry !== undefined) {
81
81
  entry.lastAccessed = Date.now();
82
82
  return entry.data;
83
83
  }
@@ -100,7 +100,7 @@ export class CloudflareWorkerVFS extends FacadeVFS {
100
100
  #scheduleWrite(path, operation) {
101
101
  const key = `write:${path}`;
102
102
  // Cancel any pending write for this path
103
- if (this.#writePromises.has(key)) {
103
+ if (this.#writePromises.has(key) === true) {
104
104
  this.#pendingWrites.delete(key);
105
105
  }
106
106
  // Schedule new write
@@ -117,10 +117,10 @@ export class CloudflareWorkerVFS extends FacadeVFS {
117
117
  }
118
118
  async #loadMetadata(path) {
119
119
  const cached = this.#metadataCache.get(path);
120
- if (cached)
120
+ if (cached !== undefined)
121
121
  return cached;
122
122
  const metadata = await this.#storage.get(this.#getMetadataKey(path));
123
- if (metadata) {
123
+ if (metadata !== undefined) {
124
124
  this.#metadataCache.set(path, metadata);
125
125
  }
126
126
  return metadata;
@@ -134,10 +134,10 @@ export class CloudflareWorkerVFS extends FacadeVFS {
134
134
  }
135
135
  async #loadChunk(path, chunkIndex) {
136
136
  const cached = this.#getCachedChunk(path, chunkIndex);
137
- if (cached)
137
+ if (cached !== undefined)
138
138
  return cached;
139
139
  const chunk = await this.#storage.get(this.#getChunkKey(path, chunkIndex));
140
- if (chunk) {
140
+ if (chunk !== undefined) {
141
141
  this.#setCachedChunk(path, chunkIndex, chunk);
142
142
  }
143
143
  return chunk;
@@ -148,7 +148,7 @@ export class CloudflareWorkerVFS extends FacadeVFS {
148
148
  }
149
149
  async #deleteFile(path) {
150
150
  const metadata = await this.#loadMetadata(path);
151
- if (!metadata)
151
+ if (metadata == null)
152
152
  return;
153
153
  // Delete all chunks and metadata atomically
154
154
  const keysToDelete = [this.#getMetadataKey(path)];
@@ -167,9 +167,10 @@ export class CloudflareWorkerVFS extends FacadeVFS {
167
167
  }
168
168
  jOpen(zName, fileId, flags, pOutFlags) {
169
169
  try {
170
- const path = zName ? this.#getPath(zName) : Math.random().toString(36);
170
+ const name = zName;
171
+ const path = typeof name === 'string' && name !== '' ? this.#getPath(name) : Math.random().toString(36);
171
172
  const metadata = this.#metadataCache.get(path);
172
- if (!metadata && flags & VFS.SQLITE_OPEN_CREATE) {
173
+ if (metadata == null && (flags & VFS.SQLITE_OPEN_CREATE) !== 0) {
173
174
  // Create new file
174
175
  if (this.#activeFiles.size >= this.#maxFiles) {
175
176
  throw new Error('cannot create file: capacity exceeded');
@@ -186,7 +187,7 @@ export class CloudflareWorkerVFS extends FacadeVFS {
186
187
  // Schedule async save to maintain durability
187
188
  this.#scheduleWrite(path, () => this.#saveMetadata(path, newMetadata));
188
189
  }
189
- if (!this.#metadataCache.has(path)) {
190
+ if (this.#metadataCache.has(path) === false) {
190
191
  throw new Error('file not found');
191
192
  }
192
193
  const handle = {
@@ -205,9 +206,9 @@ export class CloudflareWorkerVFS extends FacadeVFS {
205
206
  }
206
207
  jClose(fileId) {
207
208
  const handle = this.#openFiles.get(fileId);
208
- if (handle) {
209
+ if (handle !== undefined) {
209
210
  this.#openFiles.delete(fileId);
210
- if (handle.flags & VFS.SQLITE_OPEN_DELETEONCLOSE) {
211
+ if ((handle.flags & VFS.SQLITE_OPEN_DELETEONCLOSE) !== 0) {
211
212
  // Schedule async delete
212
213
  this.#scheduleWrite(handle.path, () => this.#deleteFile(handle.path));
213
214
  }
@@ -217,7 +218,7 @@ export class CloudflareWorkerVFS extends FacadeVFS {
217
218
  jRead(fileId, pData, iOffset) {
218
219
  try {
219
220
  const handle = this.#openFiles.get(fileId);
220
- if (!handle)
221
+ if (handle == null)
221
222
  return VFS.SQLITE_IOERR;
222
223
  const fileSize = handle.metadata.size;
223
224
  const requestedBytes = pData.byteLength;
@@ -235,7 +236,7 @@ export class CloudflareWorkerVFS extends FacadeVFS {
235
236
  let bytesRead = 0;
236
237
  for (let chunkIndex = startChunk; chunkIndex <= endChunk; chunkIndex++) {
237
238
  const chunk = this.#getCachedChunk(handle.path, chunkIndex);
238
- if (!chunk) {
239
+ if (chunk == null) {
239
240
  // Cache miss - this is a problem for synchronous operation
240
241
  // We should have preloaded chunks during initialization
241
242
  console.warn(`Cache miss for chunk ${chunkIndex} of ${handle.path}`);
@@ -267,7 +268,7 @@ export class CloudflareWorkerVFS extends FacadeVFS {
267
268
  jWrite(fileId, pData, iOffset) {
268
269
  try {
269
270
  const handle = this.#openFiles.get(fileId);
270
- if (!handle)
271
+ if (handle == null)
271
272
  return VFS.SQLITE_IOERR;
272
273
  const bytesToWrite = pData.byteLength;
273
274
  const startChunk = Math.floor(iOffset / CHUNK_SIZE);
@@ -279,7 +280,7 @@ export class CloudflareWorkerVFS extends FacadeVFS {
279
280
  const writeStart = Math.max(0, iOffset - chunkOffset);
280
281
  const writeEnd = Math.min(CHUNK_SIZE, iOffset + bytesToWrite - chunkOffset);
281
282
  let chunk = this.#getCachedChunk(handle.path, chunkIndex);
282
- if (!chunk) {
283
+ if (chunk == null) {
283
284
  // Create new chunk
284
285
  chunk = new Uint8Array(CHUNK_SIZE);
285
286
  }
@@ -319,7 +320,7 @@ export class CloudflareWorkerVFS extends FacadeVFS {
319
320
  jTruncate(fileId, iSize) {
320
321
  try {
321
322
  const handle = this.#openFiles.get(fileId);
322
- if (!handle)
323
+ if (handle == null)
323
324
  return VFS.SQLITE_IOERR;
324
325
  // const oldSize = handle.metadata.size
325
326
  const newChunkCount = Math.ceil(iSize / CHUNK_SIZE);
@@ -347,7 +348,7 @@ export class CloudflareWorkerVFS extends FacadeVFS {
347
348
  const lastChunkSize = iSize - lastChunkIndex * CHUNK_SIZE;
348
349
  if (lastChunkSize < CHUNK_SIZE) {
349
350
  const lastChunk = this.#getCachedChunk(handle.path, lastChunkIndex);
350
- if (lastChunk) {
351
+ if (lastChunk !== undefined) {
351
352
  const truncatedChunk = new Uint8Array(CHUNK_SIZE);
352
353
  truncatedChunk.set(lastChunk.subarray(0, lastChunkSize));
353
354
  this.#setCachedChunk(handle.path, lastChunkIndex, truncatedChunk);
@@ -367,7 +368,7 @@ export class CloudflareWorkerVFS extends FacadeVFS {
367
368
  jSync(fileId, _flags) {
368
369
  try {
369
370
  const handle = this.#openFiles.get(fileId);
370
- if (!handle)
371
+ if (handle == null)
371
372
  return VFS.SQLITE_IOERR;
372
373
  // Force sync all pending writes for this file
373
374
  // Note: DurableObjectStorage operations are already synchronous
@@ -382,7 +383,7 @@ export class CloudflareWorkerVFS extends FacadeVFS {
382
383
  jFileSize(fileId, pSize64) {
383
384
  try {
384
385
  const handle = this.#openFiles.get(fileId);
385
- if (!handle)
386
+ if (handle == null)
386
387
  return VFS.SQLITE_IOERR;
387
388
  pSize64.setBigInt64(0, BigInt(handle.metadata.size), true);
388
389
  return VFS.SQLITE_OK;
@@ -402,7 +403,7 @@ export class CloudflareWorkerVFS extends FacadeVFS {
402
403
  try {
403
404
  const path = this.#getPath(zName);
404
405
  const exists = this.#activeFiles.has(path);
405
- pResOut.setInt32(0, exists ? 1 : 0, true);
406
+ pResOut.setInt32(0, exists === true ? 1 : 0, true);
406
407
  return VFS.SQLITE_OK;
407
408
  }
408
409
  catch (e) {
@@ -431,7 +432,7 @@ export class CloudflareWorkerVFS extends FacadeVFS {
431
432
  this.#initialized = false;
432
433
  }
433
434
  async isReady() {
434
- if (!this.#initialized) {
435
+ if (this.#initialized === false) {
435
436
  await this.#initializeStorage();
436
437
  this.#initialized = true;
437
438
  }
@@ -440,7 +441,7 @@ export class CloudflareWorkerVFS extends FacadeVFS {
440
441
  async #initializeStorage() {
441
442
  // Load list of existing files
442
443
  const fileList = await this.#storage.get('index:files');
443
- if (fileList) {
444
+ if (fileList !== undefined) {
444
445
  for (const path of fileList) {
445
446
  this.#activeFiles.add(path);
446
447
  // Preload metadata for all files
@@ -457,8 +458,8 @@ export class CloudflareWorkerVFS extends FacadeVFS {
457
458
  async #cleanupTemporaryFiles() {
458
459
  for (const path of this.#activeFiles) {
459
460
  const metadata = this.#metadataCache.get(path);
460
- if (metadata &&
461
- (metadata.flags & VFS.SQLITE_OPEN_DELETEONCLOSE || (metadata.flags & PERSISTENT_FILE_TYPES) === 0)) {
461
+ if (metadata !== undefined &&
462
+ ((metadata.flags & VFS.SQLITE_OPEN_DELETEONCLOSE) !== 0 || (metadata.flags & PERSISTENT_FILE_TYPES) === 0)) {
462
463
  console.warn(`Cleaning up temporary file: ${path}`);
463
464
  await this.#deleteFile(path);
464
465
  }
@@ -507,12 +508,12 @@ export class CloudflareWorkerVFS extends FacadeVFS {
507
508
  */
508
509
  async #preloadChunks(path, startChunk, count = 3) {
509
510
  const metadata = this.#metadataCache.get(path);
510
- if (!metadata)
511
+ if (metadata == null)
511
512
  return;
512
513
  const endChunk = Math.min(startChunk + count, metadata.chunkCount);
513
514
  const promises = [];
514
515
  for (let i = startChunk; i < endChunk; i++) {
515
- if (!this.#getCachedChunk(path, i)) {
516
+ if (this.#getCachedChunk(path, i) == null) {
516
517
  promises.push(this.#loadChunk(path, i).then(() => { }));
517
518
  }
518
519
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CloudflareWorkerVFS.js","sourceRoot":"","sources":["../../src/cf/CloudflareWorkerVFS.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CloudflareWorkerVFS.js","sourceRoot":"","sources":["../../src/cf/CloudflareWorkerVFS.ts"],"names":[],"mappings":"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"}
package/dist/cf/mod.d.ts CHANGED
@@ -1,9 +1,8 @@
1
1
  import { type MakeSqliteDb, type PersistenceInfo, type SqliteDb } from '@livestore/common';
2
2
  import type { CfTypes } from '@livestore/common-cf';
3
3
  import type { MemoryVFS } from '@livestore/wa-sqlite/src/examples/MemoryVFS.js';
4
- import { CloudflareSqlVFS } from './CloudflareSqlVFS.ts';
5
- export { BlockManager } from './BlockManager.ts';
6
- export { CloudflareSqlVFS } from './CloudflareSqlVFS.ts';
4
+ import { CloudflareDurableObjectVFS } from './CloudflareDurableObjectVFS.ts';
5
+ export { CloudflareDurableObjectVFS, PAGE_SIZE as CF_SQL_VFS_PAGE_SIZE, REQUIRED_PRAGMAS as CF_SQL_VFS_REQUIRED_PRAGMAS, } from './CloudflareDurableObjectVFS.ts';
7
6
  export { CloudflareWorkerVFS } from './CloudflareWorkerVFS.ts';
8
7
  export type CloudflareDatabaseMetadataInMemory = {
9
8
  _tag: 'in-memory';
@@ -15,7 +14,7 @@ export type CloudflareDatabaseMetadataInMemory = {
15
14
  };
16
15
  export type CloudflareDatabaseMetadataFs = {
17
16
  _tag: 'storage';
18
- vfs: CloudflareSqlVFS;
17
+ vfs: CloudflareDurableObjectVFS;
19
18
  dbPointer: number;
20
19
  persistenceInfo: PersistenceInfo;
21
20
  deleteDb: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/cf/mod.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,KAAK,QAAQ,EAAgB,MAAM,mBAAmB,CAAA;AACxG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAGnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAA;AAG/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,WAAW,CAAA;IACjB,GAAG,EAAE,SAAS,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,eAAe,CAAA;IAChC,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,SAAS,CAAA;IAEf,GAAG,EAAE,gBAAgB,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,eAAe,CAAA;IAChC,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG,kCAAkC,GAAG,4BAA4B,CAAA;AAE1G,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE,WAAW,CAAA;IACjB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,SAAS,CAAA;IAEf,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,CAAA;IACpC,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,+BAA+B,GAAG,yBAAyB,CAAA;AAEjG,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAC/C;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,eAAe,CAAA;CAAE,EACvD,uBAAuB,EACvB,0BAA0B,CAC3B,CAAA;AAED,eAAO,MAAM,eAAe,GACzB,aAAa;IAAE,OAAO,EAAE,SAAS,CAAA;CAAE,KAAG,sBAyCnC,CAAA"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/cf/mod.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,KAAK,QAAQ,EAAgB,MAAM,mBAAmB,CAAA;AACxG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAGnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAA;AAI/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAE5E,OAAO,EACL,0BAA0B,EAC1B,SAAS,IAAI,oBAAoB,EACjC,gBAAgB,IAAI,2BAA2B,GAChD,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,WAAW,CAAA;IACjB,GAAG,EAAE,SAAS,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,eAAe,CAAA;IAChC,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,SAAS,CAAA;IACf,GAAG,EAAE,0BAA0B,CAAA;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,eAAe,CAAA;IAChC,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG,kCAAkC,GAAG,4BAA4B,CAAA;AAE1G,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE,WAAW,CAAA;IACjB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,SAAS,CAAA;IAEf,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,CAAA;IACpC,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,+BAA+B,GAAG,yBAAyB,CAAA;AAEjG,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAC/C;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,eAAe,CAAA;CAAE,EACvD,uBAAuB,EACvB,0BAA0B,CAC3B,CAAA;AAED,eAAO,MAAM,eAAe,GACzB,aAAa;IAAE,OAAO,EAAE,SAAS,CAAA;CAAE,KAAG,sBAyCnC,CAAA"}