diff --git a/packages/ai/src/providers/anthropic-compatible.ts b/packages/ai/src/providers/anthropic-compatible.ts index 56cc7cee32..93d1bac048 100644 --- a/packages/ai/src/providers/anthropic-compatible.ts +++ b/packages/ai/src/providers/anthropic-compatible.ts @@ -47,7 +47,7 @@ export const configure = (input: Config) => { }) return { id: ProviderID.make(provider), - model: (modelID: string | ModelID) => route.model({ id: modelID }), + model: (modelID: string | ModelID) => route.model({ id: modelID }), configure, } } @@ -57,7 +57,10 @@ 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-compatible apiKey cannot be combined with authToken") return configure({ diff --git a/packages/ai/test/provider-options/anthropic-compatible.types.ts b/packages/ai/test/provider-options/anthropic-compatible.types.ts new file mode 100644 index 0000000000..3f7de8fd14 --- /dev/null +++ b/packages/ai/test/provider-options/anthropic-compatible.types.ts @@ -0,0 +1,13 @@ +import { LLM } from "../../src" +import { AnthropicCompatible } from "../../src/providers" + +const model = AnthropicCompatible.configure({ baseURL: "https://example.com" }).model("claude") + +LLM.request({ model, prompt: "Hello", providerOptions: { anthropic: { effort: "high" } } }) + +LLM.request({ + model, + prompt: "Hello", + // @ts-expect-error Anthropic effort must be a string. + providerOptions: { anthropic: { effort: 1 } }, +})