@openclaw/ai 2026.8.1-beta.3 → 2026.8.1

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 (89) hide show
  1. package/dist/{anthropic-B8KwTtlb.mjs → anthropic-Djj7L1rx.mjs} +21 -21
  2. package/dist/{anthropic-compaction-replay-4Zx7-aCr.mjs → anthropic-compaction-replay-CY4tkD4V.mjs} +33 -34
  3. package/dist/{anthropic-payload-policy-CSx7MoKH.d.mts → anthropic-payload-policy-i_5_inWe.d.mts} +3 -2
  4. package/dist/{api-registry-DFxSnFqG.d.mts → api-registry-C9-wZd_W.d.mts} +2 -1
  5. package/dist/{azure-openai-responses-Aa4mVcYG.mjs → azure-openai-responses-Bj3czHNa.mjs} +4 -4
  6. package/dist/{number-coercion-H9qHik3g.mjs → base64-CEFBpSkN.mjs} +73 -1
  7. package/dist/diagnostics.d.mts +2 -3
  8. package/dist/diagnostics.mjs +1 -1
  9. package/dist/{env-api-keys-DrgeBuva.mjs → env-api-keys-bktO00EJ.mjs} +2 -15
  10. package/dist/event-stream-C988TSLe.d.mts +1 -0
  11. package/dist/{event-stream-D91-ohD_.d.mts → event-stream-UhnxHuqt.d.mts} +1 -2
  12. package/dist/event-stream.d.mts +2 -1
  13. package/dist/{google-yDRnipeq.mjs → google-0Ca6TYbw.mjs} +4 -4
  14. package/dist/{google-shared-M1dl64nz.mjs → google-shared-DVfL9COU.mjs} +14 -7
  15. package/dist/{google-vertex-DCJHM_a5.mjs → google-vertex-5dAMxprN.mjs} +4 -4
  16. package/dist/{host-DF_yxOsA.mjs → host-D51fmkH6.mjs} +4 -8
  17. package/dist/{host-DJq_FGcz.d.mts → host-DoPJJ1KD.d.mts} +3 -3
  18. package/dist/index-N3zr6__t.d.mts +105 -0
  19. package/dist/index.d.mts +9 -10
  20. package/dist/index.mjs +2 -3
  21. package/dist/internal/anthropic.d.mts +51 -49
  22. package/dist/internal/anthropic.mjs +5 -5
  23. package/dist/internal/openai-responses-payload-policy.d.mts +3 -3
  24. package/dist/internal/openai-responses-payload-policy.mjs +2 -3
  25. package/dist/internal/openai.d.mts +65 -63
  26. package/dist/internal/openai.mjs +10 -9
  27. package/dist/internal/retry-after.d.mts +2 -3
  28. package/dist/internal/runtime.d.mts +51 -40
  29. package/dist/internal/runtime.mjs +9 -9
  30. package/dist/internal/shared.d.mts +25 -25
  31. package/dist/internal/shared.mjs +3 -3
  32. package/dist/{json-parse-CDnesDM_.mjs → json-parse-BuAJEbdW.mjs} +18 -2
  33. package/dist/{mistral-D6hRXI7A.mjs → mistral-BCnrI-kV.mjs} +22 -25
  34. package/dist/{openai-chatgpt-responses-C339VIfT.mjs → openai-chatgpt-responses-CGBGWSqr.mjs} +31 -14
  35. package/dist/openai-completions-BaTuwID7.mjs +401 -0
  36. package/dist/{openai-completions-compat-B0KTleXp.d.mts → openai-completions-compat-DB7FFq7k.d.mts} +3 -3
  37. package/dist/openai-completions-stream-Bpns6uNc.mjs +1622 -0
  38. package/dist/{openai-responses-BXEcr-Tp.mjs → openai-responses-1GBcQujk.mjs} +8 -6
  39. package/dist/openai-responses-compaction-window-DwydGZI8.mjs +686 -0
  40. package/dist/{openai-responses-contracts-CD75pQ0m.d.mts → openai-responses-contracts-DgaR3t5T.d.mts} +14 -5
  41. package/dist/{openai-responses-payload-policy-CNGFT9zr.d.mts → openai-responses-payload-policy-rLRPsSmB.d.mts} +1 -0
  42. package/dist/{openai-responses-prompt-observer-internal-BG-1AsBI.mjs → openai-responses-prompt-observer-internal-_nhGTn2b.mjs} +3 -2
  43. package/dist/{openai-responses-shared-Cvt5MgEm.mjs → openai-responses-shared-zPmKnhF5.mjs} +315 -1468
  44. package/dist/openai-stop-reason-Drnn_6Qj.mjs +28 -0
  45. package/dist/openai-tool-schema-Dgl4H2MU.mjs +1695 -0
  46. package/dist/{provider-error-C8mBRJDl.mjs → provider-error-jZP5NMTZ.mjs} +3 -77
  47. package/dist/{provider-options-Cc5ZQ6Aa.d.mts → provider-options-HvA_slFa.d.mts} +13 -4
  48. package/dist/{provider-transcript-transform--gtf0ZbR.mjs → provider-transcript-transform-C01bQ5a3.mjs} +1 -1
  49. package/dist/provider-types.d.mts +18 -17
  50. package/dist/providers.d.mts +5 -6
  51. package/dist/providers.mjs +9 -9
  52. package/dist/{reasoning-tag-text-partitioner-5ygO2rZc.mjs → reasoning-tag-text-partitioner-CwzKb0bA.mjs} +1 -1
  53. package/dist/rolldown-runtime-BhDjJH2R.mjs +15 -0
  54. package/dist/{sanitize-unicode-BP7HLLZn.mjs → sanitize-unicode-DCkltN94.mjs} +1 -2
  55. package/dist/simple-options-DKx86yX9.mjs +155 -0
  56. package/dist/{anthropic-BQXQudmA.mjs → src-Bu3FiFAG.mjs} +1 -0
  57. package/dist/{stream-first-event-timeout-MK28puvq.mjs → stream-first-event-timeout-DcNjoFQE.mjs} +1 -1
  58. package/dist/{streaming-byte-guard-BrbkbwUu.mjs → streaming-byte-guard-CC-HMn_u.mjs} +5 -6
  59. package/dist/string-normalization--fwJ4S2q.mjs +16 -0
  60. package/dist/{tool-schema-json-projection-FEr-jOoZ.mjs → tool-schema-json-projection-qvTEs5Am.mjs} +2 -2
  61. package/dist/{simple-options-oqsXB6U3.mjs → transport-stream-shared-CT5ycdzn.mjs} +10 -118
  62. package/dist/transport-stream-shared-NjwWNaRY.d.mts +138 -0
  63. package/dist/{transport-utils-Bv0FHkd0.mjs → transport-utils-BHx9z8Cl.mjs} +9 -9
  64. package/dist/transports.d.mts +127 -189
  65. package/dist/transports.mjs +181 -1214
  66. package/dist/types-DtGu2d3C.d.mts +1 -0
  67. package/dist/{types-DTAP49HF.d.mts → types-h38Azne1.d.mts} +38 -17
  68. package/dist/types.d.mts +5 -4
  69. package/dist/types.mjs +1 -2
  70. package/dist/utf16-slice-qz3nsy87.mjs +84 -0
  71. package/dist/{validation-DYNNrU9u.d.mts → validation-C68lP2uy.d.mts} +1 -2
  72. package/dist/validation.d.mts +1 -1
  73. package/package.json +6 -6
  74. package/dist/anthropic-BECQCNdF.d.mts +0 -98
  75. package/dist/event-stream-BVVgDSdq.d.mts +0 -1
  76. package/dist/headers-B_e4-1J0.mjs +0 -9
  77. package/dist/index-BVVgDSdq.d.mts +0 -1
  78. package/dist/openai-completions-D88orSJ9.mjs +0 -632
  79. package/dist/openai-responses-contracts-DvILoqBk.mjs +0 -247
  80. package/dist/openai-responses-payload-policy-BDo8CQsx.mjs +0 -208
  81. package/dist/openai-stop-reason-9OONKyAm.mjs +0 -579
  82. package/dist/openai-tool-projection-CHGLt03m.mjs +0 -426
  83. package/dist/provider-options-AvldWZt8.mjs +0 -21
  84. package/dist/record-coerce-DdXsgUd_.mjs +0 -23
  85. package/dist/src-D2H6yKkH.mjs +0 -2
  86. package/dist/stream-first-event-timeout-DvDeSucC.d.mts +0 -29
  87. package/dist/string-coerce-fsri9iCu.mjs +0 -34
  88. package/dist/types-BVVgDSdq.d.mts +0 -1
  89. package/dist/utf16-slice-CvGodqok.mjs +0 -29
