@vibes.diy/vibe-runtime 9.4.1 → 9.4.2

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.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,kCAAkC,EAClC,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,GACpB,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"}
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,qBAAqB,EACrB,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,kCAAkC,EAClC,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,GACpB,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;AAOxD,OAAO,EACL,YAAY,EACZ,SAAS,EACT,WAAW,EACX,eAAe,EACf,wBAAwB,GAEzB,MAAM,0BAA0B,CAAC;AAClC,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"}
@@ -45,6 +45,8 @@ export declare class IndexedDbStore implements FireflyQueryDatabase {
45
45
  private cursors;
46
46
  private pushQueue;
47
47
  private pushSeq;
48
+ private ephemeral?;
49
+ private ephemeralBroadcast?;
48
50
  constructor(args: {
49
51
  app: string;
50
52
  name: string;
@@ -68,7 +70,14 @@ export declare class IndexedDbStore implements FireflyQueryDatabase {
68
70
  peekPushQueue(): Promise<PushQueueEntry[]>;
69
71
  dequeuePush(ids: number[]): Promise<void>;
70
72
  recordAccepted(docId: string, seq: number): Promise<void>;
73
+ revertDoc(docId: string): Promise<void>;
74
+ overwriteFromServer(docId: string, doc: DocTypes): Promise<void>;
71
75
  getSyncMeta(docId: string): Promise<SyncDocMeta | undefined>;
76
+ enableEphemeral(broadcast: (docId: string, doc: Record<string, unknown>) => void): void;
77
+ applyEphemeral(docId: string, doc: Record<string, unknown>, originPeer: string): void;
78
+ dropEphemeralPeer(originPeer: string): void;
79
+ broadcastEphemeral(docId: string, doc: Record<string, unknown>): void;
80
+ private foldEphemeral;
72
81
  compact(): Promise<void>;
73
82
  resubscribe(): void;
74
83
  setOptimistic(_enabled: boolean): void;
@@ -1,6 +1,8 @@
1
1
  import { exception2Result } from "@adviser/cement";
2
2
  import { materializeQuery, newOptimisticId, } from "./firefly-database.js";
3
3
  import { Localfly, safeLocalStorage } from "./localfly.js";
4
+ import { EphemeralOverlay } from "./ephemeral-overlay.js";
5
+ import { noteHydrationExpected, noteHydratedDelivery } from "./app-ready-signal.js";
4
6
  const DOCS = "docs";
5
7
  const META = "meta";
6
8
  const SYNC_META = "syncMeta";
@@ -8,7 +10,7 @@ const CURSORS = "cursors";
8
10
  const PUSH_QUEUE = "pushQueue";
9
11
  const MIGRATION_KEY = "localstorage-v1";
10
12
  const DB_PREFIX = "firefly-local-v1";
11
- const DB_VERSION = 2;
13
+ const DB_VERSION = 3;
12
14
  function requestResult(request) {
13
15
  return new Promise((resolve, reject) => {
14
16
  request.onsuccess = () => resolve(request.result);
@@ -31,7 +33,8 @@ function openDatabase(factory, app, name) {
31
33
  let upgradedFromV1 = false;
32
34
  request.onupgradeneeded = (event) => {
33
35
  const db = request.result;
34
- if (event.oldVersion === 1)
36
+ const oldVersion = event.oldVersion;
37
+ if (oldVersion === 1)
35
38
  upgradedFromV1 = true;
36
39
  if (!db.objectStoreNames.contains(DOCS))
37
40
  db.createObjectStore(DOCS, { keyPath: "_id" });
@@ -41,8 +44,20 @@ function openDatabase(factory, app, name) {
41
44
  db.createObjectStore(SYNC_META, { keyPath: "docId" });
42
45
  if (!db.objectStoreNames.contains(CURSORS))
43
46
  db.createObjectStore(CURSORS);
44
- if (!db.objectStoreNames.contains(PUSH_QUEUE))
45
- db.createObjectStore(PUSH_QUEUE, { keyPath: "id" });
47
+ if (db.objectStoreNames.contains(PUSH_QUEUE) === false) {
48
+ db.createObjectStore(PUSH_QUEUE, { keyPath: "id", autoIncrement: true });
49
+ }
50
+ else if (oldVersion === 2) {
51
+ const oldStore = request.transaction.objectStore(PUSH_QUEUE);
52
+ const rowsReq = oldStore.getAll();
53
+ rowsReq.onsuccess = () => {
54
+ const rows = [...rowsReq.result].sort((a, b) => a.id - b.id);
55
+ db.deleteObjectStore(PUSH_QUEUE);
56
+ const rebuilt = db.createObjectStore(PUSH_QUEUE, { keyPath: "id", autoIncrement: true });
57
+ for (const row of rows)
58
+ rebuilt.put(row);
59
+ };
60
+ }
46
61
  };
47
62
  request.onsuccess = () => resolve({ db: request.result, upgradedFromV1 });
48
63
  request.onerror = () => reject(request.error ?? new Error("Failed to open IndexedDB"));
@@ -75,6 +90,8 @@ export class IndexedDbStore {
75
90
  cursors = new Map();
76
91
  pushQueue = [];
77
92
  pushSeq = 0;
93
+ ephemeral;
94
+ ephemeralBroadcast;
78
95
  constructor(args) {
79
96
  this.app = args.app;
80
97
  this.name = args.name;
@@ -113,10 +130,10 @@ export class IndexedDbStore {
113
130
  this.pushSeq = this.pushQueue.reduce((max, e) => (e.id > max ? e.id : max), 0);
114
131
  for (let i = 0; i < cursorKeys.length; i++)
115
132
  this.cursors.set(String(cursorKeys[i]), cursorVals[i]);
116
- const backfilledCount = upgradedFromV1 ? await this.backfillUnsyncedDocs(db) : 0;
117
- const migratedCount = migrated === true ? 0 : await this.migrateLocalStorage(db);
118
- if (stored.length > 0 || migratedCount > 0 || backfilledCount > 0)
119
- this.notify(this.snapshot());
133
+ if (upgradedFromV1)
134
+ await this.backfillUnsyncedDocs(db);
135
+ if (migrated !== true)
136
+ await this.migrateLocalStorage(db);
120
137
  }
121
138
  async backfillUnsyncedDocs(db) {
122
139
  if (!this.persistent)
@@ -397,11 +414,74 @@ export class IndexedDbStore {
397
414
  await transactionDone(tx);
398
415
  }
399
416
  }
417
+ async revertDoc(docId) {
418
+ await this.ready();
419
+ const existed = this.docs.has(docId);
420
+ this.docs.delete(docId);
421
+ this.syncMeta.delete(docId);
422
+ this.pushQueue = this.pushQueue.filter((e) => e.docId !== docId);
423
+ if (this.db !== undefined) {
424
+ const tx = this.db.transaction([DOCS, SYNC_META, PUSH_QUEUE], "readwrite");
425
+ tx.objectStore(DOCS).delete(docId);
426
+ tx.objectStore(SYNC_META).delete(docId);
427
+ const queueStore = tx.objectStore(PUSH_QUEUE);
428
+ const keysReq = queueStore.getAllKeys();
429
+ const rowsReq = queueStore.getAll();
430
+ const keys = await requestResult(keysReq);
431
+ const rows = await requestResult(rowsReq);
432
+ for (let i = 0; i < rows.length; i++)
433
+ if (rows[i].docId === docId)
434
+ queueStore.delete(keys[i]);
435
+ await transactionDone(tx);
436
+ }
437
+ if (existed)
438
+ this.notify([{ _id: docId, _deleted: true }]);
439
+ }
440
+ async overwriteFromServer(docId, doc) {
441
+ await this.ready();
442
+ const saved = { ...doc, _id: docId };
443
+ this.docs.set(docId, saved);
444
+ this.pushQueue = this.pushQueue.filter((e) => e.docId !== docId);
445
+ if (this.db !== undefined) {
446
+ const tx = this.db.transaction([DOCS, PUSH_QUEUE], "readwrite");
447
+ tx.objectStore(DOCS).put(saved);
448
+ const queueStore = tx.objectStore(PUSH_QUEUE);
449
+ const keysReq = queueStore.getAllKeys();
450
+ const rowsReq = queueStore.getAll();
451
+ const keys = await requestResult(keysReq);
452
+ const rows = await requestResult(rowsReq);
453
+ for (let i = 0; i < rows.length; i++)
454
+ if (rows[i].docId === docId)
455
+ queueStore.delete(keys[i]);
456
+ await transactionDone(tx);
457
+ }
458
+ this.notify([saved]);
459
+ }
400
460
  async getSyncMeta(docId) {
401
461
  await this.ready();
402
462
  const meta = this.syncMeta.get(docId);
403
463
  return meta === undefined ? undefined : { docId: meta.docId, seq: meta.seq, channels: [...meta.channels] };
404
464
  }
465
+ enableEphemeral(broadcast) {
466
+ this.ephemeralBroadcast = broadcast;
467
+ if (this.ephemeral !== undefined)
468
+ return;
469
+ this.ephemeral = new EphemeralOverlay({
470
+ onChange: (docIds) => this.notify(docIds.map((id) => ({ _id: id })), { ephemeral: true }),
471
+ });
472
+ }
473
+ applyEphemeral(docId, doc, originPeer) {
474
+ this.ephemeral?.apply(docId, doc, originPeer);
475
+ }
476
+ dropEphemeralPeer(originPeer) {
477
+ this.ephemeral?.dropPeer(originPeer);
478
+ }
479
+ broadcastEphemeral(docId, doc) {
480
+ this.ephemeralBroadcast?.(docId, doc);
481
+ }
482
+ foldEphemeral(docs) {
483
+ return this.ephemeral === undefined ? docs : this.ephemeral.merge(docs);
484
+ }
405
485
  async compact() {
406
486
  return;
407
487
  }
@@ -414,6 +494,11 @@ export class IndexedDbStore {
414
494
  async get(id) {
415
495
  await this.ready();
416
496
  const doc = this.docs.get(id);
497
+ if (this.ephemeral !== undefined) {
498
+ const folded = this.foldEphemeral(doc !== undefined ? [doc] : []).find((d) => d._id === id);
499
+ if (folded !== undefined)
500
+ return { ...folded };
501
+ }
417
502
  if (doc === undefined)
418
503
  throw new Error(`Failed to get document: ${id} (not found)`);
419
504
  return { ...doc };
@@ -461,8 +546,11 @@ export class IndexedDbStore {
461
546
  return { id, ok: true };
462
547
  }
463
548
  writeQueueEntry(store, docId, deleted) {
464
- const entry = { id: ++this.pushSeq, docId, deleted };
465
- store.put(entry);
549
+ const entry = { id: 0, docId, deleted };
550
+ const req = store.put({ docId, deleted });
551
+ req.onsuccess = () => {
552
+ entry.id = req.result;
553
+ };
466
554
  return entry;
467
555
  }
468
556
  async remove(id) {
@@ -482,18 +570,18 @@ export class IndexedDbStore {
482
570
  }
483
571
  async query(mapFn, opts = {}) {
484
572
  await this.ready();
485
- return materializeQuery(this.snapshot(), mapFn, opts);
573
+ return materializeQuery(this.foldEphemeral(this.snapshot()), mapFn, opts);
486
574
  }
487
575
  async queryLive(mapFn, opts = {}) {
488
576
  await this.ready();
489
577
  const serverDocs = this.snapshot();
490
- return { result: materializeQuery(serverDocs, mapFn, opts), serverDocs };
578
+ return { result: materializeQuery(this.foldEphemeral(serverDocs), mapFn, opts), serverDocs };
491
579
  }
492
580
  materializeLive(serverDocs, mapFn, opts = {}) {
493
- return materializeQuery(serverDocs, mapFn, opts);
581
+ return materializeQuery(this.foldEphemeral(serverDocs), mapFn, opts);
494
582
  }
495
583
  materializeAllDocs(serverDocs, opts = {}) {
496
- let docs = [...serverDocs].sort((a, b) => (a._id < b._id ? -1 : a._id > b._id ? 1 : 0));
584
+ let docs = [...this.foldEphemeral(serverDocs)].sort((a, b) => (a._id < b._id ? -1 : a._id > b._id ? 1 : 0));
497
585
  if (opts.descending)
498
586
  docs.reverse();
499
587
  if (opts.offset)
@@ -544,6 +632,16 @@ export function getOrCreateIndexedDbStore(args) {
544
632
  if (store === undefined) {
545
633
  store = new IndexedDbStore({ app: args.app, name: args.name, seedDocs: args.seedDocs });
546
634
  storeCache.set(key, store);
635
+ if (typeof window !== "undefined") {
636
+ noteHydrationExpected();
637
+ const deliver = () => noteHydratedDelivery();
638
+ void store.ready().then(() => {
639
+ if (typeof setTimeout === "function")
640
+ setTimeout(deliver, 0);
641
+ else
642
+ deliver();
643
+ });
644
+ }
547
645
  }
548
646
  else if (store.seedDocs === undefined && args.seedDocs !== undefined) {
549
647
  store.foldSeedDocs(args.seedDocs);
@@ -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/mount-vibes.js CHANGED
@@ -3,6 +3,7 @@ import { type } from "arktype";
3
3
  import { vibeMountParams } from "./vibe.js";
4
4
  import { buildVibeTree } from "./vibe-tree.js";
5
5
  import { onUncaughtVibeError, setAppContainer } from "./calm-errors.js";
6
+ import { noteAppPainted } from "./app-ready-signal.js";
6
7
  const rootOptions = {
7
8
  onUncaughtError: onUncaughtVibeError,
8
9
  };
@@ -23,7 +24,7 @@ function signalFirstPaint(container, preexisting) {
23
24
  }
24
25
  const send = () => {
25
26
  try {
26
- window.parent?.postMessage({ type: "vibe.evt.app-painted" }, "*");
27
+ window.parent?.postMessage({ type: "vibe.evt.app-painted", supportsAppReady: true }, "*");
27
28
  }
28
29
  catch {
29
30
  }
@@ -51,6 +52,7 @@ function signalFirstPaint(container, preexisting) {
51
52
  const check = () => {
52
53
  if (!hasAppContent())
53
54
  return false;
55
+ noteAppPainted();
54
56
  requestAnimationFrame(() => requestAnimationFrame(post));
55
57
  return true;
56
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mount-vibes.js","sourceRoot":"","sources":["../jsr/mount-vibes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mount-vibes.js","sourceRoot":"","sources":["../jsr/mount-vibes.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.4.1",
3
+ "version": "9.4.2",
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.4.1",
27
- "@vibes.diy/vibe-types": "9.4.1",
26
+ "@vibes.diy/base": "9.4.2",
27
+ "@vibes.diy/vibe-types": "9.4.2",
28
28
  "arktype": "~2.2.3",
29
29
  "charwise": "~3.0.1",
30
30
  "es-module-lexer": "~2.3.1",
package/read-cache.d.ts CHANGED
@@ -1,4 +1,8 @@
1
1
  import type { DocWithId } from "./firefly-database.js";
2
+ export interface PersistedViewerIdentity {
3
+ readonly userHandle: string;
4
+ readonly displayName?: string;
5
+ }
2
6
  export declare function queryHash(mapFnString: string, queryString: string): string;
3
7
  export interface QueryCacheKeyArgs {
4
8
  viewerKey: string;
@@ -11,6 +15,9 @@ export declare function docCacheKey(viewerKey: string, dbName: string, docId: st
11
15
  export declare function readCacheEntry(key: string): DocWithId[] | undefined;
12
16
  export declare function writeCacheEntry(key: string, docs: DocWithId[]): void;
13
17
  export declare function clearAllCache(): void;
18
+ export declare function persistViewerIdentity(appOrigin: string, viewer: PersistedViewerIdentity): void;
19
+ export declare function readPersistedViewerIdentity(appOrigin: string): PersistedViewerIdentity | undefined;
20
+ export declare function clearPersistedViewerIdentity(appOrigin: string): void;
14
21
  export declare function persistViewerKey(appOrigin: string, viewerKey: string): void;
15
22
  export declare function readLastViewerKey(appOrigin: string): string | undefined;
16
23
  export declare function cacheAppOrigin(): string;
package/read-cache.js CHANGED
@@ -3,6 +3,7 @@ import { type } from "arktype";
3
3
  import { safeLocalStorage } from "./localfly.js";
4
4
  const CACHE_PREFIX = "flycache";
5
5
  const VIEWER_PREFIX = "flyviewer";
6
+ const VIEWER_IDENTITY_PREFIX = "flyviewerid";
6
7
  const SIGNOUT_PREFIX = "flysignedout";
7
8
  const SCHEMA_VERSION = 1;
8
9
  const TTL_MS = 7 * 24 * 60 * 60 * 1000;
@@ -12,6 +13,7 @@ const cacheEntrySchema = type({
12
13
  savedAt: "number",
13
14
  docs: type({ _id: "string" }).array(),
14
15
  });
16
+ const viewerIdentitySchema = type({ userHandle: "string", "displayName?": "string" });
15
17
  function isBinary(v) {
16
18
  if (typeof Blob !== "undefined" && v instanceof Blob)
17
19
  return true;
@@ -132,12 +134,52 @@ export function clearAllCache() {
132
134
  const keys = [];
133
135
  for (let i = 0; i < storage.length; i++) {
134
136
  const k = storage.key(i);
135
- if (k !== null && (k.startsWith(`${CACHE_PREFIX}:`) || k.startsWith(`${VIEWER_PREFIX}:`)))
137
+ if (k !== null &&
138
+ (k.startsWith(`${CACHE_PREFIX}:`) || k.startsWith(`${VIEWER_PREFIX}:`) || k.startsWith(`${VIEWER_IDENTITY_PREFIX}:`)))
136
139
  keys.push(k);
137
140
  }
138
141
  for (const k of keys)
139
142
  exception2Result(() => storage.removeItem(k));
140
143
  }
144
+ function viewerIdentityKey(appOrigin) {
145
+ return `${VIEWER_IDENTITY_PREFIX}:${appOrigin}`;
146
+ }
147
+ export function persistViewerIdentity(appOrigin, viewer) {
148
+ const storage = safeLocalStorage();
149
+ if (storage === undefined)
150
+ return;
151
+ const payload = {
152
+ userHandle: viewer.userHandle,
153
+ ...(viewer.displayName !== undefined ? { displayName: viewer.displayName } : {}),
154
+ };
155
+ const serialized = exception2Result(() => JSON.stringify(payload));
156
+ if (serialized.isErr())
157
+ return;
158
+ exception2Result(() => storage.setItem(viewerIdentityKey(appOrigin), serialized.Ok()));
159
+ }
160
+ export function readPersistedViewerIdentity(appOrigin) {
161
+ if (isSignedOutMarked(appOrigin))
162
+ return undefined;
163
+ const storage = safeLocalStorage();
164
+ if (storage === undefined)
165
+ return undefined;
166
+ const r = exception2Result(() => storage.getItem(viewerIdentityKey(appOrigin)));
167
+ if (r.isErr() || r.Ok() == null)
168
+ return undefined;
169
+ const parsed = exception2Result(() => JSON.parse(r.Ok()));
170
+ if (parsed.isErr())
171
+ return undefined;
172
+ const validated = viewerIdentitySchema(parsed.Ok());
173
+ if (validated instanceof type.errors)
174
+ return undefined;
175
+ return validated;
176
+ }
177
+ export function clearPersistedViewerIdentity(appOrigin) {
178
+ const storage = safeLocalStorage();
179
+ if (storage === undefined)
180
+ return;
181
+ exception2Result(() => storage.removeItem(viewerIdentityKey(appOrigin)));
182
+ }
141
183
  function viewerStoreKey(appOrigin) {
142
184
  return `${VIEWER_PREFIX}:${appOrigin}`;
143
185
  }
package/read-cache.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"read-cache.js","sourceRoot":"","sources":["../jsr/read-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-cache.js","sourceRoot":"","sources":["../jsr/read-cache.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
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";
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 ResVibeSetVisibility, 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 {
@@ -10,6 +10,7 @@ export interface VibeApp {
10
10
  dbName: string;
11
11
  accessFnCid: string;
12
12
  }[];
13
+ readonly bootSource?: string;
13
14
  }
14
15
  export interface VibeSandboxApiOptions {
15
16
  vibeApp: VibeApp;
@@ -65,6 +66,7 @@ export declare class VibeSandboxApi {
65
66
  handle: string;
66
67
  }): Promise<Result<ResVibeSocial>>;
67
68
  requestFollowersAccess(): Promise<Result<ResVibeRequestFollowersAccess>>;
69
+ setVisibility(visibility: "public" | "followers" | "private"): Promise<Result<ResVibeSetVisibility>>;
68
70
  socialInvite(contact: string): Promise<Result<ResVibeSocialInvite>>;
69
71
  requestLogin(): void;
70
72
  updateAvatarCid(cid: string, handle: string, mimeType?: string): Promise<Result<ResVibeUpdateAvatarCid>>;
@@ -75,6 +77,8 @@ export declare function getRegisteredAccessFnSources(): Map<string, string | nul
75
77
  export declare function __resetRegisteredAccessFnSourcesForTests(): void;
76
78
  export declare function getRegisteredViewerChanged(): EvtVibeViewerChanged | undefined;
77
79
  export declare function recordViewerChangedBaseline(evt: EvtVibeViewerChanged): void;
80
+ export declare function recordViewerIdentityFromEvt(evt: EvtVibeViewerChanged, appOrigin?: string): void;
81
+ export declare function adoptPersistedViewerIdentity(appOrigin?: string): void;
78
82
  export declare function __resetRegisteredViewerChangedForTests(): void;
79
83
  export declare function getRegisteredSocialChanged(): EvtVibeSocialChanged | undefined;
80
84
  export declare function recordSocialChangedBaseline(evt: EvtVibeSocialChanged): void;