@vibes.diy/vibe-runtime 8.2.0 → 8.3.0

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/index.d.ts CHANGED
@@ -12,7 +12,7 @@ export { generateTailwindRemapCss, TAILWIND_REMAP_STYLE_ID } from "./tailwindRem
12
12
  export * from "./call-ai.js";
13
13
  export * from "./img-gen.js";
14
14
  export { resizeImageToBase64 } from "./resize-image.js";
15
- export { useFireproof, fireproof, listDbNames, INTERNAL_MEDIA_DB_ACCESS, type DatabaseAccess } from "./use-firefly.js";
15
+ export { useFireproof, fireproof, listDbNames, registerFirefly, INTERNAL_MEDIA_DB_ACCESS, type DatabaseAccess, } from "./use-firefly.js";
16
16
  export { useViewer, type UseViewerResult } from "./use-viewer.js";
17
17
  export { useSocial, type UseSocialResult, type SocialEdgeView } from "./use-social.js";
18
18
  export { useGraceDegraded, armGrace, isGraceDegraded, subscribeGrace, setGraceMsForTest, __resetGraceForTest, } from "./use-vibe-grace.js";
package/index.js CHANGED
@@ -11,7 +11,7 @@ export { generateTailwindRemapCss, TAILWIND_REMAP_STYLE_ID } from "./tailwindRem
11
11
  export * from "./call-ai.js";
12
12
  export * from "./img-gen.js";
13
13
  export { resizeImageToBase64 } from "./resize-image.js";
14
- export { useFireproof, fireproof, listDbNames, INTERNAL_MEDIA_DB_ACCESS } from "./use-firefly.js";
14
+ export { useFireproof, fireproof, listDbNames, registerFirefly, INTERNAL_MEDIA_DB_ACCESS, } from "./use-firefly.js";
15
15
  export { useViewer } from "./use-viewer.js";
16
16
  export { useSocial } from "./use-social.js";
