@vibes.diy/vibe-runtime 12.1.1 → 12.1.3
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/app-ready-signal.js +3 -0
- package/app-ready-signal.js.map +1 -1
- package/backend-executor.d.ts +13 -0
- package/backend-executor.js +1 -0
- package/backend-executor.js.map +1 -1
- package/backend-worker-loader-executor.d.ts +4 -0
- package/backend-worker-loader-executor.js +82 -10
- package/backend-worker-loader-executor.js.map +1 -1
- package/boot-marks.d.ts +20 -0
- package/boot-marks.js +31 -0
- package/boot-marks.js.map +1 -0
- package/boot-span-report.d.ts +23 -0
- package/boot-span-report.js +61 -0
- package/boot-span-report.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/package.json +3 -3
- package/parse-backend-config.js +277 -160
- package/parse-backend-config.js.map +1 -1
- package/register-dependencies.js +24 -3
- package/register-dependencies.js.map +1 -1
- package/sync-engine.d.ts +2 -0
- package/sync-engine.js +13 -0
- package/sync-engine.js.map +1 -1
- package/vibe-log.d.ts +40 -0
- package/vibe-log.js +234 -0
- package/vibe-log.js.map +1 -0
package/app-ready-signal.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { BootMark, bootMark } from "./boot-marks.js";
|
|
1
2
|
const APP_READY_EVENT_TYPE = "vibe.evt.app-ready";
|
|
2
3
|
export function shouldSignalAppReady(opts) {
|
|
3
4
|
if (!opts.painted)
|
|
@@ -13,6 +14,8 @@ export function noteHydrationExpected() {
|
|
|
13
14
|
state.hydrationExpected = true;
|
|
14
15
|
}
|
|
15
16
|
export function noteHydratedDelivery() {
|
|
17
|
+
if (!state.delivered)
|
|
18
|
+
bootMark(BootMark.firstLocalRender);
|
|
16
19
|
state.delivered = true;
|
|
17
20
|
state.hydrationExpected = false;
|
|
18
21
|
flush();
|
package/app-ready-signal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-ready-signal.js","sourceRoot":"","sources":["../jsr/app-ready-signal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app-ready-signal.js","sourceRoot":"","sources":["../jsr/app-ready-signal.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAKrD,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAQlD,MAAM,UAAU,oBAAoB,CAAC,IAIpC;IACC,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAChC,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC5D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC1F,IAAI,IAAI,GAAe,mBAAmB,CAAC;AAS3C,MAAM,UAAU,qBAAqB;IACnC,IAAI,CAAC,KAAK,CAAC,SAAS;QAAE,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC;AACvD,CAAC;AAKD,MAAM,UAAU,oBAAoB;IAKlC,IAAI,CAAC,KAAK,CAAC,SAAS;QAAE,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC1D,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;IACvB,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC;IAChC,KAAK,EAAE,CAAC;AACV,CAAC;AAID,MAAM,UAAU,cAAc;IAC5B,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,CAAC;AACV,CAAC;AAED,SAAS,KAAK;IACZ,IAAI,KAAK,CAAC,IAAI;QAAE,OAAO;IACvB,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;QAAE,OAAO;IACzC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,IAAI,EAAE,CAAC;AACT,CAAC;AAED,SAAS,mBAAmB;IAI1B,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO;IACtE,MAAM,IAAI,GAAG,GAAS,EAAE;QACtB,IAAI,CAAC;YACH,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,GAAG,CAAC,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;QAET,CAAC;IACH,CAAC,CAAC;IACF,IAAI,EAAE,CAAC;IAcP,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,SAAS,IAAI;QACX,QAAQ,IAAI,CAAC,CAAC;QACd,IAAI,EAAE,CAAC;QACP,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;YAEpB,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;AACH,CAAC;AAID,MAAM,UAAU,yBAAyB,CAAC,EAA4B;IACpE,IAAI,GAAG,EAAE,IAAI,mBAAmB,CAAC;AACnC,CAAC;AAID,MAAM,UAAU,6BAA6B;IAC3C,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC;IAChC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;IACxB,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;IACnB,IAAI,GAAG,mBAAmB,CAAC;AAC7B,CAAC"}
|
package/backend-executor.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { type WorkerLoaderBinding } from "./worker-loader-executor.js";
|
|
|
2
2
|
export { BACKEND_DB_OP_URL, handleBackendDbOp } from "./backend-worker-loader-executor.js";
|
|
3
3
|
export { BACKEND_AI_OP_URL, handleBackendAiOp } from "./backend-worker-loader-executor.js";
|
|
4
4
|
export { BACKEND_NOTIFY_OP_URL, handleBackendNotifyOp } from "./backend-worker-loader-executor.js";
|
|
5
|
+
export { BACKEND_LOG_OP_URL, handleBackendLogOp } from "./backend-worker-loader-executor.js";
|
|
5
6
|
export type BackendHandler = "fetch" | "scheduled" | "onChange";
|
|
6
7
|
export interface BackendTrigger {
|
|
7
8
|
readonly userHandle?: string | null;
|
|
@@ -81,6 +82,17 @@ export type BackendNotifyResult = {
|
|
|
81
82
|
readonly error: string;
|
|
82
83
|
};
|
|
83
84
|
export type BackendNotifyCallback = (op: BackendNotifyOp) => Promise<BackendNotifyResult>;
|
|
85
|
+
export interface BackendLogOp {
|
|
86
|
+
readonly level: string;
|
|
87
|
+
readonly body: string;
|
|
88
|
+
}
|
|
89
|
+
export type BackendLogResult = {
|
|
90
|
+
readonly ok: true;
|
|
91
|
+
} | {
|
|
92
|
+
readonly ok: false;
|
|
93
|
+
readonly error: string;
|
|
94
|
+
};
|
|
95
|
+
export type BackendLogCallback = (op: BackendLogOp) => Promise<BackendLogResult>;
|
|
84
96
|
export interface BackendInvokeInput {
|
|
85
97
|
readonly source: string;
|
|
86
98
|
readonly handler: BackendHandler;
|
|
@@ -89,6 +101,7 @@ export interface BackendInvokeInput {
|
|
|
89
101
|
readonly db?: BackendDbCallback;
|
|
90
102
|
readonly ai?: BackendAiCallback;
|
|
91
103
|
readonly notify?: BackendNotifyCallback;
|
|
104
|
+
readonly log?: BackendLogCallback;
|
|
92
105
|
readonly dbFetcher?: unknown;
|
|
93
106
|
}
|
|
94
107
|
export interface BackendExecutor {
|
package/backend-executor.js
CHANGED
|
@@ -2,6 +2,7 @@ import { WorkerLoaderBackendExecutor } from "./backend-worker-loader-executor.js
|
|
|
2
2
|
export { BACKEND_DB_OP_URL, handleBackendDbOp } from "./backend-worker-loader-executor.js";
|
|
3
3
|
export { BACKEND_AI_OP_URL, handleBackendAiOp } from "./backend-worker-loader-executor.js";
|
|
4
4
|
export { BACKEND_NOTIFY_OP_URL, handleBackendNotifyOp } from "./backend-worker-loader-executor.js";
|
|
5
|
+
export { BACKEND_LOG_OP_URL, handleBackendLogOp } from "./backend-worker-loader-executor.js";
|
|
5
6
|
export function parseBackendJsMode(raw) {
|
|
6
7
|
switch ((raw ?? "").trim().toLowerCase()) {
|
|
7
8
|
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;AAMlF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAG3F,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAI3F,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,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;AAG3F,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAI3F,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAGnG,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AA8S7F,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"}
|
|
@@ -4,9 +4,13 @@ export declare const BACKEND_QUERY_RESULT_SHIM: string;
|
|
|
4
4
|
export declare const BACKEND_DB_OP_URL = "https://db.internal/op";
|
|
5
5
|
export declare const BACKEND_AI_OP_URL = "https://ai.internal/op";
|
|
6
6
|
export declare const BACKEND_NOTIFY_OP_URL = "https://notify.internal/op";
|
|
7
|
+
export declare const BACKEND_LOG_OP_URL = "https://log.internal/op";
|
|
8
|
+
export declare const LOG_ISOLATE_DISPATCH_CAP = 30;
|
|
9
|
+
export declare const BACKEND_LOG_SHIM: string;
|
|
7
10
|
export declare function handleBackendDbOp(request: Request): Promise<Response>;
|
|
8
11
|
export declare function handleBackendAiOp(request: Request): Promise<Response>;
|
|
9
12
|
export declare function handleBackendNotifyOp(request: Request): Promise<Response>;
|
|
13
|
+
export declare function handleBackendLogOp(request: Request): Promise<Response>;
|
|
10
14
|
export declare function buildBackendWorkerCode(input: {
|
|
11
15
|
module: string;
|
|
12
16
|
policyVersion?: string;
|
|
@@ -2,8 +2,9 @@ import { TxtEnDecoderSingleton } from "@adviser/cement";
|
|
|
2
2
|
import { transformBackendSource } from "./transform-backend-source.js";
|
|
3
3
|
const MAIN_MODULE = "main.js";
|
|
4
4
|
const BACKEND_MODULE = "backend.js";
|
|
5
|
+
const LOG_BODY_MAX_CHARS = 4096;
|
|
5
6
|
const COMPATIBILITY_DATE = "2025-05-01";
|
|
6
|
-
const BINDING_SCHEMA_VERSION = "
|
|
7
|
+
const BINDING_SCHEMA_VERSION = "v9";
|
|
7
8
|
export const BACKEND_QUERY_RESULT_SHIM = [
|
|
8
9
|
`function toQueryResult(docs, next) {`,
|
|
9
10
|
` const out = Array.isArray(docs) ? docs : [];`,
|
|
@@ -15,9 +16,60 @@ export const BACKEND_QUERY_RESULT_SHIM = [
|
|
|
15
16
|
export const BACKEND_DB_OP_URL = "https://db.internal/op";
|
|
16
17
|
export const BACKEND_AI_OP_URL = "https://ai.internal/op";
|
|
17
18
|
export const BACKEND_NOTIFY_OP_URL = "https://notify.internal/op";
|
|
19
|
+
export const BACKEND_LOG_OP_URL = "https://log.internal/op";
|
|
20
|
+
export const LOG_ISOLATE_DISPATCH_CAP = 30;
|
|
21
|
+
export const BACKEND_LOG_SHIM = [
|
|
22
|
+
`function makeLog(logNonce, pending) {`,
|
|
23
|
+
` let dispatched = 0;`,
|
|
24
|
+
` let dropped = 0;`,
|
|
25
|
+
` function render(args) {`,
|
|
26
|
+
` const parts = [];`,
|
|
27
|
+
` for (const a of args) {`,
|
|
28
|
+
` if (typeof a === "string") { parts.push(a); continue; }`,
|
|
29
|
+
` if (a && typeof a.stack === "string") { parts.push(a.stack); continue; }`,
|
|
30
|
+
` let s;`,
|
|
31
|
+
` try { s = JSON.stringify(a); } catch (e) { s = undefined; }`,
|
|
32
|
+
` parts.push(s === undefined ? String(a) : s);`,
|
|
33
|
+
` }`,
|
|
34
|
+
` const body = parts.join(" ");`,
|
|
35
|
+
` return body.length > ${LOG_BODY_MAX_CHARS} ? body.slice(0, ${LOG_BODY_MAX_CHARS}) : body;`,
|
|
36
|
+
` }`,
|
|
37
|
+
` function dispatch(level, body) {`,
|
|
38
|
+
` const p = fetch(${JSON.stringify(BACKEND_LOG_OP_URL)}, { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify({ nonce: logNonce, op: { level: level, body: body } }) });`,
|
|
39
|
+
` if (p && typeof p.then === "function") pending.push(p.then(function () {}, function () {}));`,
|
|
40
|
+
` }`,
|
|
41
|
+
` const LEVELS = ["debug", "info", "warn", "error"];`,
|
|
42
|
+
` function log(...all) {`,
|
|
43
|
+
` try {`,
|
|
44
|
+
` if (!logNonce) return;`,
|
|
45
|
+
` let level = "info";`,
|
|
46
|
+
` let args = all;`,
|
|
47
|
+
` if (all.length > 0 && typeof all[0] === "string" && LEVELS.indexOf(all[0]) !== -1) {`,
|
|
48
|
+
` level = all[0];`,
|
|
49
|
+
` args = all.slice(1);`,
|
|
50
|
+
` }`,
|
|
51
|
+
` const body = render(args);`,
|
|
52
|
+
` if (body.length === 0) return;`,
|
|
53
|
+
` if (dispatched >= ${LOG_ISOLATE_DISPATCH_CAP}) { dropped++; return; }`,
|
|
54
|
+
` dispatched++;`,
|
|
55
|
+
` dispatch(level, body);`,
|
|
56
|
+
` } catch (e) { /* logging never throws into handler code */ }`,
|
|
57
|
+
` }`,
|
|
58
|
+
` function reportOverflow() {`,
|
|
59
|
+
` try {`,
|
|
60
|
+
` if (!logNonce || dropped === 0) return;`,
|
|
61
|
+
` const n = dropped;`,
|
|
62
|
+
` dropped = 0;`,
|
|
63
|
+
` dispatch("warn", "[vibes] ctx.log dropped " + n + " event(s) past the per-invocation dispatch cap of ${LOG_ISOLATE_DISPATCH_CAP}");`,
|
|
64
|
+
` } catch (e) { /* reporting a drop must not throw either */ }`,
|
|
65
|
+
` }`,
|
|
66
|
+
` return { log: log, reportOverflow: reportOverflow };`,
|
|
67
|
+
`}`,
|
|
68
|
+
].join("\n");
|
|
18
69
|
const dbCallbackRegistry = (globalThis.__vibesBackendDbRegistry ??= new Map());
|
|
19
70
|
const aiCallbackRegistry = (globalThis.__vibesBackendAiRegistry ??= new Map());
|
|
20
71
|
const notifyCallbackRegistry = (globalThis.__vibesBackendNotifyRegistry ??= new Map());
|
|
72
|
+
const logCallbackRegistry = (globalThis.__vibesBackendLogRegistry ??= new Map());
|
|
21
73
|
export async function handleBackendDbOp(request) {
|
|
22
74
|
const { nonce, op } = (await request.json());
|
|
23
75
|
const cb = nonce ? dbCallbackRegistry.get(nonce) : undefined;
|
|
@@ -38,6 +90,12 @@ export async function handleBackendNotifyOp(request) {
|
|
|
38
90
|
: { ok: false, error: "ctx.notify is not available (no active call context)" };
|
|
39
91
|
return new Response(JSON.stringify(result), { headers: { "content-type": "application/json" } });
|
|
40
92
|
}
|
|
93
|
+
export async function handleBackendLogOp(request) {
|
|
94
|
+
const { nonce, op } = (await request.json());
|
|
95
|
+
const cb = nonce ? logCallbackRegistry.get(nonce) : undefined;
|
|
96
|
+
const result = cb ? await cb(op) : { ok: false, error: "ctx.log is not available (no active call context)" };
|
|
97
|
+
return new Response(JSON.stringify(result), { headers: { "content-type": "application/json" } });
|
|
98
|
+
}
|
|
41
99
|
const BACKEND_REQUEST_URL = "https://vibe-backend.internal/";
|
|
42
100
|
export function buildBackendWorkerCode(input) {
|
|
43
101
|
const policyVersion = input.policyVersion ?? "v1";
|
|
@@ -111,13 +169,16 @@ export function buildBackendWorkerCode(input) {
|
|
|
111
169
|
` if (out === undefined || out === null || out.ok !== true) throw new Error((out && out.error) || "ctx.notify failed");`,
|
|
112
170
|
` };`,
|
|
113
171
|
`}`,
|
|
172
|
+
BACKEND_LOG_SHIM,
|
|
114
173
|
`export default {`,
|
|
115
174
|
` async fetch(request, env) {`,
|
|
116
|
-
` const { handler, trigger, dbNonce, aiNonce, notifyNonce, secrets } = await request.json();`,
|
|
175
|
+
` const { handler, trigger, dbNonce, aiNonce, notifyNonce, logNonce, secrets } = await request.json();`,
|
|
117
176
|
` const ALLOWED_HANDLERS = { fetch: true, scheduled: true, onChange: true };`,
|
|
118
177
|
` if (!Object.prototype.hasOwnProperty.call(ALLOWED_HANDLERS, handler)) {`,
|
|
119
178
|
` return new Response("invalid backend handler: " + handler, { status: 400 });`,
|
|
120
179
|
` }`,
|
|
180
|
+
` const logPending = [];`,
|
|
181
|
+
` const logLane = makeLog(logNonce, logPending);`,
|
|
121
182
|
` const ctx = {`,
|
|
122
183
|
` appInfo: VIBE,`,
|
|
123
184
|
` userInfo: trigger && trigger.userHandle ? { userHandle: trigger.userHandle } : null,`,
|
|
@@ -125,21 +186,26 @@ export function buildBackendWorkerCode(input) {
|
|
|
125
186
|
` fetch: (input, init) => fetch(input, init),`,
|
|
126
187
|
` callAI: makeCallAI(aiNonce),`,
|
|
127
188
|
` notify: makeNotify(notifyNonce),`,
|
|
189
|
+
` log: logLane.log,`,
|
|
128
190
|
` secrets: Object.freeze(secrets || {}),`,
|
|
129
191
|
` };`,
|
|
130
192
|
` const fn = handlers[handler];`,
|
|
131
193
|
` if (typeof fn !== "function") {`,
|
|
132
194
|
` return new Response("no backend handler: " + handler, { status: 404 });`,
|
|
133
195
|
` }`,
|
|
134
|
-
`
|
|
135
|
-
`
|
|
136
|
-
`
|
|
137
|
-
`
|
|
138
|
-
`
|
|
139
|
-
`
|
|
196
|
+
` try {`,
|
|
197
|
+
` if (handler === "fetch") {`,
|
|
198
|
+
` const p = (trigger && trigger.payload) || {};`,
|
|
199
|
+
` const userReq = new Request(p.url || "https://vibe.internal/", {`,
|
|
200
|
+
` method: p.method, headers: p.headers, body: p.body,`,
|
|
201
|
+
` });`,
|
|
202
|
+
` return await fn(userReq, ctx);`,
|
|
203
|
+
` }`,
|
|
204
|
+
` await fn((trigger && trigger.payload) || {}, ctx);`,
|
|
205
|
+
` return new Response(null, { status: 204 });`,
|
|
206
|
+
` } finally {`,
|
|
207
|
+
` try { logLane.reportOverflow(); await Promise.allSettled(logPending.splice(0)); } catch (e) { /* the drain never throws either */ }`,
|
|
140
208
|
` }`,
|
|
141
|
-
` await fn((trigger && trigger.payload) || {}, ctx);`,
|
|
142
|
-
` return new Response(null, { status: 204 });`,
|
|
143
209
|
` },`,
|
|
144
210
|
`};`,
|
|
145
211
|
``,
|
|
@@ -181,6 +247,9 @@ export class WorkerLoaderBackendExecutor {
|
|
|
181
247
|
const notifyNonce = input.notify ? crypto.randomUUID() : undefined;
|
|
182
248
|
if (notifyNonce && input.notify)
|
|
183
249
|
notifyCallbackRegistry.set(notifyNonce, input.notify);
|
|
250
|
+
const logNonce = input.log ? crypto.randomUUID() : undefined;
|
|
251
|
+
if (logNonce && input.log)
|
|
252
|
+
logCallbackRegistry.set(logNonce, input.log);
|
|
184
253
|
const wired = {
|
|
185
254
|
...code,
|
|
186
255
|
globalOutbound: input.dbFetcher ? input.dbFetcher : null,
|
|
@@ -196,6 +265,7 @@ export class WorkerLoaderBackendExecutor {
|
|
|
196
265
|
dbNonce: nonce,
|
|
197
266
|
aiNonce,
|
|
198
267
|
notifyNonce,
|
|
268
|
+
logNonce,
|
|
199
269
|
secrets: input.secrets ?? {},
|
|
200
270
|
}),
|
|
201
271
|
});
|
|
@@ -208,6 +278,8 @@ export class WorkerLoaderBackendExecutor {
|
|
|
208
278
|
aiCallbackRegistry.delete(aiNonce);
|
|
209
279
|
if (notifyNonce)
|
|
210
280
|
notifyCallbackRegistry.delete(notifyNonce);
|
|
281
|
+
if (logNonce)
|
|
282
|
+
logCallbackRegistry.delete(logNonce);
|
|
211
283
|
}
|
|
212
284
|
}
|
|
213
285
|
}
|
|
@@ -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":"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"}
|
package/boot-marks.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const BOOT_MARK_PREFIX = "vibes:boot:";
|
|
2
|
+
export declare const BootMark: {
|
|
3
|
+
readonly softIdentityAdopted: "vibes:boot:soft-identity-adopted";
|
|
4
|
+
readonly viewerAuthoritative: "vibes:boot:viewer-authoritative";
|
|
5
|
+
readonly firstLocalRender: "vibes:boot:first-local-render";
|
|
6
|
+
readonly authAnonymousSignedOut: "vibes:boot:auth-anonymous-signed-out";
|
|
7
|
+
readonly authAnonymousFresh: "vibes:boot:auth-anonymous-fresh";
|
|
8
|
+
readonly authAnonymousLapsed: "vibes:boot:auth-anonymous-lapsed";
|
|
9
|
+
readonly whoamiQueued: "vibes:boot:whoami-queued";
|
|
10
|
+
readonly whoamiDispatched: "vibes:boot:whoami-dispatched";
|
|
11
|
+
readonly whoamiResponded: "vibes:boot:whoami-responded";
|
|
12
|
+
readonly firstAuthedPullIssued: "vibes:boot:first-authed-pull-issued";
|
|
13
|
+
readonly syncSettled: "vibes:boot:sync-settled";
|
|
14
|
+
};
|
|
15
|
+
export type BootMarkName = (typeof BootMark)[keyof typeof BootMark];
|
|
16
|
+
export declare function bootMark(name: BootMarkName): void;
|
|
17
|
+
export declare function readBootMarks(): {
|
|
18
|
+
readonly name: string;
|
|
19
|
+
readonly startTime: number;
|
|
20
|
+
}[];
|
package/boot-marks.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export const BOOT_MARK_PREFIX = "vibes:boot:";
|
|
2
|
+
export const BootMark = {
|
|
3
|
+
softIdentityAdopted: `${BOOT_MARK_PREFIX}soft-identity-adopted`,
|
|
4
|
+
viewerAuthoritative: `${BOOT_MARK_PREFIX}viewer-authoritative`,
|
|
5
|
+
firstLocalRender: `${BOOT_MARK_PREFIX}first-local-render`,
|
|
6
|
+
authAnonymousSignedOut: `${BOOT_MARK_PREFIX}auth-anonymous-signed-out`,
|
|
7
|
+
authAnonymousFresh: `${BOOT_MARK_PREFIX}auth-anonymous-fresh`,
|
|
8
|
+
authAnonymousLapsed: `${BOOT_MARK_PREFIX}auth-anonymous-lapsed`,
|
|
9
|
+
whoamiQueued: `${BOOT_MARK_PREFIX}whoami-queued`,
|
|
10
|
+
whoamiDispatched: `${BOOT_MARK_PREFIX}whoami-dispatched`,
|
|
11
|
+
whoamiResponded: `${BOOT_MARK_PREFIX}whoami-responded`,
|
|
12
|
+
firstAuthedPullIssued: `${BOOT_MARK_PREFIX}first-authed-pull-issued`,
|
|
13
|
+
syncSettled: `${BOOT_MARK_PREFIX}sync-settled`,
|
|
14
|
+
};
|
|
15
|
+
export function bootMark(name) {
|
|
16
|
+
try {
|
|
17
|
+
globalThis.performance?.mark?.(name);
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export function readBootMarks() {
|
|
23
|
+
try {
|
|
24
|
+
const entries = globalThis.performance?.getEntriesByType?.("mark") ?? [];
|
|
25
|
+
return entries.filter((e) => e.name.startsWith(BOOT_MARK_PREFIX)).map((e) => ({ name: e.name, startTime: e.startTime }));
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return [];
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=boot-marks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boot-marks.js","sourceRoot":"","sources":["../jsr/boot-marks.ts"],"names":[],"mappings":"AA2BA,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAQ9C,MAAM,CAAC,MAAM,QAAQ,GAAG;IAItB,mBAAmB,EAAE,GAAG,gBAAgB,uBAAuB;IAG/D,mBAAmB,EAAE,GAAG,gBAAgB,sBAAsB;IAM9D,gBAAgB,EAAE,GAAG,gBAAgB,oBAAoB;IAGzD,sBAAsB,EAAE,GAAG,gBAAgB,2BAA2B;IAGtE,kBAAkB,EAAE,GAAG,gBAAgB,sBAAsB;IAI7D,mBAAmB,EAAE,GAAG,gBAAgB,uBAAuB;IAM/D,YAAY,EAAE,GAAG,gBAAgB,eAAe;IAKhD,gBAAgB,EAAE,GAAG,gBAAgB,mBAAmB;IAGxD,eAAe,EAAE,GAAG,gBAAgB,kBAAkB;IAItD,qBAAqB,EAAE,GAAG,gBAAgB,0BAA0B;IAWpE,WAAW,EAAE,GAAG,gBAAgB,cAAc;CACtC,CAAC;AASX,MAAM,UAAU,QAAQ,CAAC,IAAkB;IACzC,IAAI,CAAC;QACH,UAAU,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;AACH,CAAC;AAID,MAAM,UAAU,aAAa;IAC3B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,EAAE,gBAAgB,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACzE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC3H,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare const BOOT_SPAN_TAG = "boot-spans";
|
|
2
|
+
export interface BootSpans {
|
|
3
|
+
readonly softMs?: number;
|
|
4
|
+
readonly authoritativeMs?: number;
|
|
5
|
+
readonly pullIssuedMs?: number;
|
|
6
|
+
readonly settleMs?: number;
|
|
7
|
+
readonly firstRenderMs?: number;
|
|
8
|
+
readonly hostAckMs?: number;
|
|
9
|
+
readonly whoamiMs?: number;
|
|
10
|
+
readonly edgeToPullMs?: number;
|
|
11
|
+
readonly pullToSettleMs?: number;
|
|
12
|
+
readonly paintToSettleMs?: number;
|
|
13
|
+
readonly softPaintFired: boolean;
|
|
14
|
+
readonly anonVerdict?: "signed-out" | "fresh" | "lapsed";
|
|
15
|
+
}
|
|
16
|
+
interface MarkEntry {
|
|
17
|
+
readonly name: string;
|
|
18
|
+
readonly startTime: number;
|
|
19
|
+
}
|
|
20
|
+
export declare function computeBootSpans(marks: readonly MarkEntry[]): BootSpans;
|
|
21
|
+
export declare function __resetBootSpanReportForTests(): void;
|
|
22
|
+
export declare function reportBootSpans(): void;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { BootMark, readBootMarks } from "./boot-marks.js";
|
|
2
|
+
import { vibeLog } from "./vibe-log.js";
|
|
3
|
+
export const BOOT_SPAN_TAG = "boot-spans";
|
|
4
|
+
function firstAt(marks, name) {
|
|
5
|
+
for (const m of marks)
|
|
6
|
+
if (m.name === name)
|
|
7
|
+
return m.startTime;
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
function span(end, start) {
|
|
11
|
+
return end === undefined || start === undefined ? undefined : end - start;
|
|
12
|
+
}
|
|
13
|
+
function withMs(key, value) {
|
|
14
|
+
return value === undefined ? {} : { [key]: value };
|
|
15
|
+
}
|
|
16
|
+
export function computeBootSpans(marks) {
|
|
17
|
+
const soft = firstAt(marks, BootMark.softIdentityAdopted);
|
|
18
|
+
const authoritative = firstAt(marks, BootMark.viewerAuthoritative);
|
|
19
|
+
const queued = firstAt(marks, BootMark.whoamiQueued);
|
|
20
|
+
const dispatched = firstAt(marks, BootMark.whoamiDispatched);
|
|
21
|
+
const responded = firstAt(marks, BootMark.whoamiResponded);
|
|
22
|
+
const pullIssued = firstAt(marks, BootMark.firstAuthedPullIssued);
|
|
23
|
+
const settle = firstAt(marks, BootMark.syncSettled);
|
|
24
|
+
const firstRender = firstAt(marks, BootMark.firstLocalRender);
|
|
25
|
+
const anonVerdict = firstAt(marks, BootMark.authAnonymousSignedOut)
|
|
26
|
+
? "signed-out"
|
|
27
|
+
: firstAt(marks, BootMark.authAnonymousFresh)
|
|
28
|
+
? "fresh"
|
|
29
|
+
: firstAt(marks, BootMark.authAnonymousLapsed)
|
|
30
|
+
? "lapsed"
|
|
31
|
+
: undefined;
|
|
32
|
+
return {
|
|
33
|
+
...withMs("softMs", soft),
|
|
34
|
+
...withMs("authoritativeMs", authoritative),
|
|
35
|
+
...withMs("pullIssuedMs", pullIssued),
|
|
36
|
+
...withMs("settleMs", settle),
|
|
37
|
+
...withMs("firstRenderMs", firstRender),
|
|
38
|
+
...withMs("hostAckMs", span(dispatched, queued)),
|
|
39
|
+
...withMs("whoamiMs", span(responded, dispatched)),
|
|
40
|
+
...withMs("edgeToPullMs", span(pullIssued, authoritative)),
|
|
41
|
+
...withMs("pullToSettleMs", span(settle, pullIssued)),
|
|
42
|
+
...withMs("paintToSettleMs", span(settle, firstRender)),
|
|
43
|
+
softPaintFired: soft !== undefined,
|
|
44
|
+
...(anonVerdict ? { anonVerdict } : {}),
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
let reported = false;
|
|
48
|
+
export function __resetBootSpanReportForTests() {
|
|
49
|
+
reported = false;
|
|
50
|
+
}
|
|
51
|
+
export function reportBootSpans() {
|
|
52
|
+
try {
|
|
53
|
+
if (reported)
|
|
54
|
+
return;
|
|
55
|
+
reported = true;
|
|
56
|
+
vibeLog("info", BOOT_SPAN_TAG, computeBootSpans(readBootMarks()));
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=boot-span-report.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boot-span-report.js","sourceRoot":"","sources":["../jsr/boot-span-report.ts"],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export { registerUrlStateBridge, stripHostInjectedParams, urlStateChanged, HOST_
|
|
|
10
10
|
export { rewriteBareSpecifiers, rewriteRelativeSpecifiers, rewriteRelativeSpecifiersWithBlobs, resolveCompanionPath, collectRelativeImports, orderCompanionGraph, getActiveImportMap, entryDirBase, getHotSwapBaseUrl, HOT_SWAP_ENTRY_PATH, } from "./bare-specifier-rewrite.js";
|
|
11
11
|
export * from "./VibeContext.js";
|
|
12
12
|
export { generateTailwindRemapCss, TAILWIND_REMAP_STYLE_ID } from "./tailwindRemap.js";
|
|
13
|
+
export { vibe, vibeLog, flushVibeLog, registerVibeLog, unregisterVibeLog, renderVibeLogArgs, splitVibeLogArgs, deviceHashFor, __vibeLogBufferForTests, __vibeLogIdentityForTests, type VibeLogLevel, type VibeLogRegistration, type VibeLogHooks, type BufferedVibeLogEvent, } from "./vibe-log.js";
|
|
13
14
|
export * from "./call-ai.js";
|
|
14
15
|
export * from "./img-gen.js";
|
|
15
16
|
export { resizeImageToBase64 } from "./resize-image.js";
|
package/index.js
CHANGED
|
@@ -9,6 +9,7 @@ export { registerUrlStateBridge, stripHostInjectedParams, urlStateChanged, HOST_
|
|
|
9
9
|
export { rewriteBareSpecifiers, rewriteRelativeSpecifiers, rewriteRelativeSpecifiersWithBlobs, resolveCompanionPath, collectRelativeImports, orderCompanionGraph, getActiveImportMap, entryDirBase, getHotSwapBaseUrl, HOT_SWAP_ENTRY_PATH, } from "./bare-specifier-rewrite.js";
|
|
10
10
|
export * from "./VibeContext.js";
|
|
11
11
|
export { generateTailwindRemapCss, TAILWIND_REMAP_STYLE_ID } from "./tailwindRemap.js";
|
|
12
|
+
export { vibe, vibeLog, flushVibeLog, registerVibeLog, unregisterVibeLog, renderVibeLogArgs, splitVibeLogArgs, deviceHashFor, __vibeLogBufferForTests, __vibeLogIdentityForTests, } from "./vibe-log.js";
|
|
12
13
|
export * from "./call-ai.js";
|
|
13
14
|
export * from "./img-gen.js";
|
|
14
15
|
export { resizeImageToBase64 } from "./resize-image.js";
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AAKjC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,cAAc,GAIf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,qCAAqC,EACrC,uCAAuC,GAIxC,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,4BAA4B,GAE7B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,EACf,2BAA2B,EAC3B,uBAAuB,GAGxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,kCAAkC,EAClC,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibes.diy/vibe-runtime",
|
|
3
|
-
"version": "12.1.
|
|
3
|
+
"version": "12.1.3",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@adviser/cement": "~0.5.34",
|
|
29
|
-
"@vibes.diy/base": "12.1.
|
|
30
|
-
"@vibes.diy/vibe-types": "12.1.
|
|
29
|
+
"@vibes.diy/base": "12.1.3",
|
|
30
|
+
"@vibes.diy/vibe-types": "12.1.3",
|
|
31
31
|
"arktype": "~2.2.3",
|
|
32
32
|
"charwise": "~3.0.1",
|
|
33
33
|
"es-module-lexer": "~2.3.1",
|