@openclaw/ai 2026.10.2 → 2026.10.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/internal/openai.mjs +2 -2
- package/dist/{openai-chatgpt-responses-CHdn8YJ_.mjs → openai-chatgpt-responses-Cq3Igfi3.mjs} +3 -2
- package/dist/{openai-completions-BZfHIaZ7.mjs → openai-completions-BxQw4S-A.mjs} +1 -1
- package/dist/{openai-completions-transport-CuoQfnKV.mjs → openai-completions-transport-D_ZhLzh_.mjs} +10 -16
- package/dist/providers.mjs +2 -2
- package/dist/transports.mjs +1 -1
- package/package.json +1 -1
package/dist/internal/openai.mjs
CHANGED
|
@@ -3,12 +3,12 @@ import { n as clampOpenAIPromptCacheKey, r as resolveOpenAIPromptCacheParams, t
|
|
|
3
3
|
import { g as resolveResponsesTerminalStopReason, h as readResponsesReasoningTokens, m as mapResponsesTerminalUsage, p as isResponsesOutputLimitToolCallError } from "../diagnostics-Caj-4RBA.mjs";
|
|
4
4
|
import { a as encodedModelRequestBodyStream, c as serializeModelRequestBody, l as codeModeToolSurfaceObserver, o as modelRequestBodyState, u as reasoningTagTextPolicy } from "../simple-options-7QuSKriJ.mjs";
|
|
5
5
|
import { f as projectOpenAITools, m as reconcileOpenAIResponsesToolChoice, p as reconcileOpenAICompletionsToolChoice } from "../openai-transport-params-D7JMUPjf.mjs";
|
|
6
|
-
import { i as convertMessages } from "../openai-completions-transport-
|
|
6
|
+
import { i as convertMessages } from "../openai-completions-transport-D_ZhLzh_.mjs";
|
|
7
7
|
import { t as mapOpenAIStopReason } from "../openai-stop-reason-8s70vDXj.mjs";
|
|
8
8
|
import { M as bindResponsesInputMessage, _ as isResponsesTextContentPartType, d as AZURE_RESPONSES_TEXT_CONTENT_PART_TYPE, f as AZURE_RESPONSES_TEXT_DELTA_EVENT_TYPE, g as isAzureResponsesTextDeltaEventType, h as isAzureResponsesTextDeltaEvent, l as createResponsesToolCallTracker, m as OPENAI_RESPONSES_OUTPUT_TEXT_DELTA_EVENT_TYPE, p as OPENAI_RESPONSES_OUTPUT_TEXT_CONTENT_PART_TYPE, u as readResponsesToolCallItemIdentity, v as isResponsesTextDeltaEventType, y as resolveResponsesMessageSnapshotCollapse } from "../openai-responses-shared-CKNmC3vC.mjs";
|
|
9
9
|
import { i as resolveAzureDeploymentNameFromMap, n as isTraditionalAzureOpenAIHost, r as parseAzureDeploymentNameMap, t as isOpenAICompatibleAzureResponsesBaseUrl } from "../azure-openai-responses-client-compat-D0dvJMbZ.mjs";
|
|
10
10
|
import { t as hasResponsesWebSearchTool } from "../openai-web-search-tools-Cfu0uLyN.mjs";
|
|
11
11
|
import { t as responsesRequestLifecycle } from "../openai-responses-request-lifecycle-Fsag-IGZ.mjs";
|
|
12
|
-
import { n as streamOpenAICompletions, r as streamSimpleOpenAICompletions } from "../openai-completions-
|
|
12
|
+
import { n as streamOpenAICompletions, r as streamSimpleOpenAICompletions } from "../openai-completions-BxQw4S-A.mjs";
|
|
13
13
|
import { n as streamOpenAIResponses, r as streamSimpleOpenAIResponses } from "../openai-responses-BhAZFsL9.mjs";
|
|
14
14
|
export { AZURE_RESPONSES_TEXT_CONTENT_PART_TYPE, AZURE_RESPONSES_TEXT_DELTA_EVENT_TYPE, OPENAI_PROMPT_CACHE_KEY_MAX_LENGTH, OPENAI_RESPONSES_OUTPUT_TEXT_CONTENT_PART_TYPE, OPENAI_RESPONSES_OUTPUT_TEXT_DELTA_EVENT_TYPE, bindResponsesInputMessage, clampOpenAIPromptCacheKey, codeModeToolSurfaceObserver, convertMessages, createResponsesToolCallTracker, encodedModelRequestBodyStream, hasResponsesWebSearchTool, isAzureResponsesTextDeltaEvent, isAzureResponsesTextDeltaEventType, isOpenAICompatibleAzureResponsesBaseUrl, isOpenAIGpt54MiniModel, isOpenAIGpt55Model, isOpenAIGpt56Model, isOpenAIGpt6Model, isResponsesOutputLimitToolCallError, isResponsesTextContentPartType, isResponsesTextDeltaEventType, isTraditionalAzureOpenAIHost, mapOpenAIStopReason, mapResponsesTerminalUsage, modelRequestBodyState, normalizeOpenAIReasoningEffort, parseAzureDeploymentNameMap, projectOpenAITools, readResponsesReasoningTokens, readResponsesToolCallItemIdentity, reasoningTagTextPolicy, reconcileOpenAICompletionsToolChoice, reconcileOpenAIResponsesToolChoice, resolveAzureDeploymentNameFromMap, resolveOpenAIModelReasoningEfforts, resolveOpenAIPromptCacheParams, resolveOpenAIReasoningEffortForModel, resolveOpenAIReasoningEffortMapping, resolveOpenAISupportedReasoningEfforts, resolveResponsesMessageSnapshotCollapse, resolveResponsesTerminalStopReason, responsesPromptObserver, responsesRequestLifecycle, responsesServiceTierObserver, serializeModelRequestBody, streamOpenAICompletions, streamOpenAIResponses, streamSimpleOpenAICompletions, streamSimpleOpenAIResponses, supportsOpenAIReasoningEffort, supportsOpenAITemperature };
|
package/dist/{openai-chatgpt-responses-CHdn8YJ_.mjs → openai-chatgpt-responses-Cq3Igfi3.mjs}
RENAMED
|
@@ -294,7 +294,8 @@ const os = loadNodeOs();
|
|
|
294
294
|
const REQUEST_COMPRESSION_ZSTD_LEVEL = 3;
|
|
295
295
|
const CODEX_TOOL_CALL_PROVIDERS = /* @__PURE__ */ new Set(["openai", "opencode"]);
|
|
296
296
|
const WEBSOCKET_TRANSPORT_ERROR_CODE = "ERR_WEBSOCKET_TRANSPORT";
|
|
297
|
-
const
|
|
297
|
+
const RETRYABLE_CLOSE_CODES = /* @__PURE__ */ new Set([
|
|
298
|
+
1e3,
|
|
298
299
|
1001,
|
|
299
300
|
1005,
|
|
300
301
|
1006,
|
|
@@ -832,7 +833,7 @@ function extractWebSocketCloseError(event) {
|
|
|
832
833
|
let reasonText = typeof reason === "string" && reason.length > 0 ? ` ${reason}` : "";
|
|
833
834
|
if (!reasonText && code === WEBSOCKET_MESSAGE_TOO_BIG_CLOSE_CODE) reasonText = " message too big";
|
|
834
835
|
const message = `WebSocket closed${codeText}${reasonText}`;
|
|
835
|
-
const error = typeof code === "number" &&
|
|
836
|
+
const error = typeof code === "number" && RETRYABLE_CLOSE_CODES.has(code) ? createWebSocketTransportError(message) : Object.assign(new Error(message), { code: WEBSOCKET_NON_RETRYABLE_CLOSE_ERROR_CODE });
|
|
836
837
|
return Object.assign(error, {
|
|
837
838
|
name: "WebSocketCloseError",
|
|
838
839
|
closeCode: typeof code === "number" ? code : void 0,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-BhDjJH2R.mjs";
|
|
2
2
|
import { k as clampThinkingLevel } from "./host-u3o8XiAp.mjs";
|
|
3
3
|
import { n as buildBaseOptions } from "./simple-options-7QuSKriJ.mjs";
|
|
4
|
-
import { i as convertMessages, n as streamOpenAICompletionsRequest } from "./openai-completions-transport-
|
|
4
|
+
import { i as convertMessages, n as streamOpenAICompletionsRequest } from "./openai-completions-transport-D_ZhLzh_.mjs";
|
|
5
5
|
import { t as requireApiKey } from "./required-api-key-D4kn3252.mjs";
|
|
6
6
|
//#region packages/ai/src/providers/openai-completions.ts
|
|
7
7
|
var openai_completions_exports = /* @__PURE__ */ __exportAll({
|
package/dist/{openai-completions-transport-CuoQfnKV.mjs → openai-completions-transport-D_ZhLzh_.mjs}
RENAMED
|
@@ -35,7 +35,13 @@ const DEEPSEEK_DSML_MARKERS = [
|
|
|
35
35
|
"|",
|
|
36
36
|
"|",
|
|
37
37
|
"||"
|
|
38
|
-
].
|
|
38
|
+
].flatMap((bar) => [`${bar}DSML${bar}`, `${bar}DSML${bar} `]);
|
|
39
|
+
const DEEPSEEK_DSML_TOOL_OPEN_TOKENS = DEEPSEEK_DSML_MARKERS.flatMap((marker) => [
|
|
40
|
+
"calls",
|
|
41
|
+
"tool_calls",
|
|
42
|
+
"tool_call",
|
|
43
|
+
"function_calls"
|
|
44
|
+
].map((kind) => `<${marker}${kind}>`));
|
|
39
45
|
const DEEPSEEK_DSML_MARKER_PATTERN = `(${DEEPSEEK_DSML_MARKERS.map((marker) => marker.replaceAll("|", "\\|")).join("|")})`;
|
|
40
46
|
function findEarliestDsmlToken(text, tokens, fromIndex = 0) {
|
|
41
47
|
let best = null;
|
|
@@ -63,13 +69,7 @@ function longestDsmlTokenPrefixSuffixLength(text, tokens, maxTokenLength) {
|
|
|
63
69
|
* Removes provider-emitted DSML tool markup while buffering split tag prefixes
|
|
64
70
|
* across streamed chunks.
|
|
65
71
|
*/
|
|
66
|
-
const
|
|
67
|
-
"tool_use_error",
|
|
68
|
-
"tool_calls",
|
|
69
|
-
"tool_call",
|
|
70
|
-
"function_calls"
|
|
71
|
-
];
|
|
72
|
-
const DSML_OPEN_TOKENS = DEEPSEEK_DSML_MARKERS.flatMap((marker) => DSML_KINDS.map((kind) => `<${marker}${kind}>`));
|
|
72
|
+
const DSML_OPEN_TOKENS = [...DEEPSEEK_DSML_TOOL_OPEN_TOKENS, ...DEEPSEEK_DSML_MARKERS.map((marker) => `<${marker}tool_use_error>`)];
|
|
73
73
|
const MAX_OPEN_TOKEN_LEN = Math.max(...DSML_OPEN_TOKENS.map((token) => token.length));
|
|
74
74
|
/** Create an incremental text filter that strips DeepSeek DSML tool blocks. */
|
|
75
75
|
function createDeepSeekTextFilter() {
|
|
@@ -1126,12 +1126,6 @@ function buildOpenAICompletionsRequest(model, context, options, policy) {
|
|
|
1126
1126
|
}
|
|
1127
1127
|
//#endregion
|
|
1128
1128
|
//#region packages/ai/src/transports/openai-completions-dsml.ts
|
|
1129
|
-
const DEEPSEEK_DSML_TOOL_KINDS = [
|
|
1130
|
-
"tool_calls",
|
|
1131
|
-
"tool_call",
|
|
1132
|
-
"function_calls"
|
|
1133
|
-
];
|
|
1134
|
-
const DEEPSEEK_DSML_TOOL_OPEN_TOKENS = DEEPSEEK_DSML_MARKERS.flatMap((marker) => DEEPSEEK_DSML_TOOL_KINDS.map((kind) => `<${marker}${kind}>`));
|
|
1135
1129
|
const DEEPSEEK_DSML_INVOKE_OPEN_PREFIXES = DEEPSEEK_DSML_MARKERS.map((marker) => `<${marker}invoke`);
|
|
1136
1130
|
const DEEPSEEK_DSML_INVOKE_OPEN_TAG = new RegExp(`^<${DEEPSEEK_DSML_MARKER_PATTERN}invoke\\b[^<>]*>$`);
|
|
1137
1131
|
const DEEPSEEK_DSML_TOOL_MAX_OPEN_TOKEN_LEN = Math.max(...DEEPSEEK_DSML_TOOL_OPEN_TOKENS.map((token) => token.length));
|
|
@@ -1489,9 +1483,9 @@ async function processCompletionsStream(responseStream, output, model, stream, o
|
|
|
1489
1483
|
const emitReasoning = options?.emitReasoning ?? true;
|
|
1490
1484
|
const compat = getCompat(model);
|
|
1491
1485
|
const visibleReasoningDetailTypes = new Set(compat.visibleReasoningDetailTypes);
|
|
1492
|
-
const shouldFilterDeepSeekDsmlText =
|
|
1486
|
+
const shouldFilterDeepSeekDsmlText = compat.thinkingFormat === "deepseek";
|
|
1493
1487
|
const deepSeekTextFilter = shouldFilterDeepSeekDsmlText ? createDeepSeekTextFilter() : null;
|
|
1494
|
-
const deepSeekToolCallRecoverer = shouldFilterDeepSeekDsmlText ? createDsmlRecoverer() : null;
|
|
1488
|
+
const deepSeekToolCallRecoverer = !directMode && shouldFilterDeepSeekDsmlText ? createDsmlRecoverer() : null;
|
|
1495
1489
|
const gemmaToolCallRecoverer = !directMode && /gemma-?4/i.test(model.id) ? createGemmaToolCallRecoverer() : null;
|
|
1496
1490
|
const reasoningTagTextPartitioner = createReasoningTagTextPartitioner();
|
|
1497
1491
|
if (options?.strictReasoningTags) reasoningTagTextPartitioner.markStrict();
|
package/dist/providers.mjs
CHANGED
|
@@ -54,7 +54,7 @@ const registerBuiltIns = [
|
|
|
54
54
|
stream: module.streamAnthropic,
|
|
55
55
|
streamSimple: module.streamSimpleAnthropic
|
|
56
56
|
})),
|
|
57
|
-
createLazyRegistration("openai-completions", () => import("./openai-completions-
|
|
57
|
+
createLazyRegistration("openai-completions", () => import("./openai-completions-BxQw4S-A.mjs").then((n) => n.t), (module) => ({
|
|
58
58
|
stream: module.streamOpenAICompletions,
|
|
59
59
|
streamSimple: module.streamSimpleOpenAICompletions
|
|
60
60
|
})),
|
|
@@ -70,7 +70,7 @@ const registerBuiltIns = [
|
|
|
70
70
|
stream: module.streamAzureOpenAIResponses,
|
|
71
71
|
streamSimple: module.streamSimpleAzureOpenAIResponses
|
|
72
72
|
})),
|
|
73
|
-
createLazyRegistration("openai-chatgpt-responses", () => import("./openai-chatgpt-responses-
|
|
73
|
+
createLazyRegistration("openai-chatgpt-responses", () => import("./openai-chatgpt-responses-Cq3Igfi3.mjs"), (module) => ({
|
|
74
74
|
stream: module.streamOpenAICodexResponses,
|
|
75
75
|
streamSimple: module.streamSimpleOpenAICodexResponses
|
|
76
76
|
})),
|
package/dist/transports.mjs
CHANGED
|
@@ -20,7 +20,7 @@ import { t as createDeferredEventBuffer } from "./deferred-event-buffer-DAvyP7qA
|
|
|
20
20
|
import { n as isProviderReplayContext, r as providerReplayContextMatches, t as buildProviderReplayContext } from "./provider-replay-context-CO_Eplnc.mjs";
|
|
21
21
|
import { t as createAssistantOutput } from "./assistant-output-D5762GPH.mjs";
|
|
22
22
|
import { n as resolveOpencodeSessionHeaders } from "./session-affinity-DA4WHv1h.mjs";
|
|
23
|
-
import { a as flattenCompletionMessagesToStringContent, c as hasOpenAICompatibleConversationTurn, d as createDeepSeekTextFilter, l as canonicalizeMaxTokensParam, o as stripCompletionMessagesToRoleContent, r as buildOpenAICompletionsParams, s as applyCompletionsAnthropicCacheControl, t as createOpenAICompletionsTransportStreamFn, u as resolveMaxTokensParam } from "./openai-completions-transport-
|
|
23
|
+
import { a as flattenCompletionMessagesToStringContent, c as hasOpenAICompatibleConversationTurn, d as createDeepSeekTextFilter, l as canonicalizeMaxTokensParam, o as stripCompletionMessagesToRoleContent, r as buildOpenAICompletionsParams, s as applyCompletionsAnthropicCacheControl, t as createOpenAICompletionsTransportStreamFn, u as resolveMaxTokensParam } from "./openai-completions-transport-D_ZhLzh_.mjs";
|
|
24
24
|
import { a as googleFlashSupportsMinimalThinking, i as consumeGoogleGenerateContentStream, n as projectGoogleMessages, r as requiresGoogleToolCallId, t as convertGoogleTools } from "./google-messages-l7wgIF5I.mjs";
|
|
25
25
|
import { r as resolveProviderTransportTurnState, t as filterProviderTurnHeadersForExplicitOpencodeSession } from "./provider-transport-turn-state-BX6TfCyW.mjs";
|
|
26
26
|
import { i as getFirstStreamEventTimeoutMs, r as getFirstStreamEventTimeoutHandler, t as createFirstStreamEventAbortController } from "./stream-first-event-timeout-D9ZmL_s9.mjs";
|