Releases: anthropics/anthropic-sdk-typescript
Releases · anthropics/anthropic-sdk-typescript
v0.5.1
What's Changed
- Improved support for ESM & more platforms, including:
- Cloudflare Workers
- Vercel Edge Runtime
- Deno
- Increase default timeout to 10 minutes for completions
- Minor improvements to
api.md
- Refactor internal structure to use a
src/
directory - Add support for a
defaultQuery
client option - Improvements to documentation for client options
- Deprecate
.responseHeaders
,stream.response
&stream.responseHeaders
Full Changelog: v0.5.0...v0.5.1
v0.5.0 – ⚠️ BREAKING, fully rewritten library
Migration from v0.4.x and below
In v0.5.0
, we introduced a fully rewritten SDK. The new version offers better error handling, a more robust and intuitive streaming implementation, and more.
Key interface changes:
new Client(apiKey)
→new Anthropic({ apiKey })
client.complete()
→client.completions.create()
client.completeStream()
→client.completions.create({ stream: true })
onUpdate
callback →for await (const x of stream)
- full message in stream → delta of message in stream
Example diff
// Import "Anthropic" instead of "Client":
- import { Client, HUMAN_PROMPT, AI_PROMPT } from '@anthropic-ai/sdk';
+ import Anthropic, { HUMAN_PROMPT, AI_PROMPT } from '@anthropic-ai/sdk';
// Instantiate with "apiKey" as an object property:
- const client = new Client(apiKey);
+ const client = new Anthropic({ apiKey });
// or, simply provide an ANTHROPIC_API_KEY environment variable:
+ const client = new Anthropic();
async function main() {
// Request & response types are the same as before, but better-typed.
const params = {
prompt: `${HUMAN_PROMPT} How many toes do dogs have?${AI_PROMPT}`,
max_tokens_to_sample: 200,
model: "claude-1",
};
// Instead of "client.complete()", you now call "client.completions.create()":
- await client.complete(params);
+ await client.completions.create(params);
// Streaming requests now use async iterators instead of callbacks:
- client.completeStream(params, {
- onUpdate: (completion) => {
- console.log(completion.completion); // full text
- },
- });
+ const stream = await client.completions.create({ ...params, stream: true });
+ for await (const completion of stream) {
+ console.log(completion.completion); // incremental text
+ }
// And, since this library uses `Anthropic-Version: 2023-06-01`,
// completion streams are now incremental diffs of text
// rather than sending the whole message every time:
let text = '';
- await client.completeStream(params, {
- onUpdate: (completion) => {
- const diff = completion.completion.replace(text, "");
- text = completion.completion;
- process.stdout.write(diff);
- },
- });
+ const stream = await client.completions.create({ ...params, stream: true });
+ for await (const completion of stream) {
+ const diff = completion.completion;
+ text += diff;
+ process.stdout.write(diff);
+ }
console.log('Done; final text is:')
console.log(text)
}
main();
v0.4.4
What's Changed
- Add pinned server version, fix sdk version header, bump local version. by @jenan-anthropic in #21
New Contributors
- @jenan-anthropic made their first contribution in #21
Full Changelog: v0.4.3...v0.4.4
v0.4.3
What's Changed
- Add cancellation support using AbortController/AbortSignal by @jspahrsummers in #13
Full Changelog: v0.4.2...v0.4.3
v0.4.2
What's Changed
- Expose
tags
parameter for custom metadata with completion calls by @jspahrsummers in #12
Full Changelog: v0.4.1...v0.4.2
v0.4.1
What's Changed
- When streaming, call
onUpdate
one final time before completing by @jspahrsummers in #9 - Add explicit handling of
[DONE]
message by @jspahrsummers in #10 - Add temperature and other API params by @jspahrsummers in #8
Full Changelog: v0.4.0...v0.4.1
v0.4.0
What's Changed
- Add
cross-fetch
polyfill to support older Node versions by @jspahrsummers in #7
Full Changelog: v0.3.1...v0.4.0
v0.3.1
Full Changelog: v0.3.0...v0.3.1
v0.3.0
What's Changed
- Add npm/yarn instructions and badge by @jspahrsummers in #6
- Add optional
onOpen
callback tocompleteStream
by @jspahrsummers in #5
Full Changelog: v0.2.4...v0.3.0
v0.2.4
Fix npm bundling ignoring sources and not generating types