@openclaw/ai 2026.10.1 → 2026.10.5-beta.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.
- package/README.md +6 -0
- package/dist/{anthropic-BDfXKgF1.mjs → anthropic-BAHKgWam.mjs} +30 -59
- package/dist/{anthropic-payload-policy-BZUAchqb.d.mts → anthropic-payload-policy-DGblkHL5.d.mts} +19 -16
- package/dist/{anthropic-stream-reducer-DHt9uFWX.mjs → anthropic-stream-reducer-g6w1YVii.mjs} +195 -283
- package/dist/{api-registry-DcEP_o4h.d.mts → api-registry-BhXXYdRA.d.mts} +2 -2
- package/dist/assistant-message-events-CHMJgbhs.mjs +18 -0
- package/dist/{assistant-output-mJ9cL4Qg.mjs → assistant-output-CUEeSotf.mjs} +2 -2
- package/dist/{assistant-text-phase-DAv1BdTm.mjs → assistant-text-phase-BrV8KdFO.mjs} +7 -6
- package/dist/{azure-openai-responses-gn9hMf8x.mjs → azure-openai-responses-C7qBuR23.mjs} +8 -9
- package/dist/{credential-redaction-BKv49aiv.d.mts → credential-redaction-BHxruEH6.d.mts} +3 -1
- package/dist/{diagnostics-Caj-4RBA.mjs → diagnostics-tQasYct1.mjs} +10 -3
- package/dist/diagnostics.d.mts +7 -7
- package/dist/diagnostics.mjs +3 -3
- package/dist/{env-api-keys-CyX4VKGO.mjs → env-api-keys-CrxwdylR.mjs} +24 -35
- package/dist/event-stream-6UNs-AhN.d.mts +1 -0
- package/dist/{event-stream-DrRM_90c.d.mts → event-stream-BcqWLo_u.d.mts} +1 -1
- package/dist/{event-stream-C5AbCAaZ.mjs → event-stream-X2gmsUWv.mjs} +5 -8
- package/dist/event-stream.d.mts +2 -2
- package/dist/event-stream.mjs +1 -1
- package/dist/google-Boz2QcpK.mjs +20 -0
- package/dist/{google-interactions-DXu4IYGb.mjs → google-interactions-tjAb1mc5.mjs} +52 -84
- package/dist/{google-messages-Bmheetdg.mjs → google-messages-C-RZzloH.mjs} +25 -35
- package/dist/google-provider-stream-CMImyxbX.mjs +58 -0
- package/dist/{google-shared-DE_ddfsC.mjs → google-shared-OyAtMTZv.mjs} +6 -15
- package/dist/google-vertex-hCxTJea7.mjs +40 -0
- package/dist/{host-BjIYEjwT.d.mts → host-CTDz7LXD.d.mts} +6 -3
- package/dist/{host-JpNulOOs.mjs → host-JWXZWa-c.mjs} +3 -2
- package/dist/{host-policy-CC5H0iRZ.mjs → host-policy-q4Azym9F.mjs} +1 -1
- package/dist/{index-DJrNQnKw.d.mts → index-BYDvopUB.d.mts} +8 -5
- package/dist/index.d.mts +7 -7
- package/dist/index.mjs +7 -6
- package/dist/internal/anthropic.d.mts +5 -5
- package/dist/internal/anthropic.mjs +4 -4
- package/dist/internal/openai-completions-compat.d.mts +1 -1
- package/dist/internal/openai-completions-compat.mjs +1 -1
- package/dist/internal/openai-responses-payload-policy.d.mts +8 -1
- package/dist/internal/openai-responses-payload-policy.mjs +3 -3
- package/dist/internal/openai.d.mts +9 -9
- package/dist/internal/openai.mjs +9 -11
- package/dist/internal/runtime.d.mts +31 -13
- package/dist/internal/runtime.mjs +10 -13
- package/dist/internal/shared.d.mts +5 -5
- package/dist/internal/shared.mjs +6 -7
- package/dist/internal/tool-schema.mjs +2 -2
- package/dist/{llm-request-activity-D8f_oxHj.mjs → llm-request-activity-CfMuh5cC.mjs} +2 -2
- package/dist/{mistral-1Bnbneg1.mjs → mistral-DUveP4hF.mjs} +71 -146
- package/dist/{model-transport-url-C5f59L3Y.d.mts → model-transport-url-BrsjjdjR.d.mts} +5 -1
- package/dist/{number-coercion-V8-BhME4.mjs → number-coercion-C3hztWoY.mjs} +5 -4
- package/dist/{openai-chatgpt-responses-CB1JwNFF.mjs → openai-chatgpt-responses-OCwckGhY.mjs} +164 -234
- package/dist/{openai-completions-BPadHHKe.mjs → openai-completions-DOltBUe9.mjs} +7 -6
- package/dist/{openai-completions-compat-CJ0ktmGy.d.mts → openai-completions-compat-i-nLZxFy.d.mts} +10 -11
- package/dist/{openai-completions-compat-D7hWYB0G.mjs → openai-completions-compat-pg1q4uNG.mjs} +10 -6
- package/dist/{openai-completions-transport-DITBEALX.mjs → openai-completions-transport-OMrn7gnZ.mjs} +1429 -294
- package/dist/{openai-prompt-cache-Dj8qeOHT.mjs → openai-prompt-cache-Cr2xKVrS.mjs} +1 -1
- package/dist/{openai-prompt-cache-C-Q1Ksfs.d.mts → openai-prompt-cache-DIPMrMFy.d.mts} +2 -2
- package/dist/{openai-responses-1_TvcWI3.mjs → openai-responses-BSBJUA19.mjs} +9 -10
- package/dist/{openai-responses-compaction-replay-BB2SWdsx.d.mts → openai-responses-compaction-replay-B2FE4Nw8.d.mts} +4 -4
- package/dist/{openai-responses-contracts-sAvdqNjS.d.mts → openai-responses-contracts-DKqMJ1Ct.d.mts} +9 -4
- package/dist/{openai-responses-contracts-BKu8O7l4.mjs → openai-responses-contracts-DlKMMTxK.mjs} +26 -6
- package/dist/{openai-responses-compaction-window-m878aVpU.mjs → openai-responses-endpoint-CinGh4VZ.mjs} +14 -4
- package/dist/{openai-responses-prompt-observer-internal-CbH84xIS.mjs → openai-responses-request-lifecycle-D2IFiI0-.mjs} +39 -4
- package/dist/{openai-responses-shared-TCJRAoMW.mjs → openai-responses-shared-DVGhq5xF.mjs} +1036 -327
- package/dist/{openai-responses-terminal-usage-BVvyXZ8u.d.mts → openai-responses-terminal-usage-BygjiAdi.d.mts} +2 -2
- package/dist/{openai-tool-schema-DYNePiF8.mjs → openai-tool-schema-DDPXsvJP.mjs} +236 -399
- package/dist/{positive-integer-CwLi8LUL.mjs → positive-integer-CqWjqSi9.mjs} +1 -1
- package/dist/{provider-error-DQBE1bUQ.mjs → provider-error-CF9GWCs2.mjs} +5 -3
- package/dist/{provider-options-Dk4PeQV3.d.mts → provider-options-CVrXZBtA.d.mts} +3 -2
- package/dist/{provider-transport-turn-state-8c_Nj2NS.mjs → provider-transport-turn-state-LuCaTsSO.mjs} +2 -2
- package/dist/{provider-types-De8PRdR0.d.mts → provider-types-CHtRx0dI.d.mts} +3 -3
- package/dist/provider-types.d.mts +6 -6
- package/dist/providers.d.mts +2 -2
- package/dist/providers.mjs +12 -12
- package/dist/{reasoning-tag-text-partitioner-Ju9VpUGl.mjs → reasoning-tag-text-partitioner-0-Rsezog.mjs} +13 -12
- package/dist/{required-api-key-D4kn3252.mjs → required-api-key-CFJvcFy_.mjs} +1 -1
- package/dist/{simple-options-wW3117Fu.mjs → simple-options-BARFAzk9.mjs} +9 -11
- package/dist/{src-DWJq14pn.mjs → src-C_wfIUmV.mjs} +19 -4
- package/dist/{stream-CElngO8h.mjs → stream-DwrETW0_.mjs} +12 -21
- package/dist/{stream-first-event-timeout-D9ZmL_s9.mjs → stream-first-event-timeout-Dc42hKv6.mjs} +8 -21
- package/dist/{streaming-byte-guard-CC-HMn_u.mjs → streaming-byte-guard-DBXr1XYn.mjs} +16 -1
- package/dist/{string-normalization-PN10hf6d.mjs → string-normalization-I3ux50s9.mjs} +1 -1
- package/dist/{text-signature-rOn31nxc.mjs → text-signature-B_MB6U_9.mjs} +32 -5
- package/dist/{tool-schema-json-projection-Ct8SeBeJ.mjs → tool-schema-json-projection-B8sG1I9v.mjs} +29 -23
- package/dist/{transport-stream-shared-CAxkgOSj.d.mts → transport-stream-shared-BmpzDtdQ.d.mts} +4 -4
- package/dist/{transport-stream-shared-C5TAc3U_.mjs → transport-stream-shared-DH08b7Il.mjs} +8 -16
- package/dist/transports.d.mts +33 -22
- package/dist/transports.mjs +73 -1234
- package/dist/{types-DvzmWW8J.d.mts → types-Bd2T86VJ.d.mts} +5 -23
- package/dist/types-Kdfw_04V.d.mts +1 -0
- package/dist/types.d.mts +6 -6
- package/dist/types.mjs +5 -4
- package/dist/{validation-B3lQt_VE.d.mts → validation-DdGB1yy3.d.mts} +1 -1
- package/dist/{validation-DbqlIfDn.mjs → validation-opC2pjk9.mjs} +2 -3
- package/dist/validation.d.mts +1 -1
- package/dist/validation.mjs +1 -1
- package/package.json +4 -9
- package/dist/env-api-keys-BR0MUYYD.d.mts +0 -17
- package/dist/event-stream-DqDQWqiy.d.mts +0 -1
- package/dist/google-CyMz2jF_.mjs +0 -54
- package/dist/google-vertex-BEW0OQIA.mjs +0 -88
- package/dist/internal/env-api-keys.d.mts +0 -2
- package/dist/internal/env-api-keys.mjs +0 -2
- package/dist/openai-responses-request-lifecycle-Fsag-IGZ.mjs +0 -36
- package/dist/openai-transport-params-ildrm49s.mjs +0 -735
- package/dist/openai-web-search-tools-Cfu0uLyN.mjs +0 -14
- package/dist/provider-replay-context-ywPKKLjL.mjs +0 -25
- package/dist/types-Dlz-8qcy.d.mts +0 -1
package/dist/{openai-completions-compat-CJ0ktmGy.d.mts → openai-completions-compat-i-nLZxFy.d.mts}
RENAMED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import "./index-
|
|
2
|
-
import { N as OpenAICompletionsCompat, k as Model } from "./types-
|
|
3
|
-
import { a as AiProviderRequestPolicyInput, i as AiProviderRequestCapabilities } from "./host-
|
|
1
|
+
import "./index-BYDvopUB.mjs";
|
|
2
|
+
import { N as OpenAICompletionsCompat, k as Model } from "./types-Bd2T86VJ.mjs";
|
|
3
|
+
import { a as AiProviderRequestPolicyInput, i as AiProviderRequestCapabilities } from "./host-CTDz7LXD.mjs";
|
|
4
4
|
//#region packages/ai/src/transports/openai-completions-compat.d.ts
|
|
5
|
-
type ProviderRequestCapabilities = AiProviderRequestCapabilities;
|
|
6
5
|
type OpenAICompletionsSessionAffinity = "none" | "openai" | "openrouter";
|
|
7
6
|
type OpenAICompletionsCompatDefaults = {
|
|
8
7
|
supportsStore: boolean;
|
|
@@ -20,10 +19,6 @@ type OpenAICompletionsCompatDefaults = {
|
|
|
20
19
|
sessionAffinityFormat: Exclude<OpenAICompletionsSessionAffinity, "none">;
|
|
21
20
|
supportsLongCacheRetention: boolean;
|
|
22
21
|
};
|
|
23
|
-
type DetectedOpenAICompletionsCompat = {
|
|
24
|
-
capabilities: ProviderRequestCapabilities;
|
|
25
|
-
defaults: OpenAICompletionsCompatDefaults;
|
|
26
|
-
};
|
|
27
22
|
type ResolvedOpenAICompletionsCompat = Omit<Required<OpenAICompletionsCompat>, "cacheControlFormat" | "openRouterRouting" | "sendSessionAffinityHeaders" | "reasoningEffortMap" | "supportedReasoningEfforts"> & Pick<OpenAICompletionsCompat, "reasoningEffortMap" | "supportedReasoningEfforts"> & {
|
|
28
23
|
cacheControlFormat?: OpenAICompletionsCompat["cacheControlFormat"];
|
|
29
24
|
openRouterRouting?: OpenAICompletionsCompat["openRouterRouting"];
|
|
@@ -31,6 +26,7 @@ type ResolvedOpenAICompletionsCompat = Omit<Required<OpenAICompletionsCompat>, "
|
|
|
31
26
|
visibleReasoningDetailTypes: string[];
|
|
32
27
|
requiresNonEmptyUserOrAssistantMessage: boolean;
|
|
33
28
|
configuredSupportsLongCacheRetention?: boolean;
|
|
29
|
+
reasoningEffortForOff: "none" | null;
|
|
34
30
|
};
|
|
35
31
|
/** Native OpenAI defaults never apply to a configured proxy endpoint. */
|
|
36
32
|
declare function isNativeOpenAIEndpoint(model: {
|
|
@@ -54,12 +50,15 @@ declare function resolveOpenAIPromptCacheKeySupport(model: {
|
|
|
54
50
|
compat?: Pick<OpenAICompletionsCompat, "supportsPromptCacheKey" | "supportsLongCacheRetention"> | null;
|
|
55
51
|
}): boolean;
|
|
56
52
|
/** Detects endpoint capabilities and defaults for an OpenAI-completions model. */
|
|
57
|
-
declare function detectOpenAICompletionsCompat(model: Pick<Model<"openai-completions">, "provider" | "baseUrl" | "id"> & {
|
|
53
|
+
declare function detectOpenAICompletionsCompat(model: Pick<Model<"openai-completions">, "provider" | "baseUrl" | "id" | "reasoning"> & {
|
|
58
54
|
compat?: {
|
|
59
55
|
supportsStore?: boolean;
|
|
60
56
|
} | null;
|
|
61
|
-
}, resolveCapabilities?: (input: AiProviderRequestPolicyInput) =>
|
|
57
|
+
}, resolveCapabilities?: (input: AiProviderRequestPolicyInput) => AiProviderRequestCapabilities): {
|
|
58
|
+
capabilities: AiProviderRequestCapabilities;
|
|
59
|
+
defaults: OpenAICompletionsCompatDefaults;
|
|
60
|
+
};
|
|
62
61
|
/** Applies explicit model overrides once on top of the canonical transport defaults. */
|
|
63
|
-
declare function resolveOpenAICompletionsCompat(model: Pick<Model<"openai-completions">, "id" | "provider" | "baseUrl" | "compat">, resolveCapabilities?: (input: AiProviderRequestPolicyInput) =>
|
|
62
|
+
declare function resolveOpenAICompletionsCompat(model: Pick<Model<"openai-completions">, "id" | "provider" | "baseUrl" | "compat" | "reasoning">, resolveCapabilities?: (input: AiProviderRequestPolicyInput) => AiProviderRequestCapabilities): ResolvedOpenAICompletionsCompat;
|
|
64
63
|
//#endregion
|
|
65
64
|
export { resolveOpenAICompletionsCompat as a, isOpenAICodexResponsesModel as i, detectOpenAICompletionsCompat as n, resolveOpenAIPromptCacheKeySupport as o, isNativeOpenAIEndpoint as r, usesNativeOpenAICodexResponsesBackend as s, ResolvedOpenAICompletionsCompat as t };
|
package/dist/{openai-completions-compat-D7hWYB0G.mjs → openai-completions-compat-pg1q4uNG.mjs}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { o as isRecord } from "./record-coerce-CNDovvft.mjs";
|
|
2
|
-
import { a as resolveProviderRequestCapabilities } from "./host-policy-
|
|
2
|
+
import { a as resolveProviderRequestCapabilities } from "./host-policy-q4Azym9F.mjs";
|
|
3
3
|
//#region packages/ai/src/providers/openai-response-format.ts
|
|
4
4
|
const JSON_SCHEMA_RESPONSE_FORMAT_NAME = "openclaw_response";
|
|
5
5
|
const OLLAMA_CLOUD_ORIGIN = "https://ollama.com";
|
|
@@ -101,11 +101,12 @@ function resolveOpenAICompletionsCompatDefaults(input) {
|
|
|
101
101
|
const isNonStandard = endpointClass === "cerebras-native" || endpointClass === "chutes-native" || endpointClass === "deepseek-native" || endpointClass === "mistral-public" || endpointClass === "opencode-native" || endpointClass === "opencode-go-native" || endpointClass === "xai-native" || isXiaomi || isZai || isDefaultRoute && isDefaultRouteProvider(input.provider, "cerebras", "chutes", "deepseek", "opencode", "xai");
|
|
102
102
|
const isOpenRouterLike = input.provider === "openrouter" || endpointClass === "openrouter";
|
|
103
103
|
const isLocalEndpoint = endpointClass === "local";
|
|
104
|
-
const
|
|
104
|
+
const isMistral = knownProviderFamily === "mistral" || endpointClass === "mistral-public";
|
|
105
|
+
const usesMaxTokens = endpointClass === "chutes-native" || isMistral || isMoonshot || isCloudflareAiGateway || isZai || isTogether || isDefaultRoute && isDefaultRouteProvider(provider, "chutes");
|
|
105
106
|
return {
|
|
106
|
-
supportsStore: !isNonStandard &&
|
|
107
|
+
supportsStore: !isNonStandard && !isMistral && !usesExplicitProxyLikeEndpoint,
|
|
107
108
|
supportsDeveloperRole: !isNonStandard && !isMoonshotLike && !usesConfiguredNonOpenAIEndpoint,
|
|
108
|
-
supportsReasoningEffort: !isZai && !isTogether &&
|
|
109
|
+
supportsReasoningEffort: !isZai && !isTogether && !isMistral && endpointClass !== "xai-native" && (!usesExplicitProxyLikeEndpoint || input.reasoning === true),
|
|
109
110
|
supportsUsageInStreaming: supportsOpenAICompletionsStreamingUsageCompat || !isNonStandard && (isLocalEndpoint || !usesConfiguredNonOpenAIEndpoint || supportsNativeStreamingUsageCompat),
|
|
110
111
|
maxTokensField: usesMaxTokens ? "max_tokens" : "max_completion_tokens",
|
|
111
112
|
thinkingFormat: isDeepSeek || isXiaomi ? "deepseek" : isZai ? "zai" : isTogether ? "together" : isOpenRouterLike ? "openrouter" : "openai",
|
|
@@ -135,6 +136,7 @@ function detectOpenAICompletionsCompat(model, resolveCapabilities) {
|
|
|
135
136
|
defaults: resolveOpenAICompletionsCompatDefaults({
|
|
136
137
|
provider: model.provider,
|
|
137
138
|
modelId: model.id,
|
|
139
|
+
reasoning: model.reasoning,
|
|
138
140
|
baseUrl: model.baseUrl,
|
|
139
141
|
...capabilities
|
|
140
142
|
})
|
|
@@ -147,21 +149,23 @@ function resolveSessionAffinity(model, detectedFormat) {
|
|
|
147
149
|
}
|
|
148
150
|
/** Applies explicit model overrides once on top of the canonical transport defaults. */
|
|
149
151
|
function resolveOpenAICompletionsCompat(model, resolveCapabilities) {
|
|
150
|
-
const { defaults } = detectOpenAICompletionsCompat(model, resolveCapabilities);
|
|
152
|
+
const { defaults, capabilities } = detectOpenAICompletionsCompat(model, resolveCapabilities);
|
|
151
153
|
const configured = model.compat;
|
|
154
|
+
const thinkingFormat = configured?.thinkingFormat ?? defaults.thinkingFormat;
|
|
152
155
|
return {
|
|
153
156
|
supportsStore: configured?.supportsStore ?? defaults.supportsStore,
|
|
154
157
|
supportsDeveloperRole: configured?.supportsDeveloperRole ?? defaults.supportsDeveloperRole,
|
|
155
158
|
supportsReasoningEffort: configured?.supportsReasoningEffort ?? defaults.supportsReasoningEffort,
|
|
156
159
|
supportedReasoningEfforts: configured?.supportedReasoningEfforts,
|
|
157
160
|
reasoningEffortMap: configured?.reasoningEffortMap,
|
|
161
|
+
reasoningEffortForOff: capabilities.usesExplicitProxyLikeEndpoint && thinkingFormat === "openai" && !configured?.supportedReasoningEfforts?.includes("none") ? null : "none",
|
|
158
162
|
supportsUsageInStreaming: configured?.supportsUsageInStreaming ?? defaults.supportsUsageInStreaming,
|
|
159
163
|
maxTokensField: configured?.maxTokensField ?? defaults.maxTokensField,
|
|
160
164
|
requiresToolResultName: configured?.requiresToolResultName ?? false,
|
|
161
165
|
requiresAssistantAfterToolResult: configured?.requiresAssistantAfterToolResult ?? false,
|
|
162
166
|
requiresThinkingAsText: configured?.requiresThinkingAsText ?? false,
|
|
163
167
|
requiresReasoningContentOnAssistantMessages: configured?.requiresReasoningContentOnAssistantMessages ?? defaults.requiresReasoningContentOnAssistantMessages,
|
|
164
|
-
thinkingFormat
|
|
168
|
+
thinkingFormat,
|
|
165
169
|
openRouterRouting: configured?.openRouterRouting,
|
|
166
170
|
vercelGatewayRouting: configured?.vercelGatewayRouting ?? {},
|
|
167
171
|
zaiToolStream: configured?.zaiToolStream ?? false,
|