@openclaw/ai 2026.9.3 → 2026.9.4

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 (80) hide show
  1. package/dist/{anthropic-CZy5U0NY.mjs → anthropic-C4Qu4H0Z.mjs} +14 -13
  2. package/dist/{anthropic-payload-policy-wuRCb6MH.d.mts → anthropic-payload-policy-BZ8umAbk.d.mts} +3 -3
  3. package/dist/{anthropic-stream-reducer-B_yo_7pf.mjs → anthropic-stream-reducer-CILWF7JD.mjs} +17 -12
  4. package/dist/{api-registry-CB1-1oQ2.d.mts → api-registry-ByUwIR0e.d.mts} +2 -2
  5. package/dist/{assistant-output-iqnlJCV2.mjs → assistant-output-tLt4H-iQ.mjs} +1 -1
  6. package/dist/{azure-openai-responses-Crpa40QR.mjs → azure-openai-responses-BAlqlKKc.mjs} +4 -4
  7. package/dist/{diagnostics-dV98PqIy.mjs → diagnostics-QuErwCIl.mjs} +1 -1
  8. package/dist/diagnostics.mjs +2 -2
  9. package/dist/{event-stream-C1Z2piyk.d.mts → event-stream-Bt5Y4Pav.d.mts} +1 -1
  10. package/dist/event-stream-C3WGFsum.d.mts +1 -0
  11. package/dist/event-stream.d.mts +2 -2
  12. package/dist/{google-BDPriaVe.mjs → google-DPBAOaOW.mjs} +6 -6
  13. package/dist/{google-messages-CVn9eFpF.mjs → google-messages-6JkpHrhJ.mjs} +3 -4
  14. package/dist/{google-shared-BedY23XS.mjs → google-shared-BvBeW9aq.mjs} +5 -5
  15. package/dist/{google-vertex-DMz8XQCn.mjs → google-vertex-k-TMCAYD.mjs} +4 -4
  16. package/dist/{host-DK3wmS3e.d.mts → host-4atIX-2V.d.mts} +5 -3
  17. package/dist/{host-CWuF-sS3.mjs → host-B8YfDGd4.mjs} +140 -5
  18. package/dist/{host-policy-CAopLRKA.mjs → host-policy-Zcg_cNz8.mjs} +1 -1
  19. package/dist/{index-CQ6LTHw8.d.mts → index-DdD3qerf.d.mts} +4 -4
  20. package/dist/index.d.mts +7 -7
  21. package/dist/index.mjs +5 -4
  22. package/dist/internal/anthropic.d.mts +5 -5
  23. package/dist/internal/anthropic.mjs +4 -4
  24. package/dist/internal/openai-responses-payload-policy.d.mts +3 -3
  25. package/dist/internal/openai-responses-payload-policy.mjs +3 -2
  26. package/dist/internal/openai.d.mts +6 -6
  27. package/dist/internal/openai.mjs +8 -9
  28. package/dist/internal/runtime.d.mts +43 -8
  29. package/dist/internal/runtime.mjs +3 -5
  30. package/dist/internal/shared.d.mts +32 -3
  31. package/dist/internal/shared.mjs +3 -4
  32. package/dist/{mistral--m-Jm6VZ.mjs → mistral-CxUZ1jUb.mjs} +5 -8
  33. package/dist/{openai-chatgpt-responses-nDZccFW-.mjs → openai-chatgpt-responses-CgO6kZfo.mjs} +13 -14
  34. package/dist/{openai-completions-compat-CXn3T1we.d.mts → openai-completions-compat-eHgh5UPE.d.mts} +3 -3
  35. package/dist/{openai-completions-stream-BQk3SkLD.mjs → openai-completions-stream-Da2vvl-S.mjs} +45 -14
  36. package/dist/{openai-completions-KuoZyx0d.mjs → openai-completions-yJuk7eis.mjs} +10 -10
  37. package/dist/{openai-prompt-cache-rrutvqxq.d.mts → openai-prompt-cache-B4eYo2-I.d.mts} +2 -2
  38. package/dist/{openai-prompt-cache-BI0rkM-5.mjs → openai-prompt-cache-Bds-n_9Q.mjs} +1 -1
  39. package/dist/{openai-provider-client-ha_WxTyj.mjs → openai-provider-client-S2gCrM2Z.mjs} +2 -2
  40. package/dist/{openai-responses-D99dOzKI.mjs → openai-responses-DaYwH05E.mjs} +7 -7
  41. package/dist/{openai-responses-compaction-window-D5jbzCi3.mjs → openai-responses-compaction-window-CIhBAkkq.mjs} +3 -80
  42. package/dist/{openai-responses-contracts-B55afwRo.d.mts → openai-responses-contracts-BjBAqAg_.d.mts} +5 -38
  43. package/dist/{openai-reasoning-effort-BK7FbcLT.mjs → openai-responses-contracts-DDOHA62Y.mjs} +79 -1
  44. package/dist/{openai-responses-prompt-observer-internal-tApyTLVu.mjs → openai-responses-prompt-observer-internal-f8J7wpsk.mjs} +3 -3
  45. package/dist/{openai-responses-shared-ZyQEzS5i.mjs → openai-responses-shared-B8RdBPCv.mjs} +18 -18
  46. package/dist/{openai-transport-params-DNasp2fU.mjs → openai-transport-params-9aPuV5YY.mjs} +11 -10
  47. package/dist/positive-integer-41zhOdcV.mjs +8 -0
  48. package/dist/{provider-error-C6TbKiey.mjs → provider-error-BA-v_tKd.mjs} +47 -5
  49. package/dist/{provider-options-BXr9Ec83.d.mts → provider-options-Ceqv1OKk.d.mts} +2 -2
  50. package/dist/{provider-replay-context-BuSUaAk5.mjs → provider-replay-context-CJ_YvcEW.mjs} +1 -1
  51. package/dist/{provider-transcript-transform-pPmUIwKt.mjs → provider-transcript-transform-V5YzU9zh.mjs} +1 -1
  52. package/dist/provider-transport-turn-state-D5EXOFL2.mjs +42 -0
  53. package/dist/{provider-types-CAV0Og3m.d.mts → provider-types-CVjKjsuq.d.mts} +3 -3
  54. package/dist/provider-types.d.mts +6 -6
  55. package/dist/providers.d.mts +2 -2
  56. package/dist/providers.mjs +10 -10
  57. package/dist/{reasoning-tag-text-partitioner-BQBi4B9d.mjs → reasoning-tag-text-partitioner-BcR5pztD.mjs} +1 -8
  58. package/dist/{session-affinity-CCH7eYdB.mjs → session-affinity-Bcunsn4I.mjs} +5 -2
  59. package/dist/{simple-options-tcKOqnpF.mjs → simple-options-BQbb4yQL.mjs} +23 -4
  60. package/dist/src-DDmEryvj.mjs +2 -0
  61. package/dist/{transport-stream-shared-DOxpGJ-H.d.mts → transport-stream-shared-DNvmoWnv.d.mts} +20 -36
  62. package/dist/{transport-stream-shared-Cu3ZPhNW.mjs → transport-stream-shared-zHll9BxO.mjs} +223 -11
  63. package/dist/{transport-utils-CCooe-cr.mjs → transport-utils-zrYjICLZ.mjs} +4 -7
  64. package/dist/transports.d.mts +35 -163
  65. package/dist/transports.mjs +66 -82
  66. package/dist/types-DlfwzH3T.d.mts +1 -0
  67. package/dist/types-LFWwv0cF.mjs +8 -0
  68. package/dist/{types-Dy1q0CSu.d.mts → types-Ntv5z2g2.d.mts} +3 -1
  69. package/dist/types.d.mts +6 -6
  70. package/dist/types.mjs +4 -3
  71. package/dist/{src-B2Q_6G8V.mjs → usage-cost-BNWbbXav.mjs} +0 -1
  72. package/dist/{validation-CaFUZN9B.d.mts → validation-B0t_G2H6.d.mts} +1 -1
  73. package/dist/validation.d.mts +1 -1
  74. package/package.json +1 -1
  75. package/dist/event-stream-I_GlBsuZ.d.mts +0 -1
  76. package/dist/hash-CHgqbJmD.mjs +0 -16
  77. package/dist/json-parse-Dw_hnxsA.mjs +0 -146
  78. package/dist/sanitize-unicode-Bb-v9meu.mjs +0 -83
  79. package/dist/types-BADKjDBI.d.mts +0 -1
  80. package/dist/types-BDdaOVi2.mjs +0 -6
@@ -1,21 +1,21 @@
1
- import "./index-CQ6LTHw8.mjs";
2
- import { D as Model, G as StopReason, K as StreamFn, Q as ThinkingContent, Y as TextContent, a as AssistantMessage, at as Usage, d as Context, j as OpenAICompletionsCompat, lt as ModelDataThinkingFormat, n as Api, nt as ToolCall, o as AssistantMessageEvent, tt as Tool, z as ProviderReplayState } from "./types-Dy1q0CSu.mjs";
3
- import { n as ApiRegistry } from "./api-registry-CB1-1oQ2.mjs";
4
- import { a as BaseOpenAIStreamOptions, c as OpenAIResponsesCompactionRejection, o as CodeModeToolSurfaceObservation, s as OpenAICompletionsOptions } from "./provider-options-BXr9Ec83.mjs";
1
+ import "./index-DdD3qerf.mjs";
2
+ import { $ as ThinkingContent, B as ProviderReplayState, K as StopReason, M as OpenAICompletionsCompat, O as Model, X as TextContent, Y as StreamOptions, a as AssistantMessage, d as Context, l as CacheRetention, n as Api, nt as Tool, ot as Usage, q as StreamFn, rt as ToolCall, ut as ModelDataThinkingFormat } from "./types-Ntv5z2g2.mjs";
3
+ import { n as ApiRegistry } from "./api-registry-ByUwIR0e.mjs";
4
+ import { a as BaseOpenAIStreamOptions, c as OpenAIResponsesCompactionRejection, o as CodeModeToolSurfaceObservation, s as OpenAICompletionsOptions } from "./provider-options-Ceqv1OKk.mjs";
5
5
  import { n as OpenAIToolProjection } from "./openai-tool-projection-793cE3QX.mjs";
