@openclaw/ai 2026.10.10-beta.3 → 2026.10.10-beta.5

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 (28) hide show
  1. package/dist/{anthropic-16B3dgU4.mjs → anthropic-B54Ts1tV.mjs} +2 -2
  2. package/dist/{anthropic-stream-reducer-kxyYeesU.mjs → anthropic-stream-reducer-C__ByTq1.mjs} +2 -1
  3. package/dist/{azure-openai-responses-DFcmh7LD.mjs → azure-openai-responses-DHzTwi-y.mjs} +1 -1
  4. package/dist/{google-interactions-G1sECmlf.mjs → google-interactions-1XAHjAQo.mjs} +14 -11
  5. package/dist/internal/anthropic.mjs +2 -2
  6. package/dist/internal/openai-completions-compat.d.mts +1 -1
  7. package/dist/internal/openai-completions-compat.mjs +1 -1
  8. package/dist/internal/openai.d.mts +1 -1
  9. package/dist/internal/openai.mjs +6 -6
  10. package/dist/internal/runtime.mjs +1 -1
  11. package/dist/internal/shared.mjs +1 -1
  12. package/dist/{openai-chatgpt-responses-CZH7am6J.mjs → openai-chatgpt-responses-BHkSHjkO.mjs} +5 -5
  13. package/dist/{openai-completions-BKHzrKjZ.mjs → openai-completions-CB-wfbsI.mjs} +1 -1
  14. package/dist/{openai-completions-compat-1gsjP-KO.d.mts → openai-completions-compat-CBvb2eld.d.mts} +2 -0
  15. package/dist/{openai-completions-compat-BaSOvO4F.mjs → openai-completions-compat-CJ0OXZgi.mjs} +2 -0
  16. package/dist/{openai-completions-transport-PLb2fTJW.mjs → openai-completions-transport-CqomHW1O.mjs} +15 -10
  17. package/dist/{openai-prompt-cache-C9l8FtID.mjs → openai-prompt-cache-h8vXRiaH.mjs} +1 -1
  18. package/dist/{openai-responses-6GnBON7Q.mjs → openai-responses-Cp2QPq7K.mjs} +4 -4
  19. package/dist/{openai-responses-request-lifecycle-GbTsoa3_.mjs → openai-responses-request-lifecycle-DQDyzE6F.mjs} +2 -2
  20. package/dist/{openai-responses-shared-Bl7Bm4Tn.mjs → openai-responses-shared-CNfHudFg.mjs} +22 -6
  21. package/dist/{overflow-DJHXTNBQ.mjs → overflow-OF3PgPbw.mjs} +3 -0
  22. package/dist/provider-replay-context-BC23HyZo.mjs +25 -0
  23. package/dist/{provider-transport-turn-state-DM9Mbjfp.mjs → provider-transport-turn-state-B11rmZpv.mjs} +1 -1
  24. package/dist/providers.mjs +7 -7
  25. package/dist/{provider-replay-context-BGueqVCi.mjs → transport-utils-CcCAuFVS.mjs} +2 -25
  26. package/dist/transports.d.mts +3 -1
  27. package/dist/transports.mjs +7 -7
  28. package/package.json +1 -1
@@ -2,8 +2,8 @@ import { n as __exportAll } from "./reasoning-tag-text-partitioner-DzlRubwU.mjs"
2
2
  import { w as supportsClaudeAdaptiveThinking } from "./src-CyA0zJnt.mjs";
3
3
  import { t as AssistantMessageEventStream } from "./event-stream-X2gmsUWv.mjs";
4
4
  import { T as usesClaudeStreamingRefusalContract, _ as buildAnthropicClaudeCodeIdentity, a as resolveAiTransportHeaderSentinels, b as prepareClaudeNoPrefillRequestContext, r as getAiTransportHost } from "./host-rCxf5Tjd.mjs";
5
- import { u as streamFragmentError } from "./provider-replay-context-BGueqVCi.mjs";
6
- import { F as supportsAnthropicServerSideFallback, H as isAnthropicOAuthApiKey, O as isDirectAnthropicModel, U as omitFoundryBearerCredentialHeaders, W as usesFoundryBearerAuth, d as applyAnthropicThinkingOptions, l as buildAnthropicRequest, t as consumeAnthropicStream, u as prepareAnthropicRequest, x as suppressAnthropicCompaction, y as isAnthropicReplayRejection } from "./anthropic-stream-reducer-kxyYeesU.mjs";
5
+ import { s as streamFragmentError } from "./transport-utils-CcCAuFVS.mjs";
6
+ import { F as supportsAnthropicServerSideFallback, H as isAnthropicOAuthApiKey, O as isDirectAnthropicModel, U as omitFoundryBearerCredentialHeaders, W as usesFoundryBearerAuth, d as applyAnthropicThinkingOptions, l as buildAnthropicRequest, t as consumeAnthropicStream, u as prepareAnthropicRequest, x as suppressAnthropicCompaction, y as isAnthropicReplayRejection } from "./anthropic-stream-reducer-C__ByTq1.mjs";
7
7
  import { i as resolveCacheRetention, n as resolveCloudflareBaseUrl, r as buildCopilotDynamicHeaders } from "./cloudflare-Dttf8jKq.mjs";
8
8
  import { n as buildBaseOptions, r as clampMaxTokensToModel } from "./simple-options-BdJJbzZk.mjs";
9
9
  import { D as parseJsonWithRepair, m as notifyProviderHttpResponse, n as assignTransportErrorDetails, u as finalizeTransportStream } from "./transport-stream-shared-DdnJGEj0.mjs";
