@polpo-ai/server 0.17.3 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/routes/completions/agent-step-runner.d.ts +2 -0
- package/dist/routes/completions/agent-step-runner.d.ts.map +1 -1
- package/dist/routes/completions/agent-step-runner.js +196 -96
- package/dist/routes/completions/agent-step-runner.js.map +1 -1
- package/dist/routes/completions/agent-step-runner.test.js +34 -14
- package/dist/routes/completions/agent-step-runner.test.js.map +1 -1
- package/dist/routes/completions/chat-handler.d.ts +3 -1
- package/dist/routes/completions/chat-handler.d.ts.map +1 -1
- package/dist/routes/completions/chat-handler.js +203 -49
- package/dist/routes/completions/chat-handler.js.map +1 -1
- package/dist/routes/completions/conversation-turn.d.ts.map +1 -1
- package/dist/routes/completions/conversation-turn.js +28 -0
- package/dist/routes/completions/conversation-turn.js.map +1 -1
- package/dist/routes/completions/production-tool-replay.test.d.ts +2 -0
- package/dist/routes/completions/production-tool-replay.test.d.ts.map +1 -0
- package/dist/routes/completions/production-tool-replay.test.js +232 -0
- package/dist/routes/completions/production-tool-replay.test.js.map +1 -0
- package/dist/routes/completions/project-loop-runner.d.ts.map +1 -1
- package/dist/routes/completions/project-loop-runner.js +5 -1
- package/dist/routes/completions/project-loop-runner.js.map +1 -1
- package/dist/routes/completions/sse.d.ts.map +1 -1
- package/dist/routes/completions/sse.js +3 -1
- package/dist/routes/completions/sse.js.map +1 -1
- package/dist/routes/completions/structured-output-phases.test.d.ts +2 -0
- package/dist/routes/completions/structured-output-phases.test.d.ts.map +1 -0
- package/dist/routes/completions/structured-output-phases.test.js +255 -0
- package/dist/routes/completions/structured-output-phases.test.js.map +1 -0
- package/dist/routes/completions/tool-guardrails.d.ts +21 -3
- package/dist/routes/completions/tool-guardrails.d.ts.map +1 -1
- package/dist/routes/completions/tool-guardrails.js +95 -14
- package/dist/routes/completions/tool-guardrails.js.map +1 -1
- package/dist/routes/completions/tool-guardrails.test.js +215 -5
- package/dist/routes/completions/tool-guardrails.test.js.map +1 -1
- package/dist/routes/completions/tool-mapping.d.ts +1 -0
- package/dist/routes/completions/tool-mapping.d.ts.map +1 -1
- package/dist/routes/completions/tool-mapping.js +8 -4
- package/dist/routes/completions/tool-mapping.js.map +1 -1
- package/dist/routes/completions/tool-mapping.test.js +59 -38
- package/dist/routes/completions/tool-mapping.test.js.map +1 -1
- package/dist/routes/completions-loop-runtime.test.js +45 -3
- package/dist/routes/completions-loop-runtime.test.js.map +1 -1
- package/dist/routes/completions-provider-tools.test.js +21 -2
- package/dist/routes/completions-provider-tools.test.js.map +1 -1
- package/dist/routes/completions.d.ts +2 -0
- package/dist/routes/completions.d.ts.map +1 -1
- package/dist/routes/completions.js.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-step-runner.test.js","sourceRoot":"","sources":["../../../src/routes/completions/agent-step-runner.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-step-runner.test.js","sourceRoot":"","sources":["../../../src/routes/completions/agent-step-runner.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ import type { CompletionRouteDeps } from "../completions.js";
|
|
|
14
14
|
import type { CompletionRequestBody } from "./schemas.js";
|
|
15
15
|
import { type ResolvedModelInfo } from "./agent-step-runner.js";
|
|
16
16
|
import { type CanonicalTurnPersistenceContext } from "./tool-mapping.js";
|
|
17
|
-
import type { CompletionToolExecutor } from "./tool-guardrails.js";
|
|
17
|
+
import type { CompletionToolExecutor, CompletionToolProgressState } from "./tool-guardrails.js";
|
|
18
18
|
/** Resolved execution context for a standard (non-loop) chat completion. */
|
|
19
19
|
export interface ChatCompletionExecution {
|
|
20
20
|
deps: CompletionRouteDeps;
|
|
@@ -78,6 +78,8 @@ export interface ChatCompletionExecution {
|
|
|
78
78
|
runtimeContext?: RuntimeContextResolution;
|
|
79
79
|
/** Validated direct-or-loop decision for audit and downstream propagation. */
|
|
80
80
|
executionRoute?: ResolvedExecutionRoute;
|
|
81
|
+
/** Shared with the guarded executor so every chat transport stops on livelock. */
|
|
82
|
+
toolProgressState?: CompletionToolProgressState;
|
|
81
83
|
/**
|
|
82
84
|
* Resource cleanup hook — set when an agent's tool resolver opens
|
|
83
85
|
* long-lived connections (today: MCP transports). Invoked exactly
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-handler.d.ts","sourceRoot":"","sources":["../../../src/routes/completions/chat-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAChB,KAAK,wBAAwB,EAC9B,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAEV,iCAAiC,EACjC,mCAAmC,EACpC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAEhF,OAAO,EAAE,MAAM,EAA2B,MAAM,IAAI,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAML,KAAK,iBAAiB,EACvB,MAAM,wBAAwB,CAAC;AAWhC,OAAO,EAUL,KAAK,+BAA+B,EAGrC,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"chat-handler.d.ts","sourceRoot":"","sources":["../../../src/routes/completions/chat-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,16 +8,23 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { streamSSE } from "hono/streaming";
|
|
10
10
|
import { compactIfNeeded, renderRuntimeToolResult, } from "@polpo-ai/core";
|
|
11
|
-
import {
|
|
11
|
+
import { classifyRuntimeError, runModelPolicyTurn } from "@polpo-ai/llm";
|
|
12
12
|
import { agentConfigForModelAttempt, buildSummarizeFn, completionResolvedModelInfo, MAX_TURNS, modelSelectionForResolvedModel, } from "./agent-step-runner.js";
|
|
13
13
|
import { appendModelResponseMessages } from "./message-mapping.js";
|
|
14
14
|
import { completionResponse, guardrailErrorEnvelope, modelErrorEnvelope, modelNotFoundEnvelope, sseChunk, ssePolpoChunk, structuredOutputErrorEnvelope, } from "./sse.js";
|
|
15
15
|
import { CLIENT_SIDE_TOOLS, CLIENT_SIDE_TOOL_NAMES, emitFileChanged, indexToolResultsByCallId, invalidModelToolCallEvent, isInvalidModelToolCall, appendReasoningSummary, persistAssistantMessage, notifyCanonicalTurnCommitted, recordProviderToolCall, toAITools, } from "./tool-mapping.js";
|
|
16
16
|
import { suggestionsForCompletion } from "./chat-interaction-runtime.js";
|
|
17
|
+
import { CompletionRuntimeError, completionRuntimeErrorEnvelope, } from "./runtime-error.js";
|
|
17
18
|
import { applyCompletionOutputPolicy, streamingOutputPolicyMode, } from "./output-guardrails.js";
|
|
18
19
|
import { finalizeResponseFormatText, isStructuredResponseFormat, serializeModelOutput, } from "./structured-output.js";
|
|
19
20
|
import { selectRequestClientToolCall } from "./client-tools.js";
|
|
20
21
|
import { executeCompletionToolBatch } from "./tool-execution-batch.js";
|
|
22
|
+
function assertChatToolProgress(exec) {
|
|
23
|
+
const stalled = exec.toolProgressState?.stalled;
|
|
24
|
+
if (!stalled)
|
|
25
|
+
return;
|
|
26
|
+
throw new CompletionRuntimeError(stalled.message, stalled.code, 409);
|
|
27
|
+
}
|
|
21
28
|
/**
|
|
22
29
|
* Merge the effective tool palette for the LLM.
|
|
23
30
|
*
|
|
@@ -37,6 +44,104 @@ function mergeAiTools(exec) {
|
|
|
37
44
|
function clientSideToolNames(exec) {
|
|
38
45
|
return exec.clientSideToolNames ?? CLIENT_SIDE_TOOL_NAMES;
|
|
39
46
|
}
|
|
47
|
+
function addChatUsage(a, b) {
|
|
48
|
+
return {
|
|
49
|
+
inputTokens: (a.inputTokens ?? 0) + (b.inputTokens ?? 0),
|
|
50
|
+
outputTokens: (a.outputTokens ?? 0) + (b.outputTokens ?? 0),
|
|
51
|
+
totalTokens: (a.totalTokens ?? 0) + (b.totalTokens ?? 0),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
async function runChatTerminalOutputPhase(options) {
|
|
55
|
+
const { exec, modelSelection, primaryModel, primaryProviderOpts, reasoning, messages, signal, } = options;
|
|
56
|
+
if (!exec.modelOutput) {
|
|
57
|
+
throw new Error("Structured response format is missing its model output contract");
|
|
58
|
+
}
|
|
59
|
+
let originalDiagnostic;
|
|
60
|
+
for (let attemptIndex = 0; attemptIndex < 2; attemptIndex += 1) {
|
|
61
|
+
const isRecovery = attemptIndex === 1;
|
|
62
|
+
if (isRecovery) {
|
|
63
|
+
const { raw: _raw, ...original } = originalDiagnostic;
|
|
64
|
+
exec.deps.emit("runtime:structured-output-recovery", {
|
|
65
|
+
phase: "started",
|
|
66
|
+
source: "chat",
|
|
67
|
+
agent: exec.body.agent,
|
|
68
|
+
sessionId: exec.sessionId,
|
|
69
|
+
original,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
const resolvedAttempts = new Map();
|
|
73
|
+
try {
|
|
74
|
+
const result = await runModelPolicyTurn({
|
|
75
|
+
selection: modelSelection,
|
|
76
|
+
resolveAttempt: async (attempt) => {
|
|
77
|
+
const resolvedAttempt = attempt.index === 0 || !exec.agentMode || !exec.agentConfig
|
|
78
|
+
? { model: primaryModel, providerOptions: primaryProviderOpts }
|
|
79
|
+
: await exec.deps.resolveAgentModel(agentConfigForModelAttempt(exec.agentConfig, attempt.model), reasoning);
|
|
80
|
+
resolvedAttempts.set(attempt.index, resolvedAttempt);
|
|
81
|
+
return {
|
|
82
|
+
model: resolvedAttempt.model.aiModel,
|
|
83
|
+
maxOutputTokens: resolvedAttempt.model.maxTokens,
|
|
84
|
+
providerOptions: resolvedAttempt.providerOptions,
|
|
85
|
+
capabilities: resolvedAttempt.model.capabilities,
|
|
86
|
+
};
|
|
87
|
+
},
|
|
88
|
+
preserveSingleAttemptError: true,
|
|
89
|
+
allowCommittedFallback: true,
|
|
90
|
+
maxRecoverableStreamRetries: 0,
|
|
91
|
+
system: isRecovery
|
|
92
|
+
? `${exec.fullSystemPrompt}\n\n## Terminal structured output recovery\n\nOperational work is complete. Produce only the terminal result matching the requested schema from the canonical conversation and tool results. Do not call tools or repeat side effects.`
|
|
93
|
+
: `${exec.fullSystemPrompt}\n\n## Terminal structured output\n\nOperational work is complete. Produce only the terminal result matching the requested schema from the canonical conversation and tool results.`,
|
|
94
|
+
messages,
|
|
95
|
+
output: exec.modelOutput,
|
|
96
|
+
...(signal ? { abortSignal: signal } : {}),
|
|
97
|
+
});
|
|
98
|
+
if (result.toolCalls.length > 0 || result.output === undefined) {
|
|
99
|
+
throw new Error(result.toolCalls.length > 0
|
|
100
|
+
? "Terminal structured-output phase returned a tool call"
|
|
101
|
+
: "Terminal structured-output phase completed without structured output");
|
|
102
|
+
}
|
|
103
|
+
for (const warning of result.warnings ?? []) {
|
|
104
|
+
exec.deps.emit("runtime:model-warning", {
|
|
105
|
+
source: "chat-terminal-output",
|
|
106
|
+
agent: exec.body.agent,
|
|
107
|
+
sessionId: exec.sessionId,
|
|
108
|
+
warning,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
if (isRecovery) {
|
|
112
|
+
exec.deps.emit("runtime:structured-output-recovery", {
|
|
113
|
+
phase: "succeeded",
|
|
114
|
+
source: "chat",
|
|
115
|
+
agent: exec.body.agent,
|
|
116
|
+
sessionId: exec.sessionId,
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
return {
|
|
120
|
+
result,
|
|
121
|
+
resolved: resolvedAttempts.get(result.selectedAttempt.index),
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
const diagnostic = classifyRuntimeError(error);
|
|
126
|
+
if (!isRecovery) {
|
|
127
|
+
originalDiagnostic = diagnostic;
|
|
128
|
+
continue;
|
|
129
|
+
}
|
|
130
|
+
const { raw: _originalRaw, ...original } = originalDiagnostic;
|
|
131
|
+
const { raw: _recoveryRaw, ...recovery } = diagnostic;
|
|
132
|
+
exec.deps.emit("runtime:structured-output-recovery", {
|
|
133
|
+
phase: "failed",
|
|
134
|
+
source: "chat",
|
|
135
|
+
agent: exec.body.agent,
|
|
136
|
+
sessionId: exec.sessionId,
|
|
137
|
+
original,
|
|
138
|
+
recovery,
|
|
139
|
+
});
|
|
140
|
+
throw error;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
throw new Error("Terminal structured-output phase failed");
|
|
144
|
+
}
|
|
40
145
|
/** Streaming chat mode — SSE stream of OpenAI-format chunks. */
|
|
41
146
|
export function streamChatCompletion(c, exec) {
|
|
42
147
|
return streamSSE(c, async (stream) => {
|
|
@@ -67,9 +172,6 @@ export async function executeStreamingChatCompletion(stream, exec, signal) {
|
|
|
67
172
|
const reasoning = exec.agentConfig?.reasoning ?? deps.getConfig()?.settings?.reasoning;
|
|
68
173
|
const outputMode = streamingOutputPolicyMode(deps.runOutputPolicy);
|
|
69
174
|
const structuredResponse = isStructuredResponseFormat(body.response_format);
|
|
70
|
-
// Structured answers stream their raw JSON like plain text; the validated,
|
|
71
|
-
// canonical JSON is confirmed (or the stream fails) once the turn ends.
|
|
72
|
-
const streamStructured = structuredResponse && outputMode !== "buffer";
|
|
73
175
|
await stream.writeSSE({ data: sseChunk(completionId, { role: "assistant" }) });
|
|
74
176
|
// Reserve a placeholder message in the store BEFORE streaming.
|
|
75
177
|
// This guarantees the assistant message exists even if the client disconnects.
|
|
@@ -92,7 +194,7 @@ export async function executeStreamingChatCompletion(stream, exec, signal) {
|
|
|
92
194
|
let suggestions = [];
|
|
93
195
|
let persistenceAttempted = false;
|
|
94
196
|
let clientToolCallId;
|
|
95
|
-
let
|
|
197
|
+
let completedStructuredOutput = false;
|
|
96
198
|
const persistResponse = async (canonicalTurnSucceeded = false) => {
|
|
97
199
|
persistenceAttempted = true;
|
|
98
200
|
const committedTurn = await persistAssistantMessage(sessionStore, sessionId, assistantMsgId, finalText, toolCallsAccum, {
|
|
@@ -124,19 +226,35 @@ export async function executeStreamingChatCompletion(stream, exec, signal) {
|
|
|
124
226
|
outputPolicyApplied = true;
|
|
125
227
|
if (!finalText)
|
|
126
228
|
return;
|
|
127
|
-
if (outputMode === "buffer" ||
|
|
229
|
+
if (outputMode === "buffer" || structuredResponse) {
|
|
128
230
|
await stream.writeSSE({ data: sseChunk(completionId, { content: finalText }) });
|
|
129
231
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
232
|
+
};
|
|
233
|
+
const completeTerminalOutput = async () => {
|
|
234
|
+
const terminal = await runChatTerminalOutputPhase({
|
|
235
|
+
exec,
|
|
236
|
+
modelSelection,
|
|
237
|
+
primaryModel,
|
|
238
|
+
primaryProviderOpts,
|
|
239
|
+
reasoning,
|
|
240
|
+
messages,
|
|
241
|
+
signal,
|
|
242
|
+
});
|
|
243
|
+
if (terminal.resolved) {
|
|
244
|
+
m = terminal.resolved.model;
|
|
245
|
+
providerOpts = terminal.resolved.providerOptions;
|
|
136
246
|
}
|
|
247
|
+
totalUsage = addChatUsage(totalUsage, terminal.result.usage);
|
|
248
|
+
finalReasoning = appendReasoningSummary(finalReasoning, terminal.result.reasoning);
|
|
249
|
+
lastProviderMetadata = terminal.result.providerMetadata;
|
|
250
|
+
finalText = await serializeModelOutput(body.response_format, terminal.result.output, terminal.result.text);
|
|
251
|
+
completedStructuredOutput = true;
|
|
137
252
|
};
|
|
138
253
|
try {
|
|
139
|
-
|
|
254
|
+
if (structuredResponse && Object.keys(aiTools).length === 0) {
|
|
255
|
+
await completeTerminalOutput();
|
|
256
|
+
}
|
|
257
|
+
for (let turn = 0; !completedStructuredOutput && turn < MAX_TURNS; turn++) {
|
|
140
258
|
// Bail out early if the client already disconnected
|
|
141
259
|
if (signal.aborted)
|
|
142
260
|
break;
|
|
@@ -177,7 +295,6 @@ export async function executeStreamingChatCompletion(stream, exec, signal) {
|
|
|
177
295
|
// token-by-token input deltas, so the UI can render the call as it
|
|
178
296
|
// builds up instead of waiting for the whole turn to finish.
|
|
179
297
|
const toolCallNames = new Map();
|
|
180
|
-
const structuredGate = streamStructured ? new StructuredOutputDeltaGate() : undefined;
|
|
181
298
|
const resolvedAttempts = new Map();
|
|
182
299
|
const result = await runModelPolicyTurn({
|
|
183
300
|
selection: modelSelection,
|
|
@@ -190,6 +307,7 @@ export async function executeStreamingChatCompletion(stream, exec, signal) {
|
|
|
190
307
|
model: resolvedAttempt.model.aiModel,
|
|
191
308
|
maxOutputTokens: resolvedAttempt.model.maxTokens,
|
|
192
309
|
providerOptions: resolvedAttempt.providerOptions,
|
|
310
|
+
capabilities: resolvedAttempt.model.capabilities,
|
|
193
311
|
};
|
|
194
312
|
},
|
|
195
313
|
preserveSingleAttemptError: true,
|
|
@@ -201,12 +319,19 @@ export async function executeStreamingChatCompletion(stream, exec, signal) {
|
|
|
201
319
|
...(body.parallel_tool_calls !== undefined
|
|
202
320
|
? { parallelToolCalls: body.parallel_tool_calls }
|
|
203
321
|
: {}),
|
|
204
|
-
...(exec.modelOutput ? { output: exec.modelOutput } : {}),
|
|
205
322
|
abortSignal: signal,
|
|
206
323
|
}, async (event) => {
|
|
207
324
|
if (signal.aborted)
|
|
208
325
|
return;
|
|
209
|
-
if (event.type === "
|
|
326
|
+
if (event.type === "warning") {
|
|
327
|
+
deps.emit("runtime:model-warning", {
|
|
328
|
+
source: "chat",
|
|
329
|
+
agent: body.agent,
|
|
330
|
+
sessionId,
|
|
331
|
+
warning: event.warning,
|
|
332
|
+
});
|
|
333
|
+
}
|
|
334
|
+
else if (event.type === "reasoning-delta") {
|
|
210
335
|
await stream.writeSSE({ data: sseChunk(completionId, {}, null, { thinking: event.text }) });
|
|
211
336
|
}
|
|
212
337
|
else if (event.type === "text-delta") {
|
|
@@ -216,10 +341,6 @@ export async function executeStreamingChatCompletion(stream, exec, signal) {
|
|
|
216
341
|
if (outputMode !== "buffer" && !structuredResponse) {
|
|
217
342
|
await stream.writeSSE({ data: sseChunk(completionId, { content: event.text }) });
|
|
218
343
|
}
|
|
219
|
-
const structuredText = structuredGate?.push(event.text);
|
|
220
|
-
if (structuredText) {
|
|
221
|
-
await stream.writeSSE({ data: sseChunk(completionId, { content: structuredText }) });
|
|
222
|
-
}
|
|
223
344
|
}
|
|
224
345
|
else if (event.type === "tool-input-start") {
|
|
225
346
|
// Emit early "preparing" signal — the LLM has started generating a tool call
|
|
@@ -279,32 +400,20 @@ export async function executeStreamingChatCompletion(stream, exec, signal) {
|
|
|
279
400
|
break;
|
|
280
401
|
}
|
|
281
402
|
const toolCalls = result.toolCalls;
|
|
282
|
-
structuredStreamed = structuredGate?.streamed === true && toolCalls.length === 0;
|
|
283
|
-
if (structuredGate?.streamed && toolCalls.length > 0) {
|
|
284
|
-
// This turn's JSON-looking text was not the answer: withdraw it.
|
|
285
|
-
await stream.writeSSE({
|
|
286
|
-
data: ssePolpoChunk(completionId, { structured_output: { state: "reset" } }),
|
|
287
|
-
});
|
|
288
|
-
}
|
|
289
|
-
if (structuredResponse && toolCalls.length === 0) {
|
|
290
|
-
turnText = await serializeModelOutput(body.response_format, result.output, turnText);
|
|
291
|
-
finalText += turnText;
|
|
292
|
-
}
|
|
293
403
|
const usage = result.usage;
|
|
294
404
|
const selectedResolved = resolvedAttempts.get(result.selectedAttempt.index);
|
|
295
405
|
if (selectedResolved) {
|
|
296
406
|
m = selectedResolved.model;
|
|
297
407
|
providerOpts = selectedResolved.providerOptions;
|
|
298
408
|
}
|
|
299
|
-
totalUsage =
|
|
300
|
-
inputTokens: (totalUsage.inputTokens ?? 0) + (usage.inputTokens ?? 0),
|
|
301
|
-
outputTokens: (totalUsage.outputTokens ?? 0) + (usage.outputTokens ?? 0),
|
|
302
|
-
totalTokens: (totalUsage.totalTokens ?? 0) + (usage.totalTokens ?? 0),
|
|
303
|
-
};
|
|
409
|
+
totalUsage = addChatUsage(totalUsage, usage);
|
|
304
410
|
lastProviderMetadata = result.providerMetadata;
|
|
305
411
|
await appendModelResponseMessages(messages, result, turnText, toolCalls, exec.contextTrust ?? "off");
|
|
306
|
-
if (toolCalls.length === 0)
|
|
412
|
+
if (toolCalls.length === 0) {
|
|
413
|
+
if (structuredResponse)
|
|
414
|
+
await completeTerminalOutput();
|
|
307
415
|
break;
|
|
416
|
+
}
|
|
308
417
|
const dispatchableToolCalls = toolCalls.filter((call) => !isInvalidModelToolCall(call));
|
|
309
418
|
for (const call of toolCalls.filter(isInvalidModelToolCall)) {
|
|
310
419
|
const event = invalidModelToolCallEvent(call);
|
|
@@ -518,6 +627,7 @@ export async function executeStreamingChatCompletion(stream, exec, signal) {
|
|
|
518
627
|
const local = localResults[localResultIndex++];
|
|
519
628
|
await appendLocalResult(call, local.input, local.result, local.isError);
|
|
520
629
|
}
|
|
630
|
+
assertChatToolProgress(exec);
|
|
521
631
|
}
|
|
522
632
|
else {
|
|
523
633
|
for (const call of dispatchableToolCalls) {
|
|
@@ -538,9 +648,13 @@ export async function executeStreamingChatCompletion(stream, exec, signal) {
|
|
|
538
648
|
signal,
|
|
539
649
|
});
|
|
540
650
|
await appendLocalResult(call, callArgs, toolResult, toolResult.startsWith("Error:"));
|
|
651
|
+
assertChatToolProgress(exec);
|
|
541
652
|
}
|
|
542
653
|
}
|
|
543
654
|
}
|
|
655
|
+
if (structuredResponse && !completedStructuredOutput && !signal.aborted) {
|
|
656
|
+
await completeTerminalOutput();
|
|
657
|
+
}
|
|
544
658
|
if (!signal.aborted) {
|
|
545
659
|
await finalizeOutput();
|
|
546
660
|
suggestions = await suggestionsForCompletion(exec, finalText, signal);
|
|
@@ -569,6 +683,7 @@ export async function executeStreamingChatCompletion(stream, exec, signal) {
|
|
|
569
683
|
// rename). Without this catch the error propagates as a 500.
|
|
570
684
|
const structuredOutputError = structuredOutputErrorEnvelope(err, structuredResponse);
|
|
571
685
|
const guardrailError = guardrailErrorEnvelope(err);
|
|
686
|
+
const runtimeError = completionRuntimeErrorEnvelope(err);
|
|
572
687
|
const notFound = modelNotFoundEnvelope(err, m?.id, body.agent);
|
|
573
688
|
if (structuredOutputError) {
|
|
574
689
|
await stream.writeSSE({
|
|
@@ -584,6 +699,13 @@ export async function executeStreamingChatCompletion(stream, exec, signal) {
|
|
|
584
699
|
});
|
|
585
700
|
await stream.writeSSE({ data: "[DONE]" });
|
|
586
701
|
}
|
|
702
|
+
else if (runtimeError) {
|
|
703
|
+
finalText = runtimeError.error.message;
|
|
704
|
+
await stream.writeSSE({
|
|
705
|
+
data: sseChunk(completionId, {}, "stop", { error: runtimeError.error }),
|
|
706
|
+
});
|
|
707
|
+
await stream.writeSSE({ data: "[DONE]" });
|
|
708
|
+
}
|
|
587
709
|
else if (notFound) {
|
|
588
710
|
await stream.writeSSE({
|
|
589
711
|
data: sseChunk(completionId, {}, "stop", { error: notFound }),
|
|
@@ -660,6 +782,7 @@ export async function runNonStreamingChatCompletion(c, exec) {
|
|
|
660
782
|
let suggestions = [];
|
|
661
783
|
let canonicalTurnSucceeded = false;
|
|
662
784
|
let clientToolCallId;
|
|
785
|
+
let completedStructuredOutput = false;
|
|
663
786
|
const finalizeOutput = async (validateStructured = true) => {
|
|
664
787
|
if (outputPolicyApplied)
|
|
665
788
|
return;
|
|
@@ -676,8 +799,31 @@ export async function runNonStreamingChatCompletion(c, exec) {
|
|
|
676
799
|
}
|
|
677
800
|
outputPolicyApplied = true;
|
|
678
801
|
};
|
|
802
|
+
const completeTerminalOutput = async () => {
|
|
803
|
+
const terminal = await runChatTerminalOutputPhase({
|
|
804
|
+
exec,
|
|
805
|
+
modelSelection,
|
|
806
|
+
primaryModel,
|
|
807
|
+
primaryProviderOpts,
|
|
808
|
+
reasoning,
|
|
809
|
+
messages,
|
|
810
|
+
signal: c.req.raw.signal,
|
|
811
|
+
});
|
|
812
|
+
if (terminal.resolved) {
|
|
813
|
+
m = terminal.resolved.model;
|
|
814
|
+
providerOpts = terminal.resolved.providerOptions;
|
|
815
|
+
}
|
|
816
|
+
totalUsage = addChatUsage(totalUsage, terminal.result.usage);
|
|
817
|
+
finalReasoning = appendReasoningSummary(finalReasoning, terminal.result.reasoning);
|
|
818
|
+
lastProviderMetadata = terminal.result.providerMetadata;
|
|
819
|
+
finalText = await serializeModelOutput(body.response_format, terminal.result.output, terminal.result.text);
|
|
820
|
+
completedStructuredOutput = true;
|
|
821
|
+
};
|
|
679
822
|
try {
|
|
680
|
-
|
|
823
|
+
if (structuredResponse && Object.keys(aiTools).length === 0) {
|
|
824
|
+
await completeTerminalOutput();
|
|
825
|
+
}
|
|
826
|
+
for (let turn = 0; !completedStructuredOutput && turn < MAX_TURNS; turn++) {
|
|
681
827
|
// Compact context if approaching the model's context window limit.
|
|
682
828
|
// Under threshold this is just a cheap token estimation — zero LLM calls.
|
|
683
829
|
const compactionResult = await compactIfNeeded({
|
|
@@ -707,6 +853,7 @@ export async function runNonStreamingChatCompletion(c, exec) {
|
|
|
707
853
|
model: resolvedAttempt.model.aiModel,
|
|
708
854
|
maxOutputTokens: resolvedAttempt.model.maxTokens,
|
|
709
855
|
providerOptions: resolvedAttempt.providerOptions,
|
|
856
|
+
capabilities: resolvedAttempt.model.capabilities,
|
|
710
857
|
};
|
|
711
858
|
},
|
|
712
859
|
preserveSingleAttemptError: true,
|
|
@@ -718,29 +865,26 @@ export async function runNonStreamingChatCompletion(c, exec) {
|
|
|
718
865
|
...(body.parallel_tool_calls !== undefined
|
|
719
866
|
? { parallelToolCalls: body.parallel_tool_calls }
|
|
720
867
|
: {}),
|
|
721
|
-
...(exec.modelOutput ? { output: exec.modelOutput } : {}),
|
|
722
868
|
});
|
|
723
869
|
finalReasoning = appendReasoningSummary(finalReasoning, turnResult.reasoning);
|
|
724
|
-
const turnText =
|
|
725
|
-
? await serializeModelOutput(body.response_format, turnResult.output, turnResult.text)
|
|
726
|
-
: turnResult.text;
|
|
870
|
+
const turnText = turnResult.text;
|
|
727
871
|
const selectedResolved = resolvedAttempts.get(turnResult.selectedAttempt.index);
|
|
728
872
|
if (selectedResolved) {
|
|
729
873
|
m = selectedResolved.model;
|
|
730
874
|
providerOpts = selectedResolved.providerOptions;
|
|
731
875
|
}
|
|
732
876
|
const usage = turnResult.usage;
|
|
733
|
-
totalUsage =
|
|
734
|
-
inputTokens: (totalUsage.inputTokens ?? 0) + (usage.inputTokens ?? 0),
|
|
735
|
-
outputTokens: (totalUsage.outputTokens ?? 0) + (usage.outputTokens ?? 0),
|
|
736
|
-
totalTokens: (totalUsage.totalTokens ?? 0) + (usage.totalTokens ?? 0),
|
|
737
|
-
};
|
|
877
|
+
totalUsage = addChatUsage(totalUsage, usage);
|
|
738
878
|
lastProviderMetadata = turnResult.providerMetadata;
|
|
739
879
|
await appendModelResponseMessages(messages, turnResult, turnText, turnResult.toolCalls, exec.contextTrust ?? "off");
|
|
740
|
-
|
|
880
|
+
if (!structuredResponse)
|
|
881
|
+
finalText += turnText;
|
|
741
882
|
const toolCalls = turnResult.toolCalls;
|
|
742
|
-
if (toolCalls.length === 0)
|
|
883
|
+
if (toolCalls.length === 0) {
|
|
884
|
+
if (structuredResponse)
|
|
885
|
+
await completeTerminalOutput();
|
|
743
886
|
break;
|
|
887
|
+
}
|
|
744
888
|
const dispatchableToolCalls = toolCalls.filter((call) => !isInvalidModelToolCall(call));
|
|
745
889
|
for (const call of toolCalls.filter(isInvalidModelToolCall)) {
|
|
746
890
|
toolCallsAccum.push(invalidModelToolCallEvent(call));
|
|
@@ -961,6 +1105,7 @@ export async function runNonStreamingChatCompletion(c, exec) {
|
|
|
961
1105
|
const local = localResults[localResultIndex++];
|
|
962
1106
|
appendLocalResult(call, local.input, local.result, local.isError);
|
|
963
1107
|
}
|
|
1108
|
+
assertChatToolProgress(exec);
|
|
964
1109
|
}
|
|
965
1110
|
else {
|
|
966
1111
|
for (const call of dispatchableToolCalls) {
|
|
@@ -974,9 +1119,13 @@ export async function runNonStreamingChatCompletion(c, exec) {
|
|
|
974
1119
|
signal: c.req.raw.signal,
|
|
975
1120
|
});
|
|
976
1121
|
appendLocalResult(call, callArgs, toolResult, toolResult.startsWith("Error:"));
|
|
1122
|
+
assertChatToolProgress(exec);
|
|
977
1123
|
}
|
|
978
1124
|
}
|
|
979
1125
|
}
|
|
1126
|
+
if (structuredResponse && !completedStructuredOutput && !c.req.raw.signal.aborted) {
|
|
1127
|
+
await completeTerminalOutput();
|
|
1128
|
+
}
|
|
980
1129
|
await finalizeOutput();
|
|
981
1130
|
suggestions = await suggestionsForCompletion(exec, finalText, c.req.raw.signal);
|
|
982
1131
|
canonicalTurnSucceeded = !c.req.raw.signal.aborted;
|
|
@@ -996,6 +1145,11 @@ export async function runNonStreamingChatCompletion(c, exec) {
|
|
|
996
1145
|
outputPolicyApplied = true;
|
|
997
1146
|
return c.json({ error: guardrailError }, (guardrailError.code === "guardrail_approval_required" ? 409 : 403));
|
|
998
1147
|
}
|
|
1148
|
+
const runtimeError = completionRuntimeErrorEnvelope(err);
|
|
1149
|
+
if (runtimeError) {
|
|
1150
|
+
finalText = runtimeError.error.message;
|
|
1151
|
+
return c.json({ error: runtimeError.error }, runtimeError.status);
|
|
1152
|
+
}
|
|
999
1153
|
const notFound = modelNotFoundEnvelope(err, m?.id, body.agent);
|
|
1000
1154
|
if (notFound) {
|
|
1001
1155
|
return c.json({ error: notFound }, 400);
|