@providerkit/core 0.15.0 → 0.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -107,6 +107,9 @@ id, so pass `sessionId` with each call (the conversation or job id). A call with
|
|
|
107
107
|
uses a random id the provider keeps for its whole life. Keep one provider alive across
|
|
108
108
|
calls, so it remembers which models are spent.
|
|
109
109
|
|
|
110
|
+
Go also asks each client to send its own user agent, not the runtime's default. Pass
|
|
111
|
+
`headers: { "user-agent": "my-app" }`, and add it to each Go entry in `fallbacks` too.
|
|
112
|
+
|
|
110
113
|
**Full documentation lives at [providerkit.dev](https://providerkit.dev)** — it is the single
|
|
111
114
|
source of truth for usage, and this README deliberately stays a front door so the two cannot
|
|
112
115
|
drift.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAMA,OAAO,EAA2B,KAAK,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACtF,OAAO,KAAK,EAEV,WAAW,EAEX,MAAM,EAEN,QAAQ,EAIT,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,eAAgB,SAAQ,sBAAsB;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd;wCACoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;uEAEmE;IACnE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB;wEACoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;8BAC0B;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;;;2CAQuC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAMA,OAAO,EAA2B,KAAK,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACtF,OAAO,KAAK,EAEV,WAAW,EAEX,MAAM,EAEN,QAAQ,EAIT,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,eAAgB,SAAQ,sBAAsB;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd;wCACoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;uEAEmE;IACnE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB;wEACoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;8BAC0B;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;;;2CAQuC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAkMD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,QAAQ,SAAc,GACrB;IACD,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;IACnB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB,CAqDA;AA2BD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,eAAe,GAAG,QAAQ,CAmNzE"}
|
|
@@ -21,7 +21,9 @@ const THINKING_BUDGET = {
|
|
|
21
21
|
high: 16_384,
|
|
22
22
|
max: 32_768,
|
|
23
23
|
};
|
|
24
|
-
const ALWAYS_ON = { none: "low", sampling: false };
|
|
24
|
+
const ALWAYS_ON = { none: "low", sampling: false, forcedTool: true };
|
|
25
|
+
/** Always on, and a forced tool choice is a 400: the 5.1 and 5.5 models. */
|
|
26
|
+
const LATEST = { ...ALWAYS_ON, forcedTool: false };
|
|
25
27
|
/**
|
|
26
28
|
* Claude models that take adaptive thinking, keyed by id. A graded effort is
|
|
27
29
|
* said the same way on all of them — `thinking: { type: "adaptive" }` plus
|
|
@@ -34,6 +36,10 @@ const ALWAYS_ON = { none: "low", sampling: false };
|
|
|
34
36
|
* `sampling: false` marks the models where a non-default temperature, top_p or
|
|
35
37
|
* top_k is a 400 on every request, thinking or not. Documented on the same date
|
|
36
38
|
* (…/build-with-claude/thinking, "Sampling parameters").
|
|
39
|
+
*
|
|
40
|
+
* `forcedTool: false` marks the models that "reject forced tool use on every
|
|
41
|
+
* request with a 400 error" (same page, "Response prefill and forced tool use",
|
|
42
|
+
* read 2026-10-01). Every other model here takes it with adaptive thinking.
|
|
37
43
|
*/
|
|
38
44
|
const CLAUDE_THINKING = new Map([
|
|
39
45
|
// Always on: `enabled` and `disabled` are both 400s (Mythos Preview still
|
|
@@ -41,12 +47,17 @@ const CLAUDE_THINKING = new Map([
|
|
|
41
47
|
// effort rather than silence, because silence runs the model's own default —
|
|
42
48
|
// `high`, or `medium` on Opus 5.5 — which is the request `none` exists to
|
|
43
49
|
// refuse (invariant 12).
|
|
44
|
-
["claude-fable-5-1",
|
|
45
|
-
["claude-mythos-5-1",
|
|
50
|
+
["claude-fable-5-1", LATEST],
|
|
51
|
+
["claude-mythos-5-1", LATEST],
|
|
52
|
+
["claude-opus-5-5", LATEST],
|
|
46
53
|
["claude-fable-5", ALWAYS_ON],
|
|
47
54
|
["claude-mythos-5", ALWAYS_ON],
|
|
48
55
|
["claude-mythos-preview", ALWAYS_ON],
|
|
49
|
-
|
|
56
|
+
// On by default, and `disabled` is a 400. `between_tools` is its lowest
|
|
57
|
+
// setting: no thinking up front, at effort high or below — and high is this
|
|
58
|
+
// model's default, so it needs no effort beside it (effort page, read
|
|
59
|
+
// 2026-10-01). It is also the one field it takes.
|
|
60
|
+
["claude-sonnet-5-5", { ...LATEST, none: "between_tools" }],
|
|
50
61
|
// On by default, and `disabled` is accepted at effort high or below. `none`
|
|
51
62
|
// still says `low`: with thinking disabled, Opus 5 occasionally writes a tool
|
|
52
63
|
// call into its visible text instead of a tool_use block, most often on
|
|
@@ -57,16 +68,16 @@ const CLAUDE_THINKING = new Map([
|
|
|
57
68
|
// thinking on a turn it judges simple.
|
|
58
69
|
["claude-opus-5", ALWAYS_ON],
|
|
59
70
|
// On by default; `disabled` is accepted, with no such warning attached.
|
|
60
|
-
["claude-sonnet-5", { none: "disabled", sampling: false }],
|
|
71
|
+
["claude-sonnet-5", { none: "disabled", sampling: false, forcedTool: true }],
|
|
61
72
|
// Off by default, so saying nothing already is none.
|
|
62
|
-
["claude-opus-4-8", { none: "omit", sampling: false }],
|
|
63
|
-
["claude-opus-4-7", { none: "omit", sampling: false }],
|
|
73
|
+
["claude-opus-4-8", { none: "omit", sampling: false, forcedTool: true }],
|
|
74
|
+
["claude-opus-4-7", { none: "omit", sampling: false, forcedTool: true }],
|
|
64
75
|
// These still take `budget_tokens`, deprecated. Adaptive is the mode the docs
|
|
65
76
|
// say to use where both exist, and it drops extended mode's rule that the
|
|
66
77
|
// final assistant turn open with a thinking block — which this adapter,
|
|
67
78
|
// replaying no thinking, can never satisfy.
|
|
68
|
-
["claude-opus-4-6", { none: "omit", sampling: true }],
|
|
69
|
-
["claude-sonnet-4-6", { none: "omit", sampling: true }],
|
|
79
|
+
["claude-opus-4-6", { none: "omit", sampling: true, forcedTool: true }],
|
|
80
|
+
["claude-sonnet-4-6", { none: "omit", sampling: true, forcedTool: true }],
|
|
70
81
|
]);
|
|
71
82
|
/** Claude 4.5 and everything before it: extended thinking only (`adaptive` is
|
|
72
83
|
* a 400), off by default. The budget dialect below was written for these. */
|
|
@@ -81,8 +92,9 @@ const CLAUDE_EXTENDED_ONLY = /^claude-(3-|(opus|sonnet|haiku)-4(-[0-5])?$)/;
|
|
|
81
92
|
* rejects `enabled`; the newest reject `disabled` too; and `output_config.effort`
|
|
82
93
|
* is accepted by every model that thinks adaptively. So an unknown id gets the
|
|
83
94
|
* one request none of them has refused, and no sampling fields, since every
|
|
84
|
-
* Claude since Opus 4.7 answers a non-default one with a 400.
|
|
85
|
-
*
|
|
95
|
+
* Claude since Opus 4.7 answers a non-default one with a 400. Nor a forced tool
|
|
96
|
+
* choice, which the newest refuse and an unforced request never trips. A model
|
|
97
|
+
* that turns out to differ will say so with a 400 of its own, and earn a row.
|
|
86
98
|
*/
|
|
87
99
|
function claudeThinking(model) {
|
|
88
100
|
if (!model.startsWith("claude-"))
|
|
@@ -90,7 +102,7 @@ function claudeThinking(model) {
|
|
|
90
102
|
const family = model.replace(/-\d{8}$/, ""); // a dated snapshot is its family
|
|
91
103
|
if (CLAUDE_EXTENDED_ONLY.test(family))
|
|
92
104
|
return undefined;
|
|
93
|
-
return CLAUDE_THINKING.get(family) ??
|
|
105
|
+
return CLAUDE_THINKING.get(family) ?? LATEST;
|
|
94
106
|
}
|
|
95
107
|
/** Whether a request continues a tool loop: its last assistant message made
|
|
96
108
|
* tool calls, so the request carries their results inside the same turn. */
|
|
@@ -250,14 +262,24 @@ export function createAnthropicProvider(config) {
|
|
|
250
262
|
request.top_p = opts.topP;
|
|
251
263
|
if (opts.stopSequences?.length)
|
|
252
264
|
request.stop_sequences = opts.stopSequences;
|
|
253
|
-
|
|
254
|
-
|
|
265
|
+
const claude = claudeThinking(model);
|
|
266
|
+
const forcesTool = opts.toolChoice === "required" || typeof opts.toolChoice === "object";
|
|
267
|
+
// A model that refuses a forced tool choice gets `auto` instead, which is
|
|
268
|
+
// the docs' own advice, and a named tool becomes the only tool it is
|
|
269
|
+
// offered. Sending the choice anyway is a 400 on every request.
|
|
270
|
+
// ponytail: the model may still answer in text. The upgrade is strict
|
|
271
|
+
// tool use or structured outputs, which the docs pair with `auto`.
|
|
272
|
+
const unforced = forcesTool && claude?.forcedTool === false;
|
|
273
|
+
const named = typeof opts.toolChoice === "object" ? opts.toolChoice.name : undefined;
|
|
274
|
+
const offered = unforced && named !== undefined ? tools.filter((tool) => tool.name === named) : tools;
|
|
275
|
+
if (offered.length > 0) {
|
|
276
|
+
request.tools = offered.map((tool) => ({
|
|
255
277
|
name: tool.name,
|
|
256
278
|
description: tool.description,
|
|
257
279
|
input_schema: toAnthropicToolSchema(tool.inputSchema),
|
|
258
280
|
}));
|
|
259
281
|
}
|
|
260
|
-
if (opts.toolChoice && opts.toolChoice !== "auto") {
|
|
282
|
+
if (opts.toolChoice && opts.toolChoice !== "auto" && !unforced) {
|
|
261
283
|
request.tool_choice =
|
|
262
284
|
opts.toolChoice === "none"
|
|
263
285
|
? { type: "none" }
|
|
@@ -265,7 +287,6 @@ export function createAnthropicProvider(config) {
|
|
|
265
287
|
? { type: "any" }
|
|
266
288
|
: { type: "tool", name: opts.toolChoice.name };
|
|
267
289
|
}
|
|
268
|
-
const claude = claudeThinking(model);
|
|
269
290
|
// Extended mode, which is all Claude 4.5 and older have, can't think on
|
|
270
291
|
// two kinds of request this adapter sends, so those run without thinking.
|
|
271
292
|
// Documented (Anthropic Thinking page, read 2026-09-27):
|
|
@@ -278,7 +299,6 @@ export function createAnthropicProvider(config) {
|
|
|
278
299
|
// manual extended thinking." The caller asked for the tool, so it wins.
|
|
279
300
|
// ponytail: every loop step after the first goes unthought on these
|
|
280
301
|
// models. The upgrade is replaying the signed thinking blocks.
|
|
281
|
-
const forcesTool = opts.toolChoice === "required" || typeof opts.toolChoice === "object";
|
|
282
302
|
const unthought = !claude && model.startsWith("claude-") && (forcesTool || continuesToolLoop(messages));
|
|
283
303
|
if (claude) {
|
|
284
304
|
// An effort the caller never set sends nothing: the model keeps its own
|
|
@@ -286,6 +306,8 @@ export function createAnthropicProvider(config) {
|
|
|
286
306
|
if (effort === "none") {
|
|
287
307
|
if (claude.none === "disabled")
|
|
288
308
|
request.thinking = { type: "disabled" };
|
|
309
|
+
if (claude.none === "between_tools")
|
|
310
|
+
request.thinking = { type: "between_tools" };
|
|
289
311
|
if (claude.none === "low")
|
|
290
312
|
request.output_config = { effort: "low" };
|
|
291
313
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAA+B,MAAM,gBAAgB,CAAC;AA0DtF,MAAM,gBAAgB,GAAG,2BAA2B,CAAC;AACrD,MAAM,eAAe,GAAG,YAAY,CAAC;AACrC,6EAA6E;AAC7E,MAAM,kBAAkB,GAAG,KAAK,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,eAAe,GAA4C;IAC/D,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,MAAM;CACZ,CAAC;AAWF,MAAM,SAAS,GAAmB,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAEnE;;;;;;;;;;;;GAYG;AACH,MAAM,eAAe,GAAwC,IAAI,GAAG,CAAC;IACnE,0EAA0E;IAC1E,wEAAwE;IACxE,6EAA6E;IAC7E,0EAA0E;IAC1E,yBAAyB;IACzB,CAAC,kBAAkB,EAAE,SAAS,CAAC;IAC/B,CAAC,mBAAmB,EAAE,SAAS,CAAC;IAChC,CAAC,gBAAgB,EAAE,SAAS,CAAC;IAC7B,CAAC,iBAAiB,EAAE,SAAS,CAAC;IAC9B,CAAC,uBAAuB,EAAE,SAAS,CAAC;IACpC,CAAC,iBAAiB,EAAE,SAAS,CAAC;IAC9B,4EAA4E;IAC5E,8EAA8E;IAC9E,wEAAwE;IACxE,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,uEAAuE;IACvE,uCAAuC;IACvC,CAAC,eAAe,EAAE,SAAS,CAAC;IAC5B,wEAAwE;IACxE,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC1D,qDAAqD;IACrD,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACtD,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACtD,8EAA8E;IAC9E,0EAA0E;IAC1E,wEAAwE;IACxE,4CAA4C;IAC5C,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACrD,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CACxD,CAAC,CAAC;AAEH;8EAC8E;AAC9E,MAAM,oBAAoB,GAAG,8CAA8C,CAAC;AAE5E;;;;;;;;;;;;GAYG;AACH,SAAS,cAAc,CAAC,KAAa;IACnC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACnD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,iCAAiC;IAC9E,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IACxD,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC;AAClD,CAAC;AAED;6EAC6E;AAC7E,SAAS,iBAAiB,CAAC,QAAgC;IACzD,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,OAAO,EAAE,IAAI,KAAK,WAAW;YAAE,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,MAA0B;IAC/C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,UAAU,CAAC;QAChB,KAAK,eAAe;YAClB,OAAO,MAAM,CAAC;QAChB,KAAK,UAAU;YACb,OAAO,YAAY,CAAC;QACtB,KAAK,YAAY;YACf,OAAO,QAAQ,CAAC;QAClB,KAAK,SAAS;YACZ,OAAO,gBAAgB,CAAC;QAC1B;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA+B,EAAE,QAAgB;IACzE,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1E,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACnE,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,MAAM,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QACzE,OAAO;YACL,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;SACvE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH;;;;;;;;;;;;GAYG;AACH,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3F,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,SAAS,CAAC,IAAgB;IACjC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,QAAgC,EAChC,QAAQ,GAAG,WAAW;IAKtB,MAAM,MAAM,GAAG,QAAQ;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;SAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;SACrB,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhB,MAAM,GAAG,GAA2C,EAAE,CAAC;IACvD,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,MAAiB,EAAE,EAAE;QACrD,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,IAAI,IAAI,EAAE,IAAI,KAAK,IAAI;YAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;;YACjD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QACxC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;YAChE,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,UAAU,CAAC,MAAM,EAAE;gBACjB;oBACE,IAAI,EAAE,aAAa;oBACnB,WAAW,EAAE,OAAO,CAAC,UAAU;oBAC/B,OAAO,EAAE;wBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE;wBACvC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;4BACxC,IAAI,EAAE,OAAO;4BACb,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;yBACzE,CAAC,CAAC;qBACJ;iBACF;aACF,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,0EAA0E;QAC1E,qEAAqE;QACrE,yBAAyB;QACzB,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,OAAO;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1E,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,UAAU;gBAChB,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;aACrC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;AAClE,CAAC;AA2BD,MAAM,UAAU,uBAAuB,CAAC,MAAuB;IAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,gBAAgB,CAAC;IACnD,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,IAAI,WAAW,CAAC;IAEpC,MAAM,QAAQ,GAAa;QACzB,EAAE;QACF,KAAK,EAAE,MAAM,CAAC,KAAK;QAEnB,KAAK,CAAC,CAAC,YAAY,CACjB,QAAuB,EACvB,KAAuB,EACvB,OAAsB,EAAE;YAExB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;YACzC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,IAAI,kBAAkB,CAAC;YAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;YAC5C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAErE,MAAM,OAAO,GAA4B;gBACvC,KAAK;gBACL,UAAU,EAAE,SAAS;gBACrB,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,IAAI;aACb,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAClF,IAAI,UAAU,EAAE,MAAM;gBAAE,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC;YACpD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;gBAAE,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YAC3E,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;gBAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;YACvD,IAAI,IAAI,CAAC,aAAa,EAAE,MAAM;gBAAE,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;YAC5E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACnC,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,YAAY,EAAE,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC;iBACtD,CAAC,CAAC,CAAC;YACN,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;gBAClD,OAAO,CAAC,WAAW;oBACjB,IAAI,CAAC,UAAU,KAAK,MAAM;wBACxB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;wBAClB,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU;4BAC9B,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE;4BACjB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACvD,CAAC;YACD,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YACrC,wEAAwE;YACxE,0EAA0E;YAC1E,yDAAyD;YACzD,yEAAyE;YACzE,2EAA2E;YAC3E,2EAA2E;YAC3E,uDAAuD;YACvD,wEAAwE;YACxE,2EAA2E;YAC3E,0EAA0E;YAC1E,oEAAoE;YACpE,+DAA+D;YAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,KAAK,UAAU,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC;YACzF,MAAM,SAAS,GACb,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxF,IAAI,MAAM,EAAE,CAAC;gBACX,wEAAwE;gBACxE,kDAAkD;gBAClD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;oBACtB,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;wBAAE,OAAO,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;oBACxE,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK;wBAAE,OAAO,CAAC,aAAa,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;gBACvE,CAAC;qBAAM,IAAI,MAAM,EAAE,CAAC;oBAClB,OAAO,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;oBACxC,OAAO,CAAC,aAAa,GAAG,EAAE,MAAM,EAAE,CAAC;gBACrC,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM,CAAC;gBAC3D,IAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACjC,OAAO,OAAO,CAAC,WAAW,CAAC;oBAC3B,OAAO,OAAO,CAAC,KAAK,CAAC;gBACvB,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBACrD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC;gBAC9E,OAAO,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;gBAC9D,8DAA8D;gBAC9D,OAAO,OAAO,CAAC,WAAW,CAAC;gBAC3B,OAAO,OAAO,CAAC,KAAK,CAAC;YACvB,CAAC;iBAAM,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBAC/B,qEAAqE;gBACrE,oEAAoE;gBACpE,mEAAmE;gBACnE,OAAO,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YAC1C,CAAC;YAED,mEAAmE;YACnE,yEAAyE;YACzE,yEAAyE;YACzE,qEAAqE;YACrE,IAAI,gBAAgB,GAAG,CAAC,CAAC;YACzB,IAAI,iBAAiB,GAAG,CAAC,CAAC;YAC1B,IAAI,gBAAgB,GAAG,CAAC,CAAC;YACzB,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,QAAQ,GAAuD,IAAI,CAAC;YACxE,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC;YAEpB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,SAAS,CAAC;gBACjC,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC;gBACpC,OAAO,EAAE;oBACP,mBAAmB,EAAE,MAAM,CAAC,OAAO,IAAI,eAAe;oBACtD,GAAG,CAAC,MAAM,CAAC,MAAM;wBACf,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE,EAAE;wBAC9C,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;oBACnC,GAAG,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC;oBAC7C,GAAG,MAAM,CAAC,OAAO;iBAClB;gBACD,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,EAAE;gBACZ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/C,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7D,CAAC,EAAE,CAAC;gBACH,IAAI,KAAqB,CAAC;gBAC1B,IAAI,CAAC;oBACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAmB,CAAC;gBAC7C,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS,CAAC,0CAA0C;gBACtD,CAAC;gBAED,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;oBACnB,uEAAuE;oBACvE,uEAAuE;oBACvE,uEAAuE;oBACvE,mEAAmE;oBACnE,KAAK,OAAO;wBACV,MAAM,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;oBAErC,KAAK,eAAe,CAAC,CAAC,CAAC;wBACrB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC;wBACnC,iBAAiB,GAAG,KAAK,EAAE,uBAAuB,IAAI,CAAC,CAAC;wBACxD,gBAAgB,GAAG,KAAK,EAAE,2BAA2B,IAAI,CAAC,CAAC;wBAC3D,gBAAgB,GAAG,KAAK,EAAE,YAAY,IAAI,CAAC,CAAC;wBAC5C,MAAM;oBACR,CAAC;oBAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;wBAC3B,UAAU,IAAI,CAAC,CAAC;wBAChB,IAAI,KAAK,CAAC,aAAa,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;4BAC7C,QAAQ,GAAG;gCACT,KAAK,EAAE,UAAU;gCACjB,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE;gCAChC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE;6BACrC,CAAC;4BACF,MAAM;gCACJ,IAAI,EAAE,OAAO;gCACb,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;6BAC7E,CAAC;wBACJ,CAAC;wBACD,MAAM;oBACR,CAAC;oBAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;wBAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;wBAC1B,IAAI,KAAK,EAAE,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;4BAC/C,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;wBAC/C,CAAC;6BAAM,IAAI,KAAK,EAAE,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;4BAC9D,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACrD,CAAC;6BAAM,IAAI,KAAK,EAAE,IAAI,KAAK,kBAAkB,IAAI,QAAQ,EAAE,CAAC;4BAC1D,MAAM;gCACJ,IAAI,EAAE,OAAO;gCACb,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;6BAC5E,CAAC;wBACJ,CAAC;wBACD,MAAM;oBACR,CAAC;oBAED,KAAK,oBAAoB;wBACvB,QAAQ,GAAG,IAAI,CAAC;wBAChB,MAAM;oBAER,KAAK,eAAe,CAAC,CAAC,CAAC;wBACrB,sEAAsE;wBACtE,kEAAkE;wBAClE,yEAAyE;wBACzE,gBAAgB,GAAG,KAAK,CAAC,KAAK,EAAE,YAAY,IAAI,gBAAgB,CAAC;wBACjE,iBAAiB,GAAG,KAAK,CAAC,KAAK,EAAE,uBAAuB,IAAI,iBAAiB,CAAC;wBAC9E,gBAAgB,GAAG,KAAK,CAAC,KAAK,EAAE,2BAA2B,IAAI,gBAAgB,CAAC;wBAChF,YAAY,GAAG,KAAK,CAAC,KAAK,EAAE,aAAa,IAAI,YAAY,CAAC;wBAC1D,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;wBAC7D,IAAI,YAAY;4BAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;wBACzD,MAAM;oBACR,CAAC;oBAED,KAAK,cAAc;wBACjB,MAAM;4BACJ,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE;gCACL,WAAW,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,gBAAgB;gCACpE,iBAAiB;gCACjB,gBAAgB;gCAChB,YAAY;6BACb;yBACF,CAAC;wBACF,MAAM;gBACV,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;IACF,OAAO,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACnD,CAAC"}
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@providerkit/core",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.1",
|
|
4
4
|
"description": "The layer under your agent loop: one seam for every LLM provider, plus the failure handling you only learn in production.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
],
|
|
47
47
|
"scripts": {
|
|
48
48
|
"build": "tsc",
|
|
49
|
-
"typecheck": "tsc --noEmit",
|
|
49
|
+
"typecheck": "tsc --noEmit && tsc -p test",
|
|
50
50
|
"test": "vitest run",
|
|
51
51
|
"test:watch": "vitest",
|
|
52
52
|
"lint": "eslint src test",
|
|
@@ -82,14 +82,19 @@ const THINKING_BUDGET: Record<Exclude<Effort, "none">, number> = {
|
|
|
82
82
|
|
|
83
83
|
/** How one Claude model that thinks adaptively takes `effort`. */
|
|
84
84
|
interface ClaudeThinking {
|
|
85
|
-
/** How `effort: "none"` is said: nothing, an explicit off,
|
|
86
|
-
* effort where there is no off
|
|
87
|
-
none: "omit" | "disabled" | "low";
|
|
85
|
+
/** How `effort: "none"` is said: nothing, an explicit off, an off for
|
|
86
|
+
* up-front thinking only, or the lowest effort where there is no off. */
|
|
87
|
+
none: "omit" | "disabled" | "between_tools" | "low";
|
|
88
88
|
/** Whether a non-default temperature or top_p survives while thinking is off. */
|
|
89
89
|
sampling: boolean;
|
|
90
|
+
/** Whether a tool choice that forces a tool (`any`, or one named tool) is
|
|
91
|
+
* accepted. Where it is not, it is a 400 on every request. */
|
|
92
|
+
forcedTool: boolean;
|
|
90
93
|
}
|
|
91
94
|
|
|
92
|
-
const ALWAYS_ON: ClaudeThinking = { none: "low", sampling: false };
|
|
95
|
+
const ALWAYS_ON: ClaudeThinking = { none: "low", sampling: false, forcedTool: true };
|
|
96
|
+
/** Always on, and a forced tool choice is a 400: the 5.1 and 5.5 models. */
|
|
97
|
+
const LATEST: ClaudeThinking = { ...ALWAYS_ON, forcedTool: false };
|
|
93
98
|
|
|
94
99
|
/**
|
|
95
100
|
* Claude models that take adaptive thinking, keyed by id. A graded effort is
|
|
@@ -103,6 +108,10 @@ const ALWAYS_ON: ClaudeThinking = { none: "low", sampling: false };
|
|
|
103
108
|
* `sampling: false` marks the models where a non-default temperature, top_p or
|
|
104
109
|
* top_k is a 400 on every request, thinking or not. Documented on the same date
|
|
105
110
|
* (…/build-with-claude/thinking, "Sampling parameters").
|
|
111
|
+
*
|
|
112
|
+
* `forcedTool: false` marks the models that "reject forced tool use on every
|
|
113
|
+
* request with a 400 error" (same page, "Response prefill and forced tool use",
|
|
114
|
+
* read 2026-10-01). Every other model here takes it with adaptive thinking.
|
|
106
115
|
*/
|
|
107
116
|
const CLAUDE_THINKING: ReadonlyMap<string, ClaudeThinking> = new Map([
|
|
108
117
|
// Always on: `enabled` and `disabled` are both 400s (Mythos Preview still
|
|
@@ -110,12 +119,17 @@ const CLAUDE_THINKING: ReadonlyMap<string, ClaudeThinking> = new Map([
|
|
|
110
119
|
// effort rather than silence, because silence runs the model's own default —
|
|
111
120
|
// `high`, or `medium` on Opus 5.5 — which is the request `none` exists to
|
|
112
121
|
// refuse (invariant 12).
|
|
113
|
-
["claude-fable-5-1",
|
|
114
|
-
["claude-mythos-5-1",
|
|
122
|
+
["claude-fable-5-1", LATEST],
|
|
123
|
+
["claude-mythos-5-1", LATEST],
|
|
124
|
+
["claude-opus-5-5", LATEST],
|
|
115
125
|
["claude-fable-5", ALWAYS_ON],
|
|
116
126
|
["claude-mythos-5", ALWAYS_ON],
|
|
117
127
|
["claude-mythos-preview", ALWAYS_ON],
|
|
118
|
-
|
|
128
|
+
// On by default, and `disabled` is a 400. `between_tools` is its lowest
|
|
129
|
+
// setting: no thinking up front, at effort high or below — and high is this
|
|
130
|
+
// model's default, so it needs no effort beside it (effort page, read
|
|
131
|
+
// 2026-10-01). It is also the one field it takes.
|
|
132
|
+
["claude-sonnet-5-5", { ...LATEST, none: "between_tools" }],
|
|
119
133
|
// On by default, and `disabled` is accepted at effort high or below. `none`
|
|
120
134
|
// still says `low`: with thinking disabled, Opus 5 occasionally writes a tool
|
|
121
135
|
// call into its visible text instead of a tool_use block, most often on
|
|
@@ -126,16 +140,16 @@ const CLAUDE_THINKING: ReadonlyMap<string, ClaudeThinking> = new Map([
|
|
|
126
140
|
// thinking on a turn it judges simple.
|
|
127
141
|
["claude-opus-5", ALWAYS_ON],
|
|
128
142
|
// On by default; `disabled` is accepted, with no such warning attached.
|
|
129
|
-
["claude-sonnet-5", { none: "disabled", sampling: false }],
|
|
143
|
+
["claude-sonnet-5", { none: "disabled", sampling: false, forcedTool: true }],
|
|
130
144
|
// Off by default, so saying nothing already is none.
|
|
131
|
-
["claude-opus-4-8", { none: "omit", sampling: false }],
|
|
132
|
-
["claude-opus-4-7", { none: "omit", sampling: false }],
|
|
145
|
+
["claude-opus-4-8", { none: "omit", sampling: false, forcedTool: true }],
|
|
146
|
+
["claude-opus-4-7", { none: "omit", sampling: false, forcedTool: true }],
|
|
133
147
|
// These still take `budget_tokens`, deprecated. Adaptive is the mode the docs
|
|
134
148
|
// say to use where both exist, and it drops extended mode's rule that the
|
|
135
149
|
// final assistant turn open with a thinking block — which this adapter,
|
|
136
150
|
// replaying no thinking, can never satisfy.
|
|
137
|
-
["claude-opus-4-6", { none: "omit", sampling: true }],
|
|
138
|
-
["claude-sonnet-4-6", { none: "omit", sampling: true }],
|
|
151
|
+
["claude-opus-4-6", { none: "omit", sampling: true, forcedTool: true }],
|
|
152
|
+
["claude-sonnet-4-6", { none: "omit", sampling: true, forcedTool: true }],
|
|
139
153
|
]);
|
|
140
154
|
|
|
141
155
|
/** Claude 4.5 and everything before it: extended thinking only (`adaptive` is
|
|
@@ -152,14 +166,15 @@ const CLAUDE_EXTENDED_ONLY = /^claude-(3-|(opus|sonnet|haiku)-4(-[0-5])?$)/;
|
|
|
152
166
|
* rejects `enabled`; the newest reject `disabled` too; and `output_config.effort`
|
|
153
167
|
* is accepted by every model that thinks adaptively. So an unknown id gets the
|
|
154
168
|
* one request none of them has refused, and no sampling fields, since every
|
|
155
|
-
* Claude since Opus 4.7 answers a non-default one with a 400.
|
|
156
|
-
*
|
|
169
|
+
* Claude since Opus 4.7 answers a non-default one with a 400. Nor a forced tool
|
|
170
|
+
* choice, which the newest refuse and an unforced request never trips. A model
|
|
171
|
+
* that turns out to differ will say so with a 400 of its own, and earn a row.
|
|
157
172
|
*/
|
|
158
173
|
function claudeThinking(model: string): ClaudeThinking | undefined {
|
|
159
174
|
if (!model.startsWith("claude-")) return undefined;
|
|
160
175
|
const family = model.replace(/-\d{8}$/, ""); // a dated snapshot is its family
|
|
161
176
|
if (CLAUDE_EXTENDED_ONLY.test(family)) return undefined;
|
|
162
|
-
return CLAUDE_THINKING.get(family) ??
|
|
177
|
+
return CLAUDE_THINKING.get(family) ?? LATEST;
|
|
163
178
|
}
|
|
164
179
|
|
|
165
180
|
/** Whether a request continues a tool loop: its last assistant message made
|
|
@@ -354,14 +369,25 @@ export function createAnthropicProvider(config: AnthropicConfig): Provider {
|
|
|
354
369
|
if (opts.temperature !== undefined) request.temperature = opts.temperature;
|
|
355
370
|
if (opts.topP !== undefined) request.top_p = opts.topP;
|
|
356
371
|
if (opts.stopSequences?.length) request.stop_sequences = opts.stopSequences;
|
|
357
|
-
|
|
358
|
-
|
|
372
|
+
const claude = claudeThinking(model);
|
|
373
|
+
const forcesTool = opts.toolChoice === "required" || typeof opts.toolChoice === "object";
|
|
374
|
+
// A model that refuses a forced tool choice gets `auto` instead, which is
|
|
375
|
+
// the docs' own advice, and a named tool becomes the only tool it is
|
|
376
|
+
// offered. Sending the choice anyway is a 400 on every request.
|
|
377
|
+
// ponytail: the model may still answer in text. The upgrade is strict
|
|
378
|
+
// tool use or structured outputs, which the docs pair with `auto`.
|
|
379
|
+
const unforced = forcesTool && claude?.forcedTool === false;
|
|
380
|
+
const named = typeof opts.toolChoice === "object" ? opts.toolChoice.name : undefined;
|
|
381
|
+
const offered =
|
|
382
|
+
unforced && named !== undefined ? tools.filter((tool) => tool.name === named) : tools;
|
|
383
|
+
if (offered.length > 0) {
|
|
384
|
+
request.tools = offered.map((tool) => ({
|
|
359
385
|
name: tool.name,
|
|
360
386
|
description: tool.description,
|
|
361
387
|
input_schema: toAnthropicToolSchema(tool.inputSchema),
|
|
362
388
|
}));
|
|
363
389
|
}
|
|
364
|
-
if (opts.toolChoice && opts.toolChoice !== "auto") {
|
|
390
|
+
if (opts.toolChoice && opts.toolChoice !== "auto" && !unforced) {
|
|
365
391
|
request.tool_choice =
|
|
366
392
|
opts.toolChoice === "none"
|
|
367
393
|
? { type: "none" }
|
|
@@ -369,7 +395,6 @@ export function createAnthropicProvider(config: AnthropicConfig): Provider {
|
|
|
369
395
|
? { type: "any" }
|
|
370
396
|
: { type: "tool", name: opts.toolChoice.name };
|
|
371
397
|
}
|
|
372
|
-
const claude = claudeThinking(model);
|
|
373
398
|
// Extended mode, which is all Claude 4.5 and older have, can't think on
|
|
374
399
|
// two kinds of request this adapter sends, so those run without thinking.
|
|
375
400
|
// Documented (Anthropic Thinking page, read 2026-09-27):
|
|
@@ -382,7 +407,6 @@ export function createAnthropicProvider(config: AnthropicConfig): Provider {
|
|
|
382
407
|
// manual extended thinking." The caller asked for the tool, so it wins.
|
|
383
408
|
// ponytail: every loop step after the first goes unthought on these
|
|
384
409
|
// models. The upgrade is replaying the signed thinking blocks.
|
|
385
|
-
const forcesTool = opts.toolChoice === "required" || typeof opts.toolChoice === "object";
|
|
386
410
|
const unthought =
|
|
387
411
|
!claude && model.startsWith("claude-") && (forcesTool || continuesToolLoop(messages));
|
|
388
412
|
if (claude) {
|
|
@@ -390,6 +414,7 @@ export function createAnthropicProvider(config: AnthropicConfig): Provider {
|
|
|
390
414
|
// default, which on most of these is thinking ON.
|
|
391
415
|
if (effort === "none") {
|
|
392
416
|
if (claude.none === "disabled") request.thinking = { type: "disabled" };
|
|
417
|
+
if (claude.none === "between_tools") request.thinking = { type: "between_tools" };
|
|
393
418
|
if (claude.none === "low") request.output_config = { effort: "low" };
|
|
394
419
|
} else if (effort) {
|
|
395
420
|
request.thinking = { type: "adaptive" };
|