Skip to content

Commit 4a32091

Browse files
authored
Merge pull request #748 from anthropics/release-please--branches--main--changes--next
chore: release main
2 parents 855c42e + f2a0ef8 commit 4a32091

35 files changed

+1308
-91
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ jobs:
7272
- name: Set up Node
7373
uses: actions/setup-node@v4
7474
with:
75-
node-version: '18'
75+
node-version: '20'
7676

7777
- name: Bootstrap
7878
run: ./scripts/bootstrap

.github/workflows/publish-npm.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
- name: Set up Node
2121
uses: actions/setup-node@v4
2222
with:
23-
node-version: '18'
23+
node-version: '20'
2424

2525
- name: Install dependencies
2626
run: |

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
".": "0.40.1",
2+
".": "0.41.0",
33
"packages/vertex-sdk": "0.7.0",
44
"packages/bedrock-sdk": "0.12.6"
55
}

.stats.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 21
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/anthropic%2Fanthropic-ea0576fceb17a0976feca9aa03aa426984d6fe1390f2bcdbf9de0212a81c8334.yml
3-
openapi_spec_hash: d2d7ec2a7a35a1ed2443c3b690c802c4
4-
config_hash: 9d5b992847099d8fe5a5c09e66adbe5f
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/anthropic%2Fanthropic-7015ea2d98991d6c2e7931c521e36448778fe868cc1b8a21173898d67b14b819.yml
3+
openapi_spec_hash: 2007ff815a3f39af8cebe1976d50f17d
4+
config_hash: 4d0dcf47d77eae22d34624d2ac0f0b46

CHANGELOG.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,24 @@
11
# Changelog
22

