@vibes.diy/api-svc 2.2.6 → 2.2.8

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.
Files changed (46) hide show
  1. package/cf-serve.d.ts +3 -1
  2. package/cf-serve.js +6 -2
  3. package/cf-serve.js.map +1 -1
  4. package/create-handler.d.ts +6 -2
  5. package/create-handler.js +4 -1
  6. package/create-handler.js.map +1 -1
  7. package/default-llm-request.d.ts +4 -0
  8. package/default-llm-request.js +2 -1
  9. package/default-llm-request.js.map +1 -1
  10. package/index.d.ts +2 -0
  11. package/index.js +2 -0
  12. package/index.js.map +1 -1
  13. package/intern/ensure-app-metadata.d.ts +13 -0
  14. package/intern/ensure-app-metadata.js +94 -0
  15. package/intern/ensure-app-metadata.js.map +1 -0
  16. package/intern/ensure-chat-id.js +21 -2
  17. package/intern/ensure-chat-id.js.map +1 -1
  18. package/intern/pre-allocate.d.ts +1 -0
  19. package/intern/pre-allocate.js +1 -0
  20. package/intern/pre-allocate.js.map +1 -1
  21. package/intern/recovery.d.ts +37 -0
  22. package/intern/recovery.js +101 -0
  23. package/intern/recovery.js.map +1 -0
  24. package/package.json +13 -13
  25. package/peers/r2-to-s3api.d.ts +20 -8
  26. package/peers/r2-to-s3api.js +312 -23
  27. package/peers/r2-to-s3api.js.map +1 -1
  28. package/peers/s3.d.ts +9 -4
  29. package/peers/s3.js +17 -23
  30. package/peers/s3.js.map +1 -1
  31. package/public/app-documents.js +3 -3
  32. package/public/app-documents.js.map +1 -1
  33. package/public/ensure-app-settings.js +52 -1
  34. package/public/ensure-app-settings.js.map +1 -1
  35. package/public/ensure-app-slug-item.d.ts +5 -2
  36. package/public/ensure-app-slug-item.js +36 -4
  37. package/public/ensure-app-slug-item.js.map +1 -1
  38. package/public/prompt-chat-section.d.ts +41 -2
  39. package/public/prompt-chat-section.js +394 -60
  40. package/public/prompt-chat-section.js.map +1 -1
  41. package/svc-ws-send-provider.d.ts +1 -0
  42. package/svc-ws-send-provider.js +1 -0
  43. package/svc-ws-send-provider.js.map +1 -1
  44. package/types.d.ts +3 -1
  45. package/usage-report/r2-affected-apps.sh +60 -0
  46. package/usage-report/r2-validate.sh +160 -0
package/cf-serve.d.ts CHANGED
@@ -23,7 +23,9 @@ export interface CFInjectMutable {
23
23
  };
24
24
  drizzle: VibesSqlite;
25
25
  wsResponse?: Response;
26
- llmRequest?: (prompt: LLMRequest) => Promise<Response>;
26
+ llmRequest?: (prompt: LLMRequest, opts?: {
27
+ readonly signal?: AbortSignal;
28
+ }) => Promise<Response>;
27
29
  docNotify?: DocNotifyCtx;
28
30
  }
29
31
  export type CFInject = Readonly<CFInjectMutable>;
package/cf-serve.js CHANGED
@@ -4,6 +4,7 @@ import { vibesMsgEvento } from "./vibes-msg-evento.js";
4
4
  import { Lazy, LoggerImpl, Result, URI } from "@adviser/cement";
5
5
  import { ensureSuperThis, hashObjectSync } from "@fireproof/core-runtime";
6
6
  import { cfDrizzle, createVibesApiTables, toDBFlavour } from "@vibes.diy/api-sql";
7
+ import { R2ToS3Api } from "./peers/r2-to-s3api.js";
7
8
  function netHashFn({ colo, country, continent, city, postalCode, latitude, longitude, timezone, region, regionCode, metroCode, }) {
8
9
  return hashObjectSync({
9
10
  colo,
@@ -30,12 +31,13 @@ function docNotifyCallbacks(dn) {
30
31
  }));
31
32
  }
