@vibes.diy/vibe-runtime 14.3.5 → 14.3.7

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.
@@ -5,6 +5,7 @@ export { BACKEND_NOTIFY_OP_URL, handleBackendNotifyOp } from "./backend-worker-l
5
5
  export { BACKEND_LOG_OP_URL, handleBackendLogOp } from "./backend-worker-loader-executor.js";
6
6
  export { BACKEND_GITHUB_OP_URL, handleBackendGithubOp } from "./backend-worker-loader-executor.js";
7
7
  export { BACKEND_CONNECTIONS_OP_URL, handleBackendConnectionsOp } from "./backend-worker-loader-executor.js";
8
+ export { HANDLER_THREW_HEADER } from "./backend-worker-loader-executor.js";
8
9
  export type BackendHandler = "fetch" | "scheduled" | "onChange";
9
10
  export interface BackendTrigger {
10
11
  readonly userHandle?: string | null;
@@ -19,6 +20,7 @@ export type BackendDbOp = {
19
20
  readonly doc: unknown;
20
21
  readonly docId: string | null;
21
22
  readonly ifHeadSeq?: number | null;
23
+ readonly ifRev?: number | null;
22
24
  } | {
23
25
  readonly kind: "delete";
24
26
  readonly db: string;
@@ -54,6 +56,7 @@ export type BackendDbResult = {
54
56
  readonly ok: false;
55
57
  readonly error: string;
56
58
  readonly code?: string;
59
+ readonly currentRev?: number | null;
57
60
  };
58
61
  export type BackendDbCallback = (op: BackendDbOp) => Promise<BackendDbResult>;
59
62
  export interface BackendAiOp {
@@ -5,6 +5,7 @@ export { BACKEND_NOTIFY_OP_URL, handleBackendNotifyOp } from "./backend-worker-l
5
5
  export { BACKEND_LOG_OP_URL, handleBackendLogOp } from "./backend-worker-loader-executor.js";
6
6
  export { BACKEND_GITHUB_OP_URL, handleBackendGithubOp } from "./backend-worker-loader-executor.js";
7
7
  export { BACKEND_CONNECTIONS_OP_URL, handleBackendConnectionsOp } from "./backend-worker-loader-executor.js";
8
+ export { HANDLER_THREW_HEADER } from "./backend-worker-loader-executor.js";
8
9
  export function parseBackendJsMode(raw) {
9
10
  switch ((raw ?? "").trim().toLowerCase()) {
10
11
  case "loader":
@@ -1 +1 @@
1
- {"version":3,"file":"backend-executor.js","sourceRoot":"","sources":["../jsr/backend-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;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;AAI7F,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAInG,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AA8jB7G,MAAM,UAAU,kBAAkB,CAAC,GAAuB;IACxD,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QACzC,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAgCD,MAAM,UAAU,qBAAqB,CAAC,IAAmB,EAAE,IAAI,GAAiC,EAAE;IAChG,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,KAAK;YACR,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ;YACX,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;YACrF,CAAC;YACD,OAAO,IAAI,2BAA2B,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAChH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"backend-executor.js","sourceRoot":"","sources":["../jsr/backend-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAMlF,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;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;AAI7F,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAInG,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAE7G,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAmlB3E,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"}
@@ -28,6 +28,8 @@ export declare function buildBackendWorkerCode(input: {
28
28
  };
29
29
  depsVersion?: string;
30
30
  }): WorkerCode;
31
+ export declare const HANDLER_THREW_HEADER = "x-vibe-handler-threw";
32
+ export declare function normalizeHandlerThrewMarker(res: Response, throwMarker: string): Response;
31
33
  export declare class WorkerLoaderBackendExecutor implements BackendExecutor {
32
34
  private readonly loader;
33
35
  private readonly opts;
@@ -6,7 +6,7 @@ const MAIN_MODULE = "main.js";
6
6
  const BACKEND_MODULE = "backend.js";
7
7
  const LOG_BODY_MAX_CHARS = 4096;
8
8
  const COMPATIBILITY_DATE = "2025-05-01";
9
- const BINDING_SCHEMA_VERSION = "v12";
9
+ const BINDING_SCHEMA_VERSION = "v13";
10
10
  export const BACKEND_QUERY_RESULT_SHIM = [
11
11
  `function toQueryResult(docs, next) {`,
12
12
  ` const out = Array.isArray(docs) ? docs : [];`,
@@ -233,7 +233,12 @@ export function buildBackendWorkerCode(input) {
233
233
  ` if (!dbNonce) throw new Error("ctx.db is not available (no host db binding wired)");`,
234
234
  ` const r = await fetch(${JSON.stringify(BACKEND_DB_OP_URL)}, { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify({ nonce: dbNonce, op: op }) });`,
235
235
  ` const out = await r.json();`,
236
- ` if (!out || out.ok !== true) throw new Error((out && out.error) || "ctx.db op failed");`,
236
+ ` if (!out || out.ok !== true) {`,
237
+ ` const err = new Error((out && out.error) || "ctx.db op failed");`,
238
+ ` if (out && typeof out.code === "string") err.code = out.code;`,
239
+ ` if (out && (typeof out.currentRev === "number" || out.currentRev === null)) err.currentRev = out.currentRev;`,
240
+ ` throw err;`,
241
+ ` }`,
237
242
  ` return out;`,
238
243
  ` }`,
239
244
  ` return {`,
@@ -241,7 +246,13 @@ export function buildBackendWorkerCode(input) {
241
246
  ` const db = (options && options.db) || defaultDb;`,
242
247
  ` if (!db) throw new Error("ctx.db.put requires a db name — pass { db } (no default db for this trigger)");`,
243
248
  ` const docId = (options && options.id) || (doc && doc._id) || null;`,
244
- ` return rpc({ kind: "put", db: db, doc: doc, docId: docId }).then((out) => out.id);`,
249
+ ` const op = { kind: "put", db: db, doc: doc, docId: docId };`,
250
+ ` if (options && options.ifRev !== undefined) {`,
251
+ ` const r = options.ifRev;`,
252
+ ` if (!(r === null || (Number.isSafeInteger(r) && r > 0))) throw new TypeError("ctx.db.put ifRev must be a revision (the doc's _rev from get/query/event) or null");`,
253
+ ` op.ifRev = r;`,
254
+ ` }`,
255
+ ` return rpc(op).then((out) => out.id);`,
245
256
  ` },`,
246
257
  ` delete(id, options) {`,
247
258
  ` const db = (options && options.db) || defaultDb;`,
@@ -287,7 +298,7 @@ export function buildBackendWorkerCode(input) {
287
298
  BACKEND_CONNECTIONS_SHIM,
288
299
  `export default {`,
289
300
  ` async fetch(request, env) {`,
290
- ` const { handler, trigger, dbNonce, aiNonce, notifyNonce, logNonce, githubNonce, connectionsNonce, secrets } = await request.json();`,
301
+ ` const { handler, trigger, dbNonce, aiNonce, notifyNonce, logNonce, githubNonce, connectionsNonce, throwMarker, secrets } = await request.json();`,
291
302
  ` const ALLOWED_HANDLERS = { fetch: true, scheduled: true, onChange: true };`,
292
303
  ` if (!Object.prototype.hasOwnProperty.call(ALLOWED_HANDLERS, handler)) {`,
293
304
  ` return new Response("invalid backend handler: " + handler, { status: 400 });`,
@@ -316,14 +327,19 @@ export function buildBackendWorkerCode(input) {
316
327
  ` const userReq = new Request(p.url || "https://vibe.internal/", {`,
317
328
  ` method: p.method, headers: p.headers, body: p.body,`,
318
329
  ` });`,
319
- ` return await fn(userReq, ctx);`,
330
+ ` try {`,
331
+ ` return await fn(userReq, ctx);`,
332
+ ` } catch (e) {`,
333
+ ` const fm = e && typeof e.message === "string" ? (typeof e.name === "string" ? e.name : "Error") + ": " + e.message : String(e);`,
334
+ ` return new Response(fm.slice(0, 512), { status: 500, headers: { "x-vibe-handler-threw": String(throwMarker) } });`,
335
+ ` }`,
320
336
  ` }`,
321
337
  ` try {`,
322
338
  ` await fn((trigger && trigger.payload) || {}, ctx);`,
323
339
  ` return new Response(null, { status: 204 });`,
324
340
  ` } catch (e) {`,
325
341
  ` const m = e && typeof e.message === "string" ? (typeof e.name === "string" ? e.name : "Error") + ": " + e.message : String(e);`,
326
- ` return new Response(m.slice(0, 512), { status: 500, headers: { "x-vibe-handler-threw": "1" } });`,
342
+ ` return new Response(m.slice(0, 512), { status: 500, headers: { "x-vibe-handler-threw": String(throwMarker) } });`,
327
343
  ` }`,
328
344
  ` } finally {`,
329
345
  ` try { logLane.reportOverflow(); await Promise.allSettled(logPending.splice(0)); } catch (e) { /* the drain never throws either */ }`,
@@ -342,6 +358,18 @@ export function buildBackendWorkerCode(input) {
342
358
  globalOutbound: null,
343
359
  };
344
360
  }
361
+ export const HANDLER_THREW_HEADER = "x-vibe-handler-threw";
362
+ export function normalizeHandlerThrewMarker(res, throwMarker) {
363
+ const value = res.headers.get(HANDLER_THREW_HEADER);
364
+ if (value === null)
365
+ return res;
366
+ const out = new Response(res.body, res);
367
+ if (value === throwMarker)
368
+ out.headers.set(HANDLER_THREW_HEADER, "1");
369
+ else
370
+ out.headers.delete(HANDLER_THREW_HEADER);
371
+ return out;
372
+ }
345
373
  async function hashBackendWorkerCode(code) {
346
374
  const payload = `${code.compatibilityDate}\n${code.mainModule}\n${JSON.stringify(code.modules)}`;
347
375
  const digest = await crypto.subtle.digest("SHA-256", TxtEnDecoderSingleton().encode(payload));
@@ -384,6 +412,7 @@ export class WorkerLoaderBackendExecutor {
384
412
  const connectionsNonce = input.connections ? crypto.randomUUID() : undefined;
385
413
  if (connectionsNonce && input.connections)
386
414
  connectionsCallbackRegistry.set(connectionsNonce, input.connections);
415
+ const throwMarker = crypto.randomUUID();
387
416
  const depModules = Object.fromEntries(Object.entries(deps.modules).map(([k, js]) => [k, { js }]));
388
417
  const wired = {
389
418
  ...code,
@@ -404,10 +433,11 @@ export class WorkerLoaderBackendExecutor {
404
433
  logNonce,
405
434
  githubNonce,
406
435
  connectionsNonce,
436
+ throwMarker,
407
437
  secrets: input.secrets ?? {},
408
438
  }),
409
439
  });
410
- return await stub.getEntrypoint().fetch(request);
440
+ return normalizeHandlerThrewMarker(await stub.getEntrypoint().fetch(request), throwMarker);
411
441
  }
412
442
  finally {
413
443
  if (nonce)
@@ -1 +1 @@
1
- {"version":3,"file":"backend-worker-loader-executor.js","sourceRoot":"","sources":["../jsr/backend-worker-loader-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backend-worker-loader-executor.js","sourceRoot":"","sources":["../jsr/backend-worker-loader-executor.ts"],"names":[],"mappings":"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"}
package/call-ai.d.ts CHANGED
@@ -8,6 +8,11 @@ export declare class CallAIRefusalError extends Error {
8
8
  readonly explanation?: string;
9
9
  constructor(message: string, explanation?: string);
10
10
  }
11
+ export declare class CallAIImageTooLargeError extends Error {
12
+ readonly reason: "image-too-large";
13
+ constructor(message: string);
14
+ }
15
+ export declare function prepareCallAIPrompt(prompt: CallAIPrompt, downscale?: (dataUrl: string) => Promise<string>): Promise<CallAIPrompt>;
11
16
  export declare let callAI: (prompt: CallAIPrompt, opts: CallAIOpts) => Promise<string>;
12
17
  export declare let callAi: (prompt: CallAIPrompt, opts: CallAIOpts) => Promise<string>;
13
18
  export declare function registerCallAI(vibeApi: VibeSandboxApi): void;
package/call-ai.js CHANGED
@@ -1,4 +1,5 @@
1
- import { isResErrorCallAI } from "@vibes.diy/vibe-types";
1
+ import { callAIImageTooLargeMessage, callAIOversizeImageChars, isResErrorCallAI, } from "@vibes.diy/vibe-types";
2
+ import { downscaleImageDataUrl } from "./resize-image.js";
2
3
  export class CallAIRefusalError extends Error {
3
4
  reason = "refusal";
4
5
  explanation;
@@ -8,6 +9,22 @@ export class CallAIRefusalError extends Error {
8
9
  this.explanation = explanation;
9
10
  }
10
11
  }
12
+ export class CallAIImageTooLargeError extends Error {
13
+ reason = "image-too-large";
14
+ constructor(message) {
15
+ super(message);
16
+ this.name = "CallAIImageTooLargeError";
17
+ }
18
+ }
19
+ export async function prepareCallAIPrompt(prompt, downscale = (u) => downscaleImageDataUrl(u)) {
20
+ if (typeof prompt === "string")
21
+ return prompt;
22
+ const parts = await Promise.all(prompt.map(async (part) => part.type === "image_url" ? { ...part, image_url: { ...part.image_url, url: await downscale(part.image_url.url) } } : part));
23
+ const oversize = callAIOversizeImageChars(parts);
24
+ if (oversize !== undefined)
25
+ throw new CallAIImageTooLargeError(callAIImageTooLargeMessage(oversize));
26
+ return parts;
27
+ }
11
28
  export let callAI;
12
29
  export let callAi;
13
30
  export function registerCallAI(vibeApi) {
@@ -15,7 +32,7 @@ export function registerCallAI(vibeApi) {
15
32
  if (!opts?.schema) {
16
33
  return Promise.reject(new Error("Vibe-CallAI only supports Schema requests"));
17
34
  }
18
- const rCallAI = await vibeApi.callAI(prompt, opts);
35
+ const rCallAI = await vibeApi.callAI(await prepareCallAIPrompt(prompt), opts);
19
36
  if (rCallAI.isErr()) {
20
37
  throw rCallAI.Err();
21
38
  }
@@ -24,6 +41,8 @@ export function registerCallAI(vibeApi) {
24
41
  if (callAIRes.reason === "refusal") {
25
42
  throw new CallAIRefusalError(callAIRes.message, callAIRes.explanation);
26
43
  }
44
+ if (callAIRes.reason === "image-too-large")
45
+ throw new CallAIImageTooLargeError(callAIRes.message);
27
46
  throw new Error(callAIRes.message);
28
47
  }
29
48
  return callAIRes.result;
package/call-ai.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"call-ai.js","sourceRoot":"","sources":["../jsr/call-ai.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAsC,MAAM,uBAAuB,CAAC;AAS7F,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAClC,MAAM,GAAG,SAAkB,CAAC;IAC5B,WAAW,CAAU;IAC9B,YAAY,OAAe,EAAE,WAAoB;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;CACF;AAID,MAAM,CAAC,IAAI,MAAmE,CAAC;AAC/E,MAAM,CAAC,IAAI,MAAmE,CAAC;AAE/E,MAAM,UAAU,cAAc,CAAC,OAAuB;IACpD,MAAM,GAAG,MAAM,GAAG,KAAK,EAAE,MAAoB,EAAE,IAAgB,EAAmB,EAAE;QAClF,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YAClB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnD,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;YACpB,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC;QACtB,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;QAC/B,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACnC,MAAM,IAAI,kBAAkB,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;YACzE,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,SAAS,CAAC,MAAM,CAAC;IAC1B,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"call-ai.js","sourceRoot":"","sources":["../jsr/call-ai.ts"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -15,7 +15,7 @@ export { SHADCN_THEME_INLINE_CSS, SHADCN_THEME_COLOR_NAMES } from "./shadcn-them
15
15
  export { vibe, vibeLog, flushVibeLog, registerVibeLog, unregisterVibeLog, renderVibeLogArgs, splitVibeLogArgs, deviceHashFor, __vibeLogBufferForTests, __vibeLogIdentityForTests, type VibeLogLevel, type VibeLogRegistration, type VibeLogHooks, type BufferedVibeLogEvent, } from "./vibe-log.js";
16
16
  export * from "./call-ai.js";
17
17
  export * from "./img-gen.js";
18
- export { resizeImageToBase64, IMG_GEN_SOURCE_UNUSABLE } from "./resize-image.js";
18
+ export { resizeImageToBase64, IMG_GEN_SOURCE_UNUSABLE, downscaleImageDataUrl, CALLAI_IMAGE_MAX_EDGE, CALLAI_IMAGE_QUALITY, } from "./resize-image.js";
19
19
  export { decorateFiles, type Fetcher, type PublicFileMeta } from "./firefly-files-read.js";
20
20
  export { useFireproof, fireproof, listDbNames, registerFirefly, INTERNAL_MEDIA_DB_ACCESS, type DatabaseAccess, } from "./use-fireproof-local.js";
21
21
  export { useViewer, ViewerTag, type UseViewerResult } from "./use-viewer.js";
package/index.js CHANGED
@@ -14,7 +14,7 @@ export { SHADCN_THEME_INLINE_CSS, SHADCN_THEME_COLOR_NAMES } from "./shadcn-them
14
14
  export { vibe, vibeLog, flushVibeLog, registerVibeLog, unregisterVibeLog, renderVibeLogArgs, splitVibeLogArgs, deviceHashFor, __vibeLogBufferForTests, __vibeLogIdentityForTests, } from "./vibe-log.js";
15
15
  export * from "./call-ai.js";
16
16
  export * from "./img-gen.js";
17
- export { resizeImageToBase64, IMG_GEN_SOURCE_UNUSABLE } from "./resize-image.js";
17
+ export { resizeImageToBase64, IMG_GEN_SOURCE_UNUSABLE, downscaleImageDataUrl, CALLAI_IMAGE_MAX_EDGE, CALLAI_IMAGE_QUALITY, } from "./resize-image.js";
18
18
  export { decorateFiles } from "./firefly-files-read.js";
19
19
  export { useFireproof, fireproof, listDbNames, registerFirefly, INTERNAL_MEDIA_DB_ACCESS, } from "./use-fireproof-local.js";
20
20
  export { useViewer, ViewerTag } from "./use-viewer.js";
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"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"}
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": "14.3.5",
3
+ "version": "14.3.7",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -28,8 +28,8 @@
28
28
  },
29
29
  "dependencies": {
30
30
  "@adviser/cement": "~0.5.34",
31
- "@vibes.diy/base": "14.3.5",
32
- "@vibes.diy/vibe-types": "14.3.5",
31
+ "@vibes.diy/base": "14.3.7",
32
+ "@vibes.diy/vibe-types": "14.3.7",
33
33
  "arktype": "~2.2.3",
34
34
  "charwise": "~3.0.1",
35
35
  "es-module-lexer": "~2.3.2",
package/resize-image.d.ts CHANGED
@@ -4,4 +4,12 @@ type BlobLike = Blob | {
4
4
  file: () => Promise<Blob>;
5
5
  };
6
6
  export declare function resizeImageToBase64(input: BlobLike, maxDim?: number, quality?: number): Promise<Result<string>>;
7
+ export declare const CALLAI_IMAGE_MAX_EDGE = 1568;
8
+ export declare const CALLAI_IMAGE_QUALITY = 0.85;
9
+ export interface DownscaleOpts {
10
+ readonly maxDim?: number;
11
+ readonly quality?: number;
12
+ readonly keepUnderChars?: number;
13
+ }
14
+ export declare function downscaleImageDataUrl(dataUrl: string, opts?: DownscaleOpts): Promise<string>;
7
15
  export {};
package/resize-image.js CHANGED
@@ -1,4 +1,4 @@
1
- import { Result } from "@adviser/cement";
1
+ import { Result, exception2Result } from "@adviser/cement";
2
2
  export const IMG_GEN_SOURCE_UNUSABLE = "imggen-source-unusable";
3
3
  async function resolveBlob(input) {
4
4
  if (input instanceof Blob)
@@ -12,24 +12,79 @@ export async function resizeImageToBase64(input, maxDim = 1024, quality = 0.85)
12
12
  const blob = await resolveBlob(input);
13
13
  if (blob === undefined)
14
14
  return Result.Err(new Error(IMG_GEN_SOURCE_UNUSABLE));
15
- const bitmap = await createImageBitmap(blob);
15
+ return Result.Ok(await blobToDataUrl(await drawJpeg(await createImageBitmap(blob), maxDim, quality)));
16
+ }
17
+ async function drawJpeg(bitmap, maxDim, quality, background) {
16
18
  const { width, height } = bitmap;
17
19
  const scale = Math.min(1, maxDim / Math.max(width, height));
18
20
  const w = Math.round(width * scale);
19
21
  const h = Math.round(height * scale);
20
- const canvas = new OffscreenCanvas(w, h);
22
+ const offscreen = typeof OffscreenCanvas === "function";
23
+ const canvas = offscreen ? new OffscreenCanvas(w, h) : Object.assign(document.createElement("canvas"), { width: w, height: h });
21
24
  const ctx = canvas.getContext("2d");
22
25
  if (!ctx)
23
- throw new Error("Failed to get 2d context from OffscreenCanvas");
26
+ throw new Error("Failed to get 2d context from canvas");
27
+ if (background !== undefined) {
28
+ ctx.fillStyle = background;
29
+ ctx.fillRect(0, 0, w, h);
30
+ }
24
31
  ctx.drawImage(bitmap, 0, 0, w, h);
25
32
  bitmap.close();
26
- const out = await canvas.convertToBlob({ type: "image/jpeg", quality });
27
- const dataUrl = await new Promise((resolve, reject) => {
33
+ if (canvas instanceof HTMLCanvasElement) {
34
+ return new Promise((resolve, reject) => canvas.toBlob((b) => (b ? resolve(b) : reject(new Error("canvas.toBlob produced no image"))), "image/jpeg", quality));
35
+ }
36
+ return canvas.convertToBlob({ type: "image/jpeg", quality });
37
+ }
38
+ function blobToDataUrl(blob) {
39
+ return new Promise((resolve, reject) => {
28
40
  const reader = new FileReader();
29
41
  reader.onload = () => resolve(reader.result);
30
42
  reader.onerror = reject;
31
- reader.readAsDataURL(out);
43
+ reader.readAsDataURL(blob);
32
44
  });
33
- return Result.Ok(dataUrl);
45
+ }
46
+ function dataUrlToBlob(dataUrl) {
47
+ const comma = dataUrl.indexOf(",");
48
+ if (comma < 0)
49
+ throw new Error("malformed data URL");
50
+ const header = dataUrl.slice(5, comma);
51
+ const mime = header.split(";")[0];
52
+ const body = dataUrl.slice(comma + 1);
53
+ if (!/;base64$/i.test(header))
54
+ return new Blob([decodeURIComponent(body)], { type: mime });
55
+ const bin = atob(body);
56
+ const bytes = new Uint8Array(bin.length);
57
+ for (let i = 0; i < bin.length; i++)
58
+ bytes[i] = bin.charCodeAt(i);
59
+ return new Blob([bytes], { type: mime });
60
+ }
61
+ export const CALLAI_IMAGE_MAX_EDGE = 1568;
62
+ export const CALLAI_IMAGE_QUALITY = 0.85;
63
+ export async function downscaleImageDataUrl(dataUrl, opts = {}) {
64
+ const maxDim = opts.maxDim ?? CALLAI_IMAGE_MAX_EDGE;
65
+ const quality = opts.quality ?? CALLAI_IMAGE_QUALITY;
66
+ const keepUnderChars = opts.keepUnderChars ?? 1024 * 1024;
67
+ if (!/^data:image\//i.test(dataUrl))
68
+ return dataUrl;
69
+ const rBlob = exception2Result(() => dataUrlToBlob(dataUrl));
70
+ if (rBlob.isErr())
71
+ return dataUrl;
72
+ const rBitmap = await exception2Result(() => createImageBitmap(rBlob.Ok()));
73
+ if (rBitmap.isErr()) {
74
+ console.warn("[vibe.callAI] could not decode the image to shrink it; sending it as is:", rBitmap.Err().message);
75
+ return dataUrl;
76
+ }
77
+ const bitmap = rBitmap.Ok();
78
+ if (Math.max(bitmap.width, bitmap.height) <= maxDim && dataUrl.length <= keepUnderChars) {
79
+ bitmap.close();
80
+ return dataUrl;
81
+ }
82
+ const rShrunk = await exception2Result(async () => blobToDataUrl(await drawJpeg(bitmap, maxDim, quality, "#fff")));
83
+ if (rShrunk.isErr()) {
84
+ console.warn("[vibe.callAI] could not shrink the image; sending it as is:", rShrunk.Err().message);
85
+ return dataUrl;
86
+ }
87
+ const shrunk = rShrunk.Ok();
88
+ return shrunk.length < dataUrl.length ? shrunk : dataUrl;
34
89
  }
35
90
  //# sourceMappingURL=resize-image.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resize-image.js","sourceRoot":"","sources":["../jsr/resize-image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAQzC,MAAM,CAAC,MAAM,uBAAuB,GAAG,wBAAwB,CAAC;AAWhE,KAAK,UAAU,WAAW,CAAC,KAAe;IACxC,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,QAAQ,GAAI,KAA+C,EAAE,IAAI,CAAC;IACxE,IAAI,OAAO,QAAQ,KAAK,UAAU;QAAE,OAAO,MAAO,KAAuC,CAAC,IAAI,EAAE,CAAC;IACjG,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAAe,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,GAAG,IAAI;IACtF,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAE9E,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5D,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IACpC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;IAErC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAC3E,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,MAAM,CAAC,KAAK,EAAE,CAAC;IAEf,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC5D,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAC;QACvD,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;QACxB,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"resize-image.js","sourceRoot":"","sources":["../jsr/resize-image.ts"],"names":[],"mappings":"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"}