@openclaw/ai 2026.9.3 → 2026.9.5
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 +1 -1
- package/dist/{anthropic-CZy5U0NY.mjs → anthropic-COtDvgtt.mjs} +16 -16
- package/dist/{anthropic-payload-policy-wuRCb6MH.d.mts → anthropic-payload-policy-5Erq1Nzy.d.mts} +3 -3
- package/dist/{anthropic-stream-reducer-B_yo_7pf.mjs → anthropic-stream-reducer-BvdYYWL8.mjs} +56 -47
- package/dist/{api-registry-CB1-1oQ2.d.mts → api-registry-Ba2Cv-ut.d.mts} +2 -2
- package/dist/{assistant-output-iqnlJCV2.mjs → assistant-output-BsEkB-vU.mjs} +1 -1
- package/dist/{azure-openai-responses-Crpa40QR.mjs → azure-openai-responses-YrgnD583.mjs} +6 -9
- package/dist/{base64-D-su8YVo.mjs → base64-BQOzsvUH.mjs} +4 -4
- package/dist/credential-redaction-BKv49aiv.d.mts +24 -0
- package/dist/{diagnostics-dV98PqIy.mjs → diagnostics-Dm4bisWG.mjs} +89 -2
- package/dist/diagnostics.d.mts +4 -23
- package/dist/diagnostics.mjs +3 -3
- package/dist/{event-stream-C1Z2piyk.d.mts → event-stream-CCoa-qSI.d.mts} +1 -1
- package/dist/event-stream-DmSCpi1T.d.mts +1 -0
- package/dist/event-stream.d.mts +2 -2
- package/dist/expect-lbe3Hgrh.mjs +8 -0
- package/dist/{google-BDPriaVe.mjs → google-BuhpRO9r.mjs} +7 -10
- package/dist/{google-messages-CVn9eFpF.mjs → google-messages-CyWnYlh0.mjs} +3 -4
- package/dist/{google-shared-BedY23XS.mjs → google-shared-BT5ZeNer.mjs} +13 -13
- package/dist/{google-vertex-DMz8XQCn.mjs → google-vertex-C7EplRvt.mjs} +5 -8
- package/dist/{host-CWuF-sS3.mjs → host-B4MeUNBc.mjs} +145 -12
- package/dist/{host-DK3wmS3e.d.mts → host-FZ1RA_qD.d.mts} +7 -3
- package/dist/{host-policy-CAopLRKA.mjs → host-policy-DUnXSx0I.mjs} +1 -1
- package/dist/{index-CQ6LTHw8.d.mts → index-DaF2QbwS.d.mts} +5 -10
- package/dist/index.d.mts +7 -8
- package/dist/index.mjs +5 -5
- package/dist/internal/anthropic.d.mts +6 -7
- package/dist/internal/anthropic.mjs +4 -4
- package/dist/internal/openai-completions-compat.d.mts +2 -0
- package/dist/internal/openai-completions-compat.mjs +2 -0
- package/dist/internal/openai-responses-payload-policy.d.mts +3 -3
- package/dist/internal/openai-responses-payload-policy.mjs +3 -2
- package/dist/internal/openai.d.mts +10 -53
- package/dist/internal/openai.mjs +11 -10
- package/dist/internal/runtime.d.mts +43 -10
- package/dist/internal/runtime.mjs +5 -11
- package/dist/internal/shared.d.mts +35 -5
- package/dist/internal/shared.mjs +4 -4
- package/dist/internal/tool-schema.d.mts +3 -3
- package/dist/internal/tool-schema.mjs +2 -2
- package/dist/{mistral--m-Jm6VZ.mjs → mistral-moA-mbwl.mjs} +9 -16
- package/dist/{openai-chatgpt-responses-nDZccFW-.mjs → openai-chatgpt-responses-DWID3EFO.mjs} +76 -33
- package/dist/{openai-completions-KuoZyx0d.mjs → openai-completions-DJ1Vm-CD.mjs} +12 -13
- package/dist/{openai-prompt-cache-BI0rkM-5.mjs → openai-completions-compat-CkwdxTZx.mjs} +5 -50
- package/dist/{openai-completions-compat-CXn3T1we.d.mts → openai-completions-compat-JE7gqxb9.d.mts} +4 -4
- package/dist/{openai-completions-stream-BQk3SkLD.mjs → openai-completions-stream-Bu98b0Hv.mjs} +128 -99
- package/dist/openai-prompt-cache-1wfaIszn.mjs +46 -0
- package/dist/{openai-prompt-cache-rrutvqxq.d.mts → openai-prompt-cache-CJ_xEevu.d.mts} +2 -2
- package/dist/{openai-provider-client-ha_WxTyj.mjs → openai-provider-client-DPo0Hmak.mjs} +2 -2
- package/dist/{openai-reasoning-effort-BK7FbcLT.mjs → openai-reasoning-effort-NlFZmfEu.mjs} +87 -19
- package/dist/{openai-responses-D99dOzKI.mjs → openai-responses-BejZzQCP.mjs} +9 -13
- package/dist/{openai-responses-compaction-window-D5jbzCi3.mjs → openai-responses-compaction-window-D6P5oZP5.mjs} +21 -140
- package/dist/openai-responses-contracts-DWrfMODE.mjs +81 -0
- package/dist/{openai-responses-contracts-B55afwRo.d.mts → openai-responses-contracts-Dflvrfa8.d.mts} +10 -39
- package/dist/{openai-responses-payload-policy-rLRPsSmB.d.mts → openai-responses-payload-policy-C7GsA1y0.d.mts} +5 -3
- package/dist/openai-responses-prompt-observer-internal-C15_-OwV.mjs +195 -0
- package/dist/{openai-responses-shared-ZyQEzS5i.mjs → openai-responses-shared-CwsziD_m.mjs} +390 -183
- package/dist/openai-responses-terminal-usage-Dl3J6zrf.d.mts +47 -0
- package/dist/{openai-tool-schema-CzjyYXun.mjs → openai-tool-schema-BO8rwyAD.mjs} +92 -68
- package/dist/{openai-transport-params-DNasp2fU.mjs → openai-transport-params-DQeuAvBl.mjs} +162 -51
- package/dist/positive-integer-DtjCkbue.mjs +8 -0
- package/dist/{provider-error-C6TbKiey.mjs → provider-error-DDqw9Qda.mjs} +140 -36
- package/dist/{provider-options-BXr9Ec83.d.mts → provider-options-DprLsWh9.d.mts} +9 -6
- package/dist/{provider-replay-context-BuSUaAk5.mjs → provider-replay-context-CnUSOwhr.mjs} +1 -1
- package/dist/{provider-transcript-transform-pPmUIwKt.mjs → provider-transcript-transform-BsRAhuWJ.mjs} +1 -1
- package/dist/provider-transport-turn-state-CkGToCD2.mjs +42 -0
- package/dist/{provider-types-CAV0Og3m.d.mts → provider-types-CAKRC7N5.d.mts} +3 -3
- package/dist/provider-types.d.mts +6 -7
- package/dist/providers.d.mts +2 -2
- package/dist/providers.mjs +10 -10
- package/dist/{reasoning-tag-text-partitioner-BQBi4B9d.mjs → reasoning-tag-text-partitioner-Dy9IO8Dc.mjs} +15 -14
- package/dist/{session-affinity-CCH7eYdB.mjs → session-affinity-Bcunsn4I.mjs} +5 -2
- package/dist/{simple-options-tcKOqnpF.mjs → simple-options-C6cFWj_f.mjs} +26 -5
- package/dist/{src-B2Q_6G8V.mjs → src-DeKjbE8I.mjs} +3 -6
- package/dist/{stream-first-event-timeout-2hfrquuz.mjs → stream-first-event-timeout-C9ZadkJW.mjs} +1 -1
- package/dist/{string-normalization-CmLIasuf.mjs → string-normalization-J9ZiLfGO.mjs} +13 -1
- package/dist/tool-schema-json-projection-CD9c_fK8.mjs +134 -0
- package/dist/{transport-stream-shared-DOxpGJ-H.d.mts → transport-stream-shared-BbUkFaHi.d.mts} +20 -36
- package/dist/{transport-stream-shared-Cu3ZPhNW.mjs → transport-stream-shared-D-6FQSHm.mjs} +223 -11
- package/dist/{transport-utils-CCooe-cr.mjs → transport-utils-1cyq5Y7x.mjs} +4 -7
- package/dist/transports.d.mts +51 -165
- package/dist/transports.mjs +172 -507
- package/dist/{types-Dy1q0CSu.d.mts → types-4_uVs5WH.d.mts} +49 -3
- package/dist/types-DkJfb4W3.d.mts +1 -0
- package/dist/types-LFWwv0cF.mjs +8 -0
- package/dist/types.d.mts +6 -7
- package/dist/types.mjs +4 -4
- package/dist/{validation-CaFUZN9B.d.mts → validation-Ctzu2DhF.d.mts} +1 -1
- package/dist/{validation-BDzVDnTs.mjs → validation-Dw7cb6BV.mjs} +1 -0
- package/dist/validation.d.mts +1 -1
- package/dist/validation.mjs +1 -1
- package/package.json +10 -5
- package/dist/diagnostics-DnPnOui6.d.mts +0 -29
- package/dist/event-stream-I_GlBsuZ.d.mts +0 -1
- package/dist/hash-CHgqbJmD.mjs +0 -16
- package/dist/json-parse-Dw_hnxsA.mjs +0 -146
- package/dist/openai-responses-prompt-observer-internal-tApyTLVu.mjs +0 -32
- package/dist/sanitize-unicode-Bb-v9meu.mjs +0 -83
- package/dist/tool-schema-json-projection-ClptDdAO.mjs +0 -82
- package/dist/types-BADKjDBI.d.mts +0 -1
- package/dist/types-BDdaOVi2.mjs +0 -6
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { _ as supportsClaudeAdaptiveThinking, b as supportsClaudeNativeXhighEffort, c as requiresClaudeDefaultSampling, d as resolveClaudeModelIdentity, f as resolveClaudeMythos5ModelIdentity, h as resolveClaudeSonnet5ModelIdentity, l as requiresClaudeMandatoryAdaptiveThinking, m as resolveClaudeOpus5ModelIdentity, p as resolveClaudeNativeThinkingLevelMap, s as bindsClaudeThinkingPrefix, u as resolveClaudeFable5ModelIdentity, y as supportsClaudeNativeMaxEffort } from "../src-
|
|
2
|
-
import {
|
|
3
|
-
import { A as applyAnthropicFallbackBoundary, C as applyAnthropicThinkingBindingControls, D as ANTHROPIC_SERVER_SIDE_FALLBACKS, E as readAnthropicInputTransformations, G as resolveAnthropicServerCompactionPlan, J as usesFoundryBearerAuth, K as isAnthropicOAuthApiKey, M as resolveAnthropicFallbackServingModelCost, O as ANTHROPIC_SERVER_SIDE_FALLBACK_BETA, S as ANTHROPIC_OMITTED_REASONING_TEXT, T as logAnthropicThinkingDrops, _ as normalizeAnthropicToolChoice, a as readAnthropicPromptUsageSnapshot, b as resolveOriginalAnthropicToolName, c as applyAnthropicRefusal, g as normalizeAnthropicToolCallId, i as readAnthropicCacheWriteUsage, j as readAnthropicFallbackBoundary, k as CLAUDE_OPUS_FALLBACK_MODEL_COST, n as applyAnthropicMessageDeltaUsage, o as readAnthropicUsageTokenCount, q as omitFoundryBearerCredentialHeaders, r as applyAnthropicMessageStartUsage, s as readLastAnthropicIterationUsage, v as projectAnthropicTools, w as findActiveAnthropicToolTurnAssistantIndex, x as toClaudeCodeToolName, y as reconcileAnthropicToolChoice } from "../anthropic-stream-reducer-
|
|
4
|
-
import { n as streamAnthropic, r as streamSimpleAnthropic } from "../anthropic-
|
|
1
|
+
import { _ as supportsClaudeAdaptiveThinking, b as supportsClaudeNativeXhighEffort, c as requiresClaudeDefaultSampling, d as resolveClaudeModelIdentity, f as resolveClaudeMythos5ModelIdentity, h as resolveClaudeSonnet5ModelIdentity, l as requiresClaudeMandatoryAdaptiveThinking, m as resolveClaudeOpus5ModelIdentity, p as resolveClaudeNativeThinkingLevelMap, s as bindsClaudeThinkingPrefix, u as resolveClaudeFable5ModelIdentity, y as supportsClaudeNativeMaxEffort } from "../src-DeKjbE8I.mjs";
|
|
2
|
+
import { C as mapAnthropicStopReason, D as resolveModelBoundThinkingReplayMode, E as resolveAnthropicThinkingEffort, O as usesClaudeFable5MessagesContract, S as defaultsClaudeAdaptiveThinking, T as requiresClaudeAdaptiveThinking, b as ANTHROPIC_CLAUDE_CODE_VERSION, k as usesClaudeStreamingRefusalContract, w as prepareClaudeNoPrefillRequestContext, x as applyClaudeRequestContract, y as ANTHROPIC_CLAUDE_CODE_BILLING_SYSTEM_BLOCK } from "../host-B4MeUNBc.mjs";
|
|
3
|
+
import { A as applyAnthropicFallbackBoundary, C as applyAnthropicThinkingBindingControls, D as ANTHROPIC_SERVER_SIDE_FALLBACKS, E as readAnthropicInputTransformations, G as resolveAnthropicServerCompactionPlan, J as usesFoundryBearerAuth, K as isAnthropicOAuthApiKey, M as resolveAnthropicFallbackServingModelCost, O as ANTHROPIC_SERVER_SIDE_FALLBACK_BETA, S as ANTHROPIC_OMITTED_REASONING_TEXT, T as logAnthropicThinkingDrops, _ as normalizeAnthropicToolChoice, a as readAnthropicPromptUsageSnapshot, b as resolveOriginalAnthropicToolName, c as applyAnthropicRefusal, g as normalizeAnthropicToolCallId, i as readAnthropicCacheWriteUsage, j as readAnthropicFallbackBoundary, k as CLAUDE_OPUS_FALLBACK_MODEL_COST, n as applyAnthropicMessageDeltaUsage, o as readAnthropicUsageTokenCount, q as omitFoundryBearerCredentialHeaders, r as applyAnthropicMessageStartUsage, s as readLastAnthropicIterationUsage, v as projectAnthropicTools, w as findActiveAnthropicToolTurnAssistantIndex, x as toClaudeCodeToolName, y as reconcileAnthropicToolChoice } from "../anthropic-stream-reducer-BvdYYWL8.mjs";
|
|
4
|
+
import { n as streamAnthropic, r as streamSimpleAnthropic } from "../anthropic-COtDvgtt.mjs";
|
|
5
5
|
export { ANTHROPIC_CLAUDE_CODE_BILLING_SYSTEM_BLOCK, ANTHROPIC_CLAUDE_CODE_VERSION, ANTHROPIC_OMITTED_REASONING_TEXT, ANTHROPIC_SERVER_SIDE_FALLBACKS, ANTHROPIC_SERVER_SIDE_FALLBACK_BETA, CLAUDE_OPUS_FALLBACK_MODEL_COST, applyAnthropicFallbackBoundary, applyAnthropicMessageDeltaUsage, applyAnthropicMessageStartUsage, applyAnthropicRefusal, applyAnthropicThinkingBindingControls, applyClaudeRequestContract, bindsClaudeThinkingPrefix, defaultsClaudeAdaptiveThinking, findActiveAnthropicToolTurnAssistantIndex, isAnthropicOAuthApiKey, logAnthropicThinkingDrops, mapAnthropicStopReason, normalizeAnthropicToolCallId, normalizeAnthropicToolChoice, omitFoundryBearerCredentialHeaders, prepareClaudeNoPrefillRequestContext, projectAnthropicTools, readAnthropicCacheWriteUsage, readAnthropicFallbackBoundary, readAnthropicInputTransformations, readAnthropicPromptUsageSnapshot, readAnthropicUsageTokenCount, readLastAnthropicIterationUsage, reconcileAnthropicToolChoice, requiresClaudeAdaptiveThinking, requiresClaudeDefaultSampling, requiresClaudeMandatoryAdaptiveThinking, resolveAnthropicFallbackServingModelCost, resolveAnthropicServerCompactionPlan, resolveAnthropicThinkingEffort, resolveClaudeFable5ModelIdentity, resolveClaudeModelIdentity, resolveClaudeMythos5ModelIdentity, resolveClaudeNativeThinkingLevelMap, resolveClaudeOpus5ModelIdentity, resolveClaudeSonnet5ModelIdentity, resolveModelBoundThinkingReplayMode, resolveOriginalAnthropicToolName, streamAnthropic, streamSimpleAnthropic, supportsClaudeAdaptiveThinking, supportsClaudeNativeMaxEffort, supportsClaudeNativeXhighEffort, toClaudeCodeToolName, usesClaudeFable5MessagesContract, usesClaudeStreamingRefusalContract, usesFoundryBearerAuth };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { c as
|
|
2
|
-
import { i as resolveOpenAIResponsesServerCompactionPlan } from "../openai-responses-payload-policy-
|
|
3
|
-
export { OPENAI_RESPONSES_APIS, type OpenAIResponsesCompactionOutput, readOpenAIResponsesCompactionWindow, resolveOpenAIResponsesServerCompactionPlan };
|
|
1
|
+
import { c as readOpenAIResponsesCompactionWindow, s as OpenAIResponsesCompactionOutput, t as OPENAI_RESPONSES_APIS } from "../openai-responses-contracts-Dflvrfa8.mjs";
|
|
2
|
+
import { i as resolveOpenAIResponsesServerCompactionPlan, r as resolveOpenAIResponsesPayloadPolicy } from "../openai-responses-payload-policy-C7GsA1y0.mjs";
|
|
3
|
+
export { OPENAI_RESPONSES_APIS, type OpenAIResponsesCompactionOutput, readOpenAIResponsesCompactionWindow, resolveOpenAIResponsesPayloadPolicy, resolveOpenAIResponsesServerCompactionPlan };
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { i as OPENAI_RESPONSES_APIS } from "../openai-responses-contracts-DWrfMODE.mjs";
|
|
2
|
+
import { c as resolveOpenAIResponsesServerCompactionPlan, r as readOpenAIResponsesCompactionWindow, s as resolveOpenAIResponsesPayloadPolicy } from "../openai-responses-compaction-window-D6P5oZP5.mjs";
|
|
3
|
+
export { OPENAI_RESPONSES_APIS, readOpenAIResponsesCompactionWindow, resolveOpenAIResponsesPayloadPolicy, resolveOpenAIResponsesServerCompactionPlan };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { _ as resolveOpenAIModelReasoningEfforts, a as BaseOpenAIStreamOptions, b as
|
|
1
|
+
import { G as SimpleStreamOptions, J as StreamFunction, K as StopReason, O as Model, d as Context } from "../types-4_uVs5WH.mjs";
|
|
2
|
+
import { S as supportsOpenAITemperature, _ as resolveOpenAIModelReasoningEfforts, a as BaseOpenAIStreamOptions, b as resolveOpenAISupportedReasoningEfforts, d as OpenAIApiReasoningEffort, f as OpenAIReasoningEffort, g as normalizeOpenAIReasoningEffort, h as isOpenAIGpt56Model, l as codeModeToolSurfaceObserver, m as isOpenAIGpt55Model, o as CodeModeToolSurfaceObservation, p as isOpenAIGpt54MiniModel, s as OpenAICompletionsOptions, u as reasoningTagTextPolicy, v as resolveOpenAIReasoningEffortForModel, x as supportsOpenAIReasoningEffort, y as resolveOpenAIReasoningEffortMapping } from "../provider-options-DprLsWh9.mjs";
|
|
3
3
|
import { a as reconcileOpenAIResponsesToolChoice, i as reconcileOpenAICompletionsToolChoice, n as OpenAIToolProjection, r as projectOpenAITools, t as OpenAICompletionsToolChoice } from "../openai-tool-projection-793cE3QX.mjs";
|
|
4
|
-
import "../types-
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { n as clampOpenAIPromptCacheKey, r as resolveOpenAIPromptCacheParams, t as OPENAI_PROMPT_CACHE_KEY_MAX_LENGTH } from "../openai-prompt-cache-
|
|
8
|
-
import
|
|
4
|
+
import "../types-DkJfb4W3.mjs";
|
|
5
|
+
import { t as ResolvedOpenAICompletionsCompat } from "../openai-completions-compat-JE7gqxb9.mjs";
|
|
6
|
+
import { a as ResponsesPromptObservation, l as OpenAIRequestReasoningEffort, o as responsesPromptObserver } from "../openai-responses-contracts-Dflvrfa8.mjs";
|
|
7
|
+
import { n as clampOpenAIPromptCacheKey, r as resolveOpenAIPromptCacheParams, t as OPENAI_PROMPT_CACHE_KEY_MAX_LENGTH } from "../openai-prompt-cache-CJ_xEevu.mjs";
|
|
8
|
+
import { a as resolveResponsesTerminalStopReason, i as readResponsesReasoningTokens, n as isResponsesOutputLimitToolCallError, r as mapResponsesTerminalUsage, t as ResponsesTerminalUsagePayload } from "../openai-responses-terminal-usage-Dl3J6zrf.mjs";
|
|
9
9
|
import { ResponseCreateParamsStreaming } from "openai/resources/responses/responses.js";
|
|
10
10
|
import { ChatCompletionMessageParam } from "openai/resources/chat/completions.js";
|
|
11
11
|
//#region packages/ai/src/providers/azure-deployment-map.d.ts
|
|
@@ -40,14 +40,11 @@ export declare const streamSimpleOpenAICompletions: StreamFunction<"openai-compl
|
|
|
40
40
|
//#endregion
|
|
41
41
|
//#region packages/ai/src/providers/openai-responses.d.ts
|
|
42
42
|
export interface OpenAIResponsesOptions extends BaseOpenAIStreamOptions {
|
|
43
|
-
reasoningEffort?:
|
|
43
|
+
reasoningEffort?: OpenAIRequestReasoningEffort;
|
|
44
44
|
reasoningSummary?: "auto" | "detailed" | "concise" | null;
|
|
45
45
|
replayResponsesItemIds?: boolean;
|
|
46
46
|
serviceTier?: ResponseCreateParamsStreaming["service_tier"];
|
|
47
47
|
}
|
|
48
|
-
/**
|
|
49
|
-
* Generate function for OpenAI Responses API
|
|
50
|
-
*/
|
|
51
48
|
export declare const streamOpenAIResponses: StreamFunction<"openai-responses", OpenAIResponsesOptions>;
|
|
52
49
|
export declare const streamSimpleOpenAIResponses: StreamFunction<"openai-responses", SimpleStreamOptions>;
|
|
53
50
|
//#endregion
|
|
@@ -88,47 +85,6 @@ export declare function resolveResponsesMessageSnapshotCollapse(params: {
|
|
|
88
85
|
nextPhase: string | undefined;
|
|
89
86
|
}): ResponsesMessageSnapshotCollapse;
|
|
90
87
|
//#endregion
|
|
91
|
-
//#region packages/ai/src/providers/openai-responses-terminal-usage.d.ts
|
|
92
|
-
/** Terminal usage payload, modeled structurally so untyped callers can pass raw records. */
|
|
93
|
-
export type ResponsesTerminalUsagePayload = {
|
|
94
|
-
input_tokens?: number | null;
|
|
95
|
-
output_tokens?: number | null;
|
|
96
|
-
total_tokens?: number | null;
|
|
97
|
-
input_tokens_details?: {
|
|
98
|
-
cached_tokens?: number | null;
|
|
99
|
-
cache_write_tokens?: number | null;
|
|
100
|
-
} | null;
|
|
101
|
-
output_tokens_details?: {
|
|
102
|
-
reasoning_tokens?: number | null;
|
|
103
|
-
} | null;
|
|
104
|
-
};
|
|
105
|
-
/**
|
|
106
|
-
* Split a terminal usage payload into the priced buckets.
|
|
107
|
-
*
|
|
108
|
-
* OpenAI includes cache reads and writes in `input_tokens`, so both are subtracted out of the
|
|
109
|
-
* billable input bucket. `total_tokens` comes from the payload, but never below the sum of the
|
|
110
|
-
* split buckets: proxies routinely omit it (reporting 0 would understate the turn), and a payload
|
|
111
|
-
* whose `cached_tokens` exceeds `input_tokens` clamps the input bucket, leaving the reported total
|
|
112
|
-
* short of what the buckets actually price.
|
|
113
|
-
*/
|
|
114
|
-
export declare function mapResponsesTerminalUsage(usage: ResponsesTerminalUsagePayload | undefined | null): Pick<Usage, "input" | "output" | "cacheRead" | "cacheWrite" | "contextUsage" | "totalTokens"> | undefined;
|
|
115
|
-
/** Reasoning tokens are reported by the agent path only; the package path does not track them. */
|
|
116
|
-
export declare function readResponsesReasoningTokens(usage: ResponsesTerminalUsagePayload | undefined | null): number | undefined;
|
|
117
|
-
/**
|
|
118
|
-
* Resolve the terminal stop reason, including the two overrides every Responses path shares: a
|
|
119
|
-
* content-filtered turn is a provider error rather than a truncated answer, and a turn that
|
|
120
|
-
* produced tool calls reports `toolUse` instead of a plain stop.
|
|
121
|
-
*/
|
|
122
|
-
export declare function resolveResponsesTerminalStopReason(params: {
|
|
123
|
-
status: OpenAI.Responses.ResponseStatus | undefined;
|
|
124
|
-
terminalEventType?: "response.completed" | "response.incomplete";
|
|
125
|
-
incompleteReason?: string;
|
|
126
|
-
hasToolCall: boolean;
|
|
127
|
-
}): {
|
|
128
|
-
stopReason: StopReason;
|
|
129
|
-
errorMessage?: string;
|
|
130
|
-
};
|
|
131
|
-
//#endregion
|
|
132
88
|
//#region packages/ai/src/providers/openai-responses-tool-call-tracker.d.ts
|
|
133
89
|
export type ResponsesToolCallIdentity = {
|
|
134
90
|
itemId?: string;
|
|
@@ -136,6 +92,7 @@ export type ResponsesToolCallIdentity = {
|
|
|
136
92
|
};
|
|
137
93
|
export type ResponsesToolCallState = ResponsesToolCallIdentity & {
|
|
138
94
|
argumentStreamReliable: boolean;
|
|
95
|
+
argumentsStreamed: boolean;
|
|
139
96
|
outputIndex?: number;
|
|
140
97
|
};
|
|
141
98
|
type ResponsesToolCallEvent = {
|
|
@@ -164,4 +121,4 @@ export declare function mapOpenAIStopReason(reason: string | null, options?: {
|
|
|
164
121
|
allowSingularToolCall?: boolean;
|
|
165
122
|
}): OpenAIStopReasonResult;
|
|
166
123
|
//#endregion
|
|
167
|
-
export { type CodeModeToolSurfaceObservation, OPENAI_PROMPT_CACHE_KEY_MAX_LENGTH, OpenAIApiReasoningEffort, type OpenAICompletionsOptions, OpenAICompletionsToolChoice, OpenAIReasoningEffort, OpenAIToolProjection, type ResponsesPromptObservation, clampOpenAIPromptCacheKey, codeModeToolSurfaceObserver, isOpenAIGpt54MiniModel, isOpenAIGpt55Model, isOpenAIGpt56Model, normalizeOpenAIReasoningEffort, projectOpenAITools, reasoningTagTextPolicy, reconcileOpenAICompletionsToolChoice, reconcileOpenAIResponsesToolChoice, resolveOpenAIModelReasoningEfforts, resolveOpenAIPromptCacheParams, resolveOpenAIReasoningEffortForModel, resolveOpenAISupportedReasoningEfforts, responsesPromptObserver, supportsOpenAIReasoningEffort, supportsOpenAITemperature };
|
|
124
|
+
export { type CodeModeToolSurfaceObservation, OPENAI_PROMPT_CACHE_KEY_MAX_LENGTH, OpenAIApiReasoningEffort, type OpenAICompletionsOptions, type OpenAICompletionsToolChoice, OpenAIReasoningEffort, type OpenAIToolProjection, type ResponsesPromptObservation, ResponsesTerminalUsagePayload, clampOpenAIPromptCacheKey, codeModeToolSurfaceObserver, isOpenAIGpt54MiniModel, isOpenAIGpt55Model, isOpenAIGpt56Model, isResponsesOutputLimitToolCallError, mapResponsesTerminalUsage, normalizeOpenAIReasoningEffort, projectOpenAITools, readResponsesReasoningTokens, reasoningTagTextPolicy, reconcileOpenAICompletionsToolChoice, reconcileOpenAIResponsesToolChoice, resolveOpenAIModelReasoningEfforts, resolveOpenAIPromptCacheParams, resolveOpenAIReasoningEffortForModel, resolveOpenAIReasoningEffortMapping, resolveOpenAISupportedReasoningEfforts, resolveResponsesTerminalStopReason, responsesPromptObserver, supportsOpenAIReasoningEffort, supportsOpenAITemperature };
|
package/dist/internal/openai.mjs
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { n as
|
|
2
|
-
import {
|
|
3
|
-
import { f as
|
|
4
|
-
import { a as
|
|
5
|
-
import {
|
|
1
|
+
import { a as resolveOpenAIModelReasoningEfforts, c as resolveOpenAISupportedReasoningEfforts, i as normalizeOpenAIReasoningEffort, l as supportsOpenAIReasoningEffort, n as isOpenAIGpt55Model, o as resolveOpenAIReasoningEffortForModel, r as isOpenAIGpt56Model, s as resolveOpenAIReasoningEffortMapping, t as isOpenAIGpt54MiniModel, u as supportsOpenAITemperature } from "../openai-reasoning-effort-NlFZmfEu.mjs";
|
|
2
|
+
import { n as clampOpenAIPromptCacheKey, r as resolveOpenAIPromptCacheParams, t as OPENAI_PROMPT_CACHE_KEY_MAX_LENGTH } from "../openai-prompt-cache-1wfaIszn.mjs";
|
|
3
|
+
import { d as readResponsesReasoningTokens, f as resolveResponsesTerminalStopReason, l as isResponsesOutputLimitToolCallError, u as mapResponsesTerminalUsage } from "../diagnostics-Dm4bisWG.mjs";
|
|
4
|
+
import { a as codeModeToolSurfaceObserver, o as reasoningTagTextPolicy } from "../simple-options-C6cFWj_f.mjs";
|
|
5
|
+
import { f as projectOpenAITools, m as reconcileOpenAIResponsesToolChoice, p as reconcileOpenAICompletionsToolChoice } from "../openai-transport-params-DQeuAvBl.mjs";
|
|
6
|
+
import { a as convertMessages } from "../openai-completions-stream-Bu98b0Hv.mjs";
|
|
7
|
+
import { h as responsesPromptObserver } from "../openai-responses-contracts-DWrfMODE.mjs";
|
|
6
8
|
import { t as mapOpenAIStopReason } from "../openai-stop-reason-Drnn_6Qj.mjs";
|
|
7
|
-
import { S as
|
|
8
|
-
import { A as OPENAI_RESPONSES_OUTPUT_TEXT_CONTENT_PART_TYPE, D as readResponsesToolCallItemIdentity, E as createResponsesToolCallTracker, F as isResponsesTextDeltaEventType, I as resolveResponsesMessageSnapshotCollapse, M as isAzureResponsesTextDeltaEvent, N as isAzureResponsesTextDeltaEventType, O as AZURE_RESPONSES_TEXT_CONTENT_PART_TYPE, P as isResponsesTextContentPartType, d as mapResponsesTerminalUsage, f as readResponsesReasoningTokens, j as OPENAI_RESPONSES_OUTPUT_TEXT_DELTA_EVENT_TYPE, k as AZURE_RESPONSES_TEXT_DELTA_EVENT_TYPE, p as resolveResponsesTerminalStopReason } from "../openai-responses-shared-ZyQEzS5i.mjs";
|
|
9
|
+
import { C as isResponsesTextContentPartType, S as isAzureResponsesTextDeltaEventType, T as resolveResponsesMessageSnapshotCollapse, _ as AZURE_RESPONSES_TEXT_CONTENT_PART_TYPE, b as OPENAI_RESPONSES_OUTPUT_TEXT_DELTA_EVENT_TYPE, g as readResponsesToolCallItemIdentity, h as createResponsesToolCallTracker, v as AZURE_RESPONSES_TEXT_DELTA_EVENT_TYPE, w as isResponsesTextDeltaEventType, x as isAzureResponsesTextDeltaEvent, y as OPENAI_RESPONSES_OUTPUT_TEXT_CONTENT_PART_TYPE } from "../openai-responses-shared-CwsziD_m.mjs";
|
|
9
10
|
import { i as resolveAzureDeploymentNameFromMap, n as isTraditionalAzureOpenAIHost, r as parseAzureDeploymentNameMap, t as isOpenAICompatibleAzureResponsesBaseUrl } from "../azure-openai-responses-client-compat-C7K7QfUE.mjs";
|
|
10
|
-
import { n as streamOpenAICompletions, r as streamSimpleOpenAICompletions } from "../openai-completions-
|
|
11
|
-
import { n as streamOpenAIResponses, r as streamSimpleOpenAIResponses } from "../openai-responses-
|
|
12
|
-
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, clampOpenAIPromptCacheKey, codeModeToolSurfaceObserver, convertMessages, createResponsesToolCallTracker, isAzureResponsesTextDeltaEvent, isAzureResponsesTextDeltaEventType, isOpenAICompatibleAzureResponsesBaseUrl, isOpenAIGpt54MiniModel, isOpenAIGpt55Model, isOpenAIGpt56Model, isResponsesTextContentPartType, isResponsesTextDeltaEventType, isTraditionalAzureOpenAIHost, mapOpenAIStopReason, mapResponsesTerminalUsage, normalizeOpenAIReasoningEffort, parseAzureDeploymentNameMap, projectOpenAITools, readResponsesReasoningTokens, readResponsesToolCallItemIdentity, reasoningTagTextPolicy, reconcileOpenAICompletionsToolChoice, reconcileOpenAIResponsesToolChoice, resolveAzureDeploymentNameFromMap, resolveOpenAIModelReasoningEfforts, resolveOpenAIPromptCacheParams, resolveOpenAIReasoningEffortForModel, resolveOpenAISupportedReasoningEfforts, resolveResponsesMessageSnapshotCollapse, resolveResponsesTerminalStopReason, responsesPromptObserver, streamOpenAICompletions, streamOpenAIResponses, streamSimpleOpenAICompletions, streamSimpleOpenAIResponses, supportsOpenAIReasoningEffort, supportsOpenAITemperature };
|
|
11
|
+
import { n as streamOpenAICompletions, r as streamSimpleOpenAICompletions } from "../openai-completions-DJ1Vm-CD.mjs";
|
|
12
|
+
import { n as streamOpenAIResponses, r as streamSimpleOpenAIResponses } from "../openai-responses-BejZzQCP.mjs";
|
|
13
|
+
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, clampOpenAIPromptCacheKey, codeModeToolSurfaceObserver, convertMessages, createResponsesToolCallTracker, isAzureResponsesTextDeltaEvent, isAzureResponsesTextDeltaEventType, isOpenAICompatibleAzureResponsesBaseUrl, isOpenAIGpt54MiniModel, isOpenAIGpt55Model, isOpenAIGpt56Model, isResponsesOutputLimitToolCallError, isResponsesTextContentPartType, isResponsesTextDeltaEventType, isTraditionalAzureOpenAIHost, mapOpenAIStopReason, mapResponsesTerminalUsage, normalizeOpenAIReasoningEffort, parseAzureDeploymentNameMap, projectOpenAITools, readResponsesReasoningTokens, readResponsesToolCallItemIdentity, reasoningTagTextPolicy, reconcileOpenAICompletionsToolChoice, reconcileOpenAIResponsesToolChoice, resolveAzureDeploymentNameFromMap, resolveOpenAIModelReasoningEfforts, resolveOpenAIPromptCacheParams, resolveOpenAIReasoningEffortForModel, resolveOpenAIReasoningEffortMapping, resolveOpenAISupportedReasoningEfforts, resolveResponsesMessageSnapshotCollapse, resolveResponsesTerminalStopReason, responsesPromptObserver, streamOpenAICompletions, streamOpenAIResponses, streamSimpleOpenAICompletions, streamSimpleOpenAIResponses, supportsOpenAIReasoningEffort, supportsOpenAITemperature };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import "../index-
|
|
2
|
-
import {
|
|
3
|
-
import { i as getEventStreamCompletion } from "../event-stream-
|
|
4
|
-
import { a as RegisteredApiProvider, t as ApiProvider } from "../api-registry-
|
|
5
|
-
import "../types-
|
|
1
|
+
import "../index-DaF2QbwS.mjs";
|
|
2
|
+
import { G as SimpleStreamOptions, H as ProviderStreamOptions, O as Model, Y as StreamOptions, a as AssistantMessage, d as Context, j as ModelThinkingLevel, n as Api, ot as Usage, s as AssistantMessageEventStreamContract } from "../types-4_uVs5WH.mjs";
|
|
3
|
+
import { i as getEventStreamCompletion } from "../event-stream-CCoa-qSI.mjs";
|
|
4
|
+
import { a as RegisteredApiProvider, t as ApiProvider } from "../api-registry-Ba2Cv-ut.mjs";
|
|
5
|
+
import "../types-DkJfb4W3.mjs";
|
|
6
6
|
import { t as sanitizeSurrogates } from "../sanitize-unicode-BZiVbGwK.mjs";
|
|
7
|
-
import {
|
|
7
|
+
import { _ as parseTerminalToolCallArguments } from "../transport-stream-shared-BbUkFaHi.mjs";
|
|
8
8
|
//#region packages/ai/src/internal/default-runtime.d.ts
|
|
9
9
|
export declare const defaultApiRegistry: {
|
|
10
10
|
registerApiProvider: <TApi extends Api, TOptions extends StreamOptions>(provider: ApiProvider<TApi, TOptions>, sourceId?: string) => void;
|
|
@@ -89,8 +89,15 @@ export declare function headersToRecord(headers: Headers): Record<string, string
|
|
|
89
89
|
* Repairs malformed JSON string literals by:
|
|
90
90
|
* - escaping raw control characters inside strings
|
|
91
91
|
* - doubling backslashes before invalid escape characters
|
|
92
|
+
*
|
|
93
|
+
* By default a valid control escape (`\n`, `\t`, ...) that follows a Windows-path-looking
|
|
94
|
+
* prefix is treated as an unescaped path separator and doubled. Pass
|
|
95
|
+
* `preserveValidControlEscapes` when the text is authoritative (for example a completed
|
|
96
|
+
* tool-call argument buffer) and every valid escape must survive as written.
|
|
92
97
|
*/
|
|
93
|
-
export declare function repairJson(json: string
|
|
98
|
+
export declare function repairJson(json: string, options?: {
|
|
99
|
+
preserveValidControlEscapes?: boolean;
|
|
100
|
+
}): string;
|
|
94
101
|
export declare function parseJsonWithRepair(json: string): unknown;
|
|
95
102
|
/**
|
|
96
103
|
* Attempts to parse potentially incomplete JSON during streaming.
|
|
@@ -127,8 +134,6 @@ export declare function decodeOpenAICodexJwtPayload(token: string): OpenAICodexJ
|
|
|
127
134
|
export declare function resolveOpenAICodexAccountId(token: string): string | null;
|
|
128
135
|
//#endregion
|
|
129
136
|
//#region packages/ai/src/utils/overflow.d.ts
|
|
130
|
-
/** Detects DS4-style raw token-count context overflow errors. */
|
|
131
|
-
export declare function isConfiguredContextSizeOverflowError(errorMessage: string): boolean;
|
|
132
137
|
declare const CONTEXT_OVERFLOW_PATTERN_SCOPES: {
|
|
133
138
|
readonly "assistant-error": RegExp[];
|
|
134
139
|
readonly "failover-explicit": RegExp[];
|
|
@@ -217,6 +222,34 @@ interface ReasoningTagTextPartitioner {
|
|
|
217
222
|
/** Creates a block-incremental parser that emits only Markdown-stable text. */
|
|
218
223
|
export declare function createReasoningTagTextPartitioner(): ReasoningTagTextPartitioner;
|
|
219
224
|
//#endregion
|
|
225
|
+
//#region packages/ai/src/utils/stream-first-event-timeout.d.ts
|
|
226
|
+
type StreamStage = "responses" | "completions";
|
|
227
|
+
export type FirstStreamEventTimeoutContext = {
|
|
228
|
+
provider?: string;
|
|
229
|
+
api?: string;
|
|
230
|
+
model?: string;
|
|
231
|
+
timeoutMs: number;
|
|
232
|
+
stage?: StreamStage;
|
|
233
|
+
hint?: string;
|
|
234
|
+
abort?: (reason: Error) => void;
|
|
235
|
+
onTimeout?: (reason: Error) => void;
|
|
236
|
+
};
|
|
237
|
+
export type FirstStreamEventInternalOptions = {
|
|
238
|
+
firstEventTimeoutMs?: number;
|
|
239
|
+
abortFirstEventStream?: (reason: Error) => void;
|
|
240
|
+
onFirstEventTimeout?: (reason: Error) => void;
|
|
241
|
+
};
|
|
242
|
+
export type FirstStreamEventAbortController = {
|
|
243
|
+
signal: AbortSignal;
|
|
244
|
+
abort: (reason: Error) => void;
|
|
245
|
+
dispose: () => void;
|
|
246
|
+
};
|
|
247
|
+
export declare function getFirstStreamEventTimeoutMs(options: unknown): number | undefined;
|
|
248
|
+
export declare function getFirstStreamEventTimeoutHandler(options: unknown): ((reason: Error) => void) | undefined;
|
|
249
|
+
export declare function createFirstStreamEventTimeoutError(context: FirstStreamEventTimeoutContext): Error;
|
|
250
|
+
export declare function createFirstStreamEventAbortController(parentSignal?: AbortSignal): FirstStreamEventAbortController;
|
|
251
|
+
export declare function withFirstStreamEventTimeout<T>(stream: AsyncIterable<T>, context: FirstStreamEventTimeoutContext): AsyncIterable<T>;
|
|
252
|
+
//#endregion
|
|
220
253
|
//#region packages/ai/src/utils/streaming-byte-guard.d.ts
|
|
221
254
|
/**
|
|
222
255
|
* Bounded SSE / NDJSON stream reader guard.
|
|
@@ -247,4 +280,4 @@ export type SseByteGuard = {
|
|
|
247
280
|
};
|
|
248
281
|
export declare function createSseByteGuard(reader: ReadableStreamDefaultReader<Uint8Array>, opts: ReadSseStreamWithLimitOptions): SseByteGuard;
|
|
249
282
|
//#endregion
|
|
250
|
-
export {
|
|
283
|
+
export { type ReasoningTagTextDelta, type ReasoningTagTextPartitioner, getEventStreamCompletion, parseTerminalToolCallArguments, sanitizeSurrogates };
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import { a as isProviderRefusalAssistantError } from "../diagnostics-CPeq9F7y.mjs";
|
|
2
2
|
import { a as getEventStreamCompletion } from "../event-stream-D8PARQfL.mjs";
|
|
3
3
|
import { n as createApiRegistry, t as createLlmRuntime } from "../stream-CREqxHgU.mjs";
|
|
4
|
-
import {
|
|
5
|
-
import { t as createReasoningTagTextPartitioner } from "../reasoning-tag-text-partitioner-BQBi4B9d.mjs";
|
|
4
|
+
import { A as applyProviderReportedUsageCost, M as clampThinkingLevel, N as getSupportedThinkingLevels, P as modelsAreEqual, j as calculateCost, v as sanitizeSurrogates } from "../host-B4MeUNBc.mjs";
|
|
6
5
|
import { n as getEnvApiKey, t as findEnvKeys } from "../env-api-keys-bktO00EJ.mjs";
|
|
7
|
-
import {
|
|
6
|
+
import { D as repairJson, E as parseStreamingJson, O as headersToRecord, T as parseJsonWithRepair, h as parseTerminalToolCallArguments, k as shortHash, w as createToolArgumentPreviewSchedule } from "../transport-stream-shared-D-6FQSHm.mjs";
|
|
8
7
|
import { t as createDeferredEventBuffer } from "../deferred-event-buffer-DAvyP7qA.mjs";
|
|
9
|
-
import { t as shortHash } from "../hash-CHgqbJmD.mjs";
|
|
10
|
-
import { i as repairJson, n as parseJsonWithRepair, r as parseStreamingJson, t as createToolArgumentPreviewSchedule } from "../json-parse-Dw_hnxsA.mjs";
|
|
11
8
|
import { n as onLlmRequestActivity, t as notifyLlmRequestActivity } from "../llm-request-activity-BjtkplhG.mjs";
|
|
12
|
-
import { a as withFirstStreamEventTimeout, i as getFirstStreamEventTimeoutMs, n as createFirstStreamEventTimeoutError, r as getFirstStreamEventTimeoutHandler, t as createFirstStreamEventAbortController } from "../stream-first-event-timeout-
|
|
9
|
+
import { a as withFirstStreamEventTimeout, i as getFirstStreamEventTimeoutMs, n as createFirstStreamEventTimeoutError, r as getFirstStreamEventTimeoutHandler, t as createFirstStreamEventAbortController } from "../stream-first-event-timeout-C9ZadkJW.mjs";
|
|
10
|
+
import { t as createReasoningTagTextPartitioner } from "../reasoning-tag-text-partitioner-Dy9IO8Dc.mjs";
|
|
13
11
|
import { t as createSseByteGuard } from "../streaming-byte-guard-CC-HMn_u.mjs";
|
|
14
12
|
import { n as registerSessionResourceCleanup, t as cleanupSessionResources } from "../session-resources-CkR4WWy1.mjs";
|
|
15
13
|
import { n as resolveOpenAICodexAccountId, t as decodeOpenAICodexJwtPayload } from "../openai-chatgpt-jwt-KWcgd0d_.mjs";
|
|
@@ -37,10 +35,6 @@ const { stream, complete, streamSimple, completeSimple } = defaultLlmRuntime;
|
|
|
37
35
|
//#endregion
|
|
38
36
|
//#region packages/ai/src/utils/overflow.ts
|
|
39
37
|
const CONFIGURED_CONTEXT_SIZE_OVERFLOW_RE = /prompt has [\d,]+ tokens?, but the configured context size is [\d,]+ tokens?/i;
|
|
40
|
-
/** Detects DS4-style raw token-count context overflow errors. */
|
|
41
|
-
function isConfiguredContextSizeOverflowError(errorMessage) {
|
|
42
|
-
return CONFIGURED_CONTEXT_SIZE_OVERFLOW_RE.test(errorMessage);
|
|
43
|
-
}
|
|
44
38
|
const CONTEXT_OVERFLOW_PATTERN_SCOPES = {
|
|
45
39
|
"assistant-error": [
|
|
46
40
|
/prompt is too long/i,
|
|
@@ -201,4 +195,4 @@ function isContextOverflow(message, contextWindow) {
|
|
|
201
195
|
return false;
|
|
202
196
|
}
|
|
203
197
|
//#endregion
|
|
204
|
-
export { applyProviderReportedUsageCost, calculateCost, clampThinkingLevel, cleanupSessionResources, clearApiProviders, complete, completeSimple, createDeferredEventBuffer, createFirstStreamEventAbortController, createFirstStreamEventTimeoutError, createReasoningTagTextPartitioner, createSseByteGuard, createToolArgumentPreviewSchedule, decodeOpenAICodexJwtPayload, defaultApiRegistry, defaultLlmRuntime, findEnvKeys, getApiProvider, getApiProviders, getEnvApiKey, getEventStreamCompletion, getFirstStreamEventTimeoutHandler, getFirstStreamEventTimeoutMs, getSupportedThinkingLevels, headersToRecord,
|
|
198
|
+
export { applyProviderReportedUsageCost, calculateCost, clampThinkingLevel, cleanupSessionResources, clearApiProviders, complete, completeSimple, createDeferredEventBuffer, createFirstStreamEventAbortController, createFirstStreamEventTimeoutError, createReasoningTagTextPartitioner, createSseByteGuard, createToolArgumentPreviewSchedule, decodeOpenAICodexJwtPayload, defaultApiRegistry, defaultLlmRuntime, findEnvKeys, getApiProvider, getApiProviders, getEnvApiKey, getEventStreamCompletion, getFirstStreamEventTimeoutHandler, getFirstStreamEventTimeoutMs, getSupportedThinkingLevels, headersToRecord, isContextOverflow, matchesContextOverflowMessage, modelsAreEqual, notifyLlmRequestActivity, onLlmRequestActivity, parseJsonWithRepair, parseStreamingJson, parseTerminalToolCallArguments, registerSessionResourceCleanup, repairJson, resolveOpenAICodexAccountId, sanitizeSurrogates, shortHash, stream, streamSimple, withFirstStreamEventTimeout };
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { a as readAssistantThinkingAppend } from "../event-stream-
|
|
3
|
-
import "../types-
|
|
1
|
+
import { D as Message, G as SimpleStreamOptions, O as Model, Q as ThinkingBudgets, Y as StreamOptions, a as AssistantMessage, et as ThinkingLevel, n as Api } from "../types-4_uVs5WH.mjs";
|
|
2
|
+
import { a as readAssistantThinkingAppend } from "../event-stream-CCoa-qSI.mjs";
|
|
3
|
+
import "../types-DkJfb4W3.mjs";
|
|
4
4
|
import { t as sanitizeSurrogates } from "../sanitize-unicode-BZiVbGwK.mjs";
|
|
5
|
+
import { n as createDiagnosticRecord } from "../credential-redaction-BKv49aiv.mjs";
|
|
5
6
|
import { n as normalizeStructuredPromptSection, r as sortPromptCacheToolsByName, t as normalizePromptCapabilityIds } from "../prompt-cache-stability-Cwcjv_fx.mjs";
|
|
6
7
|
//#region packages/ai/src/providers/simple-options.d.ts
|
|
7
8
|
type FirstEventStreamOptions = {
|
|
8
9
|
firstEventTimeoutMs?: number;
|
|
9
10
|
onFirstEventTimeout?: (reason: Error) => void;
|
|
10
11
|
};
|
|
11
|
-
export declare function buildBaseOptions(model: Model, options?: SimpleStreamOptions, apiKey?: string): StreamOptions & FirstEventStreamOptions
|
|
12
|
+
export declare function buildBaseOptions(model: Model, options?: SimpleStreamOptions, apiKey?: string): StreamOptions & FirstEventStreamOptions & Pick<SimpleStreamOptions, "serviceTier">;
|
|
12
13
|
export declare function clampMaxTokensToModel(model: Model, requestedMaxTokens: number): number;
|
|
13
14
|
export declare function clampMaxTokensToModel(model: Model, requestedMaxTokens: number | undefined): number | undefined;
|
|
14
15
|
export declare function clampReasoning(effort: ThinkingLevel): Exclude<ThinkingLevel, "xhigh">;
|
|
@@ -49,14 +50,43 @@ export declare function formatToolResultText(params: {
|
|
|
49
50
|
//#region packages/ai/src/transcript-transform.d.ts
|
|
50
51
|
export declare function transformMessages<TApi extends Api>(messages: Message[], model: Model<TApi>, normalizeToolCallId?: (id: string, model: Model<TApi>, source: AssistantMessage) => string): Message[];
|
|
51
52
|
//#endregion
|
|
53
|
+
//#region packages/ai/src/replay-turn-classification.d.ts
|
|
54
|
+
type AssistantTurnLike = {
|
|
55
|
+
role?: unknown;
|
|
56
|
+
stopReason?: unknown;
|
|
57
|
+
content?: unknown;
|
|
58
|
+
};
|
|
59
|
+
/** Returns true when an assistant turn contains only provider reasoning and blank text. */
|
|
60
|
+
export declare function hasOnlyAssistantReasoningContent(message: AssistantTurnLike): boolean;
|
|
61
|
+
/** Returns true when a token-limited turn contains only incomplete provider reasoning. */
|
|
62
|
+
export declare function isReasoningOnlyLengthAssistantTurn(message: AssistantTurnLike): boolean;
|
|
63
|
+
export declare const STREAM_ERROR_FALLBACK_TEXT = "[assistant turn failed before producing content]";
|
|
64
|
+
export declare function isStreamErrorFallbackContent(content: unknown): boolean;
|
|
65
|
+
export declare const FAILED_ASSISTANT_REPLAY_TEXT = "[This turn failed before it completed. Do not redo its work without confirming with the user first.]";
|
|
66
|
+
type FailedAssistantReplay = "keep" | "drop" | "marker";
|
|
67
|
+
/** Classify failed source content before model-specific thinking or tool projection. */
|
|
68
|
+
export declare function resolveFailedAssistantReplay(message: AssistantTurnLike, options: {
|
|
69
|
+
pairingAware: boolean;
|
|
70
|
+
}): FailedAssistantReplay;
|
|
71
|
+
//#endregion
|
|
52
72
|
//#region packages/ai/src/utils/system-prompt-cache-boundary.d.ts
|
|
53
73
|
export declare const SYSTEM_PROMPT_CACHE_BOUNDARY = "\n<!-- OPENCLAW_CACHE_BOUNDARY -->\n";
|
|
74
|
+
/** Producer-delimited Runtime facts; instructions must remain outside this region. */
|
|
75
|
+
export declare const SYSTEM_PROMPT_RELOCATABLE_BOUNDARY = "\n<!-- OPENCLAW-RELOCATABLE-BOUNDARY -->\n";
|
|
76
|
+
export declare const SYSTEM_PROMPT_RELOCATABLE_BOUNDARY_END = "\n<!-- /OPENCLAW-RELOCATABLE-BOUNDARY -->";
|
|
54
77
|
export declare function stripSystemPromptCacheBoundary(text: string): string;
|
|
78
|
+
/** Reject ambiguous markers from workspace or hook text instead of moving instructions. */
|
|
79
|
+
export declare function splitSystemPromptRelocatableBoundary(text: string): {
|
|
80
|
+
remainingPrompt: string;
|
|
81
|
+
relocatable: string;
|
|
82
|
+
} | undefined;
|
|
55
83
|
export declare function ensureSystemPromptCacheBoundary(systemPrompt: string): string;
|
|
56
84
|
export declare function splitSystemPromptCacheBoundary(text: string): {
|
|
57
85
|
stablePrefix: string;
|
|
58
86
|
dynamicSuffix: string;
|
|
59
87
|
} | undefined;
|
|
88
|
+
/** Keep explicit cache breakpoints while removing relocation metadata. */
|
|
89
|
+
export declare function stripSystemPromptRelocatableBoundary(text: string): string;
|
|
60
90
|
export declare function prependSystemPromptAdditionAfterCacheBoundary(params: {
|
|
61
91
|
systemPrompt: string;
|
|
62
92
|
systemPromptAddition?: string;
|
|
@@ -82,4 +112,4 @@ export declare function projectCopilotRequestFacts(messages: readonly {
|
|
|
82
112
|
hasImages: boolean;
|
|
83
113
|
};
|
|
84
114
|
//#endregion
|
|
85
|
-
export { normalizePromptCapabilityIds, normalizeStructuredPromptSection, readAssistantThinkingAppend, sanitizeSurrogates, sortPromptCacheToolsByName };
|
|
115
|
+
export { createDiagnosticRecord, normalizePromptCapabilityIds, normalizeStructuredPromptSection, readAssistantThinkingAppend, sanitizeSurrogates, sortPromptCacheToolsByName };
|
package/dist/internal/shared.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { o as readAssistantThinkingAppend } from "../event-stream-D8PARQfL.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { c as
|
|
2
|
+
import { _ as isImageWithMediaPayload, a as FAILED_ASSISTANT_REPLAY_TEXT, c as isReasoningOnlyLengthAssistantTurn, d as describeToolResultMediaPlaceholder, f as describeUnsupportedToolResultMedia, g as hasMediaPayload, h as formatToolResultText, i as transformMessages, l as isStreamErrorFallbackContent, m as extractToolResultText, o as STREAM_ERROR_FALLBACK_TEXT, p as extractToolResultBlockText, s as hasOnlyAssistantReasoningContent, u as resolveFailedAssistantReplay, v as sanitizeSurrogates } from "../host-B4MeUNBc.mjs";
|
|
3
|
+
import { r as createDiagnosticRecord } from "../provider-error-DDqw9Qda.mjs";
|
|
4
|
+
import { _ as normalizeStructuredPromptSection, c as SYSTEM_PROMPT_RELOCATABLE_BOUNDARY, d as prependSystemPromptAdditionAfterCacheBoundary, f as splitSystemPromptCacheBoundary, g as normalizePromptCapabilityIds, h as stripSystemPromptRelocatableBoundary, i as clampReasoning, l as SYSTEM_PROMPT_RELOCATABLE_BOUNDARY_END, m as stripSystemPromptCacheBoundary, n as buildBaseOptions, p as splitSystemPromptRelocatableBoundary, r as clampMaxTokensToModel, s as SYSTEM_PROMPT_CACHE_BOUNDARY, t as adjustMaxTokensForThinking, u as ensureSystemPromptCacheBoundary, v as sortPromptCacheToolsByName } from "../simple-options-C6cFWj_f.mjs";
|
|
5
5
|
import { t as projectCopilotRequestFacts } from "../github-copilot-request-facts-BTEBMeOv.mjs";
|
|
6
6
|
//#region packages/ai/src/utils/tls-certificate-errors.ts
|
|
7
7
|
const HOSTNAME_MISMATCH_CODES = /* @__PURE__ */ new Set(["ERR_TLS_CERT_ALTNAME_INVALID", "HOSTNAME_MISMATCH"]);
|
|
@@ -95,4 +95,4 @@ function inspectTlsCertificateError(error) {
|
|
|
95
95
|
return inspectTlsCertificateErrorInternal(error, /* @__PURE__ */ new Set(), 0);
|
|
96
96
|
}
|
|
97
97
|
//#endregion
|
|
98
|
-
export { SYSTEM_PROMPT_CACHE_BOUNDARY, adjustMaxTokensForThinking, buildBaseOptions, clampMaxTokensToModel, clampReasoning, describeToolResultMediaPlaceholder, describeUnsupportedToolResultMedia, ensureSystemPromptCacheBoundary, extractToolResultBlockText, extractToolResultText, formatToolResultText, hasMediaPayload, inspectTlsCertificateError, isImageWithMediaPayload, normalizePromptCapabilityIds, normalizeStructuredPromptSection, prependSystemPromptAdditionAfterCacheBoundary, projectCopilotRequestFacts, readAssistantThinkingAppend, sanitizeSurrogates, sortPromptCacheToolsByName, splitSystemPromptCacheBoundary, stripSystemPromptCacheBoundary, transformMessages };
|
|
98
|
+
export { FAILED_ASSISTANT_REPLAY_TEXT, STREAM_ERROR_FALLBACK_TEXT, SYSTEM_PROMPT_CACHE_BOUNDARY, SYSTEM_PROMPT_RELOCATABLE_BOUNDARY, SYSTEM_PROMPT_RELOCATABLE_BOUNDARY_END, adjustMaxTokensForThinking, buildBaseOptions, clampMaxTokensToModel, clampReasoning, createDiagnosticRecord, describeToolResultMediaPlaceholder, describeUnsupportedToolResultMedia, ensureSystemPromptCacheBoundary, extractToolResultBlockText, extractToolResultText, formatToolResultText, hasMediaPayload, hasOnlyAssistantReasoningContent, inspectTlsCertificateError, isImageWithMediaPayload, isReasoningOnlyLengthAssistantTurn, isStreamErrorFallbackContent, normalizePromptCapabilityIds, normalizeStructuredPromptSection, prependSystemPromptAdditionAfterCacheBoundary, projectCopilotRequestFacts, readAssistantThinkingAppend, resolveFailedAssistantReplay, sanitizeSurrogates, sortPromptCacheToolsByName, splitSystemPromptCacheBoundary, splitSystemPromptRelocatableBoundary, stripSystemPromptCacheBoundary, stripSystemPromptRelocatableBoundary, transformMessages };
|
|
@@ -49,15 +49,15 @@ export declare function stripUnsupportedSchemaKeywords(schema: unknown, unsuppor
|
|
|
49
49
|
//#endregion
|
|
50
50
|
//#region packages/ai/src/providers/tool-schema-json-projection.d.ts
|
|
51
51
|
/** JSON-safe schema value used when projecting runtime tool parameters. */
|
|
52
|
-
|
|
52
|
+
type RuntimeToolInputSchemaJson = null | boolean | number | string | RuntimeToolInputSchemaJson[] | {
|
|
53
53
|
[key: string]: RuntimeToolInputSchemaJson;
|
|
54
54
|
};
|
|
55
55
|
/** Projected runtime tool schema plus validation violations. */
|
|
56
|
-
|
|
56
|
+
type RuntimeToolInputSchemaProjection = {
|
|
57
57
|
readonly schema: RuntimeToolInputSchemaJson;
|
|
58
58
|
readonly violations: readonly string[];
|
|
59
59
|
};
|
|
60
60
|
/** Projects one runtime tool input schema to JSON and reports runtime incompatibilities. */
|
|
61
61
|
export declare function projectRuntimeToolInputSchema(schema: unknown, path?: string): RuntimeToolInputSchemaProjection;
|
|
62
62
|
//#endregion
|
|
63
|
-
export { findOpenAIStrictSchemaViolations, findOpenAIStrictToolProjectionDiagnostics, isStrictOpenAIJsonSchemaCompatible, normalizeOpenAIStrictCompatSchema, normalizeOpenAIStrictToolParameters, normalizeStrictOpenAIJsonSchema, resolveOpenAIProjectedToolsStrictToolFlag };
|
|
63
|
+
export { type RuntimeToolInputSchemaJson, type RuntimeToolInputSchemaProjection, findOpenAIStrictSchemaViolations, findOpenAIStrictToolProjectionDiagnostics, isStrictOpenAIJsonSchemaCompatible, normalizeOpenAIStrictCompatSchema, normalizeOpenAIStrictToolParameters, normalizeStrictOpenAIJsonSchema, resolveOpenAIProjectedToolsStrictToolFlag };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { _ as
|
|
1
|
+
import { n as projectRuntimeToolInputSchema } from "../tool-schema-json-projection-CD9c_fK8.mjs";
|
|
2
|
+
import { _ as GEMINI_UNSUPPORTED_SCHEMA_KEYWORDS, a as resolveOpenAIProjectedToolsStrictToolFlag, c as extractToolSchemaModelCompat, d as shouldOmitEmptyArrayItems, g as findLlamacppGbnfSchemaViolations, h as cleanSchemaForLlamacppGbnf, i as normalizeStrictOpenAIJsonSchema, l as normalizeToolParameterSchema, m as LLAMACPP_GBNF_MAX_REPETITION_THRESHOLD, n as isStrictOpenAIJsonSchemaCompatible, o as findOpenAIStrictSchemaViolations, p as stripUnsupportedSchemaKeywords, r as normalizeOpenAIStrictToolParameters, s as normalizeOpenAIStrictCompatSchema, t as findOpenAIStrictToolProjectionDiagnostics, u as resolveUnsupportedToolSchemaKeywords, v as cleanSchemaForGemini } from "../openai-tool-schema-BO8rwyAD.mjs";
|
|
3
3
|
export { GEMINI_UNSUPPORTED_SCHEMA_KEYWORDS, LLAMACPP_GBNF_MAX_REPETITION_THRESHOLD, cleanSchemaForGemini, cleanSchemaForLlamacppGbnf, extractToolSchemaModelCompat, findLlamacppGbnfSchemaViolations, findOpenAIStrictSchemaViolations, findOpenAIStrictToolProjectionDiagnostics, isStrictOpenAIJsonSchemaCompatible, normalizeOpenAIStrictCompatSchema, normalizeOpenAIStrictToolParameters, normalizeStrictOpenAIJsonSchema, normalizeToolParameterSchema, projectRuntimeToolInputSchema, resolveOpenAIProjectedToolsStrictToolFlag, resolveUnsupportedToolSchemaKeywords, shouldOmitEmptyArrayItems, stripUnsupportedSchemaKeywords };
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import { r as appendAssistantThinking, t as AssistantMessageEventStream } from "./event-stream-D8PARQfL.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { d as stripSystemPromptCacheBoundary, m as sortPromptCacheToolsByName, n as buildBaseOptions, r as clampMaxTokensToModel } from "./simple-options-tcKOqnpF.mjs";
|
|
2
|
+
import { M as clampThinkingLevel, _ as isImageWithMediaPayload, d as describeToolResultMediaPlaceholder, h as formatToolResultText, j as calculateCost, m as extractToolResultText, n as getAiTransportHost, v as sanitizeSurrogates } from "./host-B4MeUNBc.mjs";
|
|
3
|
+
import { m as stripSystemPromptCacheBoundary, n as buildBaseOptions, r as clampMaxTokensToModel, v as sortPromptCacheToolsByName } from "./simple-options-C6cFWj_f.mjs";
|
|
5
4
|
import { n as getEnvApiKey } from "./env-api-keys-bktO00EJ.mjs";
|
|
6
|
-
import {
|
|
7
|
-
import { t as shortHash } from "./hash-CHgqbJmD.mjs";
|
|
8
|
-
import { r as parseStreamingJson, t as createToolArgumentPreviewSchedule } from "./json-parse-Dw_hnxsA.mjs";
|
|
5
|
+
import { E as parseStreamingJson, c as finalizeTerminalToolCallArguments, k as shortHash, n as assignTransportErrorDetails, p as notifyProviderHttpResponse, v as transportAbortError, w as createToolArgumentPreviewSchedule } from "./transport-stream-shared-D-6FQSHm.mjs";
|
|
9
6
|
import { t as notifyLlmRequestActivity } from "./llm-request-activity-BjtkplhG.mjs";
|
|
10
|
-
import { t as createAssistantOutput } from "./assistant-output-
|
|
11
|
-
import { t as transformProviderMessages } from "./provider-transcript-transform-
|
|
7
|
+
import { t as createAssistantOutput } from "./assistant-output-BsEkB-vU.mjs";
|
|
8
|
+
import { t as transformProviderMessages } from "./provider-transcript-transform-BsRAhuWJ.mjs";
|
|
12
9
|
import { t as mapOpenAIStopReason } from "./openai-stop-reason-Drnn_6Qj.mjs";
|
|
13
10
|
import { t as createSseByteGuard } from "./streaming-byte-guard-CC-HMn_u.mjs";
|
|
14
11
|
import { randomUUID } from "node:crypto";
|
|
15
12
|
import { HTTPClient } from "@mistralai/mistralai/lib/http";
|
|
13
|
+
import { ReasoningEffort$inboundSchema } from "@mistralai/mistralai/models/components/reasoningeffort.js";
|
|
16
14
|
import { Chat } from "@mistralai/mistralai/sdk/chat";
|
|
17
15
|
//#region packages/ai/src/providers/mistral.ts
|
|
18
16
|
const MISTRAL_TOOL_CALL_ID_LENGTH = 9;
|
|
@@ -146,10 +144,11 @@ const streamSimpleMistral = (model, context, options) => {
|
|
|
146
144
|
const clampedReasoning = options?.reasoning ? clampThinkingLevel(model, options.reasoning) : void 0;
|
|
147
145
|
const reasoning = clampedReasoning === "off" ? void 0 : clampedReasoning;
|
|
148
146
|
const shouldUseReasoning = model.reasoning && reasoning !== void 0;
|
|
147
|
+
const supportsReasoningEffort = usesReasoningEffort(model);
|
|
149
148
|
return streamMistral(model, context, {
|
|
150
149
|
...base,
|
|
151
|
-
promptMode: shouldUseReasoning &&
|
|
152
|
-
reasoningEffort: shouldUseReasoning &&
|
|
150
|
+
promptMode: shouldUseReasoning && !supportsReasoningEffort ? "reasoning" : void 0,
|
|
151
|
+
reasoningEffort: shouldUseReasoning && supportsReasoningEffort ? ReasoningEffort$inboundSchema.parse(model.thinkingLevelMap?.[reasoning] ?? (reasoning === "minimal" ? "none" : "high")) : void 0
|
|
153
152
|
});
|
|
154
153
|
};
|
|
155
154
|
function createMistralToolCallIdNormalizer() {
|
|
@@ -631,12 +630,6 @@ function toChatMessages(messages, supportsImages) {
|
|
|
631
630
|
function usesReasoningEffort(model) {
|
|
632
631
|
return model.id === "mistral-small-2603" || model.id === "mistral-small-latest" || model.id === "mistral-medium-3-5";
|
|
633
632
|
}
|
|
634
|
-
function usesPromptModeReasoning(model) {
|
|
635
|
-
return model.reasoning && !usesReasoningEffort(model);
|
|
636
|
-
}
|
|
637
|
-
function mapReasoningEffort(model, level) {
|
|
638
|
-
return model.thinkingLevelMap?.[level] ?? "high";
|
|
639
|
-
}
|
|
640
633
|
function mapToolChoice(choice, convertedToolNames) {
|
|
641
634
|
if (!choice) return;
|
|
642
635
|
if (convertedToolNames && convertedToolNames.size === 0) {
|