@openclaw/ai 2026.10.5-beta.4 → 2026.10.6
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-BalhAzs-.mjs → anthropic-DusktpKG.mjs} +6 -6
- package/dist/{anthropic-payload-policy-DGblkHL5.d.mts → anthropic-payload-policy-DVv20UCL.d.mts} +1 -1
- package/dist/{anthropic-stream-reducer-DkKeXXx4.mjs → anthropic-stream-reducer-BY-gN9EE.mjs} +12 -7
- package/dist/{assistant-output-BuhRpLeD.mjs → assistant-output-DDZq4a3j.mjs} +2 -2
- package/dist/{assistant-text-phase-Bn1hbvK9.mjs → assistant-text-phase-CgpXhaLS.mjs} +1 -1
- package/dist/{azure-openai-responses-DfT9Ndd8.mjs → azure-openai-responses-yuBKi0s4.mjs} +4 -4
- package/dist/{google-sYI2wnY6.mjs → google-NMkwYgCy.mjs} +2 -2
- package/dist/{google-interactions-9SSqsJg9.mjs → google-interactions-BEV3C85P.mjs} +19 -16
- package/dist/{google-messages-DsB7fmoQ.mjs → google-messages-BhdxpH4K.mjs} +6 -4
- package/dist/{google-provider-stream-CcEI2-MC.mjs → google-provider-stream-B0GeAuTB.mjs} +6 -6
- package/dist/{google-shared-zGR0QUyS.mjs → google-shared-Cpz8bSTL.mjs} +13 -18
- package/dist/{google-vertex-Dw_abY1w.mjs → google-vertex-DJvQwNgr.mjs} +2 -2
- package/dist/{host-Bf3NjYNj.mjs → host-CIzdzpBn.mjs} +1 -1
- package/dist/{host-policy-BzZluO6_.mjs → host-policy-C0y3BC9R.mjs} +1 -1
- package/dist/index.mjs +2 -2
- package/dist/internal/anthropic.d.mts +2 -2
- package/dist/internal/anthropic.mjs +3 -3
- package/dist/internal/google-model-family.d.mts +2 -0
- package/dist/internal/google-model-family.mjs +6 -2
- 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 +1 -1
- package/dist/internal/openai-responses-payload-policy.mjs +2 -2
- package/dist/internal/openai.d.mts +5 -5
- package/dist/internal/openai.mjs +9 -9
- package/dist/internal/runtime.mjs +4 -4
- package/dist/internal/shared.mjs +3 -3
- package/dist/{mistral-dCDCR5ur.mjs → mistral-CDK7WGwC.mjs} +4 -4
- package/dist/{openai-chatgpt-responses-BHI3uCcA.mjs → openai-chatgpt-responses-BjfLWIK6.mjs} +11 -11
- package/dist/{openai-completions-CrVgnFrV.mjs → openai-completions-BkRt2Iy4.mjs} +3 -3
- package/dist/{openai-completions-compat-i-nLZxFy.d.mts → openai-completions-compat-B86jN9ii.d.mts} +2 -0
- package/dist/{openai-completions-compat-CYX18uDk.mjs → openai-completions-compat-CpeOT7jH.mjs} +3 -1
- package/dist/{openai-completions-transport-Dy4CZo9Q.mjs → openai-completions-transport-BRjxCG1C.mjs} +28 -27
- package/dist/{openai-prompt-cache-r93BJhjm.mjs → openai-prompt-cache-CvftfMfD.mjs} +1 -1
- package/dist/{openai-responses-D5oiAUOG.mjs → openai-responses-BUDpkW8I.mjs} +6 -6
- package/dist/{openai-responses-compaction-replay-B2FE4Nw8.d.mts → openai-responses-compaction-replay-DtEbZJbU.d.mts} +2 -2
- package/dist/{openai-responses-contracts-DKqMJ1Ct.d.mts → openai-responses-contracts-Cm1QilsO.d.mts} +1 -1
- package/dist/{openai-responses-contracts-DlKMMTxK.mjs → openai-responses-contracts-DbD7sGP-.mjs} +7 -1
- package/dist/{openai-responses-endpoint-CinGh4VZ.mjs → openai-responses-endpoint-COHJK1MR.mjs} +1 -1
- package/dist/{openai-responses-request-lifecycle-NSIJo9jY.mjs → openai-responses-request-lifecycle-Cx2nKN1G.mjs} +3 -3
- package/dist/{openai-responses-shared-D-aDYAkJ.mjs → openai-responses-shared-C1GHTB0q.mjs} +26 -13
- package/dist/{provider-options-CVrXZBtA.d.mts → provider-options-DTuD2UNR.d.mts} +6 -1
- package/dist/{provider-transport-turn-state-BOpxgm-J.mjs → provider-transport-turn-state-O5JWdUL4.mjs} +2 -2
- package/dist/providers.mjs +10 -10
- package/dist/{simple-options-BAu4B54D.mjs → simple-options-CmtE6whA.mjs} +3 -3
- package/dist/{stream-Dd8DwRFL.mjs → stream-BBjz-Jw2.mjs} +1 -1
- package/dist/text-signature-an0fgbDz.mjs +34 -0
- package/dist/{transport-stream-shared-CWGOuLcA.mjs → transport-stream-shared-Dr_GBa9K.mjs} +1 -1
- package/dist/{text-signature-Drb4Erb8.mjs → transport-utils-DmYqQcG7.mjs} +3 -35
- package/dist/transports.d.mts +8 -6
- package/dist/transports.mjs +14 -14
- package/package.json +1 -1
package/dist/{openai-chatgpt-responses-BHI3uCcA.mjs → openai-chatgpt-responses-BjfLWIK6.mjs}
RENAMED
|
@@ -2,22 +2,22 @@ import { i as formatThrownValue, n as createAssistantMessageDiagnostic, t as app
|
|
|
2
2
|
import { t as AssistantMessageEventStream } from "./event-stream-X2gmsUWv.mjs";
|
|
3
3
|
import { o as isRecord } from "./record-coerce-CNDovvft.mjs";
|
|
4
4
|
import { i as clampPositiveTimerTimeoutMs } from "./number-coercion-C3hztWoY.mjs";
|
|
5
|
-
import { E as headersToRecord, a as resolveAiTransportHeaderSentinels, r as getAiTransportHost } from "./host-
|
|
6
|
-
import {
|
|
5
|
+
import { E as headersToRecord, a as resolveAiTransportHeaderSentinels, r as getAiTransportHost } from "./host-CIzdzpBn.mjs";
|
|
6
|
+
import { A as supportsOpenAITemperature, h as responsesPromptObserver } from "./openai-responses-contracts-DbD7sGP-.mjs";
|
|
7
7
|
import { r as registerSessionResourceCleanup } from "./session-resources-D1wgDQ8C.mjs";
|
|
8
8
|
import "./provider-error-CF9GWCs2.mjs";
|
|
9
|
-
import { n as clampOpenAIPromptCacheKey } from "./openai-prompt-cache-
|
|
9
|
+
import { n as clampOpenAIPromptCacheKey } from "./openai-prompt-cache-CvftfMfD.mjs";
|
|
10
10
|
import { s as WEBSOCKET_NON_RETRYABLE_CLOSE_ERROR_CODE, v as extractErrorCodeOrErrno, y as toErrorObject } from "./diagnostics-tQasYct1.mjs";
|
|
11
|
-
import {
|
|
11
|
+
import { l as consumeResponseBytes, s as streamFragmentError, t as MALFORMED_STREAMING_FRAGMENT_ERROR_MESSAGE } from "./transport-utils-DmYqQcG7.mjs";
|
|
12
12
|
import { parseRetryAfterHeadersSeconds } from "./internal/retry-after.mjs";
|
|
13
|
-
import { c as resolveOpenAIResponsesTextFormat } from "./openai-completions-compat-
|
|
14
|
-
import { n as buildManagedModelFetch } from "./host-policy-
|
|
15
|
-
import { S as withProviderResponseHook, b as transportAbortError, h as notifyProviderStreamOpened, n as assignTransportErrorDetails } from "./transport-stream-shared-
|
|
16
|
-
import { C as stripSystemPromptCacheBoundary, n as buildBaseOptions } from "./simple-options-
|
|
17
|
-
import { Dt as createResponseModelTracker, E as ResponsesStreamFailure, Et as createOpenAIResponseHook, F as convertProviderResponsesMessages, S as isInvalidEncryptedContentError, T as resolveNextResponsesEncryptedContentAttempt, Tt as createOpenAIProviderAcceptanceHook, _t as resolveOpenAISimpleReasoningEffort, at as suppressOpenAIResponsesCompaction, b as commitResponsesEncryptedContentAttempt, gt as resolveOpenAIRequestReasoning, i as convertResponsesToolPayload, j as recordResponsesContextUsage, n as applyResponsesServiceTierPricing, nt as buildOpenAIResponsesReasoningReplayMetadata, o as readOpenAIMisalignmentReview, s as processResponsesStream } from "./openai-responses-shared-
|
|
18
|
-
import { t as createAssistantOutput } from "./assistant-output-
|
|
13
|
+
import { c as resolveOpenAIResponsesTextFormat } from "./openai-completions-compat-CpeOT7jH.mjs";
|
|
14
|
+
import { n as buildManagedModelFetch } from "./host-policy-C0y3BC9R.mjs";
|
|
15
|
+
import { S as withProviderResponseHook, b as transportAbortError, h as notifyProviderStreamOpened, n as assignTransportErrorDetails } from "./transport-stream-shared-Dr_GBa9K.mjs";
|
|
16
|
+
import { C as stripSystemPromptCacheBoundary, n as buildBaseOptions } from "./simple-options-CmtE6whA.mjs";
|
|
17
|
+
import { Dt as createResponseModelTracker, E as ResponsesStreamFailure, Et as createOpenAIResponseHook, F as convertProviderResponsesMessages, S as isInvalidEncryptedContentError, T as resolveNextResponsesEncryptedContentAttempt, Tt as createOpenAIProviderAcceptanceHook, _t as resolveOpenAISimpleReasoningEffort, at as suppressOpenAIResponsesCompaction, b as commitResponsesEncryptedContentAttempt, gt as resolveOpenAIRequestReasoning, i as convertResponsesToolPayload, j as recordResponsesContextUsage, n as applyResponsesServiceTierPricing, nt as buildOpenAIResponsesReasoningReplayMetadata, o as readOpenAIMisalignmentReview, s as processResponsesStream } from "./openai-responses-shared-C1GHTB0q.mjs";
|
|
18
|
+
import { t as createAssistantOutput } from "./assistant-output-DDZq4a3j.mjs";
|
|
19
19
|
import { a as withFirstStreamEventTimeout, i as getFirstStreamEventTimeoutMs, r as getFirstStreamEventTimeoutHandler, t as createFirstStreamEventAbortController } from "./stream-first-event-timeout-Dc42hKv6.mjs";
|
|
20
|
-
import { n as withResponsesRequestAcceptance, r as createResponsesPromptEgressObserver, t as responsesRequestLifecycle } from "./openai-responses-request-lifecycle-
|
|
20
|
+
import { n as withResponsesRequestAcceptance, r as createResponsesPromptEgressObserver, t as responsesRequestLifecycle } from "./openai-responses-request-lifecycle-Cx2nKN1G.mjs";
|
|
21
21
|
import { t as requireApiKey } from "./required-api-key-CFJvcFy_.mjs";
|
|
22
22
|
import { n as resolveOpenAICodexAccountId } from "./openai-chatgpt-jwt-KWcgd0d_.mjs";
|
|
23
23
|
//#region packages/ai/src/providers/openai-chatgpt-responses-events.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-BhDjJH2R.mjs";
|
|
2
|
-
import { k as clampThinkingLevel } from "./host-
|
|
3
|
-
import { n as buildBaseOptions } from "./simple-options-
|
|
4
|
-
import { c as convertMessages, n as streamOpenAICompletionsRequest } from "./openai-completions-transport-
|
|
2
|
+
import { k as clampThinkingLevel } from "./host-CIzdzpBn.mjs";
|
|
3
|
+
import { n as buildBaseOptions } from "./simple-options-CmtE6whA.mjs";
|
|
4
|
+
import { c as convertMessages, n as streamOpenAICompletionsRequest } from "./openai-completions-transport-BRjxCG1C.mjs";
|
|
5
5
|
import { t as requireApiKey } from "./required-api-key-CFJvcFy_.mjs";
|
|
6
6
|
//#region packages/ai/src/providers/openai-completions.ts
|
|
7
7
|
var openai_completions_exports = /* @__PURE__ */ __exportAll({
|
package/dist/{openai-completions-compat-i-nLZxFy.d.mts → openai-completions-compat-B86jN9ii.d.mts}
RENAMED
|
@@ -10,6 +10,7 @@ type OpenAICompletionsCompatDefaults = {
|
|
|
10
10
|
supportsUsageInStreaming: boolean;
|
|
11
11
|
maxTokensField: "max_completion_tokens" | "max_tokens";
|
|
12
12
|
thinkingFormat: "openai" | "openrouter" | "deepseek" | "together" | "zai";
|
|
13
|
+
emitsDsmlToolCalls: boolean;
|
|
13
14
|
visibleReasoningDetailTypes: string[];
|
|
14
15
|
supportsStrictMode: boolean;
|
|
15
16
|
supportsJsonSchemaResponseFormat: boolean;
|
|
@@ -24,6 +25,7 @@ type ResolvedOpenAICompletionsCompat = Omit<Required<OpenAICompletionsCompat>, "
|
|
|
24
25
|
openRouterRouting?: OpenAICompletionsCompat["openRouterRouting"];
|
|
25
26
|
sessionAffinity: OpenAICompletionsSessionAffinity;
|
|
26
27
|
visibleReasoningDetailTypes: string[];
|
|
28
|
+
emitsDsmlToolCalls: boolean;
|
|
27
29
|
requiresNonEmptyUserOrAssistantMessage: boolean;
|
|
28
30
|
configuredSupportsLongCacheRetention?: boolean;
|
|
29
31
|
reasoningEffortForOff: "none" | null;
|
package/dist/{openai-completions-compat-CYX18uDk.mjs → openai-completions-compat-CpeOT7jH.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-C0y3BC9R.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";
|
|
@@ -109,6 +109,7 @@ function resolveOpenAICompletionsCompatDefaults(input) {
|
|
|
109
109
|
supportsReasoningEffort: !isZai && !isTogether && !isMistral && endpointClass !== "xai-native" && (!usesExplicitProxyLikeEndpoint || input.reasoning === true),
|
|
110
110
|
supportsUsageInStreaming: supportsOpenAICompletionsStreamingUsageCompat || !isNonStandard && (isLocalEndpoint || !usesConfiguredNonOpenAIEndpoint || supportsNativeStreamingUsageCompat),
|
|
111
111
|
maxTokensField: usesMaxTokens ? "max_tokens" : "max_completion_tokens",
|
|
112
|
+
emitsDsmlToolCalls: isDeepSeek || isXiaomi || /(?:^|\/)deepseek(?:[-/]|$)/i.test(modelId ?? ""),
|
|
112
113
|
thinkingFormat: isDeepSeek || isXiaomi ? "deepseek" : isZai ? "zai" : isTogether ? "together" : isOpenRouterLike ? "openrouter" : "openai",
|
|
113
114
|
visibleReasoningDetailTypes: isOpenRouterLike ? ["response.output_text", "response.text"] : [],
|
|
114
115
|
supportsStrictMode: !isZai && !usesConfiguredNonOpenAIEndpoint,
|
|
@@ -166,6 +167,7 @@ function resolveOpenAICompletionsCompat(model, resolveCapabilities) {
|
|
|
166
167
|
requiresThinkingAsText: configured?.requiresThinkingAsText ?? false,
|
|
167
168
|
requiresReasoningContentOnAssistantMessages: configured?.requiresReasoningContentOnAssistantMessages ?? defaults.requiresReasoningContentOnAssistantMessages,
|
|
168
169
|
thinkingFormat,
|
|
170
|
+
emitsDsmlToolCalls: configured?.thinkingFormat === "deepseek" || defaults.emitsDsmlToolCalls,
|
|
169
171
|
openRouterRouting: configured?.openRouterRouting,
|
|
170
172
|
vercelGatewayRouting: configured?.vercelGatewayRouting ?? {},
|
|
171
173
|
zaiToolStream: configured?.zaiToolStream ?? false,
|
package/dist/{openai-completions-transport-Dy4CZo9Q.mjs → openai-completions-transport-BRjxCG1C.mjs}
RENAMED
|
@@ -3,36 +3,37 @@ import { r as appendAssistantThinking } from "./event-stream-X2gmsUWv.mjs";
|
|
|
3
3
|
import { i as asOptionalRecord, o as isRecord, r as asOptionalObjectRecord } from "./record-coerce-CNDovvft.mjs";
|
|
4
4
|
import { s as readNonEmptyStringPreservingWhitespace, t as hasNonEmptyString } from "./string-coerce-CtgOVOSv.mjs";
|
|
5
5
|
import { n as asNonNegativeFiniteNumber, r as asPositiveFiniteNumber } from "./number-coercion-C3hztWoY.mjs";
|
|
6
|
-
import { N as isImageWithMediaPayload, a as resolveAiTransportHeaderSentinels, r as getAiTransportHost } from "./host-
|
|
7
|
-
import {
|
|
6
|
+
import { N as isImageWithMediaPayload, a as resolveAiTransportHeaderSentinels, r as getAiTransportHost } from "./host-CIzdzpBn.mjs";
|
|
7
|
+
import { A as supportsOpenAITemperature, C as isOpenAIGpt6Model, N as resolveOpenAIThinkingApi, _ as isResponsesServiceTierRejection, d as OpenAIResponsesWebSocketSafeRetryError, g as responsesServiceTierObserver, l as OpenAIResponsesWebSocketPostDispatchError, m as parseOpenAIResponsesWebSocketServerError, r as OPENAI_CODEX_RESPONSES_DEFAULT_INSTRUCTIONS, t as AZURE_RESPONSES_FIRST_EVENT_TIMEOUT_MS, u as OpenAIResponsesWebSocketPreDispatchError, v as nextResponsesServiceTier, y as applyOpenAICompletionsToolReasoning } from "./openai-responses-contracts-DbD7sGP-.mjs";
|
|
8
8
|
import { r as uniqueStrings } from "./string-normalization-I3ux50s9.mjs";
|
|
9
9
|
import { n as getSessionResourceOwnerId, r as registerSessionResourceCleanup } from "./session-resources-D1wgDQ8C.mjs";
|
|
10
10
|
import { c as stableStringify, s as truncateUtf16Safe } from "./provider-error-CF9GWCs2.mjs";
|
|
11
|
-
import { r as resolveOpenAIPromptCacheParams } from "./openai-prompt-cache-
|
|
11
|
+
import { r as resolveOpenAIPromptCacheParams } from "./openai-prompt-cache-CvftfMfD.mjs";
|
|
12
12
|
import { d as hasOnlyResponsesFunctionTools, i as emitModelTransportError, r as emitModelTransportDebug, t as formatModelTransportDebugBaseUrl } from "./diagnostics-tQasYct1.mjs";
|
|
13
|
-
import {
|
|
14
|
-
import { c as resolveOpenAIResponsesTextFormat, i as resolveOpenAICompletionsCompat, l as shouldOmitOllamaCompatResponseFormat, n as isNativeOpenAIEndpoint, o as usesNativeOpenAICodexResponsesBackend, r as isOpenAICodexResponsesModel, s as resolveOpenAICompletionsResponseFormat, t as detectOpenAICompletionsCompat } from "./openai-completions-compat-
|
|
15
|
-
import { i as resolveProviderEndpoint, t as buildGuardedModelFetch } from "./host-policy-
|
|
13
|
+
import { c as supportsModelTools, n as estimateStringChars } from "./transport-utils-DmYqQcG7.mjs";
|
|
14
|
+
import { c as resolveOpenAIResponsesTextFormat, i as resolveOpenAICompletionsCompat, l as shouldOmitOllamaCompatResponseFormat, n as isNativeOpenAIEndpoint, o as usesNativeOpenAICodexResponsesBackend, r as isOpenAICodexResponsesModel, s as resolveOpenAICompletionsResponseFormat, t as detectOpenAICompletionsCompat } from "./openai-completions-compat-CpeOT7jH.mjs";
|
|
15
|
+
import { i as resolveProviderEndpoint, t as buildGuardedModelFetch } from "./host-policy-C0y3BC9R.mjs";
|
|
16
16
|
import { i as resolveCacheRetention, r as buildCopilotDynamicHeaders } from "./cloudflare-5qSGvIUH.mjs";
|
|
17
|
-
import { E as createToolArgumentPreviewSchedule, M as racePromiseWithAbortSignal, O as parseStreamingJson, P as sanitizeSurrogates, S as withProviderResponseHook, b as transportAbortError, c as failTransportStream, d as iterateModelStream, h as notifyProviderStreamOpened, l as finalizeTerminalToolCallArguments, s as createWritableTransportEventStream, u as finalizeTransportStream, v as sanitizeTransportPayloadText, y as throwIfModelStreamAborted } from "./transport-stream-shared-
|
|
18
|
-
import { C as stripSystemPromptCacheBoundary, D as sortPromptCacheToolsByName, S as splitSystemPromptRelocatableBoundary, d as describeToolResultMediaPlaceholder, l as codeModeToolSurfaceObserver, m as extractToolResultText, s as prepareModelRequestBody, u as reasoningTagTextPolicy, w as stripSystemPromptRelocatableBoundary, x as splitSystemPromptCacheBoundary } from "./simple-options-
|
|
19
|
-
import { $ as replayResponsesReasoningUpdates, A as summarizeResponsesPayload, At as
|
|
17
|
+
import { E as createToolArgumentPreviewSchedule, M as racePromiseWithAbortSignal, O as parseStreamingJson, P as sanitizeSurrogates, S as withProviderResponseHook, b as transportAbortError, c as failTransportStream, d as iterateModelStream, h as notifyProviderStreamOpened, l as finalizeTerminalToolCallArguments, s as createWritableTransportEventStream, u as finalizeTransportStream, v as sanitizeTransportPayloadText, y as throwIfModelStreamAborted } from "./transport-stream-shared-Dr_GBa9K.mjs";
|
|
18
|
+
import { C as stripSystemPromptCacheBoundary, D as sortPromptCacheToolsByName, S as splitSystemPromptRelocatableBoundary, d as describeToolResultMediaPlaceholder, l as codeModeToolSurfaceObserver, m as extractToolResultText, r as clampMaxTokensToModel, s as prepareModelRequestBody, u as reasoningTagTextPolicy, w as stripSystemPromptRelocatableBoundary, x as splitSystemPromptCacheBoundary } from "./simple-options-CmtE6whA.mjs";
|
|
19
|
+
import { $ as replayResponsesReasoningUpdates, A as summarizeResponsesPayload, At as log, B as responsesInputFingerprint, C as readResponsesRecoveryEvent, Ct as toOpenAIResponsesToolChoice, D as logResponsesFailedNoDetails, Dt as createResponseModelTracker, E as ResponsesStreamFailure, Ft as resolveOpenAIClientBaseUrl, G as responsesContinuationRequestFingerprint, H as recordResponsesContinuationState, I as convertResponsesMessages, It as resolvePromptCacheKey, Lt as redactIdentifier, Mt as parseOpenAICompletionsUsage, Nt as readOpenAICompletionsContentDeltas, O as safeDebugValue, Ot as detachPartialSnapshot, P as buildResponsesInputMessage, Pt as readOpenAICompletionsReasoningBatch, Q as isConfigurationUpdate, R as readResponsesInputReplayState, Rt as sha256Hex, S as isInvalidEncryptedContentError, St as reconcileOpenAIResponsesToolChoice, T as resolveNextResponsesEncryptedContentAttempt, Tt as createOpenAIProviderAcceptanceHook, U as resolveResponsesContinuationRequest, V as claimOpenAIResponsesHttpContinuation, W as responsesContinuationPrefixFingerprint, _t as resolveOpenAISimpleReasoningEffort, a as prepareResponsesTools, at as suppressOpenAIResponsesCompaction, bt as projectOpenAITools, c as observeResponsesStream, ct as buildOpenAISdkClientOptions, et as supportsResponsesReasoningUpdate, ft as getCompat, gt as resolveOpenAIRequestReasoning, ht as resolveOpenAIStrictToolFlagWithDiagnostics, j as recordResponsesContextUsage, jt as measureUtf8AppendBytes, k as summarizeOpenAITransportError, kt as isOpenAICompletionsThinkingEnabled, lt as buildOpenAISdkRequestOptions, mt as resolveCodeModeResponsesVisibleToolNames, n as applyResponsesServiceTierPricing, nt as buildOpenAIResponsesReasoningReplayMetadata, ot as assertCodeModeResponsesToolSurface, s as processResponsesStream, st as buildOpenAIClientHeaders, ut as enforceCodeModeResponsesToolSurface, w as resolveAzureOpenAIApiVersion, wt as GEMINI_THOUGHT_SIGNATURE_VALIDATOR_SKIP, x as createResponsesStreamWithRecovery, xt as reconcileOpenAICompletionsToolChoice, yt as prepareOpenAITools, z as recordResponsesInputReplay } from "./openai-responses-shared-C1GHTB0q.mjs";
|
|
20
20
|
import { n as getEnvApiKey } from "./env-api-keys-CrxwdylR.mjs";
|
|
21
|
-
import { n as
|
|
22
|
-
import {
|
|
21
|
+
import { i as providerReplayContextMatches, n as buildProviderReplayContext, r as isProviderReplayContext } from "./text-signature-an0fgbDz.mjs";
|
|
22
|
+
import { n as transformProviderMessages, t as createAssistantOutput } from "./assistant-output-DDZq4a3j.mjs";
|
|
23
|
+
import { a as tagUnresolvedTextAsCommentary, i as tagPendingCommentaryText, n as rememberPendingCommentaryTags, r as tagInterruptedTextPhases, t as clearPendingCommentaryText } from "./assistant-text-phase-CgpXhaLS.mjs";
|
|
23
24
|
import { t as notifyLlmRequestActivity } from "./llm-request-activity-CfMuh5cC.mjs";
|
|
24
25
|
import { n as resolveOpencodeSessionHeaders } from "./session-affinity-DA4WHv1h.mjs";
|
|
26
|
+
import { isGoogleGemini3ThinkingLevelModel } from "./internal/google-model-family.mjs";
|
|
25
27
|
import "./types.mjs";
|
|
26
|
-
import { i as createOpenAIProviderClient, n as resolveProviderSimpleCompletionHeaders, r as resolveProviderTransportTurnState, t as filterProviderTurnHeadersForExplicitOpencodeSession } from "./provider-transport-turn-state-
|
|
28
|
+
import { i as createOpenAIProviderClient, n as resolveProviderSimpleCompletionHeaders, r as resolveProviderTransportTurnState, t as filterProviderTurnHeadersForExplicitOpencodeSession } from "./provider-transport-turn-state-O5JWdUL4.mjs";
|
|
27
29
|
import { a as withFirstStreamEventTimeout, i as getFirstStreamEventTimeoutMs, r as getFirstStreamEventTimeoutHandler, t as createFirstStreamEventAbortController } from "./stream-first-event-timeout-Dc42hKv6.mjs";
|
|
28
30
|
import { t as boundResponseBody } from "./streaming-byte-guard-DBXr1XYn.mjs";
|
|
29
31
|
import { f as withPreparedToolSchemaNormalization, r as normalizeOpenAIStrictToolParameters } from "./openai-tool-schema-DDPXsvJP.mjs";
|
|
30
|
-
import { isGoogleGemini3ThinkingLevelModel } from "./internal/google-model-family.mjs";
|
|
31
32
|
import { t as mapOpenAIStopReason } from "./openai-stop-reason-8s70vDXj.mjs";
|
|
32
33
|
import { t as createReasoningTagTextPartitioner } from "./reasoning-tag-text-partitioner-CpOy9-IQ.mjs";
|
|
33
34
|
import { i as resolveAzureDeploymentNameFromMap, t as isOpenAICompatibleAzureResponsesBaseUrl } from "./azure-openai-responses-client-compat-D0dvJMbZ.mjs";
|
|
34
|
-
import { i as isOpenAIResponsesCompactionOutput, l as resolveOpenAIResponsesPayloadPolicy, n as supportsNativeOpenAIResponsesEndpoint, o as sanitizeResponsesImagePayload, r as createBoundedOpenAIResponsesCompactionFetch, s as applyOpenAIResponsesPayloadPolicy, t as isOfficialOpenAIResponsesBaseUrl } from "./openai-responses-endpoint-
|
|
35
|
-
import { n as withResponsesRequestAcceptance, r as createResponsesPromptEgressObserver, t as responsesRequestLifecycle } from "./openai-responses-request-lifecycle-
|
|
35
|
+
import { i as isOpenAIResponsesCompactionOutput, l as resolveOpenAIResponsesPayloadPolicy, n as supportsNativeOpenAIResponsesEndpoint, o as sanitizeResponsesImagePayload, r as createBoundedOpenAIResponsesCompactionFetch, s as applyOpenAIResponsesPayloadPolicy, t as isOfficialOpenAIResponsesBaseUrl } from "./openai-responses-endpoint-COHJK1MR.mjs";
|
|
36
|
+
import { n as withResponsesRequestAcceptance, r as createResponsesPromptEgressObserver, t as responsesRequestLifecycle } from "./openai-responses-request-lifecycle-Cx2nKN1G.mjs";
|
|
36
37
|
import { randomUUID } from "node:crypto";
|
|
37
38
|
import OpenAI, { AzureOpenAI } from "openai";
|
|
38
39
|
import { ResponsesWS } from "openai/resources/responses/ws.js";
|
|
@@ -1078,10 +1079,7 @@ function buildOpenAICompletionsRequest(model, context, options, policy) {
|
|
|
1078
1079
|
}
|
|
1079
1080
|
applyCompletionsReasoningAndRouting(params, model, reasoning, compat, policy.mode);
|
|
1080
1081
|
if (policy.mode === "managed" && compat.cacheControlFormat === "anthropic") applyCompletionsAnthropicCacheControl(params, cacheControl ?? null, cacheOptOutIndexes, markTools, !managedCompat?.requiresStringContent);
|
|
1081
|
-
if (params.tools?.length && isKnownOpenAICompletionsEndpoint(model))
|
|
1082
|
-
if (isOpenAIGpt56Model(model)) params.reasoning_effort = "none";
|
|
1083
|
-
else if (isOpenAIGpt54MiniModel(model) || isOpenAIGpt55Model(model)) delete params.reasoning_effort;
|
|
1084
|
-
}
|
|
1082
|
+
if (params.tools?.length && isKnownOpenAICompletionsEndpoint(model)) applyOpenAICompletionsToolReasoning(params, model);
|
|
1085
1083
|
return params;
|
|
1086
1084
|
}
|
|
1087
1085
|
//#endregion
|
|
@@ -1444,9 +1442,8 @@ async function processCompletionsStream(responseStream, output, model, stream, o
|
|
|
1444
1442
|
const openAIModel = model;
|
|
1445
1443
|
const compat = getCompat(openAIModel);
|
|
1446
1444
|
const visibleReasoningDetailTypes = new Set(compat.visibleReasoningDetailTypes);
|
|
1447
|
-
const
|
|
1448
|
-
const
|
|
1449
|
-
const deepSeekToolCallRecoverer = !directMode && shouldFilterDeepSeekDsmlText ? createDsmlRecoverer() : null;
|
|
1445
|
+
const deepSeekTextFilter = compat.emitsDsmlToolCalls ? createDeepSeekTextFilter() : null;
|
|
1446
|
+
const deepSeekToolCallRecoverer = !directMode && compat.emitsDsmlToolCalls ? createDsmlRecoverer() : null;
|
|
1450
1447
|
const gemmaToolCallRecoverer = !directMode && /gemma-?4/i.test(model.id) ? createGemmaToolCallRecoverer() : null;
|
|
1451
1448
|
const reasoningTagTextPartitioner = createReasoningTagTextPartitioner();
|
|
1452
1449
|
if (options?.strictReasoningTags) reasoningTagTextPartitioner.markStrict();
|
|
@@ -1461,7 +1458,7 @@ async function processCompletionsStream(responseStream, output, model, stream, o
|
|
|
1461
1458
|
const toolCallBlocksById = /* @__PURE__ */ new Map();
|
|
1462
1459
|
const encryptedReasoning = createOpenAIEncryptedToolCallReasoningTracker();
|
|
1463
1460
|
const toolArgumentPreviewSchedules = /* @__PURE__ */ new WeakMap();
|
|
1464
|
-
const provisionalCommentaryTags = directMode ? options.provisionalCommentaryTags : /* @__PURE__ */ new Map();
|
|
1461
|
+
const provisionalCommentaryTags = directMode && options.provisionalCommentaryTags ? options.provisionalCommentaryTags : /* @__PURE__ */ new Map();
|
|
1465
1462
|
const blockIndices = /* @__PURE__ */ new WeakMap();
|
|
1466
1463
|
let explicitVisibleTextBlocks;
|
|
1467
1464
|
const normalizeToolCallDeltas = createOpenAICompletionsToolCallDeltaNormalizer();
|
|
@@ -1471,7 +1468,7 @@ async function processCompletionsStream(responseStream, output, model, stream, o
|
|
|
1471
1468
|
let chunkPushedEvent = false;
|
|
1472
1469
|
const pushStreamEvent = (event) => {
|
|
1473
1470
|
chunkPushedEvent = true;
|
|
1474
|
-
stream.push(event);
|
|
1471
|
+
stream.push(detachPartialSnapshot(event));
|
|
1475
1472
|
};
|
|
1476
1473
|
const appendToolCallBlock = (block) => {
|
|
1477
1474
|
output.content.push(block);
|
|
@@ -1574,6 +1571,7 @@ async function processCompletionsStream(responseStream, output, model, stream, o
|
|
|
1574
1571
|
} : delta);
|
|
1575
1572
|
}
|
|
1576
1573
|
};
|
|
1574
|
+
const recoveredToolCallBlocks = /* @__PURE__ */ new Set();
|
|
1577
1575
|
const appendRecoveredToolCall = (toolCall) => {
|
|
1578
1576
|
if (currentBlock?.type === "toolCall") {
|
|
1579
1577
|
currentBlock = null;
|
|
@@ -1587,6 +1585,7 @@ async function processCompletionsStream(responseStream, output, model, stream, o
|
|
|
1587
1585
|
arguments: toolCall.arguments,
|
|
1588
1586
|
partialArgs: toolCall.partialArgs
|
|
1589
1587
|
};
|
|
1588
|
+
recoveredToolCallBlocks.add(block);
|
|
1590
1589
|
currentBlock = block;
|
|
1591
1590
|
appendToolCallBlock(block);
|
|
1592
1591
|
pushStreamEvent({
|
|
@@ -1800,6 +1799,7 @@ async function processCompletionsStream(responseStream, output, model, stream, o
|
|
|
1800
1799
|
for (const part of deepSeekTextFilter?.flush() ?? []) appendVisibleTextDelta(part);
|
|
1801
1800
|
currentBlock = null;
|
|
1802
1801
|
flushPendingPostToolCallDeltas();
|
|
1802
|
+
if (sawNativeToolCallDelta && recoveredToolCallBlocks.size > 0) output.content = output.content.filter((block) => block.type !== "toolCall" || !recoveredToolCallBlocks.has(block));
|
|
1803
1803
|
finalizeOpenAICompletionsToolCalls(output, {
|
|
1804
1804
|
allowSilentToolCallPromotion: finishReason === "stop" || sawNativeToolCallDelta && (options?.sawStreamDONE?.() ?? false),
|
|
1805
1805
|
onConfirmedToolCall(block, contentIndex) {
|
|
@@ -1947,7 +1947,7 @@ function buildOpenAIResponsesParams(model, context, options, metadata, replayMod
|
|
|
1947
1947
|
...metadata ? { metadata } : {}
|
|
1948
1948
|
};
|
|
1949
1949
|
const effectiveMaxTokens = options?.maxTokens || model.maxTokens;
|
|
1950
|
-
if (effectiveMaxTokens) params.max_output_tokens = Math.max(effectiveMaxTokens, 16);
|
|
1950
|
+
if (effectiveMaxTokens) params.max_output_tokens = clampMaxTokensToModel(model, Math.max(effectiveMaxTokens, 16));
|
|
1951
1951
|
if (options?.temperature !== void 0 && supportsOpenAITemperature(model)) params.temperature = options.temperature;
|
|
1952
1952
|
if (options?.topP !== void 0 && (!isOpenAIGpt6Model(model) || resolveOpenAIThinkingApi(model.api) === "azure-openai-responses")) params.top_p = options.topP;
|
|
1953
1953
|
if (options?.responseFormat !== void 0) params.text = {
|
|
@@ -2773,15 +2773,16 @@ function createResponsesTransportExecutor(config) {
|
|
|
2773
2773
|
}
|
|
2774
2774
|
const sessionId = options?.sessionId;
|
|
2775
2775
|
if (config.httpContinuation && !websocketMode && !getAiTransportHost().requiresManagedTransport(model) && (supportsNativeOpenAIResponsesEndpoint(model) || resolveOpenAIResponsesPayloadPolicy(model).explicitContinuationOptIn) && sessionId && (params.store === true || supportsResponsesReasoningUpdate(params)) && !params.previous_response_id) {
|
|
2776
|
+
const restoreRequest = () => restoreResponsesReasoningState(context, model, responsesOptions, params);
|
|
2776
2777
|
continuationClaim = claimOpenAIResponsesHttpContinuation({
|
|
2777
2778
|
sessionId,
|
|
2778
2779
|
apiKey,
|
|
2779
2780
|
baseUrl: model.baseUrl,
|
|
2780
2781
|
headers: httpHeaders,
|
|
2781
2782
|
request: params,
|
|
2782
|
-
restoreRequest
|
|
2783
|
+
restoreRequest
|
|
2783
2784
|
});
|
|
2784
|
-
|
|
2785
|
+
params = continuationClaim?.fullRequest ?? restoreRequest();
|
|
2785
2786
|
}
|
|
2786
2787
|
const observePrompt = createResponsesPromptEgressObserver(responsesOptions, context.systemPrompt);
|
|
2787
2788
|
const requestStartedAt = Date.now();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as isNativeOpenAIEndpoint } from "./openai-completions-compat-
|
|
1
|
+
import { n as isNativeOpenAIEndpoint } from "./openai-completions-compat-CpeOT7jH.mjs";
|
|
2
2
|
//#region packages/normalization-core/src/code-points.ts
|
|
3
3
|
/** Truncates to a nonnegative code-point budget; grapheme clusters may be split. */
|
|
4
4
|
function truncateCodePoints(text, maxCodePoints) {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-BhDjJH2R.mjs";
|
|
2
2
|
import { t as AssistantMessageEventStream } from "./event-stream-X2gmsUWv.mjs";
|
|
3
|
-
import { n as clampOpenAIPromptCacheKey, r as resolveOpenAIPromptCacheParams } from "./openai-prompt-cache-
|
|
4
|
-
import { i as resolveOpenAICompletionsCompat } from "./openai-completions-compat-
|
|
3
|
+
import { n as clampOpenAIPromptCacheKey, r as resolveOpenAIPromptCacheParams } from "./openai-prompt-cache-CvftfMfD.mjs";
|
|
4
|
+
import { i as resolveOpenAICompletionsCompat } from "./openai-completions-compat-CpeOT7jH.mjs";
|
|
5
5
|
import { i as resolveCacheRetention, r as buildCopilotDynamicHeaders } from "./cloudflare-5qSGvIUH.mjs";
|
|
6
|
-
import { n as buildBaseOptions } from "./simple-options-
|
|
7
|
-
import { F as convertProviderResponsesMessages, _t as resolveOpenAISimpleReasoningEffort, n as applyResponsesServiceTierPricing, r as runResponsesStreamLifecycle, t as applyCommonResponsesParams } from "./openai-responses-shared-
|
|
6
|
+
import { n as buildBaseOptions } from "./simple-options-CmtE6whA.mjs";
|
|
7
|
+
import { F as convertProviderResponsesMessages, _t as resolveOpenAISimpleReasoningEffort, n as applyResponsesServiceTierPricing, r as runResponsesStreamLifecycle, t as applyCommonResponsesParams } from "./openai-responses-shared-C1GHTB0q.mjs";
|
|
8
8
|
import { n as getEnvApiKey } from "./env-api-keys-CrxwdylR.mjs";
|
|
9
|
-
import { t as createAssistantOutput } from "./assistant-output-
|
|
10
|
-
import { i as createOpenAIProviderClient, n as resolveProviderSimpleCompletionHeaders } from "./provider-transport-turn-state-
|
|
9
|
+
import { t as createAssistantOutput } from "./assistant-output-DDZq4a3j.mjs";
|
|
10
|
+
import { i as createOpenAIProviderClient, n as resolveProviderSimpleCompletionHeaders } from "./provider-transport-turn-state-O5JWdUL4.mjs";
|
|
11
11
|
import { t as requireApiKey } from "./required-api-key-CFJvcFy_.mjs";
|
|
12
12
|
//#region packages/ai/src/providers/openai-responses.ts
|
|
13
13
|
var openai_responses_exports = /* @__PURE__ */ __exportAll({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./index-BYDvopUB.mjs";
|
|
2
2
|
import { a as AssistantMessage, k as Model } from "./types-Bd2T86VJ.mjs";
|
|
3
|
-
import "./provider-options-
|
|
4
|
-
import { i as ReplayableResponseCompactionItem, l as OpenAIResponsesCompactionOutput, r as OpenAIResponsesReasoningReplayMetadata } from "./openai-responses-contracts-
|
|
3
|
+
import "./provider-options-DTuD2UNR.mjs";
|
|
4
|
+
import { i as ReplayableResponseCompactionItem, l as OpenAIResponsesCompactionOutput, r as OpenAIResponsesReasoningReplayMetadata } from "./openai-responses-contracts-Cm1QilsO.mjs";
|
|
5
5
|
import "openai/resources/responses/responses.js";
|
|
6
6
|
//#region packages/ai/src/transports/openai-responses-compaction-replay.d.ts
|
|
7
7
|
declare function captureOpenAIResponsesCompaction(output: Pick<AssistantMessage, "providerReplay">, item: ReplayableResponseCompactionItem, boundary: number | "retained-users", model: Model, captureMetadata?: OpenAIResponsesReasoningReplayMetadata, compactedOutput?: OpenAIResponsesCompactionOutput): void;
|
package/dist/{openai-responses-contracts-DKqMJ1Ct.d.mts → openai-responses-contracts-Cm1QilsO.d.mts}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "./index-BYDvopUB.mjs";
|
|
2
2
|
import { M as ModelThinkingLevel, k as Model, n as Api } from "./types-Bd2T86VJ.mjs";
|
|
3
|
-
import { a as BaseOpenAIStreamOptions, f as OpenAIReasoningEffort } from "./provider-options-
|
|
3
|
+
import { a as BaseOpenAIStreamOptions, f as OpenAIReasoningEffort } from "./provider-options-DTuD2UNR.mjs";
|
|
4
4
|
import "./types-Kdfw_04V.mjs";
|
|
5
5
|
import { ResponseCompactionItem, ResponseCreateParamsStreaming, ResponseInputItem } from "openai/resources/responses/responses.js";
|
|
6
6
|
//#region packages/ai/src/providers/openai-request-reasoning.d.ts
|
package/dist/{openai-responses-contracts-DlKMMTxK.mjs → openai-responses-contracts-DbD7sGP-.mjs}
RENAMED
|
@@ -159,6 +159,12 @@ function isOpenAIGpt56Model(model) {
|
|
|
159
159
|
const name = normalizeModelId(typeof model.name === "string" ? model.name : void 0);
|
|
160
160
|
return /^gpt-5\.6(?:-|$)/u.test(id) || /^gpt-5\.6(?:\s|\(|-|$)/u.test(name);
|
|
161
161
|
}
|
|
162
|
+
/** Apply the native Chat Completions tool contract after callers qualify the endpoint and model ID. */
|
|
163
|
+
function applyOpenAICompletionsToolReasoning(payload, model) {
|
|
164
|
+
if (!Array.isArray(payload.tools) || payload.tools.length === 0) return;
|
|
165
|
+
if (isOpenAIGpt56Model(model)) payload.reasoning_effort = "none";
|
|
166
|
+
else if (isOpenAIGpt54MiniModel(model) || isOpenAIGpt55Model(model)) delete payload.reasoning_effort;
|
|
167
|
+
}
|
|
162
168
|
/** Return whether a model has a known GPT-6 reasoning and sampling contract. */
|
|
163
169
|
function isOpenAIGpt6Model(model) {
|
|
164
170
|
const id = normalizeModelId(typeof model.id === "string" ? model.id : void 0);
|
|
@@ -360,4 +366,4 @@ const responsesServiceTierObserver = {
|
|
|
360
366
|
}
|
|
361
367
|
};
|
|
362
368
|
//#endregion
|
|
363
|
-
export {
|
|
369
|
+
export { supportsOpenAITemperature as A, isOpenAIGpt6Model as C, resolveOpenAIReasoningEffortMapping as D, resolveOpenAIReasoningEffortForModel as E, listMappedModelThinkingLevels as M, resolveOpenAIThinkingApi as N, resolveOpenAISupportedReasoningEfforts as O, isOpenAIGpt56Model as S, resolveOpenAIModelReasoningEfforts as T, isResponsesServiceTierRejection as _, OPENAI_RESPONSES_COMPACTION_REPLAY_TYPE as a, isOpenAIGpt54MiniModel as b, OPENAI_RESPONSES_RETAINED_COMPACTION_REPLAY_TYPE as c, OpenAIResponsesWebSocketSafeRetryError as d, RESPONSE_FAILED_NO_DETAILS_MESSAGE as f, responsesServiceTierObserver as g, responsesPromptObserver as h, OPENAI_RESPONSES_APIS as i, MODEL_CATALOG_THINKING_LEVELS as j, supportsOpenAIReasoningEffort as k, OpenAIResponsesWebSocketPostDispatchError as l, parseOpenAIResponsesWebSocketServerError as m, DEFAULT_AZURE_OPENAI_API_VERSION as n, OPENAI_RESPONSES_REASONING_REPLAY_BLOCK_META_KEY as o, isPreviousResponseRejection as p, OPENAI_CODEX_RESPONSES_DEFAULT_INSTRUCTIONS as r, OPENAI_RESPONSES_REASONING_REPLAY_META_KEY as s, AZURE_RESPONSES_FIRST_EVENT_TIMEOUT_MS as t, OpenAIResponsesWebSocketPreDispatchError as u, nextResponsesServiceTier as v, normalizeOpenAIReasoningEffort as w, isOpenAIGpt55Model as x, applyOpenAICompletionsToolReasoning as y };
|
package/dist/{openai-responses-endpoint-CinGh4VZ.mjs → openai-responses-endpoint-COHJK1MR.mjs}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { o as isRecord } from "./record-coerce-CNDovvft.mjs";
|
|
2
2
|
import { c as readStringValue, i as normalizeOptionalLowercaseString, n as normalizeLowercaseStringOrEmpty } from "./string-coerce-CtgOVOSv.mjs";
|
|
3
|
-
import {
|
|
3
|
+
import { i as OPENAI_RESPONSES_APIS, k as supportsOpenAIReasoningEffort } from "./openai-responses-contracts-DbD7sGP-.mjs";
|
|
4
4
|
import { t as canonicalizeBase64 } from "./base64-C8CdcsjU.mjs";
|
|
5
5
|
import { t as parsePositiveInteger } from "./positive-integer-CqWjqSi9.mjs";
|
|
6
6
|
import { n as createSseByteGuard } from "./streaming-byte-guard-DBXr1XYn.mjs";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { o as isRecord } from "./record-coerce-CNDovvft.mjs";
|
|
2
|
-
import { h as responsesPromptObserver } from "./openai-responses-contracts-
|
|
3
|
-
import { v as sanitizeTransportPayloadText } from "./transport-stream-shared-
|
|
4
|
-
import { C as stripSystemPromptCacheBoundary } from "./simple-options-
|
|
2
|
+
import { h as responsesPromptObserver } from "./openai-responses-contracts-DbD7sGP-.mjs";
|
|
3
|
+
import { v as sanitizeTransportPayloadText } from "./transport-stream-shared-Dr_GBa9K.mjs";
|
|
4
|
+
import { C as stripSystemPromptCacheBoundary } from "./simple-options-CmtE6whA.mjs";
|
|
5
5
|
//#region packages/ai/src/transports/openai-responses-prompt-observer-internal.ts
|
|
6
6
|
function readFinalResponsesPrompt(request) {
|
|
7
7
|
if (typeof request.instructions === "string") return ["instructions", request.instructions];
|
|
@@ -5,24 +5,25 @@ import { r as appendAssistantThinking } from "./event-stream-X2gmsUWv.mjs";
|
|
|
5
5
|
import { o as isRecord, r as asOptionalObjectRecord } from "./record-coerce-CNDovvft.mjs";
|
|
6
6
|
import { a as normalizeOptionalString, c as readStringValue, n as normalizeLowercaseStringOrEmpty, o as normalizeStringifiedOptionalString } from "./string-coerce-CtgOVOSv.mjs";
|
|
7
7
|
import { t as asFiniteNumber } from "./number-coercion-C3hztWoY.mjs";
|
|
8
|
-
import { D as applyProviderReportedUsageCost, E as headersToRecord, N as isImageWithMediaPayload, O as calculateCost, a as resolveAiTransportHeaderSentinels, k as clampThinkingLevel, r as getAiTransportHost } from "./host-
|
|
9
|
-
import { A as
|
|
8
|
+
import { D as applyProviderReportedUsageCost, E as headersToRecord, N as isImageWithMediaPayload, O as calculateCost, a as resolveAiTransportHeaderSentinels, k as clampThinkingLevel, r as getAiTransportHost } from "./host-CIzdzpBn.mjs";
|
|
9
|
+
import { A as supportsOpenAITemperature, D as resolveOpenAIReasoningEffortMapping, E as resolveOpenAIReasoningEffortForModel, N as resolveOpenAIThinkingApi, T as resolveOpenAIModelReasoningEfforts, _ as isResponsesServiceTierRejection, a as OPENAI_RESPONSES_COMPACTION_REPLAY_TYPE, c as OPENAI_RESPONSES_RETAINED_COMPACTION_REPLAY_TYPE, f as RESPONSE_FAILED_NO_DETAILS_MESSAGE, g as responsesServiceTierObserver, i as OPENAI_RESPONSES_APIS, j as MODEL_CATALOG_THINKING_LEVELS, k as supportsOpenAIReasoningEffort, o as OPENAI_RESPONSES_REASONING_REPLAY_BLOCK_META_KEY, p as isPreviousResponseRejection, s as OPENAI_RESPONSES_REASONING_REPLAY_META_KEY, v as nextResponsesServiceTier, w as normalizeOpenAIReasoningEffort } from "./openai-responses-contracts-DbD7sGP-.mjs";
|
|
10
10
|
import { n as getSessionResourceOwnerId, r as registerSessionResourceCleanup } from "./session-resources-D1wgDQ8C.mjs";
|
|
11
11
|
import { c as stableStringify, s as truncateUtf16Safe } from "./provider-error-CF9GWCs2.mjs";
|
|
12
|
-
import { n as clampOpenAIPromptCacheKey } from "./openai-prompt-cache-
|
|
12
|
+
import { n as clampOpenAIPromptCacheKey } from "./openai-prompt-cache-CvftfMfD.mjs";
|
|
13
13
|
import { _ as resolveResponsesTerminalStopReason, a as resolveModelPayloadDebugMode, d as hasOnlyResponsesFunctionTools, f as isResponsesProviderTool, g as readResponsesReasoningTokens, h as mapResponsesTerminalUsage, o as resolveModelSseDebugMode, r as emitModelTransportDebug, u as ResponsesOutputIdentityError } from "./diagnostics-tQasYct1.mjs";
|
|
14
|
-
import {
|
|
15
|
-
import { c as resolveOpenAIResponsesTextFormat, i as resolveOpenAICompletionsCompat, o as usesNativeOpenAICodexResponsesBackend } from "./openai-completions-compat-
|
|
16
|
-
import { r as resolveModelRequestTimeoutMs } from "./host-policy-
|
|
17
|
-
import { A as shortHash, C as parseJsonObjectPreservingUnsafeIntegers, E as createToolArgumentPreviewSchedule, O as parseStreamingJson, S as withProviderResponseHook, b as transportAbortError, c as failTransportStream, d as iterateModelStream, g as parseTerminalToolCallArguments, m as notifyProviderHttpResponse, t as IncompleteToolCallError, u as finalizeTransportStream, v as sanitizeTransportPayloadText } from "./transport-stream-shared-
|
|
18
|
-
import { C as stripSystemPromptCacheBoundary, D as sortPromptCacheToolsByName, d as describeToolResultMediaPlaceholder, m as extractToolResultText, s as prepareModelRequestBody } from "./simple-options-
|
|
19
|
-
import { n as
|
|
14
|
+
import { a as redactSensitiveText, r as isCodeModeModelVisibleToolName } from "./transport-utils-DmYqQcG7.mjs";
|
|
15
|
+
import { c as resolveOpenAIResponsesTextFormat, i as resolveOpenAICompletionsCompat, o as usesNativeOpenAICodexResponsesBackend } from "./openai-completions-compat-CpeOT7jH.mjs";
|
|
16
|
+
import { r as resolveModelRequestTimeoutMs } from "./host-policy-C0y3BC9R.mjs";
|
|
17
|
+
import { A as shortHash, C as parseJsonObjectPreservingUnsafeIntegers, E as createToolArgumentPreviewSchedule, O as parseStreamingJson, S as withProviderResponseHook, b as transportAbortError, c as failTransportStream, d as iterateModelStream, g as parseTerminalToolCallArguments, m as notifyProviderHttpResponse, t as IncompleteToolCallError, u as finalizeTransportStream, v as sanitizeTransportPayloadText } from "./transport-stream-shared-Dr_GBa9K.mjs";
|
|
18
|
+
import { C as stripSystemPromptCacheBoundary, D as sortPromptCacheToolsByName, d as describeToolResultMediaPlaceholder, m as extractToolResultText, r as clampMaxTokensToModel, s as prepareModelRequestBody } from "./simple-options-CmtE6whA.mjs";
|
|
19
|
+
import { i as providerReplayContextMatches, n as buildProviderReplayContext, r as isProviderReplayContext, t as encodeTextSignatureV1 } from "./text-signature-an0fgbDz.mjs";
|
|
20
|
+
import { n as transformProviderMessages } from "./assistant-output-DDZq4a3j.mjs";
|
|
20
21
|
import { n as projectRuntimeToolInputSchema, t as prepareRuntimeToolInputSchema } from "./tool-schema-json-projection-B8sG1I9v.mjs";
|
|
21
22
|
import { t as notifyLlmRequestActivity } from "./llm-request-activity-CfMuh5cC.mjs";
|
|
22
23
|
import { n as resolveOpencodeSessionHeaders } from "./session-affinity-DA4WHv1h.mjs";
|
|
23
24
|
import { a as withFirstStreamEventTimeout, i as getFirstStreamEventTimeoutMs, r as getFirstStreamEventTimeoutHandler, t as createFirstStreamEventAbortController } from "./stream-first-event-timeout-Dc42hKv6.mjs";
|
|
24
25
|
import { a as resolveOpenAIProjectedToolsStrictToolFlag, f as withPreparedToolSchemaNormalization, r as normalizeOpenAIStrictToolParameters, t as findOpenAIStrictToolProjectionDiagnostics } from "./openai-tool-schema-DDPXsvJP.mjs";
|
|
25
|
-
import { a as readOpenAIResponsesCompactionWindow, i as isOpenAIResponsesCompactionOutput, n as supportsNativeOpenAIResponsesEndpoint } from "./openai-responses-endpoint-
|
|
26
|
+
import { a as readOpenAIResponsesCompactionWindow, i as isOpenAIResponsesCompactionOutput, n as supportsNativeOpenAIResponsesEndpoint } from "./openai-responses-endpoint-COHJK1MR.mjs";
|
|
26
27
|
import { hash, randomUUID } from "node:crypto";
|
|
27
28
|
//#region packages/normalization-core/src/node-crypto.ts
|
|
28
29
|
function sha256Hex(input) {
|
|
@@ -198,6 +199,18 @@ function readOpenAICompletionsReasoningBatch(delta, visibleReasoningDetailTypes)
|
|
|
198
199
|
hasVisibleText: mirroredThinking.length < deltas.length
|
|
199
200
|
};
|
|
200
201
|
}
|
|
202
|
+
function detachPartialSnapshot(event) {
|
|
203
|
+
const source = event;
|
|
204
|
+
if (!source.partial) return event;
|
|
205
|
+
const partial = source.partial;
|
|
206
|
+
return {
|
|
207
|
+
...event,
|
|
208
|
+
partial: {
|
|
209
|
+
...partial,
|
|
210
|
+
content: partial.content.map((block) => block.type === "text" ? Object.assign({}, block) : block)
|
|
211
|
+
}
|
|
212
|
+
};
|
|
213
|
+
}
|
|
201
214
|
function parseOpenAICompletionsUsage(rawUsage, model, options) {
|
|
202
215
|
const cacheRead = rawUsage.prompt_tokens_details?.cached_tokens ?? rawUsage.prompt_cache_hit_tokens ?? 0;
|
|
203
216
|
const cacheWrite = rawUsage.prompt_tokens_details?.cache_write_tokens ?? rawUsage.prompt_tokens_details?.cache_creation_input_tokens ?? rawUsage.cache_creation_input_tokens ?? 0;
|
|
@@ -2316,7 +2329,7 @@ function createResponsesOutputTracker(params) {
|
|
|
2316
2329
|
trackStream(sink) {
|
|
2317
2330
|
return { push(event) {
|
|
2318
2331
|
visibleTextEmitted ||= event.type === "text_delta" && event.delta.length > 0 || event.type === "text_end" && event.content.length > 0;
|
|
2319
|
-
sink.push(event);
|
|
2332
|
+
sink.push(detachPartialSnapshot(event));
|
|
2320
2333
|
} };
|
|
2321
2334
|
},
|
|
2322
2335
|
observeEvent(event) {
|
|
@@ -3246,7 +3259,7 @@ function applyResponsesServiceTierPricing(usage, serviceTier, model) {
|
|
|
3246
3259
|
usage.cost.total = usage.cost.input + usage.cost.output + usage.cost.cacheRead + usage.cost.cacheWrite;
|
|
3247
3260
|
}
|
|
3248
3261
|
function applyCommonResponsesParams(params, model, context, options, config) {
|
|
3249
|
-
if (options?.maxTokens) params.max_output_tokens = Math.max(options.maxTokens, 16);
|
|
3262
|
+
if (options?.maxTokens) params.max_output_tokens = clampMaxTokensToModel(model, Math.max(options.maxTokens, 16));
|
|
3250
3263
|
if (options?.temperature !== void 0 && supportsOpenAITemperature(model)) params.temperature = options.temperature;
|
|
3251
3264
|
if (options?.responseFormat !== void 0) params.text = {
|
|
3252
3265
|
...params.text,
|
|
@@ -3380,4 +3393,4 @@ async function runResponsesStreamLifecycle(params) {
|
|
|
3380
3393
|
}
|
|
3381
3394
|
}
|
|
3382
3395
|
//#endregion
|
|
3383
|
-
export { replayResponsesReasoningUpdates as $, summarizeResponsesPayload as A,
|
|
3396
|
+
export { replayResponsesReasoningUpdates as $, summarizeResponsesPayload as A, log as At, responsesInputFingerprint as B, readResponsesRecoveryEvent as C, toOpenAIResponsesToolChoice as Ct, logResponsesFailedNoDetails as D, createResponseModelTracker as Dt, ResponsesStreamFailure as E, createOpenAIResponseHook as Et, convertProviderResponsesMessages as F, resolveOpenAIClientBaseUrl as Ft, responsesContinuationRequestFingerprint as G, recordResponsesContinuationState as H, convertResponsesMessages as I, resolvePromptCacheKey as It, OPENAI_RESPONSES_ID_MAX_LENGTH as J, OPENAI_RESPONSES_CALL_ID_RE as K, resolveReplayableResponsesMessageId as L, redactIdentifier as Lt, resolveResponsesContextUsageBoundary as M, parseOpenAICompletionsUsage as Mt, bindResponsesInputMessage as N, readOpenAICompletionsContentDeltas as Nt, safeDebugValue as O, detachPartialSnapshot as Ot, buildResponsesInputMessage as P, readOpenAICompletionsReasoningBatch as Pt, isConfigurationUpdate as Q, readResponsesInputReplayState as R, sha256Hex as Rt, isInvalidEncryptedContentError as S, reconcileOpenAIResponsesToolChoice as St, resolveNextResponsesEncryptedContentAttempt as T, createOpenAIProviderAcceptanceHook as Tt, resolveResponsesContinuationRequest as U, claimOpenAIResponsesHttpContinuation as V, responsesContinuationPrefixFingerprint as W, shouldNormalizeOpenAIResponsesToolCallId as X, normalizeOpenAIResponsesFunctionCallId as Y, splitOpenAIFunctionCallPairing as Z, isResponsesTextContentPartType as _, resolveOpenAISimpleReasoningEffort as _t, prepareResponsesTools as a, suppressOpenAIResponsesCompaction as at, commitResponsesEncryptedContentAttempt as b, projectOpenAITools as bt, observeResponsesStream as c, buildOpenAISdkClientOptions as ct, AZURE_RESPONSES_TEXT_CONTENT_PART_TYPE as d, filterCodeModePayloadTools as dt, supportsResponsesReasoningUpdate as et, AZURE_RESPONSES_TEXT_DELTA_EVENT_TYPE as f, getCompat as ft, isAzureResponsesTextDeltaEventType as g, resolveOpenAIRequestReasoning as gt, isAzureResponsesTextDeltaEvent as h, resolveOpenAIStrictToolFlagWithDiagnostics as ht, convertResponsesToolPayload as i, resolveNewestOpenAIResponsesCompactionReplay as it, recordResponsesContextUsage as j, measureUtf8AppendBytes as jt, summarizeOpenAITransportError as k, isOpenAICompletionsThinkingEnabled as kt, createResponsesToolCallTracker as l, buildOpenAISdkRequestOptions as lt, OPENAI_RESPONSES_OUTPUT_TEXT_DELTA_EVENT_TYPE as m, resolveCodeModeResponsesVisibleToolNames as mt, applyResponsesServiceTierPricing as n, buildOpenAIResponsesReasoningReplayMetadata as nt, readOpenAIMisalignmentReview as o, assertCodeModeResponsesToolSurface as ot, OPENAI_RESPONSES_OUTPUT_TEXT_CONTENT_PART_TYPE as p, readCodeModePayloadToolName as pt, OPENAI_RESPONSES_FUNCTION_CALL_ITEM_ID_RE as q, runResponsesStreamLifecycle as r, captureOpenAIResponsesCompaction as rt, processResponsesStream as s, buildOpenAIClientHeaders as st, applyCommonResponsesParams as t, CompactionReplayRefreshRequiredError as tt, readResponsesToolCallItemIdentity as u, enforceCodeModeResponsesToolSurface as ut, isResponsesTextDeltaEventType as v, resolveOpenAIReasoningEffortMap as vt, resolveAzureOpenAIApiVersion as w, GEMINI_THOUGHT_SIGNATURE_VALIDATOR_SKIP as wt, createResponsesStreamWithRecovery as x, reconcileOpenAICompletionsToolChoice as xt, resolveResponsesMessageSnapshotCollapse as y, prepareOpenAITools as yt, recordResponsesInputReplay as z };
|
|
@@ -20,6 +20,11 @@ declare function isOpenAIGpt54MiniModel(model: OpenAIReasoningModel): boolean;
|
|
|
20
20
|
declare function isOpenAIGpt55Model(model: OpenAIReasoningModel): boolean;
|
|
21
21
|
/** Return whether a model is the GPT-5.6 family. */
|
|
22
22
|
declare function isOpenAIGpt56Model(model: OpenAIReasoningModel): boolean;
|
|
23
|
+
/** Apply the native Chat Completions tool contract after callers qualify the endpoint and model ID. */
|
|
24
|
+
declare function applyOpenAICompletionsToolReasoning(payload: Record<string, unknown>, model: {
|
|
25
|
+
id: string;
|
|
26
|
+
name?: string;
|
|
27
|
+
}): void;
|
|
23
28
|
/** Return whether a model has a known GPT-6 reasoning and sampling contract. */
|
|
24
29
|
declare function isOpenAIGpt6Model(model: OpenAIReasoningModel): boolean;
|
|
25
30
|
/** Normalize user-facing reasoning effort names to API effort names. */
|
|
@@ -149,4 +154,4 @@ type OpenAICompletionsOptions = BaseOpenAIStreamOptions & {
|
|
|
149
154
|
reasoningEffort?: OpenAIReasoningEffort | "off";
|
|
150
155
|
};
|
|
151
156
|
//#endregion
|
|
152
|
-
export {
|
|
157
|
+
export { supportsOpenAIReasoningEffort as C, resolveOpenAISupportedReasoningEfforts as S, isOpenAIGpt6Model as _, BaseOpenAIStreamOptions as a, resolveOpenAIReasoningEffortForModel as b, OpenAIResponsesCompactionRejection as c, OpenAIApiReasoningEffort as d, OpenAIReasoningEffort as f, isOpenAIGpt56Model as g, isOpenAIGpt55Model as h, AnthropicThinkingDisplay as i, codeModeToolSurfaceObserver as l, isOpenAIGpt54MiniModel as m, AnthropicEffort as n, CodeModeToolSurfaceObservation as o, applyOpenAICompletionsToolReasoning as p, AnthropicOptions as r, OpenAICompletionsOptions as s, AnthropicContextManagementOptions as t, reasoningTagTextPolicy as u, normalizeOpenAIReasoningEffort as v, supportsOpenAITemperature as w, resolveOpenAIReasoningEffortMapping as x, resolveOpenAIModelReasoningEfforts as y };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { r as getAiTransportHost } from "./host-
|
|
1
|
+
import { r as getAiTransportHost } from "./host-CIzdzpBn.mjs";
|
|
2
2
|
import { n as resolveCloudflareBaseUrl, t as isCloudflareProvider } from "./cloudflare-5qSGvIUH.mjs";
|
|
3
|
-
import {
|
|
3
|
+
import { Ft as resolveOpenAIClientBaseUrl } from "./openai-responses-shared-C1GHTB0q.mjs";
|
|
4
4
|
import { n as resolveOpencodeSessionHeaders, t as hasOpencodeSessionHeader } from "./session-affinity-DA4WHv1h.mjs";
|
|
5
5
|
import { randomUUID } from "node:crypto";
|
|
6
6
|
import OpenAI from "openai";
|
package/dist/providers.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as AssistantMessageEventStream } from "./event-stream-X2gmsUWv.mjs";
|
|
2
2
|
import { n as projectProviderError } from "./provider-error-CF9GWCs2.mjs";
|
|
3
|
-
import { n as clampOpenAIPromptCacheKey, t as OPENAI_PROMPT_CACHE_KEY_MAX_LENGTH } from "./openai-prompt-cache-
|
|
3
|
+
import { n as clampOpenAIPromptCacheKey, t as OPENAI_PROMPT_CACHE_KEY_MAX_LENGTH } from "./openai-prompt-cache-CvftfMfD.mjs";
|
|
4
4
|
import { t as createZeroUsage } from "./usage-CJH5D6Ea.mjs";
|
|
5
5
|
//#region packages/ai/src/providers/register-builtins.ts
|
|
6
6
|
/** Source id used for built-in API provider registrations. */
|
|
@@ -50,39 +50,39 @@ function createLazyRegistration(api, importModule, select) {
|
|
|
50
50
|
};
|
|
51
51
|
}
|
|
52
52
|
const registerBuiltIns = [
|
|
53
|
-
createLazyRegistration("anthropic-messages", () => import("./anthropic-
|
|
53
|
+
createLazyRegistration("anthropic-messages", () => import("./anthropic-DusktpKG.mjs").then((n) => n.t), (module) => ({
|
|
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-BkRt2Iy4.mjs").then((n) => n.t), (module) => ({
|
|
58
58
|
stream: module.streamOpenAICompletions,
|
|
59
59
|
streamSimple: module.streamSimpleOpenAICompletions
|
|
60
60
|
})),
|
|
61
|
-
createLazyRegistration("mistral-conversations", () => import("./mistral-
|
|
61
|
+
createLazyRegistration("mistral-conversations", () => import("./mistral-CDK7WGwC.mjs"), (module) => ({
|
|
62
62
|
stream: module.streamMistral,
|
|
63
63
|
streamSimple: module.streamSimpleMistral
|
|
64
64
|
})),
|
|
65
|
-
createLazyRegistration("openai-responses", () => import("./openai-responses-
|
|
65
|
+
createLazyRegistration("openai-responses", () => import("./openai-responses-BUDpkW8I.mjs").then((n) => n.t), (module) => ({
|
|
66
66
|
stream: module.streamOpenAIResponses,
|
|
67
67
|
streamSimple: module.streamSimpleOpenAIResponses
|
|
68
68
|
})),
|
|
69
|
-
createLazyRegistration("azure-openai-responses", () => import("./azure-openai-responses-
|
|
69
|
+
createLazyRegistration("azure-openai-responses", () => import("./azure-openai-responses-yuBKi0s4.mjs"), (module) => ({
|
|
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-BjfLWIK6.mjs"), (module) => ({
|
|
74
74
|
stream: module.streamOpenAICodexResponses,
|
|
75
75
|
streamSimple: module.streamSimpleOpenAICodexResponses
|
|
76
76
|
})),
|
|
77
|
-
createLazyRegistration("google-generative-ai", () => import("./google-
|
|
77
|
+
createLazyRegistration("google-generative-ai", () => import("./google-NMkwYgCy.mjs"), (module) => ({
|
|
78
78
|
stream: module.streamGoogle,
|
|
79
79
|
streamSimple: module.streamSimpleGoogle
|
|
80
80
|
})),
|
|
81
|
-
createLazyRegistration("google-interactions", () => import("./google-interactions-
|
|
81
|
+
createLazyRegistration("google-interactions", () => import("./google-interactions-BEV3C85P.mjs"), (module) => ({
|
|
82
82
|
stream: module.streamGoogleInteractions,
|
|
83
83
|
streamSimple: module.streamSimpleGoogleInteractions
|
|
84
84
|
})),
|
|
85
|
-
createLazyRegistration("google-vertex", () => import("./google-vertex-
|
|
85
|
+
createLazyRegistration("google-vertex", () => import("./google-vertex-DJvQwNgr.mjs"), (module) => ({
|
|
86
86
|
stream: module.streamGoogleVertex,
|
|
87
87
|
streamSimple: module.streamSimpleGoogleVertex
|
|
88
88
|
}))
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { o as isRecord } from "./record-coerce-CNDovvft.mjs";
|
|
2
2
|
import { n as normalizeLowercaseStringOrEmpty } from "./string-coerce-CtgOVOSv.mjs";
|
|
3
|
-
import { M as hasMediaPayload, r as getAiTransportHost } from "./host-
|
|
4
|
-
import { g as responsesServiceTierObserver } from "./openai-responses-contracts-
|
|
3
|
+
import { M as hasMediaPayload, r as getAiTransportHost } from "./host-CIzdzpBn.mjs";
|
|
4
|
+
import { g as responsesServiceTierObserver } from "./openai-responses-contracts-DbD7sGP-.mjs";
|
|
5
5
|
import { s as truncateUtf16Safe } from "./provider-error-CF9GWCs2.mjs";
|
|
6
|
-
import { P as sanitizeSurrogates, i as copyProviderAcceptanceObserver } from "./transport-stream-shared-
|
|
6
|
+
import { P as sanitizeSurrogates, i as copyProviderAcceptanceObserver } from "./transport-stream-shared-Dr_GBa9K.mjs";
|
|
7
7
|
//#region packages/ai/src/utils/prompt-cache-stability.ts
|
|
8
8
|
/**
|
|
9
9
|
* Prompt-cache normalization helpers. They keep generated prompt sections
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as bindAssistantMessageEventStream, o as getEventStreamCompletion } from "./event-stream-X2gmsUWv.mjs";
|
|
2
|
-
import { i as getDefaultAiTransportHost, n as createAiTransportHost, o as runWithAiTransportHost, s as supportsScopedAiTransportHosts } from "./host-
|
|
2
|
+
import { i as getDefaultAiTransportHost, n as createAiTransportHost, o as runWithAiTransportHost, s as supportsScopedAiTransportHosts } from "./host-CIzdzpBn.mjs";
|
|
3
3
|
import { i as registerSessionResourceCleanupObserver, t as cleanupSessionResources } from "./session-resources-D1wgDQ8C.mjs";
|
|
4
4
|
//#region packages/ai/src/api-registry.ts
|
|
5
5
|
function wrapStream(api, stream) {
|