@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.
Files changed (47) hide show
  1. package/dist/routes/completions/agent-step-runner.d.ts +2 -0
  2. package/dist/routes/completions/agent-step-runner.d.ts.map +1 -1
  3. package/dist/routes/completions/agent-step-runner.js +196 -96
  4. package/dist/routes/completions/agent-step-runner.js.map +1 -1
  5. package/dist/routes/completions/agent-step-runner.test.js +34 -14
  6. package/dist/routes/completions/agent-step-runner.test.js.map +1 -1
  7. package/dist/routes/completions/chat-handler.d.ts +3 -1
  8. package/dist/routes/completions/chat-handler.d.ts.map +1 -1
  9. package/dist/routes/completions/chat-handler.js +203 -49
  10. package/dist/routes/completions/chat-handler.js.map +1 -1
  11. package/dist/routes/completions/conversation-turn.d.ts.map +1 -1
  12. package/dist/routes/completions/conversation-turn.js +28 -0
  13. package/dist/routes/completions/conversation-turn.js.map +1 -1
  14. package/dist/routes/completions/production-tool-replay.test.d.ts +2 -0
  15. package/dist/routes/completions/production-tool-replay.test.d.ts.map +1 -0
  16. package/dist/routes/completions/production-tool-replay.test.js +232 -0
  17. package/dist/routes/completions/production-tool-replay.test.js.map +1 -0
  18. package/dist/routes/completions/project-loop-runner.d.ts.map +1 -1
  19. package/dist/routes/completions/project-loop-runner.js +5 -1
  20. package/dist/routes/completions/project-loop-runner.js.map +1 -1
  21. package/dist/routes/completions/sse.d.ts.map +1 -1
  22. package/dist/routes/completions/sse.js +3 -1
  23. package/dist/routes/completions/sse.js.map +1 -1
  24. package/dist/routes/completions/structured-output-phases.test.d.ts +2 -0
  25. package/dist/routes/completions/structured-output-phases.test.d.ts.map +1 -0
  26. package/dist/routes/completions/structured-output-phases.test.js +255 -0
  27. package/dist/routes/completions/structured-output-phases.test.js.map +1 -0
  28. package/dist/routes/completions/tool-guardrails.d.ts +21 -3
  29. package/dist/routes/completions/tool-guardrails.d.ts.map +1 -1
  30. package/dist/routes/completions/tool-guardrails.js +95 -14
  31. package/dist/routes/completions/tool-guardrails.js.map +1 -1
  32. package/dist/routes/completions/tool-guardrails.test.js +215 -5
  33. package/dist/routes/completions/tool-guardrails.test.js.map +1 -1
  34. package/dist/routes/completions/tool-mapping.d.ts +1 -0
  35. package/dist/routes/completions/tool-mapping.d.ts.map +1 -1
  36. package/dist/routes/completions/tool-mapping.js +8 -4
  37. package/dist/routes/completions/tool-mapping.js.map +1 -1
  38. package/dist/routes/completions/tool-mapping.test.js +59 -38
  39. package/dist/routes/completions/tool-mapping.test.js.map +1 -1
  40. package/dist/routes/completions-loop-runtime.test.js +45 -3
  41. package/dist/routes/completions-loop-runtime.test.js.map +1 -1
  42. package/dist/routes/completions-provider-tools.test.js +21 -2
  43. package/dist/routes/completions-provider-tools.test.js.map +1 -1
  44. package/dist/routes/completions.d.ts +2 -0
  45. package/dist/routes/completions.d.ts.map +1 -1
  46. package/dist/routes/completions.js.map +1 -1
  47. 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":"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"}
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 { StructuredOutputDeltaGate, runModelPolicyTurn } from "@polpo-ai/llm";
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 structuredStreamed = false;
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" || (structuredResponse && !structuredStreamed)) {
229
+ if (outputMode === "buffer" || structuredResponse) {
128
230
  await stream.writeSSE({ data: sseChunk(completionId, { content: finalText }) });
129
231
  }
130
- else if (structuredStreamed && validateStructured) {
131
- await stream.writeSSE({
132
- data: ssePolpoChunk(completionId, {
133
- structured_output: { state: "complete", content: finalText },
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
- for (let turn = 0; turn < MAX_TURNS; turn++) {
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 === "reasoning-delta") {
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
- for (let turn = 0; turn < MAX_TURNS; turn++) {
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 = structuredResponse && turnResult.toolCalls.length === 0
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
- finalText += turnText;
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);