@@ -1,23 +1,22 @@
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";
9
- import { n as FirstStreamEventInternalOptions } from "./stream-first-event-timeout-DvDeSucC.mjs";
1
+ import "./index-N3zr6__t.mjs";
2
+ import { D as Model, I as ProviderReplayState, 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-h38Azne1.mjs";
3
+ import { n as ApiRegistry } from "./api-registry-C9-wZd_W.mjs";
4
+ import { a as CodeModeToolSurfaceObservation, d as OpenAIToolProjection, i as BaseOpenAIStreamOptions, o as OpenAICompletionsOptions, s as OpenAIResponsesCompactionRejection } from "./provider-options-HvA_slFa.mjs";
5
+ import "./types-DtGu2d3C.mjs";
6
+ import { a as resolveAnthropicPayloadPolicy, i as resolveAnthropicEphemeralCacheControl, n as applyAnthropicEphemeralCacheControlMarkers, o as resolveAnthropicServerCompactionPlan, r as applyAnthropicPayloadPolicyToParams, t as applyAnthropicCacheControlToMessages } from "./anthropic-payload-policy-i_5_inWe.mjs";
7
+ import { a as ReplayableResponseCompactionItem, c as OpenAIResponsesCompactionOutput, i as OpenAIResponsesRequestParams, n as OpenAIResponsesOptions, o as ResponsesPromptObservation, r as OpenAIResponsesReasoningReplayMetadata } from "./openai-responses-contracts-DgaR3t5T.mjs";
8
+ import { i as resolveOpenAIResponsesServerCompactionPlan, n as resolveOpenAIResponsesCompactEndpointPlan, r as resolveOpenAIResponsesPayloadPolicy, t as applyOpenAIResponsesPayloadPolicy } from "./openai-responses-payload-policy-rLRPsSmB.mjs";
9
+ import { n as detectOpenAICompletionsCompat, r as resolveOpenAICompletionsCompat, t as ResolvedOpenAICompletionsCompat } from "./openai-completions-compat-DB7FFq7k.mjs";
10
+ 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-NjwWNaRY.mjs";
10
11
  import { r as sortPromptCacheToolsByName } from "./prompt-cache-stability-Cwcjv_fx.mjs";
11
- import { t as ProviderErrorProjection } from "./provider-error-CzNw4BWX.mjs";
12
12
  import OpenAI from "openai";
13
- import { ResponseCreateParamsStreaming, ResponseInput } from "openai/resources/responses/responses.js";
13
+ import { ResponseCreateParamsStreaming, ResponseInput, ResponseInputItem as ResponseInputItem$1 } from "openai/resources/responses/responses.js";
14
14
  import { ChatCompletionChunk } from "openai/resources/chat/completions.js";
15
-
16
15
  //#region packages/ai/src/transports/anthropic-transport-stream.d.ts
17
16
  /** Resolve the Anthropic Messages endpoint URL for the effective base URL. */
18
- declare function resolveAnthropicMessagesUrl(baseUrl?: string): string;
17
+ export declare function resolveAnthropicMessagesUrl(baseUrl?: string): string;
19
18
  /** Create the stream function used by Anthropic Messages transport models. */
20
- declare function createAnthropicMessagesTransportStreamFn(): StreamFn;
19
+ export declare function createAnthropicMessagesTransportStreamFn(): StreamFn;
21
20
  //#endregion
22
21
  //#region packages/ai/src/transports/deepseek-text-filter.d.ts
23
22
  interface DeepSeekTextFilter {
@@ -27,28 +26,28 @@ interface DeepSeekTextFilter {
27
26
  flush(): string[];
28
27
  }
29
28
  /** Create an incremental text filter that strips DeepSeek DSML tool blocks. */
30
- declare function createDeepSeekTextFilter(): DeepSeekTextFilter;
29
+ export declare function createDeepSeekTextFilter(): DeepSeekTextFilter;
31
30
  //#endregion
32
31
  //#region packages/ai/src/transports/google-thinking-level.d.ts
33
32
  /** Returns whether a Gemini Flash model accepts the MINIMAL thinking level. */
34
- declare function googleFlashSupportsMinimalThinking(modelId: string): boolean;
33
+ export declare function googleFlashSupportsMinimalThinking(modelId: string): boolean;
35
34
  //#endregion
36
35
  //#region packages/ai/src/transports/json-unsafe-integers.d.ts
37
36
  /** Quotes integer literals above Number.MAX_SAFE_INTEGER before JSON.parse. */
38
- declare function quoteUnsafeIntegerLiterals(input: string): string;
37
+ export declare function quoteUnsafeIntegerLiterals(input: string): string;
39
38
  /** Parses JSON while preserving unsafe integer literals as strings. */
40
- declare function parseJsonPreservingUnsafeIntegers(input: string): unknown;
39
+ export declare function parseJsonPreservingUnsafeIntegers(input: string): unknown;
41
40
  /** Parses or accepts an object while preserving unsafe integer literals in string input. */
42
- declare function parseJsonObjectPreservingUnsafeIntegers(value: unknown): Record<string, unknown> | null;
41
+ export declare function parseJsonObjectPreservingUnsafeIntegers(value: unknown): Record<string, unknown> | null;
43
42
  //#endregion
44
43
  //#region packages/ai/src/transports/model-max-tokens-params.d.ts
45
44
  /** Resolve the first supported max-token parameter present in a params object. */
46
- declare function resolveMaxTokensParam(params: Record<string, unknown> | undefined): number | undefined;
45
+ export declare function resolveMaxTokensParam(params: Record<string, unknown> | undefined): number | undefined;
47
46
  /**
48
47
  * Canonicalize merged params to `maxTokens`, preserving source precedence from
49
48
  * left to right across the provided source objects.
50
49
  */
51
- declare function canonicalizeMaxTokensParam(params: {
50
+ export declare function canonicalizeMaxTokensParam(params: {
52
51
  merged: Record<string, unknown>;
53
52
  sources: Array<Record<string, unknown> | undefined>;
54
53
  }): void;
@@ -64,11 +63,11 @@ type ModelPayloadDebugMode = "off" | "summary" | "tools" | "full-redacted";
64
63
  /** SSE debug detail levels accepted by `OPENCLAW_DEBUG_SSE`. */
65
64
  type ModelSseDebugMode = "off" | "events" | "peek";
66
65
  /** Resolves model payload debug verbosity from `OPENCLAW_DEBUG_MODEL_PAYLOAD`. */
67
- declare function resolveModelPayloadDebugMode(env?: ModelTransportDebugEnv): ModelPayloadDebugMode;
66
+ export declare function resolveModelPayloadDebugMode(env?: ModelTransportDebugEnv): ModelPayloadDebugMode;
68
67
  /** Resolves SSE stream debug verbosity from `OPENCLAW_DEBUG_SSE`. */
69
- declare function resolveModelSseDebugMode(env?: ModelTransportDebugEnv): ModelSseDebugMode;
68
+ export declare function resolveModelSseDebugMode(env?: ModelTransportDebugEnv): ModelSseDebugMode;
70
69
  /** Emits model-fetch metadata at info level by default; other diagnostics require debug env. */
71
- declare function emitModelTransportDebug(log: SubsystemLogger, message: string): void;
70
+ export declare function emitModelTransportDebug(log: SubsystemLogger, message: string): void;
72
71
  //#endregion
73
72
  //#region packages/ai/src/transports/model-transport-url.d.ts
74
73
  /**
@@ -76,29 +75,30 @@ declare function emitModelTransportDebug(log: SubsystemLogger, message: string):
76
75
  * Keeps logs useful without exposing credentials, request params, or fragments.
77
76
  */
78
77
  /** Return a sanitized URL suitable for logs and diagnostics. */
79
- declare function formatModelTransportDebugUrl(rawUrl: string): string;
78
+ export declare function formatModelTransportDebugUrl(rawUrl: string): string;
80
79
  /** Format a configured base URL for debug output, or the implicit default. */
81
- declare function formatModelTransportDebugBaseUrl(rawUrl: string | undefined): string;
80
+ export declare function formatModelTransportDebugBaseUrl(rawUrl: string | undefined): string;
82
81
  //#endregion
83
82
  //#region packages/ai/src/transports/openai-compatible-conversation-turn.d.ts
84
83
  /** Returns whether an OpenAI-compatible messages payload contains a usable turn. */
85
- declare function hasOpenAICompatibleConversationTurn(messages: unknown): boolean;
84
+ export declare function hasOpenAICompatibleConversationTurn(messages: unknown): boolean;
86
85
  //#endregion
87
86
  //#region packages/ai/src/transports/openai-completions-string-content.d.ts
88
87
  /** Flatten string-only text block content arrays into newline-joined strings. */
89
- declare function flattenCompletionMessagesToStringContent(messages: unknown[]): unknown[];
88
+ export declare function flattenCompletionMessagesToStringContent(messages: unknown[]): unknown[];
90
89
  /** Strip completion messages to role/content fields for strict providers. */
91
- declare function stripCompletionMessagesToRoleContent(messages: unknown[]): unknown[];
90
+ export declare function stripCompletionMessagesToRoleContent(messages: unknown[]): unknown[];
92
91
  //#endregion
93
92
  //#region packages/ai/src/transports/openai-transport-shared.d.ts
94
- declare const GEMINI_THOUGHT_SIGNATURE_VALIDATOR_SKIP = "skip_thought_signature_validator";
95
- declare const log: {
93
+ export declare const GEMINI_THOUGHT_SIGNATURE_VALIDATOR_SKIP = "skip_thought_signature_validator";
94
+ export declare const log: {
96
95
  debug(message: string, data?: Record<string, unknown>): void;
97
96
  info(message: string, data?: Record<string, unknown>): void;
98
97
  warn(message: string, data?: Record<string, unknown>): void;
99
98
  };
100
- type OpenAICompletionsTextSource = "reasoning_detail" | "refusal";
101
- type OpenAICompletionsContentDelta = {
99
+ export declare function resolveOpenAIClientBaseUrl(model: Pick<Model, "provider" | "baseUrl">, baseUrl?: string | undefined): string | undefined;
100
+ export type OpenAICompletionsTextSource = "reasoning_detail" | "refusal";
101
+ export type OpenAICompletionsContentDelta = {
102
102
  kind: "thinking";
103
103
  signature?: string;
104
104
  text: string;
@@ -113,7 +113,7 @@ type OpenAICompletionsReasoningBatch = {
113
113
  readonly hasThinking: boolean;
114
114
  readonly hasVisibleText: boolean;
115
115
  };
116
- declare function readOpenAICompletionsReasoningBatch(delta: Record<string, unknown>, visibleReasoningDetailTypes: ReadonlySet<string>): OpenAICompletionsReasoningBatch;
116
+ export declare function readOpenAICompletionsReasoningBatch(delta: Record<string, unknown>, visibleReasoningDetailTypes: ReadonlySet<string>): OpenAICompletionsReasoningBatch;
117
117
  type OpenAIModeCompatInput = Omit<OpenAICompletionsCompat, "thinkingFormat"> & {
118
118
  thinkingFormat?: string;
119
119
  requiresStringContent?: boolean;
@@ -122,45 +122,45 @@ type OpenAIModeCompatInput = Omit<OpenAICompletionsCompat, "thinkingFormat"> & {
122
122
  omitEmptyArrayItems?: unknown;
123
123
  visibleReasoningDetailTypes?: string[];
124
124
  };
125
- type OpenAIModeModel = Omit<Model, "compat"> & {
125
+ export type OpenAIModeModel = Omit<Model, "compat"> & {
126
126
  compat?: OpenAIModeCompatInput | null;
127
127
  };
128
128
  type MutableToolCall = ToolCall & {
129
129
  partialArgs?: string;
130
130
  };
131
- type MutableAssistantOutput = Omit<AssistantMessage, "content" | "usage"> & {
131
+ export type MutableAssistantOutput = Omit<AssistantMessage, "content" | "usage"> & {
132
132
  content: Array<TextContent | ThinkingContent | MutableToolCall>;
133
133
  usage: Usage & {
134
134
  reasoningTokens?: number;
135
135
  };
136
136
  };
137
- declare function parseOpenAICompletionsUsage(rawUsage: NonNullable<ChatCompletionChunk["usage"]> & {
137
+ export declare function parseOpenAICompletionsUsage(rawUsage: NonNullable<ChatCompletionChunk["usage"]> & {
138
138
  cost?: unknown;
139
139
  prompt_cache_hit_tokens?: number;
140
140
  }, model: Model, options?: {
141
141
  includeReasoningTokens?: boolean;
142
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>;
143
+ export declare function createOpenAIResponseHook(onResponse: BaseOpenAIStreamOptions["onResponse"], response: Response, model: Model): (() => void | Promise<void>) | undefined;
144
+ export declare function createOpenAIProviderAcceptanceHook(options: Pick<BaseOpenAIStreamOptions, "onResponse" | "signal"> | undefined, response: Response, model: Model): () => Promise<void>;
145
145
  type ModelStreamCooperativeScheduler = {
146
146
  afterEvent: () => Promise<void>;
147
147
  };
148
- declare function throwIfModelStreamAborted(signal?: AbortSignal): void;
148
+ export declare function throwIfModelStreamAborted(signal?: AbortSignal): void;
149
149
  /** Measure one UTF-8 append without double-counting a surrogate pair split across chunks. */
150
- declare function measureUtf8AppendBytes(bufferEndsWithHighSurrogate: boolean, chunk: string): {
150
+ export declare function measureUtf8AppendBytes(bufferEndsWithHighSurrogate: boolean, chunk: string): {
151
151
  bytes: number;
152
152
  endsWithHighSurrogate: boolean;
153
153
  };
154
- declare function createModelStreamCooperativeScheduler(signal?: AbortSignal): ModelStreamCooperativeScheduler;
155
- declare function resolvePromptCacheKey(options: Pick<BaseOpenAIStreamOptions, "promptCacheKey" | "sessionId"> | undefined, cacheRetention: "short" | "long" | "none"): string | undefined;
156
- declare function isOpenAICompletionsThinkingEnabled(effort: string): boolean;
157
- declare function readOpenAICompletionsContentDeltas(content: unknown, topLevelRefusal?: unknown, mirroredThinking?: readonly string[]): OpenAICompletionsContentDelta[];
154
+ export declare function createModelStreamCooperativeScheduler(signal?: AbortSignal): ModelStreamCooperativeScheduler;
155
+ export declare function resolvePromptCacheKey(options: Pick<BaseOpenAIStreamOptions, "promptCacheKey" | "sessionId"> | undefined, cacheRetention: "short" | "long" | "none"): string | undefined;
156
+ export declare function isOpenAICompletionsThinkingEnabled(effort: string): boolean;
157
+ export declare function readOpenAICompletionsContentDeltas(content: unknown, topLevelRefusal?: unknown, mirroredThinking?: readonly string[]): OpenAICompletionsContentDelta[];
158
158
  //#endregion
159
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>;
160
+ export declare function buildOpenAICompletionsParams(model: OpenAIModeModel, context: Context, options: OpenAICompletionsOptions | undefined): Record<string, unknown>;
161
161
  //#endregion
162
162
  //#region packages/ai/src/transports/openai-completions-transport.d.ts
163
- declare function createOpenAICompletionsTransportStreamFn(): StreamFn;
163
+ export declare function createOpenAICompletionsTransportStreamFn(): StreamFn;
164
164
  //#endregion
165
165
  //#region packages/ai/src/transports/openai-reasoning-compat.d.ts
166
166
  /** Minimal model fields needed to resolve OpenAI reasoning effort compatibility. */
@@ -170,11 +170,11 @@ type OpenAIReasoningCompatModel = {
170
170
  compat?: unknown;
171
171
  };
172
172
  /** Resolves the reasoning effort remap for an OpenAI-compatible model. */
173
- declare function resolveOpenAIReasoningEffortMap(model: OpenAIReasoningCompatModel, fallbackMap?: Record<string, string>): Record<string, string>;
173
+ export declare function resolveOpenAIReasoningEffortMap(model: OpenAIReasoningCompatModel, fallbackMap?: Record<string, string>): Record<string, string>;
174
174
  //#endregion
175
175
  //#region packages/ai/src/transports/openai-responses-replay.d.ts
176
176
  /** Resolves the assistant message id that can be replayed to OpenAI Responses. */
177
- declare function resolveReplayableResponsesMessageId(params: {
177
+ export declare function resolveReplayableResponsesMessageId(params: {
178
178
  replayResponsesItemIds: boolean;
179
179
  textSignatureId?: string;
180
180
  fallbackId: string;
@@ -183,14 +183,17 @@ declare function resolveReplayableResponsesMessageId(params: {
183
183
  }): string | undefined;
184
184
  //#endregion
185
185
  //#region packages/ai/src/transports/openai-responses-client.d.ts
186
- declare function createOpenAIResponsesClient(model: Model, context: Context, apiKey: string, optionHeaders?: Record<string, string>, turnHeaders?: Record<string, string>, sessionId?: string): OpenAI;
187
- declare function createOpenAIResponsesTransportStreamFn(): StreamFn;
188
- declare function createAzureOpenAIResponsesTransportStreamFn(): StreamFn;
189
- declare function createAzureOpenAIClient(model: Model, context: Context, apiKey: string, optionHeaders?: Record<string, string>, turnHeaders?: Record<string, string>): OpenAI;
186
+ declare function createOpenAIResponsesClient(model: Model, context: Context, apiKey: string, optionHeaders?: Record<string, string>, turnHeaders?: Record<string, string>, sessionId?: string, fetchOverride?: typeof globalThis.fetch): OpenAI;
187
+ export declare function createOpenAIResponsesTransportStreamFn(): StreamFn;
188
+ export declare function createAzureOpenAIResponsesTransportStreamFn(): StreamFn;
189
+ declare function createAzureOpenAIClient(model: Model, context: Context, apiKey: string, optionHeaders?: Record<string, string>, turnHeaders?: Record<string, string>, _sessionId?: string, fetchOverride?: typeof globalThis.fetch): OpenAI;
190
190
  //#endregion
191
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;
192
+ export declare function captureOpenAIResponsesCompaction(output: Pick<AssistantMessage, "providerReplay">, item: ReplayableResponseCompactionItem, boundary: number | "retained-users", model: Model, captureMetadata?: OpenAIResponsesReasoningReplayMetadata, compactedOutput?: OpenAIResponsesCompactionOutput): void;
193
193
  type OpenAIResponsesReplayMode = "checkpoint" | "full-history";
194
+ export declare class CompactionReplayRefreshRequiredError extends Error {
195
+ constructor();
196
+ }
194
197
  declare function buildOpenAIResponsesReasoningReplayMetadata(model: Model, options?: Pick<BaseOpenAIStreamOptions, "authProfileId" | "sessionId">): OpenAIResponsesReasoningReplayMetadata;
195
198
  //#endregion
196
199
  //#region packages/ai/src/transports/openai-responses-debug.d.ts
@@ -215,6 +218,7 @@ type ResponsesFailedNoDetailsObservation = {
215
218
  type ResponsesFailedEventSummary = {
216
219
  message: string;
217
220
  responseId?: string;
221
+ code?: string;
218
222
  observation?: ResponsesFailedNoDetailsObservation;
219
223
  };
220
224
  declare function buildResponsesFailedNoDetailsObservation(event: Record<string, unknown>, model: Model, response?: Record<string, unknown> | undefined): ResponsesFailedNoDetailsObservation;
@@ -249,12 +253,20 @@ type ResponsesEncryptedContentAttempt<TRequest extends ResponsesEncryptedContent
249
253
  declare function createResponsesStreamWithEncryptedContentRetry(params: {
250
254
  client: ResponsesClientLike;
251
255
  request: OpenAIResponsesRequestParams;
252
- requestOptions: unknown;
256
+ requestOptions: {
257
+ signal?: AbortSignal;
258
+ } | undefined;
253
259
  model: Model;
254
260
  observePrompt?: NonNullable<ReturnType<typeof createResponsesPromptEgressObserver>>;
255
261
  initialAttemptKind?: ResponsesEncryptedContentAttemptKind;
256
262
  initialRejectedCompaction?: OpenAIResponsesCompactionRejection;
257
263
  onCompactionRejected?: (checkpoint: OpenAIResponsesCompactionRejection) => void;
264
+ canRetryStream?: () => boolean;
265
+ wrapStream?: (result: {
266
+ stream: AsyncIterable<unknown>;
267
+ response: Response;
268
+ attempt: ResponsesEncryptedContentAttempt<OpenAIResponsesRequestParams>;
269
+ }) => AsyncIterable<unknown>;
258
270
  buildFullHistoryRequest?: () => OpenAIResponsesRequestParams | Promise<OpenAIResponsesRequestParams>;
259
271
  }): Promise<{
260
272
  stream: AsyncIterable<unknown>;
@@ -268,7 +280,7 @@ type ResponsesEventSink = {
268
280
  push(event: AssistantMessageEvent): void;
269
281
  };
270
282
  //#endregion
271
- //#region packages/ai/src/transports/openai-responses-stream-internal.d.ts
283
+ //#region packages/ai/src/transports/openai-responses-stream-types-internal.d.ts
272
284
  type ResponsesStreamOptions = FirstStreamEventInternalOptions & {
273
285
  serviceTier?: ResponseCreateParamsStreaming["service_tier"];
274
286
  resolveServiceTier?: (responseServiceTier: ResponseCreateParamsStreaming["service_tier"] | undefined, requestServiceTier: ResponseCreateParamsStreaming["service_tier"] | undefined) => ResponseCreateParamsStreaming["service_tier"] | undefined;
@@ -276,25 +288,27 @@ type ResponsesStreamOptions = FirstStreamEventInternalOptions & {
276
288
  signal?: AbortSignal;
277
289
  reasoningReplayMetadata?: OpenAIResponsesReasoningReplayMetadata;
278
290
  };
291
+ //#endregion
292
+ //#region packages/ai/src/transports/openai-responses-stream-internal.d.ts
279
293
  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
294
  //#endregion
281
295
  //#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: {
296
+ export declare function readCodeModePayloadToolName(tool: unknown): string | undefined;
297
+ export declare function filterCodeModePayloadTools(payload: unknown, visibleToolNames: ReadonlySet<string>, allowedHostedToolTypes?: ReadonlySet<string>, observer?: (observation: CodeModeToolSurfaceObservation) => void): void;
298
+ export declare function resolveCodeModeResponsesVisibleToolNames(context: Pick<Context, "tools">): ReadonlySet<string>;
299
+ export declare function enforceCodeModeResponsesToolSurface(payload: unknown, visibleToolNames: ReadonlySet<string>, allowedHostedToolTypes?: ReadonlySet<string>, observer?: (observation: CodeModeToolSurfaceObservation) => void): void;
300
+ export declare function assertCodeModeResponsesToolSurface(payload: unknown, visibleToolNames: ReadonlySet<string>, allowedHostedToolTypes?: ReadonlySet<string>): void;
301
+ export declare function resolveOpenAIStrictToolFlagWithDiagnostics(projection: OpenAIToolProjection, strictSetting: boolean | null | undefined, context: {
288
302
  transport: "responses" | "completions";
289
303
  model: OpenAIModeModel;
290
304
  }): 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): {
305
+ export declare function isOpenAICodexResponsesModel(model: Model): boolean;
306
+ export declare function usesNativeOpenAICodexResponsesBackend(model: Model): boolean;
307
+ export declare function buildOpenAIClientHeaders(model: Model, context: Context, optionHeaders?: Record<string, string>, turnHeaders?: Record<string, string>, sessionId?: string): Record<string, string>;
308
+ export declare function buildOpenAISdkClientOptions(model: Model): {
295
309
  timeout?: number;
296
310
  };
297
- declare function buildOpenAISdkRequestOptions(model: Model, signal?: AbortSignal, options?: {
311
+ export declare function buildOpenAISdkRequestOptions(model: Model, signal?: AbortSignal, options?: {
298
312
  stream?: boolean;
299
313
  timeoutMs?: number;
300
314
  maxRetries?: number;
@@ -304,7 +318,7 @@ declare function buildOpenAISdkRequestOptions(model: Model, signal?: AbortSignal
304
318
  maxRetries?: number;
305
319
  headers?: Record<string, string>;
306
320
  } | undefined;
307
- declare function getCompat(model: OpenAIModeModel): {
321
+ export declare function getCompat(model: OpenAIModeModel): {
308
322
  cacheControlFormat: "anthropic" | undefined;
309
323
  reasoningEffortMap: Record<string, string>;
310
324
  openRouterRouting: Record<string, unknown>;
@@ -333,6 +347,7 @@ declare function getCompat(model: OpenAIModeModel): {
333
347
  //#endregion
334
348
  //#region packages/ai/src/transports/openai-responses-compact-request.d.ts
335
349
  type OpenAIResponsesCompactEndpointResult = {
350
+ output: OpenAIResponsesCompactionOutput;
336
351
  item: {
337
352
  type: "compaction";
338
353
  id?: string;
@@ -347,7 +362,7 @@ type OpenAIResponsesCompactEndpointResult = {
347
362
  replayMetadata: OpenAIResponsesReasoningReplayMetadata;
348
363
  };
349
364
  /** 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>;
365
+ export declare function requestPreparedOpenAIResponsesCompaction(streamFn: StreamFn, model: Model, context: Context, options: OpenAIResponsesOptions): Promise<OpenAIResponsesCompactEndpointResult>;
351
366
  //#endregion
352
367
  //#region packages/ai/src/transports/openai-responses-transport.d.ts
353
368
  declare const responsesTesting: {
@@ -380,16 +395,43 @@ declare global {
380
395
  }
381
396
  //#endregion
382
397
  //#region packages/ai/src/transports/provider-compaction-replay.d.ts
398
+ type ReplayIdentity = {
399
+ sessionId?: string;
400
+ authProfileId?: string;
401
+ enabled?: boolean;
402
+ };
403
+ type ReplayMessage = {
404
+ role: string;
405
+ };
406
+ type ReplayPressureEstimator = {
407
+ text(value: string): number;
408
+ image(): number;
409
+ json(value: unknown): number;
410
+ };
411
+ /** Resolve from prepared transport facts; never retain or return credential material. */
412
+ export declare function resolveCompactionReplayEligibility(model: Model, options: {
413
+ extraParams?: Record<string, unknown>;
414
+ apiKey?: string;
415
+ }): boolean;
416
+ /** Manual recovery uses the durable client compactor, never a guessed retained-user prefix. */
417
+ export declare function requiresCompactionReplayRefresh(messages: readonly ReplayMessage[], model: Model, identity: ReplayIdentity): boolean;
418
+ /** Carry a checkpoint immediately after reference-preserving history limiting, before repair. */
419
+ export declare function preserveCompactionReplayWindow<T extends ReplayMessage>(source: readonly T[], windowed: T[], model: Model, identity: ReplayIdentity): T[];
420
+ /** Estimate the canonical prefix and its tail once, independent of unbound usage snapshots. */
421
+ export declare function resolveCompactionReplayPressure<T extends ReplayMessage>(messages: T[], model: Model, identity: ReplayIdentity, estimate: ReplayPressureEstimator): {
422
+ messages: T[];
423
+ prefixTokens: number;
424
+ } | undefined;
383
425
  /** Whether provider replay state is a prefix-bound server compaction checkpoint. */
384
- declare function isCompactionReplayCheckpoint(replay: unknown): replay is ProviderReplayState;
426
+ export declare function isCompactionReplayCheckpoint(replay: unknown): replay is ProviderReplayState;
385
427
  /** Strip prefix-bound checkpoints after local history rewrites. */
386
- declare function stripCompactionReplayCheckpoint(message: AssistantMessage): AssistantMessage;
428
+ export declare function stripCompactionReplayCheckpoint(message: AssistantMessage): AssistantMessage;
387
429
  /** Strip prefix-bound checkpoint state from an in-place message rewrite. */
388
- declare function stripCompactionReplayCheckpointInPlace(message: {
430
+ export declare function stripCompactionReplayCheckpointInPlace(message: {
389
431
  providerReplay?: unknown;
390
432
  }): void;
391
433
  /** Reindex a prefix-bound checkpoint after known content removals. */
392
- declare function replaceCompactionReplayOwnerContent(message: AssistantMessage, content: AssistantMessage["content"]): AssistantMessage;
434
+ export declare function replaceCompactionReplayOwnerContent(message: AssistantMessage, content: AssistantMessage["content"]): AssistantMessage;
393
435
  //#endregion
394
436
  //#region packages/ai/src/transports/provider-transport-stream.d.ts
395
437
  type ProviderTransportStreamContext = {
@@ -399,133 +441,29 @@ type ProviderTransportStreamContext = {
399
441
  env?: NodeJS.ProcessEnv;
400
442
  };
401
443
  /** Maps public model APIs to the internal transport API id used by simple runtime dispatch. */
402
- declare function resolveTransportAwareSimpleApi(api: Api): Api | undefined;
444
+ export declare function resolveTransportAwareSimpleApi(api: Api): Api | undefined;
403
445
  /** Creates a managed transport stream only when request overrides require it. */
404
- declare function createTransportAwareStreamFnForModel(model: Model, ctx?: ProviderTransportStreamContext): StreamFn | undefined;
446
+ export declare function createTransportAwareStreamFnForModel(model: Model, ctx?: ProviderTransportStreamContext): StreamFn | undefined;
405
447
  /** Creates a managed OpenClaw transport stream for explicit fallback/runtime callers. */
406
- declare function createOpenClawTransportStreamFnForModel(model: Model, ctx?: ProviderTransportStreamContext): StreamFn | undefined;
407
- declare function createBoundaryAwareStreamFnForModel(model: Model, ctx?: ProviderTransportStreamContext): StreamFn | undefined;
408
- declare function prepareTransportAwareSimpleModel<TApi extends Api>(model: Model<TApi>, ctx?: ProviderTransportStreamContext): Model;
409
- declare function buildTransportAwareSimpleStreamFn(model: Model, ctx?: ProviderTransportStreamContext): StreamFn | undefined;
448
+ export declare function createOpenClawTransportStreamFnForModel(model: Model, ctx?: ProviderTransportStreamContext): StreamFn | undefined;
449
+ export declare function createBoundaryAwareStreamFnForModel(model: Model, ctx?: ProviderTransportStreamContext): StreamFn | undefined;
450
+ export declare function prepareTransportAwareSimpleModel<TApi extends Api>(model: Model<TApi>, ctx?: ProviderTransportStreamContext): Model;
451
+ export declare function buildTransportAwareSimpleStreamFn(model: Model, ctx?: ProviderTransportStreamContext): StreamFn | undefined;
410
452
  //#endregion
411
453
  //#region packages/ai/src/transports/responses-image-payload-sanitizer.d.ts
412
454
  /** Sanitize inline image fields inside a Responses API payload. */
413
- declare function sanitizeResponsesImagePayload<T extends Record<string, unknown>>(params: T): T;
455
+ export declare function sanitizeResponsesImagePayload<T extends Record<string, unknown>>(params: T): T;
414
456
  //#endregion
415
457
  //#region packages/ai/src/transports/simple-completion-transport.d.ts
416
- declare function normalizeCodexResponsesBaseUrlForOpenAISdk(baseUrl?: string): string;
417
- declare function prepareModelForSimpleCompletion<TApi extends Api>(params: {
458
+ export declare function normalizeCodexResponsesBaseUrlForOpenAISdk(baseUrl?: string): string;
459
+ export declare function prepareModelForSimpleCompletion<TApi extends Api>(params: {
418
460
  apiRegistry: ApiRegistry;
419
461
  model: Model<TApi>;
420
462
  cfg?: unknown;
421
463
  }): Model;
422
464
  //#endregion
423
- //#region packages/ai/src/transports/transport-stream-shared.d.ts
424
- type ContextUsage = NonNullable<Usage["contextUsage"]>;
425
- type TransportUsage = {
426
- input: number;
427
- output: number;
428
- cacheRead: number;
429
- cacheWrite: number;
430
- contextUsage?: ContextUsage;
431
- totalTokens: number;
432
- cost: {
433
- input: number;
434
- output: number;
435
- cacheRead: number;
436
- cacheWrite: number;
437
- total: number;
438
- };
439
- };
440
- type WritableTransportStream = Pick<ReturnType<typeof createAssistantMessageEventStream>, "push" | "end">;
441
- declare function sanitizeTransportPayloadText(text: string): string;
442
- declare function sanitizeNonEmptyTransportPayloadText(text: string, fallback?: string): string;
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;
450
- declare function mergeTransportHeaders(...headerSources: Array<Record<string, string> | undefined>): Record<string, string> | undefined;
451
- declare function mergeTransportMetadata<T extends Record<string, unknown>>(payload: T, metadata?: Record<string, string>): T;
452
- declare function createEmptyTransportUsage(): TransportUsage;
453
- declare function createWritableTransportEventStream(): {
454
- eventStream: AssistantMessageEventStream;
455
- stream: AssistantMessageEventStream;
456
- };
457
- /**
458
- * Abort error to surface for an aborted `signal`.
459
- *
460
- * Rethrows the caller's abort reason only when it carries a `code`, so that code
461
- * survives into `errorCode` on the persisted assistant message and consumers can
462
- * recognize an abort's origin without matching error text. A default
463
- * `abort()` reason is an uncoded DOMException that carries nothing the synthetic
464
- * error does not, so it keeps the "Request was aborted" text every transport
465
- * already emits rather than churning it.
466
- */
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>;
512
- declare function finalizeTransportStream(params: {
513
- stream: WritableTransportStream;
514
- output: AssistantMessage;
515
- signal?: AbortSignal;
516
- }): 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;
519
- declare function failTransportStream(params: {
520
- stream: WritableTransportStream;
521
- output: AssistantMessage;
522
- signal?: AbortSignal;
523
- error: unknown;
524
- cleanup?: () => void;
525
- }): void;
526
- //#endregion
527
465
  //#region packages/ai/src/transports/transport-utils.d.ts
528
- declare const MALFORMED_STREAMING_FRAGMENT_ERROR_MESSAGE = "OpenClaw transport error: malformed_streaming_fragment";
529
- declare function isCodeModeModelVisibleToolName(name: string, visibleToolNames: ReadonlySet<string>): boolean;
466
+ export declare const MALFORMED_STREAMING_FRAGMENT_ERROR_MESSAGE = "OpenClaw transport error: malformed_streaming_fragment";
467
+ export declare function isCodeModeModelVisibleToolName(name: string, visibleToolNames: ReadonlySet<string>): boolean;
530
468
  //#endregion
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 };
469
+ export { type OpenAICompletionsOptions, type OpenAIResponsesCompactionRejection, ProviderAcceptance, ResolvedOpenAICompletionsCompat, WritableTransportStream, applyAnthropicCacheControlToMessages, applyAnthropicEphemeralCacheControlMarkers, applyAnthropicPayloadPolicyToParams, applyOpenAIResponsesPayloadPolicy, assignTransportErrorDetails, coerceTransportToolCallArguments, copyProviderAcceptanceObserver, createEmptyTransportUsage, createWritableTransportEventStream, detectOpenAICompletionsCompat, failTransportStream, finalizeTerminalToolCallArguments, finalizeTransportStream, mergeTransportHeaders, mergeTransportMetadata, notifyProviderHttpMetadata, notifyProviderHttpResponse, notifyProviderStreamOpened, parseTerminalToolCallArguments, resolveAnthropicEphemeralCacheControl, resolveAnthropicPayloadPolicy, resolveAnthropicServerCompactionPlan, resolveOpenAICompletionsCompat, resolveOpenAIResponsesCompactEndpointPlan, resolveOpenAIResponsesPayloadPolicy, resolveOpenAIResponsesServerCompactionPlan, sanitizeNonEmptyTransportPayloadText, sanitizeTransportPayloadText, sortPromptCacheToolsByName as sortTransportToolsByName, transportAbortError, withProviderAcceptanceObserver, withProviderResponseHook };