@vibes.diy/api-svc 2.5.18 → 2.5.26

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.
@@ -7,6 +7,8 @@ import { and, desc, eq } from "drizzle-orm/sql/expressions";
7
7
  import mime from "mime";
8
8
  import { transform } from "sucrase";
9
9
  import { parse } from "acorn";
10
+ import { allocateAndInsertApp } from "../public/app-seq-allocation.js";
11
+ import { formatDbErrorChain } from "../public/seq-allocation.js";
10
12
  async function checkMaxAppsPerUser(ctx, userId, appSlug) {
11
13
  const userApps = await ctx.sql.db
12
14
  .select()
@@ -241,21 +243,23 @@ export async function ensureApps(ctx, opts, binding, fs) {
241
243
  ensureLogger(ctx.sthis, "ensureApps").Warn().Any({ parseErrors: metaWarning }).Msg("skip");
242
244
  }
243
245
  const carriedMeta = priorMeta.filter(isCrossReleaseMetaItem);
244
- const sqlVal = {
245
- appSlug: binding.appSlug.appSlug,
246
- userId: binding.ownerHandle.userId,
247
- ownerHandle: binding.ownerHandle.ownerHandle,
248
- releaseSeq: maxSeq + 1,
249
- fsId,
250
- env: opts.env,
251
- fileSystem: rFileSystems.map((item) => item.Ok()),
252
- meta: carriedMeta,
253
- mode: opts.mode,
254
- created: new Date().toISOString(),
255
- };
256
- const rIns = await exception2Result(() => ctx.sql.db.insert(ctx.sql.tables.apps).values(sqlVal));
246
+ const rIns = await exception2Result(() => allocateAndInsertApp({
247
+ db: ctx.sql.db,
248
+ flavour: ctx.sql.flavour,
249
+ row: {
250
+ appSlug: binding.appSlug.appSlug,
251
+ userId: binding.ownerHandle.userId,
252
+ ownerHandle: binding.ownerHandle.ownerHandle,
253
+ fsId,
254
+ env: opts.env,
255
+ fileSystem: rFileSystems.map((item) => item.Ok()),
256
+ meta: carriedMeta,
257
+ mode: opts.mode,
258
+ created: new Date().toISOString(),
259
+ },
260
+ }));
257
261
  if (rIns.isErr()) {
258
- return Result.Err(rIns);
262
+ return Result.Err(`ensureApps: failed to allocate Apps release: ${formatDbErrorChain(rIns.Err())}`);
259
263
  }
260
264
  return Result.Ok({
261
265
  type: "vibes.diy.res-ensure-app-slug",
@@ -1 +1 @@
1
- {"version":3,"file":"write-apps.js","sourceRoot":"","sources":["../../jsr/intern/write-apps.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,eAAe,EAKf,8BAA8B,EAC9B,QAAQ,EACR,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAmE,KAAK,EAAE,MAAM,OAAO,CAAC;AAG/F,KAAK,UAAU,mBAAmB,CAChC,GAAmB,EACnB,MAAc,EACd,OAAe;IAEf,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE;SAC9B,MAAM,EAAE;SACR,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;SACzB,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SAC7C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;QACtD,OAAO,MAAM,CAAC,EAAE,CAAC;YACf,IAAI,EAAE,qBAAqB;YAC3B,KAAK,EAAE;gBACL,OAAO,EAAE,qDAAqD,GAAG,CAAC,MAAM,CAAC,mBAAmB,0DAA0D;gBACtJ,IAAI,EAAE,uBAAuB;aAC9B;SACqC,CAAC,CAAC;IAiB5C,CAAC;IACD,OAAO,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7H,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,GAA2B,EAAE,EAAwD;IAE9G,MAAM,OAAO,GAAG;QACd,EAAE;aACC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;aAC9E,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpF,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;KAC1C;SACE,IAAI,EAAE;SACN,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,SAAS,CAAC,IAAI,EAAE;QACrB,UAAU,EAAE,CAAC,KAAK,CAAC;QACnB,UAAU,EAAE,WAAW;KACxB,CAAC,CAAC,IAAI,CAAC;AACV,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAU;IAEtC,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI;SACrB,MAAM,CACL,CAAC,CAAC,EAA0E,EAAE,CAC5E,CAAC,CAAC,IAAI,KAAK,mBAAmB;QAC9B,CAAC,CAAC,CAAC,IAAI,KAAK,wBAAwB,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC;QAC1D,CAAC,CAAC,IAAI,KAAK,sBAAsB,CACpC;SACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC;SAC3B,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/B,CAAC;AAUD,MAAM,eAAe,GAAG,yCAAyC,CAAC;AAUlE,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAOD,KAAK,UAAU,sBAAsB,CACnC,GAAmB,EACnB,YAA2B,EAC3B,OAA8B;IAE9B,MAAM,GAAG,GAA6B,EAAE,CAAC;IAMzC,MAAM,OAAO,CAAC,GAAG,CACf,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAK9B,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,KAAK,WAAW,IAAI,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACtF,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAE,IAAI,CAAC,YAA8B,CAAC,OAAO,CAAC,CAAC,CAAC;YACtG,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;gBACnB,OAAO,CAAC,KAAK,CAAC,0CAA0C,IAAI,CAAC,YAAY,CAAC,QAAQ,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACvG,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;gBACjE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC;YAE1B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9D,IAAI,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;gBACrB,OAAO,CAAC,KAAK,CAAC,0DAA0D,IAAI,CAAC,YAAY,CAAC,QAAQ,KAAK,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACzH,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;gBACjE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;YACD,QAAQ,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC5B,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC;oBAAE,OAAO;gBACxC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACvB,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;YAChE,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;gBACnB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,mCAAmC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnF,OAAO;YACT,CAAC;YACD,GAAG,CAAC,IAAI,CACN,MAAM,CAAC,EAAE,CAAC;gBACR,GAAG,IAAI,CAAC,MAAM;gBACd,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE;aACtE,CAAC,CACH,CAAC;YAEF,GAAG,CAAC,IAAI,CACN,MAAM,CAAC,EAAE,CAAC;gBACR,QAAQ,EAAE,oBAAoB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;gBACnD,QAAQ,EAAE,iBAAiB;gBAC3B,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG;gBACxB,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM;gBAC5B,SAAS,EAAE;oBACT,IAAI,EAAE,aAAa;oBACnB,MAAM,EAAE,WAAW;oBACnB,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;iBACxC;gBACD,IAAI,EAAE,KAAK,CAAC,MAAM;aAEnB,CAAC,CACH,CAAC;QACJ,CAAC;aAAM,IAAI,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACjF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC,aAAa,CAAE,IAAI,CAAC,YAA8B,CAAC,OAAO,CAAC,CAAC,CAAC;YACrG,IAAI,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;gBACrB,OAAO,CAAC,KAAK,CAAC,8CAA8C,IAAI,CAAC,YAAY,CAAC,QAAQ,KAAK,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC7G,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBACjC,OAAO;YACT,CAAC;YACD,QAAQ,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC5B,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC;oBAAE,OAAO;gBACxC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACvB,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YAGN,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,GAAmB,EACnB,KAA+B,EAK/B,OAA8B;IAE9B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7B,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;KACpH,CAAC,CAAC;IACH,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;QACnB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO;QACL,MAAM,CAAC,EAAE,CAAC;YACR,QAAQ,EAAE,iCAAiC;YAC3C,QAAQ,EAAE,4BAA4B;YACtC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG;YACxB,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM;YAC5B,SAAS,EAAE;gBACT,IAAI,EAAE,YAAY;gBAClB,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;aACvE;YACD,IAAI,EAAE,OAAO,CAAC,MAAM;SACrB,CAAC;KACH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,GAAmB,EACnB,IAA8B,EAC9B,EAAwD;IAExD,MAAM,YAAY,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAChC,MAAM,GAAG,GAAmB;YAC1B,QAAQ,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ;YACjC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG;YACtB,QAAQ,EACN,CAAC,CAAC,YAAY,CAAC,QAAQ;gBACvB,IAAI,CAAC,OAAO,CACV,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAChD;gBACD,0BAA0B;YAC5B,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM;YAC1B,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI;SACrB,CAAC;QAEF,IAAI,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACpF,GAAG,CAAC,SAAS,GAAG;gBACd,IAAI,EAAE,WAAW;gBACjB,kBAAkB,EAAE,mBAAmB;aACxC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;YAC9B,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE5C,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAC7E,WAAW,CAAC,IAAI,CACd,GAAG,CAAC,MAAM,eAAe,CACvB,GAAG,EACH,IAAI,EAEJ,OAAO,CACR,CAAC,CACH,CAAC;IACF,OAAO,WAAW,CAAC;AACrB,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,GAAmB,EACnB,IAAoB,EACpB,OAAyB,EACzB,EAAwD;IAGxD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE;SAC3B,MAAM,EAAE;SACR,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;SACzB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EACxD,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,EACpE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAClC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAC3D,CACF;SACA,KAAK,CAAC,CAAC,CAAC;SACR,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,IAAI,KAAK,EAAE,CAAC;QAEV,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAEvD,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE;iBACb,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;iBAC3B,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;iBACxB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,EAC1D,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAClC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EACxD,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CACrE,CACF,CAAC;QACN,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACjE,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;YAC9C,OAAO,MAAM,CAAC,GAAG,CACf,wCAAwC,YAAY;iBACjD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;iBAC9B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;iBACjC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,EAAE,CAAC;YACf,IAAI,EAAE,+BAA+B;YACrC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,WAAW;YAC5C,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;YAChC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI;YACJ,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;SAGlD,CAAC,CAAC;IACL,CAAC;IAID,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrF,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;IAC5B,IAAI,8BAA8B,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC,GAAG,CAAC,+CAA+C,MAAM,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACjE,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;QAC9C,OAAO,MAAM,CAAC,GAAG,CACf,wCAAwC,YAAY;aACjD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;aAC9B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;aACjC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;IACJ,CAAC;IAKD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE;SAC9B,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;SACzB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EACxD,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,EACpE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAC3D,CACF;SACA,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAC7C,KAAK,CAAC,CAAC,CAAC;SACR,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,iBAAiB,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;IACxG,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7F,CAAC;IACD,MAAM,WAAW,GAAe,SAAS,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAEzE,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;QAChC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM;QAClC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,WAAW;QAC5C,UAAU,EAAE,MAAM,GAAG,CAAC;QACtB,IAAI;QACJ,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACjD,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KAClC,CAAC;IACF,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAEjG,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QACjB,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,MAAM,CAAC,EAAE,CAAC;QACf,IAAI,EAAE,+BAA+B;QACrC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;QAChC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,WAAW;QAC5C,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI;QACJ,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,UAAU,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACjD,UAAU,EAAE,QAAQ;QACpB,aAAa,EAAE,QAAQ;KACxB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"write-apps.js","sourceRoot":"","sources":["../../jsr/intern/write-apps.ts"],"names":[],"mappings":"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"}
package/models.json CHANGED
@@ -1,11 +1,20 @@
1
1
  [
2
+ {
3
+ "id": "anthropic/claude-opus-4.8",
4
+ "name": "Claude Opus 4.8",
5
+ "description": "Claude Opus 4.8 is Anthropic's most capable model, ideal for complex coding and creative tasks",
6
+ "featured": true,
7
+ "preSelected": ["codegen"],
8
+ "supports": ["codegen", "runtime"],
9
+ "imageInput": true
10
+ },
2
11
  {
3
12
  "id": "anthropic/claude-opus-4.6-fast",
4
13
  "name": "Claude Opus 4.6 Fast",
5
14
  "description": "Claude Opus 4.6 Fast is Anthropic's most capable model with faster output, ideal for complex coding and creative tasks",
6
15
  "featured": true,
7
- "preSelected": ["app"],
8
- "supports": ["chat", "app"],
16
+ "preSelected": ["runtime"],
17
+ "supports": ["codegen", "runtime"],
9
18
  "imageInput": true
10
19
  },
11
20
  {
@@ -13,7 +22,7 @@
13
22
  "name": "Claude Opus 4.5",
14
23
  "description": "Claude Opus 4.5 is Anthropic's most powerful model, offering the best performance for complex reasoning, coding, and creative tasks",
15
24
  "featured": true,
16
- "supports": ["chat", "app"],
25
+ "supports": ["codegen", "runtime"],
17
26
  "imageInput": true
18
27
  },
19
28
  {
@@ -21,8 +30,7 @@
21
30
  "name": "Claude Sonnet 4.6",
22
31
  "description": "Claude Sonnet 4.6 is Anthropic's most advanced Sonnet model to date, optimized for real-world agents and coding workflows",
23
32
  "featured": true,
24
- "preSelected": ["chat"],
25
- "supports": ["chat", "app"],
33
+ "supports": ["codegen", "runtime"],
26
34
  "imageInput": true
27
35
  },
28
36
  {
@@ -30,7 +38,7 @@
30
38
  "name": "Grok 4 Fast (free)",
31
39
  "description": "Grok 4 Fast is xAI's latest multimodal model with SOTA cost-efficiency and a 2M token context window",
32
40
  "featured": true,
33
- "supports": ["chat", "app"],
41
+ "supports": ["codegen", "runtime"],
34
42
  "imageInput": true
35
43
  },
36
44
  {
@@ -38,8 +46,8 @@
38
46
  "name": "Gemini 3.1 Pro",
39
47
  "description": "Gemini 3.1 Pro is Google's frontier reasoning model for software engineering and agentic tasks",
40
48
  "featured": true,
41
- "fallbackFor": ["chat", "app"],
42
- "supports": ["chat", "app"],
49
+ "fallbackFor": ["codegen", "runtime"],
50
+ "supports": ["codegen", "runtime"],
43
51
  "imageInput": true
44
52
  },
45
53
  {
@@ -47,7 +55,7 @@
47
55
  "name": "GPT-5",
48
56
  "description": "GPT-5 is OpenAI's most advanced model, offering major improvements in reasoning, code quality, and user experience",
49
57
  "featured": true,
50
- "supports": ["chat", "app"],
58
+ "supports": ["codegen", "runtime"],
51
59
  "imageInput": true
52
60
  },
53
61
  {
@@ -71,35 +79,35 @@
71
79
  "name": "GLM 4.6",
72
80
  "description": "Compared with GLM-4.5, this generation brings several key improvements: Longer context window from 128K to 200K tokens",
73
81
  "featured": false,
74
- "supports": ["chat", "app"]
82
+ "supports": ["codegen", "runtime"]
75
83
  },
76
84
  {
77
85
  "id": "deepseek/deepseek-v3.2-exp",
78
86
  "name": "DeepSeek V3.2 Exp",
79
87
  "description": "DeepSeek-V3.2-Exp is an experimental large language model released by DeepSeek as an intermediate step between V3.1 and future architectures",
80
88
  "featured": false,
81
- "supports": ["chat", "app"]
89
+ "supports": ["codegen", "runtime"]
82
90
  },
83
91
  {
84
92
  "id": "qwen/qwen3-coder-plus",
85
93
  "name": "Qwen3 Coder Plus",
86
94
  "description": "Qwen3 Coder Plus is Alibaba's proprietary version of the Open Source Qwen3 Coder 480B A35B",
87
95
  "featured": false,
88
- "supports": ["chat", "app"]
96
+ "supports": ["codegen", "runtime"]
89
97
  },
90
98
  {
91
99
  "id": "x-ai/grok-code-fast-1",
92
100
  "name": "Grok Code Fast 1",
93
101
  "description": "Grok Code Fast 1 is a speedy and economical reasoning model that excels at agentic coding",
94
102
  "featured": true,
95
- "supports": ["chat", "app"]
103
+ "supports": ["codegen", "runtime"]
96
104
  },
97
105
  {
98
106
  "id": "google/gemini-2.5-flash",
99
107
  "name": "Gemini 2.5 Flash",
100
108
  "description": "Gemini 2.5 Flash is Google's state-of-the-art workhorse model, specifically designed for advanced reasoning, coding, mathematics, and scientific tasks",
101
109
  "featured": false,
102
- "supports": ["chat", "app"],
110
+ "supports": ["codegen", "runtime"],
103
111
  "imageInput": true
104
112
  },
105
113
  {
@@ -107,14 +115,14 @@
107
115
  "name": "DeepSeek V3.1 (free)",
108
116
  "description": "DeepSeek-V3.1 is a large hybrid reasoning model (671B parameters, 37B active) that supports both thinking and non-thinking modes via prompt templates",
109
117
  "featured": false,
110
- "supports": ["chat", "app"]
118
+ "supports": ["codegen", "runtime"]
111
119
  },
112
120
  {
113
121
  "id": "google/gemini-2.0-flash-001",
114
122
  "name": "Gemini 2.0 Flash",
115
123
  "description": "Gemini Flash 2.0 offers a significantly faster time to first token (TTFT) compared to Gemini Flash 1.5, while maintaining quality on par with larger models like Gemini Pro 1.5",
116
124
  "featured": false,
117
- "supports": ["chat", "app"],
125
+ "supports": ["codegen", "runtime"],
118
126
  "imageInput": true
119
127
  },
120
128
  {
@@ -122,7 +130,7 @@
122
130
  "name": "GPT-4.1 Mini",
123
131
  "description": "GPT-4.1 Mini is a mid-sized model delivering performance competitive with GPT-4o at substantially lower latency and cost",
124
132
  "featured": false,
125
- "supports": ["chat", "app"],
133
+ "supports": ["codegen", "runtime"],
126
134
  "imageInput": true
127
135
  },
128
136
  {
@@ -130,14 +138,14 @@
130
138
  "name": "DeepSeek V3 0324",
131
139
  "description": "DeepSeek V3, a 685B-parameter, mixture-of-experts model, is the latest iteration of the flagship chat model family from the DeepSeek team",
132
140
  "featured": false,
133
- "supports": ["chat", "app"]
141
+ "supports": ["codegen", "runtime"]
134
142
  },
135
143
  {
136
144
  "id": "google/gemini-2.5-flash-lite",
137
145
  "name": "Gemini 2.5 Flash Lite",
138
146
  "description": "Gemini 2.5 Flash-Lite is a lightweight reasoning model in the Gemini 2.5 family, optimized for ultra-low latency and cost efficiency",
139
147
  "featured": false,
140
- "supports": ["chat", "app"],
148
+ "supports": ["codegen", "runtime"],
141
149
  "imageInput": true
142
150
  },
143
151
  {
@@ -145,7 +153,7 @@
145
153
  "name": "Gemma 3 12B",
146
154
  "description": "Gemma 3 introduces multimodality, supporting vision-language input and text outputs",
147
155
  "featured": false,
148
- "supports": ["chat", "app"],
156
+ "supports": ["codegen", "runtime"],
149
157
  "imageInput": true
150
158
  },
151
159
  {
@@ -153,14 +161,14 @@
153
161
  "name": "gpt-oss-20b",
154
162
  "description": "gpt-oss-20b is an open-weight 21B parameter model released by OpenAI under the Apache 2.0 license",
155
163
  "featured": false,
156
- "supports": ["chat", "app"]
164
+ "supports": ["codegen", "runtime"]
157
165
  },
158
166
  {
159
167
  "id": "openai/gpt-4o-mini",
160
168
  "name": "GPT-4o-mini",
161
169
  "description": "GPT-4o mini is OpenAI's newest model after GPT-4 Omni, supporting both text and image inputs with text outputs",
162
170
  "featured": false,
163
- "supports": ["chat", "app"],
171
+ "supports": ["codegen", "runtime"],
164
172
  "imageInput": true
165
173
  },
166
174
  {
@@ -168,14 +176,14 @@
168
176
  "name": "gpt-oss-120b",
169
177
  "description": "gpt-oss-120b is an open-weight, 117B-parameter Mixture-of-Experts (MoE) language model from OpenAI designed for high-reasoning, agentic, and general-purpose production use cases",
170
178
  "featured": false,
171
- "supports": ["chat", "app"]
179
+ "supports": ["codegen", "runtime"]
172
180
  },
173
181
  {
174
182
  "id": "openai/gpt-5-mini",
175
183
  "name": "GPT-5 Mini",
176
184
  "description": "GPT-5 Mini is a compact version of GPT-5, designed to handle lighter-weight reasoning tasks",
177
185
  "featured": false,
178
- "supports": ["chat", "app"],
186
+ "supports": ["codegen", "runtime"],
179
187
  "imageInput": true
180
188
  },
181
189
  {
@@ -183,7 +191,7 @@
183
191
  "name": "GPT-5.4 Mini",
184
192
  "description": "GPT-5.4 Mini is OpenAI's latest compact model optimized for fast, cost-efficient structured output",
185
193
  "featured": false,
186
- "supports": ["chat", "app"],
194
+ "supports": ["codegen", "runtime"],
187
195
  "imageInput": true
188
196
  },
189
197
  {
@@ -191,42 +199,42 @@
191
199
  "name": "GLM 4.5",
192
200
  "description": "GLM-4.5 is our latest flagship foundation model, purpose-built for agent-based applications",
193
201
  "featured": false,
194
- "supports": ["chat", "app"]
202
+ "supports": ["codegen", "runtime"]
195
203
  },
196
204
  {
197
205
  "id": "mistralai/mistral-nemo",
198
206
  "name": "Mistral Nemo",
199
207
  "description": "A 12B parameter model with a 128k token context length built by Mistral in collaboration with NVIDIA",
200
208
  "featured": false,
201
- "supports": ["chat", "app"]
209
+ "supports": ["codegen", "runtime"]
202
210
  },
203
211
  {
204
212
  "id": "qwen/qwen3-235b-a22b-2507",
205
213
  "name": "Qwen3 235B A22B Instruct 2507",
206
214
  "description": "Qwen3-235B-A22B-Instruct-2507 is a multilingual, instruction-tuned mixture-of-experts language model based on the Qwen3-235B architecture, with 22B active parameters per forward pass",
207
215
  "featured": false,
208
- "supports": ["chat", "app"]
216
+ "supports": ["codegen", "runtime"]
209
217
  },
210
218
  {
211
219
  "id": "qwen/qwen3-coder",
212
220
  "name": "Qwen3 Coder 480B A35B",
213
221
  "description": "Qwen3-Coder-480B-A35B-Instruct is a Mixture-of-Experts (MoE) code generation model developed by the Qwen team",
214
222
  "featured": false,
215
- "supports": ["chat", "app"]
223
+ "supports": ["codegen", "runtime"]
216
224
  },
217
225
  {
218
226
  "id": "openai/gpt-5-codex",
219
227
  "name": "GPT-5 Codex",
220
228
  "description": "GPT-5-Codex is a specialized version of GPT-5 optimized for software engineering and coding workflows",
221
229
  "featured": true,
222
- "supports": ["chat", "app"]
230
+ "supports": ["codegen", "runtime"]
223
231
  },
224
232
  {
225
233
  "id": "openai/gpt-4.1",
226
234
  "name": "GPT-4.1",
227
235
  "description": "GPT-4.1 is a flagship large language model optimized for advanced instruction following, real-world software engineering, and long-context reasoning",
228
236
  "featured": false,
229
- "supports": ["chat", "app"],
237
+ "supports": ["codegen", "runtime"],
230
238
  "imageInput": true
231
239
  },
232
240
  {
@@ -234,14 +242,14 @@
234
242
  "name": "Kimi K2 0905",
235
243
  "description": "Kimi K2 0905 is the September update of Kimi K2 0711",
236
244
  "featured": true,
237
- "supports": ["chat", "app"]
245
+ "supports": ["codegen", "runtime"]
238
246
  },
239
247
  {
240
248
  "id": "anthropic/claude-opus-4.7",
241
249
  "name": "Claude Opus 4.7",
242
250
  "description": "Claude Opus 4.7 is the next generation of Anthropic's Opus family, built for long-running, asynchronous agents",
243
251
  "featured": true,
244
- "supports": ["chat", "app"],
252
+ "supports": ["codegen", "runtime"],
245
253
  "imageInput": true
246
254
  },
247
255
  {
@@ -249,7 +257,7 @@
249
257
  "name": "GPT-5.4",
250
258
  "description": "GPT-5.4 is OpenAI's flagship model, building on GPT-5 with unified architecture and improved reasoning",
251
259
  "featured": true,
252
- "supports": ["chat", "app"],
260
+ "supports": ["codegen", "runtime"],
253
261
  "imageInput": true
254
262
  },
255
263
  {
@@ -257,7 +265,7 @@
257
265
  "name": "GPT-5.4 Pro",
258
266
  "description": "GPT-5.4 Pro is OpenAI's most advanced model, building on GPT-5.4's unified architecture with enhanced reasoning capabilities",
259
267
  "featured": false,
260
- "supports": ["chat", "app"],
268
+ "supports": ["codegen", "runtime"],
261
269
  "imageInput": true
262
270
  },
263
271
  {
@@ -265,7 +273,7 @@
265
273
  "name": "GPT-5.5",
266
274
  "description": "GPT-5.5 is OpenAI's frontier model for complex professional workloads, with stronger reasoning, higher reliability, and a 1M+ token context window",
267
275
  "featured": true,
268
- "supports": ["chat", "app"],
276
+ "supports": ["codegen", "runtime"],
269
277
  "imageInput": true
270
278
  },
271
279
  {
@@ -273,7 +281,7 @@
273
281
  "name": "Grok 4.20",
274
282
  "description": "Grok 4.20 is xAI's latest flagship model with industry-leading speed and agentic tool calling",
275
283
  "featured": true,
276
- "supports": ["chat", "app"],
284
+ "supports": ["codegen", "runtime"],
277
285
  "imageInput": true
278
286
  },
279
287
  {
@@ -281,35 +289,35 @@
281
289
  "name": "GLM 5.1",
282
290
  "description": "GLM 5.1 delivers a major leap in coding capability, with significant gains in handling long-horizon tasks",
283
291
  "featured": false,
284
- "supports": ["chat", "app"]
292
+ "supports": ["codegen", "runtime"]
285
293
  },
286
294
  {
287
295
  "id": "moonshotai/kimi-k2.6",
288
296
  "name": "Kimi K2.6",
289
297
  "description": "Kimi K2.6 is MoonshotAI's next-generation multimodal model for long-horizon coding and multi-agent orchestration",
290
298
  "featured": false,
291
- "supports": ["chat", "app"]
299
+ "supports": ["codegen", "runtime"]
292
300
  },
293
301
  {
294
302
  "id": "deepseek/deepseek-v3.2",
295
303
  "name": "DeepSeek V3.2",
296
304
  "description": "DeepSeek V3.2 is the stable release of the V3.2 architecture, alongside the experimental variant",
297
305
  "featured": false,
298
- "supports": ["chat", "app"]
306
+ "supports": ["codegen", "runtime"]
299
307
  },
300
308
  {
301
309
  "id": "openai/gpt-5.3-codex",
302
310
  "name": "GPT-5.3 Codex",
303
311
  "description": "GPT-5.3 Codex is the newer specialized coding model in the GPT-5.3 family, optimized for software engineering workflows",
304
312
  "featured": false,
305
- "supports": ["chat", "app"]
313
+ "supports": ["codegen", "runtime"]
306
314
  },
307
315
  {
308
316
  "id": "google/gemini-3.5-flash",
309
317
  "name": "Gemini 3.5 Flash",
310
318
  "description": "Gemini 3.5 Flash is Google's fast, cost-efficient model for everyday coding and assistant workflows",
311
319
  "featured": false,
312
- "supports": ["chat", "app"],
320
+ "supports": ["codegen", "runtime"],
313
321
  "imageInput": true
314
322
  },
315
323
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibes.diy/api-svc",
3
- "version": "2.5.18",
3
+ "version": "2.5.26",
4
4
  "type": "module",
5
5
  "main": "./index.js",
6
6
  "scripts": {
@@ -24,19 +24,19 @@
24
24
  "@libsql/client": "~0.17.3",
25
25
  "@neondatabase/serverless": "~1.1.0",
26
26
  "@noble/hashes": "~2.2.0",
27
- "@vibes.diy/api-impl": "2.5.18",
28
- "@vibes.diy/api-pkg": "2.5.18",
29
- "@vibes.diy/api-sql": "2.5.18",
30
- "@vibes.diy/api-types": "2.5.18",
31
- "@vibes.diy/call-ai-v2": "2.5.18",
32
- "@vibes.diy/identity": "2.5.18",
33
- "@vibes.diy/prompts": "2.5.18",
34
- "@vibes.diy/use-vibes-base": "2.5.18",
35
- "@vibes.diy/vibe-db-explorer": "2.5.18",
36
- "@vibes.diy/vibe-types": "2.5.18",
27
+ "@vibes.diy/api-impl": "2.5.26",
28
+ "@vibes.diy/api-pkg": "2.5.26",
29
+ "@vibes.diy/api-sql": "2.5.26",
30
+ "@vibes.diy/api-types": "2.5.26",
31
+ "@vibes.diy/call-ai-v2": "2.5.26",
32
+ "@vibes.diy/identity": "2.5.26",
33
+ "@vibes.diy/prompts": "2.5.26",
34
+ "@vibes.diy/use-vibes-base": "2.5.26",
35
+ "@vibes.diy/vibe-db-explorer": "2.5.26",
36
+ "@vibes.diy/vibe-types": "2.5.26",
37
37
  "acorn": "~8.17.0",
38
38
  "arktype": "~2.2.1",
39
- "call-ai": "2.5.18",
39
+ "call-ai": "2.5.26",
40
40
  "cookie": "~1.1.1",
41
41
  "drizzle-orm": "~0.45.2",
42
42
  "jose": "~6.2.2",
@@ -0,0 +1,20 @@
1
+ import type { DBFlavour, VibesSqlite } from "@vibes.diy/api-sql";
2
+ export interface AppReleaseRow {
3
+ readonly appSlug: string;
4
+ readonly userId: string;
5
+ readonly ownerHandle: string;
6
+ readonly fsId: string;
7
+ readonly env: unknown;
8
+ readonly fileSystem: unknown;
9
+ readonly meta: unknown;
10
+ readonly mode: string;
11
+ readonly created: string;
12
+ }
13
+ export interface AllocateAppParams {
14
+ db: VibesSqlite;
15
+ flavour: DBFlavour;
16
+ row: AppReleaseRow;
17
+ maxAttempts?: number;
18
+ }
19
+ export declare function appReleaseLockKey(userId: string, appSlug: string): string;
20
+ export declare function allocateAndInsertApp(p: AllocateAppParams): Promise<number>;
@@ -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 `${value}` : 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
+ 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":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAoB5E,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AA2BhC,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,OAAe;IAC/D,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAC9D,CAAC;AAGD,SAAS,SAAS,CAAC,OAAkB,EAAE,KAAc;IACnD,OAAO,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAA,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;AAC1E,CAAC;AAMD,SAAS,YAAY,CAAC,GAAkB;IACtC,OAAO,GAAG,CAAA,iBAAiB,KAAK;sBACZ,GAAG,CAAC,OAAO,iBAAiB,GAAG,CAAC,MAAM;uBACrC,GAAG,CAAC,WAAW,eAAe,GAAG,CAAC,IAAI,EAAE,CAAC;AAChE,CAAC;AASD,SAAS,mBAAmB,CAAC,CAAoB;IAC/C,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAC3B,OAAO,GAAG,CAAA;kBACM,KAAK;aACV,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,WAAW;;aAE9C,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC;aAC/E,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO;WAC3D,KAAK;sBACM,GAAG,CAAC,OAAO,iBAAiB,GAAG,CAAC,MAAM;yBACnC,YAAY,CAAC,GAAG,CAAC;;GAEvC,CAAC;AACJ,CAAC;AAGD,SAAS,iBAAiB,CAAC,GAAkB;IAC3C,OAAO,GAAG,CAAA,oCAAoC,KAAK;sBAC/B,GAAG,CAAC,OAAO,iBAAiB,GAAG,CAAC,MAAM;uBACrC,GAAG,CAAC,WAAW,eAAe,GAAG,CAAC,IAAI;YACjD,CAAC;AACb,CAAC;AAQD,SAAS,wBAAwB,CAAC,GAAkB;IAClD,OAAO,GAAG,CAAA,UAAU,KAAK;sBACL,GAAG,CAAC,OAAO,iBAAiB,GAAG,CAAC,MAAM;uBACrC,GAAG,CAAC,WAAW,eAAe,GAAG,CAAC,IAAI,mBAAmB,CAAC;AACjF,CAAC;AAED,SAAS,aAAa,CAAC,MAAe;IACpC,MAAM,IAAI,GAAI,MAAyC,EAAE,IAAI,IAAI,MAAM,CAAC;IACxE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAiC,CAAC;IAClE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAA+B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,YAAY,CAAC,EAAe,EAAE,OAAkB,EAAE,IAA4B;IAErF,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAQ,EAA+D,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxF,CAAC;IACD,OAAQ,EAA2D,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChF,CAAC;AAYD,KAAK,UAAU,aAAa,CAAC,IAAiB,EAAE,OAAkB,EAAE,CAAoB;IAEtF,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;QAC1D,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAID,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAChC,MAAM,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5F,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACpH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAQD,KAAK,UAAU,cAAc,CAAC,CAAoB;IAChD,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,OAAO,MAAM,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC;gBAAE,MAAM,GAAG,CAAC;YACzC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IACD,MAAM,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AAOD,KAAK,UAAU,UAAU,CAAC,CAAoB;IAC5C,MAAM,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,EAAE,GAAG,CAAC,CAAC,EAAwF,CAAC;IACtG,OAAO,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;QACjC,MAAO,EAA+D,CAAC,OAAO,CAC5E,GAAG,CAAA,iDAAiD,GAAG,OAAO,CAC/D,CAAC;QACF,OAAO,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,CAAoB;IAC7D,OAAO,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC"}