@vibes.diy/vibe-runtime 4.0.4 → 4.0.5

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,4 +1,5 @@
1
1
  import { type WorkerLoaderBinding } from "./worker-loader-executor.js";
2
+ export { BACKEND_DB_OP_URL, handleBackendDbOp } from "./backend-worker-loader-executor.js";
2
3
  export type BackendHandler = "fetch" | "scheduled" | "onChange";
3
4
  export interface BackendTrigger {
4
5
  readonly userHandle?: string | null;
@@ -7,10 +8,31 @@ export interface BackendTrigger {
7
8
  readonly dedupeKey?: string;
8
9
  readonly payload?: unknown;
9
10
  }
11
+ export type BackendDbOp = {
12
+ readonly kind: "put";
13
+ readonly db: string;
14
+ readonly doc: unknown;
15
+ readonly docId: string | null;
16
+ } | {
17
+ readonly kind: "delete";
18
+ readonly db: string;
19
+ readonly docId: string;
20
+ };
21
+ export type BackendDbResult = {
22
+ readonly ok: true;
23
+ readonly id: string;
24
+ } | {
25
+ readonly ok: false;
26
+ readonly error: string;
27
+ readonly code?: string;
28
+ };
29
+ export type BackendDbCallback = (op: BackendDbOp) => Promise<BackendDbResult>;
10
30
  export interface BackendInvokeInput {
11
31
  readonly source: string;
12
32
  readonly handler: BackendHandler;
13
33
  readonly trigger: BackendTrigger;
34
+ readonly db?: BackendDbCallback;
35
+ readonly dbFetcher?: unknown;
14
36
  }
15
37
  export interface BackendExecutor {
16
38
  invoke(input: BackendInvokeInput): Promise<Response>;
@@ -1,4 +1,5 @@
1
1
  import { WorkerLoaderBackendExecutor } from "./backend-worker-loader-executor.js";
2
+ export { BACKEND_DB_OP_URL, handleBackendDbOp } from "./backend-worker-loader-executor.js";
2
3
  export function parseBackendJsMode(raw) {
3
4
  switch ((raw ?? "").trim().toLowerCase()) {
4
5
  case "loader":
@@ -1 +1 @@
1
- {"version":3,"file":"backend-executor.js","sourceRoot":"","sources":["../jsr/backend-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AA4ElF,MAAM,UAAU,kBAAkB,CAAC,GAAuB;IACxD,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QACzC,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAgCD,MAAM,UAAU,qBAAqB,CAAC,IAAmB,EAAE,IAAI,GAAiC,EAAE;IAChG,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,KAAK;YACR,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ;YACX,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;YACrF,CAAC;YACD,OAAO,IAAI,2BAA2B,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAChH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"backend-executor.js","sourceRoot":"","sources":["../jsr/backend-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAMlF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAuH3F,MAAM,UAAU,kBAAkB,CAAC,GAAuB;IACxD,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QACzC,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAgCD,MAAM,UAAU,qBAAqB,CAAC,IAAmB,EAAE,IAAI,GAAiC,EAAE;IAChG,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,KAAK;YACR,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ;YACX,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;YACrF,CAAC;YACD,OAAO,IAAI,2BAA2B,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAChH,CAAC;AACH,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import { type WorkerCode, type WorkerLoaderBinding } from "./worker-loader-executor.js";
2
2
  import { type BackendExecutor, type BackendInvokeInput } from "./backend-executor.js";
3
+ export declare const BACKEND_DB_OP_URL = "https://db.internal/op";
4
+ export declare function handleBackendDbOp(request: Request): Promise<Response>;
3
5
  export declare function buildBackendWorkerCode(input: {
4
6
  module: string;
5
7
  policyVersion?: string;
@@ -3,17 +3,49 @@ import { transformBackendSource } from "./transform-backend-source.js";
3
3
  const MAIN_MODULE = "main.js";
4
4
  const BACKEND_MODULE = "backend.js";
5
5
  const COMPATIBILITY_DATE = "2025-05-01";
6
+ const BINDING_SCHEMA_VERSION = "v1";
7
+ export const BACKEND_DB_OP_URL = "https://db.internal/op";
8
+ const dbCallbackRegistry = (globalThis.__vibesBackendDbRegistry ??= new Map());
9
+ export async function handleBackendDbOp(request) {
10
+ const { nonce, op } = (await request.json());
11
+ const cb = nonce ? dbCallbackRegistry.get(nonce) : undefined;
12
+ const result = cb ? await cb(op) : { ok: false, error: "ctx.db is not available (no active call context)" };
13
+ return new Response(JSON.stringify(result), { headers: { "content-type": "application/json" } });
14
+ }
6
15
  const BACKEND_REQUEST_URL = "https://vibe-backend.internal/";
7
16
  export function buildBackendWorkerCode(input) {
8
17
  const policyVersion = input.policyVersion ?? "v1";
9
18
  const vibeLiteral = input.vibe ? JSON.stringify({ ownerHandle: input.vibe.ownerHandle, appSlug: input.vibe.appSlug }) : "null";
10
19
  const main = [
11
- `// backend-isolate policy=${policyVersion}`,
20
+ `// backend-isolate policy=${policyVersion} bindings=${BINDING_SCHEMA_VERSION}`,
12
21
  `import * as handlers from "./${BACKEND_MODULE}";`,
13
22
  `const VIBE = ${vibeLiteral};`,
23
+ `function makeDb(trigger, dbNonce) {`,
24
+ ` const defaultDb = trigger && trigger.payload && trigger.payload.dbName;`,
25
+ ` async function rpc(op) {`,
26
+ ` if (!dbNonce) throw new Error("ctx.db is not available (no host db binding wired)");`,
27
+ ` const r = await fetch(${JSON.stringify(BACKEND_DB_OP_URL)}, { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify({ nonce: dbNonce, op: op }) });`,
28
+ ` const out = await r.json();`,
29
+ ` if (!out || out.ok !== true) throw new Error((out && out.error) || "ctx.db op failed");`,
30
+ ` return out.id;`,
31
+ ` }`,
32
+ ` return {`,
33
+ ` put(doc, options) {`,
34
+ ` const db = (options && options.db) || defaultDb;`,
35
+ ` if (!db) throw new Error("ctx.db.put requires a db name — pass { db } (no default db for this trigger)");`,
36
+ ` const docId = (options && options.id) || (doc && doc._id) || null;`,
37
+ ` return rpc({ kind: "put", db: db, doc: doc, docId: docId });`,
38
+ ` },`,
39
+ ` delete(id, options) {`,
40
+ ` const db = (options && options.db) || defaultDb;`,
41
+ ` if (!db) throw new Error("ctx.db.delete requires a db name — pass { db } (no default db for this trigger)");`,
42
+ ` return rpc({ kind: "delete", db: db, docId: id });`,
43
+ ` },`,
44
+ ` };`,
45
+ `}`,
14
46
  `export default {`,
15
- ` async fetch(request) {`,
16
- ` const { handler, trigger } = await request.json();`,
47
+ ` async fetch(request, env) {`,
48
+ ` const { handler, trigger, dbNonce } = await request.json();`,
17
49
  ` const ALLOWED_HANDLERS = { fetch: true, scheduled: true, onChange: true };`,
18
50
  ` if (!Object.prototype.hasOwnProperty.call(ALLOWED_HANDLERS, handler)) {`,
19
51
  ` return new Response("invalid backend handler: " + handler, { status: 400 });`,
@@ -21,7 +53,7 @@ export function buildBackendWorkerCode(input) {
21
53
  ` const ctx = {`,
22
54
  ` appInfo: VIBE,`,
23
55
  ` userInfo: trigger && trigger.userHandle ? { userHandle: trigger.userHandle } : null,`,
24
- ` get db() { throw new Error("ctx.db is not available yet (wired in #2856 slice B6)"); },`,
56
+ ` db: makeDb(trigger, dbNonce),`,
25
57
  ` get secrets() { throw new Error("ctx.secrets is not available yet (wired in #2856 slice B7)"); },`,
26
58
  ` };`,
27
59
  ` const fn = handlers[handler];`,
@@ -69,13 +101,26 @@ export class WorkerLoaderBackendExecutor {
69
101
  const { module } = transformBackendSource(input.source);
70
102
  const code = buildBackendWorkerCode({ module, policyVersion: this.opts.policyVersion, vibe: this.opts.vibe });
71
103
  const id = await hashBackendWorkerCode(code);
72
- const stub = this.loader.get(id, () => code);
73
- const request = new Request(BACKEND_REQUEST_URL, {
74
- method: "POST",
75
- headers: { "content-type": "application/json" },
76
- body: JSON.stringify({ handler: input.handler, trigger: input.trigger }),
77
- });
78
- return stub.getEntrypoint().fetch(request);
104
+ const nonce = input.db ? crypto.randomUUID() : undefined;
105
+ if (nonce && input.db)
106
+ dbCallbackRegistry.set(nonce, input.db);
107
+ const wired = {
108
+ ...code,
109
+ globalOutbound: input.db && input.dbFetcher ? input.dbFetcher : null,
110
+ };
111
+ try {
112
+ const stub = this.loader.get(id, () => wired);
113
+ const request = new Request(BACKEND_REQUEST_URL, {
114
+ method: "POST",
115
+ headers: { "content-type": "application/json" },
116
+ body: JSON.stringify({ handler: input.handler, trigger: input.trigger, dbNonce: nonce }),
117
+ });
118
+ return await stub.getEntrypoint().fetch(request);
119
+ }
120
+ finally {
121
+ if (nonce)
122
+ dbCallbackRegistry.delete(nonce);
123
+ }
79
124
  }
80
125
  }
81
126
  //# sourceMappingURL=backend-worker-loader-executor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backend-worker-loader-executor.js","sourceRoot":"","sources":["../jsr/backend-worker-loader-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backend-worker-loader-executor.js","sourceRoot":"","sources":["../jsr/backend-worker-loader-executor.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export interface FireflyTransport {
10
10
  queryDocs(dbName?: string, filter?: QueryFilter): Promise<Result<ResQueryDocs>>;
11
11
  deleteDoc(docId: string, dbName?: string): Promise<Result<ResDeleteDoc>>;
12
12
  subscribeDocs(dbName?: string): Promise<Result<ResSubscribeDocs>>;
13
+ broadcastEphemeral(docId: string, doc: Record<string, unknown>, dbName?: string): void;
13
14
  setDbAcl(dbName: string, acl: DbAcl): Promise<Result<ResSetDbAcl>>;
14
15
  onMsg(fn: (event: {
15
16
  data: unknown;
@@ -26,6 +27,7 @@ export interface DocResponse {
26
27
  }
27
28
  export interface ChangeMeta {
28
29
  readonly optimistic?: boolean;
30
+ readonly ephemeral?: boolean;
29
31
  }
30
32
  export type ListenerFn<T extends DocTypes = DocTypes> = (changes: DocWithId<T>[], meta?: ChangeMeta) => void;
31
33
  export interface IndexRow<T extends DocTypes = DocTypes> {
@@ -75,6 +77,7 @@ export interface FireflyQueryDatabase {
75
77
  }>;
76
78
  subscribe<T extends DocTypes>(listener: ListenerFn<T>, updates?: boolean): () => void;
77
79
  resubscribe(): void;
80
+ broadcastEphemeral?(docId: string, doc: Record<string, unknown>, dbName?: string): void;
78
81
  }
79
82
  export declare function materializeQuery<T extends DocTypes>(allDocs: DocWithId<T>[], mapFn: MapFnArg<T>, opts: QueryOpts): QueryResponse<T>;
80
83
  export declare class FireflyDatabase {
@@ -87,8 +90,14 @@ export declare class FireflyDatabase {
87
90
  private optimisticEnabled;
88
91
  private readonly overlay;
89
92
  private writeSeq;
93
+ private readonly ephemeralOverlay;
94
+ private readonly peerDocs;
95
+ private ephemeralSeq;
96
+ private ephemeralSweep;
97
+ private grantedChannels;
90
98
  constructor(name: string, vibeApi: FireflyTransport, acl?: DbAcl);
91
99
  resubscribe(): void;
100
+ broadcastEphemeral(docId: string, doc: Record<string, unknown>): void;
92
101
  applyAcl(acl: DbAcl): void;
93
102
  setOptimistic(enabled: boolean): void;
94
103
  ready(): Promise<void>;
@@ -114,6 +123,7 @@ export declare class FireflyDatabase {
114
123
  serverDocs: DocWithId<T>[];
115
124
  }>;
116
125
  materializeLive<T extends DocTypes>(serverDocs: DocWithId<T>[], mapFn: MapFnArg<T>, opts?: QueryOpts): QueryResponse<T>;
126
+ private foldOverlays;
117
127
  private queryHint;
118
128
  private fetchServerDocs;
119
129
  private applyOverlay;
@@ -130,5 +140,12 @@ export declare class FireflyDatabase {
130
140
  docs: DocWithId<T>[];
131
141
  }>;
132
142
  subscribe<T extends DocTypes>(listener: ListenerFn<T>, updates?: boolean): () => void;
143
+ setGrantedChannels(channels: Set<string> | undefined): void;
144
+ private readableChannels;
145
+ private pruneEphemeral;
146
+ private applyEphemeral;
147
+ private ensureEphemeralSweep;
148
+ private dropPeer;
149
+ private mergeOverlayDocs;
133
150
  private notifyListeners;
134
151
  }
@@ -1,4 +1,4 @@
1
- import { isResPutDoc, isResGetDoc, isResQueryDocs, isResDeleteDoc, isEvtDocChanged, } from "@vibes.diy/vibe-types";
1
+ import { isResPutDoc, isResGetDoc, isResQueryDocs, isResDeleteDoc, isEvtDocChanged, isEvtDocEphemeral, isEvtDocEphemeralDrop, } from "@vibes.diy/vibe-types";
2
2
  import { decorateFiles } from "./firefly-files-read.js";
3
3
  import { uploadFiles } from "./firefly-files-write.js";
4
4
  import charwise from "charwise";
@@ -157,6 +157,10 @@ function errMsg(err) {
157
157
  const e = err;
158
158
  return e.error?.message ?? e.message ?? String(e);
159
159
  }
160
+ const EPHEMERAL_TTL_MS = 12_000;
161
+ const EPHEMERAL_ALLOW_ALL = {
162
+ has: () => true,
163
+ };
160
164
  export class FireflyDatabase {
161
165
  name;
162
166
  logger = fireflyLogger;
@@ -167,6 +171,11 @@ export class FireflyDatabase {
167
171
  optimisticEnabled = false;
168
172
  overlay = new Map();
169
173
  writeSeq = 0;
174
+ ephemeralOverlay = new Map();
175
+ peerDocs = new Map();
176
+ ephemeralSeq = 0;
177
+ ephemeralSweep;
178
+ grantedChannels;
170
179
  constructor(name, vibeApi, acl) {
171
180
  this.name = name;
172
181
  this.vibeApi = vibeApi;
@@ -183,6 +192,17 @@ export class FireflyDatabase {
183
192
  data.dbName === this.name) {
184
193
  this.notifyListeners([{ _id: data.docId }]);
185
194
  }
195
+ if (isEvtDocEphemeral(data) &&
196
+ data.ownerHandle === this.vibeApp.ownerHandle &&
197
+ data.appSlug === this.vibeApp.appSlug &&
198
+ data.dbName === this.name) {
199
+ if (!data.channel || this.readableChannels().has(data.channel)) {
200
+ this.applyEphemeral(data);
201
+ }
202
+ }
203
+ if (isEvtDocEphemeralDrop(data)) {
204
+ this.dropPeer(data.originPeer);
205
+ }
186
206
  });
187
207
  }
188
208
  resubscribe() {
@@ -197,6 +217,9 @@ export class FireflyDatabase {
197
217
  console.error(`Failed to subscribe to docs for db "${this.name}":`, e);
198
218
  });
199
219
  }
220
+ broadcastEphemeral(docId, doc) {
221
+ this.vibeApi.broadcastEphemeral(docId, doc, this.name);
222
+ }
200
223
  applyAcl(acl) {
201
224
  this.vibeApi.setDbAcl(this.name, acl).then((rRes) => {
202
225
  if (rRes.isErr()) {
@@ -217,6 +240,10 @@ export class FireflyDatabase {
217
240
  return;
218
241
  }
219
242
  async close() {
243
+ if (this.ephemeralSweep) {
244
+ clearInterval(this.ephemeralSweep);
245
+ this.ephemeralSweep = undefined;
246
+ }
220
247
  return;
221
248
  }
222
249
  async destroy() {
@@ -232,15 +259,21 @@ export class FireflyDatabase {
232
259
  throw new Error(`Failed to get document: ${id} (optimistically deleted)`);
233
260
  return pending.doc;
234
261
  }
262
+ this.pruneEphemeral();
263
+ const eph = this.ephemeralOverlay.get(id);
235
264
  const rRes = await this.vibeApi.getDoc(id, this.name);
236
265
  if (rRes.isErr()) {
266
+ if (eph)
267
+ return { ...eph.doc };
237
268
  throw new Error(`Failed to get document: ${errMsg(rRes.Err())}`);
238
269
  }
239
270
  const res = rRes.Ok();
240
271
  if (isResGetDoc(res)) {
241
272
  const decorated = decorateFiles({ ...res.doc, _id: res.id });
242
- return decorated;
273
+ return { ...decorated, ...(eph ? eph.doc : {}) };
243
274
  }
275
+ if (eph)
276
+ return { ...eph.doc };
244
277
  throw new Error(`Failed to get document: ${JSON.stringify(res)}`);
245
278
  }
246
279
  async put(doc) {
@@ -323,14 +356,17 @@ export class FireflyDatabase {
323
356
  }
324
357
  async query(mapFn, opts = {}) {
325
358
  const serverDocs = await this.fetchServerDocs(this.queryHint(mapFn, opts));
326
- return materializeQuery(this.applyOverlay(serverDocs), mapFn, opts);
359
+ return materializeQuery(this.foldOverlays(serverDocs), mapFn, opts);
327
360
  }
328
361
  async queryLive(mapFn, opts = {}) {
329
362
  const serverDocs = await this.fetchServerDocs(this.queryHint(mapFn, opts));
330
- return { result: materializeQuery(this.applyOverlay(serverDocs), mapFn, opts), serverDocs };
363
+ return { result: materializeQuery(this.foldOverlays(serverDocs), mapFn, opts), serverDocs };
331
364
  }
332
365
  materializeLive(serverDocs, mapFn, opts = {}) {
333
- return materializeQuery(this.applyOverlay(serverDocs), mapFn, opts);
366
+ return materializeQuery(this.foldOverlays(serverDocs), mapFn, opts);
367
+ }
368
+ foldOverlays(serverDocs) {
369
+ return this.applyOverlay(this.mergeOverlayDocs(serverDocs));
334
370
  }
335
371
  queryHint(mapFn, opts) {
336
372
  const isPrimitive = (v) => v === null || typeof v === "string" || typeof v === "number" || typeof v === "boolean";
@@ -378,7 +414,7 @@ export class FireflyDatabase {
378
414
  if (!isResQueryDocs(res)) {
379
415
  return { rows: [], docs: [] };
380
416
  }
381
- let docs = this.applyOverlay(res.docs.map((d) => decorateFiles({ ...d, _id: d._id })));
417
+ let docs = this.foldOverlays(res.docs.map((d) => decorateFiles({ ...d, _id: d._id })));
382
418
  docs.sort((a, b) => (a._id < b._id ? -1 : a._id > b._id ? 1 : 0));
383
419
  if (opts.descending) {
384
420
  docs.reverse();
@@ -412,6 +448,78 @@ export class FireflyDatabase {
412
448
  this.updateListeners.delete(fn);
413
449
  };
414
450
  }
451
+ setGrantedChannels(channels) {
452
+ this.grantedChannels = channels;
453
+ }
454
+ readableChannels() {
455
+ return this.grantedChannels ?? EPHEMERAL_ALLOW_ALL;
456
+ }
457
+ pruneEphemeral() {
458
+ const now = Date.now();
459
+ const dropped = [];
460
+ for (const [docId, slice] of this.ephemeralOverlay) {
461
+ if (now - slice.at > EPHEMERAL_TTL_MS) {
462
+ this.ephemeralOverlay.delete(docId);
463
+ this.peerDocs.get(slice.originPeer)?.delete(docId);
464
+ dropped.push(docId);
465
+ }
466
+ }
467
+ return dropped;
468
+ }
469
+ applyEphemeral(evt) {
470
+ const docId = evt.docId;
471
+ const doc = { ...evt.doc, _id: docId };
472
+ this.ephemeralOverlay.set(docId, { doc, originPeer: evt.originPeer, seq: ++this.ephemeralSeq, at: Date.now() });
473
+ let set = this.peerDocs.get(evt.originPeer);
474
+ if (!set) {
475
+ set = new Set();
476
+ this.peerDocs.set(evt.originPeer, set);
477
+ }
478
+ set.add(docId);
479
+ this.ensureEphemeralSweep();
480
+ this.notifyListeners([{ _id: docId }], { ephemeral: true });
481
+ }
482
+ ensureEphemeralSweep() {
483
+ if (this.ephemeralSweep)
484
+ return;
485
+ this.ephemeralSweep = setInterval(() => {
486
+ const dropped = this.pruneEphemeral();
487
+ if (dropped.length)
488
+ this.notifyListeners(dropped.map((id) => ({ _id: id })), { ephemeral: true });
489
+ if (this.ephemeralOverlay.size === 0 && this.ephemeralSweep) {
490
+ clearInterval(this.ephemeralSweep);
491
+ this.ephemeralSweep = undefined;
492
+ }
493
+ }, EPHEMERAL_TTL_MS);
494
+ this.ephemeralSweep.unref?.();
495
+ }
496
+ dropPeer(originPeer) {
497
+ const docs = this.peerDocs.get(originPeer);
498
+ if (!docs)
499
+ return;
500
+ const affected = [];
501
+ for (const docId of docs) {
502
+ const slice = this.ephemeralOverlay.get(docId);
503
+ if (slice && slice.originPeer === originPeer) {
504
+ this.ephemeralOverlay.delete(docId);
505
+ affected.push({ _id: docId });
506
+ }
507
+ }
508
+ this.peerDocs.delete(originPeer);
509
+ if (affected.length)
510
+ this.notifyListeners(affected, { ephemeral: true });
511
+ }
512
+ mergeOverlayDocs(docs) {
513
+ this.pruneEphemeral();
514
+ if (this.ephemeralOverlay.size === 0)
515
+ return docs;
516
+ const byId = new Map(docs.map((d) => [d._id, d]));
517
+ for (const [docId, slice] of this.ephemeralOverlay) {
518
+ const base = byId.get(docId);
519
+ byId.set(docId, { ...(base ?? {}), ...slice.doc, _id: docId });
520
+ }
521
+ return [...byId.values()];
522
+ }
415
523
  notifyListeners(docs, meta) {
416
524
  const call = (fn) => {
417
525
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"firefly-database.js","sourceRoot":"","sources":["../jsr/firefly-database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"firefly-database.js","sourceRoot":"","sources":["../jsr/firefly-database.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function createEphemeralCoalescer(flush: (docId: string, doc: Record<string, unknown>) => void, delayMs?: number): {
2
+ push: (docId: string, doc: Record<string, unknown>) => void;
3
+ cancel: () => void;
4
+ };
@@ -0,0 +1,25 @@
1
+ export function createEphemeralCoalescer(flush, delayMs = 16) {
2
+ const pending = new Map();
3
+ let timer;
4
+ const run = () => {
5
+ timer = undefined;
6
+ const batch = [...pending.entries()];
7
+ pending.clear();
8
+ for (const [id, doc] of batch)
9
+ flush(id, doc);
10
+ };
11
+ return {
12
+ push(docId, doc) {
13
+ pending.set(docId, doc);
14
+ if (timer === undefined)
15
+ timer = setTimeout(run, delayMs);
16
+ },
17
+ cancel() {
18
+ if (timer !== undefined)
19
+ clearTimeout(timer);
20
+ timer = undefined;
21
+ pending.clear();
22
+ },
23
+ };
24
+ }
25
+ //# sourceMappingURL=merge-coalescer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-coalescer.js","sourceRoot":"","sources":["../jsr/merge-coalescer.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,wBAAwB,CACtC,KAA4D,EAC5D,OAAO,GAAG,EAAE;IAEZ,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmC,CAAC;IAC3D,IAAI,KAAgD,CAAC;IACrD,MAAM,GAAG,GAAG,GAAG,EAAE;QACf,KAAK,GAAG,SAAS,CAAC;QAClB,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACrC,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,KAAK;YAAE,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC,CAAC;IACF,OAAO;QACL,IAAI,CAAC,KAAK,EAAE,GAAG;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACxB,IAAI,KAAK,KAAK,SAAS;gBAAE,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM;YACJ,IAAI,KAAK,KAAK,SAAS;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YAC7C,KAAK,GAAG,SAAS,CAAC;YAClB,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibes.diy/vibe-runtime",
3
- "version": "4.0.4",
3
+ "version": "4.0.5",
4
4
  "type": "module",
5
5
  "main": "./index.js",
6
6
  "exports": {
@@ -8,17 +8,20 @@
8
8
  "./vibe-executor.js": "./vibe-executor.js",
9
9
  "./worker-loader-executor.js": "./worker-loader-executor.js",
10
10
  "./ssr-source-check.js": "./ssr-source-check.js",
11
+ "./resolve-vibe-module-graph.js": "./resolve-vibe-module-graph.js",
11
12
  "./render-vibes.js": "./render-vibes.js",
12
13
  "./parse-backend-config.js": "./parse-backend-config.js",
13
14
  "./backend-executor.js": "./backend-executor.js"
14
15
  },
15
16
  "scripts": {
17
+ "gen:ssr-deps": "node scripts/build-ssr-isolate-deps.mjs",
18
+ "prebuild": "pnpm run gen:ssr-deps",
16
19
  "build": "core-cli tsc"
17
20
  },
18
21
  "dependencies": {
19
22
  "@adviser/cement": "~0.5.34",
20
- "@vibes.diy/base": "4.0.4",
21
- "@vibes.diy/vibe-types": "4.0.4",
23
+ "@vibes.diy/base": "4.0.5",
24
+ "@vibes.diy/vibe-types": "4.0.5",
22
25
  "arktype": "~2.2.1",
23
26
  "charwise": "~3.0.1",
24
27
  "es-module-lexer": "~2.1.0",
@@ -39,6 +39,7 @@ export declare class VibeSandboxApi {
39
39
  queryDocs(dbName?: string, filter?: QueryFilter): Promise<Result<ResQueryDocs>>;
40
40
  deleteDoc(docId: string, dbName?: string): Promise<Result<ResDeleteDoc>>;
41
41
  subscribeDocs(dbName?: string): Promise<Result<ResSubscribeDocs>>;
42
+ broadcastEphemeral(docId: string, doc: Record<string, unknown>, dbName?: string): void;
42
43
  setDbAcl(dbName: string, acl: DbAcl): Promise<Result<ResSetDbAcl>>;
43
44
  listDbNames(): Promise<Result<ResListDbNames>>;
44
45
  whoAmI(): Promise<Result<ResVibeWhoAmI>>;
@@ -1,4 +1,4 @@
1
- import { isResCallAI, isResImgGen, isEvtVibeSetSource, isEvtRuntimeAck, isResPutDoc, isResGetDoc, isResGetDocNotFound, isResQueryDocs, isResDeleteDoc, isResSubscribeDocs, isResListDbNames, isResVibePutAsset, isResVibeWhoAmI, isResVibeAccessFnSource, isResVibeUpdateAvatarCid, isResSetDbAcl, } from "@vibes.diy/vibe-types";
1
+ import { isResCallAI, isResImgGen, isEvtVibeScrollToTop, isEvtVibeSetSource, isEvtRuntimeAck, isResPutDoc, isResGetDoc, isResGetDocNotFound, isResQueryDocs, isResDeleteDoc, isResSubscribeDocs, isResListDbNames, isResVibePutAsset, isResVibeWhoAmI, isResVibeAccessFnSource, isResVibeUpdateAvatarCid, 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";
@@ -155,6 +155,11 @@ export class VibeSandboxApi {
155
155
  dbName,
156
156
  }, { wait: isResSubscribeDocs, timeout: 10000 });
157
157
  }
158
+ broadcastEphemeral(docId, doc, dbName = "default") {
159
+ if (!this.acked)
160
+ return;
161
+ this.svc.postMessage({ tid: crypto.randomUUID(), type: "vibes.diy.req-broadcast-ephemeral", ...this.svc.vibeApp, dbName, docId, doc }, "*");
162
+ }
158
163
  setDbAcl(dbName, acl) {
159
164
  return this.request({
160
165
  type: "vibes.diy.req-set-db-acl",
@@ -233,6 +238,7 @@ export async function registerDependencies(vibeApp) {
233
238
  registerImgGen(ctxVibeApi);
234
239
  installFetchActivityMonitor();
235
240
  registerHotSwapHandler();
241
+ registerScrollToTopHandler();
236
242
  sendRuntimeReadyWithRetry(ctxVibeApi);
237
243
  bootstrapViewer(ctxVibeApi).catch((e) => {
238
244
  console.warn("[viewer] bootstrap whoAmI failed", e);
@@ -295,6 +301,36 @@ function registerHotSwapHandler() {
295
301
  hotSwapRegistered = true;
296
302
  window.addEventListener("message", handleHotSwapMessage);
297
303
  }
304
+ let scrollToTopRegistered = false;
305
+ function registerScrollToTopHandler() {
306
+ if (scrollToTopRegistered)
307
+ return;
308
+ scrollToTopRegistered = true;
309
+ window.addEventListener("message", (event) => {
310
+ if (!isEvtVibeScrollToTop(event.data))
311
+ return;
312
+ scrollVibeToTop();
313
+ });
314
+ }
315
+ function scrollVibeToTop() {
316
+ try {
317
+ window.scrollTo({ top: 0, behavior: "smooth" });
318
+ }
319
+ catch {
320
+ window.scrollTo(0, 0);
321
+ }
322
+ const minHeight = window.innerHeight * 0.6;
323
+ for (const el of Array.from(document.querySelectorAll("*"))) {
324
+ if (el.scrollTop > 0 && el.clientHeight >= minHeight) {
325
+ try {
326
+ el.scrollTo({ top: 0, behavior: "smooth" });
327
+ }
328
+ catch {
329
+ el.scrollTop = 0;
330
+ }
331
+ }
332
+ }
333
+ }
298
334
  async function handleHotSwapMessage(event) {
299
335
  if (!isEvtVibeSetSource(event.data))
300
336
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"register-dependencies.js","sourceRoot":"","sources":["../jsr/register-dependencies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-dependencies.js","sourceRoot":"","sources":["../jsr/register-dependencies.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAGX,WAAW,EAIX,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAchB,iBAAiB,EAGjB,eAAe,EAGf,uBAAuB,EAGvB,wBAAwB,EAExB,aAAa,GAId,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC1G,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,OAAO,EAAc,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,6BAA6B,CAAC;AAgCrC,MAAM,OAAO,cAAc;IAChB,GAAG,CAAwB;IAO3B,QAAQ,GAAG,IAAI,MAAM,EAAQ,CAAC;IACvC,KAAK,GAAG,KAAK,CAAC;IAEL,aAAa,GAAG,CAAC,KAAmB,EAAQ,EAAE;QACrD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,KAAK,CAAC,OAAO,CAAO,GAAmB,EAAE,IAAiB;QAIxD,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAEhC,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YAInC,OAAO,IAAI,CAAC,WAAW,CAAO,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7D,CAAC;QAED,oBAAoB,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,SAAS,CACzB,GAAG,EAAE;gBACH,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAK,CAAC;gBAC/B,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACnB,MAAM,CAAC,GAAG,KAAK,CAAC,IAAoE,CAAC;oBACrF,IAAI,CAAC,EAAE,GAAG,KAAK,GAAG;wBAAE,OAAO;oBAC3B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;wBAClD,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC7B,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,WAAW,CAClB;oBACE,GAAG;oBACH,GAAG,GAAG;iBACP,EACD,GAAG,CACJ,CAAC;gBACF,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC;YAC5B,CAAC,EACD,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAClC,CAAC;YACF,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;gBACpB,MAAM,CAAC,GAAG,GAAG,CAAC,KAA8C,CAAC;gBAC7D,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;oBAChD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,kBAAkB,CAAC,CAAC;gBACrD,CAAC;gBACD,OAAO,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,KAAU,CAAC,CAAC;YACnC,CAAC;iBAAM,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACzC,CAAC;gBAAS,CAAC;YACT,kBAAkB,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAQO,KAAK,CAAC,WAAW,CAAO,GAAmB,EAAE,IAAiB,EAAE,MAAc;QACpF,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAkD,CAAC;QAC5E,IAAI,KAAgD,CAAC;QACrD,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,IAAI,KAAK;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YAC/B,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACxE,CAAC,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,CAAC,KAAmB,EAAE,EAAE;YACjC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAoC,CAAC;YACxD,IAAI,IAAI,EAAE,GAAG,KAAK,GAAG;gBAAE,OAAO;YAC9B,KAAK,EAAE,CAAC;YACR,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,IAAI,KAAK;oBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC/B,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAS,EAAE,CAAC,CAAC;gBACvD,OAAO,YAAY,CAAC,UAAU,CAAC;YACjC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;QAC3C,KAAK,EAAE,CAAC;QACR,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QACrC,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnD,OAAO,MAAM,CAAC,GAAG,CAAC,oBAAoB,MAAM,kBAAkB,CAAC,CAAC;IAClE,CAAC;IAEQ,KAAK,GAAG,MAAM,EAAiC,CAAC;IAEzD,YAAY,GAA0B;QACpC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,IAAgB;QACrC,OAAO,IAAI,CAAC,OAAO,CACjB;YACE,IAAI,EAAE,iBAAiB;YACvB,MAAM;YACN,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,EACD,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,CACtC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,gBAAyB,EAAE,KAAc;QAC9D,OAAO,IAAI,CAAC,OAAO,CACjB;YACE,IAAI,EAAE,iBAAiB;YACvB,MAAM;YACN,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO;SACpB,EACD,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,CACvC,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,IAAc;QAC7B,IAAI,CAAC,GAAG,CAAC,WAAW,CAClB;YACE,IAAI,EAAE,wBAAwB;YAC9B,IAAI;SACL,EACD,GAAG,CACJ,CAAC;IACJ,CAAC;IAID,MAAM,CAAC,GAA4B,EAAE,KAAc,EAAE,MAAM,GAAG,SAAS;QACrE,OAAO,IAAI,CAAC,OAAO,CACjB;YACE,IAAI,EAAE,uBAAuB;YAC7B,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO;YACnB,MAAM;YACN,GAAG;YACH,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5B,EACD,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,CACtC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,MAAM,GAAG,SAAS;QACtC,OAAO,IAAI,CAAC,OAAO,CACjB;YACE,IAAI,EAAE,uBAAuB;YAC7B,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO;YACnB,MAAM;YACN,KAAK;SACN,EACD,EAAE,IAAI,EAAE,CAAC,CAAU,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CACnF,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,MAAM,GAAG,SAAS,EAAE,MAAoB;QAChD,OAAO,IAAI,CAAC,OAAO,CACjB;YACE,IAAI,EAAE,0BAA0B;YAChC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO;YACnB,MAAM;YACN,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,EACD,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,CACzC,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,MAAM,GAAG,SAAS;QACzC,OAAO,IAAI,CAAC,OAAO,CACjB;YACE,IAAI,EAAE,0BAA0B;YAChC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO;YACnB,MAAM;YACN,KAAK;SACN,EACD,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,CACzC,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,MAAM,GAAG,SAAS;QAC9B,OAAO,IAAI,CAAC,OAAO,CACjB;YACE,IAAI,EAAE,8BAA8B;YACpC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO;YACnB,MAAM;SACP,EACD,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,KAAK,EAAE,CAC7C,CAAC;IACJ,CAAC;IAMD,kBAAkB,CAAC,KAAa,EAAE,GAA4B,EAAE,MAAM,GAAG,SAAS;QAChF,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxB,IAAI,CAAC,GAAG,CAAC,WAAW,CAClB,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,mCAAmC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAChH,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,MAAc,EAAE,GAAU;QACjC,OAAO,IAAI,CAAC,OAAO,CACjB;YACE,IAAI,EAAE,0BAA0B;YAChC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO;YACnB,MAAM;YACN,GAAG;SACJ,EACD,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,CACxC,CAAC;IACJ,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,OAAO,CACjB;YACE,IAAI,EAAE,6BAA6B;YACnC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO;SACpB,EACD,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,KAAK,EAAE,CAC3C,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,OAAO,CACjB;YACE,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO;YACjC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW;YACzC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,EACD,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE,CAC1C,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,GAAW;QACxB,OAAO,IAAI,CAAC,OAAO,CACjB;YACE,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO;YACjC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW;YACzC,GAAG;SACJ,EACD,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,KAAK,EAAE,CAClD,CAAC;IACJ,CAAC;IAYD,QAAQ,CAAC,IAAU,EAAE,QAAiB;QACpC,OAAO,IAAI,CAAC,OAAO,CACjB;YACE,IAAI,EAAE,mBAAmB;YACzB,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO;YACnB,IAAI;YACJ,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClC,EACD,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,KAAK,EAAE,CAChD,CAAC;IACJ,CAAC;IAED,YAAY;QACV,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAChC,KAAK,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YACvC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAyB,EAAE,GAAG,CAAC,CAAC;QACzG,CAAC,CAAC,CAAC;IACL,CAAC;IASD,eAAe,CAAC,GAAW,EAAE,MAAc,EAAE,QAAiB;QAC5D,OAAO,IAAI,CAAC,OAAO,CACjB;YACE,IAAI,EAAE,0BAA0B;YAChC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO;YACnB,GAAG;YACH,MAAM;YACN,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClC,EAED,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CACxE,CAAC;IACJ,CAAC;CACF;AAED,IAAI,cAA0C,CAAC;AAE/C,MAAM,UAAU,oBAAoB;IAClC,OAAO,cAAc,CAAC;AACxB,CAAC;AAOD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAyB,CAAC;AAE1D,MAAM,UAAU,4BAA4B;IAC1C,OAAO,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACnC,CAAC;AAGD,MAAM,UAAU,wCAAwC;IACtD,gBAAgB,CAAC,KAAK,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,GAA0B,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;AAErF,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAAgB;IACzD,MAAM,UAAU,GAAG,OAAO,CAAC;QACzB,OAAO;QACP,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;QACtD,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;KAC3D,CAAC,CAAC;IACH,cAAc,GAAG,UAAU,CAAC;IAE5B,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC;IAClC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC3B,cAAc,CAAC,UAAU,CAAC,CAAC;IAI3B,2BAA2B,EAAE,CAAC;IAI9B,sBAAsB,EAAE,CAAC;IAIzB,0BAA0B,EAAE,CAAC;IAM7B,yBAAyB,CAAC,UAAU,CAAC,CAAC;IAQtC,eAAe,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACtC,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAOH,wBAAwB,CAAC,UAAU,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACzE,OAAO,CAAC,IAAI,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,yBAAyB,CAAC,GAAmB;IACpD,MAAM,IAAI,GAAG,GAAS,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,eAAe,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IACvF,IAAI,EAAE,CAAC;IAIP,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QACD,IAAI,EAAE,CAAC;IACT,CAAC,EAAE,GAAG,CAAC,CAAC;IAGR,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC/D,CAAC;AAKD,IAAI,eAAe,GAAG,CAAC,CAAC;AAExB,SAAS,mBAAmB,CAAC,MAAe;IAC1C,IAAI,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,EACxG,GAAG,CACJ,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;IAGT,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,eAAe,IAAI,CAAC,CAAC;IACrB,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC;IACnD,mBAAmB,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,IAAI,qBAAqB,GAAG,KAAK,CAAC;AAOlC,SAAS,2BAA2B;IAClC,IAAI,qBAAqB;QAAE,OAAO;IAClC,qBAAqB,GAAG,IAAI,CAAC;IAC7B,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU;QAAE,OAAO;IAEnD,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAA4B,CAAC;IAEnF,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,KAAwB,EAAE,IAAkB,EAAE,EAAE;QACnE,oBAAoB,EAAE,CAAC;QACvB,OAAO,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CACpC,CAAC,GAAG,EAAE,EAAE;YACN,kBAAkB,EAAE,CAAC;YACrB,OAAO,GAAG,CAAC;QACb,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;YACN,kBAAkB,EAAE,CAAC;YACrB,MAAM,GAAG,CAAC;QACZ,CAAC,CACF,CAAC;IACJ,CAAC,CAA4B,CAAC;AAChC,CAAC;AAED,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAE9B,SAAS,sBAAsB;IAC7B,IAAI,iBAAiB;QAAE,OAAO;IAC9B,iBAAiB,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;AAC3D,CAAC;AAED,IAAI,qBAAqB,GAAG,KAAK,CAAC;AAElC,SAAS,0BAA0B;IACjC,IAAI,qBAAqB;QAAE,OAAO;IAClC,qBAAqB,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAmB,EAAE,EAAE;QACzD,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO;QAC9C,eAAe,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC;AAOD,SAAS,eAAe;IACtB,IAAI,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC;IAC3C,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAc,GAAG,CAAC,CAAC,EAAE,CAAC;QACzE,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,IAAI,EAAE,CAAC,YAAY,IAAI,SAAS,EAAE,CAAC;YACrD,IAAI,CAAC;gBACH,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC9C,CAAC;YAAC,MAAM,CAAC;gBACP,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,KAAmB;IACrD,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO;IAC5C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;QAKnB,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACxD,MAAM,MAAM,GAAwB;YAClC,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;SAC9B,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAmB;IACvD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;IAC/B,IAAI,GAAG,CAAC,KAAK,EAAE;QAAE,OAAO;IACxB,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC;IACnB,MAAM,CAAC,aAAa,CAClB,IAAI,YAAY,CAAC,SAAS,EAAE;QAC1B,IAAI,EAAE;YACJ,IAAI,EAAE,wBAAwB;YAC9B,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjE;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAUD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,GAAmB,EACnB,QAAwE;IAExE,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO;IAEnC,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACrB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,GAAG,CAAC,KAAK,EAAE;YAAE,OAAO;QACxB,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,CAAC;QAMnB,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,aAAa,CAClB,IAAI,YAAY,CAAC,SAAS,EAAE;YAC1B,IAAI,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;SACjE,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,MAAc;IACxC,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,EAAE,CACvC,SAAS,CAAC,MAAM,EAAE;QAChB,UAAU,EAAE,CAAC,KAAK,CAAC;QACnB,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,WAAW;KACxB,CAAC,CACH,CAAC;IACF,IAAI,UAAU,CAAC,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;IAI5D,MAAM,SAAS,GAAG,qBAAqB,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAKpF,MAAM,QAAQ,GAAG,yBAAyB,CAAC,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAwB,GAAG,EAAE,CAAC,MAAM,CAAoB,OAAO,CAAC,CAAC,CAAC;QACxG,IAAI,OAAO,CAAC,KAAK,EAAE;YAAE,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC;QACjC,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QACzE,CAAC;QAID,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE;YACnC,SAAS,CAAC,CAAC,GAAwB,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,KAAK,EAAE;YAAE,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACpD,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC;YAAS,CAAC;QACT,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC"}
@@ -0,0 +1,11 @@
1
+ export interface ResolvedVibeModule {
2
+ readonly path: string;
3
+ readonly source: string;
4
+ }
5
+ export interface VibeModuleGraph {
6
+ readonly entryKey: string;
7
+ readonly modules: Record<string, string>;
8
+ }
9
+ export type ResolveSibling = (fromPath: string, specifier: string) => Promise<ResolvedVibeModule | null>;
10
+ export declare const VIBE_MODULE_PREFIX = "vibe-src/";
11
+ export declare function resolveVibeModuleGraph(entry: ResolvedVibeModule, resolveSibling: ResolveSibling): Promise<VibeModuleGraph>;
@@ -0,0 +1,57 @@
1
+ import { init as initLexer, parse as parseModule } from "es-module-lexer";
2
+ import { transformVibeSource } from "./transform-vibe-source.js";
3
+ const RELATIVE = /^\.\.?\//;
4
+ export const VIBE_MODULE_PREFIX = "vibe-src/";
5
+ function moduleKey(vibePath) {
6
+ const p = vibePath.replace(/^\/+/, "");
7
+ const js = /\.(jsx|tsx|ts|mjs|cjs)$/i.test(p) ? p.replace(/\.(jsx|tsx|ts|mjs|cjs)$/i, ".js") : /\.js$/i.test(p) ? p : `${p}.js`;
8
+ return VIBE_MODULE_PREFIX + js;
9
+ }
10
+ function relativeSpecifier(fromKey, toKey) {
11
+ const fromDir = fromKey.split("/").slice(0, -1);
12
+ const to = toKey.split("/");
13
+ let i = 0;
14
+ while (i < fromDir.length && i < to.length - 1 && fromDir[i] === to[i])
15
+ i++;
16
+ const up = fromDir.length - i;
17
+ const rel = [...Array(up).fill(".."), ...to.slice(i)].join("/");
18
+ return RELATIVE.test(rel) ? rel : `./${rel}`;
19
+ }
20
+ export async function resolveVibeModuleGraph(entry, resolveSibling) {
21
+ await initLexer;
22
+ const modules = {};
23
+ const seen = new Set();
24
+ const queue = [entry];
25
+ while (queue.length > 0) {
26
+ const mod = queue.shift();
27
+ if (seen.has(mod.path))
28
+ continue;
29
+ seen.add(mod.path);
30
+ const key = moduleKey(mod.path);
31
+ const { module: js } = transformVibeSource(mod.source);
32
+ const [imports] = parseModule(js);
33
+ let out = "";
34
+ let last = 0;
35
+ for (const imp of imports) {
36
+ if (imp.d !== -1)
37
+ continue;
38
+ if (imp.s < 0)
39
+ continue;
40
+ const spec = js.slice(imp.s, imp.e);
41
+ if (!RELATIVE.test(spec))
42
+ continue;
43
+ const sibling = await resolveSibling(mod.path, spec);
44
+ if (sibling === null) {
45
+ throw new Error(`unresolved relative import "${spec}" from ${mod.path}`);
46
+ }
47
+ out += js.slice(last, imp.s) + relativeSpecifier(key, moduleKey(sibling.path));
48
+ last = imp.e;
49
+ if (!seen.has(sibling.path))
50
+ queue.push(sibling);
51
+ }
52
+ out += js.slice(last);
53
+ modules[key] = out;
54
+ }
55
+ return { entryKey: moduleKey(entry.path), modules };
56
+ }
57
+ //# sourceMappingURL=resolve-vibe-module-graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-vibe-module-graph.js","sourceRoot":"","sources":["../jsr/resolve-vibe-module-graph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ // Types for the build script build-ssr-isolate-deps.mjs (#2845 cb2), so TS
2
+ // consumers (the render test) get a typed `buildSsrIsolateDepModules`.
3
+ export declare const RENDER_VIBES_KEY: string;
4
+ export declare const REACT_KEY: string;
5
+ export declare const JSX_RUNTIME_KEY: string;
6
+
7
+ export declare function buildSsrIsolateDepModules(): Promise<{
8
+ /** React version baked into the bundle. */
9
+ reactVersion: string;
10
+ /** Content digest over all dep module sources (folded into the isolate cache key). */
11
+ depsVersion: string;
12
+ /** Isolate import specifier → pre-bundled module source. */
13
+ modules: Record<string, string>;
14
+ }>;
@@ -0,0 +1,135 @@
1
+ // Generator for the SSR isolate dependency bundle (#2845 cb2).
2
+ //
3
+ // The Cloudflare Worker Loader instantiates an isolate from a flat `modules` map
4
+ // and does NOT resolve npm specifiers. So before a vibe can be server-rendered in
5
+ // a real isolate, every dependency the generated `main`/vibe modules import —
6
+ // `@vibes.diy/vibe-runtime/render-vibes.js` (which pulls react-dom/server +
7
+ // arktype) and the `react` / `react/jsx-runtime` the vibe imports — must be
8
+ // pre-bundled into entries the map can carry.
9
+ //
10
+ // Design — ONE inlined React instance:
11
+ // * `@vibes.diy/vibe-runtime/render-vibes.js` is one self-contained esbuild
12
+ // bundle: render-vibes + react-dom/server + arktype + React, all inlined. It
13
+ // ALSO re-exports React's named exports and jsx/jsxs, so the React it renders
14
+ // with IS the only React instance.
15
+ // * the `react` and `react/jsx-runtime` map entries are thin shims that
16
+ // re-export (by explicit name) from that single bundle.
17
+ // Every cross-module edge is therefore a BARE-specifier lookup against a map key
18
+ // (no relative-chunk paths, whose Worker-Loader resolution semantics differ), and
19
+ // the vibe's hooks share the exact React instance react-dom/server renders with —
20
+ // the hydration-parity prerequisite. `export *` is avoided deliberately: it does
21
+ // not surface React's CJS named exports (`useState`, `Fragment`, …) as static ESM
22
+ // bindings, so the names are enumerated from the installed React at build time.
23
+ //
24
+ // Run directly (`node scripts/build-ssr-isolate-deps.mjs`) it writes the
25
+ // gitignored `ssr-isolate-deps.generated.js`. Imported, `buildSsrIsolateDepModules`
26
+ // returns the same modules in-memory (used by the render test, so the test never
27
+ // depends on a built artifact).
28
+
29
+ import esbuild from "esbuild";
30
+ import { createRequire } from "node:module";
31
+ import { createHash } from "node:crypto";
32
+ import { fileURLToPath } from "node:url";
33
+ import { dirname, resolve } from "node:path";
34
+ import { writeFile } from "node:fs/promises";
35
+
36
+ const RUNTIME_DIR = resolve(dirname(fileURLToPath(import.meta.url)), "..");
37
+ // Resolve React et al. from the runtime package's own node_modules — the same
38
+ // instance render-vibes.ts compiles against.
39
+ const requireFromRuntime = createRequire(resolve(RUNTIME_DIR, "render-vibes.ts"));
40
+
41
+ // The three map keys the isolate imports. Exact specifiers, so the modules map is
42
+ // a pure key→source lookup.
43
+ export const RENDER_VIBES_KEY = "@vibes.diy/vibe-runtime/render-vibes.js";
44
+ export const REACT_KEY = "react";
45
+ export const JSX_RUNTIME_KEY = "react/jsx-runtime";
46
+
47
+ // react/jsx-runtime's runtime surface (production runtime; jsxDEV lives in the
48
+ // separate dev runtime, which production JSX never imports).
49
+ const JSX_RUNTIME_EXPORTS = ["jsx", "jsxs", "Fragment"];
50
+
51
+ const VALID_EXPORT_NAME = /^[A-Za-z_$][A-Za-z0-9_$]*$/;
52
+
53
+ async function bundleSingleModule(facadeSource) {
54
+ const out = await esbuild.build({
55
+ absWorkingDir: RUNTIME_DIR,
56
+ stdin: { contents: facadeSource, resolveDir: RUNTIME_DIR, sourcefile: "ssr-isolate-facade.js", loader: "js" },
57
+ bundle: true,
58
+ format: "esm",
59
+ // Match the Worker Loader isolate target (Web-standard runtime, not Node).
60
+ platform: "browser",
61
+ conditions: ["worker", "browser", "import"],
62
+ minify: true,
63
+ legalComments: "none",
64
+ define: { "process.env.NODE_ENV": JSON.stringify("production") },
65
+ write: false,
66
+ });
67
+ return out.outputFiles[0].text;
68
+ }
69
+
70
+ export async function buildSsrIsolateDepModules() {
71
+ const reactExportNames = Object.keys(requireFromRuntime("react")).filter((k) => VALID_EXPORT_NAME.test(k));
72
+
73
+ // The single bundle: inline render-vibes + React + jsx-runtime, and re-export
74
+ // everything the shims (and any vibe) need from this one inlined instance.
75
+ const facade = [
76
+ `export { renderVibeToString } from "./render-vibes.js";`,
77
+ `import __React from "react";`,
78
+ `export default __React;`,
79
+ ...reactExportNames.map((name) => `export const ${name} = __React[${JSON.stringify(name)}];`),
80
+ `import { jsx as __jsx, jsxs as __jsxs } from "react/jsx-runtime";`,
81
+ `export const jsx = __jsx;`,
82
+ `export const jsxs = __jsxs;`,
83
+ ].join("\n");
84
+
85
+ const renderVibesBundle = await bundleSingleModule(facade);
86
+
87
+ // Shims: explicit named re-exports from the single bundle (NOT `export *`, which
88
+ // drops React's CJS names). `Fragment` comes through React's export set.
89
+ const reactShim = `export { default, ${reactExportNames.join(", ")} } from ${JSON.stringify(RENDER_VIBES_KEY)};\n`;
90
+ const jsxRuntimeShim = `export { ${JSX_RUNTIME_EXPORTS.join(", ")} } from ${JSON.stringify(RENDER_VIBES_KEY)};\n`;
91
+
92
+ const modules = {
93
+ [RENDER_VIBES_KEY]: renderVibesBundle,
94
+ [REACT_KEY]: reactShim,
95
+ [JSX_RUNTIME_KEY]: jsxRuntimeShim,
96
+ };
97
+
98
+ // Content digest over ALL dep module sources (sorted keys for determinism).
99
+ // Folded into the isolate cache key so ANY change to the bundled runtime —
100
+ // render-vibes, react-dom/server, arktype, the shims — re-keys the isolate,
101
+ // not just a React version bump (per Codex P2 on #2967). The React version
102
+ // alone is insufficient: a dep change at the same React version would otherwise
103
+ // reuse an isolate built from the stale bundle after a deploy.
104
+ const digest = createHash("sha256");
105
+ for (const key of Object.keys(modules).sort()) {
106
+ digest.update(key);
107
+ digest.update("\0");
108
+ digest.update(modules[key]);
109
+ digest.update("\0");
110
+ }
111
+
112
+ return {
113
+ reactVersion: requireFromRuntime("react/package.json").version,
114
+ depsVersion: digest.digest("hex").slice(0, 16),
115
+ modules,
116
+ };
117
+ }
118
+
119
+ // Direct invocation → write the gitignored artifact the live executor imports.
120
+ if (process.argv[1] && fileURLToPath(import.meta.url) === resolve(process.argv[1])) {
121
+ const { modules, reactVersion, depsVersion } = await buildSsrIsolateDepModules();
122
+ const bytes = Object.values(modules).reduce((n, s) => n + s.length, 0);
123
+ const artifact =
124
+ `// @generated by vibe/runtime/scripts/build-ssr-isolate-deps.mjs — DO NOT EDIT.\n` +
125
+ `// Pre-bundled SSR isolate dependency modules for the Cloudflare Worker Loader\n` +
126
+ `// modules map (#2845 cb2). Regenerate with: pnpm --filter @vibes.diy/vibe-runtime run gen:ssr-deps\n` +
127
+ `export const SSR_ISOLATE_REACT_VERSION = ${JSON.stringify(reactVersion)};\n` +
128
+ `export const SSR_ISOLATE_DEPS_VERSION = ${JSON.stringify(depsVersion)};\n` +
129
+ `export const SSR_ISOLATE_DEP_MODULES = ${JSON.stringify(modules)};\n`;
130
+ await writeFile(resolve(RUNTIME_DIR, "ssr-isolate-deps.generated.js"), artifact);
131
+ // eslint-disable-next-line no-console
132
+ console.log(
133
+ `Wrote ssr-isolate-deps.generated.js — React ${reactVersion}, deps ${depsVersion}, ${Object.keys(modules).length} modules, ${(bytes / 1024).toFixed(0)}KB`
134
+ );
135
+ }
@@ -0,0 +1,7 @@
1
+ export type SsrIsolateDepModules = Record<string, string>;
2
+ export interface SsrIsolateDeps {
3
+ readonly modules: SsrIsolateDepModules;
4
+ readonly reactVersion: string;
5
+ readonly depsVersion: string;
6
+ }
7
+ export declare function loadSsrIsolateDeps(): Promise<SsrIsolateDeps>;
@@ -0,0 +1,15 @@
1
+ const EMPTY = { modules: {}, reactVersion: "", depsVersion: "" };
2
+ let cached;
3
+ export function loadSsrIsolateDeps() {
4
+ if (!cached) {
5
+ cached = import("./ssr-isolate-deps.generated.js")
6
+ .then((m) => ({
7
+ modules: m.SSR_ISOLATE_DEP_MODULES ?? {},
8
+ reactVersion: m.SSR_ISOLATE_REACT_VERSION ?? "",
9
+ depsVersion: m.SSR_ISOLATE_DEPS_VERSION ?? "",
10
+ }))
11
+ .catch(() => EMPTY);
12
+ }
13
+ return cached;
14
+ }
15
+ //# sourceMappingURL=ssr-isolate-deps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssr-isolate-deps.js","sourceRoot":"","sources":["../jsr/ssr-isolate-deps.ts"],"names":[],"mappings":"AA2BA,MAAM,KAAK,GAAmB,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AAEjF,IAAI,MAA2C,CAAC;AAEhD,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,MAAM,CAAC,iCAAiC,CAAC;aAC/C,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACZ,OAAO,EAAE,CAAC,CAAC,uBAAuB,IAAI,EAAE;YACxC,YAAY,EAAE,CAAC,CAAC,yBAAyB,IAAI,EAAE;YAC/C,WAAW,EAAE,CAAC,CAAC,wBAAwB,IAAI,EAAE;SAC9C,CAAC,CAAC;aACF,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ssr-source-check.js","sourceRoot":"","sources":["../jsr/ssr-source-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAiBjE,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAc;IACrD,MAAM,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,SAAS,CAAC;IAChB,MAAM,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9F,CAAC"}
1
+ {"version":3,"file":"ssr-source-check.js","sourceRoot":"","sources":["../jsr/ssr-source-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAgBjE,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAc;IACrD,MAAM,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,SAAS,CAAC;IAChB,MAAM,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9F,CAAC"}
package/use-firefly.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { useCallback, useEffect, useMemo, useState, useRef } from "react";
2
2
  import { FireflyDatabase } from "./firefly-database.js";
3
3
  import { getOrCreateLocalDb, hasAuthedBefore, markAuthedBefore, migrateLocalToCloud, } from "./firefly-local-database.js";
4
+ import { createEphemeralCoalescer } from "./merge-coalescer.js";
4
5
  import { useVibeContext } from "./VibeContext.js";
5
6
  const EMPTY_ACCESS = {
6
7
  roles: new Set(),
@@ -151,6 +152,8 @@ function createUseDocument(database) {
151
152
  }
152
153
  const originalInitialDoc = useMemo(() => structuredClone({ ...initialDoc }), []);
153
154
  const [doc, setDoc] = useState(initialDoc);
155
+ const coalescer = useMemo(() => createEphemeralCoalescer((id, snapshot) => database.broadcastEphemeral?.(id, snapshot)), []);
156
+ useEffect(() => () => coalescer.cancel(), [coalescer]);
154
157
  const refresh = useCallback(async () => {
155
158
  if (doc._id) {
156
159
  try {
@@ -187,8 +190,13 @@ function createUseDocument(database) {
187
190
  }, [doc, initialDoc]);
188
191
  const merge = useCallback((newDoc) => {
189
192
  updateHappenedRef.current = true;
190
- setDoc((prev) => ({ ...prev, ...newDoc }));
191
- }, []);
193
+ setDoc((prev) => {
194
+ const next = { ...prev, ...newDoc };
195
+ if (next._id)
196
+ coalescer.push(next._id, next);
197
+ return next;
198
+ });
199
+ }, [coalescer]);
192
200
  const replace = useCallback((newDoc) => {
193
201
  updateHappenedRef.current = true;
194
202
  setDoc(newDoc);
@@ -247,6 +255,10 @@ function createUseLiveQuery(database) {
247
255
  useEffect(() => {
248
256
  refreshRows();
249
257
  const unsubscribe = database.subscribe((_changes, meta) => {
258
+ if (meta?.ephemeral) {
259
+ setResult(database.materializeLive(serverDocsRef.current, mapFn, queryOpts));
260
+ return;
261
+ }
250
262
  if (meta?.optimistic) {
251
263
  setResult(database.materializeLive(serverDocsRef.current, mapFn, queryOpts));
252
264
  }
@@ -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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"}
@@ -2,6 +2,10 @@ import { type WorkerLoaderBinding } from "./worker-loader-executor.js";
2
2
  export interface VibeExecuteInput {
3
3
  readonly source: string;
4
4
  readonly mountParams: unknown;
5
+ readonly moduleGraph?: {
6
+ readonly entryKey: string;
7
+ readonly modules: Record<string, string>;
8
+ };
5
9
  }
6
10
  export interface VibeExecuteResult {
7
11
  readonly html: string;
@@ -1 +1 @@
1
- {"version":3,"file":"vibe-executor.js","sourceRoot":"","sources":["../jsr/vibe-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAA4B,MAAM,6BAA6B,CAAC;AA2C7F,MAAM,UAAU,iBAAiB,CAAC,GAAuB;IACvD,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QACzC,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAYD,MAAM,UAAU,cAAc,CAAC,IAAkB,EAAE,IAAI,GAA0B,EAAE;IACjF,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,KAAK;YACR,OAAO,SAAS,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,IAAI,YAAY,EAAE,CAAC;QAC5B,KAAK,QAAQ;YACX,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;YACpF,CAAC;YACD,OAAO,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"vibe-executor.js","sourceRoot":"","sources":["../jsr/vibe-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAA4B,MAAM,6BAA6B,CAAC;AAsD7F,MAAM,UAAU,iBAAiB,CAAC,GAAuB;IACvD,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QACzC,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAYD,MAAM,UAAU,cAAc,CAAC,IAAkB,EAAE,IAAI,GAA0B,EAAE;IACjF,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,KAAK;YACR,OAAO,SAAS,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,IAAI,YAAY,EAAE,CAAC;QAC5B,KAAK,QAAQ;YACX,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;YACpF,CAAC;YACD,OAAO,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;AACH,CAAC"}
@@ -1,9 +1,12 @@
1
1
  import { type Executor, type VibeExecuteInput, type VibeExecuteResult } from "./vibe-executor.js";
2
+ export interface IsolateFetcher {
3
+ fetch(request: Request): Promise<Response>;
4
+ }
2
5
  export interface WorkerCode {
3
6
  readonly compatibilityDate: string;
4
7
  readonly mainModule: string;
5
8
  readonly modules: Record<string, string>;
6
- readonly globalOutbound: null;
9
+ readonly globalOutbound?: IsolateFetcher | null;
7
10
  }
8
11
  export interface WorkerEntrypoint {
9
12
  fetch(request: Request): Promise<Response>;
@@ -15,8 +18,11 @@ export interface WorkerLoaderBinding {
15
18
  get(id: string, factory: () => WorkerCode | Promise<WorkerCode>): WorkerStub;
16
19
  }
17
20
  export declare function buildVibeWorkerCode(input: {
18
- module: string;
21
+ module?: string;
22
+ vibeModules?: Record<string, string>;
23
+ entryModule?: string;
19
24
  mountParams: unknown;
25
+ depModules?: Record<string, string>;
20
26
  }): WorkerCode;
21
27
  export declare class WorkerLoaderExecutor implements Executor {
22
28
  private readonly loader;
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"worker-loader-executor.js","sourceRoot":"","sources":["../jsr/worker-loader-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAyCjE,MAAM,WAAW,GAAG,SAAS,CAAC;AAC9B,MAAM,WAAW,GAAG,SAAS,CAAC;AAG9B,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAExC,MAAM,eAAe,GAAG,4BAA4B,CAAC;AAsBrD,MAAM,UAAU,mBAAmB,CAAC,KAA+C;IACjF,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG;QACX,+EAA+E;QAC/E,0BAA0B,WAAW,IAAI;QACzC,wBAAwB,eAAe,GAAG;QAC1C,kBAAkB;QAClB,mBAAmB;QACnB,+DAA+D;QAC/D,6FAA6F;QAC7F,MAAM;QACN,IAAI;QACJ,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO;QACL,iBAAiB,EAAE,kBAAkB;QACrC,UAAU,EAAE,WAAW;QACvB,OAAO,EAAE;YACP,CAAC,WAAW,CAAC,EAAE,IAAI;YACnB,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM;SAC5B;QACD,cAAc,EAAE,IAAI;KACrB,CAAC;AACJ,CAAC;AAGD,KAAK,UAAU,cAAc,CAAC,IAAgB;IAC5C,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;IAGjG,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,qBAAqB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9F,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAUD,MAAM,OAAO,oBAAoB;IACF,MAAM;IAAnC,YAA6B,MAA2B;sBAA3B,MAAM;IAAwB,CAAC;IAE5D,KAAK,CAAC,MAAM,CAAC,KAAuB;QAClC,MAAM,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,mBAAmB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7E,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;QAChF,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;IACzC,CAAC;CACF"}
1
+ {"version":3,"file":"worker-loader-executor.js","sourceRoot":"","sources":["../jsr/worker-loader-executor.ts"],"names":[],"mappings":"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"}