@vibes.diy/api-svc 2.5.19 → 2.6.0

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.
@@ -0,0 +1,92 @@
1
+ import { sql } from "drizzle-orm";
2
+ import { isRetryableConflict, SeqConflictError } from "./seq-allocation.js";
3
+ const TABLE = sql.raw(`"Apps"`);
4
+ export function appReleaseLockKey(userId, appSlug) {
5
+ return JSON.stringify(["app-release-seq", userId, appSlug]);
6
+ }
7
+ function jsonParam(flavour, value) {
8
+ return flavour === "pg" ? sql `${JSON.stringify(value)}::jsonb` : sql `${JSON.stringify(value)}`;
9
+ }
10
+ function existsByFsId(row) {
11
+ return sql `SELECT 1 FROM ${TABLE}
12
+ WHERE "appSlug"=${row.appSlug} AND "userId"=${row.userId}
13
+ AND "userSlug"=${row.ownerHandle} AND "fsId"=${row.fsId}`;
14
+ }
15
+ export function buildInsertIfAbsent(p) {
16
+ const { row, flavour } = p;
17
+ return sql `
18
+ INSERT INTO ${TABLE} ("appSlug","userId","userSlug","releaseSeq","fsId","env","fileSystem","meta","mode","created")
19
+ SELECT ${row.appSlug}, ${row.userId}, ${row.ownerHandle},
20
+ COALESCE(MAX("releaseSeq"),0)+1,
21
+ ${row.fsId}, ${jsonParam(flavour, row.env)}, ${jsonParam(flavour, row.fileSystem)},
22
+ ${jsonParam(flavour, row.meta)}, ${row.mode}, ${row.created}
23
+ FROM ${TABLE}
24
+ WHERE "appSlug"=${row.appSlug} AND "userId"=${row.userId}
25
+ HAVING NOT EXISTS (${existsByFsId(row)})
26
+ RETURNING "releaseSeq"
27
+ `;
28
+ }
29
+ function buildSelectByFsId(row) {
30
+ return sql `SELECT "releaseSeq", "mode" FROM ${TABLE}
31
+ WHERE "appSlug"=${row.appSlug} AND "userId"=${row.userId}
32
+ AND "userSlug"=${row.ownerHandle} AND "fsId"=${row.fsId}
33
+ LIMIT 1`;
34
+ }
35
+ function buildUpgradeToProduction(row) {
36
+ return sql `UPDATE ${TABLE} SET "mode"='production'
37
+ WHERE "appSlug"=${row.appSlug} AND "userId"=${row.userId}
38
+ AND "userSlug"=${row.ownerHandle} AND "fsId"=${row.fsId} AND "mode"='dev'`;
39
+ }
40
+ function normalizeRows(result) {
41
+ const rows = result?.rows ?? result;
42
+ if (Array.isArray(rows))
43
+ return rows;
44
+ return rows ? [rows] : [];
45
+ }
46
+ function runReturning(db, flavour, stmt) {
47
+ if (flavour === "pg") {
48
+ return db.execute(stmt);
49
+ }
50
+ return db.run(stmt);
51
+ }
52
+ async function dedupOrInsert(exec, flavour, p) {
53
+ const inserted = normalizeRows(await runReturning(exec, flavour, buildInsertIfAbsent(p)));
54
+ if (inserted.length > 0 && inserted[0].releaseSeq != null) {
55
+ return Number(inserted[0].releaseSeq);
56
+ }
57
+ if (p.row.mode === "production") {
58
+ await runReturning(exec, flavour, buildUpgradeToProduction(p.row));
59
+ }
60
+ const existing = normalizeRows(await runReturning(exec, flavour, buildSelectByFsId(p.row)));
61
+ const seq = Number(existing[0]?.releaseSeq);
62
+ if (!Number.isFinite(seq)) {
63
+ throw new Error(`app dedup: fsId insert suppressed but no existing row found for ${p.row.appSlug}/${p.row.fsId}`);
64
+ }
65
+ return seq;
66
+ }
67
+ async function allocateSqlite(p) {
68
+ const attempts = p.maxAttempts ?? 5;
69
+ for (let i = 0; i < attempts; i++) {
70
+ try {
71
+ return await dedupOrInsert(p.db, p.flavour, p);
72
+ }
73
+ catch (err) {
74
+ if (!isRetryableConflict(err))
75
+ throw err;
76
+ await new Promise((r) => setTimeout(r, Math.floor(Math.random() * (8 << i))));
77
+ }
78
+ }
79
+ throw new SeqConflictError(0);
80
+ }
81
+ async function allocatePg(p) {
82
+ const key = appReleaseLockKey(p.row.userId, p.row.appSlug);
83
+ const db = p.db;
84
+ return db.transaction(async (tx) => {
85
+ await tx.execute(sql `SELECT pg_advisory_xact_lock(hashtextextended(${key}, 0))`);
86
+ return dedupOrInsert(tx, "pg", p);
87
+ });
88
+ }
89
+ export async function allocateAndInsertApp(p) {
90
+ return p.flavour === "pg" ? allocatePg(p) : allocateSqlite(p);
91
+ }
92
+ //# sourceMappingURL=app-seq-allocation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-seq-allocation.js","sourceRoot":"","sources":["../../jsr/public/app-seq-allocation.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Result, Option, EventoResult, exception2Result } from "@adviser/cement";
2
- import { ActiveEntry, parseArrayWarning, isActiveDbAcl, isActiveEnv, isActiveIcon, isActiveIconDescription, isActiveModelSettingApp, isActiveModelSettingChat, isActiveModelSettingImg, isActiveColorTheme, isActiveSkills, isActiveTheme, isReqEnsureAppSettingsColorTheme, isReqEnsureAppSettingsIconDescription, isReqEnsureAppSettingsIconRegen, isReqEnsureAppSettingsImg, isReqEnsureAppSettingsSkills, isReqEnsureAppSettingsTheme, isActiveTitle, isEnablePublicAccess, isEnableRequest, isReqEnsureAppSettings, isReqEnsureAppSettingsApp, isReqEnsureAppSettingsChat, isReqEnsureAppSettingsDbAcl, isReqEnsureAppSettingsDbAclRemove, isReqEnsureAppSettingsEnv, isReqEnsureAppSettingsTitle, isReqPublicAccess, isReqRequest, } from "@vibes.diy/api-types";
2
+ import { ActiveEntry, parseArrayWarning, isActiveDbAcl, isActiveEnv, isActiveIcon, isActiveIconDescription, isActiveModelSettingRuntime, isActiveModelSettingCodegen, isActiveModelSettingImg, isActiveColorTheme, isActiveSkills, isActiveTheme, isReqEnsureAppSettingsColorTheme, isReqEnsureAppSettingsIconDescription, isReqEnsureAppSettingsIconRegen, isReqEnsureAppSettingsImg, isReqEnsureAppSettingsSkills, isReqEnsureAppSettingsTheme, isActiveTitle, isEnablePublicAccess, isEnableRequest, isReqEnsureAppSettings, isReqEnsureAppSettingsRuntime, isReqEnsureAppSettingsCodegen, isReqEnsureAppSettingsDbAcl, isReqEnsureAppSettingsDbAclRemove, isReqEnsureAppSettingsEnv, isReqEnsureAppSettingsTitle, isReqPublicAccess, isReqRequest, } from "@vibes.diy/api-types";
3
3
  import { ensureLogger } from "@vibes.diy/identity";
