@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.
- package/backend-executor.d.ts +22 -0
- package/backend-executor.js +1 -0
- package/backend-executor.js.map +1 -1
- package/backend-worker-loader-executor.d.ts +2 -0
- package/backend-worker-loader-executor.js +56 -11
- package/backend-worker-loader-executor.js.map +1 -1
- package/firefly-database.d.ts +17 -0
- package/firefly-database.js +114 -6
- package/firefly-database.js.map +1 -1
- package/merge-coalescer.d.ts +4 -0
- package/merge-coalescer.js +25 -0
- package/merge-coalescer.js.map +1 -0
- package/package.json +6 -3
- package/register-dependencies.d.ts +1 -0
- package/register-dependencies.js +37 -1
- package/register-dependencies.js.map +1 -1
- package/resolve-vibe-module-graph.d.ts +11 -0
- package/resolve-vibe-module-graph.js +57 -0
- package/resolve-vibe-module-graph.js.map +1 -0
- package/scripts/build-ssr-isolate-deps.d.mts +14 -0
- package/scripts/build-ssr-isolate-deps.mjs +135 -0
- package/ssr-isolate-deps.d.ts +7 -0
- package/ssr-isolate-deps.js +15 -0
- package/ssr-isolate-deps.js.map +1 -0
- package/ssr-source-check.js.map +1 -1
- package/use-firefly.js +14 -2
- package/use-firefly.js.map +1 -1
- package/vibe-executor.d.ts +4 -0
- package/vibe-executor.js.map +1 -1
- package/worker-loader-executor.d.ts +8 -2
- package/worker-loader-executor.js +0 -0
- package/worker-loader-executor.js.map +1 -1
package/backend-executor.d.ts
CHANGED
|
@@ -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>;
|
package/backend-executor.js
CHANGED
|
@@ -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":
|
package/backend-executor.js.map
CHANGED
|
@@ -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;
|
|
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
|
-
`
|
|
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
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
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":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"backend-worker-loader-executor.js","sourceRoot":"","sources":["../jsr/backend-worker-loader-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAUvE,MAAM,WAAW,GAAG,SAAS,CAAC;AAC9B,MAAM,cAAc,GAAG,YAAY,CAAC;AAGpC,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAMxC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAOpC,MAAM,CAAC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AAsB1D,MAAM,kBAAkB,GAAmC,CACzD,UACD,CAAC,wBAAwB,KAAK,IAAI,GAAG,EAA6B,CAAC,CAAC;AAYrE,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAgB;IACtD,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAwC,CAAC;IACpF,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,MAAM,MAAM,GAAoB,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kDAAkD,EAAE,CAAC;IAC7H,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;AACnG,CAAC;AAGD,MAAM,mBAAmB,GAAG,gCAAgC,CAAC;AA0C7D,MAAM,UAAU,sBAAsB,CAAC,KAItC;IACC,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC;IAIlD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC/H,MAAM,IAAI,GAAG;QAKX,6BAA6B,aAAa,aAAa,sBAAsB,EAAE;QAC/E,gCAAgC,cAAc,IAAI;QAGlD,gBAAgB,WAAW,GAAG;QAU9B,qCAAqC;QACrC,2EAA2E;QAC3E,4BAA4B;QAC5B,0FAA0F;QAC1F,6BAA6B,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,2HAA2H;QACzL,iCAAiC;QACjC,6FAA6F;QAC7F,oBAAoB;QACpB,KAAK;QACL,YAAY;QACZ,yBAAyB;QACzB,wDAAwD;QACxD,iHAAiH;QACjH,0EAA0E;QAC1E,oEAAoE;QACpE,QAAQ;QACR,2BAA2B;QAC3B,wDAAwD;QACxD,oHAAoH;QACpH,0DAA0D;QAC1D,QAAQ;QACR,MAAM;QACN,GAAG;QACH,kBAAkB;QAClB,+BAA+B;QAC/B,iEAAiE;QAKjE,gFAAgF;QAChF,6EAA6E;QAC7E,oFAAoF;QACpF,OAAO;QAKP,mBAAmB;QACnB,sBAAsB;QACtB,4FAA4F;QAC5F,qCAAqC;QACrC,yGAAyG;QACzG,QAAQ;QACR,mCAAmC;QACnC,qCAAqC;QACrC,+EAA+E;QAC/E,OAAO;QACP,gCAAgC;QAChC,qDAAqD;QACrD,wEAAwE;QACxE,6DAA6D;QAC7D,WAAW;QACX,sCAAsC;QACtC,OAAO;QACP,wDAAwD;QACxD,iDAAiD;QACjD,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,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM;SAC/B;QACD,cAAc,EAAE,IAAI;KACrB,CAAC;AACJ,CAAC;AAGD,KAAK,UAAU,qBAAqB,CAAC,IAAgB;IACnD,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;AAcD,MAAM,OAAO,2BAA2B;IAEnB,MAAM;IACN,IAAI;IAFvB,YACmB,MAA2B,EAC3B,IAAI,GAAkG,EAAE;sBADxG,MAAM;oBACN,IAAI;IACpB,CAAC;IAEJ,KAAK,CAAC,MAAM,CAAC,KAAyB;QACpC,MAAM,EAAE,MAAM,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,sBAAsB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAK9G,MAAM,EAAE,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAU7C,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACzD,IAAI,KAAK,IAAI,KAAK,CAAC,EAAE;YAAE,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAK/D,MAAM,KAAK,GAAe;YACxB,GAAG,IAAI;YACP,cAAc,EAAE,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,KAAK,CAAC,SAA4B,CAAC,CAAC,CAAC,IAAI;SACzF,CAAC;QACF,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,mBAAmB,EAAE;gBAC/C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;aACzF,CAAC,CAAC;YAMH,OAAO,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;gBAAS,CAAC;YACT,IAAI,KAAK;gBAAE,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;CACF"}
|
package/firefly-database.d.ts
CHANGED
|
@@ -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
|
}
|
package/firefly-database.js
CHANGED
|
@@ -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.
|
|
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.
|
|
363
|
+
return { result: materializeQuery(this.foldOverlays(serverDocs), mapFn, opts), serverDocs };
|
|
331
364
|
}
|
|
332
365
|
materializeLive(serverDocs, mapFn, opts = {}) {
|
|
333
|
-
return materializeQuery(this.
|
|
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.
|
|
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 {
|
package/firefly-database.js.map
CHANGED
|
@@ -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,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.
|
|
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.
|
|
21
|
-
"@vibes.diy/vibe-types": "4.0.
|
|
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>>;
|
package/register-dependencies.js
CHANGED
|
@@ -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"}
|
package/ssr-source-check.js.map
CHANGED
|
@@ -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;
|
|
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) =>
|
|
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
|
}
|
package/use-firefly.js.map
CHANGED
|
@@ -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":"AAOA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,eAAe,EAA6B,MAAM,uBAAuB,CAAC;AACnF,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,GAEpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAGhE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAUlD,MAAM,YAAY,GAAmB;IACnC,KAAK,EAAE,IAAI,GAAG,EAAU;IACxB,QAAQ,EAAE,IAAI,GAAG,EAAU;IAC3B,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK;IACpB,UAAU,EAAE,GAAG,EAAE,CAAC,KAAK;CACxB,CAAC;AAMF,SAAS,eAAe,CAAC,SAAgC,EAAE,MAAc;IACvE,MAAM,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAClB,MAAM,GAAG,GAAG,CAAC,GAAkC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7F,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;AACvE,CAAC;AAGD,IAAI,UAAsC,CAAC;AAG3C,MAAM,OAAO,GAAG,IAAI,GAAG,EAA2B,CAAC;AAEnD,SAAS,aAAa,CAAC,IAAY,EAAE,GAAW;IAC9C,IAAI,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;QACtG,CAAC;QACD,EAAE,GAAG,IAAI,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACxB,CAAC;SAAM,IAAI,GAAG,EAAE,CAAC;QACf,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAWD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAmB;IACvD,UAAU,GAAG,GAAG,CAAC;AACnB,CAAC;AAKD,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;IACrG,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC;IAC5C,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC;AAC3B,CAAC;AAMD,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAMD,MAAM,UAAU,YAAY,CAC1B,IAAI,GAAG,cAAc,EACrB,MAAM,GAOF,EAAE;IAEN,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;IACxC,MAAM,UAAU,GAAG,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;IACjD,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC;IAI9B,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC;IAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,MAAM,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3C,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAKvB,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,KAAK,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;IAO/G,MAAM,QAAQ,GAAG,cAAc,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACpF,MAAM,QAAQ,GAAyB,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAI/E,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACnC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;IAS7B,MAAM,YAAY,GAAG,MAAM,CAA8B,MAAM,CAAC,CAAC;IACjE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,cAAc,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO;YAAE,OAAO;QACpE,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,YAAY,CAAC,OAAO,KAAK,MAAM;YAAE,OAAO;QAC5C,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;QACjC,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,KAAgD,CAAC;QACrD,MAAM,GAAG,GAAG,KAAK,IAAI,EAAE;YACrB,MAAM,WAAW,GAAG,CAAC,CAAC;YACtB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,CAAC;gBACtE,IAAI,CAAC;oBACH,MAAM,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;oBAC5E,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC;oBAC9B,OAAO;gBACT,CAAC;gBAAC,OAAO,CAAU,EAAE,CAAC;oBACpB,IAAI,SAAS;wBAAE,OAAO;oBACtB,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;wBAG5B,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC;wBAC9B,OAAO,CAAC,KAAK,CAAC,2CAA2C,IAAI,WAAW,OAAO,YAAY,EAAE,CAAC,CAAC,CAAC;wBAChG,OAAO;oBACT,CAAC;oBAED,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;wBAClC,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;oBACxD,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,IAAI,SAAS,IAAI,YAAY,CAAC,OAAO,KAAK,SAAS;gBAAE,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC;QACrF,CAAC,CAAC;QACF,KAAK,GAAG,EAAE,CAAC;QACX,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;YACjB,IAAI,KAAK;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,YAAY,CAAC,OAAO,KAAK,SAAS;gBAAE,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC;QACxE,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAEnE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAEvC,MAAM,WAAW,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAmB,OAAO,CAAC,GAAG,EAAE;QAC1C,IAAI,CAAC,WAAW;YAAE,OAAO,YAAY,CAAC;QACtC,MAAM,KAAK,GAAwB,IAAI,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAwB,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACpE,OAAO;YACL,KAAK;YACL,QAAQ;YACR,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1C,UAAU,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;SACvD,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IASlB,MAAM,SAAS,GAAG,eAAe,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC/D,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACxC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,aAAa,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO;QAChD,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;QAClC,QAAQ,CAAC,WAAW,EAAE,CAAC;IACzB,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAE1B,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACzF,CAAC;AAID,SAAS,iBAAiB,CAAC,QAA8B;IAEvD,OAAO,SAAS,WAAW,CAAC,cAAoB;QAE9C,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;QACxC,MAAM,SAAS,GAAG,GAAG,SAAS,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE,IAAI,SAAS,EAAE,MAAM,IAAI,EAAE,IAAI,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnI,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,UAAmC,CAAC;QACxC,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE,CAAC;YACzC,UAAU,GAAG,cAAc,EAAE,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,cAAc,IAAI,EAAE,CAAC;QACpC,CAAC;QACD,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACjF,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;QAM3C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7H,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,GAAa,CAAC,CAAC;oBACrD,MAAM,CAAC,MAAM,CAAC,CAAC;gBACjB,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,CAAC,UAAU,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,UAAU,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACd,MAAM,IAAI,GAAG,WAAW,CACtB,KAAK,EAAE,WAAqC,EAAE,EAAE;YAC9C,iBAAiB,CAAC,OAAO,GAAG,KAAK,CAAC;YAClC,MAAM,MAAM,GAAG,WAAW,IAAI,GAAG,CAAC;YAClC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,CAAC,iBAAiB,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC3D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EACD,CAAC,GAAG,CAAC,CACN,CAAC;QACF,MAAM,MAAM,GAAG,WAAW,CACxB,KAAK,EAAE,WAAqC,EAAE,EAAE;YAC9C,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,CAAuB,CAAC;YAC/D,IAAI,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACpE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;YAC1D,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM,CAAC,UAAU,CAAC,CAAC;YACnB,OAAO,GAAG,CAAC;QACb,CAAC,EACD,CAAC,GAAG,EAAE,UAAU,CAAC,CAClB,CAAC;QACF,MAAM,KAAK,GAAG,WAAW,CACvB,CAAC,MAA+B,EAAE,EAAE;YAClC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;YACjC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;gBACd,MAAM,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;gBAIpC,IAAI,IAAI,CAAC,GAAG;oBAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAa,EAAE,IAAI,CAAC,CAAC;gBACvD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;QACF,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,MAA+B,EAAE,EAAE;YAC9D,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;YACjC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjB,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;YACjC,MAAM,CAAC,EAAE,GAAG,kBAAkB,EAAE,CAAC,CAAC;QACpC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACzB,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,MAAgC,EAAE,IAAI,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YAC5E,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAC1C,CAAC;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC,EACD,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CACjC,CAAC;QACF,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,GAAG,CAAC,GAAG;gBAAE,OAAO;YACrB,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;gBACpC,IAAI,iBAAiB,CAAC,OAAO;oBAAE,OAAO;gBAEtC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChD,KAAK,OAAO,EAAE,CAAC;gBACjB,CAAC;YACH,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;QACvB,SAAS,CAAC,GAAG,EAAE;YACb,KAAK,OAAO,EAAE,CAAC;QACjB,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QACzB,MAAM,MAAM,GAAG,WAAW,CAExB,KAAK,EAAE,CAAO,EAAE,EAAE;YAChB,IAAI,CAAC,EAAE,cAAc;gBAAE,CAAC,CAAC,cAAc,EAAE,CAAC;YAC1C,MAAM,IAAI,EAAE,CAAC;YACb,KAAK,EAAE,CAAC;QACV,CAAC,EACD,CAAC,IAAI,EAAE,KAAK,CAAC,CACd,CAAC;QACF,OAAO,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACnF,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,QAA8B;IAExD,OAAO,SAAS,YAAY,CAAC,KAAU,EAAE,KAAK,GAAQ,EAAE,EAAE,WAAW,GAAU,EAAE;QAE/E,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;QACxC,MAAM,SAAS,GAAG,GAAG,SAAS,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE,IAAI,SAAS,EAAE,MAAM,IAAI,EAAE,IAAI,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnI,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC;YAEnC,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAClE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAI7D,MAAM,aAAa,GAAG,MAAM,CAAQ,EAAE,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAClF,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YACzC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAC/E,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;YACnC,SAAS,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;QACzC,SAAS,CAAC,GAAG,EAAE;YACb,WAAW,EAAE,CAAC;YAKd,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE;gBAMxD,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC;oBACpB,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;oBAC7E,OAAO;gBACT,CAAC;gBACD,IAAI,IAAI,EAAE,UAAU,EAAE,CAAC;oBACrB,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC/E,CAAC;gBACD,KAAK,WAAW,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;YACH,OAAO,GAAG,EAAE;gBACV,WAAW,EAAE,CAAC;YAChB,CAAC,CAAC;QACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;QACvC,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,QAA8B;IAEtD,OAAO,SAAS,UAAU,CAAC,KAAK,GAAQ,EAAE;QAExC,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;QACxC,MAAM,SAAS,GAAG,GAAG,SAAS,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE,IAAI,SAAS,EAAE,MAAM,IAAI,EAAE,IAAI,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAEnI,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAClE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAClE,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YACzC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC1C,SAAS,CAAC;gBACR,GAAG,GAAG;gBAEN,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;aACxC,CAAC,CAAC;QACL,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;QAC5B,SAAS,CAAC,GAAG,EAAE;YACb,WAAW,EAAE,CAAC;YACd,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACpD,OAAO,GAAG,EAAE;gBACV,WAAW,EAAE,CAAC;YAChB,CAAC,CAAC;QACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;QACvC,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,QAA8B;IAEtD,OAAO,SAAS,UAAU,CAAC,MAAM,GAAU,EAAE,EAAE,IAAI,GAAQ,EAAE;QAE3D,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;QACxC,MAAM,SAAS,GAAG,GAAG,SAAS,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE,IAAI,SAAS,EAAE,MAAM,IAAI,EAAE,IAAI,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAEnI,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAClE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YACzC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YAErC,SAAS,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAClB,SAAS,CAAC,GAAG,EAAE;YACb,WAAW,EAAE,CAAC;YACd,OAAO,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC"}
|
package/vibe-executor.d.ts
CHANGED
|
@@ -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;
|
package/vibe-executor.js.map
CHANGED
|
@@ -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;
|
|
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
|
|
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
|
|
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;
|
|
1
|
+
{"version":3,"file":"worker-loader-executor.js","sourceRoot":"","sources":["../jsr/worker-loader-executor.ts"],"names":[],"mappings":"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"}
|