@openclaw/ai 2026.7.2-beta.4 → 2026.7.2-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 (55) hide show
  1. package/dist/{anthropic-CrUDIBpM.mjs → anthropic-CQVj3le6.mjs} +53 -19
  2. package/dist/{anthropic-BoTnz8cv.d.mts → anthropic-SrGtwsJu.d.mts} +27 -1
  3. package/dist/{api-registry-BMphkFf1.d.mts → api-registry-DlMgPR39.d.mts} +1 -1
  4. package/dist/{azure-openai-responses-CbrpVeEv.mjs → azure-openai-responses-DIYgsqFM.mjs} +3 -4
  5. package/dist/error-coercion-DgxlWC0n.mjs +15 -0
  6. package/dist/{event-stream-Douf9dob.d.mts → event-stream-YjaPW20U.d.mts} +1 -1
  7. package/dist/event-stream.d.mts +1 -1
  8. package/dist/{tool-schema-json-projection-BwNu3nDi.mjs → github-copilot-headers-BCoBNmL7.mjs} +48 -1
  9. package/dist/{google-Cs62KA7t.mjs → google-f-A8xrae.mjs} +2 -2
  10. package/dist/{google-shared-CMLI-tCZ.mjs → google-shared-J6qvYINH.mjs} +5 -4
  11. package/dist/{google-vertex-B4SD3U0f.mjs → google-vertex-D3yMVXIY.mjs} +2 -2
  12. package/dist/{host-WvWBo4h8.d.mts → host-B9GUmcra.d.mts} +2 -2
  13. package/dist/index.d.mts +7 -7
  14. package/dist/index.mjs +2 -2
  15. package/dist/internal/anthropic.d.mts +15 -11
  16. package/dist/internal/anthropic.mjs +4 -4
  17. package/dist/internal/openai.d.mts +2 -1
  18. package/dist/internal/openai.mjs +4 -6
  19. package/dist/internal/runtime.d.mts +8 -32
  20. package/dist/internal/runtime.mjs +2 -3
  21. package/dist/internal/shared.d.mts +13 -8
  22. package/dist/internal/shared.mjs +2 -2
  23. package/dist/{mistral-D5Ps7Led.mjs → mistral-CKV-TOQj.mjs} +4 -3
  24. package/dist/number-coercion-DvG7SNMg.mjs +129 -0
  25. package/dist/{openai-CoGicoDt.d.mts → openai-BPor_3WI.d.mts} +35 -9
  26. package/dist/{openai-responses-shared-CzCurmY1.mjs → openai-D3PD6PE-.mjs} +1771 -745
  27. package/dist/{openai-chatgpt-responses-h0o5yV8Y.mjs → openai-chatgpt-responses-CedIj0hk.mjs} +19 -20
  28. package/dist/{openai-completions-exO8NFQf.mjs → openai-completions-CiSutyu0.mjs} +366 -227
  29. package/dist/openai-prompt-cache-2uo_1OR1.d.mts +7 -0
  30. package/dist/openai-prompt-cache-mZTCdRPo.mjs +12 -0
  31. package/dist/prompt-cache-stability-Cwcjv_fx.d.mts +13 -0
  32. package/dist/{provider-error-C4VvV_3t.mjs → provider-error-apVOZI6G.mjs} +8 -2
  33. package/dist/providers.d.mts +3 -2
  34. package/dist/providers.mjs +10 -9
  35. package/dist/{system-prompt-cache-boundary-CbHeV4_l.mjs → shared-CdjNZd35.mjs} +117 -9
  36. package/dist/{src-CXno1H5g.mjs → src-QkygScBs.mjs} +23 -4
  37. package/dist/stream-first-event-timeout-C3OgBjIk.mjs +12294 -0
  38. package/dist/stream-first-event-timeout-DvDeSucC.d.mts +29 -0
  39. package/dist/transport-stream-shared-BbMELSI4.mjs +297 -0
  40. package/dist/transports.d.mts +105 -102
  41. package/dist/transports.mjs +334 -1966
  42. package/dist/{types-AFwwWium.d.mts → types-bzp5k29J.d.mts} +7 -0
  43. package/dist/types.d.mts +5 -5
  44. package/dist/types.mjs +2 -2
  45. package/dist/{validation-sxvxC8J-.d.mts → validation-B-j7cOYp.d.mts} +1 -1
  46. package/dist/validation.d.mts +1 -1
  47. package/package.json +1 -2
  48. package/dist/azure-openai-responses-client-compat-C7K7QfUE.mjs +0 -62
  49. package/dist/github-copilot-headers-BsH5cqGj.mjs +0 -48
  50. package/dist/model-utils-1GiZ2_rr.mjs +0 -64
  51. package/dist/openai-responses-BHpmtUKo.mjs +0 -136
  52. package/dist/openai-tool-projection-ITOU9bG1.mjs +0 -200
  53. package/dist/reasoning-tag-text-partitioner-BlVe67g6.mjs +0 -400
  54. package/dist/stream-first-event-timeout-DP4xEyBY.mjs +0 -150
  55. package/npm-shrinkwrap.json +0 -638
@@ -1,15 +1,16 @@
1
1
  import { n as getEnvApiKey, r as __exportAll } from "./env-api-keys-DrgeBuva.mjs";
2
- import { c as resolveClaudeNativeThinkingLevelMap, d as supportsClaudeNativeMaxEffort, f as supportsClaudeNativeXhighEffort, l as resolveClaudeSonnet5ModelIdentity, u as supportsClaudeAdaptiveThinking } from "./src-CXno1H5g.mjs";
2
+ import { d as resolveClaudeSonnet5ModelIdentity, g as supportsClaudeNativeXhighEffort, h as supportsClaudeNativeMaxEffort, l as resolveClaudeNativeThinkingLevelMap, o as resolveClaudeFable5ModelIdentity, p as supportsClaudeAdaptiveThinking, s as resolveClaudeModelIdentity, u as resolveClaudeOpus5ModelIdentity } from "./src-QkygScBs.mjs";
3
3
  import { t as AssistantMessageEventStream } from "./event-stream-D8n2uFee.mjs";
4
4
  import { n as getAiTransportHost, r as resolveAiTransportHeaderSentinels } from "./host-XYGZcgO8.mjs";
5
- import { C as isImageWithMediaPayload, D as buildBaseOptions, E as adjustMaxTokensForThinking, O as clampMaxTokensToModel, T as isRecord, a as stripSystemPromptCacheBoundary, b as extractToolResultBlockText, c as transformMessages, d as prepareClaudeSonnet5RequestContext, f as requiresClaudeAdaptiveThinking, h as usesClaudeStreamingRefusalContract, i as splitSystemPromptCacheBoundary, l as applyClaudeRequestContract, m as usesClaudeFable5MessagesContract, x as extractToolResultText, y as describeToolResultMediaPlaceholder } from "./system-prompt-cache-boundary-CbHeV4_l.mjs";
5
+ import { A as buildBaseOptions, C as extractToolResultBlockText, E as isImageWithMediaPayload, O as isRecord, S as describeToolResultMediaPlaceholder, _ as usesClaudeStreamingRefusalContract, a as splitSystemPromptCacheBoundary, d as applyClaudeRequestContract, g as usesClaudeFable5MessagesContract, j as clampMaxTokensToModel, k as adjustMaxTokensForThinking, l as sortPromptCacheToolsByName, m as requiresClaudeAdaptiveThinking, o as stripSystemPromptCacheBoundary, p as prepareClaudeNoPrefillRequestContext, u as transformMessages, w as extractToolResultText } from "./shared-CdjNZd35.mjs";
6
6
  import { t as sanitizeSurrogates } from "./sanitize-unicode-DT5o51ur.mjs";
7
- import { n as calculateCost, r as clampThinkingLevel } from "./model-utils-1GiZ2_rr.mjs";
7
+ import { c as calculateCost, l as clampThinkingLevel } from "./number-coercion-DvG7SNMg.mjs";
8
+ import { d as transportAbortError } from "./transport-stream-shared-BbMELSI4.mjs";
8
9
  import { r as createDeferredEventBuffer, t as notifyLlmRequestActivity } from "./llm-request-activity-CehVkZP-.mjs";
9
10
  import { t as headersToRecord } from "./headers-B_e4-1J0.mjs";
10
11
  import { n as parseStreamingJson, t as parseJsonWithRepair } from "./json-parse-BvXNt1-7.mjs";
11
- import { t as projectRuntimeToolInputSchema } from "./tool-schema-json-projection-BwNu3nDi.mjs";
12
- import { a as resolveCacheRetention, i as resolveCloudflareBaseUrl, n as hasCopilotVisionInput, t as buildCopilotDynamicHeaders } from "./github-copilot-headers-BsH5cqGj.mjs";
12
+ import { t as formatProviderError } from "./provider-error-apVOZI6G.mjs";
13
+ import { a as resolveCacheRetention, i as resolveCloudflareBaseUrl, n as hasCopilotVisionInput, o as projectRuntimeToolInputSchema, t as buildCopilotDynamicHeaders } from "./github-copilot-headers-BCoBNmL7.mjs";
13
14
  import Anthropic from "@anthropic-ai/sdk";
14
15
  import { Stream } from "@anthropic-ai/sdk/core/streaming.js";
15
16
  //#region packages/media-core/src/base64.ts
@@ -37,6 +38,12 @@ const CANONICALIZE_BASE64_CHUNK_SIZE = 8192;
37
38
  function isBase64DataChar(code) {
38
39
  return code >= 65 && code <= 90 || code >= 97 && code <= 122 || code >= 48 && code <= 57 || code === 43 || code === 47;
39
40
  }
41
+ function base64DataValue(code) {
42
+ if (code >= 65 && code <= 90) return code - 65;
43
+ if (code >= 97 && code <= 122) return code - 97 + 26;
44
+ if (code >= 48 && code <= 57) return code - 48 + 52;
45
+ return code === 43 ? 62 : 63;
46
+ }
40
47
  /**
41
48
  * Normalizes and validates a base64 string, returning canonical no-whitespace
42
49
  * base64 only when the input has valid alphabet, padding, and length.
@@ -47,6 +54,7 @@ function canonicalizeBase64(base64) {
47
54
  let cleanedLength = 0;
48
55
  let padding = 0;
49
56
  let sawPadding = false;
57
+ let lastDataCode = 0;
50
58
  const append = (char) => {
51
59
  current += char;
52
60
  cleanedLength += 1;
@@ -66,6 +74,7 @@ function canonicalizeBase64(base64) {
66
74
  continue;
67
75
  }
68
76
  if (sawPadding || !isBase64DataChar(code)) return;
77
+ lastDataCode = code;
69
78
  append(base64[i] ?? "");
70
79
  }
71
80
  if (cleanedLength === 0) return;
@@ -74,6 +83,9 @@ function canonicalizeBase64(base64) {
74
83
  if (sawPadding || remainder === 1) return;
75
84
  current += "=".repeat(4 - remainder);
76
85
  }
86
+ const effectivePadding = remainder === 0 ? padding : 4 - remainder;
87
+ const padBitMask = effectivePadding === 2 ? 15 : effectivePadding === 1 ? 3 : 0;
88
+ if (padBitMask !== 0 && (base64DataValue(lastDataCode) & padBitMask) !== 0) return;
77
89
  if (current) chunks.push(current);
78
90
  return chunks.join("");
79
91
  }
@@ -166,16 +178,34 @@ function applyAnthropicRefusal(output, stopDetails, provider) {
166
178
  //#endregion
167
179
  //#region packages/ai/src/providers/anthropic-server-fallback.ts
168
180
  /** Anthropic beta that re-serves safety refusals on an allowed fallback model. */