3+
## 0.41.0 (2025-05-07)
4+
5+
Full Changelog: [sdk-v0.40.1...sdk-v0.41.0](https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.40.1...sdk-v0.41.0)
6+
7+
### Features
8+
9+
* **api:** adds web search capabilities to the Claude API ([fae7e52](https://github.com/anthropics/anthropic-sdk-typescript/commit/fae7e521568d9659e376d13c4e4a6c320b13b1d4))
10+
11+
12+
### Chores
13+
14+
* **ci:** bump node version for release workflows ([3502747](https://github.com/anthropics/anthropic-sdk-typescript/commit/350274792ed3d9b7ea237ee60876883373344016))
15+
16+
17+
### Documentation
18+
19+
* add examples to tsdocs ([19a9285](https://github.com/anthropics/anthropic-sdk-typescript/commit/19a928512b1616f2cac9c82f02e7bd9a158dab95))
20+
* **readme:** fix typo ([735574e](https://github.com/anthropics/anthropic-sdk-typescript/commit/735574e23b7956cbfd0c05d0374079391d5d4e96))
21+
322
## 0.40.1 (2025-04-28)
423

524
Full Changelog: [sdk-v0.40.0...sdk-v0.40.1](https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.40.0...sdk-v0.40.1)

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ async function main() {
220220
main();
221221
```
222222

223-
Error codes are as followed:
223+
Error codes are as follows:
224224

225225
| Status Code | Error Type |
226226
| ----------- | -------------------------- |

api.md

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,10 @@ Types:
2929
- <code><a href="./src/resources/messages/messages.ts">CitationContentBlockLocationParam</a></code>
3030
- <code><a href="./src/resources/messages/messages.ts">CitationPageLocation</a></code>
3131
- <code><a href="./src/resources/messages/messages.ts">CitationPageLocationParam</a></code>
32+
- <code><a href="./src/resources/messages/messages.ts">CitationWebSearchResultLocationParam</a></code>
3233
- <code><a href="./src/resources/messages/messages.ts">CitationsConfigParam</a></code>
3334
- <code><a href="./src/resources/messages/messages.ts">CitationsDelta</a></code>
35+
- <code><a href="./src/resources/messages/messages.ts">CitationsWebSearchResultLocation</a></code>
3436
- <code><a href="./src/resources/messages/messages.ts">ContentBlock</a></code>
3537
- <code><a href="./src/resources/messages/messages.ts">ContentBlockParam</a></code>
3638
- <code><a href="./src/resources/messages/messages.ts">ContentBlockSource</a></code>
@@ -56,6 +58,9 @@ Types:
5658
- <code><a href="./src/resources/messages/messages.ts">RawMessageStreamEvent</a></code>
5759
- <code><a href="./src/resources/messages/messages.ts">RedactedThinkingBlock</a></code>
5860
- <code><a href="./src/resources/messages/messages.ts">RedactedThinkingBlockParam</a></code>
61+
- <code><a href="./src/resources/messages/messages.ts">ServerToolUsage</a></code>
62+
- <code><a href="./src/resources/messages/messages.ts">ServerToolUseBlock</a></code>
63+
- <code><a href="./src/resources/messages/messages.ts">ServerToolUseBlockParam</a></code>
5964
- <code><a href="./src/resources/messages/messages.ts">SignatureDelta</a></code>
6065
- <code><a href="./src/resources/messages/messages.ts">StopReason</a></code>
6166
- <code><a href="./src/resources/messages/messages.ts">TextBlock</a></code>
@@ -84,6 +89,15 @@ Types:
8489
- <code><a href="./src/resources/messages/messages.ts">URLImageSource</a></code>
8590
- <code><a href="./src/resources/messages/messages.ts">URLPDFSource</a></code>
8691
- <code><a href="./src/resources/messages/messages.ts">Usage</a></code>
92+
- <code><a href="./src/resources/messages/messages.ts">WebSearchResultBlock</a></code>
93+
- <code><a href="./src/resources/messages/messages.ts">WebSearchResultBlockParam</a></code>
94+
- <code><a href="./src/resources/messages/messages.ts">WebSearchTool20250305</a></code>
95+
- <code><a href="./src/resources/messages/messages.ts">WebSearchToolRequestError</a></code>
96+
- <code><a href="./src/resources/messages/messages.ts">WebSearchToolResultBlock</a></code>
97+
- <code><a href="./src/resources/messages/messages.ts">WebSearchToolResultBlockContent</a></code>
98+
- <code><a href="./src/resources/messages/messages.ts">WebSearchToolResultBlockParam</a></code>
99+
- <code><a href="./src/resources/messages/messages.ts">WebSearchToolResultBlockParamContent</a></code>
100+
- <code><a href="./src/resources/messages/messages.ts">WebSearchToolResultError</a></code>
87101
- <code><a href="./src/resources/messages/messages.ts">MessageStreamEvent</a></code>
88102
- <code><a href="./src/resources/messages/messages.ts">MessageStartEvent</a></code>
89103
- <code><a href="./src/resources/messages/messages.ts">MessageDeltaEvent</a></code>
@@ -129,7 +143,7 @@ Types:
129143

130144
Methods:
131145

132-
- <code title="get /v1/models/{model_id}">client.models.<a href="./src/resources/models.ts">retrieve</a>(modelId) -> ModelInfo</code>
146+
- <code title="get /v1/models/{model_id}">client.models.<a href="./src/resources/models.ts">retrieve</a>(modelId, { ...params }) -> ModelInfo</code>
133147
- <code title="get /v1/models">client.models.<a href="./src/resources/models.ts">list</a>({ ...params }) -> ModelInfosPage</code>
134148

135149
# Beta
@@ -157,7 +171,7 @@ Types:
157171

158172
Methods:
159173

160-
- <code title="get /v1/models/{model_id}?beta=true">client.beta.models.<a href="./src/resources/beta/models.ts">retrieve</a>(modelId) -> BetaModelInfo</code>
174+
- <code title="get /v1/models/{model_id}?beta=true">client.beta.models.<a href="./src/resources/beta/models.ts">retrieve</a>(modelId, { ...params }) -> BetaModelInfo</code>
161175
- <code title="get /v1/models?beta=true">client.beta.models.<a href="./src/resources/beta/models.ts">list</a>({ ...params }) -> BetaModelInfosPage</code>
162176

163177
## Messages
@@ -174,8 +188,10 @@ Types:
174188
- <code><a href="./src/resources/beta/messages/messages.ts">BetaCitationContentBlockLocationParam</a></code>
175189
- <code><a href="./src/resources/beta/messages/messages.ts">BetaCitationPageLocation</a></code>
176190
- <code><a href="./src/resources/beta/messages/messages.ts">BetaCitationPageLocationParam</a></code>
191+
- <code><a href="./src/resources/beta/messages/messages.ts">BetaCitationWebSearchResultLocationParam</a></code>
177192
- <code><a href="./src/resources/beta/messages/messages.ts">BetaCitationsConfigParam</a></code>
178193
- <code><a href="./src/resources/beta/messages/messages.ts">BetaCitationsDelta</a></code>
194+
- <code><a href="./src/resources/beta/messages/messages.ts">BetaCitationsWebSearchResultLocation</a></code>
179195
- <code><a href="./src/resources/beta/messages/messages.ts">BetaContentBlock</a></code>
180196
- <code><a href="./src/resources/beta/messages/messages.ts">BetaContentBlockParam</a></code>
181197
- <code><a href="./src/resources/beta/messages/messages.ts">BetaContentBlockSource</a></code>
@@ -198,6 +214,9 @@ Types:
198214
- <code><a href="./src/resources/beta/messages/messages.ts">BetaRawMessageStreamEvent</a></code>
199215
- <code><a href="./src/resources/beta/messages/messages.ts">BetaRedactedThinkingBlock</a></code>
200216
- <code><a href="./src/resources/beta/messages/messages.ts">BetaRedactedThinkingBlockParam</a></code>
217+
- <code><a href="./src/resources/beta/messages/messages.ts">BetaServerToolUsage</a></code>
218+
- <code><a href="./src/resources/beta/messages/messages.ts">BetaServerToolUseBlock</a></code>
219+
- <code><a href="./src/resources/beta/messages/messages.ts">BetaServerToolUseBlockParam</a></code>
201220
- <code><a href="./src/resources/beta/messages/messages.ts">BetaSignatureDelta</a></code>
202221
- <code><a href="./src/resources/beta/messages/messages.ts">BetaStopReason</a></code>
203222
- <code><a href="./src/resources/beta/messages/messages.ts">BetaTextBlock</a></code>
@@ -230,6 +249,15 @@ Types:
230249
- <code><a href="./src/resources/beta/messages/messages.ts">BetaURLImageSource</a></code>
231250
- <code><a href="./src/resources/beta/messages/messages.ts">BetaURLPDFSource</a></code>
232251
- <code><a href="./src/resources/beta/messages/messages.ts">BetaUsage</a></code>
252+
- <code><a href="./src/resources/beta/messages/messages.ts">BetaWebSearchResultBlock</a></code>
253+
- <code><a href="./src/resources/beta/messages/messages.ts">BetaWebSearchResultBlockParam</a></code>
254+
- <code><a href="./src/resources/beta/messages/messages.ts">BetaWebSearchTool20250305</a></code>
255+
- <code><a href="./src/resources/beta/messages/messages.ts">BetaWebSearchToolRequestError</a></code>
256+
- <code><a href="./src/resources/beta/messages/messages.ts">BetaWebSearchToolResultBlock</a></code>
257+
- <code><a href="./src/resources/beta/messages/messages.ts">BetaWebSearchToolResultBlockContent</a></code>
258+
- <code><a href="./src/resources/beta/messages/messages.ts">BetaWebSearchToolResultBlockParam</a></code>
259+
- <code><a href="./src/resources/beta/messages/messages.ts">BetaWebSearchToolResultBlockParamContent</a></code>
260+
- <code><a href="./src/resources/beta/messages/messages.ts">BetaWebSearchToolResultError</a></code>
233261

234262
Methods:
235263

examples/tools.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ async function main() {
4949
{
5050
type: 'tool_result',
5151
tool_use_id: tool.id,
52-
content: [{ type: 'text', text: 'The weather is 73f' }],
52+
content: 'The weather is 73f',
5353
},
5454
],
5555
},

examples/web-search-stream.ts

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
#!/usr/bin/env -S npm run tsn -T
2+
3+
import Anthropic from '@anthropic-ai/sdk';
4+
5+
const client = new Anthropic();
6+
7+
async function main() {
8+
console.log('Claude with Web Search (Streaming)');
9+
console.log('==================================');
10+
11+
// Create a stream with web search enabled
12+
const stream = client.messages
13+
.stream({
14+
model: 'claude-3-5-sonnet-latest',
15+
max_tokens: 1024,
16+
messages: [
17+
{
18+
role: 'user',
19+
content: "What's the weather in New York?",
20+
},
21+
],
22+
tools: [
23+
{
24+
name: 'web_search',
25+
type: 'web_search_20250305',
26+
},
27+
],
28+
})
29+
.on('text', (text) => {
30+
// Print text as it arrives
31+
process.stdout.write(text);
32+
})
33+
.on('streamEvent', (event) => {
34+
// Track when web search is being used
35+
if (event.type === 'content_block_start' && event.content_block.type === 'web_search_tool_result') {
36+
process.stdout.write('\n[Web search started...]');
37+
}
38+
});
39+
40+
// Wait for the stream to complete
41+
const message = await stream.finalMessage();
42+
43+
console.log('\n\nFinal usage statistics:');
44+
console.log(`Input tokens: ${message.usage.input_tokens}`);
45+
console.log(`Output tokens: ${message.usage.output_tokens}`);
46+
47+
if (message.usage.server_tool_use) {
48+
console.log(`Web search requests: ${message.usage.server_tool_use.web_search_requests}`);
49+
} else {
50+
console.log('No web search requests recorded in usage');
51+
}
52+
53+
// Display message content types for debugging
54+
console.log('\nMessage Content Types:');
55+
message.content.forEach((block, i) => {
56+
console.log(`Content Block ${i + 1}: Type = ${block.type}`);
57+
});
58+
59+
// Show full message for debugging
60+
console.log('\nComplete message structure:');
61+
console.dir(message, { depth: 4 });
62+
}
63+
64+
main().catch(console.error);

examples/web-search.ts

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
#!/usr/bin/env -S npm run tsn -T
2+
3+
import Anthropic from '@anthropic-ai/sdk';
4+
5+
const client = new Anthropic();
6+
7+
async function main() {
8+
console.log('Web Search Example');
9+
console.log('=================');
10+
11+
// Create a message with web search enabled
12+
const message = await client.messages.create({
13+
model: 'claude-3-5-sonnet-latest',
14+
max_tokens: 1024,
15+
messages: [
16+
{
17+
role: 'user',
18+
content:
19+
"What's the current weather in San Francisco? Please search the web for up-to-date information.",
20+
},
21+
],
22+
tools: [
23+
{
24+
name: 'web_search',
25+
type: 'web_search_20250305',
26+
},
27+
],
28+
});
29+
30+
// Print the full response
31+
console.log('\nFull response:');
32+
console.dir(message, { depth: 4 });
33+
34+
// Extract and print the content
35+
console.log('\nResponse content:');
36+
for (const contentBlock of message.content) {
37+
if (contentBlock.type === 'text') {
38+
console.log(contentBlock.text);
39+
}
40+
}
41+
42+
// Print usage information
43+
console.log('\nUsage statistics:');
44+
console.log(`Input tokens: ${message.usage.input_tokens}`);
45+
console.log(`Output tokens: ${message.usage.output_tokens}`);
46+
47+
if (message.usage.server_tool_use) {
48+
console.log(`Web search requests: ${message.usage.server_tool_use.web_search_requests}`);
49+
}
50+
}
51+
52+
main().catch(console.error);

0 commit comments

Comments
 (0)