@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.
- package/intern/agent-dispatcher.d.ts +1 -0
- package/intern/agent-dispatcher.js +2 -0
- package/intern/agent-dispatcher.js.map +1 -1
- package/intern/agent-session.d.ts +22 -1
- package/intern/agent-session.js +19 -1
- package/intern/agent-session.js.map +1 -1
- package/intern/agent-wake.d.ts +1 -0
- package/intern/agent-wake.js +1 -0
- package/intern/agent-wake.js.map +1 -1
- package/intern/builder-model.d.ts +4 -1
- package/intern/builder-model.js +12 -6
- package/intern/builder-model.js.map +1 -1
- package/intern/eval-handles.d.ts +1 -1
- package/intern/eval-handles.js +3 -3
- package/intern/eval-handles.js.map +1 -1
- package/intern/get-model-defaults.d.ts +1 -0
- package/intern/get-model-defaults.js +13 -0
- package/intern/get-model-defaults.js.map +1 -1
- package/intern/in-flight-turns.d.ts +1 -1
- package/intern/in-flight-turns.js +1 -1
- package/intern/in-flight-turns.js.map +1 -1
- package/intern/mint-fire-core.d.ts +2 -0
- package/intern/mint-fire-core.js +2 -0
- package/intern/mint-fire-core.js.map +1 -1
- package/intern/process-access-bindings.js +1 -1
- package/intern/process-access-bindings.js.map +1 -1
- package/intern/prompt-usage.js +20 -0
- package/intern/prompt-usage.js.map +1 -1
- package/intern/subagent-model.d.ts +20 -0
- package/intern/subagent-model.js +30 -0
- package/intern/subagent-model.js.map +1 -0
- package/intern/usage-rounds.d.ts +7 -0
- package/intern/usage-rounds.js +20 -0
- package/intern/usage-rounds.js.map +1 -0
- package/models.json +63 -1
- package/package.json +12 -12
- package/public/agent-turn-action.d.ts +30 -0
- package/public/agent-turn-action.js +374 -0
- package/public/agent-turn-action.js.map +1 -0
- package/public/agent-turn-assembly.d.ts +34 -0
- package/public/agent-turn-assembly.js +199 -0
- package/public/agent-turn-assembly.js.map +1 -0
- package/public/append-block-event.d.ts +31 -0
- package/public/append-block-event.js +121 -0
- package/public/append-block-event.js.map +1 -0
- package/public/auto-publish-on-persist.d.ts +10 -0
- package/public/auto-publish-on-persist.js +40 -0
- package/public/auto-publish-on-persist.js.map +1 -0
- package/public/codegen-turn-route.d.ts +40 -0
- package/public/codegen-turn-route.js +177 -0
- package/public/codegen-turn-route.js.map +1 -0
- package/public/draft-runtime.js +12 -2
- package/public/draft-runtime.js.map +1 -1
- package/public/guest-build-generation.js +2 -1
- package/public/guest-build-generation.js.map +1 -1
- package/public/handle-prompt-context.d.ts +41 -0
- package/public/handle-prompt-context.js +397 -0
- package/public/handle-prompt-context.js.map +1 -0
- package/public/handler-llm-request.d.ts +48 -0
- package/public/handler-llm-request.js +363 -0
- package/public/handler-llm-request.js.map +1 -0
- package/public/image-gen.js +1 -1
- package/public/image-gen.js.map +1 -1
- package/public/llm-dispatch-fallback.d.ts +46 -0
- package/public/llm-dispatch-fallback.js +293 -0
- package/public/llm-dispatch-fallback.js.map +1 -0
- package/public/llm-dispatch.d.ts +5 -180
- package/public/llm-dispatch.js +5 -1158
- package/public/llm-dispatch.js.map +1 -1
- package/public/open-chat.d.ts +2 -0
- package/public/open-chat.js +51 -7
- package/public/open-chat.js.map +1 -1
- package/public/prompt-chat-section.js +119 -1167
- package/public/prompt-chat-section.js.map +1 -1
- package/public/prompt-section-actions.d.ts +41 -0
- package/public/prompt-section-actions.js +161 -0
- package/public/prompt-section-actions.js.map +1 -0
- package/public/prompt-turn-envelope.d.ts +26 -0
- package/public/prompt-turn-envelope.js +120 -0
- package/public/prompt-turn-envelope.js.map +1 -0
- package/public/prompt-turn-settled.d.ts +32 -0
- package/public/prompt-turn-settled.js +157 -0
- package/public/prompt-turn-settled.js.map +1 -0
- package/public/prompt-turn-terminal.d.ts +22 -0
- package/public/prompt-turn-terminal.js +135 -0
- package/public/prompt-turn-terminal.js.map +1 -0
- package/public/prompt-turn-types.d.ts +37 -0
- package/public/prompt-turn-types.js +2 -0
- package/public/prompt-turn-types.js.map +1 -0
- package/public/social-store.js.map +1 -1
- package/public/stream-assembly.js +33 -51
- package/public/stream-assembly.js.map +1 -1
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
import { Result, exception2Result } from "@adviser/cement";
|
|
2
|
+
import { loadModels } from "./list-models.js";
|
|
3
|
+
import { messagesCarryImages, modelSupportsImageInput } from "../intern/model-vision.js";
|
|
4
|
+
import { createLlmToolLoopBudget } from "../intern/llm-tool-loop.js";
|
|
5
|
+
import { delayForAttempt, extractEdgeError, extractProviderErrorFields, formatLlmAttemptFailures, isInvalidModelError, parseRetryAfterMs, pickDiagnosticHeaders, readFailureBody, waitMs, } from "./provider-errors.js";
|
|
6
|
+
const TRANSIENT_LLM_STATUSES = new Set([429, 502, 503, 504]);
|
|
7
|
+
const PRIMARY_RETRY_DELAY_MS = 100;
|
|
8
|
+
const FALLBACK_RETRY_DELAY_MS = 250;
|
|
9
|
+
const DISPATCH_FIRST_TOKEN_TIMEOUT_MS = 45_000;
|
|
10
|
+
export const DISPATCH_TOTAL_BUDGET_MS = 120_000;
|
|
11
|
+
const DISPATCH_MAX_ATTEMPTS = 3;
|
|
12
|
+
function envPositiveInt(vctx, key, fallback) {
|
|
13
|
+
const raw = vctx.sthis.env.get(key);
|
|
14
|
+
if (typeof raw !== "string")
|
|
15
|
+
return fallback;
|
|
16
|
+
const n = Number.parseInt(raw, 10);
|
|
17
|
+
return Number.isFinite(n) && n > 0 ? n : fallback;
|
|
18
|
+
}
|
|
19
|
+
function createLlmDispatchBudget(vctx) {
|
|
20
|
+
return createLlmToolLoopBudget({
|
|
21
|
+
totalBudgetMs: envPositiveInt(vctx, "DISPATCH_TOTAL_BUDGET_MS", DISPATCH_TOTAL_BUDGET_MS),
|
|
22
|
+
maxAttempts: DISPATCH_MAX_ATTEMPTS,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
function logLlmAttemptFailure(args) {
|
|
26
|
+
const { vctx, diag, label, model, elapsedMs, details } = args;
|
|
27
|
+
vctx.logger
|
|
28
|
+
.Warn()
|
|
29
|
+
.Any("event", {
|
|
30
|
+
chatId: diag.chatId,
|
|
31
|
+
promptId: diag.promptId,
|
|
32
|
+
phase: diag.phase,
|
|
33
|
+
mode: diag.mode,
|
|
34
|
+
label,
|
|
35
|
+
model,
|
|
36
|
+
elapsedMs,
|
|
37
|
+
...details,
|
|
38
|
+
})
|
|
39
|
+
.Msg("llm-request-attempt-failed");
|
|
40
|
+
}
|
|
41
|
+
export function pickFallbackModel(args) {
|
|
42
|
+
const { models, mode, failedModel, requireImageInput } = args;
|
|
43
|
+
if (mode !== "codegen" && mode !== "runtime") {
|
|
44
|
+
return Result.Err(`Mode ${mode} does not support LLM fallback`);
|
|
45
|
+
}
|
|
46
|
+
for (const model of models) {
|
|
47
|
+
if (model.id === failedModel || Array.isArray(model.fallbackFor) === false || model.fallbackFor.includes(mode) === false) {
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
if (requireImageInput === true && modelSupportsImageInput(models, model.id) === false)
|
|
51
|
+
continue;
|
|
52
|
+
return Result.Ok(model.id);
|
|
53
|
+
}
|
|
54
|
+
return Result.Err(requireImageInput === true
|
|
55
|
+
? `No image-capable fallback model configured for ${mode} after ${failedModel}`
|
|
56
|
+
: `No fallback model configured for ${mode} after ${failedModel}`);
|
|
57
|
+
}
|
|
58
|
+
async function findFallbackModel(args) {
|
|
59
|
+
const { vctx, mode, failedModel, requireImageInput } = args;
|
|
60
|
+
const rModels = await loadModels(vctx);
|
|
61
|
+
if (rModels.isErr()) {
|
|
62
|
+
vctx.logger.Warn().Err(rModels).Msg("llm-fallback-model-load-failed");
|
|
63
|
+
return Result.Err(`Failed to load fallback model catalog: ${String(rModels.Err())}`);
|
|
64
|
+
}
|
|
65
|
+
return pickFallbackModel({ models: rModels.Ok().models, mode, failedModel, requireImageInput });
|
|
66
|
+
}
|
|
67
|
+
async function attemptLlmRequest(args) {
|
|
68
|
+
const { vctx, diag, llmReq, label, firstTokenTimeoutMs } = args;
|
|
69
|
+
const abort = new AbortController();
|
|
70
|
+
const startedAt = Date.now();
|
|
71
|
+
let timedOut = false;
|
|
72
|
+
const timer = setTimeout(() => {
|
|
73
|
+
timedOut = true;
|
|
74
|
+
abort.abort();
|
|
75
|
+
}, firstTokenTimeoutMs);
|
|
76
|
+
const rRes = await exception2Result(() => vctx.llmRequest(llmReq, { signal: abort.signal }));
|
|
77
|
+
clearTimeout(timer);
|
|
78
|
+
const elapsedMs = Date.now() - startedAt;
|
|
79
|
+
if (rRes.isErr()) {
|
|
80
|
+
abort.abort();
|
|
81
|
+
if (timedOut) {
|
|
82
|
+
logLlmAttemptFailure({
|
|
83
|
+
vctx,
|
|
84
|
+
diag,
|
|
85
|
+
label,
|
|
86
|
+
model: llmReq.model,
|
|
87
|
+
elapsedMs,
|
|
88
|
+
details: { kind: "timeout", retryable: true, timeoutMs: firstTokenTimeoutMs },
|
|
89
|
+
});
|
|
90
|
+
return {
|
|
91
|
+
ok: false,
|
|
92
|
+
abort,
|
|
93
|
+
failure: {
|
|
94
|
+
kind: "timeout",
|
|
95
|
+
label,
|
|
96
|
+
model: llmReq.model,
|
|
97
|
+
elapsedMs,
|
|
98
|
+
retryable: true,
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
const error = String(rRes.Err());
|
|
103
|
+
logLlmAttemptFailure({
|
|
104
|
+
vctx,
|
|
105
|
+
diag,
|
|
106
|
+
label,
|
|
107
|
+
model: llmReq.model,
|
|
108
|
+
elapsedMs,
|
|
109
|
+
details: { kind: "exception", retryable: false, error },
|
|
110
|
+
});
|
|
111
|
+
return {
|
|
112
|
+
ok: false,
|
|
113
|
+
abort,
|
|
114
|
+
failure: {
|
|
115
|
+
kind: "exception",
|
|
116
|
+
label,
|
|
117
|
+
model: llmReq.model,
|
|
118
|
+
error,
|
|
119
|
+
retryable: false,
|
|
120
|
+
},
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
const res = rRes.Ok();
|
|
124
|
+
if (res.ok && res.body !== null) {
|
|
125
|
+
return { ok: true, res, abort };
|
|
126
|
+
}
|
|
127
|
+
if (res.ok) {
|
|
128
|
+
abort.abort();
|
|
129
|
+
logLlmAttemptFailure({
|
|
130
|
+
vctx,
|
|
131
|
+
diag,
|
|
132
|
+
label,
|
|
133
|
+
model: llmReq.model,
|
|
134
|
+
elapsedMs,
|
|
135
|
+
details: {
|
|
136
|
+
kind: "missing-body",
|
|
137
|
+
status: res.status,
|
|
138
|
+
statusText: res.statusText,
|
|
139
|
+
retryable: false,
|
|
140
|
+
error: "response body missing",
|
|
141
|
+
},
|
|
142
|
+
});
|
|
143
|
+
return {
|
|
144
|
+
ok: false,
|
|
145
|
+
abort,
|
|
146
|
+
failure: {
|
|
147
|
+
kind: "missing-body",
|
|
148
|
+
label,
|
|
149
|
+
model: llmReq.model,
|
|
150
|
+
status: res.status,
|
|
151
|
+
statusText: res.statusText,
|
|
152
|
+
error: "response body missing",
|
|
153
|
+
retryable: false,
|
|
154
|
+
},
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
const { snippet: bodySnippet, full: bodyFull } = await readFailureBody(res);
|
|
158
|
+
const retryAfterMs = parseRetryAfterMs(res.headers);
|
|
159
|
+
abort.abort();
|
|
160
|
+
const retryable = TRANSIENT_LLM_STATUSES.has(res.status);
|
|
161
|
+
const provider = extractProviderErrorFields(bodyFull);
|
|
162
|
+
const invalidModel = isInvalidModelError(res.status, provider);
|
|
163
|
+
const edge = extractEdgeError(bodySnippet, provider.rawSnippet, res.headers);
|
|
164
|
+
const headers = pickDiagnosticHeaders(res.headers);
|
|
165
|
+
logLlmAttemptFailure({
|
|
166
|
+
vctx,
|
|
167
|
+
diag,
|
|
168
|
+
label,
|
|
169
|
+
model: llmReq.model,
|
|
170
|
+
elapsedMs,
|
|
171
|
+
details: {
|
|
172
|
+
kind: "http-status",
|
|
173
|
+
status: res.status,
|
|
174
|
+
statusText: res.statusText,
|
|
175
|
+
retryable,
|
|
176
|
+
...(invalidModel ? { invalidModel } : {}),
|
|
177
|
+
...(typeof retryAfterMs === "number" ? { retryAfterMs } : {}),
|
|
178
|
+
...(headers ? { headers } : {}),
|
|
179
|
+
...(bodySnippet.length > 0 ? { bodySnippet } : {}),
|
|
180
|
+
...provider,
|
|
181
|
+
...edge,
|
|
182
|
+
},
|
|
183
|
+
});
|
|
184
|
+
const failure = {
|
|
185
|
+
kind: "http-status",
|
|
186
|
+
label,
|
|
187
|
+
model: llmReq.model,
|
|
188
|
+
status: res.status,
|
|
189
|
+
statusText: res.statusText,
|
|
190
|
+
retryable,
|
|
191
|
+
...(invalidModel ? { invalidModel } : {}),
|
|
192
|
+
...(bodySnippet.length > 0 ? { bodySnippet } : {}),
|
|
193
|
+
...(typeof retryAfterMs === "number" ? { retryAfterMs } : {}),
|
|
194
|
+
};
|
|
195
|
+
return {
|
|
196
|
+
ok: false,
|
|
197
|
+
abort,
|
|
198
|
+
failure,
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
export async function dispatchLlmRequestWithFallback(args) {
|
|
202
|
+
const attempts = [];
|
|
203
|
+
const diag = {
|
|
204
|
+
chatId: args.chatId,
|
|
205
|
+
promptId: args.promptId,
|
|
206
|
+
phase: args.phase,
|
|
207
|
+
mode: args.mode,
|
|
208
|
+
};
|
|
209
|
+
const firstTokenTimeoutMs = envPositiveInt(args.vctx, "DISPATCH_FIRST_TOKEN_TIMEOUT_MS", DISPATCH_FIRST_TOKEN_TIMEOUT_MS);
|
|
210
|
+
const budget = args.budget ?? createLlmDispatchBudget(args.vctx);
|
|
211
|
+
const dispatchDeadline = budget.deadlineAt;
|
|
212
|
+
const budgetRemainingMs = () => Math.max(0, dispatchDeadline - Date.now());
|
|
213
|
+
const attemptTimeoutMs = () => Math.min(firstTokenTimeoutMs, budgetRemainingMs());
|
|
214
|
+
const backoffMs = (failure, defaultDelayMs) => Math.min(delayForAttempt(failure, defaultDelayMs), budgetRemainingMs());
|
|
215
|
+
const budgetExhausted = () => {
|
|
216
|
+
const abort = new AbortController();
|
|
217
|
+
abort.abort();
|
|
218
|
+
const note = `LLM dispatch budget exhausted before a response (attempts ${budget.attemptsUsed}/${budget.maxAttempts})`;
|
|
219
|
+
const error = attempts.length > 0 ? `${formatLlmAttemptFailures(attempts)}; ${note}` : note;
|
|
220
|
+
args.vctx.logger
|
|
221
|
+
.Warn()
|
|
222
|
+
.Any("event", { chatId: args.chatId, promptId: args.promptId, phase: args.phase, mode: args.mode, attempts: attempts.length })
|
|
223
|
+
.Msg("llm-dispatch-budget-exhausted");
|
|
224
|
+
return { ok: false, llmReq: args.llmReq, abort, attempts, error };
|
|
225
|
+
};
|
|
226
|
+
let lastPrimary;
|
|
227
|
+
for (const label of ["primary", "primary-retry"]) {
|
|
228
|
+
if (lastPrimary) {
|
|
229
|
+
await waitMs(backoffMs(lastPrimary.failure, PRIMARY_RETRY_DELAY_MS));
|
|
230
|
+
}
|
|
231
|
+
if (Date.now() >= dispatchDeadline || budget.attemptsUsed >= budget.maxAttempts)
|
|
232
|
+
return budgetExhausted();
|
|
233
|
+
budget.attemptsUsed++;
|
|
234
|
+
const attempt = await attemptLlmRequest({
|
|
235
|
+
vctx: args.vctx,
|
|
236
|
+
diag,
|
|
237
|
+
llmReq: args.llmReq,
|
|
238
|
+
label,
|
|
239
|
+
firstTokenTimeoutMs: attemptTimeoutMs(),
|
|
240
|
+
});
|
|
241
|
+
if (attempt.ok)
|
|
242
|
+
return { ok: true, res: attempt.res, llmReq: args.llmReq, abort: attempt.abort, attempts };
|
|
243
|
+
attempts.push(attempt.failure);
|
|
244
|
+
if (attempt.failure.retryable === false) {
|
|
245
|
+
if (attempt.failure.kind === "http-status" && attempt.failure.invalidModel === true) {
|
|
246
|
+
lastPrimary = attempt;
|
|
247
|
+
break;
|
|
248
|
+
}
|
|
249
|
+
return { ok: false, llmReq: args.llmReq, abort: attempt.abort, attempts, error: formatLlmAttemptFailures(attempts) };
|
|
250
|
+
}
|
|
251
|
+
lastPrimary = attempt;
|
|
252
|
+
}
|
|
253
|
+
const failedPrimary = lastPrimary;
|
|
254
|
+
if (Date.now() >= dispatchDeadline || budget.attemptsUsed >= budget.maxAttempts)
|
|
255
|
+
return budgetExhausted();
|
|
256
|
+
const rFallbackModel = await findFallbackModel({
|
|
257
|
+
vctx: args.vctx,
|
|
258
|
+
mode: args.mode,
|
|
259
|
+
failedModel: args.llmReq.model,
|
|
260
|
+
requireImageInput: messagesCarryImages(args.llmReq.messages),
|
|
261
|
+
});
|
|
262
|
+
if (rFallbackModel.isErr()) {
|
|
263
|
+
const error = `${formatLlmAttemptFailures(attempts)}; ${String(rFallbackModel.Err())}`;
|
|
264
|
+
return { ok: false, llmReq: args.llmReq, abort: failedPrimary.abort, attempts, error };
|
|
265
|
+
}
|
|
266
|
+
const fallbackModel = rFallbackModel.Ok();
|
|
267
|
+
const fallbackReq = { ...args.llmReq, model: fallbackModel };
|
|
268
|
+
await waitMs(backoffMs(failedPrimary.failure, FALLBACK_RETRY_DELAY_MS));
|
|
269
|
+
if (Date.now() >= dispatchDeadline || budget.attemptsUsed >= budget.maxAttempts)
|
|
270
|
+
return budgetExhausted();
|
|
271
|
+
budget.attemptsUsed++;
|
|
272
|
+
const fallback = await attemptLlmRequest({
|
|
273
|
+
vctx: args.vctx,
|
|
274
|
+
diag,
|
|
275
|
+
llmReq: fallbackReq,
|
|
276
|
+
label: "fallback",
|
|
277
|
+
firstTokenTimeoutMs: attemptTimeoutMs(),
|
|
278
|
+
});
|
|
279
|
+
if (fallback.ok) {
|
|
280
|
+
args.vctx.logger
|
|
281
|
+
.Info()
|
|
282
|
+
.Any("event", {
|
|
283
|
+
mode: args.mode,
|
|
284
|
+
fromModel: args.llmReq.model,
|
|
285
|
+
toModel: fallbackModel,
|
|
286
|
+
})
|
|
287
|
+
.Msg("llm-fallback-succeeded");
|
|
288
|
+
return { ok: true, res: fallback.res, llmReq: fallbackReq, abort: fallback.abort, attempts };
|
|
289
|
+
}
|
|
290
|
+
attempts.push(fallback.failure);
|
|
291
|
+
return { ok: false, llmReq: fallbackReq, abort: fallback.abort, attempts, error: formatLlmAttemptFailures(attempts) };
|
|
292
|
+
}
|
|
293
|
+
//# sourceMappingURL=llm-dispatch-fallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm-dispatch-fallback.js","sourceRoot":"","sources":["../../jsr/public/llm-dispatch-fallback.ts"],"names":[],"mappings":"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"}
|
package/public/llm-dispatch.d.ts
CHANGED
|
@@ -1,180 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import { LLMRequest, ChatMessage, type LLMMessage, FileSystemRef, BlockEndMsg, type ToolDefinition } from "@vibes.diy/call-ai-v2";
|
|
7
|
-
import { sqlite } from "@vibes.diy/api-sql";
|
|
8
|
-
import { type SectionInitiator } from "../intern/turn-initiator.js";
|
|
9
|
-
import { type LlmToolLoopBudget } from "../intern/llm-tool-loop.js";
|
|
10
|
-
import { type LlmAttemptFailure, type LlmAttemptLabel } from "./provider-errors.js";
|
|
11
|
-
export interface LLMRequestWithHeaders extends LLMRequest {
|
|
12
|
-
headers: LLMHeaders;
|
|
13
|
-
model: string;
|
|
14
|
-
apiKey?: string;
|
|
15
|
-
}
|
|
16
|
-
export declare const DISPATCH_TOTAL_BUDGET_MS = 120000;
|
|
17
|
-
export declare function currentUserMessageText(messages: readonly ChatMessage[]): string;
|
|
18
|
-
export declare function createLlmDispatchBudget(vctx: VibesApiSQLCtx): LlmToolLoopBudget;
|
|
19
|
-
interface LlmAttemptOk {
|
|
20
|
-
readonly ok: true;
|
|
21
|
-
readonly res: Response;
|
|
22
|
-
readonly abort: AbortController;
|
|
23
|
-
}
|
|
24
|
-
interface LlmAttemptErr {
|
|
25
|
-
readonly ok: false;
|
|
26
|
-
readonly abort: AbortController;
|
|
27
|
-
readonly failure: LlmAttemptFailure;
|
|
28
|
-
}
|
|
29
|
-
interface LlmDispatchOk {
|
|
30
|
-
readonly ok: true;
|
|
31
|
-
readonly res: Response;
|
|
32
|
-
readonly llmReq: LLMRequestWithHeaders;
|
|
33
|
-
readonly abort: AbortController;
|
|
34
|
-
readonly attempts: readonly LlmAttemptFailure[];
|
|
35
|
-
}
|
|
36
|
-
interface LlmDispatchErr {
|
|
37
|
-
readonly ok: false;
|
|
38
|
-
readonly llmReq: LLMRequestWithHeaders;
|
|
39
|
-
readonly abort: AbortController;
|
|
40
|
-
readonly attempts: readonly LlmAttemptFailure[];
|
|
41
|
-
readonly error: string;
|
|
42
|
-
}
|
|
43
|
-
type LlmDispatchResult = LlmDispatchOk | LlmDispatchErr;
|
|
44
|
-
type LlmRequestPhase = "initial" | "recovery" | "empty-stream-retry" | "tool-resume" | "work-continuation";
|
|
45
|
-
interface LlmAttemptDiagnosticsCtx {
|
|
46
|
-
readonly chatId: string;
|
|
47
|
-
readonly promptId: string;
|
|
48
|
-
readonly phase: LlmRequestPhase;
|
|
49
|
-
readonly mode: PromptStyle;
|
|
50
|
-
}
|
|
51
|
-
interface DispatchLlmRequestWithFallbackArgs {
|
|
52
|
-
readonly vctx: VibesApiSQLCtx;
|
|
53
|
-
readonly mode: PromptStyle;
|
|
54
|
-
readonly llmReq: LLMRequestWithHeaders;
|
|
55
|
-
readonly chatId: string;
|
|
56
|
-
readonly promptId: string;
|
|
57
|
-
readonly phase: LlmRequestPhase;
|
|
58
|
-
readonly budget?: LlmToolLoopBudget;
|
|
59
|
-
}
|
|
60
|
-
export interface PickFallbackModelArgs {
|
|
61
|
-
readonly models: readonly Model[];
|
|
62
|
-
readonly mode: PromptStyle;
|
|
63
|
-
readonly failedModel: string;
|
|
64
|
-
readonly requireImageInput: boolean;
|
|
65
|
-
}
|
|
66
|
-
export declare function pickFallbackModel(args: PickFallbackModelArgs): Result<string>;
|
|
67
|
-
export interface FindFallbackModelArgs {
|
|
68
|
-
readonly vctx: VibesApiSQLCtx;
|
|
69
|
-
readonly mode: PromptStyle;
|
|
70
|
-
readonly failedModel: string;
|
|
71
|
-
readonly requireImageInput: boolean;
|
|
72
|
-
}
|
|
73
|
-
export declare function findFallbackModel(args: FindFallbackModelArgs): Promise<Result<string>>;
|
|
74
|
-
interface AttemptLlmRequestArgs {
|
|
75
|
-
readonly vctx: VibesApiSQLCtx;
|
|
76
|
-
readonly diag: LlmAttemptDiagnosticsCtx;
|
|
77
|
-
readonly llmReq: LLMRequestWithHeaders;
|
|
78
|
-
readonly label: LlmAttemptLabel;
|
|
79
|
-
readonly firstTokenTimeoutMs: number;
|
|
80
|
-
}
|
|
81
|
-
export declare function attemptLlmRequest(args: AttemptLlmRequestArgs): Promise<LlmAttemptOk | LlmAttemptErr>;
|
|
82
|
-
export declare function dispatchLlmRequestWithFallback(args: DispatchLlmRequestWithFallbackArgs): Promise<LlmDispatchResult>;
|
|
83
|
-
export interface ResChat {
|
|
84
|
-
appSlug: string;
|
|
85
|
-
ownerHandle: string;
|
|
86
|
-
mode: PromptStyle;
|
|
87
|
-
}
|
|
88
|
-
interface AppendBlockEventParams {
|
|
89
|
-
ctx: HandleTriggerCtx<W3CWebSocketEvent, MsgBase<ReqWithVerifiedBuildAuth<ReqPromptChatSection>>, never | VibesDiyError>;
|
|
90
|
-
vctx: VibesApiSQLCtx;
|
|
91
|
-
req: ReqWithVerifiedBuildAuth<ReqPromptChatSection>;
|
|
92
|
-
promptId: string;
|
|
93
|
-
blockSeq: number;
|
|
94
|
-
evt: PromptAndBlockMsgs;
|
|
95
|
-
emitMode?: "store" | "emit-only" | "store-only";
|
|
96
|
-
resChat?: ResChat;
|
|
97
|
-
initiator?: SectionInitiator;
|
|
98
|
-
}
|
|
99
|
-
export declare function appendBlockEvent({ ctx, vctx, req, promptId, blockSeq, evt, emitMode, resChat, initiator, }: AppendBlockEventParams): Promise<Result<void>>;
|
|
100
|
-
export declare function autoPublishOnPersist(vctx: VibesApiSQLCtx, args: {
|
|
101
|
-
readonly ownerHandle: string;
|
|
102
|
-
readonly appSlug: string;
|
|
103
|
-
readonly fsId: string;
|
|
104
|
-
readonly callerUserId: string;
|
|
105
|
-
readonly auth: NonNullable<ReqPromptChatSection["auth"]>;
|
|
106
|
-
readonly promptId: string;
|
|
107
|
-
}): Promise<void>;
|
|
108
|
-
export declare function handlePromptContext({ vctx, req, resChat, promptId, blockSeq, value, collectedMsgs: iCollectedMsgs, proseOnly, blockChunks, fileSystem, model, byok, researchRequested, codegenTheme, codegenVariety, editBaseFsId, initiator, agentDispatched, carried, onFsRef, frontendDraft, persistSections, ctx, step, researchModel, }: {
|
|
109
|
-
step?: PromptStep;
|
|
110
|
-
researchModel?: string;
|
|
111
|
-
vctx: VibesApiSQLCtx;
|
|
112
|
-
req: ReqWithVerifiedBuildAuth<ReqPromptChatSection>;
|
|
113
|
-
ctx?: AppendBlockEventParams["ctx"];
|
|
114
|
-
resChat: ResChat;
|
|
115
|
-
promptId: string;
|
|
116
|
-
blockSeq: number;
|
|
117
|
-
value: BlockEndMsg;
|
|
118
|
-
collectedMsgs: PromptAndBlockMsgs[];
|
|
119
|
-
blockChunks?: number;
|
|
120
|
-
frontendDraft?: boolean;
|
|
121
|
-
persistSections?: (sections: sqlite.SqlChatSection[]) => Promise<Result<void>>;
|
|
122
|
-
fileSystem?: VibeFile[];
|
|
123
|
-
carried?: readonly FileSystemItem[];
|
|
124
|
-
proseOnly?: boolean;
|
|
125
|
-
model?: string;
|
|
126
|
-
byok?: boolean;
|
|
127
|
-
initiator?: "platform";
|
|
128
|
-
agentDispatched?: boolean;
|
|
129
|
-
codegenTheme?: string;
|
|
130
|
-
codegenVariety?: {
|
|
131
|
-
archetype: string;
|
|
132
|
-
flourishes: string[];
|
|
133
|
-
};
|
|
134
|
-
editBaseFsId?: string;
|
|
135
|
-
onFsRef?: (fsRef: FileSystemRef) => Promise<void>;
|
|
136
|
-
researchRequested?: boolean;
|
|
137
|
-
}): Promise<Result<{
|
|
138
|
-
blockSeq: number;
|
|
139
|
-
fsRef: Option<FileSystemRef>;
|
|
140
|
-
deferredPersist?: "awaiting-handle";
|
|
141
|
-
}>>;
|
|
142
|
-
export declare function mergeServerTools(outgoing: {
|
|
143
|
-
readonly tools?: unknown;
|
|
144
|
-
readonly tool_choice?: unknown;
|
|
145
|
-
}, serverTools: readonly ToolDefinition[] | undefined): {
|
|
146
|
-
tools?: ToolDefinition[];
|
|
147
|
-
tool_choice?: "auto";
|
|
148
|
-
};
|
|
149
|
-
export declare function handlerLlmRequest({ scope, ctx, vctx, blockSeq, req, resChat, promptId, preAssembled, serverTools, initiator, agentDispatched, platformInitiated, modelUsage, }: {
|
|
150
|
-
modelUsage?: "agent";
|
|
151
|
-
scope: Scope;
|
|
152
|
-
ctx: HandleTriggerCtx<W3CWebSocketEvent, MsgBase<ReqWithVerifiedAuth<ReqPromptChatSection>>, never | VibesDiyError>;
|
|
153
|
-
vctx: VibesApiSQLCtx;
|
|
154
|
-
req: ReqWithVerifiedAuth<ReqPromptLLMChatSection>;
|
|
155
|
-
resChat: ResChat;
|
|
156
|
-
promptId: string;
|
|
157
|
-
blockSeq: number;
|
|
158
|
-
preAssembled?: {
|
|
159
|
-
model: string;
|
|
160
|
-
messages: LLMMessage[];
|
|
161
|
-
isInitialTurn: boolean;
|
|
162
|
-
codegenTheme?: string;
|
|
163
|
-
codegenVariety?: {
|
|
164
|
-
archetype: string;
|
|
165
|
-
flourishes: string[];
|
|
166
|
-
};
|
|
167
|
-
enrichedPrompt?: string;
|
|
168
|
-
};
|
|
169
|
-
serverTools?: readonly ToolDefinition[];
|
|
170
|
-
initiator?: SectionInitiator;
|
|
171
|
-
agentDispatched?: boolean;
|
|
172
|
-
platformInitiated?: boolean;
|
|
173
|
-
}): Promise<{
|
|
174
|
-
res: Response;
|
|
175
|
-
blockSeq: number;
|
|
176
|
-
llmReq: LLMRequestWithHeaders;
|
|
177
|
-
abort: AbortController;
|
|
178
|
-
urlResearchJob?: UrlResearchJob;
|
|
179
|
-
}>;
|
|
180
|
-
export {};
|
|
1
|
+
export { type LLMRequestWithHeaders, DISPATCH_TOTAL_BUDGET_MS, pickFallbackModel, dispatchLlmRequestWithFallback, } from "./llm-dispatch-fallback.js";
|
|
2
|
+
export { type ResChat, announceModelResolved, appendBlockEvent } from "./append-block-event.js";
|
|
3
|
+
export { autoPublishOnPersist } from "./auto-publish-on-persist.js";
|
|
4
|
+
export { handlePromptContext } from "./handle-prompt-context.js";
|
|
5
|
+
export { currentUserMessageText, mergeServerTools, handlerLlmRequest } from "./handler-llm-request.js";
|