@openclaw/ai 2026.8.1-beta.1 → 2026.8.1-beta.3

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 (88) hide show
  1. package/dist/{anthropic-CE-7SkF6.mjs → anthropic-B8KwTtlb.mjs} +62 -37
  2. package/dist/{anthropic-SrGtwsJu.d.mts → anthropic-BECQCNdF.d.mts} +0 -2
  3. package/dist/{src-QkygScBs.mjs → anthropic-BQXQudmA.mjs} +0 -2
  4. package/dist/{anthropic-usage-Ma4iX6uG.mjs → anthropic-compaction-replay-4Zx7-aCr.mjs} +225 -103
  5. package/dist/anthropic-payload-policy-CSx7MoKH.d.mts +50 -0
  6. package/dist/{api-registry-EpJoVwM1.d.mts → api-registry-DFxSnFqG.d.mts} +1 -1
  7. package/dist/{azure-openai-responses-Cc_kasye.mjs → azure-openai-responses-Aa4mVcYG.mjs} +23 -29
  8. package/dist/diagnostics.d.mts +24 -1
  9. package/dist/diagnostics.mjs +2 -1
  10. package/dist/event-stream-BVVgDSdq.d.mts +1 -0
  11. package/dist/{event-stream-DRmDMRHH.d.mts → event-stream-D91-ohD_.d.mts} +3 -1
  12. package/dist/{event-stream-CEV9t6da.mjs → event-stream-uSMZJ3FA.mjs} +16 -3
  13. package/dist/event-stream.d.mts +1 -1
  14. package/dist/event-stream.mjs +1 -1
  15. package/dist/{google-shared-Cq2UKx1l.mjs → google-shared-M1dl64nz.mjs} +17 -19
  16. package/dist/google-thinking-level-C-V3tecN.mjs +9 -0
  17. package/dist/{google-vertex-CusxWzvE.mjs → google-vertex-DCJHM_a5.mjs} +5 -4
  18. package/dist/{google-CGQu21aw.mjs → google-yDRnipeq.mjs} +4 -4
  19. package/dist/host-DF_yxOsA.mjs +477 -0
  20. package/dist/{host-Dn4_SZI2.d.mts → host-DJq_FGcz.d.mts} +13 -8
  21. package/dist/index.d.mts +7 -7
  22. package/dist/index.mjs +7 -5
  23. package/dist/internal/anthropic.d.mts +21 -7
  24. package/dist/internal/anthropic.mjs +5 -5
  25. package/dist/internal/openai-responses-payload-policy.d.mts +3 -0
  26. package/dist/internal/openai-responses-payload-policy.mjs +3 -0
  27. package/dist/internal/openai.d.mts +6 -6
  28. package/dist/internal/openai.mjs +9 -7
  29. package/dist/internal/runtime.d.mts +19 -5
  30. package/dist/internal/runtime.mjs +85 -72
  31. package/dist/internal/shared.d.mts +17 -8
  32. package/dist/internal/shared.mjs +4 -5
  33. package/dist/{json-parse-BvXNt1-7.mjs → json-parse-CDnesDM_.mjs} +4 -6
  34. package/dist/{mistral-Dx6VzNjf.mjs → mistral-D6hRXI7A.mjs} +67 -72
  35. package/dist/{number-coercion-1Miyb5MO.mjs → number-coercion-H9qHik3g.mjs} +7 -2
  36. package/dist/openai-chatgpt-jwt-KWcgd0d_.mjs +19 -0
  37. package/dist/{openai-chatgpt-responses-SC9m0FSf.mjs → openai-chatgpt-responses-C339VIfT.mjs} +235 -146
  38. package/dist/{openai-completions-BaIpl93j.mjs → openai-completions-D88orSJ9.mjs} +88 -67
  39. package/dist/openai-completions-compat-B0KTleXp.d.mts +43 -0
  40. package/dist/{openai-responses-Bdx3V_Yu.mjs → openai-responses-BXEcr-Tp.mjs} +17 -24
  41. package/dist/openai-responses-contracts-CD75pQ0m.d.mts +68 -0
  42. package/dist/openai-responses-contracts-DvILoqBk.mjs +247 -0
  43. package/dist/openai-responses-payload-policy-BDo8CQsx.mjs +208 -0
  44. package/dist/openai-responses-payload-policy-CNGFT9zr.d.mts +41 -0
  45. package/dist/{openai-responses-prompt-observer-internal-DDZPxRfr.mjs → openai-responses-prompt-observer-internal-BG-1AsBI.mjs} +2 -3
  46. package/dist/{openai-responses-stream-internal-Bl8YyVtF.mjs → openai-responses-shared-Cvt5MgEm.mjs} +1287 -1039
  47. package/dist/{openai-reasoning-compat-DKebnIBL.mjs → openai-stop-reason-9OONKyAm.mjs} +222 -180
  48. package/dist/{openai-transport-shared-Cipt7egQ.mjs → openai-tool-projection-CHGLt03m.mjs} +239 -128
  49. package/dist/provider-error-C8mBRJDl.mjs +424 -0
  50. package/dist/provider-error-CzNw4BWX.d.mts +12 -0
  51. package/dist/provider-options-AvldWZt8.mjs +21 -0
  52. package/dist/{provider-options-C5kYML7i.d.mts → provider-options-Cc5ZQ6Aa.d.mts} +19 -3
  53. package/dist/provider-transcript-transform--gtf0ZbR.mjs +32 -0
  54. package/dist/provider-types.d.mts +31 -0
  55. package/dist/provider-types.mjs +8 -0
  56. package/dist/providers.d.mts +1 -1
  57. package/dist/providers.mjs +17 -19
  58. package/dist/{reasoning-tag-text-partitioner-CGDyLWUR.mjs → reasoning-tag-text-partitioner-5ygO2rZc.mjs} +17 -8
  59. package/dist/record-coerce-DdXsgUd_.mjs +23 -0
  60. package/dist/{model-utils-Dau5dlgm.mjs → sanitize-unicode-BP7HLLZn.mjs} +28 -2
  61. package/dist/session-resources-CkR4WWy1.mjs +21 -0
  62. package/dist/simple-options-oqsXB6U3.mjs +450 -0
  63. package/dist/src-D2H6yKkH.mjs +2 -0
  64. package/dist/{stream-first-event-timeout-BIBomOGq.mjs → stream-first-event-timeout-MK28puvq.mjs} +2 -2
  65. package/dist/string-coerce-fsri9iCu.mjs +34 -0
  66. package/dist/{tool-schema-json-projection-B1b-XCn5.mjs → tool-schema-json-projection-FEr-jOoZ.mjs} +20 -13
  67. package/dist/transport-utils-Bv0FHkd0.mjs +138 -0
  68. package/dist/transports.d.mts +199 -209
  69. package/dist/transports.mjs +1842 -1364
  70. package/dist/types-BDdaOVi2.mjs +6 -0
  71. package/dist/{types-CH7ReIcU.d.mts → types-DTAP49HF.d.mts} +35 -2
  72. package/dist/types.d.mts +5 -5
  73. package/dist/types.mjs +6 -4
  74. package/dist/utf16-slice-CvGodqok.mjs +29 -0
  75. package/dist/{validation-DAa_yFOM.mjs → validation-B61OhAio.mjs} +6 -6
  76. package/dist/{validation-CcPcuEbR.d.mts → validation-DYNNrU9u.d.mts} +1 -1
  77. package/dist/validation.d.mts +1 -1
  78. package/dist/validation.mjs +1 -1
  79. package/package.json +15 -1
  80. package/dist/host-Bl7Kgddo.mjs +0 -407
  81. package/dist/openai-chatgpt-jwt-DhAAzLkj.mjs +0 -39
  82. package/dist/openai-responses-contracts-BBKBfAqR.d.mts +0 -116
  83. package/dist/openai-responses-shared-CCyMvg7M.mjs +0 -403
  84. package/dist/provider-error-DI0Ts28U.mjs +0 -47
  85. package/dist/sanitize-unicode-DT5o51ur.mjs +0 -26
  86. package/dist/tool-result-text-Dvkp2Dus.mjs +0 -274
  87. package/dist/transform-messages-DfjpNXNQ.mjs +0 -2
  88. package/dist/transport-stream-shared-CPNv7A3r.mjs +0 -297