6
- import "./types-BADKjDBI.mjs";
7
- import { a as buildAnthropicSystemBlocks, c as logAnthropicContextEdits, d as resolveAnthropicEphemeralCacheControl, f as resolveAnthropicPayloadPolicy, i as applyAnthropicRequestCacheControl, l as resolveAnthropicCacheOptions, n as applyAnthropicEphemeralCacheControlMarkers, o as isAnthropicServerToolClearingEnabled, p as resolveAnthropicServerCompactionPlan, r as applyAnthropicPayloadPolicyToParams, s as isDirectAnthropicModel, t as applyAnthropicContextManagementToRequest, u as resolveAnthropicContextManagementBetaHeader } from "./anthropic-payload-policy-wuRCb6MH.mjs";
8
- import { a as ReplayableResponseCompactionItem, c as OpenAIResponsesCompactionOutput, i as OpenAIResponsesRequestParams, n as OpenAIResponsesOptions, o as ResponsesPromptObservation, r as OpenAIResponsesReasoningReplayMetadata } from "./openai-responses-contracts-B55afwRo.mjs";
6
+ import "./types-DlfwzH3T.mjs";
7
+ import { a as buildAnthropicSystemBlocks, c as logAnthropicContextEdits, d as resolveAnthropicEphemeralCacheControl, f as resolveAnthropicPayloadPolicy, i as applyAnthropicRequestCacheControl, l as resolveAnthropicCacheOptions, n as applyAnthropicEphemeralCacheControlMarkers, o as isAnthropicServerToolClearingEnabled, p as resolveAnthropicServerCompactionPlan, r as applyAnthropicPayloadPolicyToParams, s as isDirectAnthropicModel, t as applyAnthropicContextManagementToRequest, u as resolveAnthropicContextManagementBetaHeader } from "./anthropic-payload-policy-BZ8umAbk.mjs";
8
+ import { i as ReplayableResponseCompactionItem, n as OpenAIResponsesOptions, r as OpenAIResponsesReasoningReplayMetadata, s as OpenAIResponsesCompactionOutput } from "./openai-responses-contracts-BjBAqAg_.mjs";
9
9
  import { i as resolveOpenAIResponsesServerCompactionPlan, n as resolveOpenAIResponsesCompactEndpointPlan, r as resolveOpenAIResponsesPayloadPolicy, t as applyOpenAIResponsesPayloadPolicy } from "./openai-responses-payload-policy-rLRPsSmB.mjs";
10
- 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-CXn3T1we.mjs";
11
- import { C as FirstStreamEventInternalOptions, _ as sanitizeNonEmptyTransportPayloadText, a as copyProviderAcceptanceObserver, b as withProviderAcceptanceObserver, c as failTransportStream, d as mergeTransportHeaders, f as mergeTransportMetadata, g as parseTerminalToolCallArguments, h as notifyProviderStreamOpened, i as coerceTransportToolCallArguments, l as finalizeTerminalToolCallArguments, m as notifyProviderHttpResponse, n as WritableTransportStream, o as createEmptyTransportUsage, p as notifyProviderHttpMetadata, r as assignTransportErrorDetails, s as createWritableTransportEventStream, t as ProviderAcceptance, u as finalizeTransportStream, v as sanitizeTransportPayloadText, x as withProviderResponseHook, y as transportAbortError } from "./transport-stream-shared-DOxpGJ-H.mjs";
10
+ 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-eHgh5UPE.mjs";
11
+ import { S as withProviderResponseHook, _ as parseTerminalToolCallArguments, a as coerceTransportToolCallArguments, b as transportAbortError, c as createWritableTransportEventStream, d as finalizeTransportStream, f as mergeTransportHeaders, g as notifyProviderStreamOpened, h as notifyProviderHttpResponse, i as assignTransportErrorDetails, l as failTransportStream, m as notifyProviderHttpMetadata, n as ProviderAcceptance, o as copyProviderAcceptanceObserver, p as mergeTransportMetadata, r as WritableTransportStream, s as createEmptyTransportUsage, t as IncompleteToolCallError, u as finalizeTerminalToolCallArguments, v as sanitizeNonEmptyTransportPayloadText, x as withProviderAcceptanceObserver, y as sanitizeTransportPayloadText } from "./transport-stream-shared-DNvmoWnv.mjs";
12
12
  import { r as sortPromptCacheToolsByName } from "./prompt-cache-stability-Cwcjv_fx.mjs";
13
13
  import { r as normalizeOpenAIStrictToolParameters } from "./openai-tool-schema-ynZBgqW-.mjs";
14
- import { d as VideoContent, i as ProviderContext, s as ProviderModel } from "./provider-types-CAV0Og3m.mjs";
14
+ import { d as VideoContent, i as ProviderContext, s as ProviderModel } from "./provider-types-CVjKjsuq.mjs";
15
15
  import { a as resolveModelSseDebugMode, i as resolveModelPayloadDebugMode, n as formatModelTransportDebugUrl, r as emitModelTransportDebug, t as formatModelTransportDebugBaseUrl } from "./model-transport-url-DKocrEsb.mjs";
16
16
  import OpenAI from "openai";
17
17
  import { Part } from "@google/genai";
18
- import { ResponseCreateParamsStreaming, ResponseInput, ResponseInputItem as ResponseInputItem$1 } from "openai/resources/responses/responses.js";
18
+ import "openai/resources/responses/responses.js";
19
19
  import { ChatCompletionChunk } from "openai/resources/chat/completions.js";
20
20
  //#region packages/ai/src/transports/anthropic-transport-stream.d.ts
21
21
  /** Resolve the Anthropic Messages endpoint URL for the effective base URL. */
@@ -122,6 +122,7 @@ export type MutableAssistantOutput = Omit<AssistantMessage, "content" | "usage">
122
122
  };
