@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.
- package/dist/{anthropic-CE-7SkF6.mjs → anthropic-B8KwTtlb.mjs} +62 -37
- package/dist/{anthropic-SrGtwsJu.d.mts → anthropic-BECQCNdF.d.mts} +0 -2
- package/dist/{src-QkygScBs.mjs → anthropic-BQXQudmA.mjs} +0 -2
- package/dist/{anthropic-usage-Ma4iX6uG.mjs → anthropic-compaction-replay-4Zx7-aCr.mjs} +225 -103
- package/dist/anthropic-payload-policy-CSx7MoKH.d.mts +50 -0
- package/dist/{api-registry-EpJoVwM1.d.mts → api-registry-DFxSnFqG.d.mts} +1 -1
- package/dist/{azure-openai-responses-Cc_kasye.mjs → azure-openai-responses-Aa4mVcYG.mjs} +23 -29
- package/dist/diagnostics.d.mts +24 -1
- package/dist/diagnostics.mjs +2 -1
- package/dist/event-stream-BVVgDSdq.d.mts +1 -0
- package/dist/{event-stream-DRmDMRHH.d.mts → event-stream-D91-ohD_.d.mts} +3 -1
- package/dist/{event-stream-CEV9t6da.mjs → event-stream-uSMZJ3FA.mjs} +16 -3
- package/dist/event-stream.d.mts +1 -1
- package/dist/event-stream.mjs +1 -1
- package/dist/{google-shared-Cq2UKx1l.mjs → google-shared-M1dl64nz.mjs} +17 -19
- package/dist/google-thinking-level-C-V3tecN.mjs +9 -0
- package/dist/{google-vertex-CusxWzvE.mjs → google-vertex-DCJHM_a5.mjs} +5 -4
- package/dist/{google-CGQu21aw.mjs → google-yDRnipeq.mjs} +4 -4
- package/dist/host-DF_yxOsA.mjs +477 -0
- package/dist/{host-Dn4_SZI2.d.mts → host-DJq_FGcz.d.mts} +13 -8
- package/dist/index.d.mts +7 -7
- package/dist/index.mjs +7 -5
- package/dist/internal/anthropic.d.mts +21 -7
- package/dist/internal/anthropic.mjs +5 -5
- package/dist/internal/openai-responses-payload-policy.d.mts +3 -0
- package/dist/internal/openai-responses-payload-policy.mjs +3 -0
- package/dist/internal/openai.d.mts +6 -6
- package/dist/internal/openai.mjs +9 -7
- package/dist/internal/runtime.d.mts +19 -5
- package/dist/internal/runtime.mjs +85 -72
- package/dist/internal/shared.d.mts +17 -8
- package/dist/internal/shared.mjs +4 -5
- package/dist/{json-parse-BvXNt1-7.mjs → json-parse-CDnesDM_.mjs} +4 -6
- package/dist/{mistral-Dx6VzNjf.mjs → mistral-D6hRXI7A.mjs} +67 -72
- package/dist/{number-coercion-1Miyb5MO.mjs → number-coercion-H9qHik3g.mjs} +7 -2
- package/dist/openai-chatgpt-jwt-KWcgd0d_.mjs +19 -0
- package/dist/{openai-chatgpt-responses-SC9m0FSf.mjs → openai-chatgpt-responses-C339VIfT.mjs} +235 -146
- package/dist/{openai-completions-BaIpl93j.mjs → openai-completions-D88orSJ9.mjs} +88 -67
- package/dist/openai-completions-compat-B0KTleXp.d.mts +43 -0
- package/dist/{openai-responses-Bdx3V_Yu.mjs → openai-responses-BXEcr-Tp.mjs} +17 -24
- package/dist/openai-responses-contracts-CD75pQ0m.d.mts +68 -0
- package/dist/openai-responses-contracts-DvILoqBk.mjs +247 -0
- package/dist/openai-responses-payload-policy-BDo8CQsx.mjs +208 -0
- package/dist/openai-responses-payload-policy-CNGFT9zr.d.mts +41 -0
- package/dist/{openai-responses-prompt-observer-internal-DDZPxRfr.mjs → openai-responses-prompt-observer-internal-BG-1AsBI.mjs} +2 -3
- package/dist/{openai-responses-stream-internal-Bl8YyVtF.mjs → openai-responses-shared-Cvt5MgEm.mjs} +1287 -1039
- package/dist/{openai-reasoning-compat-DKebnIBL.mjs → openai-stop-reason-9OONKyAm.mjs} +222 -180
- package/dist/{openai-transport-shared-Cipt7egQ.mjs → openai-tool-projection-CHGLt03m.mjs} +239 -128
- package/dist/provider-error-C8mBRJDl.mjs +424 -0
- package/dist/provider-error-CzNw4BWX.d.mts +12 -0
- package/dist/provider-options-AvldWZt8.mjs +21 -0
- package/dist/{provider-options-C5kYML7i.d.mts → provider-options-Cc5ZQ6Aa.d.mts} +19 -3
- package/dist/provider-transcript-transform--gtf0ZbR.mjs +32 -0
- package/dist/provider-types.d.mts +31 -0
- package/dist/provider-types.mjs +8 -0
- package/dist/providers.d.mts +1 -1
- package/dist/providers.mjs +17 -19
- package/dist/{reasoning-tag-text-partitioner-CGDyLWUR.mjs → reasoning-tag-text-partitioner-5ygO2rZc.mjs} +17 -8
- package/dist/record-coerce-DdXsgUd_.mjs +23 -0
- package/dist/{model-utils-Dau5dlgm.mjs → sanitize-unicode-BP7HLLZn.mjs} +28 -2
- package/dist/session-resources-CkR4WWy1.mjs +21 -0
- package/dist/simple-options-oqsXB6U3.mjs +450 -0
- package/dist/src-D2H6yKkH.mjs +2 -0
- package/dist/{stream-first-event-timeout-BIBomOGq.mjs → stream-first-event-timeout-MK28puvq.mjs} +2 -2
- package/dist/string-coerce-fsri9iCu.mjs +34 -0
- package/dist/{tool-schema-json-projection-B1b-XCn5.mjs → tool-schema-json-projection-FEr-jOoZ.mjs} +20 -13
- package/dist/transport-utils-Bv0FHkd0.mjs +138 -0
- package/dist/transports.d.mts +199 -209
- package/dist/transports.mjs +1842 -1364
- package/dist/types-BDdaOVi2.mjs +6 -0
- package/dist/{types-CH7ReIcU.d.mts → types-DTAP49HF.d.mts} +35 -2
- package/dist/types.d.mts +5 -5
- package/dist/types.mjs +6 -4
- package/dist/utf16-slice-CvGodqok.mjs +29 -0
- package/dist/{validation-DAa_yFOM.mjs → validation-B61OhAio.mjs} +6 -6
- package/dist/{validation-CcPcuEbR.d.mts → validation-DYNNrU9u.d.mts} +1 -1
- package/dist/validation.d.mts +1 -1
- package/dist/validation.mjs +1 -1
- package/package.json +15 -1
- package/dist/host-Bl7Kgddo.mjs +0 -407
- package/dist/openai-chatgpt-jwt-DhAAzLkj.mjs +0 -39
- package/dist/openai-responses-contracts-BBKBfAqR.d.mts +0 -116
- package/dist/openai-responses-shared-CCyMvg7M.mjs +0 -403
- package/dist/provider-error-DI0Ts28U.mjs +0 -47
- package/dist/sanitize-unicode-DT5o51ur.mjs +0 -26
- package/dist/tool-result-text-Dvkp2Dus.mjs +0 -274
- package/dist/transform-messages-DfjpNXNQ.mjs +0 -2
- package/dist/transport-stream-shared-CPNv7A3r.mjs +0 -297
package/dist/transports.d.mts
CHANGED
|
@@ -1,47 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as AssistantMessageEventStream } from "./event-stream-
|
|
3
|
-
import { n as ApiRegistry } from "./api-registry-
|
|
4
|
-
import { a as
|
|
5
|
-
import { a as
|
|
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?:
|
|
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
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
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-
|
|
190
|
-
declare function
|
|
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
|
|
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
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
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<
|
|
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:
|
|
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:
|
|
514
|
+
output: AssistantMessage;
|
|
527
515
|
signal?: AbortSignal;
|
|
528
516
|
}): void;
|
|
529
|
-
|
|
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:
|
|
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 };
|