32
33
  return {
33
- notifyDocChanged: async (evt) => {
34
+ notifyDocChanged: async (evt, senderConnId) => {
34
35
  const key = `${evt.userSlug}/${evt.appSlug}/${evt.dbName}`;
35
- console.log("[docNotify] notifyDocChanged key:", key, "shard:", dn.shardId.slice(0, 8));
36
+ console.log("[docNotify] notifyDocChanged key:", key, "shard:", dn.shardId.slice(0, 8), "conn:", senderConnId.slice(0, 8));
36
37
  await fetchDocNotify(key, {
37
38
  action: "notify",
38
39
  senderShardId: dn.shardId,
40
+ senderConnId,
39
41
  evt: { type: "vibes.diy.evt-doc-changed", ...evt },
40
42
  });
41
43
  },
@@ -56,6 +58,7 @@ export async function cfServeAppCtx(request, env, ctx) {
56
58
  logger: new LoggerImpl(),
57
59
  });
58
60
  const drizzleDB = cfDrizzle(env, env.DB, ctx.drizzle).db;
61
+ const s3Api = env.FS_IDS_BUCKET ? new R2ToS3Api(env.FS_IDS_BUCKET, sthis) : undefined;
59
62
  return createAppContext({
60
63
  sthis,
61
64
  db: drizzleDB,
@@ -67,6 +70,7 @@ export async function cfServeAppCtx(request, env, ctx) {
67
70
  db: drizzleDB,
68
71
  assets: createVibesApiTables(toDBFlavour(env.DB_FLAVOUR)).assets,
69
72
  },
73
+ ...(s3Api ? { s3: s3Api } : {}),
70
74
  },
71
75
  postQueue: async (msg) => {
72
76
  await env.VIBES_SERVICE.send(JSON.stringify(msg));
package/cf-serve.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cf-serve.js","sourceRoot":"","sources":["../jsr/cf-serve.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAc,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAI1E,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,WAAW,EAAe,MAAM,oBAAoB,CAAC;AAuC/F,SAAS,SAAS,CAAC,EACjB,IAAI,EACJ,OAAO,EACP,SAAS,EACT,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,MAAM,EACN,UAAU,EACV,SAAS,GAEI;IACb,OAAO,cAAc,CAAC;QACpB,IAAI;QACJ,OAAO;QACP,SAAS;QACT,IAAI;QACJ,UAAU;QACV,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,MAAM;QACN,UAAU;QACV,SAAS;KACV,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,EAAgB;IAC1C,SAAS,cAAc,CAAC,GAAW,EAAE,IAA6B;QAChE,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,KAAK,CACf,IAAI,OAAO,CAAC,6BAA6B,EAAE;YACzC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;SAChD,CAAyB,CAC3B,CAAC;IACJ,CAAC;IAED,OAAO;QACL,gBAAgB,EAAE,KAAK,EAAE,GAAyE,EAAE,EAAE;YACpG,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACxF,MAAM,cAAc,CAAC,GAAG,EAAE;gBACxB,MAAM,EAAE,QAAQ;gBAChB,aAAa,EAAE,EAAE,CAAC,OAAO;gBACzB,GAAG,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,GAAG,GAAG,EAAE;aACnD,CAAC,CAAC;QACL,CAAC;QACD,uBAAuB,EAAE,KAAK,EAAE,eAAuB,EAAE,EAAE;YACzD,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5F,MAAM,cAAc,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,yBAAyB,EAAE,KAAK,EAAE,eAAuB,EAAE,EAAE;YAC3D,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9F,MAAM,cAAc,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACvF,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAkB,EAAE,GAAU,EAAE,GAAgD;IAClH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAkB,CAAC,CAAC,CAAC;IAClE,MAAM,KAAK,GACT,GAAG,CAAC,KAAK;QACT,eAAe,CAAC;YACd,MAAM,EAAE,IAAI,UAAU,EAAE;SACzB,CAAC,CAAC;IAEL,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;IAEzD,OAAO,gBAAgB,CAAC;QACtB,KAAK;QACL,EAAE,EAAE,SAAS;QAGb,WAAW,EAAE,GAAG,CAAC,SAAS,EAAE,WAAW,IAAI,IAAI,GAAG,EAAE;QACpD,KAAK,EAAE,GAAG,CAAC,KAAK;QAEhB,cAAc,EAAE;YACd,GAAG,EAAE;gBACH,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC;gBACpC,EAAE,EAAE,SAAS;gBACb,MAAM,EAAE,oBAAoB,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM;aACjE;SACF;QAED,SAAS,EAAE,KAAK,EAAE,GAAY,EAAE,EAAE;YAEhC,MAAM,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,UAAU,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE;YAcjC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC3C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YAClG,CAAC;YACD,IAAI,GAAgB,CAAC;YACrB,IAAI,GAAY,CAAC;YAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACd,GAAG,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;oBACX,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,OAAO,MAAM,CAAC,GAAG,CAAC,8BAA8B,GAAG,KAAK,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;YAC1F,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,MAAM,CAAC,GAAG,CAAC,gDAAgD,GAAG,EAAE,CAAC,CAAC;YAC3E,CAAC;YAGD,OAAO,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAA6C,CAAC,CAAC;QACtE,CAAC;QAGD,OAAO;QACP,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,GAAG,EAAE,GAAwC;QAC7C,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAkB,EAAE,GAAa;IAC7D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAC1B,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,aAAa,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,cAAc,CAAC,MAAM,EAAE,OAA6B,CAAmC,CAAC;IACjG,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;IACnG,CAAC;IACD,MAAM,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC;IACzB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;IACxD,MAAiC,CAAC,MAAM,EAAE,CAAC;IAE5C,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,MAA8B,CAAC,CAAC;IAC1E,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEtE,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAElC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;QAC3C,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IACpG,CAAC,CAAC,CAAC;IAKH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;QACzC,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACpE,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QAChG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;QAChD,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,KAAmB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACrH,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,UAAU;QACpB,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC5B,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,MAAM;SACS,CAAC,CAA0B,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"cf-serve.js","sourceRoot":"","sources":["../jsr/cf-serve.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { ResolveFunction } from "./npm-package-version.js";
3
3
  import { LLMRequest } from "@vibes.diy/call-ai-v2";
4
4
  import { WSSendProvider } from "./svc-ws-send-provider.js";
5
5
  import { CfCacheIf, VibesApiSQLCtx } from "./types.js";
6
- import { LLMHeaders, MsgBase } from "@vibes.diy/api-types";
6
+ import { LLMHeaders, MsgBase, S3Api } from "@vibes.diy/api-types";
7
7
  import { CreateSQLPeerParams, VibesSqlite } from "@vibes.diy/api-sql";
8
8
  import { SuperThis } from "@fireproof/core-types-base";
9
9
  export type BindPromise<T> = (promise: Promise<T>) => Promise<T>;
@@ -16,6 +16,8 @@ export interface CreateHandlerParams<T extends VibesSqlite> {
16
16
  connections: Set<WSSendProvider>;
17
17
  storageSystems: {
18
18
  sql: CreateSQLPeerParams;
19
+ s3?: S3Api;
20
+ peerTimeout?: number;
19
21
  };
20
22
  postQueue: (msg: MsgBase) => Promise<void>;
21
23
  netHash(): string;
@@ -23,13 +25,15 @@ export interface CreateHandlerParams<T extends VibesSqlite> {
23
25
  fetchPkgVersion?: ResolveFunction;
24
26
  llmRequest?(prompt: LLMRequest & {
25
27
  headers: LLMHeaders;
28
+ }, opts?: {
29
+ readonly signal?: AbortSignal;
26
30
  }): Promise<Response>;
27
31
  notifyDocChanged?(evt: {
28
32
  userSlug: string;
29
33
  appSlug: string;
30
34
  dbName: string;
31
35
  docId: string;
32
- }): Promise<void>;
36
+ }, senderConnId: string): Promise<void>;
33
37
  registerDocSubscription?(subscriptionKey: string): Promise<void>;
34
38
  deregisterDocSubscription?(subscriptionKey: string): Promise<void>;
35
39
  }
package/create-handler.js CHANGED
@@ -8,6 +8,7 @@ import { defaultLLMRequest } from "./default-llm-request.js";
8
8
  import { LLMEnforced, LLMHeaders } from "@vibes.diy/api-types";
9
9
  import { createSQLPeer, createVibesApiTables } from "@vibes.diy/api-sql";
10
10
  import { ensureStorage } from "@vibes.diy/api-pkg";
11
+ import { createS3Peer } from "./peers/s3.js";
11
12
  export async function createAppContext(params) {
12
13
  const { sthis } = params;
13
14
  sthis.env.sets(params.env);
@@ -157,7 +158,9 @@ export async function createAppContext(params) {
157
158
  clockTolerance: 60,
158
159
  deviceIdCA: rDeviceIdCA.Ok(),
159
160
  }),
160
- storage: ensureStorage(createSQLPeer(params.storageSystems.sql)),
161
+ storage: params.storageSystems.s3
162
+ ? ensureStorage({ peerTimeout: params.storageSystems.peerTimeout }, createSQLPeer(params.storageSystems.sql), createS3Peer({ s3: params.storageSystems.s3 }))
163
+ : ensureStorage({ peerTimeout: params.storageSystems.peerTimeout }, createSQLPeer(params.storageSystems.sql)),
161
164
  llmRequest: defaultLLMRequest(params.llmRequest, {
162
165
  url: envVals.LLM_BACKEND_URL,
163
166
  apiKey: envVals.LLM_BACKEND_API_KEY,
@@ -1 +1 @@
1
- {"version":3,"file":"create-handler.js","sourceRoot":"","sources":["../jsr/create-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-handler.js","sourceRoot":"","sources":["../jsr/create-handler.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,13 @@ import { LLMHeaders } from "@vibes.diy/api-types";
2
2
  import { LLMRequest } from "@vibes.diy/call-ai-v2";
3
3
  export declare function defaultLLMRequest(fn: ((req: LLMRequest & {
4
4
  headers: LLMHeaders;
5
+ }, opts?: {
6
+ readonly signal?: AbortSignal;
5
7
  }) => Promise<Response>) | undefined, { url, apiKey }: {
6
8
  url: string;
7
9
  apiKey?: string;
8
10
  }): (req: LLMRequest & {
9
11
  headers: LLMHeaders;
12
+ }, opts?: {
13
+ readonly signal?: AbortSignal;
10
14
  }) => Promise<Response>;
@@ -4,7 +4,7 @@ export function defaultLLMRequest(fn, { url, apiKey, }) {
4
4
  if (fn) {
5
5
  return fn;
6
6
  }
7
- return (req) => {
7
+ return (req, opts) => {
8
8
  const stripLLMRequest = type(LLMRequest).onDeepUndeclaredKey("delete")(req);
9
9
  if (stripLLMRequest instanceof type.errors) {
10
10
  throw new Error(`Invalid LLMRequest: ${stripLLMRequest.summary}`);
@@ -18,6 +18,7 @@ export function defaultLLMRequest(fn, { url, apiKey, }) {
18
18
  "Content-Type": "application/json",
19
19
  },
20
20
  body,
21
+ signal: opts?.signal,
21
22
  });
22
23
  };
23
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"default-llm-request.js","sourceRoot":"","sources":["../jsr/default-llm-request.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,MAAM,UAAU,iBAAiB,CAC/B,EAAkF,EAClF,EACE,GAAG,EACH,MAAM,GAIP;IAED,IAAI,EAAE,EAAE,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,CAAC,GAAyC,EAAE,EAAE;QACnD,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5E,IAAI,eAAe,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,uBAAuB,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAE7C,OAAO,KAAK,CAAC,GAAG,EAAE;YAChB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,GAAG,GAAG,CAAC,OAAO;gBACd,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI;SACL,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"default-llm-request.js","sourceRoot":"","sources":["../jsr/default-llm-request.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,MAAM,UAAU,iBAAiB,CAC/B,EAA4H,EAC5H,EACE,GAAG,EACH,MAAM,GAIP;IAED,IAAI,EAAE,EAAE,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QACnB,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5E,IAAI,eAAe,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,uBAAuB,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC,GAAG,EAAE;YAChB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,GAAG,GAAG,CAAC,OAAO;gBACd,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI;YACJ,MAAM,EAAE,IAAI,EAAE,MAAM;SACrB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
package/index.d.ts CHANGED
@@ -8,7 +8,9 @@ export * from "./vibes-msg-evento.js";
8
8
  export * from "./cf-serve.js";
9
9
  export * from "./svc-ws-send-provider.js";
10
10
  export * from "./peers/r2-to-s3api.js";
11
+ export * from "./peers/s3.js";
11
12
  export * from "./intern/application-settings.js";
12
13
  export * from "./public/prompt-chat-section.js";
13
14
  export * from "./noop-cache.js";
14
15
  export * from "./intern/ensure-slug-binding.js";
16
+ export * from "./intern/recovery.js";
package/index.js CHANGED
@@ -8,8 +8,10 @@ export * from "./vibes-msg-evento.js";
8
8
  export * from "./cf-serve.js";
9
9
  export * from "./svc-ws-send-provider.js";
10
10
  export * from "./peers/r2-to-s3api.js";
11
+ export * from "./peers/s3.js";
11
12
  export * from "./intern/application-settings.js";
12
13
  export * from "./public/prompt-chat-section.js";
13
14
  export * from "./noop-cache.js";
14
15
  export * from "./intern/ensure-slug-binding.js";
16
+ export * from "./intern/recovery.js";
15
17
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iBAAiB,CAAC;AAChC,cAAc,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iBAAiB,CAAC;AAChC,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { Result } from "@adviser/cement";
2
+ import { VibesApiSQLCtx } from "../types.js";
3
+ export interface EnsureAppMetadataArgs {
4
+ readonly userId: string;
5
+ readonly userSlug: string;
6
+ readonly appSlug: string;
7
+ readonly prompt: string;
8
+ readonly src: string;
9
+ }
10
+ export interface EnsureAppMetadataResult {
11
+ readonly generated: boolean;
12
+ }
13
+ export declare function ensureAppMetadata(ctx: VibesApiSQLCtx, args: EnsureAppMetadataArgs): Promise<Result<EnsureAppMetadataResult>>;
@@ -0,0 +1,94 @@
1
+ import { exception2Result, Result } from "@adviser/cement";
2
+ import { and, eq } from "drizzle-orm/sql/expressions";
3
+ import { ensureLogger } from "@fireproof/core-runtime";
4
+ import { ActiveEntry, isActiveTitle, parseArrayWarning, } from "@vibes.diy/api-types";
5
+ import { preAllocate } from "./pre-allocate.js";
6
+ export async function ensureAppMetadata(ctx, args) {
7
+ const rExisting = await exception2Result(() => ctx.sql.db
8
+ .select()
9
+ .from(ctx.sql.tables.appSettings)
10
+ .where(and(eq(ctx.sql.tables.appSettings.userSlug, args.userSlug), eq(ctx.sql.tables.appSettings.appSlug, args.appSlug)))
11
+ .limit(1)
12
+ .then((r) => r[0]));
13
+ if (rExisting.isErr()) {
14
+ return Result.Err(`appSettings select failed: ${rExisting.Err()}`);
15
+ }
16
+ const existing = rExisting.Ok();
17
+ const { filtered: existingEntries } = parseArrayWarning(existing?.settings ?? [], ActiveEntry);
18
+ if (existingEntries.some(isActiveTitle)) {
19
+ return Result.Ok({ generated: false });
20
+ }
21
+ const rPre = await preAllocate(ctx, { prompt: args.prompt });
22
+ if (rPre.isErr()) {
23
+ ensureLogger(ctx.sthis, "ensureAppMetadata")
24
+ .Warn()
25
+ .Any({ err: rPre.Err(), userSlug: args.userSlug, appSlug: args.appSlug })
26
+ .Msg("preAllocate failed; skipping metadata generation");
27
+ return Result.Ok({ generated: false });
28
+ }
29
+ const pre = rPre.Ok();
30
+ const title = pre.pairs[0]?.title;
31
+ const skills = pre.skills;
32
+ const iconDescription = pre.iconDescription;
33
+ const newEntries = [];
34
+ if (title)
35
+ newEntries.push({ type: "active.title", title });
36
+ if (skills && skills.length > 0)
37
+ newEntries.push({ type: "active.skills", skills });
38
+ if (iconDescription)
39
+ newEntries.push({ type: "active.icon-description", description: iconDescription });
40
+ if (newEntries.length === 0) {
41
+ return Result.Ok({ generated: false });
42
+ }
43
+ const now = new Date().toISOString();
44
+ if (existing) {
45
+ const merged = [...existingEntries, ...newEntries];
46
+ const rUpd = await exception2Result(() => ctx.sql.db
47
+ .update(ctx.sql.tables.appSettings)
48
+ .set({ settings: merged, updated: now })
49
+ .where(and(eq(ctx.sql.tables.appSettings.userSlug, args.userSlug), eq(ctx.sql.tables.appSettings.appSlug, args.appSlug))));
50
+ if (rUpd.isErr()) {
51
+ return Result.Err(`appSettings update failed: ${rUpd.Err()}`);
52
+ }
53
+ }
54
+ else {
55
+ const rIns = await exception2Result(() => ctx.sql.db.insert(ctx.sql.tables.appSettings).values({
56
+ userId: args.userId,
57
+ userSlug: args.userSlug,
58
+ appSlug: args.appSlug,
59
+ settings: newEntries,
60
+ updated: now,
61
+ created: now,
62
+ }));
63
+ if (rIns.isErr()) {
64
+ return Result.Err(`appSettings insert failed: ${rIns.Err()}`);
65
+ }
66
+ }
67
+ await ctx.postQueue({
68
+ payload: {
69
+ type: "vibes.diy.evt-app-setting",
70
+ userSlug: args.userSlug,
71
+ appSlug: args.appSlug,
72
+ settings: newEntries,
73
+ },
74
+ tid: "queue-event",
75
+ src: args.src,
76
+ dst: "vibes-service",
77
+ ttl: 1,
78
+ });
79
+ if (iconDescription) {
80
+ await ctx.postQueue({
81
+ payload: {
82
+ type: "vibes.diy.evt-icon-gen",
83
+ userSlug: args.userSlug,
84
+ appSlug: args.appSlug,
85
+ },
86
+ tid: "queue-event",
87
+ src: args.src,
88
+ dst: "vibes-service",
89
+ ttl: 1,
90
+ });
91
+ }
92
+ return Result.Ok({ generated: true });
93
+ }
94
+ //# sourceMappingURL=ensure-app-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure-app-metadata.js","sourceRoot":"","sources":["../../jsr/intern/ensure-app-metadata.ts"],"names":[],"mappings":"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"}
@@ -63,11 +63,13 @@ export async function ensureChatId(ctx, req) {
63
63
  if (!chatId) {
64
64
  let preferredPairs;
65
65
  let preAllocSkills;
66
+ let preAllocIconDescription;
66
67
  if (req.prompt && !req.appSlug) {
67
68
  const rPre = await preAllocate(ctx, { prompt: req.prompt });
68
69
  if (rPre.isOk()) {
69
70
  preferredPairs = rPre.Ok().pairs;
70
71
  preAllocSkills = rPre.Ok().skills;
72
+ preAllocIconDescription = rPre.Ok().iconDescription;
71
73
  }
72
74
  else {
73
75
  console.warn("preAllocate failed; falling through to random-words:", rPre.Err());
@@ -87,20 +89,21 @@ export async function ensureChatId(ctx, req) {
87
89
  userSlug,
88
90
  created: new Date().toISOString(),
89
91
  });
90
- if (chosenTitle || preAllocSkills) {
92
+ if (chosenTitle || preAllocSkills || preAllocIconDescription) {
91
93
  await writePreAllocActiveEntries(ctx, {
92
94
  userId,
93
95
  userSlug,
94
96
  appSlug,
95
97
  title: chosenTitle,
96
98
  skills: preAllocSkills,
99
+ iconDescription: preAllocIconDescription,
97
100
  });
98
101
  }
99
102
  }
100
103
  }
101
104
  return Result.Ok({ appSlug, userSlug, chatId });
102
105
  }
103
- async function writePreAllocActiveEntries(ctx, { userId, userSlug, appSlug, title, skills, }) {
106
+ async function writePreAllocActiveEntries(ctx, { userId, userSlug, appSlug, title, skills, iconDescription, }) {
104
107
  const now = new Date().toISOString();
105
108
  const entries = [];
106
109
  if (title) {
@@ -109,6 +112,9 @@ async function writePreAllocActiveEntries(ctx, { userId, userSlug, appSlug, titl
109
112
  if (skills && skills.length > 0) {
110
113
  entries.push({ type: "active.skills", skills });
111
114
  }
115
+ if (iconDescription) {
116
+ entries.push({ type: "active.icon-description", description: iconDescription });
117
+ }
112
118
  if (entries.length === 0)
113
119
  return;
114
120
  const rIns = await exception2Result(() => ctx.sql.db.insert(ctx.sql.tables.appSettings).values({
@@ -138,5 +144,18 @@ async function writePreAllocActiveEntries(ctx, { userId, userSlug, appSlug, titl
138
144
  dst: "vibes-service",
139
145
  ttl: 1,
140
146
  });
147
+ if (iconDescription) {
148
+ await ctx.postQueue({
149
+ payload: {
150
+ type: "vibes.diy.evt-icon-gen",
151
+ userSlug,
152
+ appSlug,
153
+ },
154
+ tid: "queue-event",
155
+ src: "ensureChatId",
156
+ dst: "vibes-service",
157
+ ttl: 1,
158
+ });
159
+ }
141
160
  }
142
161
  //# sourceMappingURL=ensure-chat-id.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-chat-id.js","sourceRoot":"","sources":["../../jsr/intern/ensure-chat-id.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ensure-chat-id.js","sourceRoot":"","sources":["../../jsr/intern/ensure-chat-id.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export interface PreAllocateResult {
6
6
  title: string;
7
7
  slug: string;
8
8
  }[];
9
+ iconDescription: string;
9
10
  }
10
11
  export declare function preAllocate(vctx: VibesApiSQLCtx, { prompt }: {
11
12
  prompt: string;
@@ -51,6 +51,7 @@ export async function preAllocate(vctx, { prompt }) {
51
51
  return Result.Ok({
52
52
  skills: validSkills,
53
53
  pairs: validated.pairs.slice(0, 3),
54
+ iconDescription: validated.iconDescription,
54
55
  });
55
56
  }
56
57
  //# sourceMappingURL=pre-allocate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pre-allocate.js","sourceRoot":"","sources":["../../jsr/intern/pre-allocate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pre-allocate.js","sourceRoot":"","sources":["../../jsr/intern/pre-allocate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { Result } from "@adviser/cement";
2
+ import { type CodeBeginMsg, type CodeEndMsg, type CodeLineMsg, type CodeTruncatedMsg, type LLMRequest } from "@vibes.diy/call-ai-v2";
3
+ export interface RecoveryRequestInput {
4
+ readonly originalRequest: LLMRequest;
5
+ readonly recoveryAddendum: string;
6
+ readonly vfs: ReadonlyMap<string, string>;
7
+ readonly focusPath: string;
8
+ readonly assistantPartial?: string;
9
+ readonly lastReplaceFileLines?: number;
10
+ }
11
+ export declare function buildRecoveryRequest({ originalRequest, recoveryAddendum, vfs, focusPath, assistantPartial, lastReplaceFileLines }: RecoveryRequestInput): Result<LLMRequest>;
12
+ export interface RecoveryBudget {
13
+ readonly maxConsecutiveFruitless: number;
14
+ }
15
+ export interface RecoveryCounter {
16
+ readonly consecutiveFruitless: number;
17
+ }
18
+ export declare function updateRecoveryCounter(counter: RecoveryCounter, outcome: {
19
+ readonly madeProgress: boolean;
20
+ }): RecoveryCounter;
21
+ export declare function shouldAttemptRecovery(counter: RecoveryCounter, budget?: RecoveryBudget): boolean;
22
+ export interface BuildTruncatedEventInput {
23
+ readonly closed: {
24
+ readonly begin: CodeBeginMsg;
25
+ readonly lines: readonly CodeLineMsg[];
26
+ readonly end: CodeEndMsg;
27
+ };
28
+ readonly firstError: {
29
+ readonly reason: string;
30
+ readonly kind: string;
31
+ };
32
+ readonly errorCount: number;
33
+ readonly promptId: string;
34
+ readonly blockSeq: number;
35
+ readonly now: Date;
36
+ }
37
+ export declare function buildTruncatedEvent(input: BuildTruncatedEventInput): CodeTruncatedMsg;
@@ -0,0 +1,101 @@
1
+ import { Result } from "@adviser/cement";
2
+ const MAX_RECOVERY_FILE_BYTES = 16_000;
3
+ const MAX_RECOVERY_TOTAL_BYTES = 32_000;
4
+ export function buildRecoveryRequest({ originalRequest, recoveryAddendum, vfs, focusPath, assistantPartial, lastReplaceFileLines, }) {
5
+ if (recoveryAddendum.length === 0) {
6
+ return Result.Err("recovery addendum is empty");
7
+ }
8
+ if (focusPath.length === 0) {
9
+ return Result.Err("focus path is empty");
10
+ }
11
+ const filesBlock = renderCurrentFiles(vfs, focusPath);
12
+ const recoverySuffix = `${recoveryAddendum}\n\n${filesBlock}`;
13
+ const messages = mergeRecoveryIntoSystem(originalRequest.messages, recoverySuffix);
14
+ if (assistantPartial !== undefined && assistantPartial.length > 0) {
15
+ messages.push({
16
+ role: "user",
17
+ content: [{ type: "text", text: renderPartialResume(assistantPartial, focusPath, lastReplaceFileLines) }],
18
+ });
19
+ }
20
+ return Result.Ok({ ...originalRequest, messages });
21
+ }
22
+ function renderPartialResume(assistantPartial, focusPath, lastReplaceFileLines) {
23
+ const fileAnchor = lastReplaceFileLines !== undefined
24
+ ? ` Your last successfully-applied edit was a SEARCH/REPLACE on ${focusPath}; after that edit the file was ${lastReplaceFileLines} lines long.`
25
+ : "";
26
+ return [
27
+ `Your previous message was interrupted. Your own output so far this turn is reproduced below, truncated to the end of your last successfully-applied code block (every byte after that — any prose narrating the next edit, and any code that was being streamed when the interruption happened — has been dropped because it never landed).${fileAnchor}`,
28
+ "",
29
+ assistantPartial,
30
+ "",
31
+ "Continue your turn from there. CURRENT FILES (in the system message) is ground truth for what's actually in the file right now; anchor every SEARCH against text that appears there.",
32
+ ].join("\n");
33
+ }
34
+ function mergeRecoveryIntoSystem(messages, recoverySuffix) {
35
+ const firstSystemIdx = messages.findIndex((m) => m.role === "system");
36
+ if (firstSystemIdx === -1) {
37
+ return [{ role: "system", content: [{ type: "text", text: recoverySuffix }] }, ...messages];
38
+ }
39
+ const original = messages[firstSystemIdx];
40
+ const originalText = original.content[0]?.type === "text" ? original.content[0].text : "";
41
+ const merged = {
42
+ role: "system",
43
+ content: [{ type: "text", text: `${originalText}\n\n${recoverySuffix}` }],
44
+ };
45
+ return [...messages.slice(0, firstSystemIdx), merged, ...messages.slice(firstSystemIdx + 1)];
46
+ }
47
+ function renderCurrentFiles(vfs, focusPath) {
48
+ const lines = ["CURRENT FILES (resolved so far this turn):"];
49
+ let totalBudget = MAX_RECOVERY_TOTAL_BYTES;
50
+ const ordered = orderForRecovery(vfs, focusPath);
51
+ for (const [path, content] of ordered) {
52
+ const cap = Math.min(MAX_RECOVERY_FILE_BYTES, totalBudget);
53
+ if (cap <= 0) {
54
+ lines.push(`--- ${path} (omitted: total context budget exhausted) ---`);
55
+ continue;
56
+ }
57
+ if (content.length <= cap) {
58
+ lines.push(`--- ${path} ---`, content);
59
+ totalBudget -= content.length;
60
+ }
61
+ else {
62
+ lines.push(`--- ${path} (truncated: ${content.length} bytes → first ${cap}) ---`, content.slice(0, cap), `--- ${path} (truncated above) ---`);
63
+ totalBudget -= cap;
64
+ }
65
+ }
66
+ return lines.join("\n");
67
+ }
68
+ function orderForRecovery(vfs, focusPath) {
69
+ const entries = Array.from(vfs.entries());
70
+ const focusEntry = entries.find(([p]) => p === focusPath || `/${p}` === focusPath || p === `/${focusPath}`);
71
+ if (focusEntry === undefined) {
72
+ return entries.sort((a, b) => a[0].localeCompare(b[0]));
73
+ }
74
+ const others = entries.filter((e) => e !== focusEntry).sort((a, b) => a[0].localeCompare(b[0]));
75
+ return [focusEntry, ...others];
76
+ }
77
+ export function updateRecoveryCounter(counter, outcome) {
78
+ return outcome.madeProgress ? { consecutiveFruitless: 0 } : { consecutiveFruitless: counter.consecutiveFruitless + 1 };
79
+ }
80
+ export function shouldAttemptRecovery(counter, budget = { maxConsecutiveFruitless: 3 }) {
81
+ return counter.consecutiveFruitless < budget.maxConsecutiveFruitless;
82
+ }
83
+ export function buildTruncatedEvent(input) {
84
+ const { closed, firstError, errorCount, promptId, blockSeq, now } = input;
85
+ return {
86
+ type: "block.code.truncated",
87
+ blockId: closed.end.blockId,
88
+ streamId: promptId,
89
+ sectionId: closed.end.sectionId,
90
+ seq: blockSeq,
91
+ blockNr: closed.end.blockNr,
92
+ lang: closed.begin.lang,
93
+ ...(closed.begin.path !== undefined ? { path: closed.begin.path } : {}),
94
+ reason: firstError.reason,
95
+ kind: firstError.kind,
96
+ truncatedAtLine: closed.lines.length,
97
+ errorCount,
98
+ timestamp: now,
99
+ };
100
+ }
101
+ //# sourceMappingURL=recovery.js.map