4
4
  import { unwrapMsgBase } from "../unwrap-msg-base.js";
5
5
  import { optAuth } from "../check-auth.js";
@@ -45,11 +45,11 @@ export function buildEnsureEntryResult(entries) {
45
45
  }
46
46
  break;
47
47
  }
48
- case isActiveModelSettingChat(e):
49
- result.entry.settings.chat = e.param;
48
+ case isActiveModelSettingCodegen(e):
49
+ result.entry.settings.codegen = e.param;
50
50
  break;
51
- case isActiveModelSettingApp(e):
52
- result.entry.settings.app = e.param;
51
+ case isActiveModelSettingRuntime(e):
52
+ result.entry.settings.runtime = e.param;
53
53
  break;
54
54
  case isActiveModelSettingImg(e):
55
55
  result.entry.settings.img = e.param;
@@ -77,10 +77,10 @@ async function withModelDefaults(vctx, res) {
77
77
  return res;
78
78
  const defaults = raced.Ok();
79
79
  const s = res.settings.entry.settings;
80
- if (!s.chat)
81
- s.chat = defaults.chat;
82
- if (!s.app)
83
- s.app = defaults.app;
80
+ if (!s.codegen)
81
+ s.codegen = defaults.codegen;
82
+ if (!s.runtime)
83
+ s.runtime = defaults.runtime;
84
84
  if (!s.img)
85
85
  s.img = defaults.img;
86
86
  return res;
@@ -249,23 +249,23 @@ export async function ensureAppSettings(vctx, req, userId) {
249
249
  [res.settings, res.error] = await sqlUpsert(vctx, res, settings, isActiveColorTheme, () => ({ type: "active.colorTheme", colorTheme }));
250
250
  }
251
251
  break;
252
- case isReqEnsureAppSettingsApp(req):
253
- [res.settings, res.error] = await sqlUpsert(vctx, res, settings, isActiveModelSettingApp, (prev) => ({
252
+ case isReqEnsureAppSettingsRuntime(req):
253
+ [res.settings, res.error] = await sqlUpsert(vctx, res, settings, isActiveModelSettingRuntime, (prev) => ({
254
254
  type: "active.model",
255
- usage: "app",
255
+ usage: "runtime",
256
256
  param: {
257
257
  ...prev.param,
258
- ...req.app,
258
+ ...req.runtime,
259
259
  },
260
260
  }));
261
261
  break;
262
- case isReqEnsureAppSettingsChat(req):
263
- [res.settings, res.error] = await sqlUpsert(vctx, res, settings, isActiveModelSettingChat, (prev) => ({
262
+ case isReqEnsureAppSettingsCodegen(req):
263
+ [res.settings, res.error] = await sqlUpsert(vctx, res, settings, isActiveModelSettingCodegen, (prev) => ({
264
264
  type: "active.model",
265
- usage: "chat",
265
+ usage: "codegen",
266
266
  param: {
267
267
  ...prev.param,
268
- ...req.chat,
268
+ ...req.codegen,
269
269
  },
270
270
  }));
271
271
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-app-settings.js","sourceRoot":"","sources":["../../jsr/public/ensure-app-settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ensure-app-settings.js","sourceRoot":"","sources":["../../jsr/public/ensure-app-settings.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,9 @@ export declare const loadModels: (vctx: VibesApiSQLCtx) => Promise<Result<{
8
8
  name: string;
9
9
  description: string;
10
10
  featured?: boolean | undefined;
11
- preSelected?: ("app" | "chat" | "img" | "img-edit")[] | undefined;
12
- fallbackFor?: ("app" | "chat" | "img" | "img-edit")[] | undefined;
13
- supports?: ("app" | "chat" | "img" | "img-edit")[] | undefined;
11
+ preSelected?: ("app" | "chat" | "codegen" | "img" | "img-edit" | "runtime")[] | undefined;
12
+ fallbackFor?: ("app" | "chat" | "codegen" | "img" | "img-edit" | "runtime")[] | undefined;
13
+ supports?: ("app" | "chat" | "codegen" | "img" | "img-edit" | "runtime")[] | undefined;
14
14
  imageInput?: boolean | undefined;
15
15
  }[];
16
16
  }, Error>>;
@@ -1,5 +1,5 @@
1
1
  import { Result, Option, EventoResult } from "@adviser/cement";
2
- import { reqOpenChat, } from "@vibes.diy/api-types";
2
+ import { canonicalModelUsage, reqOpenChat, } from "@vibes.diy/api-types";
3
3
  import { type } from "arktype";
4
4
  import { unwrapMsgBase } from "../unwrap-msg-base.js";
5
5
  import { checkAuth as checkAuth } from "../check-auth.js";
@@ -22,11 +22,11 @@ export const openChat = {
22
22
  const req = ctx.validated.payload;
23
23
  const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
24
24
  let chatPromise;
25
- switch (req.mode) {
26
- case "chat":
25
+ switch (canonicalModelUsage(req.mode)) {
26
+ case "codegen":
27
27
  chatPromise = ensureChatId(vctx, req);
28
28
  break;
29
- case "app":
29
+ case "runtime":
30
30
  case "img":
31
31
  chatPromise = ensureApplicationChatId({ ctx: vctx, req });
32
32
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"open-chat.js","sourceRoot":"","sources":["../../jsr/public/open-chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"open-chat.js","sourceRoot":"","sources":["../../jsr/public/open-chat.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { Result, Option, EventoResult, exception2Result, chunkyAsync } from "@ad
2
2
  import { storeAndAuditAsset } from "./store-and-audit-asset.js";
3
3
  import { convertImageEvtToFileRef } from "./convert-image-evt.js";
4
4
  import { scopey } from "@adviser/scopey";
5
- import { isReqCreationPromptChatSection, isReqPromptApplicationChatSection, isPromptFSStyle, isReqPromptFSChatSection, isReqPromptFSUpdateChatSection, isReqPromptImageChatSection, isReqPromptLLMChatSection, reqPromptChatSection, isReqPromptFSSetChatSection, parseArray, vibeFile, isVibeCodeBlock, } from "@vibes.diy/api-types";
5
+ import { isReqCreationPromptChatSection, isReqPromptApplicationChatSection, isPromptFSStyle, isReqPromptFSChatSection, isReqPromptFSUpdateChatSection, isReqPromptImageChatSection, isReqPromptLLMChatSection, canonicalModelUsage, reqPromptChatSection, isReqPromptFSSetChatSection, parseArray, vibeFile, isVibeCodeBlock, } from "@vibes.diy/api-types";
6
6
  import { ensureLogger } from "@vibes.diy/identity";
7
7
  import { type } from "arktype";
8
8
  import { checkAuth } from "../check-auth.js";
@@ -186,7 +186,8 @@ function logLlmAttemptFailure(args) {
186
186
  .Msg("llm-request-attempt-failed");
187
187
  }
188
188
  async function findFallbackModel(vctx, mode, failedModel) {
189
- if (mode !== "chat" && mode !== "app") {
189
+ const canonicalMode = canonicalModelUsage(mode);
190
+ if (canonicalMode !== "codegen" && canonicalMode !== "runtime") {
190
191
  return Result.Err(`Mode ${mode} does not support LLM fallback`);
191
192
  }
192
193
  const rModels = await loadModels(vctx);
@@ -195,7 +196,7 @@ async function findFallbackModel(vctx, mode, failedModel) {
195
196
  return Result.Err(`Failed to load fallback model catalog: ${String(rModels.Err())}`);
196
197
  }
197
198
  for (const model of rModels.Ok().models) {
198
- if (model.id !== failedModel && Array.isArray(model.fallbackFor) && model.fallbackFor.includes(mode)) {
199
+ if (model.id !== failedModel && Array.isArray(model.fallbackFor) && model.fallbackFor.includes(canonicalMode)) {
199
200
  return Result.Ok(model.id);
200
201
  }
201
202
  }
@@ -430,7 +431,7 @@ export async function handlePromptContext({ vctx, req, resChat, promptId, blockS
430
431
  if (closed)
431
432
  code.push({ begin: closed.begin, lines: [...closed.lines], end: closed.end });
432
433
  }
433
- if (code.length > 0 && (resChat.mode === "chat" || isPromptFSStyle(resChat.mode))) {
434
+ if (code.length > 0 && (canonicalModelUsage(resChat.mode) === "codegen" || isPromptFSStyle(resChat.mode))) {
434
435
  let resolvedFileSystem;
435
436
  if (fileSystem) {
436
437
  resolvedFileSystem = fileSystem;
@@ -562,11 +563,11 @@ async function handlerLlmRequest({ scope, ctx, vctx, blockSeq, req, resChat, pro
562
563
  if (r.isErr()) {
563
564
  return Result.Err(r);
564
565
  }
565
- switch (req.mode) {
566
- case "chat":
567
- return Result.Ok(req.prompt.model ?? r.Ok().chat.model.id);
568
- case "app":
569
- return Result.Ok(req.prompt.model ?? r.Ok().app.model.id);
566
+ switch (canonicalModelUsage(req.mode)) {
567
+ case "codegen":
568
+ return Result.Ok(req.prompt.model ?? r.Ok().codegen.model.id);
569
+ case "runtime":
570
+ return Result.Ok(req.prompt.model ?? r.Ok().runtime.model.id);
570
571
  case "img":
571
572
  return Result.Ok(req.prompt.model ?? r.Ok().img.model.id);
572
573
  default:
@@ -583,7 +584,7 @@ async function handlerLlmRequest({ scope, ctx, vctx, blockSeq, req, resChat, pro
583
584
  if (preAssembled !== undefined) {
584
585
  withSystemPrompt = Result.Ok(preAssembled);
585
586
  }
586
- else if (req.mode === "app" || req.mode === "img") {
587
+ else if (canonicalModelUsage(req.mode) === "runtime" || req.mode === "img") {
587
588
  let messages = req.prompt.messages;
588
589
  if (req.mode === "img") {
589
590
  const imgReq = req;
@@ -626,7 +627,7 @@ async function handlerLlmRequest({ scope, ctx, vctx, blockSeq, req, resChat, pro
626
627
  model: withSystemPrompt.model,
627
628
  headers: vctx.params.llm.headers,
628
629
  stream: true,
629
- ...(isInitialTurn && req.mode === "chat" ? { verbosity: "low" } : {}),
630
+ ...(isInitialTurn && canonicalModelUsage(req.mode) === "codegen" ? { verbosity: "low" } : {}),
630
631
  ...(req.mode === "img" ? { modalities: ["text", "image"] } : {}),
631
632
  };
632
633
  await scope
@@ -642,7 +643,7 @@ async function handlerLlmRequest({ scope, ctx, vctx, blockSeq, req, resChat, pro
642
643
  streamId: promptId,
643
644
  chatId: req.chatId,
644
645
  seq: blockSeq,
645
- request: req.prompt,
646
+ request: { ...req.prompt, model: modelId },
646
647
  timestamp: new Date(),
647
648
  },
648
649
  });
@@ -1398,7 +1399,7 @@ export const promptChatSection = {
1398
1399
  const rDefaults = await getModelDefaults(vctx, { appSlug: resChat.appSlug, ownerHandle: resChat.ownerHandle });
1399
1400
  if (rDefaults.isErr())
1400
1401
  return Result.Err(rDefaults);
1401
- const modelId = orig.prompt.model ?? rDefaults.Ok().chat.model.id;
1402
+ const modelId = orig.prompt.model ?? rDefaults.Ok().codegen.model.id;
1402
1403
  let activeSettingsOverride;
1403
1404
  if (orig.dryRun === true && orig.dryRunPreAllocate === true) {
1404
1405
  const userText = firstUserText(orig.prompt.messages);