@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.
- package/README.md +1 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/FacadeVFS.d.ts +0 -1
- package/dist/FacadeVFS.d.ts.map +1 -1
- package/dist/FacadeVFS.js +9 -14
- package/dist/FacadeVFS.js.map +1 -1
- package/dist/browser/mod.d.ts +2 -2
- package/dist/browser/mod.d.ts.map +1 -1
- package/dist/browser/mod.js +2 -2
- package/dist/browser/mod.js.map +1 -1
- package/dist/browser/opfs/AccessHandlePoolVFS.d.ts.map +1 -1
- package/dist/browser/opfs/AccessHandlePoolVFS.js +15 -13
- package/dist/browser/opfs/AccessHandlePoolVFS.js.map +1 -1
- package/dist/browser/opfs/opfs-sah-pool.js +3 -3
- package/dist/browser/opfs/opfs-sah-pool.js.map +1 -1
- package/dist/cf/CloudflareDurableObjectVFS.d.ts +104 -0
- package/dist/cf/CloudflareDurableObjectVFS.d.ts.map +1 -0
- package/dist/cf/CloudflareDurableObjectVFS.js +281 -0
- package/dist/cf/CloudflareDurableObjectVFS.js.map +1 -0
- package/dist/cf/CloudflareWorkerVFS.d.ts.map +1 -1
- package/dist/cf/CloudflareWorkerVFS.js +29 -28
- package/dist/cf/CloudflareWorkerVFS.js.map +1 -1
- package/dist/cf/mod.d.ts +3 -4
- package/dist/cf/mod.d.ts.map +1 -1
- package/dist/cf/mod.js +4 -12
- package/dist/cf/mod.js.map +1 -1
- package/dist/cf/test/async-storage/cloudflare-worker-vfs-advanced.test.js +5 -4
- package/dist/cf/test/async-storage/cloudflare-worker-vfs-advanced.test.js.map +1 -1
- package/dist/cf/test/async-storage/cloudflare-worker-vfs-core.test.js +3 -3
- package/dist/cf/test/async-storage/cloudflare-worker-vfs-core.test.js.map +1 -1
- package/dist/cf/test/async-storage/cloudflare-worker-vfs-integration.test.js +3 -3
- package/dist/cf/test/async-storage/cloudflare-worker-vfs-integration.test.js.map +1 -1
- package/dist/cf/test/async-storage/cloudflare-worker-vfs-reliability.test.js +3 -3
- package/dist/cf/test/async-storage/cloudflare-worker-vfs-reliability.test.js.map +1 -1
- package/dist/cf/test/sql/cloudflare-sql-vfs-core.test.js +194 -179
- package/dist/cf/test/sql/cloudflare-sql-vfs-core.test.js.map +1 -1
- package/dist/in-memory-vfs.d.ts.map +1 -1
- package/dist/in-memory-vfs.js +0 -1
- package/dist/in-memory-vfs.js.map +1 -1
- package/dist/load-wasm/mod.node.js +1 -1
- package/dist/load-wasm/mod.node.js.map +1 -1
- package/dist/load-wasm/mod.workerd.d.ts.map +1 -1
- package/dist/load-wasm/mod.workerd.js.map +1 -1
- package/dist/make-sqlite-db.d.ts.map +1 -1
- package/dist/make-sqlite-db.js +16 -4
- package/dist/make-sqlite-db.js.map +1 -1
- package/dist/node/NodeFS.d.ts.map +1 -1
- package/dist/node/NodeFS.js +13 -13
- package/dist/node/NodeFS.js.map +1 -1
- package/package.json +54 -15
- package/src/FacadeVFS.ts +9 -14
- package/src/browser/mod.ts +1 -1
- package/src/browser/opfs/AccessHandlePoolVFS.ts +33 -25
- package/src/browser/opfs/opfs-sah-pool.ts +3 -3
- package/src/cf/CloudflareDurableObjectVFS.ts +325 -0
- package/src/cf/CloudflareWorkerVFS.ts +41 -39
- package/src/cf/README.md +3 -3
- package/src/cf/mod.ts +10 -15
- package/src/cf/test/README.md +55 -26
- package/src/cf/test/async-storage/cloudflare-worker-vfs-advanced.test.ts +6 -4
- package/src/cf/test/async-storage/cloudflare-worker-vfs-core.test.ts +4 -3
- package/src/cf/test/async-storage/cloudflare-worker-vfs-integration.test.ts +4 -3
- package/src/cf/test/async-storage/cloudflare-worker-vfs-reliability.test.ts +4 -3
- package/src/cf/test/sql/cloudflare-sql-vfs-core.test.ts +228 -197
- package/src/in-memory-vfs.ts +0 -1
- package/src/load-wasm/mod.node.ts +1 -1
- package/src/load-wasm/mod.workerd.ts +0 -1
- package/src/make-sqlite-db.ts +24 -4
- package/src/node/NodeFS.ts +24 -23
- package/dist/cf/BlockManager.d.ts +0 -61
- package/dist/cf/BlockManager.d.ts.map +0 -1
- package/dist/cf/BlockManager.js +0 -157
- package/dist/cf/BlockManager.js.map +0 -1
- package/dist/cf/CloudflareSqlVFS.d.ts +0 -51
- package/dist/cf/CloudflareSqlVFS.d.ts.map +0 -1
- package/dist/cf/CloudflareSqlVFS.js +0 -351
- package/dist/cf/CloudflareSqlVFS.js.map +0 -1
- package/src/cf/BlockManager.ts +0 -225
- 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;
|
|
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 (
|
|
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
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 {
|
|
5
|
-
export {
|
|
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:
|
|
17
|
+
vfs: CloudflareDurableObjectVFS;
|
|
19
18
|
dbPointer: number;
|
|
20
19
|
persistenceInfo: PersistenceInfo;
|
|
21
20
|
deleteDb: () => void;
|
package/dist/cf/mod.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|