17
17
  export { useGraceDegraded, armGrace, isGraceDegraded, subscribeGrace, setGraceMsForTest, __resetGraceForTest, } from "./use-vibe-grace.js";
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AAKjC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,cAAc,GAIf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,qCAAqC,GAGtC,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,4BAA4B,GAE7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACvF,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,wBAAwB,EAAuB,MAAM,kBAAkB,CAAC;AACvH,OAAO,EAAE,SAAS,EAAwB,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,SAAS,EAA6C,MAAM,iBAAiB,CAAC;AACvF,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,eAAe,IAAI,QAAQ,GAO5B,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACL,aAAa,EACb,SAAS,EACT,aAAa,GAOd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAuD,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,2BAA2B,GAE5B,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AAKjC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,cAAc,GAIf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,qCAAqC,GAGtC,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,4BAA4B,GAE7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACvF,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAIxD,OAAO,EACL,YAAY,EACZ,SAAS,EACT,WAAW,EACX,eAAe,EACf,wBAAwB,GAEzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAwB,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,SAAS,EAA6C,MAAM,iBAAiB,CAAC;AACvF,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,eAAe,IAAI,QAAQ,GAO5B,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACL,aAAa,EACb,SAAS,EACT,aAAa,GAOd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAuD,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,2BAA2B,GAE5B,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,75 @@
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 declare class IndexedDbStore implements FireflyQueryDatabase {
3
+ readonly name: string;
4
+ seedDocs?: DocWithId<DocTypes>[];
5
+ private readonly app;
6
+ private readonly factory?;
7
+ private readonly storage?;
8
+ private readonly docs;
9
+ private readonly listeners;
10
+ private db?;
11
+ private readonly readyPromise;
12
+ constructor(args: {
13
+ app: string;
14
+ name: string;
15
+ seedDocs?: DocWithId[];
16
+ indexedDB?: IDBFactory;
17
+ storage?: Storage;
18
+ persistent?: boolean;
19
+ });
20
+ private hydrate;
21
+ private migrateLocalStorage;
22
+ ready(): Promise<void>;
23
+ close(): Promise<void>;
24
+ destroy(): Promise<void>;
25
+ compact(): Promise<void>;
26
+ resubscribe(): void;
27
+ setOptimistic(_enabled: boolean): void;
28
+ get<T extends DocTypes>(id: string): Promise<DocWithId<T>>;
29
+ put<T extends DocTypes>(doc: T & {
30
+ _id?: string;
31
+ }): Promise<DocResponse>;
32
+ del(id: string): Promise<DocResponse>;
33
+ remove(id: string): Promise<DocResponse>;
34
+ bulk<T extends DocTypes>(docs: (T & {
35
+ _id?: string;
36
+ })[]): Promise<{
37
+ ids: string[];
38
+ }>;
39
+ snapshot<T extends DocTypes = DocTypes>(): DocWithId<T>[];
40
+ get size(): number;
41
+ query<T extends DocTypes>(mapFn: MapFnArg<T>, opts?: QueryOpts): Promise<QueryResponse<T>>;
42
+ queryLive<T extends DocTypes>(mapFn: MapFnArg<T>, opts?: QueryOpts): Promise<{
43
+ result: QueryResponse<T>;
44
+ serverDocs: DocWithId<T>[];
45
+ }>;
46
+ materializeLive<T extends DocTypes>(serverDocs: DocWithId<T>[], mapFn: MapFnArg<T>, opts?: QueryOpts): QueryResponse<T>;
47
+ materializeAllDocs<T extends DocTypes>(serverDocs: DocWithId<T>[], opts?: {
48
+ limit?: number;
49
+ offset?: number;
50
+ descending?: boolean;
51
+ }): {
52
+ rows: IndexRow<T>[];
53
+ docs: DocWithId<T>[];
54
+ };
55
+ allDocs<T extends DocTypes>(opts?: {
56
+ limit?: number;
57
+ offset?: number;
58
+ descending?: boolean;
59
+ }): Promise<{
60
+ rows: IndexRow<T>[];
61
+ docs: DocWithId<T>[];
62
+ }>;
63
+ changes<T extends DocTypes>(): Promise<{
64
+ rows: IndexRow<T>[];
65
+ docs: DocWithId<T>[];
66
+ }>;
67
+ subscribe<T extends DocTypes>(listener: ListenerFn<T>): () => void;
68
+ foldSeedDocs(seedDocs: DocWithId[]): void;
69
+ private notify;
70
+ }
71
+ export declare function getOrCreateIndexedDbStore(args: {
72
+ app?: string;
73
+ name: string;
74
+ seedDocs?: DocWithId[];
75
+ }): IndexedDbStore;
@@ -0,0 +1,257 @@
1
+ import { exception2Result } from "@adviser/cement";
2
+ import { materializeQuery, newOptimisticId, } from "./firefly-database.js";
3
+ import { Localfly, safeLocalStorage } from "./localfly.js";
4
+ const DOCS = "docs";
5
+ const META = "meta";
6
+ const MIGRATION_KEY = "localstorage-v1";
7
+ const DB_PREFIX = "firefly-local-v1";
8
+ function requestResult(request) {
9
+ return new Promise((resolve, reject) => {
10
+ request.onsuccess = () => resolve(request.result);
11
+ request.onerror = () => reject(request.error ?? new Error("IndexedDB request failed"));
12
+ });
13
+ }
14
+ function transactionDone(tx) {
15
+ return new Promise((resolve, reject) => {
16
+ tx.oncomplete = () => resolve();
17
+ tx.onerror = () => reject(tx.error ?? new Error("IndexedDB transaction failed"));
18
+ tx.onabort = () => reject(tx.error ?? new Error("IndexedDB transaction aborted"));
19
+ });
20
+ }
21
+ function physicalName(app, name) {
22
+ return `${DB_PREFIX}:${encodeURIComponent(app)}:${encodeURIComponent(name)}`;
23
+ }
24
+ function openDatabase(factory, app, name) {
25
+ return new Promise((resolve, reject) => {
26
+ const request = factory.open(physicalName(app, name), 1);
27
+ request.onupgradeneeded = () => {
28
+ const db = request.result;
29
+ if (!db.objectStoreNames.contains(DOCS))
30
+ db.createObjectStore(DOCS, { keyPath: "_id" });
31
+ if (!db.objectStoreNames.contains(META))
32
+ db.createObjectStore(META);
33
+ };
34
+ request.onsuccess = () => resolve(request.result);
35
+ request.onerror = () => reject(request.error ?? new Error("Failed to open IndexedDB"));
36
+ request.onblocked = () => reject(new Error("IndexedDB open was blocked"));
37
+ });
38
+ }
39
+ function legacyStoreNames(name, storage) {
40
+ const names = new Set([name, `pending:anon:${name}`]);
41
+ const prefix = "firefly-anon:db:pending:";
42
+ const suffix = `:${name}`;
43
+ for (let i = 0; i < storage.length; i++) {
44
+ const key = storage.key(i);
45
+ if (key?.startsWith(prefix) && key.endsWith(suffix))
46
+ names.add(key.slice("firefly-anon:db:".length));
47
+ }
48
+ return [...names];
49
+ }
50
+ export class IndexedDbStore {
51
+ name;
52
+ seedDocs;
53
+ app;
54
+ factory;
55
+ storage;
56
+ docs = new Map();
57
+ listeners = new Set();
58
+ db;
59
+ readyPromise;
60
+ constructor(args) {
61
+ this.app = args.app;
62
+ this.name = args.name;
63
+ this.seedDocs = args.seedDocs;
64
+ for (const doc of args.seedDocs ?? [])
65
+ this.docs.set(doc._id, { ...doc });
66
+ this.factory = args.persistent === false ? undefined : (args.indexedDB ?? globalThis.indexedDB);
67
+ this.storage = args.storage ?? safeLocalStorage();
68
+ this.readyPromise = this.hydrate();
69
+ }
70
+ async hydrate() {
71
+ if (this.factory === undefined)
72
+ return;
73
+ const db = await openDatabase(this.factory, this.app, this.name);
74
+ this.db = db;
75
+ const read = db.transaction([DOCS, META], "readonly");
76
+ const stored = await requestResult(read.objectStore(DOCS).getAll());
77
+ const migrated = await requestResult(read.objectStore(META).get(MIGRATION_KEY));
78
+ await transactionDone(read);
79
+ for (const doc of stored)
80
+ this.docs.set(doc._id, { ...doc });
81
+ const migratedCount = migrated === true ? 0 : await this.migrateLocalStorage(db);
82
+ if (stored.length > 0 || migratedCount > 0)
83
+ this.notify(this.snapshot());
84
+ }
85
+ async migrateLocalStorage(db) {
86
+ const legacyDocs = new Map();
87
+ const deletedIds = new Set();
88
+ if (this.storage !== undefined) {
89
+ for (const legacyName of legacyStoreNames(this.name, this.storage)) {
90
+ for (const doc of new Localfly(legacyName, this.storage).snapshot()) {
91
+ if (doc._deleted === true) {
92
+ legacyDocs.delete(doc._id);
93
+ deletedIds.add(doc._id);
94
+ }
95
+ else {
96
+ legacyDocs.set(doc._id, { ...doc });
97
+ deletedIds.delete(doc._id);
98
+ }
99
+ }
100
+ }
101
+ }
102
+ const tx = db.transaction([DOCS, META], "readwrite");
103
+ const docsStore = tx.objectStore(DOCS);
104
+ for (const doc of legacyDocs.values())
105
+ docsStore.put(doc);
106
+ for (const id of deletedIds)
107
+ docsStore.delete(id);
108
+ tx.objectStore(META).put(true, MIGRATION_KEY);
109
+ await transactionDone(tx);
110
+ for (const doc of legacyDocs.values())
111
+ this.docs.set(doc._id, { ...doc });
112
+ for (const id of deletedIds)
113
+ this.docs.delete(id);
114
+ return legacyDocs.size + deletedIds.size;
115
+ }
116
+ async ready() {
117
+ await this.readyPromise;
118
+ }
119
+ async close() {
120
+ await this.ready();
121
+ this.db?.close();
122
+ }
123
+ async destroy() {
124
+ await this.ready();
125
+ this.db?.close();
126
+ this.db = undefined;
127
+ this.docs.clear();
128
+ if (this.factory !== undefined)
129
+ await requestResult(this.factory.deleteDatabase(physicalName(this.app, this.name)));
130
+ this.notify([]);
131
+ }
132
+ async compact() {
133
+ return;
134
+ }
135
+ resubscribe() {
136
+ return;
137
+ }
138
+ setOptimistic(_enabled) {
139
+ return;
140
+ }
141
+ async get(id) {
142
+ await this.ready();
143
+ const doc = this.docs.get(id);
144
+ if (doc === undefined)
145
+ throw new Error(`Failed to get document: ${id} (not found)`);
146
+ return { ...doc };
147
+ }
148
+ async put(doc) {
149
+ await this.ready();
150
+ const id = doc._id ?? newOptimisticId();
151
+ const saved = { ...doc, _id: id };
152
+ if (this.db !== undefined) {
153
+ const tx = this.db.transaction(DOCS, "readwrite");
154
+ tx.objectStore(DOCS).put(saved);
155
+ await transactionDone(tx);
156
+ }
157
+ this.docs.set(id, saved);
158
+ this.notify([saved]);
159
+ return { id, ok: true };
160
+ }
161
+ async del(id) {
162
+ await this.ready();
163
+ if (this.db !== undefined) {
164
+ const tx = this.db.transaction(DOCS, "readwrite");
165
+ tx.objectStore(DOCS).delete(id);
166
+ await transactionDone(tx);
167
+ }
168
+ this.docs.delete(id);
169
+ this.notify([{ _id: id, _deleted: true }]);
170
+ return { id, ok: true };
171
+ }
172
+ async remove(id) {
173
+ return this.del(id);
174
+ }
175
+ async bulk(docs) {
176
+ const ids = [];
177
+ for (const doc of docs)
178
+ ids.push((await this.put(doc)).id);
179
+ return { ids };
180
+ }
181
+ snapshot() {
182
+ return [...this.docs.values()].map((doc) => ({ ...doc }));
183
+ }
184
+ get size() {
185
+ return this.docs.size;
186
+ }
187
+ async query(mapFn, opts = {}) {
188
+ await this.ready();
189
+ return materializeQuery(this.snapshot(), mapFn, opts);
190
+ }
191
+ async queryLive(mapFn, opts = {}) {
192
+ await this.ready();
193
+ const serverDocs = this.snapshot();
194
+ return { result: materializeQuery(serverDocs, mapFn, opts), serverDocs };
195
+ }
196
+ materializeLive(serverDocs, mapFn, opts = {}) {
197
+ return materializeQuery(serverDocs, mapFn, opts);
198
+ }
199
+ materializeAllDocs(serverDocs, opts = {}) {
200
+ let docs = [...serverDocs].sort((a, b) => (a._id < b._id ? -1 : a._id > b._id ? 1 : 0));
201
+ if (opts.descending)
202
+ docs.reverse();
203
+ if (opts.offset)
204
+ docs = docs.slice(opts.offset);
205
+ if (opts.limit !== undefined)
206
+ docs = docs.slice(0, opts.limit);
207
+ return { rows: docs.map((doc) => ({ key: doc._id, value: doc, doc })), docs };
208
+ }
209
+ async allDocs(opts = {}) {
210
+ await this.ready();
211
+ return this.materializeAllDocs(this.snapshot(), opts);
212
+ }
213
+ async changes() {
214
+ return { rows: [], docs: [] };
215
+ }
216
+ subscribe(listener) {
217
+ const fn = listener;
218
+ this.listeners.add(fn);
219
+ return () => this.listeners.delete(fn);
220
+ }
221
+ foldSeedDocs(seedDocs) {
222
+ this.seedDocs = seedDocs;
223
+ let added = false;
224
+ for (const doc of seedDocs) {
225
+ if (!this.docs.has(doc._id)) {
226
+ this.docs.set(doc._id, { ...doc });
227
+ added = true;
228
+ }
229
+ }
230
+ if (added)
231
+ this.notify(this.snapshot());
232
+ }
233
+ notify(docs, meta) {
234
+ for (const listener of this.listeners) {
235
+ const called = exception2Result(() => (meta === undefined ? listener(docs) : listener(docs, meta)));
236
+ if (called.isErr())
237
+ continue;
238
+ }
239
+ }
240
+ }
241
+ const storeCache = new Map();
242
+ export function getOrCreateIndexedDbStore(args) {
243
+ if (args.app === undefined) {
244
+ return new IndexedDbStore({ app: "unattributed", name: args.name, seedDocs: args.seedDocs, persistent: false });
245
+ }
246
+ const key = `${args.app}\u0000${args.name}`;
247
+ let store = storeCache.get(key);
248
+ if (store === undefined) {
249
+ store = new IndexedDbStore({ app: args.app, name: args.name, seedDocs: args.seedDocs });
250
+ storeCache.set(key, store);
251
+ }
252
+ else if (store.seedDocs === undefined && args.seedDocs !== undefined) {
253
+ store.foldSeedDocs(args.seedDocs);
254
+ }
255
+ return store;
256
+ }
257
+ //# sourceMappingURL=indexeddb-store.js.map
@@ -0,0 +1 @@
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": "8.2.0",
3
+ "version": "8.3.0",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -22,8 +22,8 @@
22
22
  },
