@polpo-ai/server 0.17.2 → 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 (77) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/project-environment.d.ts +9 -0
  6. package/dist/project-environment.d.ts.map +1 -0
  7. package/dist/project-environment.js +31 -0
  8. package/dist/project-environment.js.map +1 -0
  9. package/dist/project-environment.test.d.ts +2 -0
  10. package/dist/project-environment.test.d.ts.map +1 -0
  11. package/dist/project-environment.test.js +62 -0
  12. package/dist/project-environment.test.js.map +1 -0
  13. package/dist/routes/completions/agent-step-runner.d.ts +2 -0
  14. package/dist/routes/completions/agent-step-runner.d.ts.map +1 -1
  15. package/dist/routes/completions/agent-step-runner.js +196 -96
  16. package/dist/routes/completions/agent-step-runner.js.map +1 -1
  17. package/dist/routes/completions/agent-step-runner.test.js +34 -14
  18. package/dist/routes/completions/agent-step-runner.test.js.map +1 -1
  19. package/dist/routes/completions/chat-handler.d.ts +3 -1
  20. package/dist/routes/completions/chat-handler.d.ts.map +1 -1
  21. package/dist/routes/completions/chat-handler.js +203 -49
  22. package/dist/routes/completions/chat-handler.js.map +1 -1
  23. package/dist/routes/completions/conversation-turn.d.ts.map +1 -1
  24. package/dist/routes/completions/conversation-turn.js +28 -0
  25. package/dist/routes/completions/conversation-turn.js.map +1 -1
  26. package/dist/routes/completions/production-tool-replay.test.d.ts +2 -0
  27. package/dist/routes/completions/production-tool-replay.test.d.ts.map +1 -0
  28. package/dist/routes/completions/production-tool-replay.test.js +232 -0
  29. package/dist/routes/completions/production-tool-replay.test.js.map +1 -0
  30. package/dist/routes/completions/project-loop-runner.d.ts.map +1 -1
  31. package/dist/routes/completions/project-loop-runner.js +5 -1
  32. package/dist/routes/completions/project-loop-runner.js.map +1 -1
  33. package/dist/routes/completions/schemas.d.ts +2 -2
  34. package/dist/routes/completions/sse.d.ts.map +1 -1
  35. package/dist/routes/completions/sse.js +3 -1
  36. package/dist/routes/completions/sse.js.map +1 -1
  37. package/dist/routes/completions/structured-output-phases.test.d.ts +2 -0
  38. package/dist/routes/completions/structured-output-phases.test.d.ts.map +1 -0
  39. package/dist/routes/completions/structured-output-phases.test.js +255 -0
  40. package/dist/routes/completions/structured-output-phases.test.js.map +1 -0
  41. package/dist/routes/completions/tool-guardrails.d.ts +21 -3
  42. package/dist/routes/completions/tool-guardrails.d.ts.map +1 -1
  43. package/dist/routes/completions/tool-guardrails.js +95 -14
  44. package/dist/routes/completions/tool-guardrails.js.map +1 -1
  45. package/dist/routes/completions/tool-guardrails.test.js +215 -5
  46. package/dist/routes/completions/tool-guardrails.test.js.map +1 -1
  47. package/dist/routes/completions/tool-mapping.d.ts +1 -0
  48. package/dist/routes/completions/tool-mapping.d.ts.map +1 -1
  49. package/dist/routes/completions/tool-mapping.js +8 -4
  50. package/dist/routes/completions/tool-mapping.js.map +1 -1
  51. package/dist/routes/completions/tool-mapping.test.js +59 -38
  52. package/dist/routes/completions/tool-mapping.test.js.map +1 -1
  53. package/dist/routes/completions-loop-runtime.test.js +45 -3
  54. package/dist/routes/completions-loop-runtime.test.js.map +1 -1
  55. package/dist/routes/completions-provider-tools.test.js +21 -2
  56. package/dist/routes/completions-provider-tools.test.js.map +1 -1
  57. package/dist/routes/completions.d.ts +2 -0
  58. package/dist/routes/completions.d.ts.map +1 -1
  59. package/dist/routes/completions.js.map +1 -1
  60. package/dist/routes/connect.d.ts.map +1 -1
  61. package/dist/routes/connect.js +40 -0
  62. package/dist/routes/connect.js.map +1 -1
  63. package/dist/routes/connect.test.js +48 -1
  64. package/dist/routes/connect.test.js.map +1 -1
  65. package/dist/routes/custom-tools.d.ts.map +1 -1
  66. package/dist/routes/custom-tools.js +77 -57
  67. package/dist/routes/custom-tools.js.map +1 -1
  68. package/dist/routes/custom-tools.test.js +110 -1
  69. package/dist/routes/custom-tools.test.js.map +1 -1
  70. package/dist/routes/files.d.ts +2 -0
  71. package/dist/routes/files.d.ts.map +1 -1
  72. package/dist/routes/files.js +1 -1
  73. package/dist/routes/files.js.map +1 -1
  74. package/dist/routes/files.test.js +11 -0
  75. package/dist/routes/files.test.js.map +1 -1
  76. package/dist/schemas.d.ts +5 -5
  77. package/package.json +7 -7
@@ -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);
@@ -1 +1 @@
1
- {"version":3,"file":"chat-handler.js","sourceRoot":"","sources":["../../../src/routes/completions/chat-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-handler.js","sourceRoot":"","sources":["../../../src/routes/completions/chat-handler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-turn.d.ts","sourceRoot":"","sources":["../../../src/routes/completions/conversation-turn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-turn.d.ts","sourceRoot":"","sources":["../../../src/routes/completions/conversation-turn.ts"],"names":[],"mappings":"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"}