169
- const ANTHROPIC_SERVER_SIDE_FALLBACK_BETA = "server-side-fallback-2026-06-01";
170
- const CLAUDE_FABLE_5_FALLBACK_MODEL = "claude-opus-4-8";
171
- const CLAUDE_FABLE_5_FALLBACK_MODEL_COST = {
181
+ const ANTHROPIC_SERVER_SIDE_FALLBACK_BETA = "server-side-fallback-2026-07-01";
182
+ /** Let Anthropic select the recommended model for each refusal category. */
183
+ const ANTHROPIC_SERVER_SIDE_FALLBACKS = "default";
184
+ const CLAUDE_OPUS_FALLBACK_MODEL_COST = {
172
185
  input: 5,
173
186
  output: 25,
174
187
  cacheRead: .5,
175
188
  cacheWrite: 6.25
176
189
  };
177
- function buildAnthropicServerSideFallbacks() {
178
- return [{ model: CLAUDE_FABLE_5_FALLBACK_MODEL }];
190
+ function resolveFallbackModelIdentity(modelId) {
191
+ if (!modelId?.trim()) return null;
192
+ const ref = { id: modelId };
193
+ const normalized = resolveClaudeModelIdentity(ref);
194
+ if (normalized === "opus" || normalized === "opus-5" || resolveClaudeOpus5ModelIdentity(ref)) return "claude-opus-5";
195
+ if (resolveClaudeFable5ModelIdentity(ref)) return "claude-fable-5";
196
+ if (/^claude-opus-4-8(?=$|[^a-z0-9])/.test(normalized)) return "claude-opus-4-8";
197
+ return normalized || null;
198
+ }
199
+ function isClaudeOpusFallbackModel(modelId) {
200
+ return modelId === "claude-opus-5" || modelId === "claude-opus-4-8";
201
+ }
202
+ /** Resolve billed rates from the serving model reported by Anthropic's fallback stream. */
203
+ function resolveAnthropicFallbackServingModelCost(params) {
204
+ const requestedModelId = resolveFallbackModelIdentity(params.requestedModelId);
205
+ const servingModelId = resolveFallbackModelIdentity(params.servingModelId);
206
+ if (!servingModelId || servingModelId === requestedModelId || !isClaudeOpusFallbackModel(servingModelId)) return params.requestedCost;
207
+ if (requestedModelId && isClaudeOpusFallbackModel(requestedModelId)) return params.requestedCost;
208
+ return CLAUDE_OPUS_FALLBACK_MODEL_COST;
179
209
  }
180
210
  function readBoundaryModel(value) {
181
211
  if (!value || typeof value !== "object") return null;
@@ -359,7 +389,7 @@ function projectAnthropicTools(tools, toWireName) {
359
389
  return {
360
390
  inputToolCount: tools.length,
361
391
  unavailableOriginalNames,
362
- tools: projectedTools
392
+ tools: sortPromptCacheToolsByName(projectedTools)
363
393
  };
364
394
  }
365
395
  /** Keeps forced Anthropic tool choices aligned with the projected wire names. */
@@ -571,7 +601,7 @@ async function* iterateAnthropicEvents(response, requireMessageStop = false) {
571
601
  }
572
602
  const streamAnthropic = (model, context, options) => {
573
603
  const stream = new AssistantMessageEventStream();
574
- const requestContext = prepareClaudeSonnet5RequestContext(model, context);
604
+ const requestContext = prepareClaudeNoPrefillRequestContext(model, context);
575
605
  const requestOptions = normalizeAnthropicThinkingOptions(model, options);
576
606
  (async () => {
577
607
  const output = {
@@ -684,7 +714,11 @@ const streamAnthropic = (model, context, options) => {
684
714
  });
685
715
  costModel = {
686
716
  ...model,
687
- cost: CLAUDE_FABLE_5_FALLBACK_MODEL_COST
717
+ cost: resolveAnthropicFallbackServingModelCost({
718
+ requestedModelId: model.id,
719
+ servingModelId: fallbackBoundary.toModel,
720
+ requestedCost: model.cost
721
+ })
688
722
  };
689
723
  calculateCost(costModel, output.usage);
690
724
  eventSink.push({
@@ -879,7 +913,7 @@ const streamAnthropic = (model, context, options) => {
879
913
  }
880
914
  calculateCost(costModel, output.usage);
881
915
  }
882
- if (requestOptions?.signal?.aborted) throw new Error("Request was aborted");
916
+ if (requestOptions?.signal?.aborted) throw transportAbortError(requestOptions.signal);
883
917
  if (output.stopReason === "aborted" || output.stopReason === "error") throw new Error(output.errorMessage ?? "An unknown error occurred");
884
918
  refusalBuffer?.flush();
885
919
  stream.push({
@@ -898,7 +932,7 @@ const streamAnthropic = (model, context, options) => {
898
932
  output.content = [];
899
933
  }
900
934
  output.stopReason = requestOptions?.signal?.aborted ? "aborted" : "error";
901
- output.errorMessage = error instanceof Error ? error.message : JSON.stringify(error);
935
+ output.errorMessage = formatProviderError(error);
902
936
  stream.push({
903
937
  type: "error",
904
938
  reason: output.stopReason,
@@ -974,7 +1008,7 @@ const streamSimpleAnthropic = (model, context, options) => {
974
1008
  thinkingEnabled: false
975
1009
  });
976
1010
  const reasoning = options?.reasoning === "off" ? mandatoryAdaptiveThinking ? "low" : "high" : options?.reasoning;
977
- if (resolveClaudeSonnet5ModelIdentity(model)) return streamAnthropic(model, context, {
1011
+ if (resolveClaudeOpus5ModelIdentity(model) || resolveClaudeSonnet5ModelIdentity(model)) return streamAnthropic(model, context, {
978
1012
  ...base,
979
1013
  thinkingEnabled: true,
980
1014
  effort: mapThinkingLevelToEffort(model, reasoning ?? "high")
@@ -1019,7 +1053,7 @@ function isAnthropicPublicEndpoint(baseUrl) {
1019
1053
  * identity) requests are excluded until the beta is verified there.
1020
1054
  */
1021
1055
  function supportsAnthropicServerSideFallback(model) {
1022
- if (!usesClaudeFable5MessagesContract(model) || model.provider !== "anthropic") return false;
1056
+ if (!usesClaudeFable5MessagesContract(model) && resolveClaudeOpus5ModelIdentity(model) === void 0 || model.provider !== "anthropic") return false;
1023
1057
  return isAnthropicPublicEndpoint(model.baseUrl);
1024
1058
  }
1025
1059
  function createClient(model, apiKey, thinkingEnabled, interleavedThinking, useFineGrainedToolStreamingBeta, optionsHeaders, dynamicHeaders, sessionId) {
@@ -1142,7 +1176,7 @@ async function buildParams(model, context, isOAuthTokenResult, options, serverSi
1142
1176
  stream: true
1143
1177
  };
1144
1178
  if (system) params.system = system;
1145
- if (serverSideFallback) params.fallbacks = buildAnthropicServerSideFallbacks();
1179
+ if (serverSideFallback) params.fallbacks = ANTHROPIC_SERVER_SIDE_FALLBACKS;
1146
1180
  if (options?.temperature !== void 0 && !options?.thinkingEnabled && !supportsNativeXhighEffort(model)) params.temperature = options.temperature;
1147
1181
  if (options?.stop !== void 0 && options.stop.length > 0) params.stop_sequences = options.stop;
1148
1182
  if (tools && tools.length > 0) params.tools = tools;
@@ -1428,4 +1462,4 @@ function mapStopReason(reason) {
1428
1462
  }
1429
1463
  }
1430
1464
  //#endregion
1431
- export { normalizeAnthropicInlineContent as C, createAnthropicInlineImageBudget as S, canonicalizeBase64 as T, buildAnthropicServerSideFallbacks as _, readAnthropicPromptUsageSnapshot as a, omitFoundryBearerCredentialHeaders as b, projectAnthropicTools as c, ANTHROPIC_OMITTED_REASONING_TEXT as d, findActiveAnthropicToolTurnAssistantIndex as f, applyAnthropicFallbackBoundary as g, CLAUDE_FABLE_5_FALLBACK_MODEL_COST as h, readAnthropicCacheWriteUsage as i, reconcileAnthropicToolChoice as l, CLAUDE_FABLE_5_FALLBACK_MODEL as m, streamAnthropic as n, readAnthropicUsageTokenCount as o, ANTHROPIC_SERVER_SIDE_FALLBACK_BETA as p, streamSimpleAnthropic as r, readLastAnthropicIterationUsage as s, anthropic_exports as t, resolveOriginalAnthropicToolName as u, readAnthropicFallbackBoundary as v, resolveAnthropicImageMediaType as w, usesFoundryBearerAuth as x, applyAnthropicRefusal as y };
1465
+ export { normalizeAnthropicInlineContent as C, createAnthropicInlineImageBudget as S, canonicalizeBase64 as T, readAnthropicFallbackBoundary as _, readAnthropicPromptUsageSnapshot as a, omitFoundryBearerCredentialHeaders as b, projectAnthropicTools as c, ANTHROPIC_OMITTED_REASONING_TEXT as d, findActiveAnthropicToolTurnAssistantIndex as f, applyAnthropicFallbackBoundary as g, CLAUDE_OPUS_FALLBACK_MODEL_COST as h, readAnthropicCacheWriteUsage as i, reconcileAnthropicToolChoice as l, ANTHROPIC_SERVER_SIDE_FALLBACK_BETA as m, streamAnthropic as n, readAnthropicUsageTokenCount as o, ANTHROPIC_SERVER_SIDE_FALLBACKS as p, streamSimpleAnthropic as r, readLastAnthropicIterationUsage as s, anthropic_exports as t, resolveOriginalAnthropicToolName as u, resolveAnthropicFallbackServingModelCost as v, resolveAnthropicImageMediaType as w, usesFoundryBearerAuth as x, applyAnthropicRefusal as y };
@@ -47,6 +47,26 @@ declare const CLAUDE_SONNET_5_THINKING_PROFILE: {
47
47
  }];
48
48
  readonly defaultLevel: "high";
49
49
  };
50
+ declare const CLAUDE_OPUS_5_THINKING_PROFILE: {
51
+ readonly levels: readonly [{
52
+ readonly id: "off";
53
+ }, {
54
+ readonly id: "minimal";
55
+ }, {
56
+ readonly id: "low";
57
+ }, {
58
+ readonly id: "medium";
59
+ }, {
60
+ readonly id: "high";
61
+ }, {
62
+ readonly id: "xhigh";
63
+ }, {
64
+ readonly id: "adaptive";
65
+ }, {
66
+ readonly id: "max";
67
+ }];
68
+ readonly defaultLevel: "high";
69
+ };
50
70
  /** Resolve the canonical normalized Claude model id for one runtime model ref. */
51
71
  declare function resolveClaudeModelIdentity(ref: ClaudeModelRef): string;
52
72
  /** Resolve Claude Fable 5 through direct ids, cloud ids, or deployment metadata. */
@@ -57,8 +77,14 @@ declare function resolveClaudeMythos5ModelIdentity(ref: ClaudeModelRef): string
57
77
  declare function requiresClaudeMandatoryAdaptiveThinking(ref: ClaudeModelRef): boolean;
58
78
  /** Resolve Claude Sonnet 5 through direct ids, cloud ids, or deployment metadata. */
59
79
  declare function resolveClaudeSonnet5ModelIdentity(ref: ClaudeModelRef): string | undefined;
80
+ /** Resolve Claude Opus 5 through aliases, direct ids, cloud ids, or deployment metadata. */
81
+ declare function resolveClaudeOpus5ModelIdentity(ref: ClaudeModelRef): string | undefined;
60
82
  /** Return whether a Claude model supports adaptive thinking. */
61
83
  declare function supportsClaudeAdaptiveThinking(ref: ClaudeModelRef): boolean;
84
+ /** Return whether a Claude model has a native 1M-token context window. */
85
+ declare function supportsClaude1MContext(ref: ClaudeModelRef): boolean;
86
+ /** Return whether a Claude model supports Anthropic's native fast mode. */
87
+ declare function supportsClaudeFastMode(ref: ClaudeModelRef): boolean;
62
88
  /** Return whether a Claude model supports native max effort. */
63
89
  declare function supportsClaudeNativeMaxEffort(ref: ClaudeModelRef): boolean;
64
90
  /** Return whether a Claude model supports native xhigh effort. */
@@ -71,4 +97,4 @@ declare function requiresClaudeDefaultSampling(ref: ClaudeModelRef): boolean;
71
97
  */
72
98
  declare function resolveClaudeNativeThinkingLevelMap(ref: ClaudeEffortModelRef): Record<string, string | null | undefined> | undefined;
73
99
  //#endregion
74
- export { resolveClaudeFable5ModelIdentity as a, resolveClaudeNativeThinkingLevelMap as c, supportsClaudeNativeMaxEffort as d, supportsClaudeNativeXhighEffort as f, requiresClaudeMandatoryAdaptiveThinking as i, resolveClaudeSonnet5ModelIdentity as l, CLAUDE_SONNET_5_THINKING_PROFILE as n, resolveClaudeModelIdentity as o, requiresClaudeDefaultSampling as r, resolveClaudeMythos5ModelIdentity as s, CLAUDE_FABLE_5_THINKING_PROFILE as t, supportsClaudeAdaptiveThinking as u };
100
+ export { requiresClaudeMandatoryAdaptiveThinking as a, resolveClaudeMythos5ModelIdentity as c, resolveClaudeSonnet5ModelIdentity as d, supportsClaude1MContext as f, supportsClaudeNativeXhighEffort as g, supportsClaudeNativeMaxEffort as h, requiresClaudeDefaultSampling as i, resolveClaudeNativeThinkingLevelMap as l, supportsClaudeFastMode as m, CLAUDE_OPUS_5_THINKING_PROFILE as n, resolveClaudeFable5ModelIdentity as o, supportsClaudeAdaptiveThinking as p, CLAUDE_SONNET_5_THINKING_PROFILE as r, resolveClaudeModelIdentity as s, CLAUDE_FABLE_5_THINKING_PROFILE as t, resolveClaudeOpus5ModelIdentity as u };
@@ -1,4 +1,4 @@
1
- import { E as Model, F as SimpleStreamOptions, R as StreamFunction, n as Api, o as AssistantMessageEventStreamContract, u as Context, z as StreamOptions } from "./types-AFwwWium.mjs";
1
+ import { E as Model, F as SimpleStreamOptions, R as StreamFunction, n as Api, o as AssistantMessageEventStreamContract, u as Context, z as StreamOptions } from "./types-bzp5k29J.mjs";
2
2
  //#region packages/ai/src/api-registry.d.ts
3
3
  /** Runtime stream adapter signature stored in the API provider registry. */
4
4
  type ApiStreamFunction = (model: Model, context: Context, options?: StreamOptions) => AssistantMessageEventStreamContract;
@@ -1,10 +1,9 @@
1
1
  import { n as getEnvApiKey } from "./env-api-keys-DrgeBuva.mjs";
2
2
  import { t as AssistantMessageEventStream } from "./event-stream-D8n2uFee.mjs";
3
3
  import { n as getAiTransportHost } from "./host-XYGZcgO8.mjs";
4
- import { D as buildBaseOptions } from "./system-prompt-cache-boundary-CbHeV4_l.mjs";
5
- import { a as resolveResponsesReasoningEffort, n as convertResponsesMessages, o as runResponsesStreamLifecycle, r as createResponsesAssistantOutput, t as applyCommonResponsesParams } from "./openai-responses-shared-CzCurmY1.mjs";
6
- import { i as resolveAzureDeploymentNameFromMap, t as isOpenAICompatibleAzureResponsesBaseUrl } from "./azure-openai-responses-client-compat-C7K7QfUE.mjs";
7
- import { a as clampOpenAIPromptCacheKey } from "./openai-tool-projection-ITOU9bG1.mjs";
4
+ import { n as clampOpenAIPromptCacheKey } from "./openai-prompt-cache-mZTCdRPo.mjs";
5
+ import { A as buildBaseOptions } from "./shared-CdjNZd35.mjs";
6
+ import { a as convertResponsesMessages, c as runResponsesStreamLifecycle, i as applyCommonResponsesParams, o as createResponsesAssistantOutput, s as resolveResponsesReasoningEffort, vt as isOpenAICompatibleAzureResponsesBaseUrl, xt as resolveAzureDeploymentNameFromMap } from "./openai-D3PD6PE-.mjs";
8
7
  import OpenAI, { AzureOpenAI } from "openai";
9
8
  //#region packages/ai/src/providers/azure-openai-responses.ts
10
9
  const DEFAULT_AZURE_API_VERSION = "v1";
@@ -0,0 +1,15 @@
1
+ //#region packages/normalization-core/src/error-coercion.ts
2
+ /**
3
+ * Normalizes an unknown thrown value into an Error. Non-Error objects become
4
+ * the `cause` and have their enumerable fields copied so structured details
5
+ * (codes, statuses) survive the coercion.
6
+ */
7
+ function toErrorObject(value, fallbackMessage) {
8
+ if (value instanceof Error) return value;
9
+ if (typeof value === "string") return new Error(value);
10
+ const error = new Error(fallbackMessage, { cause: value });
11
+ if (typeof value === "object" && value !== null || typeof value === "function") Object.assign(error, value);
12
+ return error;
13
+ }
14
+ //#endregion
15
+ export { toErrorObject as t };
@@ -1,4 +1,4 @@
1
- import { a as AssistantMessageEvent, i as AssistantMessage, o as AssistantMessageEventStreamContract } from "./types-AFwwWium.mjs";
1
+ import { a as AssistantMessageEvent, i as AssistantMessage, o as AssistantMessageEventStreamContract } from "./types-bzp5k29J.mjs";
2
2
 
3
3
  //#region packages/llm-core/src/utils/event-stream.d.ts
4
4
  /** Generic async-iterable event stream with a separately awaited final result. */
@@ -1,2 +1,2 @@
1
- import { n as EventStream, r as createAssistantMessageEventStream, t as AssistantMessageEventStream } from "./event-stream-Douf9dob.mjs";
1
+ import { n as EventStream, r as createAssistantMessageEventStream, t as AssistantMessageEventStream } from "./event-stream-YjaPW20U.mjs";
2
2
  export { AssistantMessageEventStream, EventStream, createAssistantMessageEventStream };
@@ -91,4 +91,51 @@ function projectRuntimeToolInputSchema(schema, path = "parameters") {
91
91
  };
92
92
  }
93
93
  //#endregion
94
- export { projectRuntimeToolInputSchema as t };
94
+ //#region packages/ai/src/providers/cache-retention.ts
95
+ /**
96
+ * Resolve cache retention preference.
97
+ * Defaults to "short" and uses OPENCLAW_CACHE_RETENTION for backward compatibility.
98
+ */
99
+ function resolveCacheRetention(cacheRetention) {
100
+ if (cacheRetention) return cacheRetention;
101
+ if (typeof process !== "undefined" && process.env.OPENCLAW_CACHE_RETENTION === "long") return "long";
102
+ return "short";
103
+ }
104
+ //#endregion
105
+ //#region packages/ai/src/providers/cloudflare.ts
106
+ function isCloudflareProvider(provider) {
107
+ return provider === "cloudflare-workers-ai" || provider === "cloudflare-ai-gateway";
108
+ }
109
+ /** Substitute `{VAR}` placeholders in a Cloudflare baseUrl from process.env. */
110
+ function resolveCloudflareBaseUrl(model) {
111
+ const url = model.baseUrl;
112
+ if (!url.includes("{")) return url;
113
+ return url.replace(/\{([A-Z_][A-Z0-9_]*)\}/g, (_match, name) => {
114
+ const value = process.env[name];
115
+ if (!value) throw new Error(`${name} is required for provider ${model.provider} but is not set.`);
116
+ return value;
117
+ });
118
+ }
119
+ //#endregion
120
+ //#region packages/ai/src/providers/github-copilot-headers.ts
121
+ function inferCopilotInitiator(messages) {
122
+ const last = messages[messages.length - 1];
123
+ return last && last.role !== "user" ? "agent" : "user";
124
+ }
125
+ function hasCopilotVisionInput(messages) {
126
+ return messages.some((msg) => {
127
+ if (msg.role === "user" && Array.isArray(msg.content)) return msg.content.some((c) => c.type === "image");
128
+ if (msg.role === "toolResult" && Array.isArray(msg.content)) return msg.content.some((c) => c.type === "image");
129
+ return false;
130
+ });
131
+ }
132
+ function buildCopilotDynamicHeaders(params) {
133
+ const headers = {
134
+ "X-Initiator": inferCopilotInitiator(params.messages),
135
+ "Openai-Intent": "conversation-edits"
136
+ };
137
+ if (params.hasImages) headers["Copilot-Vision-Request"] = "true";
138
+ return headers;
139
+ }
140
+ //#endregion
141
+ export { resolveCacheRetention as a, resolveCloudflareBaseUrl as i, hasCopilotVisionInput as n, projectRuntimeToolInputSchema as o, isCloudflareProvider as r, buildCopilotDynamicHeaders as t };
@@ -1,8 +1,8 @@
1
1
  import { n as getEnvApiKey } from "./env-api-keys-DrgeBuva.mjs";
2
2
  import { t as AssistantMessageEventStream } from "./event-stream-D8n2uFee.mjs";
3
3
  import { n as getAiTransportHost, r as resolveAiTransportHeaderSentinels } from "./host-XYGZcgO8.mjs";
4
- import { D as buildBaseOptions } from "./system-prompt-cache-boundary-CbHeV4_l.mjs";
5
- import { a as runGoogleGenerateContentLifecycle, i as getDisabledGoogleThinkingConfig, n as buildGoogleSimpleThinking, r as createGoogleAssistantOutput, t as buildGoogleGenerateContentParams } from "./google-shared-CMLI-tCZ.mjs";
4
+ import { A as buildBaseOptions } from "./shared-CdjNZd35.mjs";
5
+ import { a as runGoogleGenerateContentLifecycle, i as getDisabledGoogleThinkingConfig, n as buildGoogleSimpleThinking, r as createGoogleAssistantOutput, t as buildGoogleGenerateContentParams } from "./google-shared-J6qvYINH.mjs";
6
6
  import { GoogleGenAI } from "@google/genai";
7
7
  //#region packages/ai/src/providers/google.ts
8
8
  let toolCallCounter = 0;
@@ -1,7 +1,8 @@
1
- import { C as isImageWithMediaPayload, a as stripSystemPromptCacheBoundary, c as transformMessages, x as extractToolResultText, y as describeToolResultMediaPlaceholder } from "./system-prompt-cache-boundary-CbHeV4_l.mjs";
1
+ import { E as isImageWithMediaPayload, S as describeToolResultMediaPlaceholder, o as stripSystemPromptCacheBoundary, u as transformMessages, w as extractToolResultText } from "./shared-CdjNZd35.mjs";
2
2
  import { t as sanitizeSurrogates } from "./sanitize-unicode-DT5o51ur.mjs";
3
- import { n as calculateCost, r as clampThinkingLevel } from "./model-utils-1GiZ2_rr.mjs";
4
- import { t as formatProviderError } from "./provider-error-C4VvV_3t.mjs";
3
+ import { c as calculateCost, l as clampThinkingLevel } from "./number-coercion-DvG7SNMg.mjs";
4
+ import { d as transportAbortError } from "./transport-stream-shared-BbMELSI4.mjs";
5
+ import { t as formatProviderError } from "./provider-error-apVOZI6G.mjs";
5
6
  import { FinishReason, FunctionCallingConfigMode, ThinkingLevel } from "@google/genai";
6
7
  //#region packages/ai/src/providers/google-shared.ts
7
8
  /**
@@ -545,7 +546,7 @@ async function consumeGoogleGenerateContentStream(params) {
545
546
  }
546
547
  }
547
548
  endCurrentBlock();
548
- if (params.signal?.aborted) throw new Error("Request was aborted");
549
+ if (params.signal?.aborted) throw transportAbortError(params.signal);
549
550
  if (params.output.stopReason === "aborted" || params.output.stopReason === "error") throw new Error("An unknown error occurred");
550
551
  params.stream.push({
551
552
  type: "done",
@@ -1,7 +1,7 @@
1
1
  import { t as AssistantMessageEventStream } from "./event-stream-D8n2uFee.mjs";
2
2
  import { n as getAiTransportHost, r as resolveAiTransportHeaderSentinels } from "./host-XYGZcgO8.mjs";
3
- import { D as buildBaseOptions } from "./system-prompt-cache-boundary-CbHeV4_l.mjs";
4
- import { a as runGoogleGenerateContentLifecycle, n as buildGoogleSimpleThinking, r as createGoogleAssistantOutput, t as buildGoogleGenerateContentParams } from "./google-shared-CMLI-tCZ.mjs";
3
+ import { A as buildBaseOptions } from "./shared-CdjNZd35.mjs";
4
+ import { a as runGoogleGenerateContentLifecycle, n as buildGoogleSimpleThinking, r as createGoogleAssistantOutput, t as buildGoogleGenerateContentParams } from "./google-shared-J6qvYINH.mjs";
5
5
  import { GoogleGenAI, ResourceScope } from "@google/genai";
6
6
  //#region packages/ai/src/providers/google-vertex.ts
7
7
  const API_VERSION = "v1";
@@ -1,5 +1,5 @@
1
- import { E as Model, L as StreamFn, n as Api, u as Context } from "./types-AFwwWium.mjs";
2
- import { n as ApiRegistry } from "./api-registry-BMphkFf1.mjs";
1
+ import { E as Model, L as StreamFn, n as Api, u as Context } from "./types-bzp5k29J.mjs";
2
+ import { n as ApiRegistry } from "./api-registry-DlMgPR39.mjs";
3
3
 
4
4
  //#region packages/ai/src/host.d.ts
5
5
  /** Provider capability facts needed by the package-owned transports. */
package/dist/index.d.mts CHANGED
@@ -1,10 +1,10 @@
1
- import { a as resolveClaudeFable5ModelIdentity, c as resolveClaudeNativeThinkingLevelMap, d as supportsClaudeNativeMaxEffort, f as supportsClaudeNativeXhighEffort, i as requiresClaudeMandatoryAdaptiveThinking, l as resolveClaudeSonnet5ModelIdentity, n as CLAUDE_SONNET_5_THINKING_PROFILE, o as resolveClaudeModelIdentity, r as requiresClaudeDefaultSampling, s as resolveClaudeMythos5ModelIdentity, t as CLAUDE_FABLE_5_THINKING_PROFILE, u as supportsClaudeAdaptiveThinking } from "./anthropic-BoTnz8cv.mjs";
1
+ import { a as requiresClaudeMandatoryAdaptiveThinking, c as resolveClaudeMythos5ModelIdentity, d as resolveClaudeSonnet5ModelIdentity, f as supportsClaude1MContext, g as supportsClaudeNativeXhighEffort, h as supportsClaudeNativeMaxEffort, i as requiresClaudeDefaultSampling, l as resolveClaudeNativeThinkingLevelMap, m as supportsClaudeFastMode, n as CLAUDE_OPUS_5_THINKING_PROFILE, o as resolveClaudeFable5ModelIdentity, p as supportsClaudeAdaptiveThinking, r as CLAUDE_SONNET_5_THINKING_PROFILE, s as resolveClaudeModelIdentity, t as CLAUDE_FABLE_5_THINKING_PROFILE, u as resolveClaudeOpus5ModelIdentity } from "./anthropic-SrGtwsJu.mjs";
2
2
  import { a as extractDiagnosticError, i as createAssistantMessageDiagnostic, n as DiagnosticErrorInfo, o as formatThrownValue, r as appendAssistantMessageDiagnostic, t as AssistantMessageDiagnostic } from "./diagnostics-BaTA9eVl.mjs";
3
- import { $ as VercelGatewayRouting, A as OpenRouterRouting, B as TextContent, C as KnownImagesProvider, D as ModelThinkingLevel, E as Model, F as SimpleStreamOptions, G as ThinkingLevelMap, H as ThinkingBudgets, I as StopReason, J as ToolResultMessage, K as Tool, L as StreamFn, M as ProviderImagesOptions, N as ProviderResponse, O as OpenAICompletionsCompat, P as ProviderStreamOptions, Q as ValidateToolArgumentsFn, R as StreamFunction, S as KnownImagesApi, T as Message, U as ThinkingContent, V as TextSignatureV1, W as ThinkingLevel, X as Usage, Y as Transport, Z as UserMessage, _ as ImagesOptions, a as AssistantMessageEvent, b as ImagesStopReason, c as CacheRetention, d as ImageContent, f as ImagesApi, g as ImagesModel, h as ImagesInputContent, i as AssistantMessage, j as Provider, k as OpenAIResponsesCompat, l as CompleteSimpleFn, m as ImagesFunction, n as Api, o as AssistantMessageEventStreamContract, p as ImagesContext, q as ToolCall, r as AssistantImages, s as AssistantMessageEventStreamLike, t as AnthropicMessagesCompat, u as Context, v as ImagesOutputContent, w as MaybePromise, x as KnownApi, y as ImagesProvider, z as StreamOptions } from "./types-AFwwWium.mjs";
4
- import { n as EventStream, r as createAssistantMessageEventStream, t as AssistantMessageEventStream } from "./event-stream-Douf9dob.mjs";
5
- import { n as validateToolCall, t as validateToolArguments } from "./validation-sxvxC8J-.mjs";
6
- import { a as RegisteredApiProvider, i as ApiStreamSimpleFunction, n as ApiRegistry, o as createApiRegistry, r as ApiStreamFunction, t as ApiProvider } from "./api-registry-BMphkFf1.mjs";
7
- import { a as AiProviderRequestPolicyInput, c as AiTransportHost, d as configureAiTransportHost, f as getAiTransportHost, i as AiProviderRequestCapabilities, l as AiTransportPluginHost, n as AiInlineImageBlock, o as AiProviderStreamHookContext, p as resolveAiTransportHeaderSentinels, r as AiInlineTextBlock, s as AiTransformTransportMessages, t as AiInlineContentBlock, u as OpenAIStrictToolSettingOptions } from "./host-WvWBo4h8.mjs";
3
+ import { $ as VercelGatewayRouting, A as OpenRouterRouting, B as TextContent, C as KnownImagesProvider, D as ModelThinkingLevel, E as Model, F as SimpleStreamOptions, G as ThinkingLevelMap, H as ThinkingBudgets, I as StopReason, J as ToolResultMessage, K as Tool, L as StreamFn, M as ProviderImagesOptions, N as ProviderResponse, O as OpenAICompletionsCompat, P as ProviderStreamOptions, Q as ValidateToolArgumentsFn, R as StreamFunction, S as KnownImagesApi, T as Message, U as ThinkingContent, V as TextSignatureV1, W as ThinkingLevel, X as Usage, Y as Transport, Z as UserMessage, _ as ImagesOptions, a as AssistantMessageEvent, b as ImagesStopReason, c as CacheRetention, d as ImageContent, f as ImagesApi, g as ImagesModel, h as ImagesInputContent, i as AssistantMessage, j as Provider, k as OpenAIResponsesCompat, l as CompleteSimpleFn, m as ImagesFunction, n as Api, o as AssistantMessageEventStreamContract, p as ImagesContext, q as ToolCall, r as AssistantImages, s as AssistantMessageEventStreamLike, t as AnthropicMessagesCompat, u as Context, v as ImagesOutputContent, w as MaybePromise, x as KnownApi, y as ImagesProvider, z as StreamOptions } from "./types-bzp5k29J.mjs";
4
+ import { n as EventStream, r as createAssistantMessageEventStream, t as AssistantMessageEventStream } from "./event-stream-YjaPW20U.mjs";
5
+ import { n as validateToolCall, t as validateToolArguments } from "./validation-B-j7cOYp.mjs";
6
+ import { a as RegisteredApiProvider, i as ApiStreamSimpleFunction, n as ApiRegistry, o as createApiRegistry, r as ApiStreamFunction, t as ApiProvider } from "./api-registry-DlMgPR39.mjs";
7
+ import { a as AiProviderRequestPolicyInput, c as AiTransportHost, d as configureAiTransportHost, f as getAiTransportHost, i as AiProviderRequestCapabilities, l as AiTransportPluginHost, n as AiInlineImageBlock, o as AiProviderStreamHookContext, p as resolveAiTransportHeaderSentinels, r as AiInlineTextBlock, s as AiTransformTransportMessages, t as AiInlineContentBlock, u as OpenAIStrictToolSettingOptions } from "./host-B9GUmcra.mjs";
8
8
 
9
9
  //#region packages/ai/src/stream.d.ts
10
10
  /** Creates an isolated LLM runtime backed by the supplied provider registry. */
@@ -23,4 +23,4 @@ declare function createLlmRuntime(registry?: ApiRegistry): {
23
23
  };
24
24
  type LlmRuntime = ReturnType<typeof createLlmRuntime>;
25
25
  //#endregion
26
- export { AiInlineContentBlock, AiInlineImageBlock, AiInlineTextBlock, AiProviderRequestCapabilities, AiProviderRequestPolicyInput, AiProviderStreamHookContext, AiTransformTransportMessages, AiTransportHost, AiTransportPluginHost, AnthropicMessagesCompat, Api, ApiProvider, ApiRegistry, ApiStreamFunction, ApiStreamSimpleFunction, AssistantImages, AssistantMessage, AssistantMessageDiagnostic, AssistantMessageEvent, AssistantMessageEventStream, AssistantMessageEventStreamContract, AssistantMessageEventStreamLike, CLAUDE_FABLE_5_THINKING_PROFILE, CLAUDE_SONNET_5_THINKING_PROFILE, CacheRetention, CompleteSimpleFn, Context, DiagnosticErrorInfo, EventStream, ImageContent, ImagesApi, ImagesContext, ImagesFunction, ImagesInputContent, ImagesModel, ImagesOptions, ImagesOutputContent, ImagesProvider, ImagesStopReason, KnownApi, KnownImagesApi, KnownImagesProvider, LlmRuntime, MaybePromise, Message, Model, ModelThinkingLevel, OpenAICompletionsCompat, OpenAIResponsesCompat, OpenAIStrictToolSettingOptions, OpenRouterRouting, Provider, ProviderImagesOptions, ProviderResponse, ProviderStreamOptions, RegisteredApiProvider, SimpleStreamOptions, StopReason, StreamFn, StreamFunction, StreamOptions, TextContent, TextSignatureV1, ThinkingBudgets, ThinkingContent, ThinkingLevel, ThinkingLevelMap, Tool, ToolCall, ToolResultMessage, Transport, Usage, UserMessage, ValidateToolArgumentsFn, VercelGatewayRouting, appendAssistantMessageDiagnostic, configureAiTransportHost, createApiRegistry, createAssistantMessageDiagnostic, createAssistantMessageEventStream, createLlmRuntime, extractDiagnosticError, formatThrownValue, getAiTransportHost, requiresClaudeDefaultSampling, requiresClaudeMandatoryAdaptiveThinking, resolveAiTransportHeaderSentinels, resolveClaudeFable5ModelIdentity, resolveClaudeModelIdentity, resolveClaudeMythos5ModelIdentity, resolveClaudeNativeThinkingLevelMap, resolveClaudeSonnet5ModelIdentity, supportsClaudeAdaptiveThinking, supportsClaudeNativeMaxEffort, supportsClaudeNativeXhighEffort, validateToolArguments, validateToolCall };
26
+ export { AiInlineContentBlock, AiInlineImageBlock, AiInlineTextBlock, AiProviderRequestCapabilities, AiProviderRequestPolicyInput, AiProviderStreamHookContext, AiTransformTransportMessages, AiTransportHost, AiTransportPluginHost, AnthropicMessagesCompat, Api, ApiProvider, ApiRegistry, ApiStreamFunction, ApiStreamSimpleFunction, AssistantImages, AssistantMessage, AssistantMessageDiagnostic, AssistantMessageEvent, AssistantMessageEventStream, AssistantMessageEventStreamContract, AssistantMessageEventStreamLike, CLAUDE_FABLE_5_THINKING_PROFILE, CLAUDE_OPUS_5_THINKING_PROFILE, CLAUDE_SONNET_5_THINKING_PROFILE, CacheRetention, CompleteSimpleFn, Context, DiagnosticErrorInfo, EventStream, ImageContent, ImagesApi, ImagesContext, ImagesFunction, ImagesInputContent, ImagesModel, ImagesOptions, ImagesOutputContent, ImagesProvider, ImagesStopReason, KnownApi, KnownImagesApi, KnownImagesProvider, LlmRuntime, MaybePromise, Message, Model, ModelThinkingLevel, OpenAICompletionsCompat, OpenAIResponsesCompat, OpenAIStrictToolSettingOptions, OpenRouterRouting, Provider, ProviderImagesOptions, ProviderResponse, ProviderStreamOptions, RegisteredApiProvider, SimpleStreamOptions, StopReason, StreamFn, StreamFunction, StreamOptions, TextContent, TextSignatureV1, ThinkingBudgets, ThinkingContent, ThinkingLevel, ThinkingLevelMap, Tool, ToolCall, ToolResultMessage, Transport, Usage, UserMessage, ValidateToolArgumentsFn, VercelGatewayRouting, appendAssistantMessageDiagnostic, configureAiTransportHost, createApiRegistry, createAssistantMessageDiagnostic, createAssistantMessageEventStream, createLlmRuntime, extractDiagnosticError, formatThrownValue, getAiTransportHost, requiresClaudeDefaultSampling, requiresClaudeMandatoryAdaptiveThinking, resolveAiTransportHeaderSentinels, resolveClaudeFable5ModelIdentity, resolveClaudeModelIdentity, resolveClaudeMythos5ModelIdentity, resolveClaudeNativeThinkingLevelMap, resolveClaudeOpus5ModelIdentity, resolveClaudeSonnet5ModelIdentity, supportsClaude1MContext, supportsClaudeAdaptiveThinking, supportsClaudeFastMode, supportsClaudeNativeMaxEffort, supportsClaudeNativeXhighEffort, validateToolArguments, validateToolCall };
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
- import { a as resolveClaudeFable5ModelIdentity, c as resolveClaudeNativeThinkingLevelMap, d as supportsClaudeNativeMaxEffort, f as supportsClaudeNativeXhighEffort, i as requiresClaudeMandatoryAdaptiveThinking, l as resolveClaudeSonnet5ModelIdentity, n as CLAUDE_SONNET_5_THINKING_PROFILE, o as resolveClaudeModelIdentity, r as requiresClaudeDefaultSampling, s as resolveClaudeMythos5ModelIdentity, t as CLAUDE_FABLE_5_THINKING_PROFILE, u as supportsClaudeAdaptiveThinking } from "./src-CXno1H5g.mjs";
1
+ import { a as requiresClaudeMandatoryAdaptiveThinking, c as resolveClaudeMythos5ModelIdentity, d as resolveClaudeSonnet5ModelIdentity, f as supportsClaude1MContext, g as supportsClaudeNativeXhighEffort, h as supportsClaudeNativeMaxEffort, i as requiresClaudeDefaultSampling, l as resolveClaudeNativeThinkingLevelMap, m as supportsClaudeFastMode, n as CLAUDE_OPUS_5_THINKING_PROFILE, o as resolveClaudeFable5ModelIdentity, p as supportsClaudeAdaptiveThinking, r as CLAUDE_SONNET_5_THINKING_PROFILE, s as resolveClaudeModelIdentity, t as CLAUDE_FABLE_5_THINKING_PROFILE, u as resolveClaudeOpus5ModelIdentity } from "./src-QkygScBs.mjs";
2
2
  import { i as formatThrownValue, n as createAssistantMessageDiagnostic, r as extractDiagnosticError, t as appendAssistantMessageDiagnostic } from "./diagnostics-COpOtRwq.mjs";
3
3
  import { n as EventStream, r as createAssistantMessageEventStream, t as AssistantMessageEventStream } from "./event-stream-D8n2uFee.mjs";
4
4
  import { n as validateToolCall, t as validateToolArguments } from "./validation-DAa_yFOM.mjs";
5
5
  import { n as createApiRegistry, t as createLlmRuntime } from "./stream-CREqxHgU.mjs";
6
6
  import { n as getAiTransportHost, r as resolveAiTransportHeaderSentinels, t as configureAiTransportHost } from "./host-XYGZcgO8.mjs";
7
- export { AssistantMessageEventStream, CLAUDE_FABLE_5_THINKING_PROFILE, CLAUDE_SONNET_5_THINKING_PROFILE, EventStream, appendAssistantMessageDiagnostic, configureAiTransportHost, createApiRegistry, createAssistantMessageDiagnostic, createAssistantMessageEventStream, createLlmRuntime, extractDiagnosticError, formatThrownValue, getAiTransportHost, requiresClaudeDefaultSampling, requiresClaudeMandatoryAdaptiveThinking, resolveAiTransportHeaderSentinels, resolveClaudeFable5ModelIdentity, resolveClaudeModelIdentity, resolveClaudeMythos5ModelIdentity, resolveClaudeNativeThinkingLevelMap, resolveClaudeSonnet5ModelIdentity, supportsClaudeAdaptiveThinking, supportsClaudeNativeMaxEffort, supportsClaudeNativeXhighEffort, validateToolArguments, validateToolCall };
7
+ export { AssistantMessageEventStream, CLAUDE_FABLE_5_THINKING_PROFILE, CLAUDE_OPUS_5_THINKING_PROFILE, CLAUDE_SONNET_5_THINKING_PROFILE, EventStream, appendAssistantMessageDiagnostic, configureAiTransportHost, createApiRegistry, createAssistantMessageDiagnostic, createAssistantMessageEventStream, createLlmRuntime, extractDiagnosticError, formatThrownValue, getAiTransportHost, requiresClaudeDefaultSampling, requiresClaudeMandatoryAdaptiveThinking, resolveAiTransportHeaderSentinels, resolveClaudeFable5ModelIdentity, resolveClaudeModelIdentity, resolveClaudeMythos5ModelIdentity, resolveClaudeNativeThinkingLevelMap, resolveClaudeOpus5ModelIdentity, resolveClaudeSonnet5ModelIdentity, supportsClaude1MContext, supportsClaudeAdaptiveThinking, supportsClaudeFastMode, supportsClaudeNativeMaxEffort, supportsClaudeNativeXhighEffort, validateToolArguments, validateToolCall };
@@ -1,6 +1,6 @@
1
- import { a as resolveClaudeFable5ModelIdentity, c as resolveClaudeNativeThinkingLevelMap, d as supportsClaudeNativeMaxEffort, f as supportsClaudeNativeXhighEffort, i as requiresClaudeMandatoryAdaptiveThinking, l as resolveClaudeSonnet5ModelIdentity, o as resolveClaudeModelIdentity, r as requiresClaudeDefaultSampling, s as resolveClaudeMythos5ModelIdentity, u as supportsClaudeAdaptiveThinking } from "../anthropic-BoTnz8cv.mjs";
1
+ import { a as requiresClaudeMandatoryAdaptiveThinking, c as resolveClaudeMythos5ModelIdentity, d as resolveClaudeSonnet5ModelIdentity, g as supportsClaudeNativeXhighEffort, h as supportsClaudeNativeMaxEffort, i as requiresClaudeDefaultSampling, l as resolveClaudeNativeThinkingLevelMap, o as resolveClaudeFable5ModelIdentity, p as supportsClaudeAdaptiveThinking, s as resolveClaudeModelIdentity, u as resolveClaudeOpus5ModelIdentity } from "../anthropic-SrGtwsJu.mjs";
2
2
  import { t as AssistantMessageDiagnostic } from "../diagnostics-BaTA9eVl.mjs";
3
- import { E as Model, F as SimpleStreamOptions, R as StreamFunction, u as Context, z as StreamOptions } from "../types-AFwwWium.mjs";
3
+ import { E as Model, F as SimpleStreamOptions, R as StreamFunction, u as Context, z as StreamOptions } from "../types-bzp5k29J.mjs";
4
4
  import Anthropic from "@anthropic-ai/sdk";
5
5
 
6
6
  //#region packages/ai/src/providers/anthropic.d.ts
@@ -98,8 +98,8 @@ declare function defaultsClaudeAdaptiveThinking(model: {
98
98
  params?: Record<string, unknown>;
99
99
  api?: string;
100
100
  }): boolean;
101
- /** Remove Sonnet 5 assistant prefills while preserving completed tool-use turns. */
102
- declare function prepareClaudeSonnet5RequestContext(model: Model, context: Context): Context;
101
+ /** Remove unsupported assistant prefills while preserving completed tool-use turns. */
102
+ declare function prepareClaudeNoPrefillRequestContext(model: Model, context: Context): Context;
103
103
  declare function applyClaudeRequestContract(params: Record<string, unknown>, model: {
104
104
  id?: string;
105
105
  params?: Record<string, unknown>;
@@ -120,21 +120,25 @@ declare function applyAnthropicRefusal(output: AnthropicRefusalOutput, stopDetai
120
120
  //#endregion
121
121
  //#region packages/ai/src/providers/anthropic-server-fallback.d.ts
122
122
  /** Anthropic beta that re-serves safety refusals on an allowed fallback model. */
123
- declare const ANTHROPIC_SERVER_SIDE_FALLBACK_BETA = "server-side-fallback-2026-06-01";
124
- declare const CLAUDE_FABLE_5_FALLBACK_MODEL = "claude-opus-4-8";
125
- declare const CLAUDE_FABLE_5_FALLBACK_MODEL_COST: {
123
+ declare const ANTHROPIC_SERVER_SIDE_FALLBACK_BETA = "server-side-fallback-2026-07-01";
124
+ /** Let Anthropic select the recommended model for each refusal category. */
125
+ declare const ANTHROPIC_SERVER_SIDE_FALLBACKS: "default";
126
+ declare const CLAUDE_OPUS_FALLBACK_MODEL_COST: {
126
127
  readonly input: 5;
127
128
  readonly output: 25;
128
129
  readonly cacheRead: 0.5;
129
130
  readonly cacheWrite: 6.25;
130
131
  };
131
- declare function buildAnthropicServerSideFallbacks(): Array<{
132
- model: string;
133
- }>;
134
132
  type AnthropicFallbackBoundary = {
135
133
  fromModel: string | null;
136
134
  toModel: string | null;
137
135
  };
136
+ /** Resolve billed rates from the serving model reported by Anthropic's fallback stream. */
137
+ declare function resolveAnthropicFallbackServingModelCost(params: {
138
+ requestedModelId: string;
139
+ servingModelId: string | null;
140
+ requestedCost: Model["cost"];
141
+ }): Model["cost"];
138
142
  /** Reads a `fallback` content block marking where one model's output gives way to the next. */
139
143
  declare function readAnthropicFallbackBoundary(block: unknown): AnthropicFallbackBoundary | null;
140
144
  /**
@@ -237,4 +241,4 @@ declare function readAnthropicCacheWriteUsage(usage: AnthropicUsagePayload): Ant
237
241
  declare function readAnthropicPromptUsageSnapshot(usage: AnthropicUsagePayload): AnthropicPromptUsageSnapshot | undefined;
238
242
  declare function readLastAnthropicIterationUsage(usage: AnthropicUsagePayload): AnthropicIterationUsageResult;
239
243
  //#endregion
240
- export { ANTHROPIC_OMITTED_REASONING_TEXT, ANTHROPIC_SERVER_SIDE_FALLBACK_BETA, AnthropicCacheWriteUsage, AnthropicEffort, AnthropicFallbackBoundary, AnthropicIterationUsageResult, AnthropicIterationUsageSnapshot, AnthropicOptions, AnthropicProjectedToolChoice, AnthropicPromptUsageSnapshot, AnthropicThinkingDisplay, AnthropicToolProjection, CLAUDE_FABLE_5_FALLBACK_MODEL, CLAUDE_FABLE_5_FALLBACK_MODEL_COST, applyAnthropicFallbackBoundary, applyAnthropicRefusal, applyClaudeRequestContract, buildAnthropicServerSideFallbacks, defaultsClaudeAdaptiveThinking, findActiveAnthropicToolTurnAssistantIndex, omitFoundryBearerCredentialHeaders, prepareClaudeSonnet5RequestContext, projectAnthropicTools, readAnthropicCacheWriteUsage, readAnthropicFallbackBoundary, readAnthropicPromptUsageSnapshot, readAnthropicUsageTokenCount, readLastAnthropicIterationUsage, reconcileAnthropicToolChoice, requiresClaudeAdaptiveThinking, requiresClaudeDefaultSampling, requiresClaudeMandatoryAdaptiveThinking, resolveClaudeFable5ModelIdentity, resolveClaudeModelIdentity, resolveClaudeMythos5ModelIdentity, resolveClaudeNativeThinkingLevelMap, resolveClaudeSonnet5ModelIdentity, resolveModelBoundThinkingReplayMode, resolveOriginalAnthropicToolName, streamAnthropic, streamSimpleAnthropic, supportsClaudeAdaptiveThinking, supportsClaudeNativeMaxEffort, supportsClaudeNativeXhighEffort, usesClaudeFable5MessagesContract, usesClaudeStreamingRefusalContract, usesFoundryBearerAuth };
244
+ export { ANTHROPIC_OMITTED_REASONING_TEXT, ANTHROPIC_SERVER_SIDE_FALLBACKS, ANTHROPIC_SERVER_SIDE_FALLBACK_BETA, AnthropicCacheWriteUsage, AnthropicEffort, AnthropicFallbackBoundary, AnthropicIterationUsageResult, AnthropicIterationUsageSnapshot, AnthropicOptions, AnthropicProjectedToolChoice, AnthropicPromptUsageSnapshot, AnthropicThinkingDisplay, AnthropicToolProjection, CLAUDE_OPUS_FALLBACK_MODEL_COST, applyAnthropicFallbackBoundary, applyAnthropicRefusal, applyClaudeRequestContract, defaultsClaudeAdaptiveThinking, findActiveAnthropicToolTurnAssistantIndex, omitFoundryBearerCredentialHeaders, prepareClaudeNoPrefillRequestContext, projectAnthropicTools, readAnthropicCacheWriteUsage, readAnthropicFallbackBoundary, readAnthropicPromptUsageSnapshot, readAnthropicUsageTokenCount, readLastAnthropicIterationUsage, reconcileAnthropicToolChoice, requiresClaudeAdaptiveThinking, requiresClaudeDefaultSampling, requiresClaudeMandatoryAdaptiveThinking, resolveAnthropicFallbackServingModelCost, resolveClaudeFable5ModelIdentity, resolveClaudeModelIdentity, resolveClaudeMythos5ModelIdentity, resolveClaudeNativeThinkingLevelMap, resolveClaudeOpus5ModelIdentity, resolveClaudeSonnet5ModelIdentity, resolveModelBoundThinkingReplayMode, resolveOriginalAnthropicToolName, streamAnthropic, streamSimpleAnthropic, supportsClaudeAdaptiveThinking, supportsClaudeNativeMaxEffort, supportsClaudeNativeXhighEffort, usesClaudeFable5MessagesContract, usesClaudeStreamingRefusalContract, usesFoundryBearerAuth };
@@ -1,4 +1,4 @@
1
- import { a as resolveClaudeFable5ModelIdentity, c as resolveClaudeNativeThinkingLevelMap, d as supportsClaudeNativeMaxEffort, f as supportsClaudeNativeXhighEffort, i as requiresClaudeMandatoryAdaptiveThinking, l as resolveClaudeSonnet5ModelIdentity, o as resolveClaudeModelIdentity, r as requiresClaudeDefaultSampling, s as resolveClaudeMythos5ModelIdentity, u as supportsClaudeAdaptiveThinking } from "../src-CXno1H5g.mjs";
2
- import { d as prepareClaudeSonnet5RequestContext, f as requiresClaudeAdaptiveThinking, h as usesClaudeStreamingRefusalContract, l as applyClaudeRequestContract, m as usesClaudeFable5MessagesContract, p as resolveModelBoundThinkingReplayMode, u as defaultsClaudeAdaptiveThinking } from "../system-prompt-cache-boundary-CbHeV4_l.mjs";
3
- import { _ as buildAnthropicServerSideFallbacks, a as readAnthropicPromptUsageSnapshot, b as omitFoundryBearerCredentialHeaders, c as projectAnthropicTools, d as ANTHROPIC_OMITTED_REASONING_TEXT, f as findActiveAnthropicToolTurnAssistantIndex, g as applyAnthropicFallbackBoundary, h as CLAUDE_FABLE_5_FALLBACK_MODEL_COST, i as readAnthropicCacheWriteUsage, l as reconcileAnthropicToolChoice, m as CLAUDE_FABLE_5_FALLBACK_MODEL, n as streamAnthropic, o as readAnthropicUsageTokenCount, p as ANTHROPIC_SERVER_SIDE_FALLBACK_BETA, r as streamSimpleAnthropic, s as readLastAnthropicIterationUsage, u as resolveOriginalAnthropicToolName, v as readAnthropicFallbackBoundary, x as usesFoundryBearerAuth, y as applyAnthropicRefusal } from "../anthropic-CrUDIBpM.mjs";
4
- export { ANTHROPIC_OMITTED_REASONING_TEXT, ANTHROPIC_SERVER_SIDE_FALLBACK_BETA, CLAUDE_FABLE_5_FALLBACK_MODEL, CLAUDE_FABLE_5_FALLBACK_MODEL_COST, applyAnthropicFallbackBoundary, applyAnthropicRefusal, applyClaudeRequestContract, buildAnthropicServerSideFallbacks, defaultsClaudeAdaptiveThinking, findActiveAnthropicToolTurnAssistantIndex, omitFoundryBearerCredentialHeaders, prepareClaudeSonnet5RequestContext, projectAnthropicTools, readAnthropicCacheWriteUsage, readAnthropicFallbackBoundary, readAnthropicPromptUsageSnapshot, readAnthropicUsageTokenCount, readLastAnthropicIterationUsage, reconcileAnthropicToolChoice, requiresClaudeAdaptiveThinking, requiresClaudeDefaultSampling, requiresClaudeMandatoryAdaptiveThinking, resolveClaudeFable5ModelIdentity, resolveClaudeModelIdentity, resolveClaudeMythos5ModelIdentity, resolveClaudeNativeThinkingLevelMap, resolveClaudeSonnet5ModelIdentity, resolveModelBoundThinkingReplayMode, resolveOriginalAnthropicToolName, streamAnthropic, streamSimpleAnthropic, supportsClaudeAdaptiveThinking, supportsClaudeNativeMaxEffort, supportsClaudeNativeXhighEffort, usesClaudeFable5MessagesContract, usesClaudeStreamingRefusalContract, usesFoundryBearerAuth };
1
+ import { a as requiresClaudeMandatoryAdaptiveThinking, c as resolveClaudeMythos5ModelIdentity, d as resolveClaudeSonnet5ModelIdentity, g as supportsClaudeNativeXhighEffort, h as supportsClaudeNativeMaxEffort, i as requiresClaudeDefaultSampling, l as resolveClaudeNativeThinkingLevelMap, o as resolveClaudeFable5ModelIdentity, p as supportsClaudeAdaptiveThinking, s as resolveClaudeModelIdentity, u as resolveClaudeOpus5ModelIdentity } from "../src-QkygScBs.mjs";
2
+ import { _ as usesClaudeStreamingRefusalContract, d as applyClaudeRequestContract, f as defaultsClaudeAdaptiveThinking, g as usesClaudeFable5MessagesContract, h as resolveModelBoundThinkingReplayMode, m as requiresClaudeAdaptiveThinking, p as prepareClaudeNoPrefillRequestContext } from "../shared-CdjNZd35.mjs";
3
+ import { _ as readAnthropicFallbackBoundary, a as readAnthropicPromptUsageSnapshot, b as omitFoundryBearerCredentialHeaders, c as projectAnthropicTools, d as ANTHROPIC_OMITTED_REASONING_TEXT, f as findActiveAnthropicToolTurnAssistantIndex, g as applyAnthropicFallbackBoundary, h as CLAUDE_OPUS_FALLBACK_MODEL_COST, i as readAnthropicCacheWriteUsage, l as reconcileAnthropicToolChoice, m as ANTHROPIC_SERVER_SIDE_FALLBACK_BETA, n as streamAnthropic, o as readAnthropicUsageTokenCount, p as ANTHROPIC_SERVER_SIDE_FALLBACKS, r as streamSimpleAnthropic, s as readLastAnthropicIterationUsage, u as resolveOriginalAnthropicToolName, v as resolveAnthropicFallbackServingModelCost, x as usesFoundryBearerAuth, y as applyAnthropicRefusal } from "../anthropic-CQVj3le6.mjs";
4
+ export { ANTHROPIC_OMITTED_REASONING_TEXT, ANTHROPIC_SERVER_SIDE_FALLBACKS, ANTHROPIC_SERVER_SIDE_FALLBACK_BETA, CLAUDE_OPUS_FALLBACK_MODEL_COST, applyAnthropicFallbackBoundary, applyAnthropicRefusal, applyClaudeRequestContract, defaultsClaudeAdaptiveThinking, findActiveAnthropicToolTurnAssistantIndex, omitFoundryBearerCredentialHeaders, prepareClaudeNoPrefillRequestContext, projectAnthropicTools, readAnthropicCacheWriteUsage, readAnthropicFallbackBoundary, readAnthropicPromptUsageSnapshot, readAnthropicUsageTokenCount, readLastAnthropicIterationUsage, reconcileAnthropicToolChoice, requiresClaudeAdaptiveThinking, requiresClaudeDefaultSampling, requiresClaudeMandatoryAdaptiveThinking, resolveAnthropicFallbackServingModelCost, resolveClaudeFable5ModelIdentity, resolveClaudeModelIdentity, resolveClaudeMythos5ModelIdentity, resolveClaudeNativeThinkingLevelMap, resolveClaudeOpus5ModelIdentity, resolveClaudeSonnet5ModelIdentity, resolveModelBoundThinkingReplayMode, resolveOriginalAnthropicToolName, streamAnthropic, streamSimpleAnthropic, supportsClaudeAdaptiveThinking, supportsClaudeNativeMaxEffort, supportsClaudeNativeXhighEffort, usesClaudeFable5MessagesContract, usesClaudeStreamingRefusalContract, usesFoundryBearerAuth };
@@ -1,2 +1,3 @@
1
- import { $ as convertMessages, A as ResponsesTextContentPartType, B as OpenAIApiReasoningEffort, C as AZURE_RESPONSES_TEXT_CONTENT_PART_TYPE, D as OPENAI_RESPONSES_OUTPUT_TEXT_CONTENT_PART_TYPE, E as AzureResponsesTextDeltaEvent, F as isResponsesTextDeltaEventType, G as normalizeOpenAIReasoningEffort, H as isOpenAIGpt54MiniModel, I as resolveResponsesMessageSnapshotCollapse, J as supportsOpenAIReasoningEffort, K as resolveOpenAIReasoningEffortForModel, L as OpenAIResponsesOptions, M as isAzureResponsesTextDeltaEvent, N as isAzureResponsesTextDeltaEventType, O as OPENAI_RESPONSES_OUTPUT_TEXT_DELTA_EVENT_TYPE, P as isResponsesTextContentPartType, Q as OpenAICompletionsOptions, R as streamOpenAIResponses, S as resolveResponsesTerminalStopReason, T as AzureResponsesTextContentPart, U as isOpenAIGpt55Model, V as OpenAIReasoningEffort, W as isOpenAIGpt56Model, X as OPENAI_PROMPT_CACHE_KEY_MAX_LENGTH, Y as supportsOpenAITemperature, Z as clampOpenAIPromptCacheKey, _ as createResponsesToolCallTracker, _t as resolveUnsupportedToolSchemaKeywords, a as clearOpenAIToolSchemaCacheForTest, at as reconcileOpenAICompletionsToolChoice, b as mapResponsesTerminalUsage, c as normalizeOpenAIStrictToolParameters, ct as cleanSchemaForGemini, d as findOpenAIStrictSchemaViolations, dt as parseAzureDeploymentNameMap, et as streamOpenAICompletions, f as normalizeOpenAIStrictCompatSchema, ft as resolveAzureDeploymentNameFromMap, g as ResponsesToolCallState, gt as normalizeToolParameterSchema, h as ResponsesToolCallIdentity, ht as extractToolSchemaModelCompat, i as stripUnsupportedSchemaKeywords, it as projectOpenAITools, j as ResponsesTextDeltaEventType, k as ResponsesMessageSnapshotCollapse, l as normalizeStrictOpenAIJsonSchema, lt as isOpenAICompatibleAzureResponsesBaseUrl, m as mapOpenAIStopReason, mt as ToolSchemaModelCompat, n as RuntimeToolInputSchemaProjection, nt as OpenAICompletionsToolChoice, o as findOpenAIStrictToolProjectionDiagnostics, ot as reconcileOpenAIResponsesToolChoice, p as OpenAIStopReasonResult, pt as ToolParameterSchemaOptions, q as resolveOpenAISupportedReasoningEfforts, r as projectRuntimeToolInputSchema, rt as OpenAIToolProjection, s as isStrictOpenAIJsonSchemaCompatible, st as GEMINI_UNSUPPORTED_SCHEMA_KEYWORDS, t as RuntimeToolInputSchemaJson, tt as streamSimpleOpenAICompletions, u as resolveOpenAIProjectedToolsStrictToolFlag, ut as isTraditionalAzureOpenAIHost, v as readResponsesToolCallItemIdentity, vt as shouldOmitEmptyArrayItems, w as AZURE_RESPONSES_TEXT_DELTA_EVENT_TYPE, x as readResponsesReasoningTokens, y as ResponsesTerminalUsagePayload, z as streamSimpleOpenAIResponses } from "../openai-CoGicoDt.mjs";
1
+ import { $ as streamSimpleOpenAICompletions, A as ResponsesTextContentPartType, B as OpenAIApiReasoningEffort, C as AZURE_RESPONSES_TEXT_CONTENT_PART_TYPE, D as OPENAI_RESPONSES_OUTPUT_TEXT_CONTENT_PART_TYPE, E as AzureResponsesTextDeltaEvent, F as isResponsesTextDeltaEventType, G as normalizeOpenAIReasoningEffort, H as isOpenAIGpt54MiniModel, I as resolveResponsesMessageSnapshotCollapse, J as supportsOpenAIReasoningEffort, K as resolveOpenAIReasoningEffortForModel, L as OpenAIResponsesOptions, M as isAzureResponsesTextDeltaEvent, N as isAzureResponsesTextDeltaEventType, O as OPENAI_RESPONSES_OUTPUT_TEXT_DELTA_EVENT_TYPE, P as isResponsesTextContentPartType, Q as streamOpenAICompletions, R as streamOpenAIResponses, S as resolveResponsesTerminalStopReason, T as AzureResponsesTextContentPart, U as isOpenAIGpt55Model, V as OpenAIReasoningEffort, W as isOpenAIGpt56Model, X as OpenAICompletionsOptions, Y as supportsOpenAITemperature, Z as convertMessages, _ as createResponsesToolCallTracker, _t as normalizeToolParameterSchema, a as clearOpenAIToolSchemaCacheForTest, b as mapResponsesTerminalUsage, c as normalizeOpenAIStrictToolParameters, ct as GEMINI_UNSUPPORTED_SCHEMA_KEYWORDS, d as findOpenAIStrictSchemaViolations, dt as isTraditionalAzureOpenAIHost, et as OpenAICompletionsToolChoice, f as normalizeOpenAIStrictCompatSchema, ft as parseAzureDeploymentNameMap, g as ResponsesToolCallState, gt as extractToolSchemaModelCompat, h as ResponsesToolCallIdentity, ht as ToolSchemaModelCompat, i as stripUnsupportedSchemaKeywords, it as reconcileOpenAIResponsesToolChoice, j as ResponsesTextDeltaEventType, k as ResponsesMessageSnapshotCollapse, l as normalizeStrictOpenAIJsonSchema, lt as cleanSchemaForGemini, m as mapOpenAIStopReason, mt as ToolParameterSchemaOptions, n as RuntimeToolInputSchemaProjection, nt as projectOpenAITools, o as findOpenAIStrictToolProjectionDiagnostics, p as OpenAIStopReasonResult, pt as resolveAzureDeploymentNameFromMap, q as resolveOpenAISupportedReasoningEfforts, r as projectRuntimeToolInputSchema, rt as reconcileOpenAICompletionsToolChoice, s as isStrictOpenAIJsonSchemaCompatible, t as RuntimeToolInputSchemaJson, tt as OpenAIToolProjection, u as resolveOpenAIProjectedToolsStrictToolFlag, ut as isOpenAICompatibleAzureResponsesBaseUrl, v as readResponsesToolCallItemIdentity, vt as resolveUnsupportedToolSchemaKeywords, w as AZURE_RESPONSES_TEXT_DELTA_EVENT_TYPE, x as readResponsesReasoningTokens, y as ResponsesTerminalUsagePayload, yt as shouldOmitEmptyArrayItems, z as streamSimpleOpenAIResponses } from "../openai-BPor_3WI.mjs";
2
+ import { n as clampOpenAIPromptCacheKey, t as OPENAI_PROMPT_CACHE_KEY_MAX_LENGTH } from "../openai-prompt-cache-2uo_1OR1.mjs";
2
3
  export { AZURE_RESPONSES_TEXT_CONTENT_PART_TYPE, AZURE_RESPONSES_TEXT_DELTA_EVENT_TYPE, AzureResponsesTextContentPart, AzureResponsesTextDeltaEvent, GEMINI_UNSUPPORTED_SCHEMA_KEYWORDS, OPENAI_PROMPT_CACHE_KEY_MAX_LENGTH, OPENAI_RESPONSES_OUTPUT_TEXT_CONTENT_PART_TYPE, OPENAI_RESPONSES_OUTPUT_TEXT_DELTA_EVENT_TYPE, OpenAIApiReasoningEffort, OpenAICompletionsOptions, OpenAICompletionsToolChoice, OpenAIReasoningEffort, OpenAIResponsesOptions, OpenAIStopReasonResult, OpenAIToolProjection, ResponsesMessageSnapshotCollapse, ResponsesTerminalUsagePayload, ResponsesTextContentPartType, ResponsesTextDeltaEventType, ResponsesToolCallIdentity, ResponsesToolCallState, RuntimeToolInputSchemaJson, RuntimeToolInputSchemaProjection, ToolParameterSchemaOptions, ToolSchemaModelCompat, clampOpenAIPromptCacheKey, cleanSchemaForGemini, clearOpenAIToolSchemaCacheForTest, convertMessages, createResponsesToolCallTracker, extractToolSchemaModelCompat, findOpenAIStrictSchemaViolations, findOpenAIStrictToolProjectionDiagnostics, isAzureResponsesTextDeltaEvent, isAzureResponsesTextDeltaEventType, isOpenAICompatibleAzureResponsesBaseUrl, isOpenAIGpt54MiniModel, isOpenAIGpt55Model, isOpenAIGpt56Model, isResponsesTextContentPartType, isResponsesTextDeltaEventType, isStrictOpenAIJsonSchemaCompatible, isTraditionalAzureOpenAIHost, mapOpenAIStopReason, mapResponsesTerminalUsage, normalizeOpenAIReasoningEffort, normalizeOpenAIStrictCompatSchema, normalizeOpenAIStrictToolParameters, normalizeStrictOpenAIJsonSchema, normalizeToolParameterSchema, parseAzureDeploymentNameMap, projectOpenAITools, projectRuntimeToolInputSchema, readResponsesReasoningTokens, readResponsesToolCallItemIdentity, reconcileOpenAICompletionsToolChoice, reconcileOpenAIResponsesToolChoice, resolveAzureDeploymentNameFromMap, resolveOpenAIProjectedToolsStrictToolFlag, resolveOpenAIReasoningEffortForModel, resolveOpenAISupportedReasoningEfforts, resolveResponsesMessageSnapshotCollapse, resolveResponsesTerminalStopReason, resolveUnsupportedToolSchemaKeywords, shouldOmitEmptyArrayItems, streamOpenAICompletions, streamOpenAIResponses, streamSimpleOpenAICompletions, streamSimpleOpenAIResponses, stripUnsupportedSchemaKeywords, supportsOpenAIReasoningEffort, supportsOpenAITemperature };
@@ -1,7 +1,5 @@
1
- import { t as projectRuntimeToolInputSchema } from "../tool-schema-json-projection-BwNu3nDi.mjs";
2
- import { a as mapOpenAIStopReason, i as streamSimpleOpenAICompletions, r as streamOpenAICompletions, t as convertMessages } from "../openai-completions-exO8NFQf.mjs";
3
- import { A as isOpenAIGpt54MiniModel, B as resolveUnsupportedToolSchemaKeywords, C as OPENAI_RESPONSES_OUTPUT_TEXT_CONTENT_PART_TYPE, D as isResponsesTextContentPartType, E as isAzureResponsesTextDeltaEventType, F as resolveOpenAISupportedReasoningEfforts, H as stripUnsupportedSchemaKeywords, I as supportsOpenAIReasoningEffort, L as supportsOpenAITemperature, M as isOpenAIGpt56Model, N as normalizeOpenAIReasoningEffort, O as isResponsesTextDeltaEventType, P as resolveOpenAIReasoningEffortForModel, R as extractToolSchemaModelCompat, S as AZURE_RESPONSES_TEXT_DELTA_EVENT_TYPE, T as isAzureResponsesTextDeltaEvent, U as GEMINI_UNSUPPORTED_SCHEMA_KEYWORDS, V as shouldOmitEmptyArrayItems, W as cleanSchemaForGemini, _ as readResponsesToolCallItemIdentity, b as resolveResponsesTerminalStopReason, c as clearOpenAIToolSchemaCacheForTest, d as normalizeOpenAIStrictToolParameters, f as normalizeStrictOpenAIJsonSchema, g as createResponsesToolCallTracker, h as normalizeOpenAIStrictCompatSchema, j as isOpenAIGpt55Model, k as resolveResponsesMessageSnapshotCollapse, l as findOpenAIStrictToolProjectionDiagnostics, m as findOpenAIStrictSchemaViolations, p as resolveOpenAIProjectedToolsStrictToolFlag, u as isStrictOpenAIJsonSchemaCompatible, v as mapResponsesTerminalUsage, w as OPENAI_RESPONSES_OUTPUT_TEXT_DELTA_EVENT_TYPE, x as AZURE_RESPONSES_TEXT_CONTENT_PART_TYPE, y as readResponsesReasoningTokens, z as normalizeToolParameterSchema } from "../openai-responses-shared-CzCurmY1.mjs";
4
- import { i as resolveAzureDeploymentNameFromMap, n as isTraditionalAzureOpenAIHost, r as parseAzureDeploymentNameMap, t as isOpenAICompatibleAzureResponsesBaseUrl } from "../azure-openai-responses-client-compat-C7K7QfUE.mjs";
5
- import { a as clampOpenAIPromptCacheKey, i as OPENAI_PROMPT_CACHE_KEY_MAX_LENGTH, n as reconcileOpenAICompletionsToolChoice, r as reconcileOpenAIResponsesToolChoice, t as projectOpenAITools } from "../openai-tool-projection-ITOU9bG1.mjs";
6
- import { n as streamOpenAIResponses, r as streamSimpleOpenAIResponses } from "../openai-responses-BHpmtUKo.mjs";
1
+ import { n as clampOpenAIPromptCacheKey, t as OPENAI_PROMPT_CACHE_KEY_MAX_LENGTH } from "../openai-prompt-cache-mZTCdRPo.mjs";
2
+ import { a as projectOpenAITools, c as mapOpenAIStopReason, i as streamSimpleOpenAICompletions, o as reconcileOpenAICompletionsToolChoice, r as streamOpenAICompletions, s as reconcileOpenAIResponsesToolChoice, t as convertMessages } from "../openai-completions-CiSutyu0.mjs";
3
+ import { o as projectRuntimeToolInputSchema } from "../github-copilot-headers-BCoBNmL7.mjs";
4
+ import { $ as createResponsesToolCallTracker, Ct as normalizeToolParameterSchema, Dt as GEMINI_UNSUPPORTED_SCHEMA_KEYWORDS, Et as stripUnsupportedSchemaKeywords, Ot as cleanSchemaForGemini, S as resolveResponsesTerminalStopReason, St as extractToolSchemaModelCompat, Tt as shouldOmitEmptyArrayItems, _ as normalizeOpenAIStrictCompatSchema, _t as supportsOpenAITemperature, at as isAzureResponsesTextDeltaEvent, b as mapResponsesTerminalUsage, bt as parseAzureDeploymentNameMap, ct as isResponsesTextDeltaEventType, d as findOpenAIStrictToolProjectionDiagnostics, dt as isOpenAIGpt55Model, et as readResponsesToolCallItemIdentity, f as isStrictOpenAIJsonSchemaCompatible, ft as isOpenAIGpt56Model, g as findOpenAIStrictSchemaViolations, gt as supportsOpenAIReasoningEffort, h as resolveOpenAIProjectedToolsStrictToolFlag, ht as resolveOpenAISupportedReasoningEfforts, it as OPENAI_RESPONSES_OUTPUT_TEXT_DELTA_EVENT_TYPE, lt as resolveResponsesMessageSnapshotCollapse, m as normalizeStrictOpenAIJsonSchema, mt as resolveOpenAIReasoningEffortForModel, n as streamOpenAIResponses, nt as AZURE_RESPONSES_TEXT_DELTA_EVENT_TYPE, ot as isAzureResponsesTextDeltaEventType, p as normalizeOpenAIStrictToolParameters, pt as normalizeOpenAIReasoningEffort, r as streamSimpleOpenAIResponses, rt as OPENAI_RESPONSES_OUTPUT_TEXT_CONTENT_PART_TYPE, st as isResponsesTextContentPartType, tt as AZURE_RESPONSES_TEXT_CONTENT_PART_TYPE, u as clearOpenAIToolSchemaCacheForTest, ut as isOpenAIGpt54MiniModel, vt as isOpenAICompatibleAzureResponsesBaseUrl, wt as resolveUnsupportedToolSchemaKeywords, x as readResponsesReasoningTokens, xt as resolveAzureDeploymentNameFromMap, yt as isTraditionalAzureOpenAIHost } from "../openai-D3PD6PE-.mjs";
7
5
  export { AZURE_RESPONSES_TEXT_CONTENT_PART_TYPE, AZURE_RESPONSES_TEXT_DELTA_EVENT_TYPE, GEMINI_UNSUPPORTED_SCHEMA_KEYWORDS, OPENAI_PROMPT_CACHE_KEY_MAX_LENGTH, OPENAI_RESPONSES_OUTPUT_TEXT_CONTENT_PART_TYPE, OPENAI_RESPONSES_OUTPUT_TEXT_DELTA_EVENT_TYPE, clampOpenAIPromptCacheKey, cleanSchemaForGemini, clearOpenAIToolSchemaCacheForTest, convertMessages, createResponsesToolCallTracker, extractToolSchemaModelCompat, findOpenAIStrictSchemaViolations, findOpenAIStrictToolProjectionDiagnostics, isAzureResponsesTextDeltaEvent, isAzureResponsesTextDeltaEventType, isOpenAICompatibleAzureResponsesBaseUrl, isOpenAIGpt54MiniModel, isOpenAIGpt55Model, isOpenAIGpt56Model, isResponsesTextContentPartType, isResponsesTextDeltaEventType, isStrictOpenAIJsonSchemaCompatible, isTraditionalAzureOpenAIHost, mapOpenAIStopReason, mapResponsesTerminalUsage, normalizeOpenAIReasoningEffort, normalizeOpenAIStrictCompatSchema, normalizeOpenAIStrictToolParameters, normalizeStrictOpenAIJsonSchema, normalizeToolParameterSchema, parseAzureDeploymentNameMap, projectOpenAITools, projectRuntimeToolInputSchema, readResponsesReasoningTokens, readResponsesToolCallItemIdentity, reconcileOpenAICompletionsToolChoice, reconcileOpenAIResponsesToolChoice, resolveAzureDeploymentNameFromMap, resolveOpenAIProjectedToolsStrictToolFlag, resolveOpenAIReasoningEffortForModel, resolveOpenAISupportedReasoningEfforts, resolveResponsesMessageSnapshotCollapse, resolveResponsesTerminalStopReason, resolveUnsupportedToolSchemaKeywords, shouldOmitEmptyArrayItems, streamOpenAICompletions, streamOpenAIResponses, streamSimpleOpenAICompletions, streamSimpleOpenAIResponses, stripUnsupportedSchemaKeywords, supportsOpenAIReasoningEffort, supportsOpenAITemperature };