@vibes.diy/vibe-runtime 5.5.17 → 6.0.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.
@@ -1,213 +0,0 @@
1
- import { materializeQuery, newOptimisticId, } from "./firefly-database.js";
2
- const LOCAL_PREFIX = "firefly-anon";
3
- function dbStorageKey(name) {
4
- return `${LOCAL_PREFIX}:db:${name}`;
5
- }
6
- function authedBeforeKey(name) {
7
- return `${LOCAL_PREFIX}:authed:${name}`;
8
- }
9
- function safeLocalStorage() {
10
- try {
11
- const s = globalThis.localStorage;
12
- if (s) {
13
- const k = `${LOCAL_PREFIX}:probe`;
14
- s.setItem(k, "1");
15
- s.removeItem(k);
16
- return s;
17
- }
18
- }
19
- catch {
20
- }
21
- return undefined;
22
- }
23
- export function hasAuthedBefore(name, storage = safeLocalStorage()) {
24
- try {
25
- return storage?.getItem(authedBeforeKey(name)) === "1";
26
- }
27
- catch {
28
- return false;
29
- }
30
- }
31
- export function markAuthedBefore(name, storage = safeLocalStorage()) {
32
- try {
33
- storage?.setItem(authedBeforeKey(name), "1");
34
- }
35
- catch {
36
- }
37
- }
38
- export class LocalDatabase {
39
- name;
40
- docs = new Map();
41
- listeners = new Set();
42
- storage;
43
- constructor(name, storage = safeLocalStorage()) {
44
- this.name = name;
45
- this.storage = storage;
46
- this.load();
47
- }
48
- load() {
49
- if (!this.storage)
50
- return;
51
- try {
52
- const raw = this.storage.getItem(dbStorageKey(this.name));
53
- if (!raw)
54
- return;
55
- const arr = JSON.parse(raw);
56
- if (Array.isArray(arr)) {
57
- for (const d of arr)
58
- if (d && typeof d._id === "string")
59
- this.docs.set(d._id, d);
60
- }
61
- }
62
- catch {
63
- }
64
- }
65
- persist() {
66
- if (!this.storage)
67
- return;
68
- try {
69
- this.storage.setItem(dbStorageKey(this.name), JSON.stringify([...this.docs.values()]));
70
- }
71
- catch {
72
- }
73
- }
74
- async ready() {
75
- return;
76
- }
77
- async close() {
78
- return;
79
- }
80
- async destroy() {
81
- return;
82
- }
83
- async compact() {
84
- return;
85
- }
86
- resubscribe() {
87
- return;
88
- }
89
- setOptimistic(_enabled) {
90
- return;
91
- }
92
- async get(id) {
93
- const doc = this.docs.get(id);
94
- if (!doc)
95
- throw new Error(`Failed to get document: ${id} (not found)`);
96
- return { ...doc };
97
- }
98
- async put(doc) {
99
- const id = doc._id ?? newOptimisticId();
100
- const saved = { ...doc, _id: id };
101
- this.docs.set(id, saved);
102
- this.persist();
103
- this.notify([saved]);
104
- return { id, ok: true };
105
- }
106
- async del(id) {
107
- this.docs.delete(id);
108
- this.persist();
109
- this.notify([{ _id: id, _deleted: true }]);
110
- return { id, ok: true };
111
- }
112
- async remove(id) {
113
- return this.del(id);
114
- }
115
- async bulk(docs) {
116
- const ids = [];
117
- for (const doc of docs)
118
- ids.push((await this.put(doc)).id);
119
- return { ids };
120
- }
121
- snapshotDocs() {
122
- return [...this.docs.values()].map((d) => ({ ...d }));
123
- }
124
- async query(mapFn, opts = {}) {
125
- return materializeQuery(this.snapshotDocs(), mapFn, opts);
126
- }
127
- async queryLive(mapFn, opts = {}) {
128
- const serverDocs = this.snapshotDocs();
129
- return { result: materializeQuery(serverDocs, mapFn, opts), serverDocs };
130
- }
131
- materializeLive(serverDocs, mapFn, opts = {}) {
132
- return materializeQuery(serverDocs, mapFn, opts);
133
- }
134
- async allDocs(opts = {}) {
135
- let docs = this.snapshotDocs();
136
- docs.sort((a, b) => (a._id < b._id ? -1 : a._id > b._id ? 1 : 0));
137
- if (opts.descending)
138
- docs.reverse();
139
- if (opts.offset)
140
- docs = docs.slice(opts.offset);
141
- if (opts.limit !== undefined)
142
- docs = docs.slice(0, opts.limit);
143
- const rows = docs.map((doc) => ({ key: doc._id, value: doc, doc }));
144
- return { rows, docs };
145
- }
146
- async changes() {
147
- return { rows: [], docs: [] };
148
- }
149
- subscribe(listener, _updates) {
150
- const fn = listener;
151
- this.listeners.add(fn);
152
- return () => {
153
- this.listeners.delete(fn);
154
- };
155
- }
156
- notify(docs, meta) {
157
- for (const fn of this.listeners) {
158
- try {
159
- if (meta === undefined)
160
- fn(docs);
161
- else
162
- fn(docs, meta);
163
- }
164
- catch {
165
- }
166
- }
167
- }
168
- snapshot() {
169
- return this.snapshotDocs();
170
- }
171
- get size() {
172
- return this.docs.size;
173
- }
174
- clear() {
175
- this.docs.clear();
176
- if (this.storage) {
177
- try {
178
- this.storage.removeItem(dbStorageKey(this.name));
179
- }
180
- catch {
181
- }
182
- }
183
- this.notify([]);
184
- }
185
- }
186
- const localDbCache = new Map();
187
- export function getOrCreateLocalDb(name) {
188
- let db = localDbCache.get(name);
189
- if (!db) {
190
- db = new LocalDatabase(name);
191
- localDbCache.set(name, db);
192
- }
193
- return db;
194
- }
195
- export async function migrateLocalToCloud(localDb, cloudDb, userHandle, migrate) {
196
- const docs = localDb.snapshot();
197
- if (docs.length === 0)
198
- return { migrated: 0, dropped: 0 };
199
- let migrated = 0;
200
- let dropped = 0;
201
- for (const doc of docs) {
202
- const out = migrate ? migrate(doc, userHandle) : doc;
203
- if (!out) {
204
- dropped++;
205
- continue;
206
- }
207
- await cloudDb.put(out);
208
- migrated++;
209
- }
210
- localDb.clear();
211
- return { migrated, dropped };
212
- }
213
- //# sourceMappingURL=firefly-local-database.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"firefly-local-database.js","sourceRoot":"","sources":["../jsr/firefly-local-database.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,gBAAgB,EAChB,eAAe,GAWhB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,YAAY,GAAG,cAAc,CAAC;AAEpC,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,GAAG,YAAY,OAAO,IAAI,EAAE,CAAC;AACtC,CAAC;AACD,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,GAAG,YAAY,WAAW,IAAI,EAAE,CAAC;AAC1C,CAAC;AAGD,SAAS,gBAAgB;IACvB,IAAI,CAAC;QACH,MAAM,CAAC,GAAI,UAAyC,CAAC,YAAY,CAAC;QAElE,IAAI,CAAC,EAAE,CAAC;YACN,MAAM,CAAC,GAAG,GAAG,YAAY,QAAQ,CAAC;YAClC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAClB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAQD,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,OAAO,GAAwB,gBAAgB,EAAE;IAC7F,IAAI,CAAC;QACH,OAAO,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,OAAO,GAAwB,gBAAgB,EAAE;IAC9F,IAAI,CAAC;QACH,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;AACH,CAAC;AAED,MAAM,OAAO,aAAa;IACf,IAAI,CAAS;IACL,IAAI,GAAG,IAAI,GAAG,EAAqB,CAAC;IACpC,SAAS,GAAG,IAAI,GAAG,EAAc,CAAC;IAClC,OAAO,CAAW;IAEnC,YAAY,IAAY,EAAE,OAAO,GAAwB,gBAAgB,EAAE;QACzE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAEO,IAAI;QACV,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,GAAG;gBAAE,OAAO;YACjB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAgB,CAAC;YAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,KAAK,MAAM,CAAC,IAAI,GAAG;oBAAE,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ;wBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC;IAEO,OAAO;QACb,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QACzF,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC;IAGD,KAAK,CAAC,KAAK;QACT,OAAO;IACT,CAAC;IACD,KAAK,CAAC,KAAK;QACT,OAAO;IACT,CAAC;IACD,KAAK,CAAC,OAAO;QACX,OAAO;IACT,CAAC;IACD,KAAK,CAAC,OAAO;QACX,OAAO;IACT,CAAC;IACD,WAAW;QACT,OAAO;IACT,CAAC;IAED,aAAa,CAAC,QAAiB;QAC7B,OAAO;IACT,CAAC;IAED,KAAK,CAAC,GAAG,CAAqB,EAAU;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,EAAE,cAAc,CAAC,CAAC;QACvE,OAAO,EAAE,GAAG,GAAG,EAAkB,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,GAAG,CAAqB,GAAyB;QACrD,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,IAAI,eAAe,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,EAAe,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACrB,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAe,CAAC,CAAC,CAAC;QACxD,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,IAAI,CAAqB,IAA8B;QAC3D,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3D,OAAO,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC;IAEO,YAAY;QAClB,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAmB,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,KAAK,CAAqB,KAAkB,EAAE,IAAI,GAAc,EAAE;QACtE,OAAO,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,SAAS,CACb,KAAkB,EAClB,IAAI,GAAc,EAAE;QAEpB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAK,CAAC;QAC1C,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3E,CAAC;IAED,eAAe,CAAqB,UAA0B,EAAE,KAAkB,EAAE,IAAI,GAAc,EAAE;QACtG,OAAO,gBAAgB,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,OAAO,CACX,IAAI,GAA8D,EAAE;QAEpE,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,EAAK,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,IAAI,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,MAAM;YAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAChC,CAAC;IAED,SAAS,CAAqB,QAAuB,EAAE,QAAkB;QACvE,MAAM,EAAE,GAAG,QAAsB,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvB,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,IAAiB,EAAE,IAAiB;QACjD,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,IAAI,IAAI,KAAK,SAAS;oBAAE,EAAE,CAAC,IAAI,CAAC,CAAC;;oBAC5B,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACtB,CAAC;YAAC,MAAM,CAAC;YAET,CAAC;QACH,CAAC;IACH,CAAC;IAID,QAAQ;QACN,OAAO,IAAI,CAAC,YAAY,EAAK,CAAC;IAChC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAGD,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACnD,CAAC;YAAC,MAAM,CAAC;YAET,CAAC;QACH,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;CACF;AAID,MAAM,YAAY,GAAG,IAAI,GAAG,EAAyB,CAAC;AAEtD,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,IAAI,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,EAAE,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7B,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAYD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAsB,EACtB,OAA6B,EAC7B,UAAkB,EAClB,OAAmB;IAEnB,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAChC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAE1D,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACrD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;YACV,SAAS;QACX,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,GAAiD,CAAC,CAAC;QACrE,QAAQ,EAAE,CAAC;IACb,CAAC;IAGD,OAAO,CAAC,KAAK,EAAE,CAAC;IAChB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC/B,CAAC"}