Skip to content

Commit 7de0bfc

Browse files
authored
Ensure model field accepts a string in Anthropic schemas (#5644)
1 parent f49bbc5 commit 7de0bfc

File tree

5 files changed

+2537
-598
lines changed

5 files changed

+2537
-598
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@effect/ai-anthropic": patch
3+
---
4+
5+
Ensure that model accepts a string in Anthropic request schemas

packages/ai/anthropic/scripts/generate.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,4 @@ pnpm openapi-gen -s "${temp_dir}/anthropic.yaml" >> src/Generated.ts
2727
pnpm eslint --fix src/Generated.ts
2828

2929
# No patch required at this time
30-
# git apply --reject --whitespace=fix "${SCRIPT_DIR}/generated.patch"
30+
git apply --reject --whitespace=fix "${SCRIPT_DIR}/generated.patch"
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
diff --git a/packages/ai/anthropic/src/Generated.ts b/packages/ai/anthropic/src/Generated.ts
2+
index 9015e6427..dcb4afdad 100644
3+
--- a/packages/ai/anthropic/src/Generated.ts
4+
+++ b/packages/ai/anthropic/src/Generated.ts
5+
@@ -641,7 +641,7 @@ export class WebSearchTool20250305 extends S.Class<WebSearchTool20250305>("WebSe
6+
}) {}
7+
8+
export class CreateMessageParams extends S.Class<CreateMessageParams>("CreateMessageParams")({
9+
- "model": Model,
10+
+ "model": S.Union(S.String, Model),
11+
/**
12+
* Input messages.
13+
*
14+
@@ -1114,7 +1114,7 @@ export class Message extends S.Class<Message>("Message")({
15+
* ```
16+
*/
17+
"content": S.Array(ContentBlock),
18+
- "model": Model,
19+
+ "model": S.Union(S.String, Model),
20+
/**
21+
* The reason that we stopped.
22+
*
23+
@@ -1244,7 +1244,7 @@ export class CompletePostParams extends S.Struct({
24+
}) {}
25+
26+
export class CompletionRequest extends S.Class<CompletionRequest>("CompletionRequest")({
27+
- "model": Model,
28+
+ "model": S.Union(S.String, Model),
29+
/**
30+
* The prompt that you want Claude to complete.
31+
*
32+
@@ -1316,7 +1316,7 @@ export class CompletionResponse extends S.Class<CompletionResponse>("CompletionR
33+
* The format and length of IDs may change over time.
34+
*/
35+
"id": S.String,
36+
- "model": Model,
37+
+ "model": S.Union(S.String, Model),
38+
/**
39+
* The reason that we stopped.
40+
*
41+
@@ -1730,7 +1730,7 @@ export class CountMessageTokensParams extends S.Class<CountMessageTokensParams>(
42+
* There is a limit of 100,000 messages in a single request.
43+
*/
44+
"messages": S.Array(InputMessage),
45+
- "model": Model,
46+
+ "model": S.Union(S.String, Model),
47+
/**
48+
* System prompt.
49+
*
50+
@@ -3659,7 +3659,7 @@ export class BetaWebFetchTool20250910 extends S.Class<BetaWebFetchTool20250910>(
51+
}) {}
52+
53+
export class BetaCreateMessageParams extends S.Class<BetaCreateMessageParams>("BetaCreateMessageParams")({
54+
- "model": Model,
55+
+ "model": S.Union(S.String, Model),
56+
/**
57+
* Input messages.
58+
*
59+
@@ -4517,7 +4517,7 @@ export class BetaMessage extends S.Class<BetaMessage>("BetaMessage")({
60+
* ```
61+
*/
62+
"content": S.Array(BetaContentBlock),
63+
- "model": Model,
64+
+ "model": S.Union(S.String, Model),
65+
/**
66+
* The reason that we stopped.
67+
*
68+
@@ -5099,7 +5099,7 @@ export class BetaCountMessageTokensParams
69+
* There is a limit of 100,000 messages in a single request.
70+
*/
71+
"messages": S.Array(BetaInputMessage),
72+
- "model": Model,
73+
+ "model": S.Union(S.String, Model),
74+
/**
75+
* System prompt.
76+
*

packages/ai/anthropic/src/AnthropicLanguageModel.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -942,6 +942,7 @@ const makeStreamResponse: (
942942
| "redacted_thinking"
943943
| "tool_use"
944944
| "server_tool_use"
945+
| "web_fetch_tool_result"
945946
| "web_search_tool_result"
946947
| "code_execution_tool_result"
947948
| "bash_code_execution_tool_result"

0 commit comments

Comments
 (0)