23
23
  "dependencies": {
24
24
  "@adviser/cement": "~0.5.34",
25
- "@vibes.diy/base": "8.2.0",
26
- "@vibes.diy/vibe-types": "8.2.0",
25
+ "@vibes.diy/base": "8.3.0",
26
+ "@vibes.diy/vibe-types": "8.3.0",
27
27
  "arktype": "~2.2.3",
28
28
  "charwise": "~3.0.1",
29
29
  "es-module-lexer": "~2.3.1",
package/use-firefly.d.ts CHANGED
@@ -11,6 +11,7 @@ export interface DatabaseAccess {
11
11
  export declare const INTERNAL_MEDIA_DB_ACCESS: unique symbol;
12
12
  export declare function registerFirefly(api: VibeSandboxApi): Promise<void>;
13
13
  export declare function isFireflyRegistered(): boolean;
14
+ export declare function registeredAppKey(): string | undefined;
14
15
  export declare function listDbNames(): Promise<string[]>;
15
16
  export declare function fireproof(name: string): FireflyDatabase;
16
17
  export declare function useFireproof(name?: string, config?: {
package/use-firefly.js CHANGED
@@ -51,6 +51,10 @@ export async function registerFirefly(api) {
51
51
  export function isFireflyRegistered() {
52
52
  return vibeApiRef !== undefined;
53
53
  }
54
+ export function registeredAppKey() {
55
+ const app = vibeApiRef?.svc.vibeApp;
56
+ return app === undefined ? undefined : `${app.ownerHandle}/${app.appSlug}`;
57
+ }
54
58
  export async function listDbNames() {
55
59
  if (!vibeApiRef) {
56
60
  throw new Error("Firefly not initialized — registerFirefly() must be called before listDbNames()");
@@ -1 +1 @@
1
- {"version":3,"file":"use-firefly.js","sourceRoot":"","sources":["../jsr/use-firefly.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-firefly.js","sourceRoot":"","sources":["../jsr/use-firefly.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import type { AccessFunction, DbAcl } from "@vibes.diy/vibe-types";
2
+ import type { DocWithId, IndexRow, MapFnArg, QueryOpts } from "./firefly-database.js";
3
+ import { INTERNAL_MEDIA_DB_ACCESS, isFireflyRegistered, listDbNames, registerFirefly } from "./use-firefly.js";
4
+ import type { MigrateFn } from "./localfly.js";
5
+ export { INTERNAL_MEDIA_DB_ACCESS, isFireflyRegistered, listDbNames, registerFirefly };
6
+ export interface DatabaseAccess {
7
+ readonly roles: ReadonlySet<string>;
8
+ readonly channels: ReadonlySet<string>;
9
+ hasRole(role: string): boolean;
10
+ hasChannel(channel: string): boolean;
11
+ }
12
+ export declare function fireproof(name?: string): import("./indexeddb-store.js").IndexedDbStore;
13
+ export declare function useFireproof(name?: string, _config?: {
14
+ acl?: DbAcl;
15
+ access?: AccessFunction;
16
+ optimistic?: boolean;
17
+ anonymousLocal?: boolean;
18
+ offlineQueue?: boolean;
19
+ migrate?: MigrateFn;
20
+ [INTERNAL_MEDIA_DB_ACCESS]?: boolean;
21
+ [key: string]: unknown;
22
+ }): {
23
+ database: import("./indexeddb-store.js").IndexedDbStore;
24
+ useDocument: (initial?: Record<string, unknown>) => {
25
+ doc: {
26
+ [x: string]: unknown;
27
+ };
28
+ merge: (value: Record<string, unknown>) => void;
29
+ replace: (value: Record<string, unknown>) => void;
30
+ reset: () => void;
31
+ refresh: () => Promise<void>;
32
+ save: (value?: Record<string, unknown>) => Promise<import("./firefly-database.js").DocResponse>;
33
+ remove: (value?: Record<string, unknown>) => Promise<import("./firefly-database.js").DocResponse>;
34
+ submit: (event?: {
35
+ preventDefault?: () => void;
36
+ }) => Promise<void>;
37
+ };
38
+ useLiveQuery: (mapFn: MapFnArg, query?: QueryOpts, initialRows?: IndexRow[]) => {
39
+ rows: IndexRow<import("./firefly-database.js").DocTypes>[];
40
+ docs: DocWithId<import("./firefly-database.js").DocTypes>[];
41
+ fromCache: boolean;
42
+ };
43
+ useAllDocs: (query?: {
44
+ limit?: number;
45
+ offset?: number;
46
+ descending?: boolean;
47
+ }) => {
48
+ rows: IndexRow<import("./firefly-database.js").DocTypes>[];
49
+ docs: DocWithId<import("./firefly-database.js").DocTypes>[];
50
+ fromCache: boolean;
51
+ };
52
+ useChanges: () => {
53
+ rows: IndexRow[];
54
+ docs: DocWithId[];
55
+ };
56
+ attach: () => Promise<void>;
57
+ access: DatabaseAccess;
58
+ };
@@ -0,0 +1,132 @@
1
+ import { useCallback, useEffect, useMemo, useState } from "react";
2
+ import { getRegisteredVibeApi } from "./register-dependencies.js";
3
+ import { useVibeContext } from "./VibeContext.js";
4
+ import { getOrCreateIndexedDbStore } from "./indexeddb-store.js";
5
+ import { INTERNAL_MEDIA_DB_ACCESS, isFireflyRegistered, listDbNames, registerFirefly, registeredAppKey } from "./use-firefly.js";
6
+ export { INTERNAL_MEDIA_DB_ACCESS, isFireflyRegistered, listDbNames, registerFirefly };
7
+ function appKey() {
8
+ const app = getRegisteredVibeApi()?.svc.vibeApp;
9
+ if (app !== undefined)
10
+ return `${app.ownerHandle}/${app.appSlug}`;
11
+ return registeredAppKey();
12
+ }
13
+ export function fireproof(name = "useFireproof") {
14
+ return getOrCreateIndexedDbStore({ app: appKey(), name });
15
+ }
16
+ export function useFireproof(name = "useFireproof", _config = {}) {
17
+ const { mountParams } = useVibeContext();
18
+ const seedDocs = mountParams.seedDocs?.[name];
19
+ const database = useMemo(() => getOrCreateIndexedDbStore({ app: appKey(), name, seedDocs }), [name]);
20
+ const useDocument = useMemo(() => createUseDocument(database), [database]);
21
+ const useLiveQuery = useMemo(() => createUseLiveQuery(database), [database]);
22
+ const useAllDocs = useMemo(() => createUseAllDocs(database), [database]);
23
+ const useChanges = useMemo(() => createUseChanges(database), [database]);
24
+ const grants = mountParams.viewerEnv?.grants?.[name];
25
+ const access = useMemo(() => {
26
+ const roles = new Set(grants?.roles ?? []);
27
+ const channels = new Set(grants?.channels ?? []);
28
+ return { roles, channels, hasRole: (role) => roles.has(role), hasChannel: (channel) => channels.has(channel) };
29
+ }, [grants]);
30
+ return {
31
+ database,
32
+ useDocument,
33
+ useLiveQuery,
34
+ useAllDocs,
35
+ useChanges,
36
+ attach: () => database.ready(),
37
+ access,
38
+ };
39
+ }
40
+ function createUseDocument(database) {
41
+ return function useDocument(initial = {}) {
42
+ const [doc, setDoc] = useState(initial);
43
+ const refresh = useCallback(async () => {
44
+ if (typeof doc._id !== "string")
45
+ return;
46
+ const got = await database.get(doc._id).catch(() => undefined);
47
+ if (got !== undefined)
48
+ setDoc(got);
49
+ }, [doc._id]);
50
+ useEffect(() => {
51
+ void refresh();
52
+ return database.subscribe((changes) => {
53
+ if (changes.some((change) => change._id === doc._id))
54
+ void refresh();
55
+ });
56
+ }, [refresh]);
57
+ const merge = useCallback((value) => setDoc((current) => ({ ...current, ...value })), []);
58
+ const replace = useCallback((value) => setDoc(value), []);
59
+ const reset = useCallback(() => setDoc({ ...initial }), [initial]);
60
+ const save = useCallback(async (value) => {
61
+ const res = await database.put(value ?? doc);
62
+ if (value === undefined && doc._id === undefined)
63
+ setDoc((current) => ({ ...current, _id: res.id }));
64
+ return res;
65
+ }, [doc]);
66
+ const remove = useCallback(async (value) => {
67
+ const id = value?._id ?? doc._id;
68
+ if (typeof id !== "string")
69
+ throw new Error("Document must have an _id to be removed");
70
+ const res = await database.del(id);
71
+ reset();
72
+ return res;
73
+ }, [doc, reset]);
74
+ const submit = useCallback(async (event) => {
75
+ event?.preventDefault?.();
76
+ await save();
77
+ reset();
78
+ }, [save, reset]);
79
+ return { doc: { ...doc }, merge, replace, reset, refresh, save, remove, submit };
80
+ };
81
+ }
82
+ function createUseLiveQuery(database) {
83
+ return function useLiveQuery(mapFn, query = {}, initialRows = []) {
84
+ const queryKey = JSON.stringify(query);
85
+ const initial = useMemo(() => {
86
+ if (database.seedDocs !== undefined && database.seedDocs.length > 0 && initialRows.length === 0) {
87
+ return database.materializeLive(database.seedDocs, mapFn, { ...query, includeDocs: true });
88
+ }
89
+ return { rows: initialRows, docs: initialRows.map((row) => row.value) };
90
+ }, []);
91
+ const [result, setResult] = useState({ ...initial, fromCache: false });
92
+ const refresh = useCallback(async () => {
93
+ const next = await database.query(mapFn, { ...query, includeDocs: true });
94
+ setResult({ ...next, fromCache: false });
95
+ }, [database, mapFn.toString(), queryKey]);
96
+ useEffect(() => {
97
+ void refresh();
98
+ return database.subscribe(() => void refresh());
99
+ }, [refresh]);
100
+ return result;
101
+ };
102
+ }
103
+ function createUseAllDocs(database) {
104
+ return function useAllDocs(query = {}) {
105
+ const queryKey = JSON.stringify(query);
106
+ const [result, setResult] = useState(() => ({
107
+ ...database.materializeAllDocs(database.seedDocs ?? [], query),
108
+ fromCache: false,
109
+ }));
110
+ const refresh = useCallback(async () => {
111
+ const next = await database.allDocs(query);
112
+ setResult({ ...next, fromCache: false });
113
+ }, [database, queryKey]);
114
+ useEffect(() => {
115
+ void refresh();
116
+ return database.subscribe(() => void refresh());
117
+ }, [refresh]);
118
+ return result;
119
+ };
120
+ }
121
+ function createUseChanges(database) {
122
+ return function useChanges() {
123
+ const [result, setResult] = useState({ rows: [], docs: [] });
124
+ const refresh = useCallback(async () => setResult(await database.changes()), [database]);
125
+ useEffect(() => {
126
+ void refresh();
127
+ return database.subscribe(() => void refresh());
128
+ }, [refresh]);
129
+ return result;
130
+ };
131
+ }
132
+ //# sourceMappingURL=use-fireproof-local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-fireproof-local.js","sourceRoot":"","sources":["../jsr/use-fireproof-local.ts"],"names":[],"mappings":"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"}