@@ -1,47 +1,18 @@
1
- import { E as Model, L as StreamFn, O as OpenAICompletionsCompat, X as Usage, a as AssistantMessageEvent, i as AssistantMessage, n as Api, u as Context } from "./types-CH7ReIcU.mjs";
2
- import { t as AssistantMessageEventStream } from "./event-stream-DRmDMRHH.mjs";
3
- import { n as ApiRegistry } from "./api-registry-EpJoVwM1.mjs";
4
- import { a as OpenAICompletionsOptions, i as BaseOpenAIStreamOptions, s as OpenAIToolProjection } from "./provider-options-C5kYML7i.mjs";
5
- import { a as ReplayableResponseReasoningItem, c as ResolvedOpenAICompletionsCompat, i as OpenAIResponsesRequestParams, l as detectOpenAICompletionsCompat, n as OpenAIResponsesReasoningReplayMetadata, o as ResponsesPromptObservation, r as OpenAIResponsesReplayContext, t as OpenAIResponsesOptions, u as resolveOpenAICompletionsCompat } from "./openai-responses-contracts-BBKBfAqR.mjs";
1
+ import { D as Model, I as ProviderReplayState, L as ProviderResponse, U as StreamOptions, V as StreamFn, W as TextContent, Z as ToolCall, a as AssistantMessage, d as Context, et as Usage, k as OpenAICompletionsCompat, n as Api, o as AssistantMessageEvent, q as ThinkingContent } from "./types-DTAP49HF.mjs";
2
+ import { r as createAssistantMessageEventStream, t as AssistantMessageEventStream } from "./event-stream-D91-ohD_.mjs";
3
+ import { n as ApiRegistry } from "./api-registry-DFxSnFqG.mjs";
4
+ import { a as CodeModeToolSurfaceObservation, i as BaseOpenAIStreamOptions, o as OpenAICompletionsOptions, s as OpenAIResponsesCompactionRejection, u as OpenAIToolProjection } from "./provider-options-Cc5ZQ6Aa.mjs";
5
+ import { a as resolveAnthropicPayloadPolicy, i as resolveAnthropicEphemeralCacheControl, n as applyAnthropicEphemeralCacheControlMarkers, o as resolveAnthropicServerCompactionPlan, r as applyAnthropicPayloadPolicyToParams, t as applyAnthropicCacheControlToMessages } from "./anthropic-payload-policy-CSx7MoKH.mjs";
6
+ import { a as ReplayableResponseCompactionItem, i as OpenAIResponsesRequestParams, n as OpenAIResponsesOptions, o as ResponsesPromptObservation, r as OpenAIResponsesReasoningReplayMetadata } from "./openai-responses-contracts-CD75pQ0m.mjs";
7
+ import { i as resolveOpenAIResponsesServerCompactionPlan, n as resolveOpenAIResponsesCompactEndpointPlan, r as resolveOpenAIResponsesPayloadPolicy, t as applyOpenAIResponsesPayloadPolicy } from "./openai-responses-payload-policy-CNGFT9zr.mjs";
8
+ import { n as detectOpenAICompletionsCompat, r as resolveOpenAICompletionsCompat, t as ResolvedOpenAICompletionsCompat } from "./openai-completions-compat-B0KTleXp.mjs";
6
9
  import { n as FirstStreamEventInternalOptions } from "./stream-first-event-timeout-DvDeSucC.mjs";
7
10
  import { r as sortPromptCacheToolsByName } from "./prompt-cache-stability-Cwcjv_fx.mjs";
11
+ import { t as ProviderErrorProjection } from "./provider-error-CzNw4BWX.mjs";
8
12
  import OpenAI from "openai";
9
13
  import { ResponseCreateParamsStreaming, ResponseInput } from "openai/resources/responses/responses.js";
10
14
  import { ChatCompletionChunk } from "openai/resources/chat/completions.js";
11
15
 
12
- //#region packages/ai/src/transports/anthropic-payload-policy.d.ts
13
- /** @deprecated Anthropic-family provider payload helper; do not use from third-party plugins. */
14
- type AnthropicServiceTier = "auto" | "standard_only";
15
- /** @deprecated Anthropic-family provider payload helper; do not use from third-party plugins. */
16
- type AnthropicEphemeralCacheControl = {
17
- type: "ephemeral";
18
- ttl?: "1h" | "5m";
19
- };
20
- type AnthropicPayloadPolicyInput = {
21
- api?: string;
22
- baseUrl?: string;
23
- cacheRetention?: "short" | "long" | "none";
24
- enableCacheControl?: boolean;
25
- provider?: string;
26
- serviceTier?: AnthropicServiceTier;
27
- };
28
- /** @deprecated Anthropic-family provider payload helper; do not use from third-party plugins. */
29
- type AnthropicPayloadPolicy = {
30
- allowsServiceTier: boolean;
31
- cacheControl: AnthropicEphemeralCacheControl | undefined;
32
- serviceTier: AnthropicServiceTier | undefined;
33
- };
34
- /** Resolve Anthropic cache-control marker retention for a request endpoint. */
35
- declare function resolveAnthropicEphemeralCacheControl(baseUrl: string | undefined, cacheRetention: AnthropicPayloadPolicyInput["cacheRetention"]): AnthropicEphemeralCacheControl | undefined;
36
- /** Apply one shared deepest-stable-message cache breakpoint policy. */
37
- declare function applyAnthropicCacheControlToMessages(messages: unknown, cacheControl: AnthropicEphemeralCacheControl, markerLimit: number, cacheBreakpointOptOutMessageIndexes: ReadonlySet<number>): void;
38
- /** @deprecated Anthropic-family provider payload helper; do not use from third-party plugins. */
39
- declare function resolveAnthropicPayloadPolicy(input: AnthropicPayloadPolicyInput): AnthropicPayloadPolicy;
40
- /** @deprecated Anthropic-family provider payload helper; do not use from third-party plugins. */
41
- declare function applyAnthropicPayloadPolicyToParams(payloadObj: Record<string, unknown>, policy: AnthropicPayloadPolicy, cacheBreakpointOptOutMessageIndexes: ReadonlySet<number>): void;
42
- /** @deprecated Anthropic-family provider payload helper; do not use from third-party plugins. */
43
- declare function applyAnthropicEphemeralCacheControlMarkers(payloadObj: Record<string, unknown>, cacheControl?: AnthropicEphemeralCacheControl | null): void;
44
- //#endregion
45
16
  //#region packages/ai/src/transports/anthropic-transport-stream.d.ts
