@vibes.diy/api-svc 14.3.16 → 14.3.17

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 (92) hide show
  1. package/intern/agent-dispatcher.d.ts +1 -0
  2. package/intern/agent-dispatcher.js +2 -0
  3. package/intern/agent-dispatcher.js.map +1 -1
  4. package/intern/agent-session.d.ts +22 -1
  5. package/intern/agent-session.js +19 -1
  6. package/intern/agent-session.js.map +1 -1
  7. package/intern/agent-wake.d.ts +1 -0
  8. package/intern/agent-wake.js +1 -0
  9. package/intern/agent-wake.js.map +1 -1
  10. package/intern/builder-model.d.ts +4 -1
  11. package/intern/builder-model.js +12 -6
  12. package/intern/builder-model.js.map +1 -1
  13. package/intern/eval-handles.d.ts +1 -1
  14. package/intern/eval-handles.js +3 -3
  15. package/intern/eval-handles.js.map +1 -1
  16. package/intern/get-model-defaults.d.ts +1 -0
  17. package/intern/get-model-defaults.js +13 -0
  18. package/intern/get-model-defaults.js.map +1 -1
  19. package/intern/in-flight-turns.d.ts +1 -1
  20. package/intern/in-flight-turns.js +1 -1
  21. package/intern/in-flight-turns.js.map +1 -1
  22. package/intern/mint-fire-core.d.ts +2 -0
  23. package/intern/mint-fire-core.js +2 -0
  24. package/intern/mint-fire-core.js.map +1 -1
  25. package/intern/process-access-bindings.js +1 -1
  26. package/intern/process-access-bindings.js.map +1 -1
  27. package/intern/prompt-usage.js +20 -0
  28. package/intern/prompt-usage.js.map +1 -1
  29. package/intern/subagent-model.d.ts +20 -0
  30. package/intern/subagent-model.js +30 -0
  31. package/intern/subagent-model.js.map +1 -0
  32. package/intern/usage-rounds.d.ts +7 -0
  33. package/intern/usage-rounds.js +20 -0
  34. package/intern/usage-rounds.js.map +1 -0
  35. package/models.json +63 -1
  36. package/package.json +12 -12
  37. package/public/agent-turn-action.d.ts +30 -0
  38. package/public/agent-turn-action.js +374 -0
  39. package/public/agent-turn-action.js.map +1 -0
  40. package/public/agent-turn-assembly.d.ts +34 -0
  41. package/public/agent-turn-assembly.js +199 -0
  42. package/public/agent-turn-assembly.js.map +1 -0
  43. package/public/append-block-event.d.ts +31 -0
  44. package/public/append-block-event.js +121 -0
  45. package/public/append-block-event.js.map +1 -0
  46. package/public/auto-publish-on-persist.d.ts +10 -0
  47. package/public/auto-publish-on-persist.js +40 -0
  48. package/public/auto-publish-on-persist.js.map +1 -0
  49. package/public/codegen-turn-route.d.ts +40 -0
  50. package/public/codegen-turn-route.js +177 -0
  51. package/public/codegen-turn-route.js.map +1 -0
  52. package/public/draft-runtime.js +12 -2
  53. package/public/draft-runtime.js.map +1 -1
  54. package/public/guest-build-generation.js +2 -1
  55. package/public/guest-build-generation.js.map +1 -1
  56. package/public/handle-prompt-context.d.ts +41 -0
  57. package/public/handle-prompt-context.js +397 -0
  58. package/public/handle-prompt-context.js.map +1 -0
  59. package/public/handler-llm-request.d.ts +48 -0
  60. package/public/handler-llm-request.js +363 -0
  61. package/public/handler-llm-request.js.map +1 -0
  62. package/public/image-gen.js +1 -1
  63. package/public/image-gen.js.map +1 -1
  64. package/public/llm-dispatch-fallback.d.ts +46 -0
  65. package/public/llm-dispatch-fallback.js +293 -0
  66. package/public/llm-dispatch-fallback.js.map +1 -0
  67. package/public/llm-dispatch.d.ts +5 -180
  68. package/public/llm-dispatch.js +5 -1158
  69. package/public/llm-dispatch.js.map +1 -1
  70. package/public/open-chat.d.ts +2 -0
  71. package/public/open-chat.js +51 -7
  72. package/public/open-chat.js.map +1 -1
  73. package/public/prompt-chat-section.js +119 -1167
  74. package/public/prompt-chat-section.js.map +1 -1
  75. package/public/prompt-section-actions.d.ts +41 -0
  76. package/public/prompt-section-actions.js +161 -0
  77. package/public/prompt-section-actions.js.map +1 -0
  78. package/public/prompt-turn-envelope.d.ts +26 -0
  79. package/public/prompt-turn-envelope.js +120 -0
  80. package/public/prompt-turn-envelope.js.map +1 -0
  81. package/public/prompt-turn-settled.d.ts +32 -0
  82. package/public/prompt-turn-settled.js +157 -0
  83. package/public/prompt-turn-settled.js.map +1 -0
  84. package/public/prompt-turn-terminal.d.ts +22 -0
  85. package/public/prompt-turn-terminal.js +135 -0
  86. package/public/prompt-turn-terminal.js.map +1 -0
  87. package/public/prompt-turn-types.d.ts +37 -0
  88. package/public/prompt-turn-types.js +2 -0
  89. package/public/prompt-turn-types.js.map +1 -0
  90. package/public/social-store.js.map +1 -1
  91. package/public/stream-assembly.js +33 -51
  92. package/public/stream-assembly.js.map +1 -1