@@ -5,7 +5,7 @@ import { a as asRecord, o as isRecord, r as asOptionalObjectRecord, s as readStr
5
5
  import { a as normalizeOptionalLowercaseString, i as normalizeNullableString } from "./string-coerce-Cj8sqWHx.mjs";
6
6
  import { n as asNonNegativeFiniteNumber } from "./number-coercion-37gmNkuA.mjs";
7
7
  import { N as isImageWithMediaPayload, O as calculateCost, S as resolveAnthropicThinkingEffort, g as applyClaudeRequestContract, h as ANTHROPIC_CLAUDE_CODE_VERSION, r as getAiTransportHost, u as STREAM_ERROR_FALLBACK_TEXT, v as defaultsClaudeAdaptiveThinking, w as usesClaudeFable5MessagesContract, x as requiresClaudeAdaptiveThinking, y as mapAnthropicStopReason } from "./host-rCxf5Tjd.mjs";
8
- import { n as isProviderReplayContext, r as providerReplayContextMatches, t as buildProviderReplayContext } from "./provider-replay-context-BGueqVCi.mjs";
8
+ import "./transport-utils-CcCAuFVS.mjs";
9
9
  import { n as estimateBase64DecodedBytes } from "./base64-C8CdcsjU.mjs";
10
10
  import { a as resolveProviderRequestCapabilities, i as resolveProviderEndpoint } from "./host-policy-Ci1cKluf.mjs";
11
11
  import { i as resolveCacheRetention } from "./cloudflare-Dttf8jKq.mjs";
@@ -13,6 +13,7 @@ import { t as sanitizeSurrogates } from "./sanitize-unicode-CRGuMONI.mjs";
13
13
  import { S as splitSystemPromptCacheBoundary, T as stripSystemPromptRelocatableBoundary, d as extractToolResultBlockText, f as extractToolResultText, h as preparedRequestSuffix, l as describeToolResultMediaPlaceholder, t as adjustMaxTokensForThinking, w as stripSystemPromptCacheBoundary } from "./simple-options-BdJJbzZk.mjs";
14
14
  import { C as parseJsonObjectPreservingUnsafeIntegers, E as createToolArgumentPreviewSchedule, O as parseStreamingJson, b as transportAbortError, d as iterateModelStream, i as copyProviderAcceptanceObserver, l as finalizeTerminalToolCallArguments, r as coerceTransportToolCallArguments, v as sanitizeTransportPayloadText } from "./transport-stream-shared-DdnJGEj0.mjs";
15
15
  import { t as parsePositiveInteger } from "./positive-integer-Bb4Evc7L.mjs";
16
+ import { n as isProviderReplayContext, r as providerReplayContextMatches, t as buildProviderReplayContext } from "./provider-replay-context-BC23HyZo.mjs";
16
17
  import { n as transformProviderMessages } from "./assistant-output-DbgdWAhJ.mjs";
17
18
  import { a as reconcileAnthropicToolChoice, i as projectAnthropicTools, n as normalizeAnthropicToolChoice, o as resolveOriginalAnthropicToolName, s as toClaudeCodeToolName, t as normalizeAnthropicToolCallId } from "./anthropic-tool-projection-DA_KeluM.mjs";
18
19
  import { t as notifyLlmRequestActivity } from "./llm-request-activity-CfMuh5cC.mjs";
@@ -3,7 +3,7 @@ import { r as getAiTransportHost } from "./host-rCxf5Tjd.mjs";
3
3
  import { n as buildBaseOptions } from "./simple-options-BdJJbzZk.mjs";
4
4
  import { n as getEnvApiKey } from "./env-api-keys-Xd8dm_aV.mjs";
5
5
  import { t as createAssistantOutput } from "./assistant-output-DbgdWAhJ.mjs";
6
- import { F as convertProviderResponsesMessages, It as resolvePromptCacheKey, Lt as withOpenAIErrorResponseHook, r as runResponsesStreamLifecycle, t as applyCommonResponsesParams, vt as resolveOpenAISimpleReasoningEffort } from "./openai-responses-shared-Bl7Bm4Tn.mjs";
6
+ import { F as convertProviderResponsesMessages, Lt as resolvePromptCacheKey, Rt as withOpenAIErrorResponseHook, r as runResponsesStreamLifecycle, t as applyCommonResponsesParams, vt as resolveOpenAISimpleReasoningEffort } from "./openai-responses-shared-CNfHudFg.mjs";
7
7
  import { i as resolveAzureDeploymentNameFromMap, n as isTraditionalAzureOpenAIHost, t as isOpenAICompatibleAzureResponsesBaseUrl } from "./azure-openai-responses-client-compat-D0dvJMbZ.mjs";
8
8
  import { t as requireApiKey } from "./required-api-key-D088S4Cd.mjs";
9
9
  import OpenAI, { AzureOpenAI } from "openai";
@@ -1,6 +1,7 @@
1
1
  import { t as AssistantMessageEventStream } from "./event-stream-X2gmsUWv.mjs";
2
2
  import { a as asRecord, i as asOptionalRecord, s as readStringField } from "./record-coerce-CNDovvft.mjs";
3
3
  import { O as calculateCost, a as resolveAiTransportHeaderSentinels, r as getAiTransportHost } from "./host-rCxf5Tjd.mjs";
4
+ import { s as streamFragmentError } from "./transport-utils-CcCAuFVS.mjs";
4
5
  import { t as buildGuardedModelFetch } from "./host-policy-Ci1cKluf.mjs";
5
6
  import { t as sanitizeSurrogates } from "./sanitize-unicode-CRGuMONI.mjs";
6
7
  import { n as buildBaseOptions, w as stripSystemPromptCacheBoundary } from "./simple-options-BdJJbzZk.mjs";
@@ -9,7 +10,7 @@ import { n as getEnvApiKey } from "./env-api-keys-Xd8dm_aV.mjs";
9
10
  import { n as transformProviderMessages, t as createAssistantOutput } from "./assistant-output-DbgdWAhJ.mjs";
10
11
  import { n as buildGoogleInteractionsSimpleThinking } from "./google-shared-Cif7nve-.mjs";
11
12
  //#region packages/ai/package.json
12
- var version = "2026.10.10-beta.3";
13
+ var version = "2026.10.10-beta.5";
13
14
  //#endregion
14
15
  //#region packages/ai/src/providers/google-interactions-request.ts
15
16
  const DEFAULT_GOOGLE_API_BASE_URL = "https://generativelanguage.googleapis.com";
@@ -339,14 +340,16 @@ async function runGoogleInteractionsLifecycle(params) {
339
340
  let sawCompletion = false;
340
341
  while (!streamDone) {
341
342
  const { done, value } = await reader.read();
342
- if (done) break;
343
- buffer += decoder.decode(value, { stream: true });
344
- const lines = buffer.split("\n");
345
- buffer = lines.pop() ?? "";
346
- for (const line of lines) {
347
- const trimmed = line.trim();
348
- if (!trimmed || !trimmed.startsWith("data:")) continue;
349
- const dataStr = trimmed.slice(5).trim();
343
+ buffer += decoder.decode(value, { stream: !done });
344
+ const frames = buffer.split(/(?:\r\n|\r(?!\n)|\n)(?:\r\n|\r(?!\n)|\n)/);
345
+ buffer = frames.pop() ?? "";
346
+ if (done) {
347
+ if (/[\r\n]$/.test(buffer)) frames.push(buffer);
348
+ streamDone = true;
349
+ }
350
+ for (const frame of frames) {
351
+ const dataStr = frame.split(/\r\n|\r|\n/).filter((line) => line.startsWith("data:")).map((line) => line.slice(5)).join("\n").trim();
352
+ if (!dataStr) continue;
350
353
  if (dataStr === "[DONE]") {
351
354
  streamDone = true;
352
355
  break;
@@ -354,8 +357,8 @@ async function runGoogleInteractionsLifecycle(params) {
354
357
  let event;
355
358
  try {
356
359
  event = asRecord(parseJsonPreservingUnsafeIntegers(dataStr));
357
- } catch {
358
- continue;
360
+ } catch (error) {
361
+ throw streamFragmentError(error);
359
362
  }
360
363
  const eventType = event.event_type || event.type;
361
364
  logGoogleInteractionsDebug("stream event", { eventType: typeof eventType === "string" ? eventType : "unknown" });
@@ -1,6 +1,6 @@
1
1
  import { D as supportsClaudeNativeMaxEffort, O as supportsClaudeNativeXhighEffort, S as resolveClaudeSonnet5ModelIdentity, _ as resolveClaudeMythos5ModelIdentity, b as resolveClaudeOpus5ModelIdentity, d as requiresClaudeBetweenToolsThinking, f as requiresClaudeDefaultSampling, g as resolveClaudeModelIdentity, h as resolveClaudeHaiku55ModelIdentity, m as resolveClaudeFable5ModelIdentity, p as requiresClaudeMandatoryAdaptiveThinking, u as bindsClaudeThinkingPrefix, v as resolveClaudeNativeThinkingLevelMap, w as supportsClaudeAdaptiveThinking, x as resolveClaudeSonnet55ModelIdentity, y as resolveClaudeOpus55ModelIdentity } from "../src-CyA0zJnt.mjs";
2
2
  import { C as resolveModelBoundThinkingReplayMode, S as resolveAnthropicThinkingEffort, T as usesClaudeStreamingRefusalContract, _ as buildAnthropicClaudeCodeIdentity, b as prepareClaudeNoPrefillRequestContext, g as applyClaudeRequestContract, h as ANTHROPIC_CLAUDE_CODE_VERSION, v as defaultsClaudeAdaptiveThinking, w as usesClaudeFable5MessagesContract, x as requiresClaudeAdaptiveThinking, y as mapAnthropicStopReason } from "../host-rCxf5Tjd.mjs";
3
- import { B as readAnthropicFallbackBoundary, H as isAnthropicOAuthApiKey, I as ANTHROPIC_SERVER_SIDE_FALLBACKS, L as ANTHROPIC_SERVER_SIDE_FALLBACK_BETA, O as isDirectAnthropicModel, P as resolveAnthropicServerCompactionPlan, R as CLAUDE_OPUS_FALLBACK_MODEL_COST, U as omitFoundryBearerCredentialHeaders, V as resolveAnthropicFallbackServingModelCost, W as usesFoundryBearerAuth, _ as logAnthropicThinkingDrops, a as readAnthropicPromptUsageSnapshot, c as applyAnthropicRefusal, g as findActiveAnthropicToolTurnAssistantIndex, h as applyAnthropicThinkingBindingControls, i as readAnthropicCacheWriteUsage, m as ANTHROPIC_OMITTED_REASONING_TEXT, n as applyAnthropicMessageDeltaUsage, o as readAnthropicUsageTokenCount, r as applyAnthropicMessageStartUsage, s as readLastAnthropicIterationUsage, v as readAnthropicInputTransformations, z as applyAnthropicFallbackBoundary } from "../anthropic-stream-reducer-kxyYeesU.mjs";
3
+ import { B as readAnthropicFallbackBoundary, H as isAnthropicOAuthApiKey, I as ANTHROPIC_SERVER_SIDE_FALLBACKS, L as ANTHROPIC_SERVER_SIDE_FALLBACK_BETA, O as isDirectAnthropicModel, P as resolveAnthropicServerCompactionPlan, R as CLAUDE_OPUS_FALLBACK_MODEL_COST, U as omitFoundryBearerCredentialHeaders, V as resolveAnthropicFallbackServingModelCost, W as usesFoundryBearerAuth, _ as logAnthropicThinkingDrops, a as readAnthropicPromptUsageSnapshot, c as applyAnthropicRefusal, g as findActiveAnthropicToolTurnAssistantIndex, h as applyAnthropicThinkingBindingControls, i as readAnthropicCacheWriteUsage, m as ANTHROPIC_OMITTED_REASONING_TEXT, n as applyAnthropicMessageDeltaUsage, o as readAnthropicUsageTokenCount, r as applyAnthropicMessageStartUsage, s as readLastAnthropicIterationUsage, v as readAnthropicInputTransformations, z as applyAnthropicFallbackBoundary } from "../anthropic-stream-reducer-C__ByTq1.mjs";
4
4
  import { a as reconcileAnthropicToolChoice, i as projectAnthropicTools, n as normalizeAnthropicToolChoice, o as resolveOriginalAnthropicToolName, r as prepareAnthropicInputSchema, s as toClaudeCodeToolName, t as normalizeAnthropicToolCallId } from "../anthropic-tool-projection-DA_KeluM.mjs";
5
- import { n as streamAnthropic, r as streamSimpleAnthropic } from "../anthropic-16B3dgU4.mjs";
5
+ import { n as streamAnthropic, r as streamSimpleAnthropic } from "../anthropic-B54Ts1tV.mjs";
6
6
  export { ANTHROPIC_CLAUDE_CODE_VERSION, ANTHROPIC_OMITTED_REASONING_TEXT, ANTHROPIC_SERVER_SIDE_FALLBACKS, ANTHROPIC_SERVER_SIDE_FALLBACK_BETA, CLAUDE_OPUS_FALLBACK_MODEL_COST, applyAnthropicFallbackBoundary, applyAnthropicMessageDeltaUsage, applyAnthropicMessageStartUsage, applyAnthropicRefusal, applyAnthropicThinkingBindingControls, applyClaudeRequestContract, bindsClaudeThinkingPrefix, buildAnthropicClaudeCodeIdentity, defaultsClaudeAdaptiveThinking, findActiveAnthropicToolTurnAssistantIndex, isAnthropicOAuthApiKey, isDirectAnthropicModel, logAnthropicThinkingDrops, mapAnthropicStopReason, normalizeAnthropicToolCallId, normalizeAnthropicToolChoice, omitFoundryBearerCredentialHeaders, prepareAnthropicInputSchema, prepareClaudeNoPrefillRequestContext, projectAnthropicTools, readAnthropicCacheWriteUsage, readAnthropicFallbackBoundary, readAnthropicInputTransformations, readAnthropicPromptUsageSnapshot, readAnthropicUsageTokenCount, readLastAnthropicIterationUsage, reconcileAnthropicToolChoice, requiresClaudeAdaptiveThinking, requiresClaudeBetweenToolsThinking, requiresClaudeDefaultSampling, requiresClaudeMandatoryAdaptiveThinking, resolveAnthropicFallbackServingModelCost, resolveAnthropicServerCompactionPlan, resolveAnthropicThinkingEffort, resolveClaudeFable5ModelIdentity, resolveClaudeHaiku55ModelIdentity, resolveClaudeModelIdentity, resolveClaudeMythos5ModelIdentity, resolveClaudeNativeThinkingLevelMap, resolveClaudeOpus55ModelIdentity, resolveClaudeOpus5ModelIdentity, resolveClaudeSonnet55ModelIdentity, resolveClaudeSonnet5ModelIdentity, resolveModelBoundThinkingReplayMode, resolveOriginalAnthropicToolName, streamAnthropic, streamSimpleAnthropic, supportsClaudeAdaptiveThinking, supportsClaudeNativeMaxEffort, supportsClaudeNativeXhighEffort, toClaudeCodeToolName, usesClaudeFable5MessagesContract, usesClaudeStreamingRefusalContract, usesFoundryBearerAuth };
@@ -1,2 +1,2 @@
1
- import { a as resolveOpenAICompletionsCompat } from "../openai-completions-compat-1gsjP-KO.mjs";
1
+ import { a as resolveOpenAICompletionsCompat } from "../openai-completions-compat-CBvb2eld.mjs";
2
2
  export { resolveOpenAICompletionsCompat };
@@ -1,2 +1,2 @@
1
- import { i as resolveOpenAICompletionsCompat } from "../openai-completions-compat-BaSOvO4F.mjs";
1
+ import { i as resolveOpenAICompletionsCompat } from "../openai-completions-compat-CJ0OXZgi.mjs";
2
2
  export { resolveOpenAICompletionsCompat };
@@ -2,7 +2,7 @@ import "../index-DSprYWaz.mjs";
2
2
  import { $ as StopReason, Q as SimpleStreamOptions, d as Context, k as Model, tt as StreamFunction } from "../types-CVYzKrMl.mjs";
3
3
  import { A as supportsOpenAIReasoningEffort, C as isOpenAIGpt56Model, D as resolveOpenAIReasoningEffortForModel, E as resolveOpenAIModelReasoningEfforts, O as resolveOpenAIReasoningEffortMapping, S as isOpenAIGpt55Model, T as normalizeOpenAIReasoningEffort, _ as reconcileOpenAIResponsesToolChoice, a as BaseOpenAIStreamOptions, b as applyOpenAICompletionsToolReasoning, c as OpenAICompletionsOptions, f as reasoningTagTextPolicy, g as reconcileOpenAICompletionsToolChoice, h as projectOpenAITools, j as supportsOpenAITemperature, k as resolveOpenAISupportedReasoningEfforts, m as OpenAIToolProjection, o as CodeModeToolSurfaceObservation, p as OpenAICompletionsToolChoice, u as codeModeToolSurfaceObserver, v as OpenAIApiReasoningEffort, w as isOpenAIGpt6Model, x as isOpenAIGpt54MiniModel, y as OpenAIReasoningEffort } from "../provider-options-Bo8GzTGX.mjs";
4
4
  import "../types-CBJthzJX.mjs";
5
- import { t as ResolvedOpenAICompletionsCompat } from "../openai-completions-compat-1gsjP-KO.mjs";
5
+ import { t as ResolvedOpenAICompletionsCompat } from "../openai-completions-compat-CBvb2eld.mjs";
6
6
  import { c as responsesPromptObserver, f as OpenAIRequestReasoningEffort, l as responsesServiceTierObserver, o as ResponsesPromptObservation, s as ResponsesServiceTierObservation } from "../openai-responses-contracts-D-VwWWjx.mjs";
7
7
  import { n as clampOpenAIPromptCacheKey, r as resolveOpenAIPromptCacheParams, t as OPENAI_PROMPT_CACHE_KEY_MAX_LENGTH } from "../openai-prompt-cache-DgjD-UL5.mjs";
8
8
  import { a as resolveResponsesTerminalStopReason, i as readResponsesReasoningTokens, n as isResponsesOutputLimitToolCallError, r as mapResponsesTerminalUsage, t as ResponsesTerminalUsagePayload } from "../openai-responses-terminal-usage-CpVjkqn-.mjs";
@@ -1,12 +1,12 @@
1
1
  import { A as supportsOpenAIReasoningEffort, C as isOpenAIGpt56Model, D as resolveOpenAIReasoningEffortForModel, E as resolveOpenAIModelReasoningEfforts, O as resolveOpenAIReasoningEffortMapping, S as isOpenAIGpt55Model, T as normalizeOpenAIReasoningEffort, _ as responsesServiceTierObserver, b as applyOpenAICompletionsToolReasoning, g as responsesPromptObserver, j as supportsOpenAITemperature, k as resolveOpenAISupportedReasoningEfforts, w as isOpenAIGpt6Model, x as isOpenAIGpt54MiniModel } from "../openai-responses-contracts-DCG51Us0.mjs";
2
- import { n as clampOpenAIPromptCacheKey, r as resolveOpenAIPromptCacheParams, t as OPENAI_PROMPT_CACHE_KEY_MAX_LENGTH } from "../openai-prompt-cache-C9l8FtID.mjs";
2
+ import { n as clampOpenAIPromptCacheKey, r as resolveOpenAIPromptCacheParams, t as OPENAI_PROMPT_CACHE_KEY_MAX_LENGTH } from "../openai-prompt-cache-h8vXRiaH.mjs";
3
3
  import { _ as resolveResponsesTerminalStopReason, g as readResponsesReasoningTokens, h as mapResponsesTerminalUsage, m as isResponsesOutputLimitToolCallError } from "../diagnostics-Cv7cW3pS.mjs";
4
4
  import { a as encodedModelRequestBodyStream, g as reasoningTagTextPolicy, m as codeModeToolSurfaceObserver, o as modelRequestBodyState } from "../simple-options-BdJJbzZk.mjs";
5
- import { a as hasResponsesWebSearchTool, s as convertMessages } from "../openai-completions-transport-PLb2fTJW.mjs";
6
- import { Ct as reconcileOpenAIResponsesToolChoice, N as bindResponsesInputMessage, St as reconcileOpenAICompletionsToolChoice, _ as isResponsesTextContentPartType, d as AZURE_RESPONSES_TEXT_CONTENT_PART_TYPE, f as AZURE_RESPONSES_TEXT_DELTA_EVENT_TYPE, g as isAzureResponsesTextDeltaEventType, h as isAzureResponsesTextDeltaEvent, l as createResponsesToolCallTracker, m as OPENAI_RESPONSES_OUTPUT_TEXT_DELTA_EVENT_TYPE, p as OPENAI_RESPONSES_OUTPUT_TEXT_CONTENT_PART_TYPE, u as readResponsesToolCallItemIdentity, v as isResponsesTextDeltaEventType, xt as projectOpenAITools, y as resolveResponsesMessageSnapshotCollapse } from "../openai-responses-shared-Bl7Bm4Tn.mjs";
5
+ import { a as hasResponsesWebSearchTool, s as convertMessages } from "../openai-completions-transport-CqomHW1O.mjs";
6
+ import { Ct as reconcileOpenAIResponsesToolChoice, N as bindResponsesInputMessage, St as reconcileOpenAICompletionsToolChoice, _ as isResponsesTextContentPartType, d as AZURE_RESPONSES_TEXT_CONTENT_PART_TYPE, f as AZURE_RESPONSES_TEXT_DELTA_EVENT_TYPE, g as isAzureResponsesTextDeltaEventType, h as isAzureResponsesTextDeltaEvent, l as createResponsesToolCallTracker, m as OPENAI_RESPONSES_OUTPUT_TEXT_DELTA_EVENT_TYPE, p as OPENAI_RESPONSES_OUTPUT_TEXT_CONTENT_PART_TYPE, u as readResponsesToolCallItemIdentity, v as isResponsesTextDeltaEventType, xt as projectOpenAITools, y as resolveResponsesMessageSnapshotCollapse } from "../openai-responses-shared-CNfHudFg.mjs";
7
7
  import { t as mapOpenAIStopReason } from "../openai-stop-reason-8s70vDXj.mjs";
8
8
  import { i as resolveAzureDeploymentNameFromMap, n as isTraditionalAzureOpenAIHost, r as parseAzureDeploymentNameMap, t as isOpenAICompatibleAzureResponsesBaseUrl } from "../azure-openai-responses-client-compat-D0dvJMbZ.mjs";
9
- import { n as responsesRequestLifecycle, t as independentResponsesRequest } from "../openai-responses-request-lifecycle-GbTsoa3_.mjs";
10
- import { n as streamOpenAICompletions, r as streamSimpleOpenAICompletions } from "../openai-completions-BKHzrKjZ.mjs";
11
- import { n as streamOpenAIResponses, r as streamSimpleOpenAIResponses } from "../openai-responses-6GnBON7Q.mjs";
9
+ import { n as responsesRequestLifecycle, t as independentResponsesRequest } from "../openai-responses-request-lifecycle-DQDyzE6F.mjs";
10
+ import { n as streamOpenAICompletions, r as streamSimpleOpenAICompletions } from "../openai-completions-CB-wfbsI.mjs";
11
+ import { n as streamOpenAIResponses, r as streamSimpleOpenAIResponses } from "../openai-responses-Cp2QPq7K.mjs";
12
12
  export { AZURE_RESPONSES_TEXT_CONTENT_PART_TYPE, AZURE_RESPONSES_TEXT_DELTA_EVENT_TYPE, OPENAI_PROMPT_CACHE_KEY_MAX_LENGTH, OPENAI_RESPONSES_OUTPUT_TEXT_CONTENT_PART_TYPE, OPENAI_RESPONSES_OUTPUT_TEXT_DELTA_EVENT_TYPE, applyOpenAICompletionsToolReasoning, bindResponsesInputMessage, clampOpenAIPromptCacheKey, codeModeToolSurfaceObserver, convertMessages, createResponsesToolCallTracker, encodedModelRequestBodyStream, hasResponsesWebSearchTool, independentResponsesRequest, isAzureResponsesTextDeltaEvent, isAzureResponsesTextDeltaEventType, isOpenAICompatibleAzureResponsesBaseUrl, isOpenAIGpt54MiniModel, isOpenAIGpt55Model, isOpenAIGpt56Model, isOpenAIGpt6Model, isResponsesOutputLimitToolCallError, isResponsesTextContentPartType, isResponsesTextDeltaEventType, isTraditionalAzureOpenAIHost, mapOpenAIStopReason, mapResponsesTerminalUsage, modelRequestBodyState, normalizeOpenAIReasoningEffort, parseAzureDeploymentNameMap, projectOpenAITools, readResponsesReasoningTokens, readResponsesToolCallItemIdentity, reasoningTagTextPolicy, reconcileOpenAICompletionsToolChoice, reconcileOpenAIResponsesToolChoice, resolveAzureDeploymentNameFromMap, resolveOpenAIModelReasoningEfforts, resolveOpenAIPromptCacheParams, resolveOpenAIReasoningEffortForModel, resolveOpenAIReasoningEffortMapping, resolveOpenAISupportedReasoningEfforts, resolveResponsesMessageSnapshotCollapse, resolveResponsesTerminalStopReason, responsesPromptObserver, responsesRequestLifecycle, responsesServiceTierObserver, streamOpenAICompletions, streamOpenAIResponses, streamSimpleOpenAICompletions, streamSimpleOpenAIResponses, supportsOpenAIReasoningEffort, supportsOpenAITemperature };
@@ -11,7 +11,7 @@ import { n as onLlmRequestActivity, t as notifyLlmRequestActivity } from "../llm
11
11
  import { a as withFirstStreamEventTimeout, i as getFirstStreamEventTimeoutMs, n as createFirstStreamEventTimeoutError, r as getFirstStreamEventTimeoutHandler, t as createFirstStreamEventAbortController } from "../stream-first-event-timeout-D_TfJHRJ.mjs";
12
12
  import { n as createSseByteGuard, t as boundResponseBody } from "../streaming-byte-guard-DBXr1XYn.mjs";
13
13
  import { n as resolveOpenAICodexAccountId, t as decodeOpenAICodexJwtPayload } from "../openai-chatgpt-jwt-KWcgd0d_.mjs";
14
- import { t as isContextOverflow } from "../overflow-DJHXTNBQ.mjs";
14
+ import { t as isContextOverflow } from "../overflow-OF3PgPbw.mjs";
15
15
  //#region packages/ai/src/internal/default-runtime.ts
16
16
  const DEFAULT_RUNTIME_KEY = Symbol.for("openclaw.ai.defaultRuntime");
17
17
  function resolveDefaultRuntime() {
@@ -5,7 +5,7 @@ import { t as sanitizeSurrogates } from "../sanitize-unicode-CRGuMONI.mjs";
5
5
  import { n as normalizeStructuredPromptSection, r as sortPromptCacheToolsByName, t as normalizePromptCapabilityIds } from "../prompt-cache-stability-D_MeCQFI.mjs";
6
6
  import { C as splitSystemPromptRelocatableBoundary, S as splitSystemPromptCacheBoundary, T as stripSystemPromptRelocatableBoundary, _ as SYSTEM_PROMPT_CACHE_BOUNDARY, b as ensureSystemPromptCacheBoundary, c as serializeModelRequestBody, d as extractToolResultBlockText, f as extractToolResultText, h as preparedRequestSuffix, i as clampReasoning, l as describeToolResultMediaPlaceholder, n as buildBaseOptions, p as formatToolResultText, r as clampMaxTokensToModel, t as adjustMaxTokensForThinking, u as describeUnsupportedToolResultMedia, v as SYSTEM_PROMPT_RELOCATABLE_BOUNDARY, w as stripSystemPromptCacheBoundary, x as prependSystemPromptAdditionAfterCacheBoundary, y as SYSTEM_PROMPT_RELOCATABLE_BOUNDARY_END } from "../simple-options-BdJJbzZk.mjs";
7
7
  import { t as projectCopilotRequestFacts } from "../github-copilot-request-facts-F-EmvkpW.mjs";
8
- import { n as matchesContextOverflowMessage } from "../overflow-DJHXTNBQ.mjs";
8
+ import { n as matchesContextOverflowMessage } from "../overflow-OF3PgPbw.mjs";
9
9
  //#region packages/ai/src/utils/tls-certificate-errors.ts
10
10
  const HOSTNAME_MISMATCH_CODES = /* @__PURE__ */ new Set(["ERR_TLS_CERT_ALTNAME_INVALID", "HOSTNAME_MISMATCH"]);
11
11
  const CERTIFICATE_INVALID_CODES = /* @__PURE__ */ new Set([
@@ -6,18 +6,18 @@ import { E as headersToRecord, a as resolveAiTransportHeaderSentinels, r as getA
6
6
  import { g as responsesPromptObserver, j as supportsOpenAITemperature } from "./openai-responses-contracts-DCG51Us0.mjs";
7
7
  import { r as registerSessionResourceCleanup } from "./session-resources-vKvGIE3J.mjs";
8
8
  import "./provider-error-qtZD2inE.mjs";
9
- import { n as clampOpenAIPromptCacheKey } from "./openai-prompt-cache-C9l8FtID.mjs";
9
+ import { n as clampOpenAIPromptCacheKey } from "./openai-prompt-cache-h8vXRiaH.mjs";
10
10
  import { s as WEBSOCKET_NON_RETRYABLE_CLOSE_ERROR_CODE, v as extractErrorCodeOrErrno, y as toErrorObject } from "./diagnostics-Cv7cW3pS.mjs";
11
- import { f as consumeResponseBytes, i as MALFORMED_STREAMING_FRAGMENT_ERROR_MESSAGE, u as streamFragmentError } from "./provider-replay-context-BGueqVCi.mjs";
11
+ import { l as consumeResponseBytes, s as streamFragmentError, t as MALFORMED_STREAMING_FRAGMENT_ERROR_MESSAGE } from "./transport-utils-CcCAuFVS.mjs";
12
12
  import { parseRetryAfterHeadersSeconds } from "./internal/retry-after.mjs";
13
- import { c as resolveOpenAIResponsesTextFormat } from "./openai-completions-compat-BaSOvO4F.mjs";
13
+ import { c as resolveOpenAIResponsesTextFormat } from "./openai-completions-compat-CJ0OXZgi.mjs";
14
14
  import { n as buildManagedModelFetch } from "./host-policy-Ci1cKluf.mjs";
15
15
  import { n as buildBaseOptions, w as stripSystemPromptCacheBoundary } from "./simple-options-BdJJbzZk.mjs";
16
16
  import { S as withProviderResponseHook, b as transportAbortError, h as notifyProviderStreamOpened, n as assignTransportErrorDetails } from "./transport-stream-shared-DdnJGEj0.mjs";
17
17
  import { t as createAssistantOutput } from "./assistant-output-DbgdWAhJ.mjs";
18
- import { Dt as createOpenAIResponseHook, E as ResponsesStreamFailure, Et as createOpenAIProviderAcceptanceHook, F as convertProviderResponsesMessages, Ot as createResponseModelTracker, S as isInvalidEncryptedContentError, T as resolveNextResponsesEncryptedContentAttempt, _t as resolveOpenAIRequestReasoning, b as commitResponsesEncryptedContentAttempt, i as convertResponsesToolPayload, j as recordResponsesContextUsage, n as applyResponsesServiceTierPricing, o as readOpenAIMisalignmentReview, ot as suppressOpenAIResponsesCompaction, rt as buildOpenAIResponsesReasoningReplayMetadata, s as processResponsesStream, vt as resolveOpenAISimpleReasoningEffort } from "./openai-responses-shared-Bl7Bm4Tn.mjs";
18
+ import { Dt as createOpenAIResponseHook, E as ResponsesStreamFailure, Et as createOpenAIProviderAcceptanceHook, F as convertProviderResponsesMessages, Ot as createResponseModelTracker, S as isInvalidEncryptedContentError, T as resolveNextResponsesEncryptedContentAttempt, _t as resolveOpenAIRequestReasoning, b as commitResponsesEncryptedContentAttempt, i as convertResponsesToolPayload, j as recordResponsesContextUsage, n as applyResponsesServiceTierPricing, o as readOpenAIMisalignmentReview, ot as suppressOpenAIResponsesCompaction, rt as buildOpenAIResponsesReasoningReplayMetadata, s as processResponsesStream, vt as resolveOpenAISimpleReasoningEffort } from "./openai-responses-shared-CNfHudFg.mjs";
19
19
  import { a as withFirstStreamEventTimeout, i as getFirstStreamEventTimeoutMs, r as getFirstStreamEventTimeoutHandler, t as createFirstStreamEventAbortController } from "./stream-first-event-timeout-D_TfJHRJ.mjs";
20
- import { a as createResponsesV2CompactionCollector, i as createResponsesPromptEgressObserver, n as responsesRequestLifecycle, o as claimResponsesCompactRequest, r as withResponsesRequestAcceptance, s as copyResponsesCompactRequest, t as independentResponsesRequest } from "./openai-responses-request-lifecycle-GbTsoa3_.mjs";
20
+ import { a as createResponsesV2CompactionCollector, i as createResponsesPromptEgressObserver, n as responsesRequestLifecycle, o as claimResponsesCompactRequest, r as withResponsesRequestAcceptance, s as copyResponsesCompactRequest, t as independentResponsesRequest } from "./openai-responses-request-lifecycle-DQDyzE6F.mjs";
21
21
  import { t as requireApiKey } from "./required-api-key-D088S4Cd.mjs";
22
22
  import { n as resolveOpenAICodexAccountId } from "./openai-chatgpt-jwt-KWcgd0d_.mjs";
23
23
  //#region packages/ai/src/providers/openai-chatgpt-responses-events.ts
@@ -1,7 +1,7 @@
1
1
  import { n as __exportAll } from "./reasoning-tag-text-partitioner-DzlRubwU.mjs";
2
2
  import { k as clampThinkingLevel } from "./host-rCxf5Tjd.mjs";
3
3
  import { n as buildBaseOptions } from "./simple-options-BdJJbzZk.mjs";
4
- import { n as streamOpenAICompletionsRequest, s as convertMessages } from "./openai-completions-transport-PLb2fTJW.mjs";
4
+ import { n as streamOpenAICompletionsRequest, s as convertMessages } from "./openai-completions-transport-CqomHW1O.mjs";
5
5
  import { t as requireApiKey } from "./required-api-key-D088S4Cd.mjs";
6
6
  //#region packages/ai/src/providers/openai-completions.ts
7
7
  var openai_completions_exports = /* @__PURE__ */ __exportAll({
@@ -10,6 +10,7 @@ type OpenAICompletionsCompatDefaults = {
10
10
  supportsUsageInStreaming: boolean;
11
11
  maxTokensField: "max_completion_tokens" | "max_tokens";
12
12
  thinkingFormat: "openai" | "openrouter" | "deepseek" | "together" | "zai";
13
+ emitsDsmlToolCalls: boolean;
13
14
  visibleReasoningDetailTypes: string[];
14
15
  supportsStrictMode: boolean;
15
16
  requiresTypedUnionBranches: boolean;
@@ -25,6 +26,7 @@ type ResolvedOpenAICompletionsCompat = Omit<Required<OpenAICompletionsCompat>, "
25
26
  openRouterRouting?: OpenAICompletionsCompat["openRouterRouting"];
26
27
  sessionAffinity: OpenAICompletionsSessionAffinity;
27
28
  visibleReasoningDetailTypes: string[];
29
+ emitsDsmlToolCalls: boolean;
28
30
  requiresNonEmptyUserOrAssistantMessage: boolean;
29
31
  requiresTypedUnionBranches: boolean;
30
32
  configuredSupportsLongCacheRetention?: boolean;
@@ -110,6 +110,7 @@ function resolveOpenAICompletionsCompatDefaults(input) {
110
110
  supportsReasoningEffort: !isZai && !isTogether && !isMistral && endpointClass !== "xai-native" && (!usesExplicitProxyLikeEndpoint || input.reasoning === true),
111
111
  supportsUsageInStreaming: supportsOpenAICompletionsStreamingUsageCompat || !isNonStandard && (isLocalEndpoint || !usesConfiguredNonOpenAIEndpoint || supportsNativeStreamingUsageCompat),
112
112
  maxTokensField: usesMaxTokens ? "max_tokens" : "max_completion_tokens",
113
+ emitsDsmlToolCalls: isDeepSeek || isXiaomi || /(?:^|\/)deepseek(?:[-/]|$)/i.test(modelId ?? ""),
113
114
  thinkingFormat: isDeepSeek || isXiaomi ? "deepseek" : isZai ? "zai" : isTogether ? "together" : isOpenRouterLike ? "openrouter" : "openai",
114
115
  visibleReasoningDetailTypes: isOpenRouterLike ? ["response.output_text", "response.text"] : [],
115
116
  supportsStrictMode: !isZai && !usesConfiguredNonOpenAIEndpoint,
@@ -170,6 +171,7 @@ function resolveOpenAICompletionsCompat(model, resolveCapabilities) {
170
171
  requiresThinkingAsText: configured?.requiresThinkingAsText ?? false,
171
172
  requiresReasoningContentOnAssistantMessages: configured?.requiresReasoningContentOnAssistantMessages ?? defaults.requiresReasoningContentOnAssistantMessages,
172
173
  thinkingFormat,
174
+ emitsDsmlToolCalls: configured?.thinkingFormat === "deepseek" || defaults.emitsDsmlToolCalls,
173
175
  openRouterRouting: configured?.openRouterRouting,
174
176
  vercelGatewayRouting: configured?.vercelGatewayRouting ?? {},
175
177
  zaiToolStream: configured?.zaiToolStream ?? false,
@@ -9,10 +9,10 @@ import { N as isImageWithMediaPayload, a as resolveAiTransportHeaderSentinels, r
9
9
  import { N as uniqueStrings, R as resolveOpenAIThinkingApi, _ as responsesServiceTierObserver, b as applyOpenAICompletionsToolReasoning, d as OpenAIResponsesWebSocketSafeRetryError, h as parseOpenAIResponsesWebSocketServerError, j as supportsOpenAITemperature, l as OpenAIResponsesWebSocketPostDispatchError, r as OPENAI_CODEX_RESPONSES_DEFAULT_INSTRUCTIONS, t as AZURE_RESPONSES_FIRST_EVENT_TIMEOUT_MS, u as OpenAIResponsesWebSocketPreDispatchError, v as isResponsesServiceTierRejection, w as isOpenAIGpt6Model, y as nextResponsesServiceTier } from "./openai-responses-contracts-DCG51Us0.mjs";
10
10
  import { n as getSessionResourceOwnerId, r as registerSessionResourceCleanup } from "./session-resources-vKvGIE3J.mjs";
11
11
  import { c as stableStringify, s as truncateUtf16Safe } from "./provider-error-qtZD2inE.mjs";
12
- import { r as resolveOpenAIPromptCacheParams } from "./openai-prompt-cache-C9l8FtID.mjs";
12
+ import { r as resolveOpenAIPromptCacheParams } from "./openai-prompt-cache-h8vXRiaH.mjs";
13
13
  import { d as hasOnlyResponsesFunctionTools, i as emitModelTransportError, r as emitModelTransportDebug, t as formatModelTransportDebugBaseUrl } from "./diagnostics-Cv7cW3pS.mjs";
14
- import { a as estimateStringChars, d as supportsModelTools, n as isProviderReplayContext, r as providerReplayContextMatches, t as buildProviderReplayContext } from "./provider-replay-context-BGueqVCi.mjs";
15
- import { c as resolveOpenAIResponsesTextFormat, i as resolveOpenAICompletionsCompat, l as shouldOmitOllamaCompatResponseFormat, n as isNativeOpenAIEndpoint, o as usesNativeOpenAICodexResponsesBackend, r as isOpenAICodexResponsesModel, s as resolveOpenAICompletionsResponseFormat, t as detectOpenAICompletionsCompat } from "./openai-completions-compat-BaSOvO4F.mjs";
14
+ import { c as supportsModelTools, n as estimateStringChars } from "./transport-utils-CcCAuFVS.mjs";
15
+ import { c as resolveOpenAIResponsesTextFormat, i as resolveOpenAICompletionsCompat, l as shouldOmitOllamaCompatResponseFormat, n as isNativeOpenAIEndpoint, o as usesNativeOpenAICodexResponsesBackend, r as isOpenAICodexResponsesModel, s as resolveOpenAICompletionsResponseFormat, t as detectOpenAICompletionsCompat } from "./openai-completions-compat-CJ0OXZgi.mjs";
16
16
  import { i as resolveProviderEndpoint, t as buildGuardedModelFetch } from "./host-policy-Ci1cKluf.mjs";
17
17
  import { i as resolveCacheRetention, r as buildCopilotDynamicHeaders } from "./cloudflare-Dttf8jKq.mjs";
18
18
  import { t as sanitizeSurrogates } from "./sanitize-unicode-CRGuMONI.mjs";
@@ -21,20 +21,21 @@ import { C as splitSystemPromptRelocatableBoundary, S as splitSystemPromptCacheB
21
21
  import { A as shortHash, E as createToolArgumentPreviewSchedule, M as racePromiseWithAbortSignal, O as parseStreamingJson, S as withProviderResponseHook, b as transportAbortError, c as failTransportStream, d as iterateModelStream, h as notifyProviderStreamOpened, l as finalizeTerminalToolCallArguments, s as createWritableTransportEventStream, u as finalizeTransportStream, v as sanitizeTransportPayloadText, y as throwIfModelStreamAborted } from "./transport-stream-shared-DdnJGEj0.mjs";
22
22
  import { C as redactIdentifier, w as sha256Hex } from "./tool-schema-json-projection-Cvq69Ajp.mjs";
23
23
  import { n as getEnvApiKey } from "./env-api-keys-Xd8dm_aV.mjs";
24
+ import { n as isProviderReplayContext, r as providerReplayContextMatches, t as buildProviderReplayContext } from "./provider-replay-context-BC23HyZo.mjs";
24
25
  import { n as transformProviderMessages, t as createAssistantOutput } from "./assistant-output-DbgdWAhJ.mjs";
25
26
  import { t as notifyLlmRequestActivity } from "./llm-request-activity-CfMuh5cC.mjs";
26
27
  import { n as resolveOpencodeSessionHeaders } from "./session-affinity-DA4WHv1h.mjs";
27
28
  import { isGoogleGemini3ThinkingLevelModel } from "./internal/google-model-family.mjs";
28
29
  import "./types.mjs";
29
- import { $ as isConfigurationUpdate, A as summarizeResponsesPayload, At as log, B as recordResponsesInputReplay, C as readResponsesRecoveryEvent, Ct as reconcileOpenAIResponsesToolChoice, D as logResponsesFailedNoDetails, E as ResponsesStreamFailure, Et as createOpenAIProviderAcceptanceHook, Ft as resolveOpenAIClientBaseUrl, G as responsesContinuationPrefixFingerprint, H as claimOpenAIResponsesHttpContinuation, I as convertResponsesMessages, It as resolvePromptCacheKey, K as responsesContinuationRequestFingerprint, Lt as withOpenAIErrorResponseHook, Mt as parseOpenAICompletionsUsage, Nt as readOpenAICompletionsContentDeltas, O as safeDebugValue, Ot as createResponseModelTracker, P as buildResponsesInputMessage, Pt as readOpenAICompletionsReasoningBatch, S as isInvalidEncryptedContentError, St as reconcileOpenAICompletionsToolChoice, T as resolveNextResponsesEncryptedContentAttempt, Tt as GEMINI_THOUGHT_SIGNATURE_VALIDATOR_SKIP, U as recordResponsesContinuationState, V as responsesInputFingerprint, W as resolveResponsesContinuationRequest, _t as resolveOpenAIRequestReasoning, a as prepareResponsesTools, bt as prepareOpenAITools, c as observeResponsesStream, ct as buildOpenAIClientHeaders, dt as enforceCodeModeResponsesToolSurface, et as replayResponsesReasoningUpdates, gt as resolveOpenAIStrictToolFlagWithDiagnostics, ht as resolveCodeModeResponsesVisibleToolNames, j as recordResponsesContextUsage, jt as measureUtf8AppendBytes, k as summarizeOpenAITransportError, kt as isOpenAICompletionsThinkingEnabled, lt as buildOpenAISdkClientOptions, n as applyResponsesServiceTierPricing, ot as suppressOpenAIResponsesCompaction, pt as getCompat, rt as buildOpenAIResponsesReasoningReplayMetadata, s as processResponsesStream, st as assertCodeModeResponsesToolSurface, tt as supportsResponsesReasoningUpdate, ut as buildOpenAISdkRequestOptions, vt as resolveOpenAISimpleReasoningEffort, w as resolveAzureOpenAIApiVersion, wt as toOpenAIResponsesToolChoice, x as createResponsesStreamWithRecovery, xt as projectOpenAITools, z as readResponsesInputReplayState } from "./openai-responses-shared-Bl7Bm4Tn.mjs";
30
- import { i as createOpenAIProviderClient, n as resolveProviderSimpleCompletionHeaders, r as resolveProviderTransportTurnState, t as filterProviderTurnHeadersForExplicitOpencodeSession } from "./provider-transport-turn-state-DM9Mbjfp.mjs";
30
+ import { $ as isConfigurationUpdate, A as summarizeResponsesPayload, At as isOpenAICompletionsThinkingEnabled, B as recordResponsesInputReplay, C as readResponsesRecoveryEvent, Ct as reconcileOpenAIResponsesToolChoice, D as logResponsesFailedNoDetails, E as ResponsesStreamFailure, Et as createOpenAIProviderAcceptanceHook, Ft as readOpenAICompletionsReasoningBatch, G as responsesContinuationPrefixFingerprint, H as claimOpenAIResponsesHttpContinuation, I as convertResponsesMessages, It as resolveOpenAIClientBaseUrl, K as responsesContinuationRequestFingerprint, Lt as resolvePromptCacheKey, Mt as measureUtf8AppendBytes, Nt as parseOpenAICompletionsUsage, O as safeDebugValue, Ot as createResponseModelTracker, P as buildResponsesInputMessage, Pt as readOpenAICompletionsContentDeltas, Rt as withOpenAIErrorResponseHook, S as isInvalidEncryptedContentError, St as reconcileOpenAICompletionsToolChoice, T as resolveNextResponsesEncryptedContentAttempt, Tt as GEMINI_THOUGHT_SIGNATURE_VALIDATOR_SKIP, U as recordResponsesContinuationState, V as responsesInputFingerprint, W as resolveResponsesContinuationRequest, _t as resolveOpenAIRequestReasoning, a as prepareResponsesTools, bt as prepareOpenAITools, c as observeResponsesStream, ct as buildOpenAIClientHeaders, dt as enforceCodeModeResponsesToolSurface, et as replayResponsesReasoningUpdates, gt as resolveOpenAIStrictToolFlagWithDiagnostics, ht as resolveCodeModeResponsesVisibleToolNames, j as recordResponsesContextUsage, jt as log, k as summarizeOpenAITransportError, kt as detachPartialSnapshot, lt as buildOpenAISdkClientOptions, n as applyResponsesServiceTierPricing, ot as suppressOpenAIResponsesCompaction, pt as getCompat, rt as buildOpenAIResponsesReasoningReplayMetadata, s as processResponsesStream, st as assertCodeModeResponsesToolSurface, tt as supportsResponsesReasoningUpdate, ut as buildOpenAISdkRequestOptions, vt as resolveOpenAISimpleReasoningEffort, w as resolveAzureOpenAIApiVersion, wt as toOpenAIResponsesToolChoice, x as createResponsesStreamWithRecovery, xt as projectOpenAITools, z as readResponsesInputReplayState } from "./openai-responses-shared-CNfHudFg.mjs";
31
+ import { i as createOpenAIProviderClient, n as resolveProviderSimpleCompletionHeaders, r as resolveProviderTransportTurnState, t as filterProviderTurnHeadersForExplicitOpencodeSession } from "./provider-transport-turn-state-B11rmZpv.mjs";
31
32
  import { a as withFirstStreamEventTimeout, i as getFirstStreamEventTimeoutMs, r as getFirstStreamEventTimeoutHandler, t as createFirstStreamEventAbortController } from "./stream-first-event-timeout-D_TfJHRJ.mjs";
32
33
  import { t as boundResponseBody } from "./streaming-byte-guard-DBXr1XYn.mjs";
33
34
  import { b as prepareOpenAIFunctionTool, f as normalizeToolSchema, p as withPreparedToolSchemaNormalization, r as normalizeOpenAIStrictToolParameters } from "./openai-tool-schema-CGhEl7ao.mjs";
34
35
  import { t as mapOpenAIStopReason } from "./openai-stop-reason-8s70vDXj.mjs";
35
36
  import { i as resolveAzureDeploymentNameFromMap, t as isOpenAICompatibleAzureResponsesBaseUrl } from "./azure-openai-responses-client-compat-D0dvJMbZ.mjs";
36
37
  import { a as isOpenAIResponsesCompactionOutput, c as applyOpenAIResponsesPayloadPolicy, d as resolveOpenAIResponsesPayloadPolicy, i as getOpenAIResponsesCompactionOutputError, n as supportsNativeOpenAIResponsesEndpoint, r as createBoundedOpenAIResponsesCompactionFetch, s as sanitizeResponsesImagePayload, t as isOfficialOpenAIResponsesBaseUrl } from "./openai-responses-endpoint-JbBT8IDv.mjs";
37
- import { a as createResponsesV2CompactionCollector, i as createResponsesPromptEgressObserver, n as responsesRequestLifecycle, o as claimResponsesCompactRequest, r as withResponsesRequestAcceptance, t as independentResponsesRequest } from "./openai-responses-request-lifecycle-GbTsoa3_.mjs";
38
+ import { a as createResponsesV2CompactionCollector, i as createResponsesPromptEgressObserver, n as responsesRequestLifecycle, o as claimResponsesCompactRequest, r as withResponsesRequestAcceptance, t as independentResponsesRequest } from "./openai-responses-request-lifecycle-DQDyzE6F.mjs";
38
39
  import { randomUUID } from "node:crypto";
39
40
  import OpenAI, { AzureOpenAI } from "openai";
40
41
  import { ResponsesWS } from "openai/resources/responses/ws.js";
@@ -890,6 +891,8 @@ const REASONING_CONTENT_REPLAY_MODEL_IDS = /* @__PURE__ */ new Set([
890
891
  "kimi-k2.7-code",
891
892
  "kimi-k2.7-code-highspeed",
892
893
  "kimi-k3",
894
+ "kimi-k3.1-pro",
895
+ "kimi-k3.1-pro-highspeed",
893
896
  "kimi-k2-thinking",
894
897
  "kimi-k2-thinking-turbo",
895
898
  "mimo-v2-pro",
@@ -1588,9 +1591,8 @@ async function processCompletionsStream(responseStream, output, model, stream, o
1588
1591
  const openAIModel = model;
1589
1592
  const compat = getCompat(openAIModel);
1590
1593
  const visibleReasoningDetailTypes = new Set(compat.visibleReasoningDetailTypes);
1591
- const shouldFilterDeepSeekDsmlText = compat.thinkingFormat === "deepseek";
1592
- const deepSeekTextFilter = shouldFilterDeepSeekDsmlText ? createDeepSeekTextFilter() : null;
1593
- const deepSeekToolCallRecoverer = !directMode && shouldFilterDeepSeekDsmlText ? createDsmlRecoverer() : null;
1594
+ const deepSeekTextFilter = compat.emitsDsmlToolCalls ? createDeepSeekTextFilter() : null;
1595
+ const deepSeekToolCallRecoverer = !directMode && compat.emitsDsmlToolCalls ? createDsmlRecoverer() : null;
1594
1596
  const gemmaToolCallRecoverer = !directMode && /gemma-?4/i.test(model.id) ? createGemmaToolCallRecoverer() : null;
1595
1597
  const reasoningTagTextPartitioner = createReasoningTagTextPartitioner();
1596
1598
  if (options?.strictReasoningTags) reasoningTagTextPartitioner.markStrict();
@@ -1612,7 +1614,7 @@ async function processCompletionsStream(responseStream, output, model, stream, o
1612
1614
  let chunkPushedEvent = false;
1613
1615
  const pushStreamEvent = (event) => {
1614
1616
  chunkPushedEvent = true;
1615
- stream.push(event);
1617
+ stream.push(detachPartialSnapshot(event));
1616
1618
  };
1617
1619
  const appendToolCallBlock = (block) => {
1618
1620
  output.content.push(block);
@@ -1708,6 +1710,7 @@ async function processCompletionsStream(responseStream, output, model, stream, o
1708
1710
  } : delta);
1709
1711
  }
1710
1712
  };
1713
+ const recoveredToolCallBlocks = /* @__PURE__ */ new Set();
1711
1714
  const appendRecoveredToolCall = (toolCall) => {
1712
1715
  if (currentBlock?.type === "toolCall") {
1713
1716
  currentBlock = null;
@@ -1720,6 +1723,7 @@ async function processCompletionsStream(responseStream, output, model, stream, o
1720
1723
  arguments: toolCall.arguments,
1721
1724
  partialJson: toolCall.partialJson
1722
1725
  };
1726
+ recoveredToolCallBlocks.add(block);
1723
1727
  currentBlock = block;
1724
1728
  appendToolCallBlock(block);
1725
1729
  pushStreamEvent({
@@ -1907,6 +1911,7 @@ async function processCompletionsStream(responseStream, output, model, stream, o
1907
1911
  for (const part of deepSeekTextFilter?.flush() ?? []) appendVisibleTextDelta(part);
1908
1912
  currentBlock = null;
1909
1913
  flushPendingPostToolCallDeltas();
1914
+ if (sawNativeToolCallDelta && recoveredToolCallBlocks.size > 0) output.content = output.content.filter((block) => block.type !== "toolCall" || !recoveredToolCallBlocks.has(block));
1910
1915
  finalizeOpenAICompletionsToolCalls(output, {
1911
1916
  allowSilentToolCallPromotion: finishReason === "stop" || sawNativeToolCallDelta && (options?.sawStreamDONE?.() ?? false),
1912
1917
  onConfirmedToolCall(block, contentIndex) {
@@ -1,4 +1,4 @@
1
- import { n as isNativeOpenAIEndpoint } from "./openai-completions-compat-BaSOvO4F.mjs";
1
+ import { n as isNativeOpenAIEndpoint } from "./openai-completions-compat-CJ0OXZgi.mjs";
2
2
  //#region packages/normalization-core/src/code-points.ts
3
3
  /** Truncates to a nonnegative code-point budget; grapheme clusters may be split. */
4
4
  function truncateCodePoints(text, maxCodePoints) {
@@ -1,13 +1,13 @@
1
1
  import { n as __exportAll } from "./reasoning-tag-text-partitioner-DzlRubwU.mjs";
2
2
  import { t as AssistantMessageEventStream } from "./event-stream-X2gmsUWv.mjs";
3
- import { n as clampOpenAIPromptCacheKey, r as resolveOpenAIPromptCacheParams } from "./openai-prompt-cache-C9l8FtID.mjs";
4
- import { i as resolveOpenAICompletionsCompat } from "./openai-completions-compat-BaSOvO4F.mjs";
3
+ import { n as clampOpenAIPromptCacheKey, r as resolveOpenAIPromptCacheParams } from "./openai-prompt-cache-h8vXRiaH.mjs";
4
+ import { i as resolveOpenAICompletionsCompat } from "./openai-completions-compat-CJ0OXZgi.mjs";
5
5
  import { i as resolveCacheRetention, r as buildCopilotDynamicHeaders } from "./cloudflare-Dttf8jKq.mjs";
6
6
  import { n as buildBaseOptions } from "./simple-options-BdJJbzZk.mjs";
7
7
  import { n as getEnvApiKey } from "./env-api-keys-Xd8dm_aV.mjs";
8
8
  import { t as createAssistantOutput } from "./assistant-output-DbgdWAhJ.mjs";
9
- import { F as convertProviderResponsesMessages, n as applyResponsesServiceTierPricing, r as runResponsesStreamLifecycle, t as applyCommonResponsesParams, vt as resolveOpenAISimpleReasoningEffort } from "./openai-responses-shared-Bl7Bm4Tn.mjs";
10
- import { i as createOpenAIProviderClient, n as resolveProviderSimpleCompletionHeaders } from "./provider-transport-turn-state-DM9Mbjfp.mjs";
9
+ import { F as convertProviderResponsesMessages, n as applyResponsesServiceTierPricing, r as runResponsesStreamLifecycle, t as applyCommonResponsesParams, vt as resolveOpenAISimpleReasoningEffort } from "./openai-responses-shared-CNfHudFg.mjs";
10
+ import { i as createOpenAIProviderClient, n as resolveProviderSimpleCompletionHeaders } from "./provider-transport-turn-state-B11rmZpv.mjs";
11
11
  import { t as requireApiKey } from "./required-api-key-D088S4Cd.mjs";
12
12
  //#region packages/ai/src/providers/openai-responses.ts
13
13
  var openai_responses_exports = /* @__PURE__ */ __exportAll({
@@ -1,11 +1,11 @@
1
1
  import { o as isRecord } from "./record-coerce-CNDovvft.mjs";
2
2
  import { f as RESPONSES_RETAINED_USER, g as responsesPromptObserver } from "./openai-responses-contracts-DCG51Us0.mjs";
3
3
  import { c as stableStringify, d as estimateTokensFromChars, u as estimateStringChars } from "./provider-error-qtZD2inE.mjs";
4
- import "./provider-replay-context-BGueqVCi.mjs";
4
+ import "./transport-utils-CcCAuFVS.mjs";
5
5
  import { w as stripSystemPromptCacheBoundary } from "./simple-options-BdJJbzZk.mjs";
6
6
  import { v as sanitizeTransportPayloadText } from "./transport-stream-shared-DdnJGEj0.mjs";
7
7
  import { w as sha256Hex } from "./tool-schema-json-projection-Cvq69Ajp.mjs";
8
- import { rt as buildOpenAIResponsesReasoningReplayMetadata } from "./openai-responses-shared-Bl7Bm4Tn.mjs";
8
+ import { rt as buildOpenAIResponsesReasoningReplayMetadata } from "./openai-responses-shared-CNfHudFg.mjs";
9
9
  import { a as isOpenAIResponsesCompactionOutput, s as sanitizeResponsesImagePayload } from "./openai-responses-endpoint-JbBT8IDv.mjs";
10
10
  //#region packages/ai/src/transports/openai-responses-compact-request.ts
11
11
  const COMPACT_REQUEST = Symbol("openaiResponsesCompactRequest");
@@ -9,15 +9,16 @@ import { D as applyProviderReportedUsageCost, E as headersToRecord, N as isImage
9
9
  import { A as supportsOpenAIReasoningEffort, D as resolveOpenAIReasoningEffortForModel, E as resolveOpenAIModelReasoningEfforts, F as MODEL_CATALOG_THINKING_LEVELS, O as resolveOpenAIReasoningEffortMapping, R as resolveOpenAIThinkingApi, T as normalizeOpenAIReasoningEffort, _ as responsesServiceTierObserver, a as OPENAI_RESPONSES_COMPACTION_REPLAY_TYPE, c as OPENAI_RESPONSES_RETAINED_COMPACTION_REPLAY_TYPE, f as RESPONSES_RETAINED_USER, i as OPENAI_RESPONSES_APIS, j as supportsOpenAITemperature, m as isPreviousResponseRejection, o as OPENAI_RESPONSES_REASONING_REPLAY_BLOCK_META_KEY, p as RESPONSE_FAILED_NO_DETAILS_MESSAGE, s as OPENAI_RESPONSES_REASONING_REPLAY_META_KEY, v as isResponsesServiceTierRejection, y as nextResponsesServiceTier } from "./openai-responses-contracts-DCG51Us0.mjs";
10
10
  import { n as getSessionResourceOwnerId, r as registerSessionResourceCleanup } from "./session-resources-vKvGIE3J.mjs";
11
11
  import { c as stableStringify, s as truncateUtf16Safe } from "./provider-error-qtZD2inE.mjs";
12
- import { n as clampOpenAIPromptCacheKey } from "./openai-prompt-cache-C9l8FtID.mjs";
12
+ import { n as clampOpenAIPromptCacheKey } from "./openai-prompt-cache-h8vXRiaH.mjs";
13
13
  import { _ as resolveResponsesTerminalStopReason, a as resolveModelPayloadDebugMode, d as hasOnlyResponsesFunctionTools, f as isResponsesProviderTool, g as readResponsesReasoningTokens, h as mapResponsesTerminalUsage, r as emitModelTransportDebug, u as ResponsesOutputIdentityError } from "./diagnostics-Cv7cW3pS.mjs";
14
- import { c as redactSensitiveText, n as isProviderReplayContext, o as isCodeModeModelVisibleToolName, r as providerReplayContextMatches, t as buildProviderReplayContext } from "./provider-replay-context-BGueqVCi.mjs";
15
- import { c as resolveOpenAIResponsesTextFormat, i as resolveOpenAICompletionsCompat, o as usesNativeOpenAICodexResponsesBackend } from "./openai-completions-compat-BaSOvO4F.mjs";
14
+ import { a as redactSensitiveText, r as isCodeModeModelVisibleToolName } from "./transport-utils-CcCAuFVS.mjs";
15
+ import { c as resolveOpenAIResponsesTextFormat, i as resolveOpenAICompletionsCompat, o as usesNativeOpenAICodexResponsesBackend } from "./openai-completions-compat-CJ0OXZgi.mjs";
16
16
  import { r as resolveModelRequestTimeoutMs } from "./host-policy-Ci1cKluf.mjs";
17
17
  import { r as sortPromptCacheToolsByName } from "./prompt-cache-stability-D_MeCQFI.mjs";
18
18
  import { d as extractToolResultBlockText, f as extractToolResultText, h as preparedRequestSuffix, l as describeToolResultMediaPlaceholder, r as clampMaxTokensToModel, s as prepareModelRequestBody, w as stripSystemPromptCacheBoundary } from "./simple-options-BdJJbzZk.mjs";
19
19
  import { A as shortHash, C as parseJsonObjectPreservingUnsafeIntegers, E as createToolArgumentPreviewSchedule, O as parseStreamingJson, S as withProviderResponseHook, b as transportAbortError, c as failTransportStream, d as iterateModelStream, g as parseTerminalToolCallArguments, m as notifyProviderHttpResponse, t as IncompleteToolCallError, u as finalizeTransportStream, v as sanitizeTransportPayloadText } from "./transport-stream-shared-DdnJGEj0.mjs";
20
20
  import { C as redactIdentifier, n as prepareRuntimeToolInputSchema, r as projectRuntimeToolInputSchema, w as sha256Hex } from "./tool-schema-json-projection-Cvq69Ajp.mjs";
21
+ import { n as isProviderReplayContext, r as providerReplayContextMatches, t as buildProviderReplayContext } from "./provider-replay-context-BC23HyZo.mjs";
21
22
  import { n as transformProviderMessages } from "./assistant-output-DbgdWAhJ.mjs";
22
23
  import { t as notifyLlmRequestActivity } from "./llm-request-activity-CfMuh5cC.mjs";
23
24
  import { n as resolveOpencodeSessionHeaders } from "./session-affinity-DA4WHv1h.mjs";
@@ -185,6 +186,18 @@ function readOpenAICompletionsReasoningBatch(delta, visibleReasoningDetailTypes)
185
186
  hasVisibleText: mirroredThinking.length < deltas.length
186
187
  };
187
188
  }
189
+ function detachPartialSnapshot(event) {
190
+ const source = event;
191
+ if (!source.partial) return event;
192
+ const partial = source.partial;
193
+ return {
194
+ ...event,
195
+ partial: {
196
+ ...partial,
197
+ content: partial.content.map((block) => block.type === "text" ? Object.assign({}, block) : block)
198
+ }
199
+ };
200
+ }
188
201
  function parseOpenAICompletionsUsage(rawUsage, model, options) {
189
202
  const reportedCacheRead = rawUsage.prompt_tokens_details?.cached_tokens ?? rawUsage.prompt_cache_hit_tokens ?? rawUsage.cached_tokens;
190
203
  const reportedCacheWrite = rawUsage.prompt_tokens_details?.cache_write_tokens ?? rawUsage.prompt_tokens_details?.cache_creation_input_tokens ?? rawUsage.cache_creation_input_tokens;
@@ -1650,7 +1663,10 @@ function convertResponsesMessagesWithStyle(model, context, allowedToolCallProvid
1650
1663
  }
1651
1664
  if (!isRecord(reasoningItem) || reasoningItem.type !== "reasoning") continue;
1652
1665
  const replayableReasoningItem = prepareOpenAIResponsesReasoningItemForReplay(reasoningItem, replayContext, readOpenAIResponsesReasoningReplayBlockMetadata(isRecord(block) ? block : {}), providerStyle ? { preserveUnattributedEncryptedContent: true } : void 0);
1653
- if (!shouldReplayResponsesItemIds) delete replayableReasoningItem.id;
1666
+ if (!shouldReplayResponsesItemIds) {
1667
+ delete replayableReasoningItem.id;
1668
+ if (!replayableReasoningItem.encrypted_content) continue;
1669
+ }
1654
1670
  if (shouldReplayResponsesItemIds && !providerStyle && model.provider === "github-copilot" && !isSafeResponsesReplayItemId(replayableReasoningItem.id)) continue;
1655
1671
  output.push(replayableReasoningItem);
1656
1672
  previousReplayItemWasReasoning = true;
@@ -2406,7 +2422,7 @@ function createResponsesOutputTracker(params) {
2406
2422
  trackStream(sink) {
2407
2423
  return { push(event) {
2408
2424
  visibleTextEmitted ||= event.type === "text_delta" && event.delta.length > 0 || event.type === "text_end" && event.content.length > 0;
2409
- sink.push(event);
2425
+ sink.push(detachPartialSnapshot(event));
2410
2426
  } };
2411
2427
  },
2412
2428
  observeEvent(event) {
@@ -3504,4 +3520,4 @@ async function runResponsesStreamLifecycle(params) {
3504
3520
  }
3505
3521
  }
3506
3522
  //#endregion
3507
- export { isConfigurationUpdate as $, summarizeResponsesPayload as A, log as At, recordResponsesInputReplay as B, readResponsesRecoveryEvent as C, reconcileOpenAIResponsesToolChoice as Ct, logResponsesFailedNoDetails as D, createOpenAIResponseHook as Dt, ResponsesStreamFailure as E, createOpenAIProviderAcceptanceHook as Et, convertProviderResponsesMessages as F, resolveOpenAIClientBaseUrl as Ft, responsesContinuationPrefixFingerprint as G, claimOpenAIResponsesHttpContinuation as H, convertResponsesMessages as I, resolvePromptCacheKey as It, OPENAI_RESPONSES_FUNCTION_CALL_ITEM_ID_RE as J, responsesContinuationRequestFingerprint as K, normalizeOpenAIResponsesReasoningReplayItem as L, withOpenAIErrorResponseHook as Lt, resolveResponsesContextUsageBoundary as M, parseOpenAICompletionsUsage as Mt, bindResponsesInputMessage as N, readOpenAICompletionsContentDeltas as Nt, safeDebugValue as O, createResponseModelTracker as Ot, buildResponsesInputMessage as P, readOpenAICompletionsReasoningBatch as Pt, splitOpenAIFunctionCallPairing as Q, resolveReplayableResponsesMessageId as R, isInvalidEncryptedContentError as S, reconcileOpenAICompletionsToolChoice as St, resolveNextResponsesEncryptedContentAttempt as T, GEMINI_THOUGHT_SIGNATURE_VALIDATOR_SKIP as Tt, recordResponsesContinuationState as U, responsesInputFingerprint as V, resolveResponsesContinuationRequest as W, normalizeOpenAIResponsesFunctionCallId as X, OPENAI_RESPONSES_ID_MAX_LENGTH as Y, shouldNormalizeOpenAIResponsesToolCallId as Z, isResponsesTextContentPartType as _, resolveOpenAIRequestReasoning as _t, prepareResponsesTools as a, resolveNewestOpenAIResponsesCompactionReplay as at, commitResponsesEncryptedContentAttempt as b, prepareOpenAITools as bt, observeResponsesStream as c, buildOpenAIClientHeaders as ct, AZURE_RESPONSES_TEXT_CONTENT_PART_TYPE as d, enforceCodeModeResponsesToolSurface as dt, replayResponsesReasoningUpdates as et, AZURE_RESPONSES_TEXT_DELTA_EVENT_TYPE as f, filterCodeModePayloadTools as ft, isAzureResponsesTextDeltaEventType as g, resolveOpenAIStrictToolFlagWithDiagnostics as gt, isAzureResponsesTextDeltaEvent as h, resolveCodeModeResponsesVisibleToolNames as ht, convertResponsesToolPayload as i, captureOpenAIResponsesCompaction as it, recordResponsesContextUsage as j, measureUtf8AppendBytes as jt, summarizeOpenAITransportError as k, isOpenAICompletionsThinkingEnabled as kt, createResponsesToolCallTracker as l, buildOpenAISdkClientOptions as lt, OPENAI_RESPONSES_OUTPUT_TEXT_DELTA_EVENT_TYPE as m, readCodeModePayloadToolName as mt, applyResponsesServiceTierPricing as n, CompactionReplayRefreshRequiredError as nt, readOpenAIMisalignmentReview as o, suppressOpenAIResponsesCompaction as ot, OPENAI_RESPONSES_OUTPUT_TEXT_CONTENT_PART_TYPE as p, getCompat as pt, OPENAI_RESPONSES_CALL_ID_RE as q, runResponsesStreamLifecycle as r, buildOpenAIResponsesReasoningReplayMetadata as rt, processResponsesStream as s, assertCodeModeResponsesToolSurface as st, applyCommonResponsesParams as t, supportsResponsesReasoningUpdate as tt, readResponsesToolCallItemIdentity as u, buildOpenAISdkRequestOptions as ut, isResponsesTextDeltaEventType as v, resolveOpenAISimpleReasoningEffort as vt, resolveAzureOpenAIApiVersion as w, toOpenAIResponsesToolChoice as wt, createResponsesStreamWithRecovery as x, projectOpenAITools as xt, resolveResponsesMessageSnapshotCollapse as y, resolveOpenAIReasoningEffortMap as yt, readResponsesInputReplayState as z };
3523
+ export { isConfigurationUpdate as $, summarizeResponsesPayload as A, isOpenAICompletionsThinkingEnabled as At, recordResponsesInputReplay as B, readResponsesRecoveryEvent as C, reconcileOpenAIResponsesToolChoice as Ct, logResponsesFailedNoDetails as D, createOpenAIResponseHook as Dt, ResponsesStreamFailure as E, createOpenAIProviderAcceptanceHook as Et, convertProviderResponsesMessages as F, readOpenAICompletionsReasoningBatch as Ft, responsesContinuationPrefixFingerprint as G, claimOpenAIResponsesHttpContinuation as H, convertResponsesMessages as I, resolveOpenAIClientBaseUrl as It, OPENAI_RESPONSES_FUNCTION_CALL_ITEM_ID_RE as J, responsesContinuationRequestFingerprint as K, normalizeOpenAIResponsesReasoningReplayItem as L, resolvePromptCacheKey as Lt, resolveResponsesContextUsageBoundary as M, measureUtf8AppendBytes as Mt, bindResponsesInputMessage as N, parseOpenAICompletionsUsage as Nt, safeDebugValue as O, createResponseModelTracker as Ot, buildResponsesInputMessage as P, readOpenAICompletionsContentDeltas as Pt, splitOpenAIFunctionCallPairing as Q, resolveReplayableResponsesMessageId as R, withOpenAIErrorResponseHook as Rt, isInvalidEncryptedContentError as S, reconcileOpenAICompletionsToolChoice as St, resolveNextResponsesEncryptedContentAttempt as T, GEMINI_THOUGHT_SIGNATURE_VALIDATOR_SKIP as Tt, recordResponsesContinuationState as U, responsesInputFingerprint as V, resolveResponsesContinuationRequest as W, normalizeOpenAIResponsesFunctionCallId as X, OPENAI_RESPONSES_ID_MAX_LENGTH as Y, shouldNormalizeOpenAIResponsesToolCallId as Z, isResponsesTextContentPartType as _, resolveOpenAIRequestReasoning as _t, prepareResponsesTools as a, resolveNewestOpenAIResponsesCompactionReplay as at, commitResponsesEncryptedContentAttempt as b, prepareOpenAITools as bt, observeResponsesStream as c, buildOpenAIClientHeaders as ct, AZURE_RESPONSES_TEXT_CONTENT_PART_TYPE as d, enforceCodeModeResponsesToolSurface as dt, replayResponsesReasoningUpdates as et, AZURE_RESPONSES_TEXT_DELTA_EVENT_TYPE as f, filterCodeModePayloadTools as ft, isAzureResponsesTextDeltaEventType as g, resolveOpenAIStrictToolFlagWithDiagnostics as gt, isAzureResponsesTextDeltaEvent as h, resolveCodeModeResponsesVisibleToolNames as ht, convertResponsesToolPayload as i, captureOpenAIResponsesCompaction as it, recordResponsesContextUsage as j, log as jt, summarizeOpenAITransportError as k, detachPartialSnapshot as kt, createResponsesToolCallTracker as l, buildOpenAISdkClientOptions as lt, OPENAI_RESPONSES_OUTPUT_TEXT_DELTA_EVENT_TYPE as m, readCodeModePayloadToolName as mt, applyResponsesServiceTierPricing as n, CompactionReplayRefreshRequiredError as nt, readOpenAIMisalignmentReview as o, suppressOpenAIResponsesCompaction as ot, OPENAI_RESPONSES_OUTPUT_TEXT_CONTENT_PART_TYPE as p, getCompat as pt, OPENAI_RESPONSES_CALL_ID_RE as q, runResponsesStreamLifecycle as r, buildOpenAIResponsesReasoningReplayMetadata as rt, processResponsesStream as s, assertCodeModeResponsesToolSurface as st, applyCommonResponsesParams as t, supportsResponsesReasoningUpdate as tt, readResponsesToolCallItemIdentity as u, buildOpenAISdkRequestOptions as ut, isResponsesTextDeltaEventType as v, resolveOpenAISimpleReasoningEffort as vt, resolveAzureOpenAIApiVersion as w, toOpenAIResponsesToolChoice as wt, createResponsesStreamWithRecovery as x, projectOpenAITools as xt, resolveResponsesMessageSnapshotCollapse as y, resolveOpenAIReasoningEffortMap as yt, readResponsesInputReplayState as z };
@@ -19,6 +19,8 @@ const CONTEXT_OVERFLOW_PATTERN_SCOPES = {
19
19
  /input \(\d+ tokens\) is longer than the model'?s context length \(\d+ tokens\)/i,
20
20
  /exceeds the limit of \d+/i,
21
21
  /(?:exceeds the available context size|context size has been exceeded)/i,
22
+ /decoder prompt \(length [\d,]+\)(?: plus the number of requested output tokens \(at least 1\))? is longer than the maximum model length of [\d,]+/i,
23
+ /engine prompt length [\d,]+ exceeds the max_model_len [\d,]+/i,
22
24
  /`?inputs`? tokens \+ `?max_new_tokens`? must be <= [\d,]+/i,
23
25
  /`?inputs`? must have less than [\d,]+ tokens/i,
24
26
  /greater than the context length|model is loaded with context length of only \d[\d,]* tokens, which is not enough/i,
@@ -27,6 +29,7 @@ const CONTEXT_OVERFLOW_PATTERN_SCOPES = {
27
29
  /tokens? in request more than max tokens? allowed/i,
28
30
  /prompt exceeds max(?:imum)? length/i,
29
31
  /range of input length should be \[1, [\d,]+\]/i,
32
+ /length of prompt_tokens \([\d,]+\) must be less than max_seq_len \([\d,]+\)/i,
30
33
  /too large for model with \d+ maximum context length/i,
31
34
  CONFIGURED_CONTEXT_SIZE_OVERFLOW_RE,
32
35
  /model_context_window_exceeded/i,
@@ -0,0 +1,25 @@
1
+ import { o as isRecord } from "./record-coerce-CNDovvft.mjs";
2
+ import { A as shortHash } from "./transport-stream-shared-DdnJGEj0.mjs";
3
+ //#region packages/ai/src/transports/provider-replay-context.ts
4
+ function isProviderReplayContext(value) {
5
+ return isRecord(value) && typeof value.provider === "string" && typeof value.api === "string" && typeof value.model === "string" && (value.baseUrlHash === void 0 || typeof value.baseUrlHash === "string") && (value.sessionHash === void 0 || typeof value.sessionHash === "string") && (value.authProfileHash === void 0 || typeof value.authProfileHash === "string");
6
+ }
7
+ function hashReplayContextValue(value) {
8
+ const normalized = value?.trim();
9
+ return normalized ? shortHash(normalized) : void 0;
10
+ }
11
+ function buildProviderReplayContext(model, options) {
12
+ return {
13
+ provider: model.provider,
14
+ api: model.api,
15
+ model: model.id,
16
+ baseUrlHash: hashReplayContextValue(model.baseUrl),
17
+ sessionHash: hashReplayContextValue(options?.sessionId),
18
+ authProfileHash: hashReplayContextValue(options?.authProfileId)
19
+ };
20
+ }
21
+ function providerReplayContextMatches(state, context) {
22
+ return state.provider === context.provider && state.api === context.api && state.model === context.model && state.baseUrlHash === context.baseUrlHash && state.sessionHash === context.sessionHash && state.authProfileHash === context.authProfileHash;
23
+ }
24
+ //#endregion
25
+ export { isProviderReplayContext as n, providerReplayContextMatches as r, buildProviderReplayContext as t };
@@ -1,7 +1,7 @@
1
1
  import { r as getAiTransportHost } from "./host-rCxf5Tjd.mjs";
2
2
  import { n as resolveCloudflareBaseUrl, t as isCloudflareProvider } from "./cloudflare-Dttf8jKq.mjs";
3
3
  import { n as resolveOpencodeSessionHeaders, t as hasOpencodeSessionHeader } from "./session-affinity-DA4WHv1h.mjs";
4
- import { Ft as resolveOpenAIClientBaseUrl, Lt as withOpenAIErrorResponseHook } from "./openai-responses-shared-Bl7Bm4Tn.mjs";
4
+ import { It as resolveOpenAIClientBaseUrl, Rt as withOpenAIErrorResponseHook } from "./openai-responses-shared-CNfHudFg.mjs";
5
5
  import { randomUUID } from "node:crypto";
6
6
  import OpenAI from "openai";
7
7
  //#region packages/ai/src/providers/openai-provider-client.ts
@@ -1,6 +1,6 @@
1
1
  import { t as AssistantMessageEventStream } from "./event-stream-X2gmsUWv.mjs";
2
2
  import { n as projectProviderError } from "./provider-error-qtZD2inE.mjs";
3
- import { n as clampOpenAIPromptCacheKey, t as OPENAI_PROMPT_CACHE_KEY_MAX_LENGTH } from "./openai-prompt-cache-C9l8FtID.mjs";
3
+ import { n as clampOpenAIPromptCacheKey, t as OPENAI_PROMPT_CACHE_KEY_MAX_LENGTH } from "./openai-prompt-cache-h8vXRiaH.mjs";
4
4
  import { t as createZeroUsage } from "./usage-CJH5D6Ea.mjs";
5
5
  //#region packages/ai/src/providers/register-builtins.ts
6
6
  /** Source id used for built-in API provider registrations. */
@@ -50,11 +50,11 @@ function createLazyRegistration(api, importModule, select) {
50
50
  };
51
51
  }
52
52
  const registerBuiltIns = [
53
- createLazyRegistration("anthropic-messages", () => import("./anthropic-16B3dgU4.mjs").then((n) => n.t), (module) => ({
53
+ createLazyRegistration("anthropic-messages", () => import("./anthropic-B54Ts1tV.mjs").then((n) => n.t), (module) => ({
54
54
  stream: module.streamAnthropic,
55
55
  streamSimple: module.streamSimpleAnthropic
56
56
  })),
57
- createLazyRegistration("openai-completions", () => import("./openai-completions-BKHzrKjZ.mjs").then((n) => n.t), (module) => ({
57
+ createLazyRegistration("openai-completions", () => import("./openai-completions-CB-wfbsI.mjs").then((n) => n.t), (module) => ({
58
58
  stream: module.streamOpenAICompletions,
59
59
  streamSimple: module.streamSimpleOpenAICompletions
60
60
  })),
@@ -62,15 +62,15 @@ const registerBuiltIns = [
62
62
  stream: module.streamMistral,
63
63
  streamSimple: module.streamSimpleMistral
64
64
  })),
65
- createLazyRegistration("openai-responses", () => import("./openai-responses-6GnBON7Q.mjs").then((n) => n.t), (module) => ({
65
+ createLazyRegistration("openai-responses", () => import("./openai-responses-Cp2QPq7K.mjs").then((n) => n.t), (module) => ({
66
66
  stream: module.streamOpenAIResponses,
67
67
  streamSimple: module.streamSimpleOpenAIResponses
68
68
  })),
69
- createLazyRegistration("azure-openai-responses", () => import("./azure-openai-responses-DFcmh7LD.mjs"), (module) => ({
69
+ createLazyRegistration("azure-openai-responses", () => import("./azure-openai-responses-DHzTwi-y.mjs"), (module) => ({
70
70
  stream: module.streamAzureOpenAIResponses,
71
71
  streamSimple: module.streamSimpleAzureOpenAIResponses
72
72
  })),
73
- createLazyRegistration("openai-chatgpt-responses", () => import("./openai-chatgpt-responses-CZH7am6J.mjs"), (module) => ({
73
+ createLazyRegistration("openai-chatgpt-responses", () => import("./openai-chatgpt-responses-BHkSHjkO.mjs"), (module) => ({
74
74
  stream: module.streamOpenAICodexResponses,
75
75
  streamSimple: module.streamSimpleOpenAICodexResponses
76
76
  })),
@@ -78,7 +78,7 @@ const registerBuiltIns = [
78
78
  stream: module.streamGoogle,
79
79
  streamSimple: module.streamSimpleGoogle
80
80
  })),
81
- createLazyRegistration("google-interactions", () => import("./google-interactions-G1sECmlf.mjs"), (module) => ({
81
+ createLazyRegistration("google-interactions", () => import("./google-interactions-1XAHjAQo.mjs"), (module) => ({
82
82
  stream: module.streamGoogleInteractions,
83
83
  streamSimple: module.streamSimpleGoogleInteractions
84
84
  })),
@@ -1,8 +1,7 @@
1
- import { o as isRecord } from "./record-coerce-CNDovvft.mjs";
2
1
  import { r as getAiTransportHost } from "./host-rCxf5Tjd.mjs";
3
2
  import { s as truncateUtf16Safe } from "./provider-error-qtZD2inE.mjs";
4
3
  import "./internal/retry-after.mjs";
5
- import { A as shortHash, N as raceWithTimeout } from "./transport-stream-shared-DdnJGEj0.mjs";
4
+ import { N as raceWithTimeout } from "./transport-stream-shared-DdnJGEj0.mjs";
6
5
  import "./positive-integer-Bb4Evc7L.mjs";
7
6
  //#region packages/normalization-core/src/response-bytes.ts
8
7
  async function consumeResponseBytes(options) {
@@ -110,26 +109,4 @@ async function readResponseTextSnippet(response, options) {
110
109
  return truncated ? `${collapsed}…` : collapsed;
111
110
  }
112
111
  //#endregion
113
- //#region packages/ai/src/transports/provider-replay-context.ts
114
- function isProviderReplayContext(value) {
115
- return isRecord(value) && typeof value.provider === "string" && typeof value.api === "string" && typeof value.model === "string" && (value.baseUrlHash === void 0 || typeof value.baseUrlHash === "string") && (value.sessionHash === void 0 || typeof value.sessionHash === "string") && (value.authProfileHash === void 0 || typeof value.authProfileHash === "string");
116
- }
117
- function hashReplayContextValue(value) {
118
- const normalized = value?.trim();
119
- return normalized ? shortHash(normalized) : void 0;
120
- }
121
- function buildProviderReplayContext(model, options) {
122
- return {
123
- provider: model.provider,
124
- api: model.api,
125
- model: model.id,
126
- baseUrlHash: hashReplayContextValue(model.baseUrl),
127
- sessionHash: hashReplayContextValue(options?.sessionId),
128
- authProfileHash: hashReplayContextValue(options?.authProfileId)
129
- };
130
- }
131
- function providerReplayContextMatches(state, context) {
132
- return state.provider === context.provider && state.api === context.api && state.model === context.model && state.baseUrlHash === context.baseUrlHash && state.sessionHash === context.sessionHash && state.authProfileHash === context.authProfileHash;
133
- }
134
- //#endregion
135
- export { estimateStringChars as a, redactSensitiveText as c, supportsModelTools as d, consumeResponseBytes as f, MALFORMED_STREAMING_FRAGMENT_ERROR_MESSAGE as i, resolveModelHeaderSentinels as l, isProviderReplayContext as n, isCodeModeModelVisibleToolName as o, providerReplayContextMatches as r, readResponseTextSnippet as s, buildProviderReplayContext as t, streamFragmentError as u };
112
+ export { redactSensitiveText as a, supportsModelTools as c, readResponseTextSnippet as i, consumeResponseBytes as l, estimateStringChars as n, resolveModelHeaderSentinels as o, isCodeModeModelVisibleToolName as r, streamFragmentError as s, MALFORMED_STREAMING_FRAGMENT_ERROR_MESSAGE as t };
@@ -5,7 +5,7 @@ import { o as AiProviderStreamHookContext } from "./host-jJOffdlW.mjs";
5
5
  import { a as BaseOpenAIStreamOptions, c as OpenAICompletionsOptions, l as OpenAIResponsesCompactionRejection, m as OpenAIToolProjection, o as CodeModeToolSurfaceObservation, s as CompactionReplayRejection } from "./provider-options-Bo8GzTGX.mjs";
6
6
  import "./types-CBJthzJX.mjs";
7
7
  import { a as buildAnthropicSystemBlocks, c as logAnthropicContextEdits, d as resolveAnthropicPayloadPolicy, f as resolveAnthropicRequestBetaHeader, i as applyAnthropicRequestCacheControl, l as resolveAnthropicCacheOptions, m as supportsAnthropicServerSideFallback, n as applyAnthropicEphemeralCacheControlMarkers, o as isAnthropicServerToolClearingEnabled, p as resolveAnthropicServerCompactionPlan, r as applyAnthropicPayloadPolicyToParams, s as isDirectAnthropicModel, t as applyAnthropicContextManagementToRequest, u as resolveAnthropicEphemeralCacheControl } from "./anthropic-payload-policy-rqCq9sT_.mjs";
8
- import { a as resolveOpenAICompletionsCompat, i as isOpenAICodexResponsesModel, n as detectOpenAICompletionsCompat, o as resolveOpenAIPromptCacheKeySupport, r as isNativeOpenAIEndpoint, s as usesNativeOpenAICodexResponsesBackend, t as ResolvedOpenAICompletionsCompat } from "./openai-completions-compat-1gsjP-KO.mjs";
8
+ import { a as resolveOpenAICompletionsCompat, i as isOpenAICodexResponsesModel, n as detectOpenAICompletionsCompat, o as resolveOpenAIPromptCacheKeySupport, r as isNativeOpenAIEndpoint, s as usesNativeOpenAICodexResponsesBackend, t as ResolvedOpenAICompletionsCompat } from "./openai-completions-compat-CBvb2eld.mjs";
9
9
  import { a as ReplayableResponseReasoningItem, n as OpenAIResponsesOptions, r as OpenAIResponsesReasoningReplayMetadata, u as OpenAIResponsesCompactionOutput } from "./openai-responses-contracts-D-VwWWjx.mjs";
10
10
  import { a as resolveOpenAIResponsesPayloadPolicy, i as resolveOpenAIResponsesCompactEndpointPlan, n as applyOpenAIResponsesPayloadPolicy, o as resolveOpenAIResponsesRequestContextTokens, r as normalizeOpenAIServiceTier, s as resolveOpenAIResponsesServerCompactionPlan, t as OpenAIServiceTier } from "./openai-responses-payload-policy-BzM52TTH.mjs";
11
11
  import { n as captureOpenAIResponsesCompaction, t as CompactionReplayRefreshRequiredError } from "./openai-responses-compaction-replay-C-yvB5g5.mjs";
@@ -137,6 +137,7 @@ export type MutableAssistantOutput = Omit<AssistantMessage, "content" | "usage">
137
137
  reasoningTokens?: number;
138
138
  };
139
139
  };
140
+ export declare function detachPartialSnapshot<TEvent>(event: TEvent): TEvent;
140
141
  export declare function parseOpenAICompletionsUsage(rawUsage: NonNullable<ChatCompletionChunk["usage"]> & {
141
142
  cost?: unknown;
142
143
  cache_creation_input_tokens?: number;
@@ -291,6 +292,7 @@ export declare function getCompat(model: OpenAIModeModel): {
291
292
  cacheControlFormat?: OpenAICompletionsCompat["cacheControlFormat"];
292
293
  sessionAffinity: "none" | "openai" | "openrouter";
293
294
  visibleReasoningDetailTypes: string[];
295
+ emitsDsmlToolCalls: boolean;
294
296
  requiresNonEmptyUserOrAssistantMessage: boolean;
295
297
  requiresTypedUnionBranches: boolean;
296
298
  configuredSupportsLongCacheRetention?: boolean;
@@ -5,21 +5,21 @@ import { T as usesClaudeStreamingRefusalContract, _ as buildAnthropicClaudeCodeI
5
5
  import { i as OPENAI_RESPONSES_APIS } from "./openai-responses-contracts-DCG51Us0.mjs";
6
6
  import { o as redactDiagnosticText, s as truncateUtf16Safe } from "./provider-error-qtZD2inE.mjs";
7
7
  import { a as resolveModelPayloadDebugMode, i as emitModelTransportError, n as formatModelTransportDebugUrl, o as resolveModelSseDebugMode, r as emitModelTransportDebug, t as formatModelTransportDebugBaseUrl, y as toErrorObject } from "./diagnostics-Cv7cW3pS.mjs";
8
- import { i as MALFORMED_STREAMING_FRAGMENT_ERROR_MESSAGE, l as resolveModelHeaderSentinels, o as isCodeModeModelVisibleToolName, s as readResponseTextSnippet, u as streamFragmentError } from "./provider-replay-context-BGueqVCi.mjs";
9
- import { a as resolveOpenAIPromptCacheKeySupport, i as resolveOpenAICompletionsCompat, n as isNativeOpenAIEndpoint, o as usesNativeOpenAICodexResponsesBackend, r as isOpenAICodexResponsesModel, t as detectOpenAICompletionsCompat } from "./openai-completions-compat-BaSOvO4F.mjs";
8
+ import { i as readResponseTextSnippet, o as resolveModelHeaderSentinels, r as isCodeModeModelVisibleToolName, s as streamFragmentError, t as MALFORMED_STREAMING_FRAGMENT_ERROR_MESSAGE } from "./transport-utils-CcCAuFVS.mjs";
9
+ import { a as resolveOpenAIPromptCacheKeySupport, i as resolveOpenAICompletionsCompat, n as isNativeOpenAIEndpoint, o as usesNativeOpenAICodexResponsesBackend, r as isOpenAICodexResponsesModel, t as detectOpenAICompletionsCompat } from "./openai-completions-compat-CJ0OXZgi.mjs";
10
10
  import { t as buildGuardedModelFetch } from "./host-policy-Ci1cKluf.mjs";
11
- import { A as resolveAnthropicCacheOptions, C as applyAnthropicEphemeralCacheControlMarkers, D as isAnthropicServerToolClearingEnabled, E as buildAnthropicSystemBlocks, F as supportsAnthropicServerSideFallback, H as isAnthropicOAuthApiKey, M as resolveAnthropicPayloadPolicy, N as resolveAnthropicRequestBetaHeader, O as isDirectAnthropicModel, P as resolveAnthropicServerCompactionPlan, S as applyAnthropicContextManagementToRequest, T as applyAnthropicRequestCacheControl, U as omitFoundryBearerCredentialHeaders, W as usesFoundryBearerAuth, b as resolveNewestAnthropicCompaction, f as resolveAnthropicTransportOptions, j as resolveAnthropicEphemeralCacheControl, k as logAnthropicContextEdits, l as buildAnthropicRequest, p as resolveCompletionTokenReservation, t as consumeAnthropicStream, u as prepareAnthropicRequest, w as applyAnthropicPayloadPolicyToParams, x as suppressAnthropicCompaction, y as isAnthropicReplayRejection } from "./anthropic-stream-reducer-kxyYeesU.mjs";
11
+ import { A as resolveAnthropicCacheOptions, C as applyAnthropicEphemeralCacheControlMarkers, D as isAnthropicServerToolClearingEnabled, E as buildAnthropicSystemBlocks, F as supportsAnthropicServerSideFallback, H as isAnthropicOAuthApiKey, M as resolveAnthropicPayloadPolicy, N as resolveAnthropicRequestBetaHeader, O as isDirectAnthropicModel, P as resolveAnthropicServerCompactionPlan, S as applyAnthropicContextManagementToRequest, T as applyAnthropicRequestCacheControl, U as omitFoundryBearerCredentialHeaders, W as usesFoundryBearerAuth, b as resolveNewestAnthropicCompaction, f as resolveAnthropicTransportOptions, j as resolveAnthropicEphemeralCacheControl, k as logAnthropicContextEdits, l as buildAnthropicRequest, p as resolveCompletionTokenReservation, t as consumeAnthropicStream, u as prepareAnthropicRequest, w as applyAnthropicPayloadPolicyToParams, x as suppressAnthropicCompaction, y as isAnthropicReplayRejection } from "./anthropic-stream-reducer-C__ByTq1.mjs";
12
12
  import { r as sortPromptCacheToolsByName } from "./prompt-cache-stability-D_MeCQFI.mjs";
13
13
  import { C as parseJsonObjectPreservingUnsafeIntegers, S as withProviderResponseHook, T as quoteUnsafeIntegerLiterals, _ as sanitizeNonEmptyTransportPayloadText, a as createEmptyTransportUsage, b as transportAbortError, c as failTransportStream, d as iterateModelStream, f as mergeTransportHeaders, g as parseTerminalToolCallArguments, h as notifyProviderStreamOpened, i as copyProviderAcceptanceObserver, j as createAbortError$1, l as finalizeTerminalToolCallArguments, m as notifyProviderHttpResponse, n as assignTransportErrorDetails, o as createModelStreamCooperativeScheduler, p as notifyProviderHttpMetadata, r as coerceTransportToolCallArguments, s as createWritableTransportEventStream, t as IncompleteToolCallError, u as finalizeTransportStream, v as sanitizeTransportPayloadText, w as parseJsonPreservingUnsafeIntegers, x as withProviderAcceptanceObserver, y as throwIfModelStreamAborted } from "./transport-stream-shared-DdnJGEj0.mjs";
14
14
  import { n as getEnvApiKey } from "./env-api-keys-Xd8dm_aV.mjs";
15
15
  import { t as createDeferredEventBuffer } from "./deferred-event-buffer-DAvyP7qA.mjs";
16
16
  import { t as createAssistantOutput } from "./assistant-output-DbgdWAhJ.mjs";
17
17
  import { n as resolveOpencodeSessionHeaders } from "./session-affinity-DA4WHv1h.mjs";
18
- import { c as flattenCompletionMessagesToStringContent, d as hasOpenAICompatibleConversationTurn, f as canonicalizeMaxTokensParam, i as createOpenAIResponsesTransportStreamFn, l as stripCompletionMessagesToRoleContent, m as createDeepSeekTextFilter, o as buildOpenAICompletionsParams, p as resolveMaxTokensParam, r as createAzureOpenAIResponsesTransportStreamFn, t as createOpenAICompletionsTransportStreamFn, u as applyCompletionsAnthropicCacheControl } from "./openai-completions-transport-PLb2fTJW.mjs";
18
+ import { c as flattenCompletionMessagesToStringContent, d as hasOpenAICompatibleConversationTurn, f as canonicalizeMaxTokensParam, i as createOpenAIResponsesTransportStreamFn, l as stripCompletionMessagesToRoleContent, m as createDeepSeekTextFilter, o as buildOpenAICompletionsParams, p as resolveMaxTokensParam, r as createAzureOpenAIResponsesTransportStreamFn, t as createOpenAICompletionsTransportStreamFn, u as applyCompletionsAnthropicCacheControl } from "./openai-completions-transport-CqomHW1O.mjs";
19
19
  import { a as googleFlashSupportsMinimalThinking, i as consumeGoogleGenerateContentStream, n as projectGoogleMessages, r as requiresGoogleToolCallId, t as convertGoogleTools } from "./google-messages-B-svbJuN.mjs";
20
- import { At as log, Dt as createOpenAIResponseHook, Et as createOpenAIProviderAcceptanceHook, Ft as resolveOpenAIClientBaseUrl, It as resolvePromptCacheKey, J as OPENAI_RESPONSES_FUNCTION_CALL_ITEM_ID_RE, L as normalizeOpenAIResponsesReasoningReplayItem, Lt as withOpenAIErrorResponseHook, M as resolveResponsesContextUsageBoundary, Mt as parseOpenAICompletionsUsage, Nt as readOpenAICompletionsContentDeltas, Ot as createResponseModelTracker, Pt as readOpenAICompletionsReasoningBatch, Q as splitOpenAIFunctionCallPairing, R as resolveReplayableResponsesMessageId, Tt as GEMINI_THOUGHT_SIGNATURE_VALIDATOR_SKIP, X as normalizeOpenAIResponsesFunctionCallId, Y as OPENAI_RESPONSES_ID_MAX_LENGTH, Z as shouldNormalizeOpenAIResponsesToolCallId, at as resolveNewestOpenAIResponsesCompactionReplay, ct as buildOpenAIClientHeaders, dt as enforceCodeModeResponsesToolSurface, ft as filterCodeModePayloadTools, gt as resolveOpenAIStrictToolFlagWithDiagnostics, ht as resolveCodeModeResponsesVisibleToolNames, it as captureOpenAIResponsesCompaction, jt as measureUtf8AppendBytes, kt as isOpenAICompletionsThinkingEnabled, lt as buildOpenAISdkClientOptions, mt as readCodeModePayloadToolName, nt as CompactionReplayRefreshRequiredError, pt as getCompat, q as OPENAI_RESPONSES_CALL_ID_RE, st as assertCodeModeResponsesToolSurface, ut as buildOpenAISdkRequestOptions, yt as resolveOpenAIReasoningEffortMap } from "./openai-responses-shared-Bl7Bm4Tn.mjs";
20
+ import { At as isOpenAICompletionsThinkingEnabled, Dt as createOpenAIResponseHook, Et as createOpenAIProviderAcceptanceHook, Ft as readOpenAICompletionsReasoningBatch, It as resolveOpenAIClientBaseUrl, J as OPENAI_RESPONSES_FUNCTION_CALL_ITEM_ID_RE, L as normalizeOpenAIResponsesReasoningReplayItem, Lt as resolvePromptCacheKey, M as resolveResponsesContextUsageBoundary, Mt as measureUtf8AppendBytes, Nt as parseOpenAICompletionsUsage, Ot as createResponseModelTracker, Pt as readOpenAICompletionsContentDeltas, Q as splitOpenAIFunctionCallPairing, R as resolveReplayableResponsesMessageId, Rt as withOpenAIErrorResponseHook, Tt as GEMINI_THOUGHT_SIGNATURE_VALIDATOR_SKIP, X as normalizeOpenAIResponsesFunctionCallId, Y as OPENAI_RESPONSES_ID_MAX_LENGTH, Z as shouldNormalizeOpenAIResponsesToolCallId, at as resolveNewestOpenAIResponsesCompactionReplay, ct as buildOpenAIClientHeaders, dt as enforceCodeModeResponsesToolSurface, ft as filterCodeModePayloadTools, gt as resolveOpenAIStrictToolFlagWithDiagnostics, ht as resolveCodeModeResponsesVisibleToolNames, it as captureOpenAIResponsesCompaction, jt as log, kt as detachPartialSnapshot, lt as buildOpenAISdkClientOptions, mt as readCodeModePayloadToolName, nt as CompactionReplayRefreshRequiredError, pt as getCompat, q as OPENAI_RESPONSES_CALL_ID_RE, st as assertCodeModeResponsesToolSurface, ut as buildOpenAISdkRequestOptions, yt as resolveOpenAIReasoningEffortMap } from "./openai-responses-shared-CNfHudFg.mjs";
21
21
  import { c as applyOpenAIResponsesPayloadPolicy, d as resolveOpenAIResponsesPayloadPolicy, f as resolveOpenAIResponsesRequestContextTokens, l as normalizeOpenAIServiceTier, p as resolveOpenAIResponsesServerCompactionPlan, s as sanitizeResponsesImagePayload, u as resolveOpenAIResponsesCompactEndpointPlan } from "./openai-responses-endpoint-JbBT8IDv.mjs";
22
- import { c as requestPreparedOpenAIResponsesCompaction } from "./openai-responses-request-lifecycle-GbTsoa3_.mjs";
22
+ import { c as requestPreparedOpenAIResponsesCompaction } from "./openai-responses-request-lifecycle-DQDyzE6F.mjs";
23
23
  import { randomUUID } from "node:crypto";
24
24
  //#region packages/ai/src/transports/anthropic-transport-stream.ts
25
25
  const ANTHROPIC_MESSAGES_ERROR_BODY_MAX_BYTES = 8192;
@@ -698,4 +698,4 @@ function prepareModelForSimpleCompletion(params) {
698
698
  return wrap(model);
699
699
  }
700
700
  //#endregion
701
- export { CompactionReplayRefreshRequiredError, GEMINI_THOUGHT_SIGNATURE_VALIDATOR_SKIP, IncompleteToolCallError, MALFORMED_STREAMING_FRAGMENT_ERROR_MESSAGE, OPENAI_RESPONSES_CALL_ID_RE, OPENAI_RESPONSES_FUNCTION_CALL_ITEM_ID_RE, OPENAI_RESPONSES_ID_MAX_LENGTH, applyAnthropicContextManagementToRequest, applyAnthropicEphemeralCacheControlMarkers, applyAnthropicPayloadPolicyToParams, applyAnthropicRequestCacheControl, applyCompletionsAnthropicCacheControl, applyOpenAIResponsesPayloadPolicy, assertCodeModeResponsesToolSurface, assignTransportErrorDetails, buildAnthropicSystemBlocks, buildOpenAIClientHeaders, buildOpenAICompletionsParams, buildOpenAISdkClientOptions, buildOpenAISdkRequestOptions, createTransportAwareStreamFnForModel as buildTransportAwareSimpleStreamFn, createTransportAwareStreamFnForModel, canonicalizeMaxTokensParam, captureOpenAIResponsesCompaction, coerceTransportToolCallArguments, consumeGoogleGenerateContentStream, convertGoogleTools, copyProviderAcceptanceObserver, createAnthropicMessagesTransportStreamFn, createAzureOpenAIResponsesTransportStreamFn, createSupportedTransportStreamFn as createBoundaryAwareStreamFnForModel, createSupportedTransportStreamFn as createOpenClawTransportStreamFnForModel, createDeepSeekTextFilter, createEmptyTransportUsage, createModelStreamCooperativeScheduler, createOpenAICompletionsTransportStreamFn, createOpenAIProviderAcceptanceHook, createOpenAIResponseHook, createOpenAIResponsesTransportStreamFn, createResponseModelTracker, createWritableTransportEventStream, detectOpenAICompletionsCompat, emitModelTransportDebug, emitModelTransportError, enforceCodeModeResponsesToolSurface, failTransportStream, filterCodeModePayloadTools, finalizeTerminalToolCallArguments, finalizeTransportStream, flattenCompletionMessagesToStringContent, formatModelTransportDebugBaseUrl, formatModelTransportDebugUrl, getCompat, googleFlashSupportsMinimalThinking, hasOpenAICompatibleConversationTurn, isAnthropicServerToolClearingEnabled, isCodeModeModelVisibleToolName, isCompactionReplayCheckpoint, isDirectAnthropicModel, isNativeOpenAIEndpoint, isOpenAICodexResponsesModel, isOpenAICompletionsThinkingEnabled, iterateModelStream, log, logAnthropicContextEdits, measureUtf8AppendBytes, mergeTransportHeaders, normalizeCodexResponsesBaseUrlForOpenAISdk, normalizeOpenAIResponsesFunctionCallId, normalizeOpenAIResponsesReasoningReplayItem, normalizeOpenAIServiceTier, notifyProviderHttpMetadata, notifyProviderHttpResponse, notifyProviderStreamOpened, parseJsonObjectPreservingUnsafeIntegers, parseJsonPreservingUnsafeIntegers, parseOpenAICompletionsUsage, parseTerminalToolCallArguments, prepareHeadersForSimpleCompletion, prepareModelForSimpleCompletion, prepareTransportAwareSimpleModel, preserveCompactionReplayWindow, projectGoogleMessages, quoteUnsafeIntegerLiterals, readCodeModePayloadToolName, readOpenAICompletionsContentDeltas, readOpenAICompletionsReasoningBatch, replaceCompactionReplayOwnerContent, requestPreparedOpenAIResponsesCompaction, requiresCompactionReplayRefresh, requiresGoogleToolCallId, resolveAnthropicCacheOptions, resolveAnthropicEphemeralCacheControl, resolveAnthropicMessagesUrl, resolveAnthropicPayloadPolicy, resolveAnthropicRequestBetaHeader, resolveAnthropicServerCompactionPlan, resolveCodeModeResponsesVisibleToolNames, resolveCompactionReplayEligibility, resolveCompactionReplayPressure, resolveCompletionTokenReservation, resolveMaxTokensParam, resolveModelPayloadDebugMode, resolveModelSseDebugMode, resolveOpenAIClientBaseUrl, resolveOpenAICompletionsCompat, resolveOpenAIPromptCacheKeySupport, resolveOpenAIReasoningEffortMap, resolveOpenAIResponsesCompactEndpointPlan, resolveOpenAIResponsesPayloadPolicy, resolveOpenAIResponsesRequestContextTokens, resolveOpenAIResponsesServerCompactionPlan, resolveOpenAIStrictToolFlagWithDiagnostics, resolvePromptCacheKey, resolveReplayableResponsesMessageId, resolveTransportAwareSimpleApi, sanitizeNonEmptyTransportPayloadText, sanitizeResponsesImagePayload, sanitizeTransportPayloadText, shouldNormalizeOpenAIResponsesToolCallId, sortPromptCacheToolsByName as sortTransportToolsByName, splitOpenAIFunctionCallPairing, stripCompactionReplayCheckpoint, stripCompactionReplayCheckpointInPlace, stripCompletionMessagesToRoleContent, supportsAnthropicServerSideFallback, throwIfModelStreamAborted, transportAbortError, usesNativeOpenAICodexResponsesBackend, withOpenAIErrorResponseHook, withProviderAcceptanceObserver, withProviderResponseHook };
701
+ export { CompactionReplayRefreshRequiredError, GEMINI_THOUGHT_SIGNATURE_VALIDATOR_SKIP, IncompleteToolCallError, MALFORMED_STREAMING_FRAGMENT_ERROR_MESSAGE, OPENAI_RESPONSES_CALL_ID_RE, OPENAI_RESPONSES_FUNCTION_CALL_ITEM_ID_RE, OPENAI_RESPONSES_ID_MAX_LENGTH, applyAnthropicContextManagementToRequest, applyAnthropicEphemeralCacheControlMarkers, applyAnthropicPayloadPolicyToParams, applyAnthropicRequestCacheControl, applyCompletionsAnthropicCacheControl, applyOpenAIResponsesPayloadPolicy, assertCodeModeResponsesToolSurface, assignTransportErrorDetails, buildAnthropicSystemBlocks, buildOpenAIClientHeaders, buildOpenAICompletionsParams, buildOpenAISdkClientOptions, buildOpenAISdkRequestOptions, createTransportAwareStreamFnForModel as buildTransportAwareSimpleStreamFn, createTransportAwareStreamFnForModel, canonicalizeMaxTokensParam, captureOpenAIResponsesCompaction, coerceTransportToolCallArguments, consumeGoogleGenerateContentStream, convertGoogleTools, copyProviderAcceptanceObserver, createAnthropicMessagesTransportStreamFn, createAzureOpenAIResponsesTransportStreamFn, createSupportedTransportStreamFn as createBoundaryAwareStreamFnForModel, createSupportedTransportStreamFn as createOpenClawTransportStreamFnForModel, createDeepSeekTextFilter, createEmptyTransportUsage, createModelStreamCooperativeScheduler, createOpenAICompletionsTransportStreamFn, createOpenAIProviderAcceptanceHook, createOpenAIResponseHook, createOpenAIResponsesTransportStreamFn, createResponseModelTracker, createWritableTransportEventStream, detachPartialSnapshot, detectOpenAICompletionsCompat, emitModelTransportDebug, emitModelTransportError, enforceCodeModeResponsesToolSurface, failTransportStream, filterCodeModePayloadTools, finalizeTerminalToolCallArguments, finalizeTransportStream, flattenCompletionMessagesToStringContent, formatModelTransportDebugBaseUrl, formatModelTransportDebugUrl, getCompat, googleFlashSupportsMinimalThinking, hasOpenAICompatibleConversationTurn, isAnthropicServerToolClearingEnabled, isCodeModeModelVisibleToolName, isCompactionReplayCheckpoint, isDirectAnthropicModel, isNativeOpenAIEndpoint, isOpenAICodexResponsesModel, isOpenAICompletionsThinkingEnabled, iterateModelStream, log, logAnthropicContextEdits, measureUtf8AppendBytes, mergeTransportHeaders, normalizeCodexResponsesBaseUrlForOpenAISdk, normalizeOpenAIResponsesFunctionCallId, normalizeOpenAIResponsesReasoningReplayItem, normalizeOpenAIServiceTier, notifyProviderHttpMetadata, notifyProviderHttpResponse, notifyProviderStreamOpened, parseJsonObjectPreservingUnsafeIntegers, parseJsonPreservingUnsafeIntegers, parseOpenAICompletionsUsage, parseTerminalToolCallArguments, prepareHeadersForSimpleCompletion, prepareModelForSimpleCompletion, prepareTransportAwareSimpleModel, preserveCompactionReplayWindow, projectGoogleMessages, quoteUnsafeIntegerLiterals, readCodeModePayloadToolName, readOpenAICompletionsContentDeltas, readOpenAICompletionsReasoningBatch, replaceCompactionReplayOwnerContent, requestPreparedOpenAIResponsesCompaction, requiresCompactionReplayRefresh, requiresGoogleToolCallId, resolveAnthropicCacheOptions, resolveAnthropicEphemeralCacheControl, resolveAnthropicMessagesUrl, resolveAnthropicPayloadPolicy, resolveAnthropicRequestBetaHeader, resolveAnthropicServerCompactionPlan, resolveCodeModeResponsesVisibleToolNames, resolveCompactionReplayEligibility, resolveCompactionReplayPressure, resolveCompletionTokenReservation, resolveMaxTokensParam, resolveModelPayloadDebugMode, resolveModelSseDebugMode, resolveOpenAIClientBaseUrl, resolveOpenAICompletionsCompat, resolveOpenAIPromptCacheKeySupport, resolveOpenAIReasoningEffortMap, resolveOpenAIResponsesCompactEndpointPlan, resolveOpenAIResponsesPayloadPolicy, resolveOpenAIResponsesRequestContextTokens, resolveOpenAIResponsesServerCompactionPlan, resolveOpenAIStrictToolFlagWithDiagnostics, resolvePromptCacheKey, resolveReplayableResponsesMessageId, resolveTransportAwareSimpleApi, sanitizeNonEmptyTransportPayloadText, sanitizeResponsesImagePayload, sanitizeTransportPayloadText, shouldNormalizeOpenAIResponsesToolCallId, sortPromptCacheToolsByName as sortTransportToolsByName, splitOpenAIFunctionCallPairing, stripCompactionReplayCheckpoint, stripCompactionReplayCheckpointInPlace, stripCompletionMessagesToRoleContent, supportsAnthropicServerSideFallback, throwIfModelStreamAborted, transportAbortError, usesNativeOpenAICodexResponsesBackend, withOpenAIErrorResponseHook, withProviderAcceptanceObserver, withProviderResponseHook };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/ai",
3
- "version": "2026.10.10-beta.3",
3
+ "version": "2026.10.10-beta.5",
4
4
  "description": "Reusable model provider adapters and streaming runtime from OpenClaw",
5
5
  "keywords": [
6
6
  "ai",