46
17
  /** Resolve the Anthropic Messages endpoint URL for the effective base URL. */
47
18
  declare function resolveAnthropicMessagesUrl(baseUrl?: string): string;
@@ -58,6 +29,10 @@ interface DeepSeekTextFilter {
58
29
  /** Create an incremental text filter that strips DeepSeek DSML tool blocks. */
59
30
  declare function createDeepSeekTextFilter(): DeepSeekTextFilter;
60
31
  //#endregion
32
+ //#region packages/ai/src/transports/google-thinking-level.d.ts
33
+ /** Returns whether a Gemini Flash model accepts the MINIMAL thinking level. */
34
+ declare function googleFlashSupportsMinimalThinking(modelId: string): boolean;
35
+ //#endregion
61
36
  //#region packages/ai/src/transports/json-unsafe-integers.d.ts
62
37
  /** Quotes integer literals above Number.MAX_SAFE_INTEGER before JSON.parse. */
63
38
  declare function quoteUnsafeIntegerLiterals(input: string): string;
@@ -79,12 +54,6 @@ declare function canonicalizeMaxTokensParam(params: {
79
54
  }): void;
80
55
  //#endregion
81
56
  //#region packages/ai/src/transports/model-transport-debug.d.ts
82
- /**
83
- * Environment-driven debug controls for model transport logging.
84
- *
85
- * Model adapters share these helpers so payload, SSE, and transport diagnostics
86
- * interpret OpenClaw debug environment variables consistently.
87
- */
88
57
  type SubsystemLogger = {
89
58
  info(message: string): void;
90
59
  debug(message: string): void;
@@ -128,6 +97,7 @@ declare const log: {
128
97
  info(message: string, data?: Record<string, unknown>): void;
129
98
  warn(message: string, data?: Record<string, unknown>): void;
130
99
  };
100
+ type OpenAICompletionsTextSource = "reasoning_detail" | "refusal";
131
101
  type OpenAICompletionsContentDelta = {
132
102
  kind: "thinking";
133
103
  signature?: string;
@@ -135,8 +105,15 @@ type OpenAICompletionsContentDelta = {
135
105
  } | {
136
106
  kind: "text";
137
107
  text: string;
138
- source?: "refusal";
108
+ source?: OpenAICompletionsTextSource;
139
109
  };
110
+ type OpenAICompletionsReasoningBatch = {
111
+ readonly deltas: readonly OpenAICompletionsContentDelta[];
112
+ readonly mirroredThinking: readonly string[];
113
+ readonly hasThinking: boolean;
114
+ readonly hasVisibleText: boolean;
115
+ };
116
+ declare function readOpenAICompletionsReasoningBatch(delta: Record<string, unknown>, visibleReasoningDetailTypes: ReadonlySet<string>): OpenAICompletionsReasoningBatch;
140
117
  type OpenAIModeCompatInput = Omit<OpenAICompletionsCompat, "thinkingFormat"> & {
141
118
  thinkingFormat?: string;
142
119
  requiresStringContent?: boolean;
@@ -148,28 +125,14 @@ type OpenAIModeCompatInput = Omit<OpenAICompletionsCompat, "thinkingFormat"> & {
148
125
  type OpenAIModeModel = Omit<Model, "compat"> & {
149
126
  compat?: OpenAIModeCompatInput | null;
150
127
  };
151
- type MutableAssistantOutput = {
152
- role: "assistant";
153
- content: Array<Record<string, unknown>>;
154
- api: Api;
155
- provider: string;
156
- model: string;
157
- usage: {
158
- input: number;
159
- output: number;
160
- cacheRead: number;
161
- cacheWrite: number;
128
+ type MutableToolCall = ToolCall & {
129
+ partialArgs?: string;
130
+ };
131
+ type MutableAssistantOutput = Omit<AssistantMessage, "content" | "usage"> & {
132
+ content: Array<TextContent | ThinkingContent | MutableToolCall>;
133
+ usage: Usage & {
162
134
  reasoningTokens?: number;
163
- totalTokens: number;
164
- cost: Usage["cost"];
165
135
  };
166
- stopReason: string;
167
- timestamp: number;
168
- responseId?: string;
169
- errorMessage?: string;
170
- errorCode?: string;
171
- errorType?: string;
172
- errorBody?: string;
173
136
  };
174
137
  declare function parseOpenAICompletionsUsage(rawUsage: NonNullable<ChatCompletionChunk["usage"]> & {
175
138
  cost?: unknown;
@@ -177,107 +140,27 @@ declare function parseOpenAICompletionsUsage(rawUsage: NonNullable<ChatCompletio
177
140
  }, model: Model, options?: {
178
141
  includeReasoningTokens?: boolean;
179
142
  }): MutableAssistantOutput["usage"];
143
+ declare function createOpenAIResponseHook(onResponse: BaseOpenAIStreamOptions["onResponse"], response: Response, model: Model): (() => void | Promise<void>) | undefined;
144
+ declare function createOpenAIProviderAcceptanceHook(options: Pick<BaseOpenAIStreamOptions, "onResponse" | "signal"> | undefined, response: Response, model: Model): () => Promise<void>;
180
145
  type ModelStreamCooperativeScheduler = {
181
146
  afterEvent: () => Promise<void>;
182
147
  };
183
148
  declare function throwIfModelStreamAborted(signal?: AbortSignal): void;
149
+ /** Measure one UTF-8 append without double-counting a surrogate pair split across chunks. */
150
+ declare function measureUtf8AppendBytes(bufferEndsWithHighSurrogate: boolean, chunk: string): {
151
+ bytes: number;
152
+ endsWithHighSurrogate: boolean;
153
+ };
184
154
  declare function createModelStreamCooperativeScheduler(signal?: AbortSignal): ModelStreamCooperativeScheduler;
185
155
  declare function resolvePromptCacheKey(options: Pick<BaseOpenAIStreamOptions, "promptCacheKey" | "sessionId"> | undefined, cacheRetention: "short" | "long" | "none"): string | undefined;
186
156
  declare function isOpenAICompletionsThinkingEnabled(effort: string): boolean;
187
157
  declare function readOpenAICompletionsContentDeltas(content: unknown, topLevelRefusal?: unknown, mirroredThinking?: readonly string[]): OpenAICompletionsContentDelta[];
188
158
  //#endregion
189
- //#region packages/ai/src/transports/openai-transport-params.d.ts
190
- declare function readCodeModePayloadToolName(tool: unknown): string | undefined;
191
- declare function filterCodeModePayloadTools(payload: unknown, visibleToolNames: ReadonlySet<string>): void;
192
- declare function resolveCodeModeResponsesVisibleToolNames(context: Pick<Context, "tools">): ReadonlySet<string>;
193
- declare function enforceCodeModeResponsesToolSurface(payload: unknown, visibleToolNames: ReadonlySet<string>): void;
194
- declare function assertCodeModeResponsesToolSurface(payload: unknown, visibleToolNames: ReadonlySet<string>): void;
195
- declare function resolveOpenAIStrictToolFlagWithDiagnostics(projection: OpenAIToolProjection, strictSetting: boolean | null | undefined, context: {
196
- transport: "responses" | "completions";
197
- model: OpenAIModeModel;
198
- }): boolean | undefined;
199
- declare function isOpenAICodexResponsesModel(model: Model): boolean;
200
- declare function usesNativeOpenAICodexResponsesBackend(model: Model): boolean;
201
- declare function buildOpenAIClientHeaders(model: Model, context: Context, optionHeaders?: Record<string, string>, turnHeaders?: Record<string, string>, sessionId?: string): Record<string, string>;
202
- declare function buildOpenAISdkClientOptions(model: Model): {
203
- timeout?: number;
204
- };
205
- declare function buildOpenAISdkRequestOptions(model: Model, signal?: AbortSignal, options?: {
206
- stream?: boolean;
207
- timeoutMs?: number;
208
- maxRetries?: number;
209
- }): {
210
- signal?: AbortSignal;
211
- timeout?: number;
212
- maxRetries?: number;
213
- headers?: Record<string, string>;
214
- } | undefined;
215
- declare function getCompat(model: OpenAIModeModel): {
216
- cacheControlFormat: "anthropic" | undefined;
217
- reasoningEffortMap: Record<string, string>;
218
- openRouterRouting: Record<string, unknown>;
219
- vercelGatewayRouting: Record<string, unknown>;
220
- requiresStringContent: boolean;
221
- strictMessageKeys: boolean;
222
- supportsStore: boolean;
223
- supportsDeveloperRole: boolean;
224
- supportsReasoningEffort: boolean;
225
- supportsUsageInStreaming: boolean;
226
- maxTokensField: "max_completion_tokens" | "max_tokens";
227
- requiresToolResultName: boolean;
228
- requiresAssistantAfterToolResult: boolean;
229
- requiresThinkingAsText: boolean;
230
- requiresReasoningContentOnAssistantMessages: boolean;
231
- thinkingFormat: "openai" | "openrouter" | "deepseek" | "together" | "zai" | "qwen" | "qwen-chat-template";
232
- zaiToolStream: boolean;
233
- supportsStrictMode: boolean;
234
- supportsJsonSchemaResponseFormat: boolean;
235
- supportsPromptCacheKey: boolean;
236
- supportsLongCacheRetention: boolean;
237
- sessionAffinity: "openai" | "openrouter" | "none";
238
- visibleReasoningDetailTypes: string[];
239
- requiresNonEmptyUserOrAssistantMessage: boolean;
240
- };
159
+ //#region packages/ai/src/transports/openai-completions-params.d.ts
160
+ declare function buildOpenAICompletionsParams(model: OpenAIModeModel, context: Context, options: OpenAICompletionsOptions | undefined): Record<string, unknown>;
241
161
  //#endregion
242
162
  //#region packages/ai/src/transports/openai-completions-transport.d.ts
243
- declare function createSseDoneDetector(): {
244
- observe(chunk: Uint8Array): void;
245
- finish(): void;
246
- sawDone: () => boolean;
247
- };
248
- declare function createOpenAICompletionsClient(model: Model, context: Context, apiKey: string, optionHeaders?: Record<string, string>, opts?: {
249
- fetch?: typeof globalThis.fetch;
250
- }): OpenAI;
251
- declare function buildOpenAICompletionsClientConfig(model: Model, context: Context, optionHeaders?: Record<string, string>): {
252
- baseURL: string;
253
- defaultHeaders: Record<string, string>;
254
- defaultQuery?: Record<string, string>;
255
- };
256
163
  declare function createOpenAICompletionsTransportStreamFn(): StreamFn;
257
- declare function processOpenAICompletionsStream(responseStream: AsyncIterable<ChatCompletionChunk>, output: MutableAssistantOutput, model: Model, stream: {
258
- push(event: unknown): void;
259
- }, options?: {
260
- signal?: AbortSignal;
261
- emitReasoning?: boolean;
262
- firstEventTimeoutMs?: number;
263
- abortFirstEventStream?: (reason: Error) => void;
264
- onFirstEventTimeout?: (reason: Error) => void;
265
- sawStreamDONE?: () => boolean;
266
- }): Promise<void>;
267
- declare function shouldEmitOpenAICompletionsReasoningForModel(model: OpenAIModeModel, options: OpenAICompletionsOptions | undefined): boolean;
268
- declare function buildOpenAICompletionsParams(model: OpenAIModeModel, context: Context, options: OpenAICompletionsOptions | undefined): Record<string, unknown>;
269
- declare const completionsTesting: {
270
- getCompat: typeof getCompat;
271
- createSseDoneDetector: typeof createSseDoneDetector;
272
- createOpenAICompletionsClient: typeof createOpenAICompletionsClient;
273
- buildOpenAICompletionsClientConfig: typeof buildOpenAICompletionsClientConfig;
274
- parseTransportChunkUsage: typeof parseOpenAICompletionsUsage;
275
- processOpenAICompletionsStream: typeof processOpenAICompletionsStream;
276
- shouldEmitOpenAICompletionsReasoningForModel: typeof shouldEmitOpenAICompletionsReasoningForModel;
277
- };
278
- declare global {
279
- var openclawOpenAICompletionsTransportTestApi: typeof completionsTesting | undefined;
280
- }
281
164
  //#endregion
282
165
  //#region packages/ai/src/transports/openai-reasoning-compat.d.ts
283
166
  /** Minimal model fields needed to resolve OpenAI reasoning effort compatibility. */
@@ -289,36 +172,6 @@ type OpenAIReasoningCompatModel = {
289
172
  /** Resolves the reasoning effort remap for an OpenAI-compatible model. */
290
173
  declare function resolveOpenAIReasoningEffortMap(model: OpenAIReasoningCompatModel, fallbackMap?: Record<string, string>): Record<string, string>;
291
174
  //#endregion
292
- //#region packages/ai/src/transports/openai-responses-payload-policy.d.ts
293
- type OpenAIResponsesPayloadModel = {
294
- api?: unknown;
295
- baseUrl?: unknown;
296
- id?: unknown;
297
- provider?: unknown;
298
- contextWindow?: unknown;
299
- compat?: unknown;
300
- };
301
- type OpenAIResponsesPayloadPolicyOptions = {
302
- extraParams?: Record<string, unknown>;
303
- storeMode?: "provider-policy" | "disable" | "preserve";
304
- enablePromptCacheStripping?: boolean;
305
- enableServerCompaction?: boolean;
306
- };
307
- type OpenAIResponsesPayloadPolicy = {
308
- allowsServiceTier: boolean;
309
- compactThreshold: number;
310
- explicitStore: boolean | undefined;
311
- shouldStripDisabledReasoningPayload: boolean;
312
- shouldStripInputStatus: boolean;
313
- shouldStripPromptCache: boolean;
314
- shouldStripStore: boolean;
315
- useServerCompaction: boolean;
316
- };
317
- /** Resolve payload mutation policy for one OpenAI Responses-style model endpoint. */
318
- declare function resolveOpenAIResponsesPayloadPolicy(model: OpenAIResponsesPayloadModel, options?: OpenAIResponsesPayloadPolicyOptions): OpenAIResponsesPayloadPolicy;
319
- /** Mutate a Responses request payload according to the resolved endpoint policy. */
320
- declare function applyOpenAIResponsesPayloadPolicy(payloadObj: Record<string, unknown>, policy: OpenAIResponsesPayloadPolicy): void;
321
- //#endregion
322
175
  //#region packages/ai/src/transports/openai-responses-replay.d.ts
323
176
  /** Resolves the assistant message id that can be replayed to OpenAI Responses. */
324
177
  declare function resolveReplayableResponsesMessageId(params: {
@@ -335,6 +188,11 @@ declare function createOpenAIResponsesTransportStreamFn(): StreamFn;
335
188
  declare function createAzureOpenAIResponsesTransportStreamFn(): StreamFn;
336
189
  declare function createAzureOpenAIClient(model: Model, context: Context, apiKey: string, optionHeaders?: Record<string, string>, turnHeaders?: Record<string, string>): OpenAI;
337
190
  //#endregion
191
+ //#region packages/ai/src/transports/openai-responses-compaction-replay.d.ts
192
+ declare function captureOpenAIResponsesCompaction(output: Pick<AssistantMessage, "providerReplay">, item: ReplayableResponseCompactionItem, boundary: number | "retained-users", model: Model, captureMetadata?: OpenAIResponsesReasoningReplayMetadata): void;
193
+ type OpenAIResponsesReplayMode = "checkpoint" | "full-history";
194
+ declare function buildOpenAIResponsesReasoningReplayMetadata(model: Model, options?: Pick<BaseOpenAIStreamOptions, "authProfileId" | "sessionId">): OpenAIResponsesReasoningReplayMetadata;
195
+ //#endregion
338
196
  //#region packages/ai/src/transports/openai-responses-debug.d.ts
339
197
  declare function summarizeResponsesTools(tools: unknown): string;
340
198
  declare function stringifyRedactedPayload(value: unknown): string;
@@ -366,7 +224,7 @@ declare function summarizeResponsesPayload(params: unknown): string;
366
224
  //#endregion
367
225
  //#region packages/ai/src/transports/openai-responses-params-internal.d.ts
368
226
  declare function sanitizeOpenAICodexResponsesParams<T extends Record<string, unknown>>(model: Model, params: T): T;
369
- declare function buildOpenAIResponsesParams(model: Model, context: Context, options: OpenAIResponsesOptions | undefined, metadata?: Record<string, string>): OpenAIResponsesRequestParams;
227
+ declare function buildOpenAIResponsesParams(model: Model, context: Context, options: OpenAIResponsesOptions | undefined, metadata?: Record<string, string>, replayMode?: OpenAIResponsesReplayMode): OpenAIResponsesRequestParams;
370
228
  //#endregion
371
229
  //#region packages/ai/src/transports/openai-responses-prompt-observer-internal.d.ts
372
230
  type ResponsesPromptRequest = {
@@ -379,19 +237,29 @@ declare function createResponsesPromptEgressObserver(options: object | undefined
379
237
  //#region packages/ai/src/transports/openai-responses-replay-internal.d.ts
380
238
  type ResponsesClientLike = ReturnType<typeof createOpenAIResponsesClient>;
381
239
  declare function isInvalidEncryptedContentError(error: unknown): boolean;
382
- declare function stripResponsesRequestEncryptedContent(params: OpenAIResponsesRequestParams): OpenAIResponsesRequestParams;
383
- declare function buildOpenAIResponsesReasoningReplayMetadata(model: Model, options?: Pick<BaseOpenAIStreamOptions, "authProfileId" | "sessionId">): OpenAIResponsesReasoningReplayMetadata;
384
- declare function tagOpenAIResponsesReasoningReplayItem(item: Record<string, unknown>, model: Model, options?: Pick<BaseOpenAIStreamOptions, "authProfileId" | "sessionId">): Record<string, unknown>;
385
- declare function prepareOpenAIResponsesReasoningItemForReplay(item: ReplayableResponseReasoningItem, context: OpenAIResponsesReplayContext, blockMetadata?: OpenAIResponsesReasoningReplayMetadata): ReplayableResponseReasoningItem;
240
+ type ResponsesEncryptedContentRequest = {
241
+ input?: ResponseInput;
242
+ };
243
+ type ResponsesEncryptedContentAttemptKind = "initial" | "reasoning-stripped" | "compaction-stripped" | "continuation-rejected";
244
+ type ResponsesEncryptedContentAttempt<TRequest extends ResponsesEncryptedContentRequest> = {
245
+ kind: ResponsesEncryptedContentAttemptKind;
246
+ request: TRequest;
247
+ rejectedCompaction?: OpenAIResponsesCompactionRejection;
248
+ };
386
249
  declare function createResponsesStreamWithEncryptedContentRetry(params: {
387
250
  client: ResponsesClientLike;
388
251
  request: OpenAIResponsesRequestParams;
389
252
  requestOptions: unknown;
390
253
  model: Model;
391
254
  observePrompt?: NonNullable<ReturnType<typeof createResponsesPromptEgressObserver>>;
255
+ initialAttemptKind?: ResponsesEncryptedContentAttemptKind;
256
+ initialRejectedCompaction?: OpenAIResponsesCompactionRejection;
257
+ onCompactionRejected?: (checkpoint: OpenAIResponsesCompactionRejection) => void;
258
+ buildFullHistoryRequest?: () => OpenAIResponsesRequestParams | Promise<OpenAIResponsesRequestParams>;
392
259
  }): Promise<{
393
260
  stream: AsyncIterable<unknown>;
394
261
  response: Response;
262
+ attempt: ResponsesEncryptedContentAttempt<OpenAIResponsesRequestParams>;
395
263
  }>;
396
264
  declare function resolveAzureOpenAIApiVersion(env?: NodeJS.ProcessEnv): string;
397
265
  //#endregion
@@ -408,7 +276,78 @@ type ResponsesStreamOptions = FirstStreamEventInternalOptions & {
408
276
  signal?: AbortSignal;
409
277
  reasoningReplayMetadata?: OpenAIResponsesReasoningReplayMetadata;
410
278
  };
411
- declare function processResponsesStream<TApi extends Api>(openaiStream: AsyncIterable<unknown>, output: AssistantMessage, stream: ResponsesEventSink, model: Model<TApi>, options?: ResponsesStreamOptions): Promise<void>;
279
+ 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>;
280
+ //#endregion
281
+ //#region packages/ai/src/transports/openai-transport-params.d.ts
282
+ declare function readCodeModePayloadToolName(tool: unknown): string | undefined;
283
+ declare function filterCodeModePayloadTools(payload: unknown, visibleToolNames: ReadonlySet<string>, allowedHostedToolTypes?: ReadonlySet<string>, observer?: (observation: CodeModeToolSurfaceObservation) => void): void;
284
+ declare function resolveCodeModeResponsesVisibleToolNames(context: Pick<Context, "tools">): ReadonlySet<string>;
285
+ declare function enforceCodeModeResponsesToolSurface(payload: unknown, visibleToolNames: ReadonlySet<string>, allowedHostedToolTypes?: ReadonlySet<string>, observer?: (observation: CodeModeToolSurfaceObservation) => void): void;
286
+ declare function assertCodeModeResponsesToolSurface(payload: unknown, visibleToolNames: ReadonlySet<string>, allowedHostedToolTypes?: ReadonlySet<string>): void;
287
+ declare function resolveOpenAIStrictToolFlagWithDiagnostics(projection: OpenAIToolProjection, strictSetting: boolean | null | undefined, context: {
288
+ transport: "responses" | "completions";
289
+ model: OpenAIModeModel;
290
+ }): boolean | undefined;
291
+ declare function isOpenAICodexResponsesModel(model: Model): boolean;
292
+ declare function usesNativeOpenAICodexResponsesBackend(model: Model): boolean;
293
+ declare function buildOpenAIClientHeaders(model: Model, context: Context, optionHeaders?: Record<string, string>, turnHeaders?: Record<string, string>, sessionId?: string): Record<string, string>;
294
+ declare function buildOpenAISdkClientOptions(model: Model): {
295
+ timeout?: number;
296
+ };
297
+ declare function buildOpenAISdkRequestOptions(model: Model, signal?: AbortSignal, options?: {
298
+ stream?: boolean;
299
+ timeoutMs?: number;
300
+ maxRetries?: number;
301
+ }): {
302
+ signal?: AbortSignal;
303
+ timeout?: number;
304
+ maxRetries?: number;
305
+ headers?: Record<string, string>;
306
+ } | undefined;
307
+ declare function getCompat(model: OpenAIModeModel): {
308
+ cacheControlFormat: "anthropic" | undefined;
309
+ reasoningEffortMap: Record<string, string>;
310
+ openRouterRouting: Record<string, unknown>;
311
+ vercelGatewayRouting: Record<string, unknown>;
312
+ requiresStringContent: boolean;
313
+ strictMessageKeys: boolean;
314
+ supportsStore: boolean;
315
+ supportsDeveloperRole: boolean;
316
+ supportsReasoningEffort: boolean;
317
+ supportsUsageInStreaming: boolean;
318
+ maxTokensField: "max_completion_tokens" | "max_tokens";
319
+ requiresToolResultName: boolean;
320
+ requiresAssistantAfterToolResult: boolean;
321
+ requiresThinkingAsText: boolean;
322
+ requiresReasoningContentOnAssistantMessages: boolean;
323
+ thinkingFormat: "openai" | "openrouter" | "deepseek" | "together" | "zai" | "qwen" | "qwen-chat-template";
324
+ zaiToolStream: boolean;
325
+ supportsStrictMode: boolean;
326
+ supportsJsonSchemaResponseFormat: boolean;
327
+ supportsPromptCacheKey: boolean;
328
+ supportsLongCacheRetention: boolean;
329
+ sessionAffinity: "openai" | "openrouter" | "none";
330
+ visibleReasoningDetailTypes: string[];
331
+ requiresNonEmptyUserOrAssistantMessage: boolean;
332
+ };
333
+ //#endregion
334
+ //#region packages/ai/src/transports/openai-responses-compact-request.d.ts
335
+ type OpenAIResponsesCompactEndpointResult = {
336
+ item: {
337
+ type: "compaction";
338
+ id?: string;
339
+ encrypted_content: string;
340
+ };
341
+ historyMode: "compacted-prefix" | "retained-users";
342
+ usage: Record<string, unknown> & {
343
+ input_tokens: number;
344
+ output_tokens: number;
345
+ };
346
+ model: Model;
347
+ replayMetadata: OpenAIResponsesReasoningReplayMetadata;
348
+ };
349
+ /** Run a compact-endpoint request through the session's prepared stream stack. */
350
+ declare function requestPreparedOpenAIResponsesCompaction(streamFn: StreamFn, model: Model, context: Context, options: OpenAIResponsesOptions): Promise<OpenAIResponsesCompactEndpointResult>;
412
351
  //#endregion
413
352
  //#region packages/ai/src/transports/openai-responses-transport.d.ts
414
353
  declare const responsesTesting: {
@@ -428,11 +367,8 @@ declare const responsesTesting: {
428
367
  buildOpenAIResponsesReasoningReplayMetadata: typeof buildOpenAIResponsesReasoningReplayMetadata;
429
368
  isInvalidEncryptedContentError: typeof isInvalidEncryptedContentError;
430
369
  normalizeResponsesFailedEvent: typeof normalizeResponsesFailedEvent;
431
- prepareOpenAIResponsesReasoningItemForReplay: typeof prepareOpenAIResponsesReasoningItemForReplay;
432
370
  createResponsesStreamWithEncryptedContentRetry: typeof createResponsesStreamWithEncryptedContentRetry;
433
371
  resolveAzureOpenAIApiVersion: typeof resolveAzureOpenAIApiVersion;
434
- stripResponsesRequestEncryptedContent: typeof stripResponsesRequestEncryptedContent;
435
- tagOpenAIResponsesReasoningReplayItem: typeof tagOpenAIResponsesReasoningReplayItem;
436
372
  summarizeResponsesFailedNoDetailsObservation: typeof summarizeResponsesFailedNoDetailsObservation;
437
373
  summarizeResponsesPayload: typeof summarizeResponsesPayload;
438
374
  summarizeResponsesTools: typeof summarizeResponsesTools;
@@ -443,6 +379,18 @@ declare global {
443
379
  var openclawOpenAIResponsesTransportTestApi: typeof responsesTesting | undefined;
444
380
  }
445
381
  //#endregion
382
+ //#region packages/ai/src/transports/provider-compaction-replay.d.ts
383
+ /** Whether provider replay state is a prefix-bound server compaction checkpoint. */
384
+ declare function isCompactionReplayCheckpoint(replay: unknown): replay is ProviderReplayState;
385
+ /** Strip prefix-bound checkpoints after local history rewrites. */
386
+ declare function stripCompactionReplayCheckpoint(message: AssistantMessage): AssistantMessage;
387
+ /** Strip prefix-bound checkpoint state from an in-place message rewrite. */
388
+ declare function stripCompactionReplayCheckpointInPlace(message: {
389
+ providerReplay?: unknown;
390
+ }): void;
391
+ /** Reindex a prefix-bound checkpoint after known content removals. */
392
+ declare function replaceCompactionReplayOwnerContent(message: AssistantMessage, content: AssistantMessage["content"]): AssistantMessage;
393
+ //#endregion
446
394
  //#region packages/ai/src/transports/provider-transport-stream.d.ts
447
395
  type ProviderTransportStreamContext = {
448
396
  cfg?: unknown;
@@ -489,26 +437,22 @@ type TransportUsage = {
489
437
  total: number;
490
438
  };
491
439
  };
492
- type WritableTransportStream = {
493
- push(event: unknown): void;
494
- end(): void;
495
- };
496
- type TransportOutputShape = {
497
- stopReason: string;
498
- errorMessage?: string;
499
- errorCode?: string;
500
- errorType?: string;
501
- errorBody?: string;
502
- };
440
+ type WritableTransportStream = Pick<ReturnType<typeof createAssistantMessageEventStream>, "push" | "end">;
503
441
  declare function sanitizeTransportPayloadText(text: string): string;
504
442
  declare function sanitizeNonEmptyTransportPayloadText(text: string, fallback?: string): string;
505
443
  declare function coerceTransportToolCallArguments(argumentsValue: unknown): Record<string, unknown>;
444
+ /** Admit only complete object-shaped terminal tool arguments; partial parsing is preview-only. */
445
+ declare function parseTerminalToolCallArguments(value: unknown, errorMessage?: string): Record<string, unknown>;
446
+ /** Validate a complete sibling set before mutating any call into executable state. */
447
+ declare function finalizeTerminalToolCallArguments<T extends {
448
+ arguments: Record<string, unknown>;
449
+ }>(calls: readonly T[], readArguments: (call: T) => unknown, errorMessage?: string): void;
506
450
  declare function mergeTransportHeaders(...headerSources: Array<Record<string, string> | undefined>): Record<string, string> | undefined;
507
451
  declare function mergeTransportMetadata<T extends Record<string, unknown>>(payload: T, metadata?: Record<string, string>): T;
508
452
  declare function createEmptyTransportUsage(): TransportUsage;
509
453
  declare function createWritableTransportEventStream(): {
510
454
  eventStream: AssistantMessageEventStream;
511
- stream: WritableTransportStream;
455
+ stream: AssistantMessageEventStream;
512
456
  };
513
457
  /**
514
458
  * Abort error to surface for an aborted `signal`.
@@ -521,21 +465,67 @@ declare function createWritableTransportEventStream(): {
521
465
  * already emits rather than churning it.
522
466
  */
523
467
  declare function transportAbortError(signal?: AbortSignal): Error;
468
+ type ProviderAcceptance = {
469
+ kind: "http_response";
470
+ status: number;
471
+ headers: Record<string, string>;
472
+ } | {
473
+ kind: "provider_stream_opened";
474
+ };
475
+ type ProviderAcceptanceObserver = (acceptance: ProviderAcceptance) => void;
476
+ type ProviderAcceptanceOptions = Pick<StreamOptions, "onResponse" | "signal">;
477
+ type ProviderStreamCancel = (reason: Error) => void | Promise<void>;
478
+ /** Attach an OpenClaw-internal provider acceptance observer to one model call. */
479
+ declare function withProviderAcceptanceObserver<T extends object>(options: T, observer: ProviderAcceptanceObserver): T;
480
+ /** Preserve the private provider acceptance observer when a built-in wrapper rebuilds options. */
481
+ declare function copyProviderAcceptanceObserver<T extends object>(source: unknown, target: T): T;
482
+ /** Report observed HTTP metadata; rejected responses use only onResponse. */
483
+ declare function notifyProviderHttpMetadata(params: {
484
+ options?: ProviderAcceptanceOptions;
485
+ response: ProviderResponse;
486
+ model: Model;
487
+ cancelStream: ProviderStreamCancel;
488
+ signal?: AbortSignal;
489
+ }): Promise<void>;
490
+ /** Report a real HTTP response before body consumption. */
491
+ declare function notifyProviderHttpResponse(params: {
492
+ options?: ProviderAcceptanceOptions;
493
+ response: Response;
494
+ model: Model;
495
+ cancelStream?: ProviderStreamCancel;
496
+ signal?: AbortSignal;
497
+ }): Promise<void>;
498
+ /** Report an accepted SDK stream when the SDK does not expose HTTP metadata. */
499
+ declare function notifyProviderStreamOpened(params: {
500
+ options?: Pick<StreamOptions, "signal">;
501
+ cancelStream: ProviderStreamCancel;
502
+ signal?: AbortSignal;
503
+ }): Promise<void>;
504
+ /** Run a provider-response hook before start/body consumption inside the first-event deadline. */
505
+ declare function withProviderResponseHook<T = never>(params: {
506
+ stream?: AsyncIterable<T>;
507
+ signal: AbortSignal;
508
+ abort: (reason: Error) => void;
509
+ hook?: () => void | Promise<void>;
510
+ onReady?: () => void;
511
+ }): AsyncIterable<T>;
524
512
  declare function finalizeTransportStream(params: {
525
513
  stream: WritableTransportStream;
526
- output: TransportOutputShape;
514
+ output: AssistantMessage;
527
515
  signal?: AbortSignal;
528
516
  }): void;
529
- declare function assignTransportErrorDetails(output: TransportOutputShape, error: unknown, signal?: AbortSignal): void;
517
+ /** @deprecated Use projectProviderError. v2026.7.2-beta.5 compatibility; remove after 2026.10. */
518
+ declare function assignTransportErrorDetails(output: AssistantMessage, error: unknown, signal?: AbortSignal): ProviderErrorProjection;
530
519
  declare function failTransportStream(params: {
531
520
  stream: WritableTransportStream;
532
- output: TransportOutputShape;
521
+ output: AssistantMessage;
533
522
  signal?: AbortSignal;
534
523
  error: unknown;
535
524
  cleanup?: () => void;
536
525
  }): void;
537
526
  //#endregion
538
527
  //#region packages/ai/src/transports/transport-utils.d.ts
528
+ declare const MALFORMED_STREAMING_FRAGMENT_ERROR_MESSAGE = "OpenClaw transport error: malformed_streaming_fragment";
539
529
  declare function isCodeModeModelVisibleToolName(name: string, visibleToolNames: ReadonlySet<string>): boolean;
540
530
  //#endregion
541
- export { GEMINI_THOUGHT_SIGNATURE_VALIDATOR_SKIP, MutableAssistantOutput, OpenAICompletionsContentDelta, type OpenAICompletionsOptions, OpenAIModeModel, ResolvedOpenAICompletionsCompat, WritableTransportStream, applyAnthropicCacheControlToMessages, applyAnthropicEphemeralCacheControlMarkers, applyAnthropicPayloadPolicyToParams, applyOpenAIResponsesPayloadPolicy, assertCodeModeResponsesToolSurface, assignTransportErrorDetails, buildOpenAIClientHeaders, buildOpenAICompletionsParams, buildOpenAISdkClientOptions, buildOpenAISdkRequestOptions, buildTransportAwareSimpleStreamFn, canonicalizeMaxTokensParam, coerceTransportToolCallArguments, createAnthropicMessagesTransportStreamFn, createAzureOpenAIResponsesTransportStreamFn, createBoundaryAwareStreamFnForModel, createDeepSeekTextFilter, createEmptyTransportUsage, createModelStreamCooperativeScheduler, createOpenAICompletionsTransportStreamFn, createOpenAIResponsesTransportStreamFn, createOpenClawTransportStreamFnForModel, createTransportAwareStreamFnForModel, createWritableTransportEventStream, detectOpenAICompletionsCompat, emitModelTransportDebug, enforceCodeModeResponsesToolSurface, failTransportStream, filterCodeModePayloadTools, finalizeTransportStream, flattenCompletionMessagesToStringContent, formatModelTransportDebugBaseUrl, formatModelTransportDebugUrl, getCompat, hasOpenAICompatibleConversationTurn, isCodeModeModelVisibleToolName, isOpenAICodexResponsesModel, isOpenAICompletionsThinkingEnabled, log, mergeTransportHeaders, mergeTransportMetadata, normalizeCodexResponsesBaseUrlForOpenAISdk, parseJsonObjectPreservingUnsafeIntegers, parseJsonPreservingUnsafeIntegers, parseOpenAICompletionsUsage, prepareModelForSimpleCompletion, prepareTransportAwareSimpleModel, quoteUnsafeIntegerLiterals, readCodeModePayloadToolName, readOpenAICompletionsContentDeltas, resolveAnthropicEphemeralCacheControl, resolveAnthropicMessagesUrl, resolveAnthropicPayloadPolicy, resolveCodeModeResponsesVisibleToolNames, resolveMaxTokensParam, resolveModelPayloadDebugMode, resolveModelSseDebugMode, resolveOpenAICompletionsCompat, resolveOpenAIReasoningEffortMap, resolveOpenAIResponsesPayloadPolicy, resolveOpenAIStrictToolFlagWithDiagnostics, resolvePromptCacheKey, resolveReplayableResponsesMessageId, resolveTransportAwareSimpleApi, sanitizeNonEmptyTransportPayloadText, sanitizeResponsesImagePayload, sanitizeTransportPayloadText, sortPromptCacheToolsByName as sortTransportToolsByName, stripCompletionMessagesToRoleContent, throwIfModelStreamAborted, transportAbortError, usesNativeOpenAICodexResponsesBackend };
531
+ export { GEMINI_THOUGHT_SIGNATURE_VALIDATOR_SKIP, MALFORMED_STREAMING_FRAGMENT_ERROR_MESSAGE, MutableAssistantOutput, OpenAICompletionsContentDelta, type OpenAICompletionsOptions, OpenAICompletionsTextSource, OpenAIModeModel, type OpenAIResponsesCompactionRejection, ProviderAcceptance, ResolvedOpenAICompletionsCompat, WritableTransportStream, applyAnthropicCacheControlToMessages, applyAnthropicEphemeralCacheControlMarkers, applyAnthropicPayloadPolicyToParams, applyOpenAIResponsesPayloadPolicy, assertCodeModeResponsesToolSurface, assignTransportErrorDetails, buildOpenAIClientHeaders, buildOpenAICompletionsParams, buildOpenAISdkClientOptions, buildOpenAISdkRequestOptions, buildTransportAwareSimpleStreamFn, canonicalizeMaxTokensParam, captureOpenAIResponsesCompaction, coerceTransportToolCallArguments, 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, isCodeModeModelVisibleToolName, isCompactionReplayCheckpoint, isOpenAICodexResponsesModel, isOpenAICompletionsThinkingEnabled, log, measureUtf8AppendBytes, mergeTransportHeaders, mergeTransportMetadata, normalizeCodexResponsesBaseUrlForOpenAISdk, notifyProviderHttpMetadata, notifyProviderHttpResponse, notifyProviderStreamOpened, parseJsonObjectPreservingUnsafeIntegers, parseJsonPreservingUnsafeIntegers, parseOpenAICompletionsUsage, parseTerminalToolCallArguments, prepareModelForSimpleCompletion, prepareTransportAwareSimpleModel, quoteUnsafeIntegerLiterals, readCodeModePayloadToolName, readOpenAICompletionsContentDeltas, readOpenAICompletionsReasoningBatch, replaceCompactionReplayOwnerContent, requestPreparedOpenAIResponsesCompaction, resolveAnthropicEphemeralCacheControl, resolveAnthropicMessagesUrl, resolveAnthropicPayloadPolicy, resolveAnthropicServerCompactionPlan, resolveCodeModeResponsesVisibleToolNames, resolveMaxTokensParam, resolveModelPayloadDebugMode, resolveModelSseDebugMode, resolveOpenAICompletionsCompat, resolveOpenAIReasoningEffortMap, resolveOpenAIResponsesCompactEndpointPlan, resolveOpenAIResponsesPayloadPolicy, resolveOpenAIResponsesServerCompactionPlan, resolveOpenAIStrictToolFlagWithDiagnostics, resolvePromptCacheKey, resolveReplayableResponsesMessageId, resolveTransportAwareSimpleApi, sanitizeNonEmptyTransportPayloadText, sanitizeResponsesImagePayload, sanitizeTransportPayloadText, sortPromptCacheToolsByName as sortTransportToolsByName, stripCompactionReplayCheckpoint, stripCompactionReplayCheckpointInPlace, stripCompletionMessagesToRoleContent, throwIfModelStreamAborted, transportAbortError, usesNativeOpenAICodexResponsesBackend, withProviderAcceptanceObserver, withProviderResponseHook };