123
123
  export declare function parseOpenAICompletionsUsage(rawUsage: NonNullable<ChatCompletionChunk["usage"]> & {
124
124
  cost?: unknown;
125
+ cache_creation_input_tokens?: number;
125
126
  prompt_cache_hit_tokens?: number;
126
127
  prompt_tokens_details?: {
127
128
  cache_creation_input_tokens?: number;
@@ -190,115 +191,33 @@ export declare function resolveReplayableResponsesMessageId(params: {
190
191
  }): string | undefined;
191
192
  //#endregion
192
193
  //#region packages/ai/src/transports/openai-responses-client.d.ts
193
- declare function createOpenAIResponsesClient(model: Model, context: Context, apiKey: string, optionHeaders?: Record<string, string>, turnHeaders?: Record<string, string>, sessionId?: string, fetchOverride?: typeof globalThis.fetch): OpenAI;
194
194
  export declare function createOpenAIResponsesTransportStreamFn(): StreamFn;
195
195
  export declare function createAzureOpenAIResponsesTransportStreamFn(): StreamFn;
196
- declare function createAzureOpenAIClient(model: Model, context: Context, apiKey: string, optionHeaders?: Record<string, string>, turnHeaders?: Record<string, string>, _sessionId?: string, fetchOverride?: typeof globalThis.fetch): OpenAI;
196
+ //#endregion
197
+ //#region packages/ai/src/transports/openai-responses-compact-request.d.ts
198
+ type OpenAIResponsesCompactEndpointResult = {
199
+ output: OpenAIResponsesCompactionOutput;
200
+ item: {
201
+ type: "compaction";
202
+ id?: string;
203
+ encrypted_content: string;
204
+ };
205
+ historyMode: "compacted-prefix" | "retained-users";
206
+ usage: Record<string, unknown> & {
207
+ input_tokens: number;
208
+ output_tokens: number;
209
+ };
210
+ model: Model;
211
+ replayMetadata: OpenAIResponsesReasoningReplayMetadata;
212
+ };
213
+ /** Run a compact-endpoint request through the session's prepared stream stack. */
214
+ export declare function requestPreparedOpenAIResponsesCompaction(streamFn: StreamFn, model: Model, context: Context, options: OpenAIResponsesOptions): Promise<OpenAIResponsesCompactEndpointResult>;
197
215
  //#endregion
198
216
  //#region packages/ai/src/transports/openai-responses-compaction-replay.d.ts
199
217
  export declare function captureOpenAIResponsesCompaction(output: Pick<AssistantMessage, "providerReplay">, item: ReplayableResponseCompactionItem, boundary: number | "retained-users", model: Model, captureMetadata?: OpenAIResponsesReasoningReplayMetadata, compactedOutput?: OpenAIResponsesCompactionOutput): void;
200
- type OpenAIResponsesReplayMode = "checkpoint" | "full-history";
201
218
  export declare class CompactionReplayRefreshRequiredError extends Error {
202
219
  constructor();
203
220
  }
204
- declare function buildOpenAIResponsesReasoningReplayMetadata(model: Model, options?: Pick<BaseOpenAIStreamOptions, "authProfileId" | "sessionId">): OpenAIResponsesReasoningReplayMetadata;
205
- //#endregion
206
- //#region packages/ai/src/transports/openai-responses-debug.d.ts
207
- declare function summarizeResponsesTools(tools: unknown): string;
208
- declare function stringifyRedactedPayload(value: unknown): string;
209
- declare function stringifyRedactedEvent(value: unknown): string;
210
- type ResponsesFailedNoDetailsObservation = {
211
- event: "openai_responses_response_failed_without_details";
212
- provider: string;
213
- api: Api;
214
- transportModel: string;
215
- providerRuntimeFailureKind: "no_error_details";
216
- responseId: string;
217
- responseStatus: string;
218
- responseModel: string;
219
- responseObject: string;
220
- metadataKeys: string[];
221
- requestIdHashes: string[];
222
- failureFieldsPreview: string;
223
- responsePreview: string;
224
- };
225
- type ResponsesFailedEventSummary = {
226
- message: string;
227
- responseId?: string;
228
- code?: string;
229
- observation?: ResponsesFailedNoDetailsObservation;
230
- };
231
- declare function buildResponsesFailedNoDetailsObservation(event: Record<string, unknown>, model: Model, response?: Record<string, unknown> | undefined): ResponsesFailedNoDetailsObservation;
232
- declare function summarizeResponsesFailedNoDetailsObservation(observation: ResponsesFailedNoDetailsObservation): string;
233
- declare function normalizeResponsesFailedEvent(event: Record<string, unknown>, model: Model): ResponsesFailedEventSummary;
234
- declare function summarizeResponsesPayload(params: unknown): string;
235
- //#endregion
236
- //#region packages/ai/src/transports/openai-responses-params-internal.d.ts
237
- declare function sanitizeOpenAICodexResponsesParams<T extends Record<string, unknown>>(model: Model, params: T): T;
238
- declare function buildOpenAIResponsesParams(model: Model, context: Context, options: OpenAIResponsesOptions | undefined, metadata?: Record<string, string>, replayMode?: OpenAIResponsesReplayMode): OpenAIResponsesRequestParams;
239
- //#endregion
240
- //#region packages/ai/src/transports/openai-responses-prompt-observer-internal.d.ts
241
- type ResponsesPromptRequest = {
242
- instructions?: unknown;
243
- input?: unknown;
244
- };
245
- type ResponsesPromptMetadata = Pick<ResponsesPromptObservation, "egress" | "payloadVariant">;
246
- declare function createResponsesPromptEgressObserver(options: object | undefined, assembledPrompt: string | undefined): ((request: ResponsesPromptRequest, metadata: ResponsesPromptMetadata) => void) | undefined;
247
- //#endregion
248
- //#region packages/ai/src/transports/openai-responses-replay-internal.d.ts
249
- type ResponsesClientLike = ReturnType<typeof createOpenAIResponsesClient>;
250
- declare function isInvalidEncryptedContentError(error: unknown): boolean;
251
- type ResponsesEncryptedContentRequest = {
252
- input?: ResponseInput;
253
- };
254
- type ResponsesEncryptedContentAttemptKind = "initial" | "reasoning-stripped" | "compaction-stripped" | "continuation-rejected";
255
- type ResponsesEncryptedContentAttempt<TRequest extends ResponsesEncryptedContentRequest> = {
256
- kind: ResponsesEncryptedContentAttemptKind;
257
- request: TRequest;
258
- rejectedCompaction?: OpenAIResponsesCompactionRejection;
259
- };
260
- declare function createResponsesStreamWithEncryptedContentRetry(params: {
261
- client: ResponsesClientLike;
262
- request: OpenAIResponsesRequestParams;
263
- requestOptions: {
264
- signal?: AbortSignal;
265
- } | undefined;
266
- model: Model;
267
- observePrompt?: NonNullable<ReturnType<typeof createResponsesPromptEgressObserver>>;
268
- initialAttemptKind?: ResponsesEncryptedContentAttemptKind;
269
- initialRejectedCompaction?: OpenAIResponsesCompactionRejection;
270
- onCompactionRejected?: (checkpoint: OpenAIResponsesCompactionRejection) => void;
271
- canRetryStream?: () => boolean;
272
- wrapStream?: (result: {
273
- stream: AsyncIterable<unknown>;
274
- response: Response;
275
- attempt: ResponsesEncryptedContentAttempt<OpenAIResponsesRequestParams>;
276
- }) => AsyncIterable<unknown>;
277
- buildFullHistoryRequest?: () => OpenAIResponsesRequestParams | Promise<OpenAIResponsesRequestParams>;
278
- }): Promise<{
279
- stream: AsyncIterable<unknown>;
280
- response: Response;
281
- attempt: ResponsesEncryptedContentAttempt<OpenAIResponsesRequestParams>;
282
- }>;
283
- declare function resolveAzureOpenAIApiVersion(env?: NodeJS.ProcessEnv): string;
284
- //#endregion
285
- //#region packages/ai/src/transports/openai-responses-stream-terminal-internal.d.ts
286
- type ResponsesEventSink = {
287
- push(event: AssistantMessageEvent): void;
288
- };
289
- //#endregion
290
- //#region packages/ai/src/transports/openai-responses-stream-types-internal.d.ts
291
- type ResponsesStreamOptions = FirstStreamEventInternalOptions & {
292
- asyncToolExecution?: boolean;
293
- serviceTier?: ResponseCreateParamsStreaming["service_tier"];
294
- resolveServiceTier?: (responseServiceTier: ResponseCreateParamsStreaming["service_tier"] | undefined, requestServiceTier: ResponseCreateParamsStreaming["service_tier"] | undefined) => ResponseCreateParamsStreaming["service_tier"] | undefined;
295
- applyServiceTierPricing?: (usage: Usage, serviceTier: ResponseCreateParamsStreaming["service_tier"] | undefined) => void;
296
- signal?: AbortSignal;
297
- reasoningReplayMetadata?: OpenAIResponsesReasoningReplayMetadata;
298
- };
299
- //#endregion
300
- //#region packages/ai/src/transports/openai-responses-stream-internal.d.ts
301
- declare function processResponsesStream<TApi extends Api>(openaiStream: AsyncIterable<unknown>, output: AssistantMessage, stream: ResponsesEventSink, model: Model<TApi>, options?: ResponsesStreamOptions): Promise<import("openai/resources/responses/responses.js").Response | undefined>;
302
221
  //#endregion
303
222
  //#region packages/ai/src/transports/openai-transport-params.d.ts
304
223
  export declare function readCodeModePayloadToolName(tool: unknown): string | undefined;
@@ -310,7 +229,7 @@ export declare function resolveOpenAIStrictToolFlagWithDiagnostics(projection: O
310
229
  transport: "responses" | "completions";
311
230
  model: OpenAIModeModel;
312
231
  }): boolean | undefined;
313
- export declare function buildOpenAIClientHeaders(model: Model, context: Context, optionHeaders?: Record<string, string>, turnHeaders?: Record<string, string>, sessionId?: string): Record<string, string>;
232
+ export declare function buildOpenAIClientHeaders(model: Model, context: Context, optionHeaders?: Record<string, string>, turnHeaders?: Record<string, string>, sessionId?: string, cacheRetention?: CacheRetention): Record<string, string>;
314
233
  export declare function buildOpenAISdkClientOptions(model: Model): {
315
234
  timeout?: number;
316
235
  maxRetries: 0;
@@ -352,55 +271,6 @@ export declare function getCompat(model: OpenAIModeModel): {
352
271
  configuredSupportsLongCacheRetention?: boolean;
353
272
  };
354
273
  //#endregion
355
- //#region packages/ai/src/transports/openai-responses-compact-request.d.ts
356
- type OpenAIResponsesCompactEndpointResult = {
357
- output: OpenAIResponsesCompactionOutput;
358
- item: {
359
- type: "compaction";
360
- id?: string;
361
- encrypted_content: string;
362
- };
363
- historyMode: "compacted-prefix" | "retained-users";
364
- usage: Record<string, unknown> & {
365
- input_tokens: number;
366
- output_tokens: number;
367
- };
368
- model: Model;
369
- replayMetadata: OpenAIResponsesReasoningReplayMetadata;
370
- };
371
- /** Run a compact-endpoint request through the session's prepared stream stack. */
372
- export declare function requestPreparedOpenAIResponsesCompaction(streamFn: StreamFn, model: Model, context: Context, options: OpenAIResponsesOptions): Promise<OpenAIResponsesCompactEndpointResult>;
373
- //#endregion
374
- //#region packages/ai/src/transports/openai-responses-transport.d.ts
375
- declare const responsesTesting: {
376
- getCompat: typeof getCompat;
377
- assertCodeModeResponsesToolSurface: typeof assertCodeModeResponsesToolSurface;
378
- buildOpenAIResponsesParams: typeof buildOpenAIResponsesParams;
379
- buildOpenAIClientHeaders: typeof buildOpenAIClientHeaders;
380
- buildOpenAISdkClientOptions: typeof buildOpenAISdkClientOptions;
381
- buildOpenAISdkRequestOptions: typeof buildOpenAISdkRequestOptions;
382
- createAzureOpenAIClient: typeof createAzureOpenAIClient;
383
- createOpenAIResponsesClient: typeof createOpenAIResponsesClient;
384
- enforceCodeModeResponsesToolSurface: typeof enforceCodeModeResponsesToolSurface;
385
- sanitizeOpenAICodexResponsesParams: typeof sanitizeOpenAICodexResponsesParams;
386
- processResponsesStream: typeof processResponsesStream;
387
- formatModelTransportDebugBaseUrl: typeof formatModelTransportDebugBaseUrl;
388
- buildResponsesFailedNoDetailsObservation: typeof buildResponsesFailedNoDetailsObservation;
389
- buildOpenAIResponsesReasoningReplayMetadata: typeof buildOpenAIResponsesReasoningReplayMetadata;
390
- isInvalidEncryptedContentError: typeof isInvalidEncryptedContentError;
391
- normalizeResponsesFailedEvent: typeof normalizeResponsesFailedEvent;
392
- createResponsesStreamWithEncryptedContentRetry: typeof createResponsesStreamWithEncryptedContentRetry;
393
- resolveAzureOpenAIApiVersion: typeof resolveAzureOpenAIApiVersion;
394
- summarizeResponsesFailedNoDetailsObservation: typeof summarizeResponsesFailedNoDetailsObservation;
395
- summarizeResponsesPayload: typeof summarizeResponsesPayload;
396
- summarizeResponsesTools: typeof summarizeResponsesTools;
397
- stringifyRedactedEvent: typeof stringifyRedactedEvent;
398
- stringifyRedactedPayload: typeof stringifyRedactedPayload;
399
- };
400
- declare global {
401
- var openclawOpenAIResponsesTransportTestApi: typeof responsesTesting | undefined;
402
- }
403
- //#endregion
404
274
  //#region packages/ai/src/transports/provider-compaction-replay.d.ts
405
275
  type ReplayIdentity = {
406
276
  sessionId?: string;
@@ -462,6 +332,8 @@ export declare function buildTransportAwareSimpleStreamFn(model: Model, ctx?: Pr
462
332
  export declare function sanitizeResponsesImagePayload<T extends Record<string, unknown>>(params: T): T;
463
333
  //#endregion
464
334
  //#region packages/ai/src/transports/simple-completion-transport.d.ts
335
+ /** Standalone completions have no durable session, but may require routing identity. */
336
+ export declare function prepareHeadersForSimpleCompletion(model: Pick<Model, "baseUrl" | "headers">, options?: Pick<StreamOptions, "sessionId" | "headers">): Record<string, string> | undefined;
465
337
  export declare function normalizeCodexResponsesBaseUrlForOpenAISdk(baseUrl?: string): string;
466
338
  export declare function prepareModelForSimpleCompletion<TApi extends Api>(params: {
467
339
  apiRegistry: ApiRegistry;
@@ -542,4 +414,4 @@ export declare function convertGoogleTools(tools: Tool[]): {
542
414
  functionDeclarations: Record<string, unknown>[];
543
415
  }[] | undefined;
544
416
  //#endregion
545
- export { type GoogleStreamChunk, type OpenAICompletionsOptions, type OpenAIResponsesCompactionRejection, ProviderAcceptance, ResolvedOpenAICompletionsCompat, WritableTransportStream, applyAnthropicContextManagementToRequest, applyAnthropicEphemeralCacheControlMarkers, applyAnthropicPayloadPolicyToParams, applyAnthropicRequestCacheControl, applyOpenAIResponsesPayloadPolicy, assignTransportErrorDetails, buildAnthropicSystemBlocks, coerceTransportToolCallArguments, copyProviderAcceptanceObserver, createEmptyTransportUsage, createWritableTransportEventStream, detectOpenAICompletionsCompat, emitModelTransportDebug, failTransportStream, finalizeTerminalToolCallArguments, finalizeTransportStream, formatModelTransportDebugBaseUrl, formatModelTransportDebugUrl, isAnthropicServerToolClearingEnabled, isDirectAnthropicModel, isNativeOpenAIEndpoint, isOpenAICodexResponsesModel, logAnthropicContextEdits, mergeTransportHeaders, mergeTransportMetadata, notifyProviderHttpMetadata, notifyProviderHttpResponse, notifyProviderStreamOpened, parseTerminalToolCallArguments, resolveAnthropicCacheOptions, resolveAnthropicContextManagementBetaHeader, resolveAnthropicEphemeralCacheControl, resolveAnthropicPayloadPolicy, resolveAnthropicServerCompactionPlan, resolveModelPayloadDebugMode, resolveModelSseDebugMode, resolveOpenAICompletionsCompat, resolveOpenAIPromptCacheKeySupport, resolveOpenAIResponsesCompactEndpointPlan, resolveOpenAIResponsesPayloadPolicy, resolveOpenAIResponsesServerCompactionPlan, sanitizeNonEmptyTransportPayloadText, sanitizeTransportPayloadText, sortPromptCacheToolsByName as sortTransportToolsByName, transportAbortError, usesNativeOpenAICodexResponsesBackend, withProviderAcceptanceObserver, withProviderResponseHook };
417
+ export { type GoogleStreamChunk, IncompleteToolCallError, type OpenAICompletionsOptions, type OpenAIResponsesCompactionRejection, ProviderAcceptance, ResolvedOpenAICompletionsCompat, WritableTransportStream, applyAnthropicContextManagementToRequest, applyAnthropicEphemeralCacheControlMarkers, applyAnthropicPayloadPolicyToParams, applyAnthropicRequestCacheControl, applyOpenAIResponsesPayloadPolicy, assignTransportErrorDetails, buildAnthropicSystemBlocks, coerceTransportToolCallArguments, copyProviderAcceptanceObserver, createEmptyTransportUsage, createWritableTransportEventStream, detectOpenAICompletionsCompat, emitModelTransportDebug, failTransportStream, finalizeTerminalToolCallArguments, finalizeTransportStream, formatModelTransportDebugBaseUrl, formatModelTransportDebugUrl, isAnthropicServerToolClearingEnabled, isDirectAnthropicModel, isNativeOpenAIEndpoint, isOpenAICodexResponsesModel, logAnthropicContextEdits, mergeTransportHeaders, mergeTransportMetadata, notifyProviderHttpMetadata, notifyProviderHttpResponse, notifyProviderStreamOpened, parseTerminalToolCallArguments, resolveAnthropicCacheOptions, resolveAnthropicContextManagementBetaHeader, resolveAnthropicEphemeralCacheControl, resolveAnthropicPayloadPolicy, resolveAnthropicServerCompactionPlan, resolveModelPayloadDebugMode, resolveModelSseDebugMode, resolveOpenAICompletionsCompat, resolveOpenAIPromptCacheKeySupport, resolveOpenAIResponsesCompactEndpointPlan, resolveOpenAIResponsesPayloadPolicy, resolveOpenAIResponsesServerCompactionPlan, sanitizeNonEmptyTransportPayloadText, sanitizeTransportPayloadText, sortPromptCacheToolsByName as sortTransportToolsByName, transportAbortError, usesNativeOpenAICodexResponsesBackend, withProviderAcceptanceObserver, withProviderResponseHook };
@@ -1,34 +1,34 @@
1
- import { _ as supportsClaudeAdaptiveThinking, h as resolveClaudeSonnet5ModelIdentity, m as resolveClaudeOpus5ModelIdentity } from "./src-B2Q_6G8V.mjs";
1
+ import { _ as supportsClaudeAdaptiveThinking, h as resolveClaudeSonnet5ModelIdentity, m as resolveClaudeOpus5ModelIdentity } from "./usage-cost-BNWbbXav.mjs";
2
2
  import { n as normalizeLowercaseStringOrEmpty, t as hasNonEmptyString } from "./string-coerce-fsri9iCu.mjs";
3
- import { S as usesClaudeStreamingRefusalContract, _ as prepareClaudeNoPrefillRequestContext, h as defaultsClaudeAdaptiveThinking, m as applyClaudeRequestContract, n as getAiTransportHost, p as ANTHROPIC_CLAUDE_CODE_VERSION, r as resolveAiTransportHeaderSentinels, v as requiresClaudeAdaptiveThinking, x as usesClaudeFable5MessagesContract, y as resolveAnthropicThinkingEffort } from "./host-CWuF-sS3.mjs";
3
+ import { E as resolveAnthropicThinkingEffort, O as usesClaudeFable5MessagesContract, S as defaultsClaudeAdaptiveThinking, T as requiresClaudeAdaptiveThinking, b as ANTHROPIC_CLAUDE_CODE_VERSION, k as usesClaudeStreamingRefusalContract, n as getAiTransportHost, r as resolveAiTransportHeaderSentinels, w as prepareClaudeNoPrefillRequestContext, x as applyClaudeRequestContract } from "./host-B8YfDGd4.mjs";
4
4
  import { o as isRecord } from "./record-coerce-DwRYMj3t.mjs";
5
- import { i as stableStringify } from "./provider-error-C6TbKiey.mjs";
6
- import { a as isNativeOpenAIEndpoint, c as resolveOpenAIPromptCacheKeySupport, i as detectOpenAICompletionsCompat, l as usesNativeOpenAICodexResponsesBackend, o as isOpenAICodexResponsesModel, r as resolveOpenAIPromptCacheParams, s as resolveOpenAICompletionsCompat } from "./openai-prompt-cache-BI0rkM-5.mjs";
7
- import { a as resolveModelSseDebugMode, i as resolveModelPayloadDebugMode, n as formatModelTransportDebugUrl, r as emitModelTransportDebug, t as formatModelTransportDebugBaseUrl, u as toErrorObject } from "./diagnostics-dV98PqIy.mjs";
8
- import "./base64-D-su8YVo.mjs";
9
- import { c as resolveModelHeaderSentinels$1, i as isCodeModeModelVisibleToolName, n as createAbortError$1, o as readResponseTextSnippet, t as MALFORMED_STREAMING_FRAGMENT_ERROR_MESSAGE } from "./transport-utils-CCooe-cr.mjs";
5
+ import { i as stableStringify } from "./provider-error-BA-v_tKd.mjs";
6
+ import { a as isNativeOpenAIEndpoint, c as resolveOpenAIPromptCacheKeySupport, i as detectOpenAICompletionsCompat, l as usesNativeOpenAICodexResponsesBackend, o as isOpenAICodexResponsesModel, r as resolveOpenAIPromptCacheParams, s as resolveOpenAICompletionsCompat } from "./openai-prompt-cache-Bds-n_9Q.mjs";
7
+ import { a as resolveModelSseDebugMode, i as resolveModelPayloadDebugMode, n as formatModelTransportDebugUrl, r as emitModelTransportDebug, t as formatModelTransportDebugBaseUrl, u as toErrorObject } from "./diagnostics-QuErwCIl.mjs";
8
+ import { a as readResponseTextSnippet, i as isCodeModeModelVisibleToolName, n as createAbortError$1, s as resolveModelHeaderSentinels$1, t as MALFORMED_STREAMING_FRAGMENT_ERROR_MESSAGE } from "./transport-utils-zrYjICLZ.mjs";
10
9
  import { parseRetryAfterHeadersSeconds } from "./internal/retry-after.mjs";
11
- import { i as resolveProviderEndpoint, r as resolveOpenAIStrictToolSetting, s as transformTransportMessages, t as buildGuardedModelFetch } from "./host-policy-CAopLRKA.mjs";
12
- import { B as logAnthropicContextEdits, C as applyAnthropicThinkingBindingControls, D as ANTHROPIC_SERVER_SIDE_FALLBACKS, F as applyAnthropicPayloadPolicyToParams, G as resolveAnthropicServerCompactionPlan, H as resolveAnthropicContextManagementBetaHeader, I as applyAnthropicRequestCacheControl, J as usesFoundryBearerAuth, K as isAnthropicOAuthApiKey, L as buildAnthropicSystemBlocks, N as applyAnthropicContextManagementToRequest, O as ANTHROPIC_SERVER_SIDE_FALLBACK_BETA, P as applyAnthropicEphemeralCacheControlMarkers, R as isAnthropicServerToolClearingEnabled, U as resolveAnthropicEphemeralCacheControl, V as resolveAnthropicCacheOptions, W as resolveAnthropicPayloadPolicy, d as convertAnthropicTools, f as buildAnthropicReplayPlan, g as normalizeAnthropicToolCallId, h as suppressAnthropicCompaction, l as buildAnthropicGenerationParams, m as resolveNewestAnthropicCompaction, p as isAnthropicReplayRejection, q as omitFoundryBearerCredentialHeaders, t as consumeAnthropicStream, u as convertAnthropicMessages, z as isDirectAnthropicModel } from "./anthropic-stream-reducer-B_yo_7pf.mjs";
10
+ import { i as resolveProviderEndpoint, r as resolveOpenAIStrictToolSetting, s as transformTransportMessages, t as buildGuardedModelFetch } from "./host-policy-Zcg_cNz8.mjs";
11
+ import { B as logAnthropicContextEdits, C as applyAnthropicThinkingBindingControls, D as ANTHROPIC_SERVER_SIDE_FALLBACKS, F as applyAnthropicPayloadPolicyToParams, G as resolveAnthropicServerCompactionPlan, H as resolveAnthropicContextManagementBetaHeader, I as applyAnthropicRequestCacheControl, J as usesFoundryBearerAuth, K as isAnthropicOAuthApiKey, L as buildAnthropicSystemBlocks, N as applyAnthropicContextManagementToRequest, O as ANTHROPIC_SERVER_SIDE_FALLBACK_BETA, P as applyAnthropicEphemeralCacheControlMarkers, R as isAnthropicServerToolClearingEnabled, U as resolveAnthropicEphemeralCacheControl, V as resolveAnthropicCacheOptions, W as resolveAnthropicPayloadPolicy, d as convertAnthropicTools, f as buildAnthropicReplayPlan, g as normalizeAnthropicToolCallId, h as suppressAnthropicCompaction, l as buildAnthropicGenerationParams, m as resolveNewestAnthropicCompaction, p as isAnthropicReplayRejection, q as omitFoundryBearerCredentialHeaders, t as consumeAnthropicStream, u as convertAnthropicMessages, z as isDirectAnthropicModel } from "./anthropic-stream-reducer-CILWF7JD.mjs";
13
12
  import { t as resolveCacheRetention } from "./cache-retention-0x979a5V.mjs";
14
- import { a as codeModeToolSurfaceObserver, d as stripSystemPromptCacheBoundary, m as sortPromptCacheToolsByName, o as reasoningTagTextPolicy, t as adjustMaxTokensForThinking } from "./simple-options-tcKOqnpF.mjs";
15
- import { C as readOpenAICompletionsContentDeltas, D as throwIfModelStreamAborted, E as resolvePromptCacheKey, O as redactIdentifier, S as parseOpenAICompletionsUsage, T as resolveOpenAIClientBaseUrl, _ as createOpenAIProviderAcceptanceHook, a as enforceCodeModeResponsesToolSurface, b as log, c as readCodeModePayloadToolName, d as resolveOpenAIReasoningEffortMap, f as projectOpenAITools, g as createModelStreamCooperativeScheduler, h as GEMINI_THOUGHT_SIGNATURE_VALIDATOR_SKIP, i as buildOpenAISdkRequestOptions, k as sha256Hex, l as resolveCodeModeResponsesVisibleToolNames, m as reconcileOpenAIResponsesToolChoice, n as buildOpenAIClientHeaders, o as filterCodeModePayloadTools, r as buildOpenAISdkClientOptions, s as getCompat, t as assertCodeModeResponsesToolSurface, u as resolveOpenAIStrictToolFlagWithDiagnostics, v as createOpenAIResponseHook, w as readOpenAICompletionsReasoningBatch, x as measureUtf8AppendBytes, y as isOpenAICompletionsThinkingEnabled } from "./openai-transport-params-DNasp2fU.mjs";
13
+ import { a as codeModeToolSurfaceObserver, m as stripSystemPromptCacheBoundary, o as reasoningTagTextPolicy, t as adjustMaxTokensForThinking, v as sortPromptCacheToolsByName } from "./simple-options-BQbb4yQL.mjs";
14
+ import { C as readOpenAICompletionsContentDeltas, D as throwIfModelStreamAborted, E as resolvePromptCacheKey, O as redactIdentifier, S as parseOpenAICompletionsUsage, T as resolveOpenAIClientBaseUrl, _ as createOpenAIProviderAcceptanceHook, a as enforceCodeModeResponsesToolSurface, b as log, c as readCodeModePayloadToolName, d as resolveOpenAIReasoningEffortMap, f as projectOpenAITools, g as createModelStreamCooperativeScheduler, h as GEMINI_THOUGHT_SIGNATURE_VALIDATOR_SKIP, i as buildOpenAISdkRequestOptions, k as sha256Hex, l as resolveCodeModeResponsesVisibleToolNames, m as reconcileOpenAIResponsesToolChoice, n as buildOpenAIClientHeaders, o as filterCodeModePayloadTools, r as buildOpenAISdkClientOptions, s as getCompat, t as assertCodeModeResponsesToolSurface, u as resolveOpenAIStrictToolFlagWithDiagnostics, v as createOpenAIResponseHook, w as readOpenAICompletionsReasoningBatch, x as measureUtf8AppendBytes, y as isOpenAICompletionsThinkingEnabled } from "./openai-transport-params-9aPuV5YY.mjs";
16
15
  import { n as getEnvApiKey } from "./env-api-keys-bktO00EJ.mjs";
17
- import { S as quoteUnsafeIntegerLiterals, _ as transportAbortError, a as createWritableTransportEventStream, b as parseJsonObjectPreservingUnsafeIntegers, c as finalizeTransportStream, d as notifyProviderHttpMetadata, f as notifyProviderHttpResponse, g as sanitizeTransportPayloadText, h as sanitizeNonEmptyTransportPayloadText, i as createEmptyTransportUsage, l as mergeTransportHeaders, m as parseTerminalToolCallArguments, n as coerceTransportToolCallArguments, o as failTransportStream, p as notifyProviderStreamOpened, r as copyProviderAcceptanceObserver, s as finalizeTerminalToolCallArguments, t as assignTransportErrorDetails, u as mergeTransportMetadata, v as withProviderAcceptanceObserver, x as parseJsonPreservingUnsafeIntegers, y as withProviderResponseHook } from "./transport-stream-shared-Cu3ZPhNW.mjs";
16
+ import { C as quoteUnsafeIntegerLiterals, S as parseJsonPreservingUnsafeIntegers, _ as sanitizeTransportPayloadText, a as createEmptyTransportUsage, b as withProviderResponseHook, c as finalizeTerminalToolCallArguments, d as mergeTransportMetadata, f as notifyProviderHttpMetadata, g as sanitizeNonEmptyTransportPayloadText, h as parseTerminalToolCallArguments, i as copyProviderAcceptanceObserver, l as finalizeTransportStream, m as notifyProviderStreamOpened, n as assignTransportErrorDetails, o as createWritableTransportEventStream, p as notifyProviderHttpResponse, r as coerceTransportToolCallArguments, s as failTransportStream, t as IncompleteToolCallError, u as mergeTransportHeaders, v as transportAbortError, x as parseJsonObjectPreservingUnsafeIntegers, y as withProviderAcceptanceObserver } from "./transport-stream-shared-zHll9BxO.mjs";
18
17
  import { t as createDeferredEventBuffer } from "./deferred-event-buffer-DAvyP7qA.mjs";
19
- import { n as providerReplayContextMatches, t as buildProviderReplayContext } from "./provider-replay-context-BuSUaAk5.mjs";
18
+ import { n as providerReplayContextMatches, t as buildProviderReplayContext } from "./provider-replay-context-CJ_YvcEW.mjs";
20
19
  import { a as tagUnresolvedTextAsCommentary } from "./assistant-text-phase-C20rxWwP.mjs";
21
- import { t as createAssistantOutput } from "./assistant-output-iqnlJCV2.mjs";
22
- import { t as resolveOpencodeSessionHeaders } from "./session-affinity-CCH7eYdB.mjs";
23
- import { c as flattenCompletionMessagesToStringContent, d as canonicalizeMaxTokensParam, f as resolveMaxTokensParam, l as stripCompletionMessagesToRoleContent, n as shouldEmitOpenAICompletionsReasoning, o as isAzureOpenAICompatibleHost, p as createDeepSeekTextFilter, r as buildOpenAICompletionsParams, s as finalizeOpenAICompletionsToolCalls, t as processCompletionsStream, u as applyCompletionsAnthropicCacheControl } from "./openai-completions-stream-BQk3SkLD.mjs";
24
- import { a as googleFlashSupportsMinimalThinking, i as consumeGoogleGenerateContentStream, n as projectGoogleMessages, r as requiresGoogleToolCallId, t as convertGoogleTools } from "./google-messages-CVn9eFpF.mjs";
20
+ import { t as createAssistantOutput } from "./assistant-output-tLt4H-iQ.mjs";
21
+ import { n as resolveOpencodeSessionHeaders } from "./session-affinity-Bcunsn4I.mjs";
22
+ import { c as flattenCompletionMessagesToStringContent, d as canonicalizeMaxTokensParam, f as resolveMaxTokensParam, l as stripCompletionMessagesToRoleContent, n as shouldEmitOpenAICompletionsReasoning, o as isAzureOpenAICompatibleHost, p as createDeepSeekTextFilter, r as buildOpenAICompletionsParams, s as finalizeOpenAICompletionsToolCalls, t as processCompletionsStream, u as applyCompletionsAnthropicCacheControl } from "./openai-completions-stream-Da2vvl-S.mjs";
23
+ import { a as googleFlashSupportsMinimalThinking, i as consumeGoogleGenerateContentStream, n as projectGoogleMessages, r as requiresGoogleToolCallId, t as convertGoogleTools } from "./google-messages-6JkpHrhJ.mjs";
25
24
  import { i as getFirstStreamEventTimeoutMs, r as getFirstStreamEventTimeoutHandler, t as createFirstStreamEventAbortController } from "./stream-first-event-timeout-2hfrquuz.mjs";
26
- import { i as normalizeOpenAIReasoningEffort, l as supportsOpenAITemperature, o as resolveOpenAIReasoningEffortForModel } from "./openai-reasoning-effort-BK7FbcLT.mjs";
27
- import { _ as OpenAIResponsesWebSocketPostDispatchError, a as applyOpenAIResponsesPayloadPolicy, c as resolveOpenAIResponsesServerCompactionPlan, d as OPENAI_CODEX_RESPONSES_DEFAULT_INSTRUCTIONS, f as OPENAI_RESPONSES_APIS, i as sanitizeResponsesImagePayload, l as AZURE_RESPONSES_FIRST_EVENT_TIMEOUT_MS, n as isOpenAIResponsesCompactionOutput, o as resolveOpenAIResponsesCompactEndpointPlan, s as resolveOpenAIResponsesPayloadPolicy, t as createBoundedOpenAIResponsesCompactionFetch, v as OpenAIResponsesWebSocketPreDispatchError, x as parseOpenAIResponsesWebSocketServerError, y as OpenAIResponsesWebSocketSafeRetryError } from "./openai-responses-compaction-window-D5jbzCi3.mjs";
28
- import { $ as resolveReplayableResponsesMessageId, B as resolveAzureOpenAIApiVersion, C as summarizeResponsesFailedNoDetailsObservation, G as recordResponsesInputReplay, H as buildResponsesInputMessage, J as buildOpenAIResponsesReasoningReplayMetadata, K as responsesInputFingerprint, Q as suppressOpenAIResponsesCompaction, R as createResponsesStreamWithEncryptedContentRetry, S as summarizeOpenAITransportError, T as summarizeResponsesTools, U as convertResponsesMessages, V as resolveNextResponsesEncryptedContentAttempt, W as createOpenAIResponsesAssistantOutput, X as isOpenAIResponsesReplayContext, Y as captureOpenAIResponsesCompaction, Z as resolveNewestOpenAIResponsesCompactionReplay, _ as logResponsesFailedNoDetails, b as stringifyRedactedEvent, c as convertProjectedResponsesTools, g as buildResponsesFailedNoDetailsObservation, h as ResponsesStreamFailure, m as observeResponsesStream, n as applyResponsesServiceTierPricing, q as CompactionReplayRefreshRequiredError, u as processResponsesStream, v as normalizeResponsesFailedEvent, w as summarizeResponsesPayload, x as stringifyRedactedPayload, y as safeDebugValue, z as isInvalidEncryptedContentError } from "./openai-responses-shared-ZyQEzS5i.mjs";
25
+ import { C as supportsOpenAITemperature, b as resolveOpenAIReasoningEffortForModel, d as OpenAIResponsesWebSocketSafeRetryError, i as OPENAI_RESPONSES_APIS, l as OpenAIResponsesWebSocketPostDispatchError, p as parseOpenAIResponsesWebSocketServerError, r as OPENAI_CODEX_RESPONSES_DEFAULT_INSTRUCTIONS, t as AZURE_RESPONSES_FIRST_EVENT_TIMEOUT_MS, u as OpenAIResponsesWebSocketPreDispatchError, v as normalizeOpenAIReasoningEffort } from "./openai-responses-contracts-DDOHA62Y.mjs";
26
+ import { r as resolveProviderTransportTurnState, t as filterProviderTurnHeadersForExplicitOpencodeSession } from "./provider-transport-turn-state-D5EXOFL2.mjs";
27
+ import { a as applyOpenAIResponsesPayloadPolicy, c as resolveOpenAIResponsesServerCompactionPlan, i as sanitizeResponsesImagePayload, n as isOpenAIResponsesCompactionOutput, o as resolveOpenAIResponsesCompactEndpointPlan, s as resolveOpenAIResponsesPayloadPolicy, t as createBoundedOpenAIResponsesCompactionFetch } from "./openai-responses-compaction-window-CIhBAkkq.mjs";
28
+ import { B as responsesInputFingerprint, F as resolveNextResponsesEncryptedContentAttempt, G as resolveNewestOpenAIResponsesCompactionReplay, H as buildOpenAIResponsesReasoningReplayMetadata, I as buildResponsesInputMessage, K as suppressOpenAIResponsesCompaction, L as convertResponsesMessages, M as createResponsesStreamWithEncryptedContentRetry, N as isInvalidEncryptedContentError, P as resolveAzureOpenAIApiVersion, R as createOpenAIResponsesAssistantOutput, U as captureOpenAIResponsesCompaction, V as CompactionReplayRefreshRequiredError, W as isOpenAIResponsesReplayContext, _ as safeDebugValue, c as convertProjectedResponsesTools, g as logResponsesFailedNoDetails, h as ResponsesStreamFailure, m as observeResponsesStream, n as applyResponsesServiceTierPricing, q as resolveReplayableResponsesMessageId, u as processResponsesStream, v as summarizeOpenAITransportError, y as summarizeResponsesPayload, z as recordResponsesInputReplay } from "./openai-responses-shared-B8RdBPCv.mjs";
29
29
  import { i as resolveAzureDeploymentNameFromMap, t as isOpenAICompatibleAzureResponsesBaseUrl } from "./azure-openai-responses-client-compat-C7K7QfUE.mjs";
30
30
  import { n as registerSessionResourceCleanup } from "./session-resources-CkR4WWy1.mjs";
31
- import { t as createResponsesPromptEgressObserver } from "./openai-responses-prompt-observer-internal-tApyTLVu.mjs";
31
+ import { t as createResponsesPromptEgressObserver } from "./openai-responses-prompt-observer-internal-f8J7wpsk.mjs";
32
32
  import { randomUUID } from "node:crypto";
33
33
  import OpenAI, { AzureOpenAI } from "openai";
34
34
  import { ResponsesWS } from "openai/resources/responses/ws.js";
@@ -117,7 +117,6 @@ function readAnthropicSseChunk(reader, signal) {
117
117
  if (settled) return;
118
118
  settled = true;
119
119
  signal.removeEventListener("abort", onAbort);
120
- reader.cancel(signal.reason).catch(() => void 0);
121
120
  reject(createAbortError(signal));
122
121
  };
123
122
  if (signal.aborted) {
@@ -182,7 +181,11 @@ async function* parseAnthropicSseBody(body, signal) {
182
181
  if (data && data !== "[DONE]") yield parseAnthropicSseEventData(data);
183
182
  }
184
183
  } finally {
185
- if (!completed) await reader.cancel(signal?.reason).catch(() => void 0);
184
+ if (!completed) {
185
+ const cancellation = reader.cancel(signal?.reason).catch(() => void 0);
186
+ if (signal?.aborted) getAiTransportHost().observePendingProviderWork?.(cancellation);
187
+ else await cancellation;
188
+ }
186
189
  reader.releaseLock();
187
190
  }
188
191
  }
@@ -318,11 +321,13 @@ async function buildAnthropicParams(model, context, isOAuthToken, options) {
318
321
  authProfileId: options?.authProfileId,
319
322
  sessionId: options?.sessionId
320
323
  });
324
+ const cacheBreakpointOptOutMessageIndexes = /* @__PURE__ */ new Set();
321
325
  const messages = await convertAnthropicMessages(transformTransportMessages(replayPlan.messages, model, normalizeAnthropicToolCallId), model, isOAuthToken, {
322
326
  profile: "transport",
323
327
  allowReasoningContentReplay: supportsReasoningContentReplay(model),
324
328
  compaction: replayPlan.compaction,
325
- replayThinkingEnabled
329
+ replayThinkingEnabled,
330
+ cacheBreakpointOptOutMessageIndexes
326
331
  });
327
332
  const params = {
328
333
  model: resolveAnthropicRequestModelId(model),
@@ -342,7 +347,7 @@ async function buildAnthropicParams(model, context, isOAuthToken, options) {
342
347
  toolProjection,
343
348
  profile: "transport"
344
349
  }));
345
- applyAnthropicRequestCacheControl(params, cacheControl, supportsCacheControlOnTools);
350
+ applyAnthropicRequestCacheControl(params, cacheControl, supportsCacheControlOnTools, cacheBreakpointOptOutMessageIndexes);
346
351
  return {
347
352
  params,
348
353
  toolProjection,
@@ -433,7 +438,7 @@ function createAnthropicMessagesTransportStreamFn() {
433
438
  if (nextParams !== void 0) params = nextParams;
434
439
  applyClaudeRequestContract(params, model);
435
440
  const betaHeader = resolveAnthropicContextManagementBetaHeader(params, directApiKeyBetaHeader);
436
- const bindingHeaders = applyAnthropicThinkingBindingControls(params, betaHeader) ?? (betaHeader !== void 0 ? { "anthropic-beta": betaHeader } : void 0);
441
+ const bindingHeaders = applyAnthropicThinkingBindingControls(params, betaHeader) ?? (betaHeader ? { "anthropic-beta": betaHeader } : void 0);
437
442
  const { response, stream: anthropicStream } = await client.messages.stream({
438
443
  ...params,
439
444
  stream: true
@@ -632,6 +637,14 @@ function createOpenAICompletionsTransportStreamFn() {
632
637
  let firstEventAbort;
633
638
  try {
634
639
  const apiKey = options?.apiKey || getEnvApiKey(model.provider) || "";
640
+ const turnState = resolveProviderTransportTurnState(model, {
641
+ sessionId: options?.sessionId,
642
+ turnId: randomUUID(),
643
+ attempt: 1,
644
+ transport: "stream"
645
+ });
646
+ const optionHeaders = resolveOpencodeSessionHeaders(model, options);
647
+ const turnHeaders = filterProviderTurnHeadersForExplicitOpencodeSession(model, options, turnState?.headers);
635
648
  const doneDetector = createSseDoneDetector();
636
649
  const baseFetch = buildGuardedModelFetch(model);
637
650
  const doneDetectingFetch = async (url, init) => {
@@ -653,7 +666,10 @@ function createOpenAICompletionsTransportStreamFn() {
653
666
  statusText: response.statusText
654
667
  });
655
668
  };
656
- const client = createOpenAICompletionsClient(model, context, apiKey, resolveOpencodeSessionHeaders(model, options), { fetch: doneDetectingFetch });
669
+ const client = createOpenAICompletionsClient(model, context, apiKey, {
670
+ ...turnHeaders,
671
+ ...optionHeaders
672
+ }, { fetch: doneDetectingFetch });
657
673
  let params = buildOpenAICompletionsParams(model, context, options);
658
674
  const nextParams = await options?.onPayload?.(params, model);
659
675
  if (nextParams !== void 0) params = nextParams;
@@ -1699,30 +1715,12 @@ function combineWebSocketTimeoutSignal(signal, model, timeoutMs) {
1699
1715
  if (resolvedTimeoutMs === void 0 || !Number.isFinite(resolvedTimeoutMs)) return signal;
1700
1716
  return AbortSignal.any([signal, AbortSignal.timeout(Math.max(1, resolvedTimeoutMs))]);
1701
1717
  }
1702
- function resolveProviderTransportTurnState(model, params) {
1703
- const normalizedProvider = model.provider.trim().toLowerCase();
1704
- const allowRuntimePluginLoad = normalizedProvider === "openai" || normalizedProvider === "azure-openai" || normalizedProvider === "azure-openai-responses";
1705
- return getAiTransportHost().plugin.resolveTransportTurnState({
1706
- provider: model.provider,
1707
- modelId: model.id,
1708
- allowRuntimePluginLoad,
1709
- context: {
1710
- provider: model.provider,
1711
- modelId: model.id,
1712
- model,
1713
- sessionId: params.sessionId,
1714
- turnId: params.turnId,
1715
- attempt: params.attempt,
1716
- transport: params.transport
1717
- }
1718
- });
1719
- }
1720
- function createOpenAIResponsesClient(model, context, apiKey, optionHeaders, turnHeaders, sessionId, fetchOverride) {
1718
+ function createOpenAIResponsesClient(model, apiKey, defaultHeaders, fetchOverride) {
1721
1719
  return new OpenAI({
1722
1720
  apiKey,
1723
1721
  baseURL: resolveOpenAIClientBaseUrl(model),
1724
1722
  dangerouslyAllowBrowser: true,
1725
- defaultHeaders: buildOpenAIClientHeaders(model, context, optionHeaders, turnHeaders, sessionId),
1723
+ defaultHeaders,
1726
1724
  fetch: fetchOverride ?? buildGuardedModelFetch(model),
1727
1725
  ...buildOpenAISdkClientOptions(model)
1728
1726
  });
@@ -1746,8 +1744,11 @@ function createResponsesTransportExecutor(config) {
1746
1744
  transport: websocketMode ? "websocket" : "stream"
1747
1745
  });
1748
1746
  const websocketSessionPolicy = websocketMode ? turnState?.websocket : void 0;
1749
- const websocketHeaders = websocketMode ? buildOpenAIClientHeaders(model, context, options?.headers, websocketSessionPolicy?.headers, options?.sessionId) : void 0;
1750
- const client = config.createClient(model, context, apiKey, options?.headers, turnState?.headers, options?.sessionId, compactRequest ? createBoundedOpenAIResponsesCompactionFetch(buildGuardedModelFetch(model)) : void 0);
1747
+ const httpTurnHeaders = filterProviderTurnHeadersForExplicitOpencodeSession(model, options, turnState?.headers);
1748
+ const websocketTurnHeaders = filterProviderTurnHeadersForExplicitOpencodeSession(model, options, websocketSessionPolicy?.headers);
1749
+ const websocketHeaders = websocketMode ? buildOpenAIClientHeaders(model, context, options?.headers, websocketTurnHeaders, options?.sessionId, options?.cacheRetention) : void 0;
1750
+ const httpHeaders = buildOpenAIClientHeaders(model, context, options?.headers, httpTurnHeaders, options?.sessionId, options?.cacheRetention);
1751
+ const client = config.createClient(model, apiKey, httpHeaders, compactRequest ? createBoundedOpenAIResponsesCompactionFetch(buildGuardedModelFetch(model)) : void 0);
1751
1752
  const nativeAstra = model.id === "gpt-6-astra" && supportsNativeOpenAIResponsesEndpoint(model);
1752
1753
  const asyncToolExecutionEligible = nativeAstra && options?.asyncToolExecution === true && !responsesOptions?.openclawCodeModeToolSurface;
1753
1754
  const prepareRequest = async (request) => {
@@ -1800,7 +1801,7 @@ function createResponsesTransportExecutor(config) {
1800
1801
  sessionId,
1801
1802
  apiKey,
1802
1803
  baseUrl: model.baseUrl,
1803
- headers: buildOpenAIClientHeaders(model, context, options?.headers, turnState?.headers, sessionId),
1804
+ headers: httpHeaders,
1804
1805
  request: params,
1805
1806
  restoreRequest: () => restoreResponsesReasoningState(context, model, responsesOptions, params)
1806
1807
  });
@@ -2015,12 +2016,12 @@ function resolveAzureDeploymentName(model) {
2015
2016
  deploymentMap: process.env.AZURE_OPENAI_DEPLOYMENT_NAME_MAP
2016
2017
  });
2017
2018
  }
2018
- function createAzureOpenAIClient(model, context, apiKey, optionHeaders, turnHeaders, _sessionId, fetchOverride) {
2019
+ function createAzureOpenAIClient(model, apiKey, defaultHeaders, fetchOverride) {
2019
2020
  const baseURL = model.baseUrl.replace(/\/+$/, "");
2020
2021
  const clientOptions = {
2021
2022
  apiKey,
2022
2023
  dangerouslyAllowBrowser: true,
2023
- defaultHeaders: buildOpenAIClientHeaders(model, context, optionHeaders, turnHeaders),
2024
+ defaultHeaders,
2024
2025
  baseURL,
2025
2026
  fetch: fetchOverride ?? buildGuardedModelFetch(model),
2026
2027
  ...buildOpenAISdkClientOptions(model)
@@ -2038,35 +2039,6 @@ function buildAzureOpenAIResponsesParams(model, context, options, deploymentName
2038
2039
  return params;
2039
2040
  }
2040
2041
  //#endregion
2041
- //#region packages/ai/src/transports/openai-responses-transport.ts
2042
- /** OpenAI Responses transport facade. */
2043
- const responsesTesting = {
2044
- getCompat,
2045
- assertCodeModeResponsesToolSurface,
2046
- buildOpenAIResponsesParams,
2047
- buildOpenAIClientHeaders,
2048
- buildOpenAISdkClientOptions,
2049
- buildOpenAISdkRequestOptions,
2050
- createAzureOpenAIClient,
2051
- createOpenAIResponsesClient,
2052
- enforceCodeModeResponsesToolSurface,
2053
- sanitizeOpenAICodexResponsesParams,
2054
- processResponsesStream,
2055
- formatModelTransportDebugBaseUrl,
2056
- buildResponsesFailedNoDetailsObservation,
2057
- buildOpenAIResponsesReasoningReplayMetadata,
2058
- isInvalidEncryptedContentError,
2059
- normalizeResponsesFailedEvent,
2060
- createResponsesStreamWithEncryptedContentRetry,
2061
- resolveAzureOpenAIApiVersion,
2062
- summarizeResponsesFailedNoDetailsObservation,
2063
- summarizeResponsesPayload,
2064
- summarizeResponsesTools,
2065
- stringifyRedactedEvent,
2066
- stringifyRedactedPayload
2067
- };
2068
- if (process.env.VITEST || false) globalThis.openclawOpenAIResponsesTransportTestApi = responsesTesting;
2069
- //#endregion
2070
2042
  //#region packages/ai/src/transports/provider-compaction-replay.ts
2071
2043
  function isAssistantReplayMessage(message) {
2072
2044
  return message.role === "assistant";
@@ -2322,6 +2294,18 @@ function buildTransportAwareSimpleStreamFn(model, ctx) {
2322
2294
  }
2323
2295
  //#endregion
2324
2296
  //#region packages/ai/src/transports/simple-completion-transport.ts
2297
+ /**
2298
+ * Simple completion transport preparation.
2299
+ *
2300
+ * Registers provider-specific stream functions and rewrites models that need OpenClaw-managed transport semantics.
2301
+ */
2302
+ /** Standalone completions have no durable session, but may require routing identity. */
2303
+ function prepareHeadersForSimpleCompletion(model, options) {
2304
+ return resolveOpencodeSessionHeaders(model, {
2305
+ ...options,
2306
+ sessionId: options?.sessionId || randomUUID()
2307
+ });
2308
+ }
2325
2309
  const PROVIDER_SIMPLE_COMPLETION_API_PREFIX = "openclaw-provider-simple:";
2326
2310
  const PROVIDER_STREAM_API_PREFIX = "openclaw-provider-stream:";
2327
2311
  const INVALID_CODEX_BASE_URL_MESSAGE = "OpenAI Codex Responses baseUrl must not include query parameters or fragments";
@@ -2475,4 +2459,4 @@ function prepareModelForSimpleCompletion(params) {
2475
2459
  return applyProviderSimpleCompletionWrapper(apiRegistry, model, cfg);
2476
2460
  }
2477
2461
  //#endregion
2478
- export { CompactionReplayRefreshRequiredError, GEMINI_THOUGHT_SIGNATURE_VALIDATOR_SKIP, MALFORMED_STREAMING_FRAGMENT_ERROR_MESSAGE, applyAnthropicContextManagementToRequest, applyAnthropicEphemeralCacheControlMarkers, applyAnthropicPayloadPolicyToParams, applyAnthropicRequestCacheControl, applyCompletionsAnthropicCacheControl, applyOpenAIResponsesPayloadPolicy, assertCodeModeResponsesToolSurface, assignTransportErrorDetails, buildAnthropicSystemBlocks, buildOpenAIClientHeaders, buildOpenAICompletionsParams, buildOpenAISdkClientOptions, buildOpenAISdkRequestOptions, buildTransportAwareSimpleStreamFn, canonicalizeMaxTokensParam, captureOpenAIResponsesCompaction, coerceTransportToolCallArguments, consumeGoogleGenerateContentStream, convertGoogleTools, copyProviderAcceptanceObserver, createAnthropicMessagesTransportStreamFn, createAzureOpenAIResponsesTransportStreamFn, createBoundaryAwareStreamFnForModel, createDeepSeekTextFilter, createEmptyTransportUsage, createModelStreamCooperativeScheduler, createOpenAICompletionsTransportStreamFn, createOpenAIProviderAcceptanceHook, createOpenAIResponseHook, createOpenAIResponsesTransportStreamFn, createOpenClawTransportStreamFnForModel, createTransportAwareStreamFnForModel, createWritableTransportEventStream, detectOpenAICompletionsCompat, emitModelTransportDebug, enforceCodeModeResponsesToolSurface, failTransportStream, filterCodeModePayloadTools, finalizeTerminalToolCallArguments, finalizeTransportStream, flattenCompletionMessagesToStringContent, formatModelTransportDebugBaseUrl, formatModelTransportDebugUrl, getCompat, googleFlashSupportsMinimalThinking, hasOpenAICompatibleConversationTurn, isAnthropicServerToolClearingEnabled, isCodeModeModelVisibleToolName, isCompactionReplayCheckpoint, isDirectAnthropicModel, isNativeOpenAIEndpoint, isOpenAICodexResponsesModel, isOpenAICompletionsThinkingEnabled, log, logAnthropicContextEdits, measureUtf8AppendBytes, mergeTransportHeaders, mergeTransportMetadata, normalizeCodexResponsesBaseUrlForOpenAISdk, notifyProviderHttpMetadata, notifyProviderHttpResponse, notifyProviderStreamOpened, parseJsonObjectPreservingUnsafeIntegers, parseJsonPreservingUnsafeIntegers, parseOpenAICompletionsUsage, parseTerminalToolCallArguments, prepareModelForSimpleCompletion, prepareTransportAwareSimpleModel, preserveCompactionReplayWindow, projectGoogleMessages, quoteUnsafeIntegerLiterals, readCodeModePayloadToolName, readOpenAICompletionsContentDeltas, readOpenAICompletionsReasoningBatch, replaceCompactionReplayOwnerContent, requestPreparedOpenAIResponsesCompaction, requiresCompactionReplayRefresh, requiresGoogleToolCallId, resolveAnthropicCacheOptions, resolveAnthropicContextManagementBetaHeader, resolveAnthropicEphemeralCacheControl, resolveAnthropicMessagesUrl, resolveAnthropicPayloadPolicy, resolveAnthropicServerCompactionPlan, resolveCodeModeResponsesVisibleToolNames, resolveCompactionReplayEligibility, resolveCompactionReplayPressure, resolveMaxTokensParam, resolveModelPayloadDebugMode, resolveModelSseDebugMode, resolveOpenAIClientBaseUrl, resolveOpenAICompletionsCompat, resolveOpenAIPromptCacheKeySupport, resolveOpenAIReasoningEffortMap, resolveOpenAIResponsesCompactEndpointPlan, resolveOpenAIResponsesPayloadPolicy, resolveOpenAIResponsesServerCompactionPlan, resolveOpenAIStrictToolFlagWithDiagnostics, resolvePromptCacheKey, resolveReplayableResponsesMessageId, resolveTransportAwareSimpleApi, sanitizeNonEmptyTransportPayloadText, sanitizeResponsesImagePayload, sanitizeTransportPayloadText, sortPromptCacheToolsByName as sortTransportToolsByName, stripCompactionReplayCheckpoint, stripCompactionReplayCheckpointInPlace, stripCompletionMessagesToRoleContent, throwIfModelStreamAborted, transportAbortError, usesNativeOpenAICodexResponsesBackend, withProviderAcceptanceObserver, withProviderResponseHook };
2462
+ export { CompactionReplayRefreshRequiredError, GEMINI_THOUGHT_SIGNATURE_VALIDATOR_SKIP, IncompleteToolCallError, MALFORMED_STREAMING_FRAGMENT_ERROR_MESSAGE, applyAnthropicContextManagementToRequest, applyAnthropicEphemeralCacheControlMarkers, applyAnthropicPayloadPolicyToParams, applyAnthropicRequestCacheControl, applyCompletionsAnthropicCacheControl, applyOpenAIResponsesPayloadPolicy, assertCodeModeResponsesToolSurface, assignTransportErrorDetails, buildAnthropicSystemBlocks, buildOpenAIClientHeaders, buildOpenAICompletionsParams, buildOpenAISdkClientOptions, buildOpenAISdkRequestOptions, buildTransportAwareSimpleStreamFn, canonicalizeMaxTokensParam, captureOpenAIResponsesCompaction, coerceTransportToolCallArguments, consumeGoogleGenerateContentStream, convertGoogleTools, copyProviderAcceptanceObserver, createAnthropicMessagesTransportStreamFn, createAzureOpenAIResponsesTransportStreamFn, createBoundaryAwareStreamFnForModel, createDeepSeekTextFilter, createEmptyTransportUsage, createModelStreamCooperativeScheduler, createOpenAICompletionsTransportStreamFn, createOpenAIProviderAcceptanceHook, createOpenAIResponseHook, createOpenAIResponsesTransportStreamFn, createOpenClawTransportStreamFnForModel, createTransportAwareStreamFnForModel, createWritableTransportEventStream, detectOpenAICompletionsCompat, emitModelTransportDebug, enforceCodeModeResponsesToolSurface, failTransportStream, filterCodeModePayloadTools, finalizeTerminalToolCallArguments, finalizeTransportStream, flattenCompletionMessagesToStringContent, formatModelTransportDebugBaseUrl, formatModelTransportDebugUrl, getCompat, googleFlashSupportsMinimalThinking, hasOpenAICompatibleConversationTurn, isAnthropicServerToolClearingEnabled, isCodeModeModelVisibleToolName, isCompactionReplayCheckpoint, isDirectAnthropicModel, isNativeOpenAIEndpoint, isOpenAICodexResponsesModel, isOpenAICompletionsThinkingEnabled, log, logAnthropicContextEdits, measureUtf8AppendBytes, mergeTransportHeaders, mergeTransportMetadata, normalizeCodexResponsesBaseUrlForOpenAISdk, notifyProviderHttpMetadata, notifyProviderHttpResponse, notifyProviderStreamOpened, parseJsonObjectPreservingUnsafeIntegers, parseJsonPreservingUnsafeIntegers, parseOpenAICompletionsUsage, parseTerminalToolCallArguments, prepareHeadersForSimpleCompletion, prepareModelForSimpleCompletion, prepareTransportAwareSimpleModel, preserveCompactionReplayWindow, projectGoogleMessages, quoteUnsafeIntegerLiterals, readCodeModePayloadToolName, readOpenAICompletionsContentDeltas, readOpenAICompletionsReasoningBatch, replaceCompactionReplayOwnerContent, requestPreparedOpenAIResponsesCompaction, requiresCompactionReplayRefresh, requiresGoogleToolCallId, resolveAnthropicCacheOptions, resolveAnthropicContextManagementBetaHeader, resolveAnthropicEphemeralCacheControl, resolveAnthropicMessagesUrl, resolveAnthropicPayloadPolicy, resolveAnthropicServerCompactionPlan, resolveCodeModeResponsesVisibleToolNames, resolveCompactionReplayEligibility, resolveCompactionReplayPressure, resolveMaxTokensParam, resolveModelPayloadDebugMode, resolveModelSseDebugMode, resolveOpenAIClientBaseUrl, resolveOpenAICompletionsCompat, resolveOpenAIPromptCacheKeySupport, resolveOpenAIReasoningEffortMap, resolveOpenAIResponsesCompactEndpointPlan, resolveOpenAIResponsesPayloadPolicy, resolveOpenAIResponsesServerCompactionPlan, resolveOpenAIStrictToolFlagWithDiagnostics, resolvePromptCacheKey, resolveReplayableResponsesMessageId, resolveTransportAwareSimpleApi, sanitizeNonEmptyTransportPayloadText, sanitizeResponsesImagePayload, sanitizeTransportPayloadText, sortPromptCacheToolsByName as sortTransportToolsByName, stripCompactionReplayCheckpoint, stripCompactionReplayCheckpointInPlace, stripCompletionMessagesToRoleContent, throwIfModelStreamAborted, transportAbortError, usesNativeOpenAICodexResponsesBackend, withProviderAcceptanceObserver, withProviderResponseHook };
@@ -0,0 +1 @@
1
+ import "./index-DdD3qerf.mjs";
@@ -0,0 +1,8 @@
1
+ //#region packages/llm-core/src/types.ts
2
+ /** Stable error codes for provider outcomes that cannot be replayed safely. */
3
+ const PROVIDER_POST_DISPATCH_AMBIGUITY_ERROR_CODE = "PROVIDER_POST_DISPATCH_AMBIGUITY";
4
+ const PROVIDER_FAILURE_WITH_OUTPUT_ERROR_CODE = "PROVIDER_FAILURE_WITH_OUTPUT";
5
+ /** Pre-dispatch argument rejection; callers still enforce output and effect guards. */
6
+ const MALFORMED_TOOL_CALL_ARGUMENTS_ERROR_CODE = "malformed_tool_call_arguments";
7
+ //#endregion
8
+ export { PROVIDER_FAILURE_WITH_OUTPUT_ERROR_CODE as n, PROVIDER_POST_DISPATCH_AMBIGUITY_ERROR_CODE as r, MALFORMED_TOOL_CALL_ARGUMENTS_ERROR_CODE as t };
@@ -350,6 +350,8 @@ type StopReason = "stop" | "length" | "toolUse" | "error" | "aborted";
350
350
  /** Stable error codes for provider outcomes that cannot be replayed safely. */
351
351
  declare const PROVIDER_POST_DISPATCH_AMBIGUITY_ERROR_CODE = "PROVIDER_POST_DISPATCH_AMBIGUITY";
352
352
  declare const PROVIDER_FAILURE_WITH_OUTPUT_ERROR_CODE = "PROVIDER_FAILURE_WITH_OUTPUT";
353
+ /** Pre-dispatch argument rejection; callers still enforce output and effect guards. */
354
+ declare const MALFORMED_TOOL_CALL_ARGUMENTS_ERROR_CODE = "malformed_tool_call_arguments";
353
355
  /** User turn in a text-model conversation. */
354
356
  interface UserMessage {
355
357
  role: "user";
@@ -708,4 +710,4 @@ type StreamFn = (model: Model, context: Context, options?: SimpleStreamOptions)
708
710
  type CompleteSimpleFn = (model: Model, context: Pick<Context, "systemPrompt" | "messages">, options?: SimpleStreamOptions) => Promise<AssistantMessage>;
709
711
  type ValidateToolArgumentsFn = (tool: Tool, toolCall: ToolCall) => unknown;
710
712
  //#endregion
711
- export { ThinkingLevel as $, ModelThinkingLevel as A, ProviderResponse as B, KnownImagesApi as C, Model as D, Message as E, PROVIDER_POST_DISPATCH_AMBIGUITY_ERROR_CODE as F, StopReason as G, RawModelCostConfig as H, PricingTier as I, StreamOptions as J, StreamFn as K, Provider as L, OpenAIResponsesCompat as M, OpenRouterRouting as N, ModelCostConfig as O, PROVIDER_FAILURE_WITH_OUTPUT_ERROR_CODE as P, ThinkingContent as Q, ProviderImagesOptions as R, KnownApi as S, MaybePromise as T, RawPricingTier as U, ProviderStreamOptions as V, SimpleStreamOptions as W, TextSignatureV1 as X, TextContent as Y, ThinkingBudgets as Z, ImagesModel as _, AssistantMessage as a, Usage as at, ImagesProvider as b, AssistantMessageEventStreamLike as c, VercelGatewayRouting as ct, Context as d, ThinkingLevelMap as et, ImageContent as f, ImagesInputContent as g, ImagesFunction as h, AssistantImages as i, Transport as it, OpenAICompletionsCompat as j, ModelCostRates as k, CacheRetention as l, ModelDataThinkingFormat as lt, ImagesContext as m, Api as n, ToolCall as nt, AssistantMessageEvent as o, UserMessage as ot, ImagesApi as p, StreamFunction as q, AssistantDeliveryTtsFacts as r, ToolResultMessage as rt, AssistantMessageEventStreamContract as s, ValidateToolArgumentsFn as st, AnthropicMessagesCompat as t, Tool as tt, CompleteSimpleFn as u, ImagesOptions as v, KnownImagesProvider as w, ImagesStopReason as x, ImagesOutputContent as y, ProviderReplayState as z };
713
+ export { ThinkingContent as $, ModelCostRates as A, ProviderReplayState as B, KnownImagesApi as C, Message as D, MaybePromise as E, PROVIDER_FAILURE_WITH_OUTPUT_ERROR_CODE as F, SimpleStreamOptions as G, ProviderStreamOptions as H, PROVIDER_POST_DISPATCH_AMBIGUITY_ERROR_CODE as I, StreamFunction as J, StopReason as K, PricingTier as L, OpenAICompletionsCompat as M, OpenAIResponsesCompat as N, Model as O, OpenRouterRouting as P, ThinkingBudgets as Q, Provider as R, KnownApi as S, MALFORMED_TOOL_CALL_ARGUMENTS_ERROR_CODE as T, RawModelCostConfig as U, ProviderResponse as V, RawPricingTier as W, TextContent as X, StreamOptions as Y, TextSignatureV1 as Z, ImagesModel as _, AssistantMessage as a, Transport as at, ImagesProvider as b, AssistantMessageEventStreamLike as c, ValidateToolArgumentsFn as ct, Context as d, ThinkingLevel as et, ImageContent as f, ImagesInputContent as g, ImagesFunction as h, AssistantImages as i, ToolResultMessage as it, ModelThinkingLevel as j, ModelCostConfig as k, CacheRetention as l, VercelGatewayRouting as lt, ImagesContext as m, Api as n, Tool as nt, AssistantMessageEvent as o, Usage as ot, ImagesApi as p, StreamFn as q, AssistantDeliveryTtsFacts as r, ToolCall as rt, AssistantMessageEventStreamContract as s, UserMessage as st, AnthropicMessagesCompat as t, ThinkingLevelMap as tt, CompleteSimpleFn as u, ModelDataThinkingFormat as ut, ImagesOptions as v, KnownImagesProvider as w, ImagesStopReason as x, ImagesOutputContent as y, ProviderImagesOptions as z };