From f5cdf0f056fb4be181b44e3a6517bef57ed762cf Mon Sep 17 00:00:00 2001 From: Shoubhit Dash Date: Wed, 29 Jul 2026 18:21:19 +0530 Subject: [PATCH] feat(ai): type Anthropic request options (#39502) --- packages/ai/src/providers/anthropic.ts | 5 ++++- .../ai/test/provider-options/anthropic.types.ts | 13 +++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 packages/ai/test/provider-options/anthropic.types.ts diff --git a/packages/ai/src/providers/anthropic.ts b/packages/ai/src/providers/anthropic.ts index eb175ec50c6..d8e57be1b3f 100644 --- a/packages/ai/src/providers/anthropic.ts +++ b/packages/ai/src/providers/anthropic.ts @@ -52,7 +52,10 @@ export const configure = (input: Config = {}) => { } export const provider = configure() -export const model: ProviderPackage.Definition["model"] = (modelID, settings) => { +export const model: ProviderPackage.Definition["model"] = ( + modelID, + settings, +) => { if (settings.apiKey !== undefined && settings.authToken !== undefined) throw new Error("Anthropic apiKey cannot be combined with authToken") return configure({ diff --git a/packages/ai/test/provider-options/anthropic.types.ts b/packages/ai/test/provider-options/anthropic.types.ts new file mode 100644 index 00000000000..2d6c1040946 --- /dev/null +++ b/packages/ai/test/provider-options/anthropic.types.ts @@ -0,0 +1,13 @@ +import { LLM } from "../../src" +import { Anthropic } from "../../src/providers" + +const model = Anthropic.provider.model("claude-sonnet-4-5") + +LLM.request({ model, prompt: "Hello", providerOptions: { anthropic: { thinking: { type: "adaptive" } } } }) + +LLM.request({ + model, + prompt: "Hello", + // @ts-expect-error Anthropic thinking modes are a fixed union. + providerOptions: { anthropic: { thinking: { type: "automatic" } } }, +})