@openclaw/ai 2026.9.2 → 2026.9.4
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 +3 -2
- package/dist/anthropic-C4Qu4H0Z.mjs +377 -0
- package/dist/{anthropic-payload-policy-d46X2pR0.d.mts → anthropic-payload-policy-BZ8umAbk.d.mts} +16 -6
- package/dist/{anthropic-compaction-replay-DB2FGLQc.mjs → anthropic-stream-reducer-CILWF7JD.mjs} +931 -184
- package/dist/{api-registry-DWtPjzyn.d.mts → api-registry-ByUwIR0e.d.mts} +2 -2
- package/dist/assistant-output-tLt4H-iQ.mjs +16 -0
- package/dist/assistant-text-phase-C20rxWwP.mjs +55 -0
- package/dist/{azure-openai-responses-C5bZRfAP.mjs → azure-openai-responses-BAlqlKKc.mjs} +5 -5
- package/dist/{base64-CEFBpSkN.mjs → base64-D-su8YVo.mjs} +1 -27
- package/dist/{diagnostics-DfFyKeX_.mjs → diagnostics-QuErwCIl.mjs} +96 -21
- package/dist/diagnostics.d.mts +3 -1
- package/dist/diagnostics.mjs +3 -3
- package/dist/{event-stream-BhT5T1Ay.d.mts → event-stream-Bt5Y4Pav.d.mts} +11 -3
- package/dist/event-stream-C3WGFsum.d.mts +1 -0
- package/dist/{event-stream-BgDvQeum.mjs → event-stream-D8PARQfL.mjs} +45 -1
- package/dist/event-stream.d.mts +2 -2
- package/dist/event-stream.mjs +1 -1
- package/dist/{github-copilot-headers-NCJtz9i0.mjs → github-copilot-headers-B37TB3rB.mjs} +3 -10
- package/dist/github-copilot-request-facts-BTEBMeOv.mjs +16 -0
- package/dist/{google-4qeuE8iX.mjs → google-DPBAOaOW.mjs} +10 -10
- package/dist/google-messages-6JkpHrhJ.mjs +448 -0
- package/dist/google-shared-BvBeW9aq.mjs +185 -0
- package/dist/{google-vertex-O9BcnB6X.mjs → google-vertex-k-TMCAYD.mjs} +7 -6
- package/dist/{host-DjzGmdZ2.d.mts → host-4atIX-2V.d.mts} +5 -3
- package/dist/{host-CEvLw30U.mjs → host-B8YfDGd4.mjs} +181 -41
- package/dist/host-policy-Zcg_cNz8.mjs +37 -0
- package/dist/{index-FnHM2FcI.d.mts → index-DdD3qerf.d.mts} +4 -4
- package/dist/index.d.mts +7 -7
- package/dist/index.mjs +7 -6
- package/dist/internal/anthropic.d.mts +7 -7
- package/dist/internal/anthropic.mjs +4 -4
- package/dist/internal/google-model-family.d.mts +5 -0
- package/dist/internal/google-model-family.mjs +15 -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 +8 -103
- package/dist/internal/openai.mjs +9 -10
- package/dist/internal/retry-after.d.mts +2 -4
- package/dist/internal/retry-after.mjs +57 -8
- package/dist/internal/runtime.d.mts +43 -7
- package/dist/internal/runtime.mjs +6 -7
- package/dist/internal/shared.d.mts +43 -3
- package/dist/internal/shared.mjs +5 -4
- package/dist/internal/tool-schema.d.mts +63 -0
- package/dist/internal/tool-schema.mjs +3 -0
- package/dist/{mistral-Tb6oalqH.mjs → mistral-CxUZ1jUb.mjs} +10 -37
- package/dist/model-transport-url-DKocrEsb.d.mts +28 -0
- package/dist/{openai-chatgpt-responses-yUXjPNfu.mjs → openai-chatgpt-responses-CgO6kZfo.mjs} +50 -41
- package/dist/{openai-completions-compat-CpjYUArk.d.mts → openai-completions-compat-eHgh5UPE.d.mts} +26 -4
- package/dist/{openai-completions-stream-BsrBe3Gg.mjs → openai-completions-stream-Da2vvl-S.mjs} +654 -453
- package/dist/openai-completions-yJuk7eis.mjs +187 -0
- package/dist/openai-prompt-cache-B4eYo2-I.d.mts +16 -0
- package/dist/openai-prompt-cache-Bds-n_9Q.mjs +220 -0
- package/dist/openai-provider-client-S2gCrM2Z.mjs +24 -0
- package/dist/{openai-responses-CCL41ALM.mjs → openai-responses-DaYwH05E.mjs} +14 -29
- package/dist/{openai-responses-compaction-window-BMVHFOtq.mjs → openai-responses-compaction-window-CIhBAkkq.mjs} +6 -246
- package/dist/{openai-responses-contracts-rF5DDRNS.d.mts → openai-responses-contracts-BjBAqAg_.d.mts} +5 -38
- package/dist/openai-responses-contracts-DDOHA62Y.mjs +245 -0
- package/dist/{openai-responses-prompt-observer-internal-D0bhBfgL.mjs → openai-responses-prompt-observer-internal-f8J7wpsk.mjs} +3 -3
- package/dist/{openai-responses-shared-Bmma_3Qc.mjs → openai-responses-shared-B8RdBPCv.mjs} +47 -118
- package/dist/openai-tool-projection-793cE3QX.d.mts +37 -0
- package/dist/{openai-tool-schema-_pTAJqKF.mjs → openai-tool-schema-CzjyYXun.mjs} +38 -556
- package/dist/openai-tool-schema-ynZBgqW-.d.mts +38 -0
- package/dist/openai-transport-params-9aPuV5YY.mjs +675 -0
- package/dist/positive-integer-41zhOdcV.mjs +8 -0
- package/dist/{provider-error-9TraxGvt.mjs → provider-error-BA-v_tKd.mjs} +70 -11
- package/dist/{provider-options-Bcc_p-TU.d.mts → provider-options-Ceqv1OKk.d.mts} +4 -39
- package/dist/{provider-replay-context-BuSUaAk5.mjs → provider-replay-context-CJ_YvcEW.mjs} +1 -1
- package/dist/{provider-transcript-transform-BaMbI1hr.mjs → provider-transcript-transform-V5YzU9zh.mjs} +1 -1
- package/dist/provider-transport-turn-state-D5EXOFL2.mjs +42 -0
- package/dist/provider-types-CVjKjsuq.d.mts +29 -0
- package/dist/provider-types.d.mts +6 -31
- package/dist/providers.d.mts +2 -2
- package/dist/providers.mjs +11 -11
- package/dist/{reasoning-tag-text-partitioner-DLCNXki6.mjs → reasoning-tag-text-partitioner-BcR5pztD.mjs} +19 -19
- package/dist/record-coerce-DwRYMj3t.mjs +32 -0
- package/dist/retry-after-CdCURCVg.d.mts +15 -0
- package/dist/session-affinity-Bcunsn4I.mjs +23 -0
- package/dist/{simple-options-BjHCCh4v.mjs → simple-options-BQbb4yQL.mjs} +24 -5
- package/dist/src-DDmEryvj.mjs +2 -0
- package/dist/{stream-first-event-timeout-DcNjoFQE.mjs → stream-first-event-timeout-2hfrquuz.mjs} +1 -1
- package/dist/string-coerce-fsri9iCu.mjs +34 -0
- package/dist/{string-normalization--fwJ4S2q.mjs → string-normalization-CmLIasuf.mjs} +1 -1
- package/dist/{tool-schema-json-projection-mJhXDcyz.mjs → tool-schema-json-projection-ClptDdAO.mjs} +2 -38
- package/dist/{transport-stream-shared-xnaqxmbP.d.mts → transport-stream-shared-DNvmoWnv.d.mts} +20 -36
- package/dist/{transport-stream-shared-CZqMhfIw.mjs → transport-stream-shared-zHll9BxO.mjs} +225 -13
- package/dist/transport-utils-zrYjICLZ.mjs +118 -0
- package/dist/transports.d.mts +137 -193
- package/dist/transports.mjs +204 -1334
- package/dist/types-DlfwzH3T.d.mts +1 -0
- package/dist/types-LFWwv0cF.mjs +8 -0
- package/dist/{types-CJ1-Ht7A.d.mts → types-Ntv5z2g2.d.mts} +74 -57
- package/dist/types.d.mts +6 -6
- package/dist/types.mjs +6 -5
- package/dist/{src-2qBGKg8O.mjs → usage-cost-BNWbbXav.mjs} +0 -1
- package/dist/utf16-slice-CvGodqok.mjs +29 -0
- package/dist/{validation-AKZBDGQd.d.mts → validation-B0t_G2H6.d.mts} +1 -1
- package/dist/{validation-CJZtym2g.mjs → validation-BDzVDnTs.mjs} +9 -1
- package/dist/validation.d.mts +1 -1
- package/dist/validation.mjs +1 -1
- package/package.json +13 -3
- package/dist/anthropic-BDdqdVLK.mjs +0 -886
- package/dist/event-stream-zctLx0yr.d.mts +0 -1
- package/dist/google-shared-CWeG8RIl.mjs +0 -636
- package/dist/google-thinking-level-C-V3tecN.mjs +0 -9
- package/dist/hash-CHgqbJmD.mjs +0 -16
- package/dist/json-parse-BuAJEbdW.mjs +0 -146
- package/dist/openai-completions-BIUV3RDT.mjs +0 -403
- package/dist/openai-prompt-cache-CGnVB74a.mjs +0 -21
- package/dist/openai-prompt-cache-CNoIfHYC.d.mts +0 -16
- package/dist/sanitize-unicode-D6xUvZaS.mjs +0 -83
- package/dist/transport-utils-7il795_9.mjs +0 -138
- package/dist/types-3Lnm-QSJ.d.mts +0 -1
- package/dist/types-BDdaOVi2.mjs +0 -6
- package/dist/utf16-slice-qz3nsy87.mjs +0 -84
|
@@ -1,6 +1,64 @@
|
|
|
1
|
-
import { b as supportsClaudeNativeXhighEffort, c as requiresClaudeDefaultSampling, f as resolveClaudeMythos5ModelIdentity, h as resolveClaudeSonnet5ModelIdentity, l as requiresClaudeMandatoryAdaptiveThinking, m as resolveClaudeOpus5ModelIdentity, p as resolveClaudeNativeThinkingLevelMap, u as resolveClaudeFable5ModelIdentity, y as supportsClaudeNativeMaxEffort } from "./
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
1
|
+
import { b as supportsClaudeNativeXhighEffort, c as requiresClaudeDefaultSampling, f as resolveClaudeMythos5ModelIdentity, h as resolveClaudeSonnet5ModelIdentity, l as requiresClaudeMandatoryAdaptiveThinking, m as resolveClaudeOpus5ModelIdentity, p as resolveClaudeNativeThinkingLevelMap, t as calculateUsageCost, u as resolveClaudeFable5ModelIdentity, y as supportsClaudeNativeMaxEffort } from "./usage-cost-BNWbbXav.mjs";
|
|
2
|
+
import "./src-DDmEryvj.mjs";
|
|
3
|
+
import { n as normalizeLowercaseStringOrEmpty } from "./string-coerce-fsri9iCu.mjs";
|
|
4
|
+
import { i as asOptionalRecord, o as isRecord } from "./record-coerce-DwRYMj3t.mjs";
|
|
5
|
+
import { t as truncateUtf16Safe } from "./utf16-slice-CvGodqok.mjs";
|
|
6
|
+
//#region packages/ai/src/model-utils.ts
|
|
7
|
+
/** Calculates and stores model cost fields from token usage and per-million pricing. */
|
|
8
|
+
function calculateCost(model, usage) {
|
|
9
|
+
Object.assign(usage.cost, calculateUsageCost(usage, model.cost));
|
|
10
|
+
return usage.cost;
|
|
11
|
+
}
|
|
12
|
+
/** Replaces the catalog estimate when the provider reports an authoritative billed total. */
|
|
13
|
+
function applyProviderReportedUsageCost(usage, reportedCost) {
|
|
14
|
+
if (typeof reportedCost !== "number" || !Number.isFinite(reportedCost) || reportedCost < 0) return;
|
|
15
|
+
usage.cost.total = reportedCost;
|
|
16
|
+
usage.cost.totalOrigin = "provider-billed";
|
|
17
|
+
}
|
|
18
|
+
const EXTENDED_THINKING_LEVELS = [
|
|
19
|
+
"off",
|
|
20
|
+
"minimal",
|
|
21
|
+
"low",
|
|
22
|
+
"medium",
|
|
23
|
+
"high",
|
|
24
|
+
"xhigh",
|
|
25
|
+
"max"
|
|
26
|
+
];
|
|
27
|
+
function resolveThinkingLevelMap(model) {
|
|
28
|
+
return model.api === "anthropic-messages" ? resolveClaudeNativeThinkingLevelMap(model) ?? model.thinkingLevelMap : model.thinkingLevelMap;
|
|
29
|
+
}
|
|
30
|
+
/** Returns thinking levels exposed by a reasoning-capable model. */
|
|
31
|
+
function getSupportedThinkingLevels(model) {
|
|
32
|
+
const mandatoryAdaptiveContract = model.api === "anthropic-messages" && requiresClaudeMandatoryAdaptiveThinking(model);
|
|
33
|
+
if (!model.reasoning && !mandatoryAdaptiveContract) return ["off"];
|
|
34
|
+
const thinkingLevelMap = resolveThinkingLevelMap(model);
|
|
35
|
+
return EXTENDED_THINKING_LEVELS.filter((level) => {
|
|
36
|
+
const mapped = thinkingLevelMap?.[level];
|
|
37
|
+
if (mapped === null) return false;
|
|
38
|
+
if (level === "xhigh" || level === "max") return mapped !== void 0;
|
|
39
|
+
return true;
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
/** Clamps a requested thinking level to the closest supported level for a model. */
|
|
43
|
+
function clampThinkingLevel(model, level) {
|
|
44
|
+
const availableLevels = getSupportedThinkingLevels(model);
|
|
45
|
+
if (availableLevels.includes(level)) return level;
|
|
46
|
+
const requestedIndex = EXTENDED_THINKING_LEVELS.indexOf(level);
|
|
47
|
+
if (requestedIndex === -1) return availableLevels[0] ?? "off";
|
|
48
|
+
const thinkingLevelMap = resolveThinkingLevelMap(model);
|
|
49
|
+
if ((level === "xhigh" || level === "max") && thinkingLevelMap?.[level] === null) {
|
|
50
|
+
for (const candidate of EXTENDED_THINKING_LEVELS.slice(0, requestedIndex).toReversed()) if (availableLevels.includes(candidate)) return candidate;
|
|
51
|
+
}
|
|
52
|
+
for (const candidate of EXTENDED_THINKING_LEVELS.slice(requestedIndex)) if (availableLevels.includes(candidate)) return candidate;
|
|
53
|
+
for (const candidate of EXTENDED_THINKING_LEVELS.slice(0, requestedIndex).toReversed()) if (availableLevels.includes(candidate)) return candidate;
|
|
54
|
+
return availableLevels[0] ?? "off";
|
|
55
|
+
}
|
|
56
|
+
/** Compares model identity by provider and id. */
|
|
57
|
+
function modelsAreEqual(a, b) {
|
|
58
|
+
if (!a || !b) return false;
|
|
59
|
+
return a.id === b.id && a.provider === b.provider;
|
|
60
|
+
}
|
|
61
|
+
//#endregion
|
|
4
62
|
//#region packages/ai/src/providers/anthropic-model-contract.ts
|
|
5
63
|
const ANTHROPIC_CLAUDE_CODE_VERSION = "2.1.75";
|
|
6
64
|
const ANTHROPIC_CLAUDE_CODE_BILLING_SYSTEM_BLOCK = `x-anthropic-billing-header: cc_version=${ANTHROPIC_CLAUDE_CODE_VERSION}; cc_entrypoint=sdk-cli;`;
|
|
@@ -133,8 +191,33 @@ function resolveModelBoundThinkingReplayMode(params) {
|
|
|
133
191
|
return sourceApi === targetApi && sourceIdentity === targetIdentity ? "preserve" : "drop";
|
|
134
192
|
}
|
|
135
193
|
//#endregion
|
|
194
|
+
//#region packages/ai/src/utils/sanitize-unicode.ts
|
|
195
|
+
/**
|
|
196
|
+
* Removes unpaired Unicode surrogate characters from a string.
|
|
197
|
+
*
|
|
198
|
+
* Unpaired surrogates (high surrogates 0xD800-0xDBFF without matching low surrogates 0xDC00-0xDFFF,
|
|
199
|
+
* or vice versa) cause JSON serialization errors in many API providers.
|
|
200
|
+
*
|
|
201
|
+
* Valid emoji and other characters outside the Basic Multilingual Plane use properly paired
|
|
202
|
+
* surrogates and will NOT be affected by this function.
|
|
203
|
+
*
|
|
204
|
+
* @param text - The text to sanitize
|
|
205
|
+
* @returns The sanitized text with unpaired surrogates removed
|
|
206
|
+
*
|
|
207
|
+
* @example
|
|
208
|
+
* // Valid emoji (properly paired surrogates) are preserved
|
|
209
|
+
* sanitizeSurrogates("Hello 🙈 World") // => "Hello 🙈 World"
|
|
210
|
+
*
|
|
211
|
+
* // Unpaired high surrogate is removed
|
|
212
|
+
* const unpaired = String.fromCharCode(0xD83D); // high surrogate without low
|
|
213
|
+
* sanitizeSurrogates(`Text ${unpaired} here`) // => "Text here"
|
|
214
|
+
*/
|
|
215
|
+
function sanitizeSurrogates(text) {
|
|
216
|
+
return text.replace(/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g, "");
|
|
217
|
+
}
|
|
218
|
+
//#endregion
|
|
136
219
|
//#region packages/ai/src/providers/tool-result-text.ts
|
|
137
|
-
const
|
|
220
|
+
const STRUCTURED_TOOL_RESULT_MAX_CHARS = 8e3;
|
|
138
221
|
const IMAGE_TOOL_RESULT_TYPES = /* @__PURE__ */ new Set([
|
|
139
222
|
"image",
|
|
140
223
|
"image_url",
|
|
@@ -200,9 +283,9 @@ function stringifyStructuredBlock(block) {
|
|
|
200
283
|
return;
|
|
201
284
|
}
|
|
202
285
|
}
|
|
203
|
-
function
|
|
204
|
-
if (text.length <=
|
|
205
|
-
return `${truncateUtf16Safe(text,
|
|
286
|
+
function truncateStructuredToolText(text) {
|
|
287
|
+
if (text.length <= STRUCTURED_TOOL_RESULT_MAX_CHARS) return text;
|
|
288
|
+
return `${truncateUtf16Safe(text, STRUCTURED_TOOL_RESULT_MAX_CHARS)}\n…(truncated)…`;
|
|
206
289
|
}
|
|
207
290
|
/** Media metadata alone is not an attachment; provider emitters need inline bytes. */
|
|
208
291
|
function hasMediaPayload(block) {
|
|
@@ -242,7 +325,7 @@ function extractToolResultBlockText(block) {
|
|
|
242
325
|
return text ? sanitizeSurrogates(text) : void 0;
|
|
243
326
|
}
|
|
244
327
|
const structured = stringifyStructuredBlock(record);
|
|
245
|
-
return structured ? sanitizeSurrogates(
|
|
328
|
+
return structured ? sanitizeSurrogates(truncateStructuredToolText(structured)) : void 0;
|
|
246
329
|
}
|
|
247
330
|
function extractToolResultText(blocks, options) {
|
|
248
331
|
const explicitTexts = [];
|
|
@@ -254,10 +337,10 @@ function extractToolResultText(blocks, options) {
|
|
|
254
337
|
else structuredTexts.push(text);
|
|
255
338
|
}
|
|
256
339
|
if (explicitTexts.length > 0) {
|
|
257
|
-
|
|
258
|
-
return
|
|
340
|
+
if (options?.includeStructured && structuredTexts.length > 0) explicitTexts.push(truncateStructuredToolText(structuredTexts.join("\n")));
|
|
341
|
+
return explicitTexts.join("\n");
|
|
259
342
|
}
|
|
260
|
-
return
|
|
343
|
+
return truncateStructuredToolText(structuredTexts.join("\n"));
|
|
261
344
|
}
|
|
262
345
|
/** Describe media that cannot be represented on the target provider wire. */
|
|
263
346
|
function describeUnsupportedToolResultMedia(blocks, support) {
|
|
@@ -273,6 +356,49 @@ function formatToolResultText(params) {
|
|
|
273
356
|
return `${params.isError ? "[tool error] " : ""}${body}`;
|
|
274
357
|
}
|
|
275
358
|
//#endregion
|
|
359
|
+
//#region packages/ai/src/replay-turn-classification.ts
|
|
360
|
+
/** Returns true when an assistant turn contains only provider reasoning and blank text. */
|
|
361
|
+
function hasOnlyAssistantReasoningContent(message) {
|
|
362
|
+
if (message.role !== "assistant") return false;
|
|
363
|
+
const content = Array.isArray(message.content) ? message.content : message.content != null && typeof message.content === "object" ? [message.content] : [];
|
|
364
|
+
let hasThinking = false;
|
|
365
|
+
for (const block of content) {
|
|
366
|
+
if (!block || typeof block !== "object") return false;
|
|
367
|
+
if (!("type" in block)) return false;
|
|
368
|
+
if (block.type === "thinking" || block.type === "redacted_thinking") {
|
|
369
|
+
hasThinking = true;
|
|
370
|
+
continue;
|
|
371
|
+
}
|
|
372
|
+
if (block.type === "text" && "text" in block && typeof block.text === "string" && !block.text.trim()) continue;
|
|
373
|
+
return false;
|
|
374
|
+
}
|
|
375
|
+
return hasThinking;
|
|
376
|
+
}
|
|
377
|
+
/** Returns true when a token-limited turn contains only incomplete provider reasoning. */
|
|
378
|
+
function isReasoningOnlyLengthAssistantTurn(message) {
|
|
379
|
+
return message.stopReason === "length" && hasOnlyAssistantReasoningContent(message);
|
|
380
|
+
}
|
|
381
|
+
const STREAM_ERROR_FALLBACK_TEXT = "[assistant turn failed before producing content]";
|
|
382
|
+
function isStreamErrorFallbackContent(content) {
|
|
383
|
+
if (content == null) return true;
|
|
384
|
+
if (typeof content === "string") return !content.trim() || content.trim() === "[assistant turn failed before producing content]";
|
|
385
|
+
return Array.isArray(content) && content.every((value) => {
|
|
386
|
+
const block = asOptionalRecord(value);
|
|
387
|
+
return block && (block.type === "text" || block.type === "input_text" || block.type === "output_text") && typeof block.text === "string" && isStreamErrorFallbackContent(block.text);
|
|
388
|
+
});
|
|
389
|
+
}
|
|
390
|
+
const FAILED_ASSISTANT_REPLAY_TEXT = "[This turn failed before it completed. Do not redo its work without confirming with the user first.]";
|
|
391
|
+
/** Classify failed source content before model-specific thinking or tool projection. */
|
|
392
|
+
function resolveFailedAssistantReplay(message, options) {
|
|
393
|
+
if (message.role !== "assistant" || message.stopReason !== "error" && message.stopReason !== "aborted") return "keep";
|
|
394
|
+
const content = Array.isArray(message.content) ? message.content : [];
|
|
395
|
+
if (content.some((block) => asOptionalRecord(block)?.type === "toolCall")) return options.pairingAware ? "keep" : "drop";
|
|
396
|
+
return content.some((block) => {
|
|
397
|
+
const record = asOptionalRecord(block);
|
|
398
|
+
return record?.type === "text" && typeof record.text === "string" && !isStreamErrorFallbackContent(record.text);
|
|
399
|
+
}) ? "marker" : "drop";
|
|
400
|
+
}
|
|
401
|
+
//#endregion
|
|
276
402
|
//#region packages/ai/src/transcript-transform.ts
|
|
277
403
|
const NON_VISION_USER_IMAGE_PLACEHOLDER = "(image omitted: model does not support images)";
|
|
278
404
|
const NON_VISION_TOOL_IMAGE_PLACEHOLDER = "(tool image omitted: model does not support images)";
|
|
@@ -292,17 +418,6 @@ function replaceImagesWithPlaceholder(content, placeholder) {
|
|
|
292
418
|
}
|
|
293
419
|
return result;
|
|
294
420
|
}
|
|
295
|
-
function downgradeUnsupportedImages(messages, model) {
|
|
296
|
-
if (model.input.includes("image")) return messages;
|
|
297
|
-
return messages.map((message) => {
|
|
298
|
-
if (message.role === "assistant" || typeof message.content === "string") return message;
|
|
299
|
-
const placeholder = message.role === "user" ? NON_VISION_USER_IMAGE_PLACEHOLDER : NON_VISION_TOOL_IMAGE_PLACEHOLDER;
|
|
300
|
-
return {
|
|
301
|
-
...message,
|
|
302
|
-
content: replaceImagesWithPlaceholder(message.content, placeholder)
|
|
303
|
-
};
|
|
304
|
-
});
|
|
305
|
-
}
|
|
306
421
|
function transformAssistant(message, model, toolCallIdMap, normalizeToolCallId) {
|
|
307
422
|
const replayMode = resolveModelBoundThinkingReplayMode({
|
|
308
423
|
source: {
|
|
@@ -337,9 +452,9 @@ function transformAssistant(message, model, toolCallIdMap, normalizeToolCallId)
|
|
|
337
452
|
type: "text",
|
|
338
453
|
text: block.text
|
|
339
454
|
};
|
|
340
|
-
const { thoughtSignature: _, async: _async, ...unsigned } = block;
|
|
341
455
|
const trimmedId = block.id.trim();
|
|
342
456
|
if (sameModel) return trimmedId === block.id ? block : Object.assign({}, block, { id: trimmedId });
|
|
457
|
+
const { thoughtSignature: _, async: _async, ...unsigned } = block;
|
|
343
458
|
const id = normalizeToolCallId?.(trimmedId, model, message) ?? trimmedId;
|
|
344
459
|
if (id !== trimmedId) toolCallIdMap.set(trimmedId, id);
|
|
345
460
|
return id === block.id ? unsigned : Object.assign({}, unsigned, { id });
|
|
@@ -357,26 +472,23 @@ function transformMessages(messages, model, normalizeToolCallId) {
|
|
|
357
472
|
for (const message of messages) if (message.role === "assistant") {
|
|
358
473
|
const sameModel = message.provider === model.provider && message.api === model.api && message.model === model.id;
|
|
359
474
|
for (const block of message.content ?? []) if (block.type === "toolCall") {
|
|
360
|
-
|
|
361
|
-
|
|
475
|
+
const id = block.id.trim();
|
|
476
|
+
if (block.async && !sameModel) asyncOwners.set(id, message);
|
|
477
|
+
else asyncOwners.delete(id);
|
|
362
478
|
}
|
|
363
479
|
} else if (message.role === "toolResult") {
|
|
364
|
-
const
|
|
480
|
+
const id = message.toolCallId.trim();
|
|
481
|
+
const owner = asyncOwners.get(id);
|
|
365
482
|
if (owner) {
|
|
366
483
|
const results = relocated.get(owner) ?? [];
|
|
367
484
|
results.push(message);
|
|
368
485
|
relocated.set(owner, results);
|
|
369
486
|
movedResults.add(message);
|
|
370
|
-
asyncOwners.delete(
|
|
487
|
+
asyncOwners.delete(id);
|
|
371
488
|
}
|
|
372
489
|
}
|
|
373
|
-
const
|
|
374
|
-
|
|
375
|
-
if (message.role !== "toolResult") return message;
|
|
376
|
-
const trimmedId = message.toolCallId.trim();
|
|
377
|
-
const toolCallId = toolCallIdMap.get(trimmedId) ?? trimmedId;
|
|
378
|
-
return toolCallId === message.toolCallId ? message : Object.assign({}, message, { toolCallId });
|
|
379
|
-
});
|
|
490
|
+
const source = movedResults.size > 0 ? messages.flatMap((message) => movedResults.has(message) ? [] : [message, ...message.role === "assistant" ? relocated.get(message) ?? [] : []]) : messages;
|
|
491
|
+
const supportsImages = model.input.includes("image");
|
|
380
492
|
const result = [];
|
|
381
493
|
const pendingAsyncCalls = /* @__PURE__ */ new Map();
|
|
382
494
|
let pendingToolCalls = [];
|
|
@@ -396,10 +508,26 @@ function transformMessages(messages, model, normalizeToolCallId) {
|
|
|
396
508
|
pendingToolCalls = [];
|
|
397
509
|
existingToolResultIds = /* @__PURE__ */ new Set();
|
|
398
510
|
};
|
|
399
|
-
for (
|
|
511
|
+
for (let message of source) {
|
|
512
|
+
if (message.content == null) message = {
|
|
513
|
+
...message,
|
|
514
|
+
content: []
|
|
515
|
+
};
|
|
400
516
|
if (message.role === "assistant") {
|
|
517
|
+
const failedReplay = resolveFailedAssistantReplay(message, { pairingAware: false });
|
|
518
|
+
message = transformAssistant(message, model, toolCallIdMap, normalizeToolCallId);
|
|
401
519
|
flushToolCalls();
|
|
402
|
-
if (
|
|
520
|
+
if (failedReplay === "drop") continue;
|
|
521
|
+
if (failedReplay === "marker") {
|
|
522
|
+
result.push({
|
|
523
|
+
...message,
|
|
524
|
+
content: [{
|
|
525
|
+
type: "text",
|
|
526
|
+
text: FAILED_ASSISTANT_REPLAY_TEXT
|
|
527
|
+
}]
|
|
528
|
+
});
|
|
529
|
+
continue;
|
|
530
|
+
}
|
|
403
531
|
pendingToolCalls = message.content.filter((block) => {
|
|
404
532
|
if (block.type !== "toolCall") return false;
|
|
405
533
|
if (block.async) {
|
|
@@ -408,10 +536,22 @@ function transformMessages(messages, model, normalizeToolCallId) {
|
|
|
408
536
|
}
|
|
409
537
|
return true;
|
|
410
538
|
});
|
|
411
|
-
} else
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
539
|
+
} else {
|
|
540
|
+
if (!supportsImages && typeof message.content !== "string") message = {
|
|
541
|
+
...message,
|
|
542
|
+
content: replaceImagesWithPlaceholder(message.content, message.role === "user" ? NON_VISION_USER_IMAGE_PLACEHOLDER : NON_VISION_TOOL_IMAGE_PLACEHOLDER)
|
|
543
|
+
};
|
|
544
|
+
if (message.role === "toolResult") {
|
|
545
|
+
const trimmedId = message.toolCallId.trim();
|
|
546
|
+
const toolCallId = toolCallIdMap.get(trimmedId) ?? trimmedId;
|
|
547
|
+
if (toolCallId !== message.toolCallId) message = {
|
|
548
|
+
...message,
|
|
549
|
+
toolCallId
|
|
550
|
+
};
|
|
551
|
+
existingToolResultIds.add(toolCallId);
|
|
552
|
+
pendingAsyncCalls.delete(toolCallId);
|
|
553
|
+
} else flushToolCalls();
|
|
554
|
+
}
|
|
415
555
|
result.push(message);
|
|
416
556
|
}
|
|
417
557
|
pendingToolCalls.push(...pendingAsyncCalls.values());
|
|
@@ -515,4 +655,4 @@ function resolveAiTransportHeaderSentinels(headers) {
|
|
|
515
655
|
return resolvedHeaders ?? headers;
|
|
516
656
|
}
|
|
517
657
|
//#endregion
|
|
518
|
-
export {
|
|
658
|
+
export { applyProviderReportedUsageCost as A, mapAnthropicStopReason as C, resolveModelBoundThinkingReplayMode as D, resolveAnthropicThinkingEffort as E, clampThinkingLevel as M, getSupportedThinkingLevels as N, usesClaudeFable5MessagesContract as O, modelsAreEqual as P, defaultsClaudeAdaptiveThinking as S, requiresClaudeAdaptiveThinking as T, isImageWithMediaPayload as _, FAILED_ASSISTANT_REPLAY_TEXT as a, ANTHROPIC_CLAUDE_CODE_VERSION as b, isReasoningOnlyLengthAssistantTurn as c, describeToolResultMediaPlaceholder as d, describeUnsupportedToolResultMedia as f, hasMediaPayload as g, formatToolResultText as h, transformMessages as i, calculateCost as j, usesClaudeStreamingRefusalContract as k, isStreamErrorFallbackContent as l, extractToolResultText as m, getAiTransportHost as n, STREAM_ERROR_FALLBACK_TEXT as o, extractToolResultBlockText as p, resolveAiTransportHeaderSentinels as r, hasOnlyAssistantReasoningContent as s, configureAiTransportHost as t, resolveFailedAssistantReplay as u, sanitizeSurrogates as v, prepareClaudeNoPrefillRequestContext as w, applyClaudeRequestContract as x, ANTHROPIC_CLAUDE_CODE_BILLING_SYSTEM_BLOCK as y };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { n as getAiTransportHost } from "./host-B8YfDGd4.mjs";
|
|
2
|
+
//#region packages/ai/src/transports/host-policy.ts
|
|
3
|
+
function buildGuardedModelFetch(model, timeoutMs, options) {
|
|
4
|
+
const host = getAiTransportHost();
|
|
5
|
+
if (options !== void 0) return host.buildModelFetch(model, timeoutMs, options) ?? globalThis.fetch;
|
|
6
|
+
if (timeoutMs !== void 0) return host.buildModelFetch(model, timeoutMs) ?? globalThis.fetch;
|
|
7
|
+
return host.buildModelFetch(model) ?? globalThis.fetch;
|
|
8
|
+
}
|
|
9
|
+
function resolveProviderEndpoint(model) {
|
|
10
|
+
return { endpointClass: getAiTransportHost().resolveProviderRequestCapabilities({
|
|
11
|
+
baseUrl: model.baseUrl,
|
|
12
|
+
model
|
|
13
|
+
}).endpointClass };
|
|
14
|
+
}
|
|
15
|
+
function resolveProviderRequestCapabilities(input, model) {
|
|
16
|
+
return getAiTransportHost().resolveProviderRequestCapabilities({
|
|
17
|
+
...input,
|
|
18
|
+
model
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
function resolveProviderRequestPolicyConfig(model, input) {
|
|
22
|
+
return { headers: getAiTransportHost().resolveProviderRequestHeaders({
|
|
23
|
+
...input,
|
|
24
|
+
model
|
|
25
|
+
}) };
|
|
26
|
+
}
|
|
27
|
+
function resolveModelRequestTimeoutMs(model, timeoutMs) {
|
|
28
|
+
return timeoutMs ?? getAiTransportHost().resolveModelRequestTimeoutMs(model);
|
|
29
|
+
}
|
|
30
|
+
function resolveOpenAIStrictToolSetting(model, options) {
|
|
31
|
+
return getAiTransportHost().resolveOpenAIStrictToolSetting(model, options);
|
|
32
|
+
}
|
|
33
|
+
function transformTransportMessages(messages, model, normalizeToolCallId, options) {
|
|
34
|
+
return getAiTransportHost().transformTransportMessages(messages, model, normalizeToolCallId, options);
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
37
|
+
export { resolveProviderRequestCapabilities as a, resolveProviderEndpoint as i, resolveModelRequestTimeoutMs as n, resolveProviderRequestPolicyConfig as o, resolveOpenAIStrictToolSetting as r, transformTransportMessages as s, buildGuardedModelFetch as t };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { $ as ThinkingContent, A as ModelCostRates, B as ProviderReplayState, C as KnownImagesApi, D as Message, E as MaybePromise, F as PROVIDER_FAILURE_WITH_OUTPUT_ERROR_CODE, G as SimpleStreamOptions, H as ProviderStreamOptions, I as PROVIDER_POST_DISPATCH_AMBIGUITY_ERROR_CODE, J as StreamFunction, K as StopReason, L as PricingTier, M as OpenAICompletionsCompat, N as OpenAIResponsesCompat, O as Model, P as OpenRouterRouting, Q as ThinkingBudgets, R as Provider, S as KnownApi, T as MALFORMED_TOOL_CALL_ARGUMENTS_ERROR_CODE, U as RawModelCostConfig, V as ProviderResponse, W as RawPricingTier, X as TextContent, Y as StreamOptions, Z as TextSignatureV1, _ as ImagesModel, a as AssistantMessage, at as Transport, b as ImagesProvider, c as AssistantMessageEventStreamLike, ct as ValidateToolArgumentsFn, d as Context, et as ThinkingLevel, f as ImageContent, g as ImagesInputContent, h as ImagesFunction, i as AssistantImages, it as ToolResultMessage, j as ModelThinkingLevel, k as ModelCostConfig, l as CacheRetention, lt as VercelGatewayRouting, m as ImagesContext, n as Api, nt as Tool, o as AssistantMessageEvent, ot as Usage, p as ImagesApi, q as StreamFn, r as AssistantDeliveryTtsFacts, rt as ToolCall, s as AssistantMessageEventStreamContract, st as UserMessage, t as AnthropicMessagesCompat, tt as ThinkingLevelMap, u as CompleteSimpleFn, v as ImagesOptions, w as KnownImagesProvider, x as ImagesStopReason, y as ImagesOutputContent, z as ProviderImagesOptions } from "./types-Ntv5z2g2.mjs";
|
|
1
2
|
import { a as extractDiagnosticError, i as createAssistantMessageDiagnostic, n as DiagnosticErrorInfo, o as formatThrownValue, r as appendAssistantMessageDiagnostic, s as isProviderRefusalAssistantError, t as AssistantMessageDiagnostic } from "./diagnostics-DnPnOui6.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import { n as
|
|
4
|
-
import { n as validateToolCall, t as validateToolArguments } from "./validation-AKZBDGQd.mjs";
|
|
3
|
+
import { n as EventStream, r as createAssistantMessageEventStream, t as AssistantMessageEventStream } from "./event-stream-Bt5Y4Pav.mjs";
|
|
4
|
+
import { n as validateToolCall, t as validateToolArguments } from "./validation-B0t_G2H6.mjs";
|
|
5
5
|
//#region packages/llm-core/src/model-contracts/anthropic.d.ts
|
|
6
6
|
type ClaudeModelRef = {
|
|
7
7
|
id?: string;
|
|
@@ -111,7 +111,7 @@ declare function normalizeResolvedPricing(cost: Partial<RawModelCostConfig>): Mo
|
|
|
111
111
|
/** Price one model call, selecting its tier before billing the separate token buckets. */
|
|
112
112
|
declare function calculateUsageCost(usage: Partial<Pick<Usage, "input" | "output" | "cacheRead" | "cacheWrite" | "cacheWrite1h">>, pricing: RawModelCostConfig): Usage["cost"];
|
|
113
113
|
declare namespace index_d_exports {
|
|
114
|
-
export { AnthropicMessagesCompat, Api, AssistantDeliveryTtsFacts, AssistantImages, AssistantMessage, AssistantMessageDiagnostic, AssistantMessageEvent, AssistantMessageEventStream, AssistantMessageEventStreamContract, AssistantMessageEventStreamLike, CLAUDE_FABLE_5_THINKING_PROFILE, CLAUDE_OPUS_5_THINKING_PROFILE, CLAUDE_SONNET_5_THINKING_PROFILE, CacheRetention, CompleteSimpleFn, Context, DiagnosticErrorInfo, EventStream, ImageContent, ImagesApi, ImagesContext, ImagesFunction, ImagesInputContent, ImagesModel, ImagesOptions, ImagesOutputContent, ImagesProvider, ImagesStopReason, KnownApi, KnownImagesApi, KnownImagesProvider, MaybePromise, Message, Model, ModelCostConfig, ModelCostRates, ModelThinkingLevel, OpenAICompletionsCompat, OpenAIResponsesCompat, OpenRouterRouting, PROVIDER_FAILURE_WITH_OUTPUT_ERROR_CODE, PROVIDER_POST_DISPATCH_AMBIGUITY_ERROR_CODE, PricingTier, Provider, ProviderImagesOptions, ProviderReplayState, ProviderResponse, ProviderStreamOptions, RawModelCostConfig, RawPricingTier, SimpleStreamOptions, StopReason, StreamFn, StreamFunction, StreamOptions, TextContent, TextSignatureV1, ThinkingBudgets, ThinkingContent, ThinkingLevel, ThinkingLevelMap, Tool, ToolCall, ToolResultMessage, Transport, Usage, UserMessage, ValidateToolArgumentsFn, VercelGatewayRouting, appendAssistantMessageDiagnostic, bindsClaudeThinkingPrefix, calculateUsageCost, createAssistantMessageDiagnostic, createAssistantMessageEventStream, extractDiagnosticError, formatThrownValue, isProviderRefusalAssistantError, normalizeModelCostConfig, normalizeResolvedPricing, requiresClaudeDefaultSampling, requiresClaudeMandatoryAdaptiveThinking, resolveClaudeFable5ModelIdentity, resolveClaudeModelIdentity, resolveClaudeMythos5ModelIdentity, resolveClaudeNativeThinkingLevelMap, resolveClaudeOpus5ModelIdentity, resolveClaudeSonnet5ModelIdentity, supportsClaude1MContext, supportsClaudeAdaptiveThinking, supportsClaudeFastMode, supportsClaudeNativeMaxEffort, supportsClaudeNativeXhighEffort, validateToolArguments, validateToolCall };
|
|
114
|
+
export { AnthropicMessagesCompat, Api, AssistantDeliveryTtsFacts, AssistantImages, AssistantMessage, AssistantMessageDiagnostic, AssistantMessageEvent, AssistantMessageEventStream, AssistantMessageEventStreamContract, AssistantMessageEventStreamLike, CLAUDE_FABLE_5_THINKING_PROFILE, CLAUDE_OPUS_5_THINKING_PROFILE, CLAUDE_SONNET_5_THINKING_PROFILE, CacheRetention, CompleteSimpleFn, Context, DiagnosticErrorInfo, EventStream, ImageContent, ImagesApi, ImagesContext, ImagesFunction, ImagesInputContent, ImagesModel, ImagesOptions, ImagesOutputContent, ImagesProvider, ImagesStopReason, KnownApi, KnownImagesApi, KnownImagesProvider, MALFORMED_TOOL_CALL_ARGUMENTS_ERROR_CODE, MaybePromise, Message, Model, ModelCostConfig, ModelCostRates, ModelThinkingLevel, OpenAICompletionsCompat, OpenAIResponsesCompat, OpenRouterRouting, PROVIDER_FAILURE_WITH_OUTPUT_ERROR_CODE, PROVIDER_POST_DISPATCH_AMBIGUITY_ERROR_CODE, PricingTier, Provider, ProviderImagesOptions, ProviderReplayState, ProviderResponse, ProviderStreamOptions, RawModelCostConfig, RawPricingTier, SimpleStreamOptions, StopReason, StreamFn, StreamFunction, StreamOptions, TextContent, TextSignatureV1, ThinkingBudgets, ThinkingContent, ThinkingLevel, ThinkingLevelMap, Tool, ToolCall, ToolResultMessage, Transport, Usage, UserMessage, ValidateToolArgumentsFn, VercelGatewayRouting, appendAssistantMessageDiagnostic, bindsClaudeThinkingPrefix, calculateUsageCost, createAssistantMessageDiagnostic, createAssistantMessageEventStream, extractDiagnosticError, formatThrownValue, isProviderRefusalAssistantError, normalizeModelCostConfig, normalizeResolvedPricing, requiresClaudeDefaultSampling, requiresClaudeMandatoryAdaptiveThinking, resolveClaudeFable5ModelIdentity, resolveClaudeModelIdentity, resolveClaudeMythos5ModelIdentity, resolveClaudeNativeThinkingLevelMap, resolveClaudeOpus5ModelIdentity, resolveClaudeSonnet5ModelIdentity, supportsClaude1MContext, supportsClaudeAdaptiveThinking, supportsClaudeFastMode, supportsClaudeNativeMaxEffort, supportsClaudeNativeXhighEffort, validateToolArguments, validateToolCall };
|
|
115
115
|
}
|
|
116
116
|
//#endregion
|
|
117
117
|
export { supportsClaude1MContext as _, CLAUDE_FABLE_5_THINKING_PROFILE as a, supportsClaudeNativeMaxEffort as b, bindsClaudeThinkingPrefix as c, resolveClaudeFable5ModelIdentity as d, resolveClaudeModelIdentity as f, resolveClaudeSonnet5ModelIdentity as g, resolveClaudeOpus5ModelIdentity as h, normalizeResolvedPricing as i, requiresClaudeDefaultSampling as l, resolveClaudeNativeThinkingLevelMap as m, calculateUsageCost as n, CLAUDE_OPUS_5_THINKING_PROFILE as o, resolveClaudeMythos5ModelIdentity as p, normalizeModelCostConfig as r, CLAUDE_SONNET_5_THINKING_PROFILE as s, index_d_exports as t, requiresClaudeMandatoryAdaptiveThinking as u, supportsClaudeAdaptiveThinking as v, supportsClaudeNativeXhighEffort as x, supportsClaudeFastMode as y };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { _ as supportsClaude1MContext, a as CLAUDE_FABLE_5_THINKING_PROFILE, b as supportsClaudeNativeMaxEffort, c as bindsClaudeThinkingPrefix, d as resolveClaudeFable5ModelIdentity, f as resolveClaudeModelIdentity, g as resolveClaudeSonnet5ModelIdentity, h as resolveClaudeOpus5ModelIdentity, i as normalizeResolvedPricing, l as requiresClaudeDefaultSampling, m as resolveClaudeNativeThinkingLevelMap, n as calculateUsageCost, o as CLAUDE_OPUS_5_THINKING_PROFILE, p as resolveClaudeMythos5ModelIdentity, r as normalizeModelCostConfig, s as CLAUDE_SONNET_5_THINKING_PROFILE, u as requiresClaudeMandatoryAdaptiveThinking, v as supportsClaudeAdaptiveThinking, x as supportsClaudeNativeXhighEffort, y as supportsClaudeFastMode } from "./index-
|
|
1
|
+
import { _ as supportsClaude1MContext, a as CLAUDE_FABLE_5_THINKING_PROFILE, b as supportsClaudeNativeMaxEffort, c as bindsClaudeThinkingPrefix, d as resolveClaudeFable5ModelIdentity, f as resolveClaudeModelIdentity, g as resolveClaudeSonnet5ModelIdentity, h as resolveClaudeOpus5ModelIdentity, i as normalizeResolvedPricing, l as requiresClaudeDefaultSampling, m as resolveClaudeNativeThinkingLevelMap, n as calculateUsageCost, o as CLAUDE_OPUS_5_THINKING_PROFILE, p as resolveClaudeMythos5ModelIdentity, r as normalizeModelCostConfig, s as CLAUDE_SONNET_5_THINKING_PROFILE, u as requiresClaudeMandatoryAdaptiveThinking, v as supportsClaudeAdaptiveThinking, x as supportsClaudeNativeXhighEffort, y as supportsClaudeFastMode } from "./index-DdD3qerf.mjs";
|
|
2
|
+
import { $ as ThinkingContent, A as ModelCostRates, B as ProviderReplayState, C as KnownImagesApi, D as Message, E as MaybePromise, F as PROVIDER_FAILURE_WITH_OUTPUT_ERROR_CODE, G as SimpleStreamOptions, H as ProviderStreamOptions, I as PROVIDER_POST_DISPATCH_AMBIGUITY_ERROR_CODE, J as StreamFunction, K as StopReason, L as PricingTier, M as OpenAICompletionsCompat, N as OpenAIResponsesCompat, O as Model, P as OpenRouterRouting, Q as ThinkingBudgets, R as Provider, S as KnownApi, T as MALFORMED_TOOL_CALL_ARGUMENTS_ERROR_CODE, U as RawModelCostConfig, V as ProviderResponse, W as RawPricingTier, X as TextContent, Y as StreamOptions, Z as TextSignatureV1, _ as ImagesModel, a as AssistantMessage, at as Transport, b as ImagesProvider, c as AssistantMessageEventStreamLike, ct as ValidateToolArgumentsFn, d as Context, et as ThinkingLevel, f as ImageContent, g as ImagesInputContent, h as ImagesFunction, i as AssistantImages, it as ToolResultMessage, j as ModelThinkingLevel, k as ModelCostConfig, l as CacheRetention, lt as VercelGatewayRouting, m as ImagesContext, n as Api, nt as Tool, o as AssistantMessageEvent, ot as Usage, p as ImagesApi, q as StreamFn, r as AssistantDeliveryTtsFacts, rt as ToolCall, s as AssistantMessageEventStreamContract, st as UserMessage, t as AnthropicMessagesCompat, tt as ThinkingLevelMap, u as CompleteSimpleFn, v as ImagesOptions, w as KnownImagesProvider, x as ImagesStopReason, y as ImagesOutputContent, z as ProviderImagesOptions } from "./types-Ntv5z2g2.mjs";
|
|
2
3
|
import { a as extractDiagnosticError, i as createAssistantMessageDiagnostic, n as DiagnosticErrorInfo, o as formatThrownValue, r as appendAssistantMessageDiagnostic, s as isProviderRefusalAssistantError, t as AssistantMessageDiagnostic } from "./diagnostics-DnPnOui6.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import { n as
|
|
5
|
-
import { n as
|
|
6
|
-
import { a as
|
|
7
|
-
import { a as AiProviderRequestPolicyInput, c as AiTransportHost, d as configureAiTransportHost, f as getAiTransportHost, i as AiProviderRequestCapabilities, l as AiTransportPluginHost, n as AiInlineImageBlock, o as AiProviderStreamHookContext, p as resolveAiTransportHeaderSentinels, r as AiInlineTextBlock, s as AiTransformTransportMessages, t as AiInlineContentBlock, u as OpenAIStrictToolSettingOptions } from "./host-DjzGmdZ2.mjs";
|
|
4
|
+
import { n as EventStream, r as createAssistantMessageEventStream, t as AssistantMessageEventStream } from "./event-stream-Bt5Y4Pav.mjs";
|
|
5
|
+
import { n as validateToolCall, t as validateToolArguments } from "./validation-B0t_G2H6.mjs";
|
|
6
|
+
import { a as RegisteredApiProvider, i as ApiStreamSimpleFunction, n as ApiRegistry, o as createApiRegistry, r as ApiStreamFunction, t as ApiProvider } from "./api-registry-ByUwIR0e.mjs";
|
|
7
|
+
import { a as AiProviderRequestPolicyInput, c as AiTransportHost, d as configureAiTransportHost, f as getAiTransportHost, i as AiProviderRequestCapabilities, l as AiTransportPluginHost, n as AiInlineImageBlock, o as AiProviderStreamHookContext, p as resolveAiTransportHeaderSentinels, r as AiInlineTextBlock, s as AiTransformTransportMessages, t as AiInlineContentBlock, u as OpenAIStrictToolSettingOptions } from "./host-4atIX-2V.mjs";
|
|
8
8
|
//#region packages/ai/src/stream.d.ts
|
|
9
9
|
/** Creates an isolated LLM runtime backed by the supplied provider registry. */
|
|
10
10
|
export declare function createLlmRuntime(registry?: ApiRegistry): {
|
|
@@ -22,4 +22,4 @@ export declare function createLlmRuntime(registry?: ApiRegistry): {
|
|
|
22
22
|
};
|
|
23
23
|
export type LlmRuntime = ReturnType<typeof createLlmRuntime>;
|
|
24
24
|
//#endregion
|
|
25
|
-
export { AiInlineContentBlock, AiInlineImageBlock, AiInlineTextBlock, AiProviderRequestCapabilities, AiProviderRequestPolicyInput, AiProviderStreamHookContext, AiTransformTransportMessages, AiTransportHost, AiTransportPluginHost, AnthropicMessagesCompat, Api, ApiProvider, ApiRegistry, ApiStreamFunction, ApiStreamSimpleFunction, AssistantDeliveryTtsFacts, AssistantImages, AssistantMessage, AssistantMessageDiagnostic, AssistantMessageEvent, AssistantMessageEventStream, AssistantMessageEventStreamContract, AssistantMessageEventStreamLike, CLAUDE_FABLE_5_THINKING_PROFILE, CLAUDE_OPUS_5_THINKING_PROFILE, CLAUDE_SONNET_5_THINKING_PROFILE, CacheRetention, CompleteSimpleFn, Context, DiagnosticErrorInfo, EventStream, ImageContent, ImagesApi, ImagesContext, ImagesFunction, ImagesInputContent, ImagesModel, ImagesOptions, ImagesOutputContent, ImagesProvider, ImagesStopReason, KnownApi, KnownImagesApi, KnownImagesProvider, MaybePromise, Message, Model, ModelCostConfig, ModelCostRates, ModelThinkingLevel, OpenAICompletionsCompat, OpenAIResponsesCompat, OpenAIStrictToolSettingOptions, OpenRouterRouting, PROVIDER_FAILURE_WITH_OUTPUT_ERROR_CODE, PROVIDER_POST_DISPATCH_AMBIGUITY_ERROR_CODE, PricingTier, Provider, ProviderImagesOptions, ProviderReplayState, ProviderResponse, ProviderStreamOptions, RawModelCostConfig, RawPricingTier, RegisteredApiProvider, SimpleStreamOptions, StopReason, StreamFn, StreamFunction, StreamOptions, TextContent, TextSignatureV1, ThinkingBudgets, ThinkingContent, ThinkingLevel, ThinkingLevelMap, Tool, ToolCall, ToolResultMessage, Transport, Usage, UserMessage, ValidateToolArgumentsFn, VercelGatewayRouting, appendAssistantMessageDiagnostic, bindsClaudeThinkingPrefix, calculateUsageCost, configureAiTransportHost, createApiRegistry, createAssistantMessageDiagnostic, createAssistantMessageEventStream, extractDiagnosticError, formatThrownValue, getAiTransportHost, isProviderRefusalAssistantError, normalizeModelCostConfig, normalizeResolvedPricing, requiresClaudeDefaultSampling, requiresClaudeMandatoryAdaptiveThinking, resolveAiTransportHeaderSentinels, resolveClaudeFable5ModelIdentity, resolveClaudeModelIdentity, resolveClaudeMythos5ModelIdentity, resolveClaudeNativeThinkingLevelMap, resolveClaudeOpus5ModelIdentity, resolveClaudeSonnet5ModelIdentity, supportsClaude1MContext, supportsClaudeAdaptiveThinking, supportsClaudeFastMode, supportsClaudeNativeMaxEffort, supportsClaudeNativeXhighEffort, validateToolArguments, validateToolCall };
|
|
25
|
+
export { AiInlineContentBlock, AiInlineImageBlock, AiInlineTextBlock, AiProviderRequestCapabilities, AiProviderRequestPolicyInput, AiProviderStreamHookContext, AiTransformTransportMessages, AiTransportHost, AiTransportPluginHost, AnthropicMessagesCompat, Api, ApiProvider, ApiRegistry, ApiStreamFunction, ApiStreamSimpleFunction, AssistantDeliveryTtsFacts, AssistantImages, AssistantMessage, AssistantMessageDiagnostic, AssistantMessageEvent, AssistantMessageEventStream, AssistantMessageEventStreamContract, AssistantMessageEventStreamLike, CLAUDE_FABLE_5_THINKING_PROFILE, CLAUDE_OPUS_5_THINKING_PROFILE, CLAUDE_SONNET_5_THINKING_PROFILE, CacheRetention, CompleteSimpleFn, Context, DiagnosticErrorInfo, EventStream, ImageContent, ImagesApi, ImagesContext, ImagesFunction, ImagesInputContent, ImagesModel, ImagesOptions, ImagesOutputContent, ImagesProvider, ImagesStopReason, KnownApi, KnownImagesApi, KnownImagesProvider, MALFORMED_TOOL_CALL_ARGUMENTS_ERROR_CODE, MaybePromise, Message, Model, ModelCostConfig, ModelCostRates, ModelThinkingLevel, OpenAICompletionsCompat, OpenAIResponsesCompat, OpenAIStrictToolSettingOptions, OpenRouterRouting, PROVIDER_FAILURE_WITH_OUTPUT_ERROR_CODE, PROVIDER_POST_DISPATCH_AMBIGUITY_ERROR_CODE, PricingTier, Provider, ProviderImagesOptions, ProviderReplayState, ProviderResponse, ProviderStreamOptions, RawModelCostConfig, RawPricingTier, RegisteredApiProvider, SimpleStreamOptions, StopReason, StreamFn, StreamFunction, StreamOptions, TextContent, TextSignatureV1, ThinkingBudgets, ThinkingContent, ThinkingLevel, ThinkingLevelMap, Tool, ToolCall, ToolResultMessage, Transport, Usage, UserMessage, ValidateToolArgumentsFn, VercelGatewayRouting, appendAssistantMessageDiagnostic, bindsClaudeThinkingPrefix, calculateUsageCost, configureAiTransportHost, createApiRegistry, createAssistantMessageDiagnostic, createAssistantMessageEventStream, extractDiagnosticError, formatThrownValue, getAiTransportHost, isProviderRefusalAssistantError, normalizeModelCostConfig, normalizeResolvedPricing, requiresClaudeDefaultSampling, requiresClaudeMandatoryAdaptiveThinking, resolveAiTransportHeaderSentinels, resolveClaudeFable5ModelIdentity, resolveClaudeModelIdentity, resolveClaudeMythos5ModelIdentity, resolveClaudeNativeThinkingLevelMap, resolveClaudeOpus5ModelIdentity, resolveClaudeSonnet5ModelIdentity, supportsClaude1MContext, supportsClaudeAdaptiveThinking, supportsClaudeFastMode, supportsClaudeNativeMaxEffort, supportsClaudeNativeXhighEffort, validateToolArguments, validateToolCall };
|
package/dist/index.mjs
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { _ as supportsClaudeAdaptiveThinking, a as CLAUDE_OPUS_5_THINKING_PROFILE, b as supportsClaudeNativeXhighEffort, c as requiresClaudeDefaultSampling, d as resolveClaudeModelIdentity, f as resolveClaudeMythos5ModelIdentity, g as supportsClaude1MContext, h as resolveClaudeSonnet5ModelIdentity, i as CLAUDE_FABLE_5_THINKING_PROFILE, l as requiresClaudeMandatoryAdaptiveThinking, m as resolveClaudeOpus5ModelIdentity, n as normalizeModelCostConfig, o as CLAUDE_SONNET_5_THINKING_PROFILE, p as resolveClaudeNativeThinkingLevelMap, r as normalizeResolvedPricing, s as bindsClaudeThinkingPrefix, t as calculateUsageCost, u as resolveClaudeFable5ModelIdentity, v as supportsClaudeFastMode, y as supportsClaudeNativeMaxEffort } from "./
|
|
2
|
-
import { n as PROVIDER_POST_DISPATCH_AMBIGUITY_ERROR_CODE, t as
|
|
1
|
+
import { _ as supportsClaudeAdaptiveThinking, a as CLAUDE_OPUS_5_THINKING_PROFILE, b as supportsClaudeNativeXhighEffort, c as requiresClaudeDefaultSampling, d as resolveClaudeModelIdentity, f as resolveClaudeMythos5ModelIdentity, g as supportsClaude1MContext, h as resolveClaudeSonnet5ModelIdentity, i as CLAUDE_FABLE_5_THINKING_PROFILE, l as requiresClaudeMandatoryAdaptiveThinking, m as resolveClaudeOpus5ModelIdentity, n as normalizeModelCostConfig, o as CLAUDE_SONNET_5_THINKING_PROFILE, p as resolveClaudeNativeThinkingLevelMap, r as normalizeResolvedPricing, s as bindsClaudeThinkingPrefix, t as calculateUsageCost, u as resolveClaudeFable5ModelIdentity, v as supportsClaudeFastMode, y as supportsClaudeNativeMaxEffort } from "./usage-cost-BNWbbXav.mjs";
|
|
2
|
+
import { n as PROVIDER_FAILURE_WITH_OUTPUT_ERROR_CODE, r as PROVIDER_POST_DISPATCH_AMBIGUITY_ERROR_CODE, t as MALFORMED_TOOL_CALL_ARGUMENTS_ERROR_CODE } from "./types-LFWwv0cF.mjs";
|
|
3
3
|
import { a as isProviderRefusalAssistantError, i as formatThrownValue, n as createAssistantMessageDiagnostic, r as extractDiagnosticError, t as appendAssistantMessageDiagnostic } from "./diagnostics-CPeq9F7y.mjs";
|
|
4
|
-
import {
|
|
5
|
-
import { n as validateToolCall, t as validateToolArguments } from "./validation-
|
|
4
|
+
import { i as createAssistantMessageEventStream, n as EventStream, t as AssistantMessageEventStream } from "./event-stream-D8PARQfL.mjs";
|
|
5
|
+
import { n as validateToolCall, t as validateToolArguments } from "./validation-BDzVDnTs.mjs";
|
|
6
|
+
import "./src-DDmEryvj.mjs";
|
|
6
7
|
import { n as createApiRegistry, t as createLlmRuntime } from "./stream-CREqxHgU.mjs";
|
|
7
|
-
import { n as getAiTransportHost, r as resolveAiTransportHeaderSentinels, t as configureAiTransportHost } from "./host-
|
|
8
|
-
export { AssistantMessageEventStream, CLAUDE_FABLE_5_THINKING_PROFILE, CLAUDE_OPUS_5_THINKING_PROFILE, CLAUDE_SONNET_5_THINKING_PROFILE, EventStream, PROVIDER_FAILURE_WITH_OUTPUT_ERROR_CODE, PROVIDER_POST_DISPATCH_AMBIGUITY_ERROR_CODE, appendAssistantMessageDiagnostic, bindsClaudeThinkingPrefix, calculateUsageCost, configureAiTransportHost, createApiRegistry, createAssistantMessageDiagnostic, createAssistantMessageEventStream, createLlmRuntime, extractDiagnosticError, formatThrownValue, getAiTransportHost, isProviderRefusalAssistantError, normalizeModelCostConfig, normalizeResolvedPricing, requiresClaudeDefaultSampling, requiresClaudeMandatoryAdaptiveThinking, resolveAiTransportHeaderSentinels, resolveClaudeFable5ModelIdentity, resolveClaudeModelIdentity, resolveClaudeMythos5ModelIdentity, resolveClaudeNativeThinkingLevelMap, resolveClaudeOpus5ModelIdentity, resolveClaudeSonnet5ModelIdentity, supportsClaude1MContext, supportsClaudeAdaptiveThinking, supportsClaudeFastMode, supportsClaudeNativeMaxEffort, supportsClaudeNativeXhighEffort, validateToolArguments, validateToolCall };
|
|
8
|
+
import { n as getAiTransportHost, r as resolveAiTransportHeaderSentinels, t as configureAiTransportHost } from "./host-B8YfDGd4.mjs";
|
|
9
|
+
export { AssistantMessageEventStream, CLAUDE_FABLE_5_THINKING_PROFILE, CLAUDE_OPUS_5_THINKING_PROFILE, CLAUDE_SONNET_5_THINKING_PROFILE, EventStream, MALFORMED_TOOL_CALL_ARGUMENTS_ERROR_CODE, PROVIDER_FAILURE_WITH_OUTPUT_ERROR_CODE, PROVIDER_POST_DISPATCH_AMBIGUITY_ERROR_CODE, appendAssistantMessageDiagnostic, bindsClaudeThinkingPrefix, calculateUsageCost, configureAiTransportHost, createApiRegistry, createAssistantMessageDiagnostic, createAssistantMessageEventStream, createLlmRuntime, extractDiagnosticError, formatThrownValue, getAiTransportHost, isProviderRefusalAssistantError, normalizeModelCostConfig, normalizeResolvedPricing, requiresClaudeDefaultSampling, requiresClaudeMandatoryAdaptiveThinking, resolveAiTransportHeaderSentinels, resolveClaudeFable5ModelIdentity, resolveClaudeModelIdentity, resolveClaudeMythos5ModelIdentity, resolveClaudeNativeThinkingLevelMap, resolveClaudeOpus5ModelIdentity, resolveClaudeSonnet5ModelIdentity, supportsClaude1MContext, supportsClaudeAdaptiveThinking, supportsClaudeFastMode, supportsClaudeNativeMaxEffort, supportsClaudeNativeXhighEffort, validateToolArguments, validateToolCall };
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { b as supportsClaudeNativeMaxEffort, c as bindsClaudeThinkingPrefix, d as resolveClaudeFable5ModelIdentity, f as resolveClaudeModelIdentity, g as resolveClaudeSonnet5ModelIdentity, h as resolveClaudeOpus5ModelIdentity, l as requiresClaudeDefaultSampling, m as resolveClaudeNativeThinkingLevelMap, p as resolveClaudeMythos5ModelIdentity, u as requiresClaudeMandatoryAdaptiveThinking, v as supportsClaudeAdaptiveThinking, x as supportsClaudeNativeXhighEffort } from "../index-
|
|
1
|
+
import { b as supportsClaudeNativeMaxEffort, c as bindsClaudeThinkingPrefix, d as resolveClaudeFable5ModelIdentity, f as resolveClaudeModelIdentity, g as resolveClaudeSonnet5ModelIdentity, h as resolveClaudeOpus5ModelIdentity, l as requiresClaudeDefaultSampling, m as resolveClaudeNativeThinkingLevelMap, p as resolveClaudeMythos5ModelIdentity, u as requiresClaudeMandatoryAdaptiveThinking, v as supportsClaudeAdaptiveThinking, x as supportsClaudeNativeXhighEffort } from "../index-DdD3qerf.mjs";
|
|
2
|
+
import { G as SimpleStreamOptions, J as StreamFunction, K as StopReason, O as Model, d as Context, ot as Usage } from "../types-Ntv5z2g2.mjs";
|
|
2
3
|
import { t as AssistantMessageDiagnostic } from "../diagnostics-DnPnOui6.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import "../
|
|
6
|
-
import {
|
|
4
|
+
import { i as AnthropicThinkingDisplay, n as AnthropicEffort, r as AnthropicOptions, t as AnthropicContextManagementOptions } from "../provider-options-Ceqv1OKk.mjs";
|
|
5
|
+
import "../types-DlfwzH3T.mjs";
|
|
6
|
+
import { p as resolveAnthropicServerCompactionPlan } from "../anthropic-payload-policy-BZ8umAbk.mjs";
|
|
7
|
+
import { Tool } from "@anthropic-ai/sdk/resources/messages.js";
|
|
7
8
|
//#region packages/ai/src/providers/anthropic.d.ts
|
|
8
9
|
type AnthropicCompactionOptions = AnthropicOptions & {
|
|
9
10
|
authProfileId?: string;
|
|
@@ -150,8 +151,7 @@ type AnthropicProjectedTool = {
|
|
|
150
151
|
readonly originalName: string;
|
|
151
152
|
readonly wireName: string;
|
|
152
153
|
readonly description?: string;
|
|
153
|
-
readonly inputSchema: {
|
|
154
|
-
readonly type: "object";
|
|
154
|
+
readonly inputSchema: Tool["input_schema"] & {
|
|
155
155
|
readonly properties: Record<string, unknown>;
|
|
156
156
|
readonly required: string[];
|
|
157
157
|
};
|
|
@@ -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 "../
|
|
2
|
-
import {
|
|
3
|
-
import { C as
|
|
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 "../usage-cost-BNWbbXav.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-B8YfDGd4.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-CILWF7JD.mjs";
|
|
4
|
+
import { n as streamAnthropic, r as streamSimpleAnthropic } from "../anthropic-C4Qu4H0Z.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 };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
//#region packages/ai/src/internal/google-model-family.d.ts
|
|
2
|
+
export declare function isGoogleGemini3ProModel(modelId: string): boolean;
|
|
3
|
+
export declare function isGoogleGemini3FlashModel(modelId: string): boolean;
|
|
4
|
+
export declare function isGoogleGemini3ThinkingLevelModel(modelId: string): boolean;
|
|
5
|
+
//#endregion
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { n as normalizeLowercaseStringOrEmpty } from "../string-coerce-fsri9iCu.mjs";
|
|
2
|
+
//#region packages/ai/src/internal/google-model-family.ts
|
|
3
|
+
function isGoogleGemini3ProModel(modelId) {
|
|
4
|
+
const normalized = normalizeLowercaseStringOrEmpty(modelId);
|
|
5
|
+
return /(?:^|\/)gemini-(?:3(?:\.\d+)?-pro|pro-latest)(?:-|$)/.test(normalized);
|
|
6
|
+
}
|
|
7
|
+
function isGoogleGemini3FlashModel(modelId) {
|
|
8
|
+
const normalized = normalizeLowercaseStringOrEmpty(modelId);
|
|
9
|
+
return /(?:^|\/)gemini-(?:3(?:\.\d+)?-flash|flash(?:-lite)?-latest)(?:-|$)/.test(normalized);
|
|
10
|
+
}
|
|
11
|
+
function isGoogleGemini3ThinkingLevelModel(modelId) {
|
|
12
|
+
return isGoogleGemini3ProModel(modelId) || isGoogleGemini3FlashModel(modelId);
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { isGoogleGemini3FlashModel, isGoogleGemini3ProModel, isGoogleGemini3ThinkingLevelModel };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { c as
|
|
2
|
-
import { i as resolveOpenAIResponsesServerCompactionPlan } from "../openai-responses-payload-policy-rLRPsSmB.mjs";
|
|
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-BjBAqAg_.mjs";
|
|
2
|
+
import { i as resolveOpenAIResponsesServerCompactionPlan, r as resolveOpenAIResponsesPayloadPolicy } from "../openai-responses-payload-policy-rLRPsSmB.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-DDOHA62Y.mjs";
|
|
2
|
+
import { c as resolveOpenAIResponsesServerCompactionPlan, r as readOpenAIResponsesCompactionWindow, s as resolveOpenAIResponsesPayloadPolicy } from "../openai-responses-compaction-window-CIhBAkkq.mjs";
|
|
3
|
+
export { OPENAI_RESPONSES_APIS, readOpenAIResponsesCompactionWindow, resolveOpenAIResponsesPayloadPolicy, resolveOpenAIResponsesServerCompactionPlan };
|