@@ -0,0 +1,363 @@
1
+ import { Result } from "@adviser/cement";
2
+ import { canonicalModelUsage, buildUrlResearchJob, } from "@vibes.diy/api-types";
3
+ import { isChatMessage, isUserChatMessage, isForcedToolChoice, } from "@vibes.diy/call-ai-v2";
4
+ import { postMakerFact } from "../intern/post-maker-fact.js";
5
+ import { getModelDefaults } from "../intern/get-model-defaults.js";
6
+ import { subagentModelFor } from "../intern/subagent-model.js";
7
+ import { stripVibesFileBlocks } from "../intern/inflate-file-attachments.js";
8
+ import { loadModels } from "./list-models.js";
9
+ import { messagesCarryImages, modelSupportsImageInput } from "../intern/model-vision.js";
10
+ import { activateUrlCandidates } from "../intern/url-activation.js";
11
+ import { openTurn } from "../intern/open-turn-store.js";
12
+ import { captureImgGenOutcome, classifyImgGenError } from "../analytics.js";
13
+ import { isAppContextMessage } from "../intern/agent-request-frame.js";
14
+ import { dispatchLlmRequestWithFallback } from "./llm-dispatch-fallback.js";
15
+ import { appendBlockEvent } from "./append-block-event.js";
16
+ export function currentUserMessageText(messages) {
17
+ for (let index = messages.length - 1; index >= 0; index--) {
18
+ const message = messages[index];
19
+ if (message !== undefined && isUserChatMessage(message)) {
20
+ return message.content
21
+ .map((part) => (part.type === "text" ? part.text : ""))
22
+ .join("")
23
+ .trim();
24
+ }
25
+ }
26
+ return "";
27
+ }
28
+ function systemMessageText(messages) {
29
+ const partsText = (message) => {
30
+ if (message.content === null)
31
+ return "";
32
+ if (typeof message.content === "string")
33
+ return message.content;
34
+ return message.content.map((part) => (part.type === "text" ? part.text : "")).join("");
35
+ };
36
+ const system = messages.find((m) => m.role === "system");
37
+ if (system === undefined)
38
+ return "";
39
+ const context = messages.find(isAppContextMessage);
40
+ return context === undefined ? partsText(system) : `${partsText(system)}\n${partsText(context)}`;
41
+ }
42
+ export function mergeServerTools(outgoing, serverTools) {
43
+ if (serverTools === undefined || serverTools.length === 0)
44
+ return {};
45
+ const clientTools = Array.isArray(outgoing.tools) ? outgoing.tools : [];
46
+ const byName = new Map();
47
+ for (const tool of clientTools) {
48
+ if (byName.has(tool.function.name) === false)
49
+ byName.set(tool.function.name, tool);
50
+ }
51
+ for (const tool of serverTools) {
52
+ byName.set(tool.function.name, tool);
53
+ }
54
+ return {
55
+ tools: [...byName.values()],
56
+ ...(isForcedToolChoice(outgoing.tool_choice) ? {} : { tool_choice: "auto" }),
57
+ };
58
+ }
59
+ async function runtimeImageInputGate(vctx, messages, modelId) {
60
+ if (messagesCarryImages(messages) === false)
61
+ return Result.Ok(undefined);
62
+ const rModels = await loadModels(vctx);
63
+ if (rModels.isErr()) {
64
+ return Result.Err(`callAI cannot send an image: the model catalog could not be read (${rModels.Err().message}), so image support for ${modelId} is unknown`);
65
+ }
66
+ if (modelSupportsImageInput(rModels.Ok().models, modelId) === false) {
67
+ return Result.Err(`callAI cannot send an image: the model ${modelId} does not accept image input`);
68
+ }
69
+ return Result.Ok(undefined);
70
+ }
71
+ export async function handlerLlmRequest({ scope, ctx, vctx, blockSeq, req, resChat, promptId, preAssembled, serverTools, initiator, agentDispatched, platformInitiated, modelUsage, subagentModel, }) {
72
+ const resolved = await scope
73
+ .evalResult(async () => {
74
+ const r = await getModelDefaults(vctx, { appSlug: resChat.appSlug, ownerHandle: resChat.ownerHandle });
75
+ if (r.isErr()) {
76
+ return Result.Err(r);
77
+ }
78
+ let param;
79
+ switch (req.mode) {
80
+ case "codegen":
81
+ param = modelUsage === "agent" ? r.Ok().agent : modelUsage === "subagent" ? r.Ok().subagent : r.Ok().codegen;
82
+ break;
83
+ case "runtime":
84
+ param = r.Ok().runtime;
85
+ break;
86
+ case "img":
87
+ param = r.Ok().img;
88
+ break;
89
+ default:
90
+ return Result.Err(`Unknown prompt mode: ${req.mode}`);
91
+ }
92
+ const storedApiKey = param.apiKey !== undefined && param.apiKey !== "" ? param.apiKey : undefined;
93
+ const perCallApiKey = req.apiKey !== undefined && req.apiKey !== "" ? req.apiKey : undefined;
94
+ const byokApiKey = perCallApiKey ?? storedApiKey;
95
+ return Result.Ok({
96
+ modelId: modelUsage === "subagent"
97
+ ? subagentModelFor({
98
+ defaults: r.Ok(),
99
+ ...(subagentModel === undefined ? {} : { subagentModel }),
100
+ ...(req.prompt.model === undefined ? {} : { promptModel: req.prompt.model }),
101
+ })
102
+ : (req.prompt.model ?? param.model.id),
103
+ researchModelId: subagentModelFor({
104
+ defaults: r.Ok(),
105
+ ...(subagentModel === undefined ? {} : { subagentModel }),
106
+ ...(req.prompt.model === undefined ? {} : { promptModel: req.prompt.model }),
107
+ }),
108
+ ...(byokApiKey !== undefined ? { byokApiKey } : {}),
109
+ });
110
+ })
111
+ .do();
112
+ const modelId = resolved.modelId;
113
+ const researchModelId = resolved.researchModelId;
114
+ const byokApiKey = resolved.byokApiKey;
115
+ if (req.mode === "runtime" && preAssembled === undefined) {
116
+ await scope.evalResult(() => runtimeImageInputGate(vctx, req.prompt.messages.filter(isChatMessage), modelId)).do();
117
+ }
118
+ const withSystemPrompt = await scope
119
+ .evalResult(async () => {
120
+ let withSystemPrompt = Result.Ok({
121
+ model: modelId,
122
+ messages: [],
123
+ });
124
+ if (preAssembled !== undefined) {
125
+ withSystemPrompt = Result.Ok(preAssembled);
126
+ }
127
+ else if (req.mode === "runtime" || req.mode === "img") {
128
+ let messages = stripVibesFileBlocks(req.prompt.messages.filter(isChatMessage));
129
+ if (req.mode === "img") {
130
+ const imgReq = req;
131
+ if (imgReq.inputImageBase64) {
132
+ const lastUserIdx = (() => {
133
+ for (let i = messages.length - 1; i >= 0; i--) {
134
+ if (messages[i].role === "user")
135
+ return i;
136
+ }
137
+ return -1;
138
+ })();
139
+ if (lastUserIdx >= 0) {
140
+ const target = messages[lastUserIdx];
141
+ messages = [
142
+ ...messages.slice(0, lastUserIdx),
143
+ {
144
+ ...target,
145
+ content: [...target.content, { type: "image_url", image_url: { url: imgReq.inputImageBase64 } }],
146
+ },
147
+ ...messages.slice(lastUserIdx + 1),
148
+ ];
149
+ }
150
+ }
151
+ }
152
+ withSystemPrompt = Result.Ok({
153
+ model: req.prompt.model ?? modelId,
154
+ messages,
155
+ });
156
+ }
157
+ return withSystemPrompt;
158
+ })
159
+ .do();
160
+ const isInitialTurn = preAssembled?.isInitialTurn ?? withSystemPrompt.messages.filter((m) => m.role === "user").length <= 1;
161
+ const { apiKey: _clientApiKey, tools: clientTools, tool_choice: clientToolChoice, ...promptSansClientKey } = req.prompt;
162
+ if (req.mode !== "codegen") {
163
+ if (clientTools !== undefined)
164
+ promptSansClientKey.tools = clientTools;
165
+ if (clientToolChoice !== undefined)
166
+ promptSansClientKey.tool_choice = clientToolChoice;
167
+ }
168
+ const activatedUrls = req.mode === "codegen"
169
+ ? activateUrlCandidates({
170
+ currentUserText: currentUserMessageText(req.prompt.messages.filter(isChatMessage)),
171
+ enrichedPrompt: preAssembled?.enrichedPrompt,
172
+ isInitialTurn,
173
+ })
174
+ : [];
175
+ const llmReq = {
176
+ ...{
177
+ ...promptSansClientKey,
178
+ messages: withSystemPrompt.messages,
179
+ },
180
+ model: withSystemPrompt.model,
181
+ headers: vctx.params.llm.headers,
182
+ ...(byokApiKey !== undefined ? { apiKey: byokApiKey } : {}),
183
+ stream: true,
184
+ ...(isInitialTurn && req.mode === "codegen" ? { verbosity: "low" } : {}),
185
+ ...(req.mode === "img" ? { modalities: ["text", "image"] } : {}),
186
+ ...mergeServerTools(promptSansClientKey, serverTools),
187
+ };
188
+ await scope
189
+ .evalResult(async () => {
190
+ const r = await appendBlockEvent({
191
+ ctx,
192
+ vctx,
193
+ req,
194
+ promptId,
195
+ blockSeq: blockSeq,
196
+ evt: {
197
+ type: "prompt.req",
198
+ ...(req.mode === "codegen" && req.source === "suggestion" ? { source: "suggestion" } : {}),
199
+ streamId: promptId,
200
+ chatId: req.chatId,
201
+ seq: blockSeq,
202
+ request: { ...promptSansClientKey, model: modelId },
203
+ timestamp: new Date(),
204
+ ...(agentDispatched === true ? { agentDispatched: true } : {}),
205
+ ...(platformInitiated === true ? { platformInitiated: true } : {}),
206
+ },
207
+ ...(initiator === undefined ? {} : { initiator }),
208
+ });
209
+ blockSeq++;
210
+ return r;
211
+ })
212
+ .do();
213
+ if (canonicalModelUsage(req.mode) === "codegen") {
214
+ const rOpen = await openTurn(vctx.sql, {
215
+ chatId: req.chatId,
216
+ promptId,
217
+ userId: req._auth.verifiedAuth.claims.userId,
218
+ ownerHandle: resChat.ownerHandle,
219
+ appSlug: resChat.appSlug,
220
+ kind: isInitialTurn ? "first-build" : "codegen",
221
+ ...(vctx.doInstance === undefined ? {} : { objectId: vctx.doInstance.objectId, instanceId: vctx.doInstance.instanceId }),
222
+ });
223
+ if (rOpen.isErr()) {
224
+ vctx.logger.Warn().Err(rOpen).Any("event", { chatId: req.chatId, promptId }).Msg("open-turn-record-failed");
225
+ }
226
+ }
227
+ if (req.mode === "codegen" && preAssembled !== undefined) {
228
+ const systemText = systemMessageText(preAssembled.messages);
229
+ if (systemText !== "") {
230
+ await scope
231
+ .evalResult(async () => {
232
+ const r = await appendBlockEvent({
233
+ ctx,
234
+ vctx,
235
+ req,
236
+ promptId,
237
+ blockSeq: blockSeq,
238
+ evt: {
239
+ type: "prompt.system-prompt",
240
+ streamId: promptId,
241
+ chatId: req.chatId,
242
+ seq: blockSeq,
243
+ text: systemText,
244
+ timestamp: new Date(),
245
+ },
246
+ emitMode: "emit-only",
247
+ });
248
+ blockSeq++;
249
+ return r;
250
+ })
251
+ .do();
252
+ }
253
+ }
254
+ if (vctx.billing.enforceEnabled && byokApiKey === undefined) {
255
+ await scope
256
+ .evalResult(async () => {
257
+ const rCheck = await vctx.billing.checkCredits({ userId: req._auth.verifiedAuth.claims.userId });
258
+ if (rCheck.isErr()) {
259
+ vctx.logger.Warn().Err(rCheck).Str("chatId", req.chatId).Msg("billing-check-failed-open");
260
+ return Result.Ok(undefined);
261
+ }
262
+ if (rCheck.Ok().allowed === false) {
263
+ postMakerFact(vctx, {
264
+ eventId: `wall:${req.chatId}:${new Date().toISOString().slice(0, 10)}`,
265
+ userId: req._auth.verifiedAuth.claims.userId,
266
+ at: new Date().toISOString(),
267
+ kind: "paywall-hit",
268
+ }, "credit-wall");
269
+ return Result.Err("credits-exhausted: you have used your included AI credits — upgrade to continue");
270
+ }
271
+ return Result.Ok(undefined);
272
+ })
273
+ .do();
274
+ }
275
+ const dispatchStartedAt = Date.now();
276
+ vctx.logger.Info().Any("event", { chatId: req.chatId, promptId, mode: req.mode, model: modelId }).Msg("llm-dispatch-start");
277
+ const dispatch = await dispatchLlmRequestWithFallback({
278
+ vctx,
279
+ mode: req.mode,
280
+ llmReq,
281
+ chatId: req.chatId,
282
+ promptId,
283
+ phase: "initial",
284
+ });
285
+ vctx.logger
286
+ .Info()
287
+ .Any("event", {
288
+ chatId: req.chatId,
289
+ promptId,
290
+ mode: req.mode,
291
+ ok: dispatch.ok,
292
+ model: dispatch.llmReq.model,
293
+ attempts: dispatch.attempts.length,
294
+ elapsedMs: Date.now() - dispatchStartedAt,
295
+ })
296
+ .Msg("llm-dispatch-settled");
297
+ if (req.mode === "img") {
298
+ const lastFailure = dispatch.ok ? undefined : dispatch.attempts[dispatch.attempts.length - 1];
299
+ const status = lastFailure !== undefined && (lastFailure.kind === "http-status" || lastFailure.kind === "missing-body")
300
+ ? lastFailure.status
301
+ : undefined;
302
+ captureImgGenOutcome(vctx, {
303
+ outcome: dispatch.ok ? "succeeded" : "failed",
304
+ userId: req._auth.verifiedAuth.claims.userId,
305
+ ownerHandle: resChat.ownerHandle,
306
+ appSlug: resChat.appSlug,
307
+ model: dispatch.llmReq.model ?? modelId,
308
+ ...(dispatch.ok
309
+ ? {}
310
+ : { errorClass: classifyImgGenError(dispatch.error, status), ...(status === undefined ? {} : { status }) }),
311
+ });
312
+ }
313
+ const res = await scope
314
+ .evalResult(async () => {
315
+ return dispatch.ok ? Result.Ok(dispatch.res) : Result.Err(dispatch.error);
316
+ })
317
+ .do();
318
+ const finalModel = dispatch.llmReq.model;
319
+ if (dispatch.ok && finalModel !== undefined && finalModel !== modelId) {
320
+ await scope
321
+ .evalResult(async () => {
322
+ const r = await appendBlockEvent({
323
+ ctx,
324
+ vctx,
325
+ req,
326
+ promptId,
327
+ blockSeq,
328
+ evt: {
329
+ type: "prompt.model-resolved",
330
+ streamId: promptId,
331
+ chatId: req.chatId,
332
+ seq: blockSeq,
333
+ model: finalModel,
334
+ timestamp: new Date(),
335
+ },
336
+ });
337
+ blockSeq++;
338
+ return r;
339
+ })
340
+ .do();
341
+ }
342
+ const currentUserText = currentUserMessageText(req.prompt.messages.filter(isChatMessage));
343
+ const urlResearchJob = buildUrlResearchJob({
344
+ mode: req.mode,
345
+ isInitialTurn,
346
+ userId: req._auth.verifiedAuth.claims.userId,
347
+ chatId: req.chatId,
348
+ promptId,
349
+ ownerHandle: resChat.ownerHandle,
350
+ appSlug: resChat.appSlug,
351
+ currentUserText,
352
+ activatedUrls,
353
+ model: researchModelId,
354
+ });
355
+ return {
356
+ res,
357
+ blockSeq,
358
+ llmReq: dispatch.llmReq,
359
+ abort: dispatch.abort,
360
+ ...(urlResearchJob === undefined ? {} : { urlResearchJob }),
361
+ };
362
+ }
363
+ //# sourceMappingURL=handler-llm-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler-llm-request.js","sourceRoot":"","sources":["../../jsr/public/handler-llm-request.ts"],"names":[],"mappings":"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"}
@@ -193,7 +193,7 @@ export async function handleProdiaImageRequest({ scope, ctx, vctx, req, promptId
193
193
  ref: {
194
194
  type: "prompt.usage.sql",
195
195
  usage: {
196
- given: [{ ...zeroTokens, cost: imageCostCents / 100 }],
196
+ given: [{ ...zeroTokens, cost: imageCostCents / 100, role: "img" }],
197
197
  calculated: zeroTokens,
198
198
  },
199
199
  model: resolvedModel,
@@ -1 +1 @@
1
- {"version":3,"file":"image-gen.js","sourceRoot":"","sources":["../../jsr/public/image-gen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-gen.js","sourceRoot":"","sources":["../../jsr/public/image-gen.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { Result } from "@adviser/cement";
2
+ import { LLMHeaders, type PromptStyle, type Model } from "@vibes.diy/api-types";
3
+ import { VibesApiSQLCtx } from "../types.js";
4
+ import { LLMRequest } from "@vibes.diy/call-ai-v2";
5
+ import { type LlmToolLoopBudget } from "../intern/llm-tool-loop.js";
6
+ import { type LlmAttemptFailure } from "./provider-errors.js";
7
+ export interface LLMRequestWithHeaders extends LLMRequest {
8
+ headers: LLMHeaders;
9
+ model: string;
10
+ apiKey?: string;
11
+ }
12
+ export declare const DISPATCH_TOTAL_BUDGET_MS = 120000;
13
+ interface LlmDispatchOk {
14
+ readonly ok: true;
15
+ readonly res: Response;
16
+ readonly llmReq: LLMRequestWithHeaders;
17
+ readonly abort: AbortController;
18
+ readonly attempts: readonly LlmAttemptFailure[];
19
+ }
20
+ interface LlmDispatchErr {
21
+ readonly ok: false;
22
+ readonly llmReq: LLMRequestWithHeaders;
23
+ readonly abort: AbortController;
24
+ readonly attempts: readonly LlmAttemptFailure[];
25
+ readonly error: string;
26
+ }
27
+ type LlmDispatchResult = LlmDispatchOk | LlmDispatchErr;
28
+ type LlmRequestPhase = "initial" | "recovery" | "empty-stream-retry" | "tool-resume" | "work-continuation";
29
+ interface DispatchLlmRequestWithFallbackArgs {
30
+ readonly vctx: VibesApiSQLCtx;
31
+ readonly mode: PromptStyle;
32
+ readonly llmReq: LLMRequestWithHeaders;
33
+ readonly chatId: string;
34
+ readonly promptId: string;
35
+ readonly phase: LlmRequestPhase;
36
+ readonly budget?: LlmToolLoopBudget;
37
+ }
38
+ export interface PickFallbackModelArgs {
39
+ readonly models: readonly Model[];
40
+ readonly mode: PromptStyle;
41
+ readonly failedModel: string;
42
+ readonly requireImageInput: boolean;
43
+ }
44
+ export declare function pickFallbackModel(args: PickFallbackModelArgs): Result<string>;
45
+ export declare function dispatchLlmRequestWithFallback(args: DispatchLlmRequestWithFallbackArgs): Promise<LlmDispatchResult>;
46
+ export {};