@vibes.diy/vibe-runtime 9.3.0 → 9.4.1
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/indexeddb-store.d.ts +48 -0
- package/indexeddb-store.js +309 -13
- package/indexeddb-store.js.map +1 -1
- package/package.json +3 -3
- package/register-dependencies.d.ts +4 -1
- package/register-dependencies.js +23 -1
- package/register-dependencies.js.map +1 -1
- package/sync-engine.d.ts +77 -0
- package/sync-engine.js +395 -0
- package/sync-engine.js.map +1 -0
- package/use-firefly.js +6 -4
- package/use-firefly.js.map +1 -1
package/indexeddb-store.d.ts
CHANGED
|
@@ -1,14 +1,50 @@
|
|
|
1
1
|
import { type DocResponse, type DocTypes, type DocWithId, type FireflyQueryDatabase, type IndexRow, type ListenerFn, type MapFnArg, type QueryOpts, type QueryResponse } from "./firefly-database.js";
|
|
2
|
+
export interface SyncDocMeta {
|
|
3
|
+
docId: string;
|
|
4
|
+
seq: number;
|
|
5
|
+
channels: string[];
|
|
6
|
+
}
|
|
7
|
+
export interface PushQueueEntry {
|
|
8
|
+
id: number;
|
|
9
|
+
docId: string;
|
|
10
|
+
deleted: boolean;
|
|
11
|
+
}
|
|
12
|
+
export type RemoteSyncEntry = {
|
|
13
|
+
op: "put";
|
|
14
|
+
docId: string;
|
|
15
|
+
seq: number;
|
|
16
|
+
channels: string[];
|
|
17
|
+
doc: DocTypes;
|
|
18
|
+
} | {
|
|
19
|
+
op: "delete";
|
|
20
|
+
docId: string;
|
|
21
|
+
seq?: number;
|
|
22
|
+
} | {
|
|
23
|
+
op: "evict";
|
|
24
|
+
docId: string;
|
|
25
|
+
channel: string;
|
|
26
|
+
};
|
|
27
|
+
export interface SnapshotEntry {
|
|
28
|
+
docId: string;
|
|
29
|
+
seq: number;
|
|
30
|
+
channels: string[];
|
|
31
|
+
doc: DocTypes;
|
|
32
|
+
}
|
|
2
33
|
export declare class IndexedDbStore implements FireflyQueryDatabase {
|
|
3
34
|
readonly name: string;
|
|
4
35
|
seedDocs?: DocWithId<DocTypes>[];
|
|
5
36
|
private readonly app;
|
|
6
37
|
private readonly factory?;
|
|
7
38
|
private readonly storage?;
|
|
39
|
+
private readonly persistent;
|
|
8
40
|
private readonly docs;
|
|
9
41
|
private readonly listeners;
|
|
10
42
|
private db?;
|
|
11
43
|
private readonly readyPromise;
|
|
44
|
+
private readonly syncMeta;
|
|
45
|
+
private cursors;
|
|
46
|
+
private pushQueue;
|
|
47
|
+
private pushSeq;
|
|
12
48
|
constructor(args: {
|
|
13
49
|
app: string;
|
|
14
50
|
name: string;
|
|
@@ -18,10 +54,21 @@ export declare class IndexedDbStore implements FireflyQueryDatabase {
|
|
|
18
54
|
persistent?: boolean;
|
|
19
55
|
});
|
|
20
56
|
private hydrate;
|
|
57
|
+
private backfillUnsyncedDocs;
|
|
21
58
|
private migrateLocalStorage;
|
|
22
59
|
ready(): Promise<void>;
|
|
23
60
|
close(): Promise<void>;
|
|
24
61
|
destroy(): Promise<void>;
|
|
62
|
+
applyRemote(entries: RemoteSyncEntry[]): Promise<void>;
|
|
63
|
+
applySnapshot(entries: SnapshotEntry[], cursors: Record<string, number> | Map<string, number>): Promise<void>;
|
|
64
|
+
getCursors(): Promise<Map<string, number>>;
|
|
65
|
+
setCursors(cursors: Record<string, number> | Map<string, number>): Promise<void>;
|
|
66
|
+
dropCursor(channel: string): Promise<void>;
|
|
67
|
+
evictChannel(channel: string): Promise<void>;
|
|
68
|
+
peekPushQueue(): Promise<PushQueueEntry[]>;
|
|
69
|
+
dequeuePush(ids: number[]): Promise<void>;
|
|
70
|
+
recordAccepted(docId: string, seq: number): Promise<void>;
|
|
71
|
+
getSyncMeta(docId: string): Promise<SyncDocMeta | undefined>;
|
|
25
72
|
compact(): Promise<void>;
|
|
26
73
|
resubscribe(): void;
|
|
27
74
|
setOptimistic(_enabled: boolean): void;
|
|
@@ -30,6 +77,7 @@ export declare class IndexedDbStore implements FireflyQueryDatabase {
|
|
|
30
77
|
_id?: string;
|
|
31
78
|
}): Promise<DocResponse>;
|
|
32
79
|
del(id: string): Promise<DocResponse>;
|
|
80
|
+
private writeQueueEntry;
|
|
33
81
|
remove(id: string): Promise<DocResponse>;
|
|
34
82
|
bulk<T extends DocTypes>(docs: (T & {
|
|
35
83
|
_id?: string;
|
package/indexeddb-store.js
CHANGED
|
@@ -3,8 +3,12 @@ import { materializeQuery, newOptimisticId, } from "./firefly-database.js";
|
|
|
3
3
|
import { Localfly, safeLocalStorage } from "./localfly.js";
|
|
4
4
|
const DOCS = "docs";
|
|
5
5
|
const META = "meta";
|
|
6
|
+
const SYNC_META = "syncMeta";
|
|
7
|
+
const CURSORS = "cursors";
|
|
8
|
+
const PUSH_QUEUE = "pushQueue";
|
|
6
9
|
const MIGRATION_KEY = "localstorage-v1";
|
|
7
10
|
const DB_PREFIX = "firefly-local-v1";
|
|
11
|
+
const DB_VERSION = 2;
|
|
8
12
|
function requestResult(request) {
|
|
9
13
|
return new Promise((resolve, reject) => {
|
|
10
14
|
request.onsuccess = () => resolve(request.result);
|
|
@@ -23,15 +27,24 @@ function physicalName(app, name) {
|
|
|
23
27
|
}
|
|
24
28
|
function openDatabase(factory, app, name) {
|
|
25
29
|
return new Promise((resolve, reject) => {
|
|
26
|
-
const request = factory.open(physicalName(app, name),
|
|
27
|
-
|
|
30
|
+
const request = factory.open(physicalName(app, name), DB_VERSION);
|
|
31
|
+
let upgradedFromV1 = false;
|
|
32
|
+
request.onupgradeneeded = (event) => {
|
|
28
33
|
const db = request.result;
|
|
34
|
+
if (event.oldVersion === 1)
|
|
35
|
+
upgradedFromV1 = true;
|
|
29
36
|
if (!db.objectStoreNames.contains(DOCS))
|
|
30
37
|
db.createObjectStore(DOCS, { keyPath: "_id" });
|
|
31
38
|
if (!db.objectStoreNames.contains(META))
|
|
32
39
|
db.createObjectStore(META);
|
|
40
|
+
if (!db.objectStoreNames.contains(SYNC_META))
|
|
41
|
+
db.createObjectStore(SYNC_META, { keyPath: "docId" });
|
|
42
|
+
if (!db.objectStoreNames.contains(CURSORS))
|
|
43
|
+
db.createObjectStore(CURSORS);
|
|
44
|
+
if (!db.objectStoreNames.contains(PUSH_QUEUE))
|
|
45
|
+
db.createObjectStore(PUSH_QUEUE, { keyPath: "id" });
|
|
33
46
|
};
|
|
34
|
-
request.onsuccess = () => resolve(request.result);
|
|
47
|
+
request.onsuccess = () => resolve({ db: request.result, upgradedFromV1 });
|
|
35
48
|
request.onerror = () => reject(request.error ?? new Error("Failed to open IndexedDB"));
|
|
36
49
|
request.onblocked = () => reject(new Error("IndexedDB open was blocked"));
|
|
37
50
|
});
|
|
@@ -53,16 +66,22 @@ export class IndexedDbStore {
|
|
|
53
66
|
app;
|
|
54
67
|
factory;
|
|
55
68
|
storage;
|
|
69
|
+
persistent;
|
|
56
70
|
docs = new Map();
|
|
57
71
|
listeners = new Set();
|
|
58
72
|
db;
|
|
59
73
|
readyPromise;
|
|
74
|
+
syncMeta = new Map();
|
|
75
|
+
cursors = new Map();
|
|
76
|
+
pushQueue = [];
|
|
77
|
+
pushSeq = 0;
|
|
60
78
|
constructor(args) {
|
|
61
79
|
this.app = args.app;
|
|
62
80
|
this.name = args.name;
|
|
63
81
|
this.seedDocs = args.seedDocs;
|
|
64
82
|
for (const doc of args.seedDocs ?? [])
|
|
65
83
|
this.docs.set(doc._id, { ...doc });
|
|
84
|
+
this.persistent = args.persistent !== false;
|
|
66
85
|
this.factory = args.persistent === false ? undefined : (args.indexedDB ?? globalThis.indexedDB);
|
|
67
86
|
this.storage = args.storage ?? safeLocalStorage();
|
|
68
87
|
this.readyPromise = this.hydrate();
|
|
@@ -70,18 +89,52 @@ export class IndexedDbStore {
|
|
|
70
89
|
async hydrate() {
|
|
71
90
|
if (this.factory === undefined)
|
|
72
91
|
return;
|
|
73
|
-
const db = await openDatabase(this.factory, this.app, this.name);
|
|
92
|
+
const { db, upgradedFromV1 } = await openDatabase(this.factory, this.app, this.name);
|
|
74
93
|
this.db = db;
|
|
75
|
-
const read = db.transaction([DOCS, META], "readonly");
|
|
76
|
-
const
|
|
77
|
-
const
|
|
94
|
+
const read = db.transaction([DOCS, META, SYNC_META, CURSORS, PUSH_QUEUE], "readonly");
|
|
95
|
+
const docsReq = read.objectStore(DOCS).getAll();
|
|
96
|
+
const migReq = read.objectStore(META).get(MIGRATION_KEY);
|
|
97
|
+
const syncReq = read.objectStore(SYNC_META).getAll();
|
|
98
|
+
const queueReq = read.objectStore(PUSH_QUEUE).getAll();
|
|
99
|
+
const cursorKeysReq = read.objectStore(CURSORS).getAllKeys();
|
|
100
|
+
const cursorValsReq = read.objectStore(CURSORS).getAll();
|
|
101
|
+
const stored = await requestResult(docsReq);
|
|
102
|
+
const migrated = await requestResult(migReq);
|
|
103
|
+
const syncMetas = await requestResult(syncReq);
|
|
104
|
+
const queue = await requestResult(queueReq);
|
|
105
|
+
const cursorKeys = await requestResult(cursorKeysReq);
|
|
106
|
+
const cursorVals = await requestResult(cursorValsReq);
|
|
78
107
|
await transactionDone(read);
|
|
79
108
|
for (const doc of stored)
|
|
80
109
|
this.docs.set(doc._id, { ...doc });
|
|
110
|
+
for (const meta of syncMetas)
|
|
111
|
+
this.syncMeta.set(meta.docId, { docId: meta.docId, seq: meta.seq, channels: [...meta.channels] });
|
|
112
|
+
this.pushQueue = queue.map((e) => ({ ...e })).sort((a, b) => a.id - b.id);
|
|
113
|
+
this.pushSeq = this.pushQueue.reduce((max, e) => (e.id > max ? e.id : max), 0);
|
|
114
|
+
for (let i = 0; i < cursorKeys.length; i++)
|
|
115
|
+
this.cursors.set(String(cursorKeys[i]), cursorVals[i]);
|
|
116
|
+
const backfilledCount = upgradedFromV1 ? await this.backfillUnsyncedDocs(db) : 0;
|
|
81
117
|
const migratedCount = migrated === true ? 0 : await this.migrateLocalStorage(db);
|
|
82
|
-
if (stored.length > 0 || migratedCount > 0)
|
|
118
|
+
if (stored.length > 0 || migratedCount > 0 || backfilledCount > 0)
|
|
83
119
|
this.notify(this.snapshot());
|
|
84
120
|
}
|
|
121
|
+
async backfillUnsyncedDocs(db) {
|
|
122
|
+
if (!this.persistent)
|
|
123
|
+
return 0;
|
|
124
|
+
const alreadyQueued = new Set(this.pushQueue.map((e) => e.docId));
|
|
125
|
+
const toEnqueue = [...this.docs.keys()].filter((id) => !this.syncMeta.has(id) && !alreadyQueued.has(id));
|
|
126
|
+
if (toEnqueue.length === 0)
|
|
127
|
+
return 0;
|
|
128
|
+
const tx = db.transaction(PUSH_QUEUE, "readwrite");
|
|
129
|
+
const queueStore = tx.objectStore(PUSH_QUEUE);
|
|
130
|
+
const queued = [];
|
|
131
|
+
for (const id of toEnqueue)
|
|
132
|
+
queued.push(this.writeQueueEntry(queueStore, id, false));
|
|
133
|
+
await transactionDone(tx);
|
|
134
|
+
for (const entry of queued)
|
|
135
|
+
this.pushQueue.push(entry);
|
|
136
|
+
return queued.length;
|
|
137
|
+
}
|
|
85
138
|
async migrateLocalStorage(db) {
|
|
86
139
|
const legacyDocs = new Map();
|
|
87
140
|
const deletedIds = new Set();
|
|
@@ -99,18 +152,28 @@ export class IndexedDbStore {
|
|
|
99
152
|
}
|
|
100
153
|
}
|
|
101
154
|
}
|
|
102
|
-
const tx = db.transaction([DOCS, META], "readwrite");
|
|
155
|
+
const tx = db.transaction([DOCS, META, PUSH_QUEUE], "readwrite");
|
|
103
156
|
const docsStore = tx.objectStore(DOCS);
|
|
104
|
-
|
|
157
|
+
const queueStore = tx.objectStore(PUSH_QUEUE);
|
|
158
|
+
const queued = [];
|
|
159
|
+
for (const doc of legacyDocs.values()) {
|
|
105
160
|
docsStore.put(doc);
|
|
106
|
-
|
|
161
|
+
if (this.persistent)
|
|
162
|
+
queued.push(this.writeQueueEntry(queueStore, doc._id, false));
|
|
163
|
+
}
|
|
164
|
+
for (const id of deletedIds) {
|
|
107
165
|
docsStore.delete(id);
|
|
166
|
+
if (this.persistent)
|
|
167
|
+
queued.push(this.writeQueueEntry(queueStore, id, true));
|
|
168
|
+
}
|
|
108
169
|
tx.objectStore(META).put(true, MIGRATION_KEY);
|
|
109
170
|
await transactionDone(tx);
|
|
110
171
|
for (const doc of legacyDocs.values())
|
|
111
172
|
this.docs.set(doc._id, { ...doc });
|
|
112
173
|
for (const id of deletedIds)
|
|
113
174
|
this.docs.delete(id);
|
|
175
|
+
for (const entry of queued)
|
|
176
|
+
this.pushQueue.push(entry);
|
|
114
177
|
return legacyDocs.size + deletedIds.size;
|
|
115
178
|
}
|
|
116
179
|
async ready() {
|
|
@@ -125,10 +188,220 @@ export class IndexedDbStore {
|
|
|
125
188
|
this.db?.close();
|
|
126
189
|
this.db = undefined;
|
|
127
190
|
this.docs.clear();
|
|
191
|
+
this.syncMeta.clear();
|
|
192
|
+
this.cursors.clear();
|
|
193
|
+
this.pushQueue = [];
|
|
194
|
+
this.pushSeq = 0;
|
|
128
195
|
if (this.factory !== undefined)
|
|
129
196
|
await requestResult(this.factory.deleteDatabase(physicalName(this.app, this.name)));
|
|
130
197
|
this.notify([]);
|
|
131
198
|
}
|
|
199
|
+
async applyRemote(entries) {
|
|
200
|
+
await this.ready();
|
|
201
|
+
const queuedDocIds = new Set(this.pushQueue.map((e) => e.docId));
|
|
202
|
+
const changed = [];
|
|
203
|
+
const apply = (docsStore, syncStore) => {
|
|
204
|
+
for (const entry of entries) {
|
|
205
|
+
if (entry.op === "put") {
|
|
206
|
+
const existing = this.syncMeta.get(entry.docId);
|
|
207
|
+
if (existing !== undefined && existing.seq >= entry.seq)
|
|
208
|
+
continue;
|
|
209
|
+
const meta = { docId: entry.docId, seq: entry.seq, channels: [...entry.channels] };
|
|
210
|
+
if (queuedDocIds.has(entry.docId)) {
|
|
211
|
+
this.syncMeta.set(entry.docId, meta);
|
|
212
|
+
syncStore?.put(meta);
|
|
213
|
+
continue;
|
|
214
|
+
}
|
|
215
|
+
const saved = { ...entry.doc, _id: entry.docId };
|
|
216
|
+
this.docs.set(entry.docId, saved);
|
|
217
|
+
this.syncMeta.set(entry.docId, meta);
|
|
218
|
+
docsStore?.put(saved);
|
|
219
|
+
syncStore?.put(meta);
|
|
220
|
+
changed.push(saved);
|
|
221
|
+
}
|
|
222
|
+
else if (entry.op === "delete") {
|
|
223
|
+
if (queuedDocIds.has(entry.docId)) {
|
|
224
|
+
this.syncMeta.delete(entry.docId);
|
|
225
|
+
syncStore?.delete(entry.docId);
|
|
226
|
+
continue;
|
|
227
|
+
}
|
|
228
|
+
if (this.docs.has(entry.docId))
|
|
229
|
+
changed.push({ _id: entry.docId, _deleted: true });
|
|
230
|
+
this.docs.delete(entry.docId);
|
|
231
|
+
this.syncMeta.delete(entry.docId);
|
|
232
|
+
docsStore?.delete(entry.docId);
|
|
233
|
+
syncStore?.delete(entry.docId);
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
const meta = this.syncMeta.get(entry.docId);
|
|
237
|
+
if (meta === undefined)
|
|
238
|
+
continue;
|
|
239
|
+
const channels = meta.channels.filter((c) => c !== entry.channel);
|
|
240
|
+
if (channels.length === 0 && !queuedDocIds.has(entry.docId)) {
|
|
241
|
+
this.docs.delete(entry.docId);
|
|
242
|
+
this.syncMeta.delete(entry.docId);
|
|
243
|
+
docsStore?.delete(entry.docId);
|
|
244
|
+
syncStore?.delete(entry.docId);
|
|
245
|
+
changed.push({ _id: entry.docId, _deleted: true });
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
const updated = { ...meta, channels };
|
|
249
|
+
this.syncMeta.set(entry.docId, updated);
|
|
250
|
+
syncStore?.put(updated);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
};
|
|
255
|
+
if (this.db !== undefined) {
|
|
256
|
+
const tx = this.db.transaction([DOCS, SYNC_META], "readwrite");
|
|
257
|
+
apply(tx.objectStore(DOCS), tx.objectStore(SYNC_META));
|
|
258
|
+
await transactionDone(tx);
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
apply();
|
|
262
|
+
}
|
|
263
|
+
if (changed.length > 0)
|
|
264
|
+
this.notify(changed);
|
|
265
|
+
}
|
|
266
|
+
async applySnapshot(entries, cursors) {
|
|
267
|
+
await this.ready();
|
|
268
|
+
const queuedDocIds = new Set(this.pushQueue.map((e) => e.docId));
|
|
269
|
+
const snapshotIds = new Set(entries.map((e) => e.docId));
|
|
270
|
+
const nextCursors = cursors instanceof Map ? new Map(cursors) : new Map(Object.entries(cursors));
|
|
271
|
+
const changed = [];
|
|
272
|
+
const run = (docsStore, syncStore, cursorStore) => {
|
|
273
|
+
for (const docId of [...this.docs.keys()]) {
|
|
274
|
+
if (snapshotIds.has(docId) || queuedDocIds.has(docId) || !this.syncMeta.has(docId))
|
|
275
|
+
continue;
|
|
276
|
+
this.docs.delete(docId);
|
|
277
|
+
this.syncMeta.delete(docId);
|
|
278
|
+
docsStore?.delete(docId);
|
|
279
|
+
syncStore?.delete(docId);
|
|
280
|
+
changed.push({ _id: docId, _deleted: true });
|
|
281
|
+
}
|
|
282
|
+
for (const entry of entries) {
|
|
283
|
+
const meta = { docId: entry.docId, seq: entry.seq, channels: [...entry.channels] };
|
|
284
|
+
if (queuedDocIds.has(entry.docId)) {
|
|
285
|
+
this.syncMeta.set(entry.docId, meta);
|
|
286
|
+
syncStore?.put(meta);
|
|
287
|
+
continue;
|
|
288
|
+
}
|
|
289
|
+
const saved = { ...entry.doc, _id: entry.docId };
|
|
290
|
+
this.docs.set(entry.docId, saved);
|
|
291
|
+
this.syncMeta.set(entry.docId, meta);
|
|
292
|
+
docsStore?.put(saved);
|
|
293
|
+
syncStore?.put(meta);
|
|
294
|
+
changed.push(saved);
|
|
295
|
+
}
|
|
296
|
+
this.cursors = nextCursors;
|
|
297
|
+
if (cursorStore !== undefined) {
|
|
298
|
+
cursorStore.clear();
|
|
299
|
+
for (const [channel, seq] of this.cursors)
|
|
300
|
+
cursorStore.put(seq, channel);
|
|
301
|
+
}
|
|
302
|
+
};
|
|
303
|
+
if (this.db !== undefined) {
|
|
304
|
+
const tx = this.db.transaction([DOCS, SYNC_META, CURSORS], "readwrite");
|
|
305
|
+
run(tx.objectStore(DOCS), tx.objectStore(SYNC_META), tx.objectStore(CURSORS));
|
|
306
|
+
await transactionDone(tx);
|
|
307
|
+
}
|
|
308
|
+
else {
|
|
309
|
+
run();
|
|
310
|
+
}
|
|
311
|
+
if (changed.length > 0)
|
|
312
|
+
this.notify(changed);
|
|
313
|
+
}
|
|
314
|
+
async getCursors() {
|
|
315
|
+
await this.ready();
|
|
316
|
+
return new Map(this.cursors);
|
|
317
|
+
}
|
|
318
|
+
async setCursors(cursors) {
|
|
319
|
+
await this.ready();
|
|
320
|
+
this.cursors = cursors instanceof Map ? new Map(cursors) : new Map(Object.entries(cursors));
|
|
321
|
+
if (this.db !== undefined) {
|
|
322
|
+
const tx = this.db.transaction(CURSORS, "readwrite");
|
|
323
|
+
const store = tx.objectStore(CURSORS);
|
|
324
|
+
store.clear();
|
|
325
|
+
for (const [channel, seq] of this.cursors)
|
|
326
|
+
store.put(seq, channel);
|
|
327
|
+
await transactionDone(tx);
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
async dropCursor(channel) {
|
|
331
|
+
await this.ready();
|
|
332
|
+
this.cursors.delete(channel);
|
|
333
|
+
if (this.db !== undefined) {
|
|
334
|
+
const tx = this.db.transaction(CURSORS, "readwrite");
|
|
335
|
+
tx.objectStore(CURSORS).delete(channel);
|
|
336
|
+
await transactionDone(tx);
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
async evictChannel(channel) {
|
|
340
|
+
await this.ready();
|
|
341
|
+
const queuedDocIds = new Set(this.pushQueue.map((e) => e.docId));
|
|
342
|
+
const changed = [];
|
|
343
|
+
const run = (docsStore, syncStore) => {
|
|
344
|
+
for (const [docId, meta] of [...this.syncMeta]) {
|
|
345
|
+
if (!meta.channels.includes(channel))
|
|
346
|
+
continue;
|
|
347
|
+
const channels = meta.channels.filter((c) => c !== channel);
|
|
348
|
+
if (channels.length === 0 && !queuedDocIds.has(docId)) {
|
|
349
|
+
this.docs.delete(docId);
|
|
350
|
+
this.syncMeta.delete(docId);
|
|
351
|
+
docsStore?.delete(docId);
|
|
352
|
+
syncStore?.delete(docId);
|
|
353
|
+
changed.push({ _id: docId, _deleted: true });
|
|
354
|
+
}
|
|
355
|
+
else {
|
|
356
|
+
const updated = { ...meta, channels };
|
|
357
|
+
this.syncMeta.set(docId, updated);
|
|
358
|
+
syncStore?.put(updated);
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
};
|
|
362
|
+
if (this.db !== undefined) {
|
|
363
|
+
const tx = this.db.transaction([DOCS, SYNC_META], "readwrite");
|
|
364
|
+
run(tx.objectStore(DOCS), tx.objectStore(SYNC_META));
|
|
365
|
+
await transactionDone(tx);
|
|
366
|
+
}
|
|
367
|
+
else {
|
|
368
|
+
run();
|
|
369
|
+
}
|
|
370
|
+
if (changed.length > 0)
|
|
371
|
+
this.notify(changed);
|
|
372
|
+
}
|
|
373
|
+
async peekPushQueue() {
|
|
374
|
+
await this.ready();
|
|
375
|
+
return this.pushQueue.map((e) => ({ ...e }));
|
|
376
|
+
}
|
|
377
|
+
async dequeuePush(ids) {
|
|
378
|
+
await this.ready();
|
|
379
|
+
const drop = new Set(ids);
|
|
380
|
+
this.pushQueue = this.pushQueue.filter((e) => !drop.has(e.id));
|
|
381
|
+
if (this.db !== undefined) {
|
|
382
|
+
const tx = this.db.transaction(PUSH_QUEUE, "readwrite");
|
|
383
|
+
const store = tx.objectStore(PUSH_QUEUE);
|
|
384
|
+
for (const id of ids)
|
|
385
|
+
store.delete(id);
|
|
386
|
+
await transactionDone(tx);
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
async recordAccepted(docId, seq) {
|
|
390
|
+
await this.ready();
|
|
391
|
+
const existing = this.syncMeta.get(docId);
|
|
392
|
+
const meta = existing !== undefined ? { ...existing, seq } : { docId, seq, channels: [] };
|
|
393
|
+
this.syncMeta.set(docId, meta);
|
|
394
|
+
if (this.db !== undefined) {
|
|
395
|
+
const tx = this.db.transaction(SYNC_META, "readwrite");
|
|
396
|
+
tx.objectStore(SYNC_META).put(meta);
|
|
397
|
+
await transactionDone(tx);
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
async getSyncMeta(docId) {
|
|
401
|
+
await this.ready();
|
|
402
|
+
const meta = this.syncMeta.get(docId);
|
|
403
|
+
return meta === undefined ? undefined : { docId: meta.docId, seq: meta.seq, channels: [...meta.channels] };
|
|
404
|
+
}
|
|
132
405
|
async compact() {
|
|
133
406
|
return;
|
|
134
407
|
}
|
|
@@ -149,26 +422,49 @@ export class IndexedDbStore {
|
|
|
149
422
|
await this.ready();
|
|
150
423
|
const id = doc._id ?? newOptimisticId();
|
|
151
424
|
const saved = { ...doc, _id: id };
|
|
425
|
+
let queued;
|
|
152
426
|
if (this.db !== undefined) {
|
|
153
|
-
const tx = this.db.transaction(DOCS, "readwrite");
|
|
427
|
+
const tx = this.db.transaction([DOCS, PUSH_QUEUE], "readwrite");
|
|
154
428
|
tx.objectStore(DOCS).put(saved);
|
|
429
|
+
if (this.persistent)
|
|
430
|
+
queued = this.writeQueueEntry(tx.objectStore(PUSH_QUEUE), id, false);
|
|
155
431
|
await transactionDone(tx);
|
|
156
432
|
}
|
|
433
|
+
else if (this.persistent) {
|
|
434
|
+
queued = { id: ++this.pushSeq, docId: id, deleted: false };
|
|
435
|
+
}
|
|
157
436
|
this.docs.set(id, saved);
|
|
437
|
+
if (queued !== undefined)
|
|
438
|
+
this.pushQueue.push(queued);
|
|
158
439
|
this.notify([saved]);
|
|
159
440
|
return { id, ok: true };
|
|
160
441
|
}
|
|
161
442
|
async del(id) {
|
|
162
443
|
await this.ready();
|
|
444
|
+
let queued;
|
|
163
445
|
if (this.db !== undefined) {
|
|
164
|
-
const tx = this.db.transaction(DOCS, "readwrite");
|
|
446
|
+
const tx = this.db.transaction([DOCS, SYNC_META, PUSH_QUEUE], "readwrite");
|
|
165
447
|
tx.objectStore(DOCS).delete(id);
|
|
448
|
+
tx.objectStore(SYNC_META).delete(id);
|
|
449
|
+
if (this.persistent)
|
|
450
|
+
queued = this.writeQueueEntry(tx.objectStore(PUSH_QUEUE), id, true);
|
|
166
451
|
await transactionDone(tx);
|
|
167
452
|
}
|
|
453
|
+
else if (this.persistent) {
|
|
454
|
+
queued = { id: ++this.pushSeq, docId: id, deleted: true };
|
|
455
|
+
}
|
|
168
456
|
this.docs.delete(id);
|
|
457
|
+
this.syncMeta.delete(id);
|
|
458
|
+
if (queued !== undefined)
|
|
459
|
+
this.pushQueue.push(queued);
|
|
169
460
|
this.notify([{ _id: id, _deleted: true }]);
|
|
170
461
|
return { id, ok: true };
|
|
171
462
|
}
|
|
463
|
+
writeQueueEntry(store, docId, deleted) {
|
|
464
|
+
const entry = { id: ++this.pushSeq, docId, deleted };
|
|
465
|
+
store.put(entry);
|
|
466
|
+
return entry;
|
|
467
|
+
}
|
|
172
468
|
async remove(id) {
|
|
173
469
|
return this.del(id);
|
|
174
470
|
}
|
package/indexeddb-store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexeddb-store.js","sourceRoot":"","sources":["../jsr/indexeddb-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"indexeddb-store.js","sourceRoot":"","sources":["../jsr/indexeddb-store.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibes.diy/vibe-runtime",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.4.1",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"@adviser/cement": "~0.5.34",
|
|
26
|
-
"@vibes.diy/base": "9.
|
|
27
|
-
"@vibes.diy/vibe-types": "9.
|
|
26
|
+
"@vibes.diy/base": "9.4.1",
|
|
27
|
+
"@vibes.diy/vibe-types": "9.4.1",
|
|
28
28
|
"arktype": "~2.2.3",
|
|
29
29
|
"charwise": "~3.0.1",
|
|
30
30
|
"es-module-lexer": "~2.3.1",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ResCallAI, ResImgGen, type ImgGenTarget, ResPutDoc, ResGetDoc, ResQueryDocs, ResDeleteDoc, ResSubscribeDocs, ResListDbNames, ResVibePutAsset, ResVibeWhoAmI, ResVibeLookupHandles, type ResVibeAccessFnSource, type ResVibeUpdateAvatarCid, type EvtVibeViewerChanged, type EvtVibeSocialChanged, type ReqVibeSocial, type ResVibeSocial, type ResVibeRequestFollowersAccess, type ResVibeSocialInvite, type ResSetDbAcl, type DbAcl, type QueryFilter } from "@vibes.diy/vibe-types";
|
|
1
|
+
import { ResCallAI, ResImgGen, type ImgGenTarget, ResPutDoc, ResGetDoc, ResQueryDocs, ResDeleteDoc, ResSubscribeDocs, ResSyncPull, ReqSyncPush, ResSyncPush, ResListDbNames, ResVibePutAsset, ResVibeWhoAmI, ResVibeLookupHandles, type ResVibeAccessFnSource, type ResVibeUpdateAvatarCid, type EvtVibeViewerChanged, type EvtVibeSocialChanged, type ReqVibeSocial, type ResVibeSocial, type ResVibeRequestFollowersAccess, type ResVibeSocialInvite, type ResSetDbAcl, type DbAcl, type QueryFilter } from "@vibes.diy/vibe-types";
|
|
2
2
|
import { Future, Result } from "@adviser/cement";
|
|
3
3
|
import { CallAIOpts } from "./call-ai.js";
|
|
4
4
|
export interface VibeApp {
|
|
@@ -44,6 +44,9 @@ export declare class VibeSandboxApi {
|
|
|
44
44
|
queryDocs(dbName?: string, filter?: QueryFilter): Promise<Result<ResQueryDocs>>;
|
|
45
45
|
deleteDoc(docId: string, dbName?: string): Promise<Result<ResDeleteDoc>>;
|
|
46
46
|
subscribeDocs(dbName?: string): Promise<Result<ResSubscribeDocs>>;
|
|
47
|
+
syncPull(cursors: Record<string, number>, dbName?: string): Promise<Result<ResSyncPull>>;
|
|
48
|
+
syncPush(writes: ReqSyncPush["writes"], dbName?: string): Promise<Result<ResSyncPush>>;
|
|
49
|
+
onSyncReconnected(fn: () => void): () => void;
|
|
47
50
|
broadcastEphemeral(docId: string, doc: Record<string, unknown>, dbName?: string): void;
|
|
48
51
|
notifyWriteOutcome(info: {
|
|
49
52
|
outcome: "queued" | "failed" | "rejected";
|
package/register-dependencies.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isResCallAI, isResImgGen, isEvtVibeScrollToTop, isEvtVibeSetSource, isEvtRuntimeAck, isResPutDoc, isResGetDoc, isResGetDocNotFound, isResQueryDocs, isResDeleteDoc, isResSubscribeDocs, isResListDbNames, isResVibePutAsset, isResVibeWhoAmI, isResVibeLookupHandles, isResVibeAccessFnSource, isResVibeUpdateAvatarCid, isEvtVibeViewerChanged, isEvtVibeSocialChanged, isEvtVibeSocialCleared, isResVibeSocial, isResVibeRequestFollowersAccess, isResVibeSocialInvite, isResSetDbAcl, } from "@vibes.diy/vibe-types";
|
|
1
|
+
import { isResCallAI, isResImgGen, isEvtVibeScrollToTop, isEvtVibeSetSource, isEvtRuntimeAck, isResPutDoc, isResGetDoc, isResGetDocNotFound, isResQueryDocs, isResDeleteDoc, isResSubscribeDocs, isResListDbNames, isResSyncPull, isResSyncPush, isEvtSyncReconnected, isResVibePutAsset, isResVibeWhoAmI, isResVibeLookupHandles, isResVibeAccessFnSource, isResVibeUpdateAvatarCid, isEvtVibeViewerChanged, isEvtVibeSocialChanged, isEvtVibeSocialCleared, isResVibeSocial, isResVibeRequestFollowersAccess, isResVibeSocialInvite, isResSetDbAcl, } from "@vibes.diy/vibe-types";
|
|
2
2
|
import { exception2Result, Future, Lazy, OnFunc, OnFuncReturn, Result, timeouted } from "@adviser/cement";
|
|
3
3
|
import { transform } from "sucrase";
|
|
4
4
|
import { registerCallAI } from "./call-ai.js";
|
|
@@ -162,6 +162,28 @@ export class VibeSandboxApi {
|
|
|
162
162
|
dbName,
|
|
163
163
|
}, { wait: isResSubscribeDocs, timeout: 10000 });
|
|
164
164
|
}
|
|
165
|
+
syncPull(cursors, dbName = "default") {
|
|
166
|
+
return this.request({
|
|
167
|
+
type: "vibes.diy.req-sync-pull",
|
|
168
|
+
...this.svc.vibeApp,
|
|
169
|
+
dbName,
|
|
170
|
+
cursors,
|
|
171
|
+
}, { wait: isResSyncPull, timeout: 10000 });
|
|
172
|
+
}
|
|
173
|
+
syncPush(writes, dbName = "default") {
|
|
174
|
+
return this.request({
|
|
175
|
+
type: "vibes.diy.req-sync-push",
|
|
176
|
+
...this.svc.vibeApp,
|
|
177
|
+
dbName,
|
|
178
|
+
writes,
|
|
179
|
+
}, { wait: isResSyncPush, timeout: 10000 });
|
|
180
|
+
}
|
|
181
|
+
onSyncReconnected(fn) {
|
|
182
|
+
return this.onMsg((event) => {
|
|
183
|
+
if (isEvtSyncReconnected(event.data))
|
|
184
|
+
fn();
|
|
185
|
+
});
|
|
186
|
+
}
|
|
165
187
|
broadcastEphemeral(docId, doc, dbName = "default") {
|
|
166
188
|
if (!this.acked)
|
|
167
189
|
return;
|