@anthropic-ai/sdk 0.28.0 → 0.29.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +35 -0
- package/README.md +76 -0
- package/core.d.ts +1 -1
- package/core.d.ts.map +1 -1
- package/core.js +1 -1
- package/core.js.map +1 -1
- package/core.mjs +1 -1
- package/core.mjs.map +1 -1
- package/index.d.mts +19 -0
- package/index.d.ts +19 -0
- package/index.d.ts.map +1 -1
- package/index.js +2 -0
- package/index.js.map +1 -1
- package/index.mjs +2 -0
- package/index.mjs.map +1 -1
- package/internal/decoders/jsonl.d.ts +12 -0
- package/internal/decoders/jsonl.d.ts.map +1 -0
- package/internal/decoders/jsonl.js +35 -0
- package/internal/decoders/jsonl.js.map +1 -0
- package/internal/decoders/jsonl.mjs +31 -0
- package/internal/decoders/jsonl.mjs.map +1 -0
- package/internal/decoders/line.d.ts +20 -0
- package/internal/decoders/line.d.ts.map +1 -0
- package/internal/decoders/line.js +88 -0
- package/internal/decoders/line.js.map +1 -0
- package/internal/decoders/line.mjs +84 -0
- package/internal/decoders/line.mjs.map +1 -0
- package/package.json +1 -1
- package/pagination.d.ts +26 -0
- package/pagination.d.ts.map +1 -0
- package/pagination.js +54 -0
- package/pagination.js.map +1 -0
- package/pagination.mjs +50 -0
- package/pagination.mjs.map +1 -0
- package/resources/beta/beta.d.ts +79 -0
- package/resources/beta/beta.d.ts.map +1 -1
- package/resources/beta/beta.js +3 -0
- package/resources/beta/beta.js.map +1 -1
- package/resources/beta/beta.mjs +3 -0
- package/resources/beta/beta.mjs.map +1 -1
- package/resources/beta/index.d.ts +2 -1
- package/resources/beta/index.d.ts.map +1 -1
- package/resources/beta/index.js +5 -3
- package/resources/beta/index.js.map +1 -1
- package/resources/beta/index.mjs +2 -1
- package/resources/beta/index.mjs.map +1 -1
- package/resources/beta/messages/batches.d.ts +242 -0
- package/resources/beta/messages/batches.d.ts.map +1 -0
- package/resources/beta/messages/batches.js +120 -0
- package/resources/beta/messages/batches.js.map +1 -0
- package/resources/beta/messages/batches.mjs +92 -0
- package/resources/beta/messages/batches.mjs.map +1 -0
- package/resources/beta/messages/index.d.ts +3 -0
- package/resources/beta/messages/index.d.ts.map +1 -0
- package/resources/beta/messages/index.js +10 -0
- package/resources/beta/messages/index.js.map +1 -0
- package/resources/beta/messages/index.mjs +4 -0
- package/resources/beta/messages/index.mjs.map +1 -0
- package/resources/beta/messages/messages.d.ts +663 -0
- package/resources/beta/messages/messages.d.ts.map +1 -0
- package/resources/beta/messages/messages.js +54 -0
- package/resources/beta/messages/messages.js.map +1 -0
- package/resources/beta/messages/messages.mjs +27 -0
- package/resources/beta/messages/messages.mjs.map +1 -0
- package/resources/beta/prompt-caching/messages.d.ts +40 -74
- package/resources/beta/prompt-caching/messages.d.ts.map +1 -1
- package/resources/beta/prompt-caching/messages.js +7 -3
- package/resources/beta/prompt-caching/messages.js.map +1 -1
- package/resources/beta/prompt-caching/messages.mjs +7 -3
- package/resources/beta/prompt-caching/messages.mjs.map +1 -1
- package/resources/completions.d.ts +3 -12
- package/resources/completions.d.ts.map +1 -1
- package/resources/completions.js.map +1 -1
- package/resources/completions.mjs.map +1 -1
- package/resources/index.d.ts +2 -2
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +1 -1
- package/resources/index.mjs.map +1 -1
- package/resources/messages.d.ts +76 -55
- package/resources/messages.d.ts.map +1 -1
- package/resources/messages.js.map +1 -1
- package/resources/messages.mjs.map +1 -1
- package/src/core.ts +4 -2
- package/src/index.ts +20 -0
- package/src/internal/decoders/jsonl.ts +41 -0
- package/src/internal/decoders/line.ts +114 -0
- package/src/pagination.ts +84 -0
- package/src/resources/beta/beta.ts +104 -0
- package/src/resources/beta/index.ts +47 -1
- package/src/resources/beta/messages/batches.ts +393 -0
- package/src/resources/beta/messages/index.ts +53 -0
- package/src/resources/beta/messages/messages.ts +795 -0
- package/src/resources/beta/prompt-caching/messages.ts +45 -81
- package/src/resources/completions.ts +3 -12
- package/src/resources/index.ts +18 -1
- package/src/resources/messages.ts +82 -59
- package/src/streaming.ts +1 -111
- package/src/version.ts +1 -1
- package/streaming.d.ts.map +1 -1
- package/streaming.js +4 -85
- package/streaming.js.map +1 -1
- package/streaming.mjs +1 -82
- package/streaming.mjs.map +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
package/resources/messages.d.ts
CHANGED
|
@@ -7,8 +7,6 @@ import { MessageStream } from "../lib/MessageStream.js";
|
|
|
7
7
|
export { MessageStream } from "../lib/MessageStream.js";
|
|
8
8
|
export declare class Messages extends APIResource {
|
|
9
9
|
/**
|
|
10
|
-
* Create a Message.
|
|
11
|
-
*
|
|
12
10
|
* Send a structured list of input messages with text and/or image content, and the
|
|
13
11
|
* model will generate the next message in the conversation.
|
|
14
12
|
*
|
|
@@ -154,6 +152,16 @@ export interface MessageParam {
|
|
|
154
152
|
export type MessageStartEvent = RawMessageStartEvent;
|
|
155
153
|
export type MessageStopEvent = RawMessageStopEvent;
|
|
156
154
|
export type MessageStreamEvent = RawMessageStreamEvent;
|
|
155
|
+
export interface Metadata {
|
|
156
|
+
/**
|
|
157
|
+
* An external identifier for the user who is associated with the request.
|
|
158
|
+
*
|
|
159
|
+
* This should be a uuid, hash value, or other opaque identifier. Anthropic may use
|
|
160
|
+
* this id to help detect abuse. Do not include any identifying information such as
|
|
161
|
+
* name, email address, or phone number.
|
|
162
|
+
*/
|
|
163
|
+
user_id?: string | null;
|
|
164
|
+
}
|
|
157
165
|
/**
|
|
158
166
|
* The model that will complete your prompt.\n\nSee
|
|
159
167
|
* [models](https://docs.anthropic.com/en/docs/models-overview) for additional
|
|
@@ -251,6 +259,54 @@ export declare namespace Tool {
|
|
|
251
259
|
[k: string]: unknown;
|
|
252
260
|
}
|
|
253
261
|
}
|
|
262
|
+
/**
|
|
263
|
+
* How the model should use the provided tools. The model can use a specific tool,
|
|
264
|
+
* any available tool, or decide by itself.
|
|
265
|
+
*/
|
|
266
|
+
export type ToolChoice = ToolChoiceAuto | ToolChoiceAny | ToolChoiceTool;
|
|
267
|
+
/**
|
|
268
|
+
* The model will use any available tools.
|
|
269
|
+
*/
|
|
270
|
+
export interface ToolChoiceAny {
|
|
271
|
+
type: 'any';
|
|
272
|
+
/**
|
|
273
|
+
* Whether to disable parallel tool use.
|
|
274
|
+
*
|
|
275
|
+
* Defaults to `false`. If set to `true`, the model will output exactly one tool
|
|
276
|
+
* use.
|
|
277
|
+
*/
|
|
278
|
+
disable_parallel_tool_use?: boolean;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* The model will automatically decide whether to use tools.
|
|
282
|
+
*/
|
|
283
|
+
export interface ToolChoiceAuto {
|
|
284
|
+
type: 'auto';
|
|
285
|
+
/**
|
|
286
|
+
* Whether to disable parallel tool use.
|
|
287
|
+
*
|
|
288
|
+
* Defaults to `false`. If set to `true`, the model will output at most one tool
|
|
289
|
+
* use.
|
|
290
|
+
*/
|
|
291
|
+
disable_parallel_tool_use?: boolean;
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* The model will use the specified tool with `tool_choice.name`.
|
|
295
|
+
*/
|
|
296
|
+
export interface ToolChoiceTool {
|
|
297
|
+
/**
|
|
298
|
+
* The name of the tool to use.
|
|
299
|
+
*/
|
|
300
|
+
name: string;
|
|
301
|
+
type: 'tool';
|
|
302
|
+
/**
|
|
303
|
+
* Whether to disable parallel tool use.
|
|
304
|
+
*
|
|
305
|
+
* Defaults to `false`. If set to `true`, the model will output exactly one tool
|
|
306
|
+
* use.
|
|
307
|
+
*/
|
|
308
|
+
disable_parallel_tool_use?: boolean;
|
|
309
|
+
}
|
|
254
310
|
export interface ToolResultBlockParam {
|
|
255
311
|
tool_use_id: string;
|
|
256
312
|
type: 'tool_result';
|
|
@@ -388,7 +444,7 @@ export interface MessageCreateParamsBase {
|
|
|
388
444
|
/**
|
|
389
445
|
* An object describing metadata about the request.
|
|
390
446
|
*/
|
|
391
|
-
metadata?:
|
|
447
|
+
metadata?: Metadata;
|
|
392
448
|
/**
|
|
393
449
|
* Custom text sequences that will cause the model to stop generating.
|
|
394
450
|
*
|
|
@@ -431,7 +487,7 @@ export interface MessageCreateParamsBase {
|
|
|
431
487
|
* How the model should use the provided tools. The model can use a specific tool,
|
|
432
488
|
* any available tool, or decide by itself.
|
|
433
489
|
*/
|
|
434
|
-
tool_choice?:
|
|
490
|
+
tool_choice?: ToolChoice;
|
|
435
491
|
/**
|
|
436
492
|
* Definitions of tools that the model may use.
|
|
437
493
|
*
|
|
@@ -528,61 +584,21 @@ export interface MessageCreateParamsBase {
|
|
|
528
584
|
}
|
|
529
585
|
export declare namespace MessageCreateParams {
|
|
530
586
|
/**
|
|
531
|
-
*
|
|
587
|
+
* @deprecated use `Anthropic.Messages.ToolChoiceAuto` instead
|
|
532
588
|
*/
|
|
533
|
-
|
|
534
|
-
/**
|
|
535
|
-
* An external identifier for the user who is associated with the request.
|
|
536
|
-
*
|
|
537
|
-
* This should be a uuid, hash value, or other opaque identifier. Anthropic may use
|
|
538
|
-
* this id to help detect abuse. Do not include any identifying information such as
|
|
539
|
-
* name, email address, or phone number.
|
|
540
|
-
*/
|
|
541
|
-
user_id?: string | null;
|
|
542
|
-
}
|
|
589
|
+
type Metadata = MessagesAPI.Metadata;
|
|
543
590
|
/**
|
|
544
|
-
*
|
|
545
|
-
*/
|
|
546
|
-
|
|
547
|
-
type: 'auto';
|
|
548
|
-
/**
|
|
549
|
-
* Whether to disable parallel tool use.
|
|
550
|
-
*
|
|
551
|
-
* Defaults to `false`. If set to `true`, the model will output at most one tool
|
|
552
|
-
* use.
|
|
553
|
-
*/
|
|
554
|
-
disable_parallel_tool_use?: boolean;
|
|
555
|
-
}
|
|
591
|
+
* @deprecated use `Anthropic.Messages.ToolChoiceAuto` instead
|
|
592
|
+
*/
|
|
593
|
+
type ToolChoiceAuto = MessagesAPI.ToolChoiceAuto;
|
|
556
594
|
/**
|
|
557
|
-
*
|
|
558
|
-
*/
|
|
559
|
-
|
|
560
|
-
type: 'any';
|
|
561
|
-
/**
|
|
562
|
-
* Whether to disable parallel tool use.
|
|
563
|
-
*
|
|
564
|
-
* Defaults to `false`. If set to `true`, the model will output exactly one tool
|
|
565
|
-
* use.
|
|
566
|
-
*/
|
|
567
|
-
disable_parallel_tool_use?: boolean;
|
|
568
|
-
}
|
|
595
|
+
* @deprecated use `Anthropic.Messages.ToolChoiceAny` instead
|
|
596
|
+
*/
|
|
597
|
+
type ToolChoiceAny = MessagesAPI.ToolChoiceAny;
|
|
569
598
|
/**
|
|
570
|
-
*
|
|
571
|
-
*/
|
|
572
|
-
|
|
573
|
-
/**
|
|
574
|
-
* The name of the tool to use.
|
|
575
|
-
*/
|
|
576
|
-
name: string;
|
|
577
|
-
type: 'tool';
|
|
578
|
-
/**
|
|
579
|
-
* Whether to disable parallel tool use.
|
|
580
|
-
*
|
|
581
|
-
* Defaults to `false`. If set to `true`, the model will output exactly one tool
|
|
582
|
-
* use.
|
|
583
|
-
*/
|
|
584
|
-
disable_parallel_tool_use?: boolean;
|
|
585
|
-
}
|
|
599
|
+
* @deprecated use `Anthropic.Messages.ToolChoiceTool` instead
|
|
600
|
+
*/
|
|
601
|
+
type ToolChoiceTool = MessagesAPI.ToolChoiceTool;
|
|
586
602
|
type MessageCreateParamsNonStreaming = MessagesAPI.MessageCreateParamsNonStreaming;
|
|
587
603
|
type MessageCreateParamsStreaming = MessagesAPI.MessageCreateParamsStreaming;
|
|
588
604
|
}
|
|
@@ -620,6 +636,7 @@ export declare namespace Messages {
|
|
|
620
636
|
export import MessageStartEvent = MessagesAPI.MessageStartEvent;
|
|
621
637
|
export import MessageStopEvent = MessagesAPI.MessageStopEvent;
|
|
622
638
|
export import MessageStreamEvent = MessagesAPI.MessageStreamEvent;
|
|
639
|
+
export import Metadata = MessagesAPI.Metadata;
|
|
623
640
|
export import Model = MessagesAPI.Model;
|
|
624
641
|
export import RawContentBlockDeltaEvent = MessagesAPI.RawContentBlockDeltaEvent;
|
|
625
642
|
export import RawContentBlockStartEvent = MessagesAPI.RawContentBlockStartEvent;
|
|
@@ -632,6 +649,10 @@ export declare namespace Messages {
|
|
|
632
649
|
export import TextBlockParam = MessagesAPI.TextBlockParam;
|
|
633
650
|
export import TextDelta = MessagesAPI.TextDelta;
|
|
634
651
|
export import Tool = MessagesAPI.Tool;
|
|
652
|
+
export import ToolChoice = MessagesAPI.ToolChoice;
|
|
653
|
+
export import ToolChoiceAny = MessagesAPI.ToolChoiceAny;
|
|
654
|
+
export import ToolChoiceAuto = MessagesAPI.ToolChoiceAuto;
|
|
655
|
+
export import ToolChoiceTool = MessagesAPI.ToolChoiceTool;
|
|
635
656
|
export import ToolResultBlockParam = MessagesAPI.ToolResultBlockParam;
|
|
636
657
|
export import ToolUseBlock = MessagesAPI.ToolUseBlock;
|
|
637
658
|
export import ToolUseBlockParam = MessagesAPI.ToolUseBlockParam;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../src/resources/messages.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,WAAW,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,qBAAa,QAAS,SAAQ,WAAW;IACvC
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../src/resources/messages.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../src/resources/messages.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,6CAA0C;AAK1C,2DAAqD;AAErD,yDAAqD;AAA5C,8GAAA,aAAa,OAAA;AAEtB,MAAa,QAAS,SAAQ,sBAAW;
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../src/resources/messages.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,6CAA0C;AAK1C,2DAAqD;AAErD,yDAAqD;AAA5C,8GAAA,aAAa,OAAA;AAEtB,MAAa,QAAS,SAAQ,sBAAW;IAiBvC,MAAM,CACJ,IAAyB,EACzB,OAA6B;QAE7B,IAAI,IAAI,CAAC,KAAK,IAAI,iBAAiB,EAAE;YACnC,OAAO,CAAC,IAAI,CACV,cAAc,IAAI,CAAC,KAAK,iDACtB,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAC9B,gIAAgI,CACjI,CAAC;SACH;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE;YACvC,IAAI;YACJ,OAAO,EAAG,IAAI,CAAC,OAAe,CAAC,QAAQ,CAAC,OAAO,IAAI,MAAM;YACzD,GAAG,OAAO;YACV,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;SAC7B,CAAoE,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAyB,EAAE,OAA6B;QAC7D,OAAO,6BAAa,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;CACF;AA1CD,4BA0CC;AA8LD,MAAM,iBAAiB,GAAyB;IAC9C,YAAY,EAAE,oBAAoB;IAClC,iBAAiB,EAAE,oBAAoB;IACvC,oBAAoB,EAAE,oBAAoB;IAC1C,yBAAyB,EAAE,oBAAoB;IAC/C,oBAAoB,EAAE,oBAAoB;CAC3C,CAAC;AAohBF,WAAiB,QAAQ;AAwCzB,CAAC,EAxCgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAwCxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.mjs","sourceRoot":"","sources":["../src/resources/messages.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;OAKf,EAAE,aAAa,EAAE;OAEjB,EAAE,aAAa,EAAE;AAExB,MAAM,OAAO,QAAS,SAAQ,WAAW;
|
|
1
|
+
{"version":3,"file":"messages.mjs","sourceRoot":"","sources":["../src/resources/messages.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;OAKf,EAAE,aAAa,EAAE;OAEjB,EAAE,aAAa,EAAE;AAExB,MAAM,OAAO,QAAS,SAAQ,WAAW;IAiBvC,MAAM,CACJ,IAAyB,EACzB,OAA6B;QAE7B,IAAI,IAAI,CAAC,KAAK,IAAI,iBAAiB,EAAE;YACnC,OAAO,CAAC,IAAI,CACV,cAAc,IAAI,CAAC,KAAK,iDACtB,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAC9B,gIAAgI,CACjI,CAAC;SACH;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE;YACvC,IAAI;YACJ,OAAO,EAAG,IAAI,CAAC,OAAe,CAAC,QAAQ,CAAC,OAAO,IAAI,MAAM;YACzD,GAAG,OAAO;YACV,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;SAC7B,CAAoE,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAyB,EAAE,OAA6B;QAC7D,OAAO,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;CACF;AA8LD,MAAM,iBAAiB,GAAyB;IAC9C,YAAY,EAAE,oBAAoB;IAClC,iBAAiB,EAAE,oBAAoB;IACvC,oBAAoB,EAAE,oBAAoB;IAC1C,yBAAyB,EAAE,oBAAoB;IAC/C,oBAAoB,EAAE,oBAAoB;CAC3C,CAAC;AAohBF,WAAiB,QAAQ;AAwCzB,CAAC,EAxCgB,QAAQ,KAAR,QAAQ,QAwCxB"}
|
package/src/core.ts
CHANGED
|
@@ -98,8 +98,10 @@ export class APIPromise<T> extends Promise<T> {
|
|
|
98
98
|
});
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
_thenUnwrap<U>(transform: (data: T) => U): APIPromise<U> {
|
|
102
|
-
return new APIPromise(this.responsePromise, async (props) =>
|
|
101
|
+
_thenUnwrap<U>(transform: (data: T, props: APIResponseProps) => U): APIPromise<U> {
|
|
102
|
+
return new APIPromise(this.responsePromise, async (props) =>
|
|
103
|
+
transform(await this.parseResponse(props), props),
|
|
104
|
+
);
|
|
103
105
|
}
|
|
104
106
|
|
|
105
107
|
/**
|
package/src/index.ts
CHANGED
|
@@ -4,6 +4,7 @@ import * as Errors from "./error.js";
|
|
|
4
4
|
import * as Uploads from "./uploads.js";
|
|
5
5
|
import { type Agent } from "./_shims/index.js";
|
|
6
6
|
import * as Core from "./core.js";
|
|
7
|
+
import * as Pagination from "./pagination.js";
|
|
7
8
|
import * as API from "./resources/index.js";
|
|
8
9
|
|
|
9
10
|
export interface ClientOptions {
|
|
@@ -250,6 +251,10 @@ export import fileFromPath = Uploads.fileFromPath;
|
|
|
250
251
|
export namespace Anthropic {
|
|
251
252
|
export import RequestOptions = Core.RequestOptions;
|
|
252
253
|
|
|
254
|
+
export import Page = Pagination.Page;
|
|
255
|
+
export import PageParams = Pagination.PageParams;
|
|
256
|
+
export import PageResponse = Pagination.PageResponse;
|
|
257
|
+
|
|
253
258
|
export import Completions = API.Completions;
|
|
254
259
|
export import Completion = API.Completion;
|
|
255
260
|
export import CompletionCreateParams = API.CompletionCreateParams;
|
|
@@ -270,6 +275,7 @@ export namespace Anthropic {
|
|
|
270
275
|
export import MessageStartEvent = API.MessageStartEvent;
|
|
271
276
|
export import MessageStopEvent = API.MessageStopEvent;
|
|
272
277
|
export import MessageStreamEvent = API.MessageStreamEvent;
|
|
278
|
+
export import Metadata = API.Metadata;
|
|
273
279
|
export import Model = API.Model;
|
|
274
280
|
export import RawContentBlockDeltaEvent = API.RawContentBlockDeltaEvent;
|
|
275
281
|
export import RawContentBlockStartEvent = API.RawContentBlockStartEvent;
|
|
@@ -282,6 +288,10 @@ export namespace Anthropic {
|
|
|
282
288
|
export import TextBlockParam = API.TextBlockParam;
|
|
283
289
|
export import TextDelta = API.TextDelta;
|
|
284
290
|
export import Tool = API.Tool;
|
|
291
|
+
export import ToolChoice = API.ToolChoice;
|
|
292
|
+
export import ToolChoiceAny = API.ToolChoiceAny;
|
|
293
|
+
export import ToolChoiceAuto = API.ToolChoiceAuto;
|
|
294
|
+
export import ToolChoiceTool = API.ToolChoiceTool;
|
|
285
295
|
export import ToolResultBlockParam = API.ToolResultBlockParam;
|
|
286
296
|
export import ToolUseBlock = API.ToolUseBlock;
|
|
287
297
|
export import ToolUseBlockParam = API.ToolUseBlockParam;
|
|
@@ -292,6 +302,16 @@ export namespace Anthropic {
|
|
|
292
302
|
export import MessageStreamParams = API.MessageStreamParams;
|
|
293
303
|
|
|
294
304
|
export import Beta = API.Beta;
|
|
305
|
+
export import AnthropicBeta = API.AnthropicBeta;
|
|
306
|
+
export import BetaAPIError = API.BetaAPIError;
|
|
307
|
+
export import BetaAuthenticationError = API.BetaAuthenticationError;
|
|
308
|
+
export import BetaError = API.BetaError;
|
|
309
|
+
export import BetaErrorResponse = API.BetaErrorResponse;
|
|
310
|
+
export import BetaInvalidRequestError = API.BetaInvalidRequestError;
|
|
311
|
+
export import BetaNotFoundError = API.BetaNotFoundError;
|
|
312
|
+
export import BetaOverloadedError = API.BetaOverloadedError;
|
|
313
|
+
export import BetaPermissionError = API.BetaPermissionError;
|
|
314
|
+
export import BetaRateLimitError = API.BetaRateLimitError;
|
|
295
315
|
}
|
|
296
316
|
|
|
297
317
|
export default Anthropic;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { AnthropicError } from "../../error.js";
|
|
2
|
+
import { readableStreamAsyncIterable } from "../../streaming.js";
|
|
3
|
+
import { type Response } from "../../_shims/index.js";
|
|
4
|
+
import { LineDecoder, type Bytes } from "./line.js";
|
|
5
|
+
|
|
6
|
+
export class JSONLDecoder<T> {
|
|
7
|
+
controller: AbortController;
|
|
8
|
+
|
|
9
|
+
constructor(
|
|
10
|
+
private iterator: AsyncIterableIterator<Bytes>,
|
|
11
|
+
controller: AbortController,
|
|
12
|
+
) {
|
|
13
|
+
this.controller = controller;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
private async *decoder(): AsyncIterator<T, any, undefined> {
|
|
17
|
+
const lineDecoder = new LineDecoder();
|
|
18
|
+
for await (const chunk of this.iterator) {
|
|
19
|
+
for (const line of lineDecoder.decode(chunk)) {
|
|
20
|
+
yield JSON.parse(line);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
for (const line of lineDecoder.flush()) {
|
|
25
|
+
yield JSON.parse(line);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
[Symbol.asyncIterator](): AsyncIterator<T> {
|
|
30
|
+
return this.decoder();
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
static fromResponse<T>(response: Response, controller: AbortController): JSONLDecoder<T> {
|
|
34
|
+
if (!response.body) {
|
|
35
|
+
controller.abort();
|
|
36
|
+
throw new AnthropicError(`Attempted to iterate over a response with no body`);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return new JSONLDecoder(readableStreamAsyncIterable<Bytes>(response.body), controller);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { AnthropicError } from "../../error.js";
|
|
2
|
+
|
|
3
|
+
export type Bytes = string | ArrayBuffer | Uint8Array | Buffer | null | undefined;
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* A re-implementation of httpx's `LineDecoder` in Python that handles incrementally
|
|
7
|
+
* reading lines from text.
|
|
8
|
+
*
|
|
9
|
+
* https://github.com/encode/httpx/blob/920333ea98118e9cf617f246905d7b202510941c/httpx/_decoders.py#L258
|
|
10
|
+
*/
|
|
11
|
+
export class LineDecoder {
|
|
12
|
+
// prettier-ignore
|
|
13
|
+
static NEWLINE_CHARS = new Set(['\n', '\r']);
|
|
14
|
+
static NEWLINE_REGEXP = /\r\n|[\n\r]/g;
|
|
15
|
+
|
|
16
|
+
buffer: string[];
|
|
17
|
+
trailingCR: boolean;
|
|
18
|
+
textDecoder: any; // TextDecoder found in browsers; not typed to avoid pulling in either "dom" or "node" types.
|
|
19
|
+
|
|
20
|
+
constructor() {
|
|
21
|
+
this.buffer = [];
|
|
22
|
+
this.trailingCR = false;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
decode(chunk: Bytes): string[] {
|
|
26
|
+
let text = this.decodeText(chunk);
|
|
27
|
+
|
|
28
|
+
if (this.trailingCR) {
|
|
29
|
+
text = '\r' + text;
|
|
30
|
+
this.trailingCR = false;
|
|
31
|
+
}
|
|
32
|
+
if (text.endsWith('\r')) {
|
|
33
|
+
this.trailingCR = true;
|
|
34
|
+
text = text.slice(0, -1);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if (!text) {
|
|
38
|
+
return [];
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const trailingNewline = LineDecoder.NEWLINE_CHARS.has(text[text.length - 1] || '');
|
|
42
|
+
let lines = text.split(LineDecoder.NEWLINE_REGEXP);
|
|
43
|
+
|
|
44
|
+
// if there is a trailing new line then the last entry will be an empty
|
|
45
|
+
// string which we don't care about
|
|
46
|
+
if (trailingNewline) {
|
|
47
|
+
lines.pop();
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (lines.length === 1 && !trailingNewline) {
|
|
51
|
+
this.buffer.push(lines[0]!);
|
|
52
|
+
return [];
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (this.buffer.length > 0) {
|
|
56
|
+
lines = [this.buffer.join('') + lines[0], ...lines.slice(1)];
|
|
57
|
+
this.buffer = [];
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
if (!trailingNewline) {
|
|
61
|
+
this.buffer = [lines.pop() || ''];
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
return lines;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
decodeText(bytes: Bytes): string {
|
|
68
|
+
if (bytes == null) return '';
|
|
69
|
+
if (typeof bytes === 'string') return bytes;
|
|
70
|
+
|
|
71
|
+
// Node:
|
|
72
|
+
if (typeof Buffer !== 'undefined') {
|
|
73
|
+
if (bytes instanceof Buffer) {
|
|
74
|
+
return bytes.toString();
|
|
75
|
+
}
|
|
76
|
+
if (bytes instanceof Uint8Array) {
|
|
77
|
+
return Buffer.from(bytes).toString();
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
throw new AnthropicError(
|
|
81
|
+
`Unexpected: received non-Uint8Array (${bytes.constructor.name}) stream chunk in an environment with a global "Buffer" defined, which this library assumes to be Node. Please report this error.`,
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// Browser
|
|
86
|
+
if (typeof TextDecoder !== 'undefined') {
|
|
87
|
+
if (bytes instanceof Uint8Array || bytes instanceof ArrayBuffer) {
|
|
88
|
+
this.textDecoder ??= new TextDecoder('utf8');
|
|
89
|
+
return this.textDecoder.decode(bytes);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
throw new AnthropicError(
|
|
93
|
+
`Unexpected: received non-Uint8Array/ArrayBuffer (${
|
|
94
|
+
(bytes as any).constructor.name
|
|
95
|
+
}) in a web platform. Please report this error.`,
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
throw new AnthropicError(
|
|
100
|
+
`Unexpected: neither Buffer nor TextDecoder are available as globals. Please report this error.`,
|
|
101
|
+
);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
flush(): string[] {
|
|
105
|
+
if (!this.buffer.length && !this.trailingCR) {
|
|
106
|
+
return [];
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
const lines = [this.buffer.join('')];
|
|
110
|
+
this.buffer = [];
|
|
111
|
+
this.trailingCR = false;
|
|
112
|
+
return lines;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { AbstractPage, Response, APIClient, FinalRequestOptions, PageInfo } from "./core.js";
|
|
4
|
+
|
|
5
|
+
export interface PageResponse<Item> {
|
|
6
|
+
data: Array<Item>;
|
|
7
|
+
|
|
8
|
+
has_more: boolean;
|
|
9
|
+
|
|
10
|
+
first_id: string | null;
|
|
11
|
+
|
|
12
|
+
last_id: string | null;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface PageParams {
|
|
16
|
+
/**
|
|
17
|
+
* Number of items per page.
|
|
18
|
+
*/
|
|
19
|
+
limit?: number;
|
|
20
|
+
|
|
21
|
+
before_id?: string;
|
|
22
|
+
|
|
23
|
+
after_id?: string;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export class Page<Item> extends AbstractPage<Item> implements PageResponse<Item> {
|
|
27
|
+
data: Array<Item>;
|
|
28
|
+
|
|
29
|
+
has_more: boolean;
|
|
30
|
+
|
|
31
|
+
first_id: string | null;
|
|
32
|
+
|
|
33
|
+
last_id: string | null;
|
|
34
|
+
|
|
35
|
+
constructor(client: APIClient, response: Response, body: PageResponse<Item>, options: FinalRequestOptions) {
|
|
36
|
+
super(client, response, body, options);
|
|
37
|
+
|
|
38
|
+
this.data = body.data || [];
|
|
39
|
+
this.has_more = body.has_more || false;
|
|
40
|
+
this.first_id = body.first_id || null;
|
|
41
|
+
this.last_id = body.last_id || null;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
getPaginatedItems(): Item[] {
|
|
45
|
+
return this.data ?? [];
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// @deprecated Please use `nextPageInfo()` instead
|
|
49
|
+
nextPageParams(): Partial<PageParams> | null {
|
|
50
|
+
const info = this.nextPageInfo();
|
|
51
|
+
if (!info) return null;
|
|
52
|
+
if ('params' in info) return info.params;
|
|
53
|
+
const params = Object.fromEntries(info.url.searchParams);
|
|
54
|
+
if (!Object.keys(params).length) return null;
|
|
55
|
+
return params;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
nextPageInfo(): PageInfo | null {
|
|
59
|
+
if ((this.options.query as Record<string, unknown>)?.['before_id']) {
|
|
60
|
+
// in reverse
|
|
61
|
+
const firstId = this.first_id;
|
|
62
|
+
if (!firstId) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return {
|
|
67
|
+
params: {
|
|
68
|
+
before_id: firstId,
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
const cursor = this.last_id;
|
|
74
|
+
if (!cursor) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
return {
|
|
79
|
+
params: {
|
|
80
|
+
after_id: cursor,
|
|
81
|
+
},
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
}
|
|
@@ -1,12 +1,116 @@
|
|
|
1
1
|
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
|
|
3
3
|
import { APIResource } from "../../resource.js";
|
|
4
|
+
import * as BetaAPI from "./beta.js";
|
|
5
|
+
import * as MessagesAPI from "./messages/messages.js";
|
|
4
6
|
import * as PromptCachingAPI from "./prompt-caching/prompt-caching.js";
|
|
5
7
|
|
|
6
8
|
export class Beta extends APIResource {
|
|
9
|
+
messages: MessagesAPI.Messages = new MessagesAPI.Messages(this._client);
|
|
7
10
|
promptCaching: PromptCachingAPI.PromptCaching = new PromptCachingAPI.PromptCaching(this._client);
|
|
8
11
|
}
|
|
9
12
|
|
|
13
|
+
export type AnthropicBeta = (string & {}) | 'message-batches-2024-09-24' | 'prompt-caching-2024-07-31';
|
|
14
|
+
|
|
15
|
+
export interface BetaAPIError {
|
|
16
|
+
message: string;
|
|
17
|
+
|
|
18
|
+
type: 'api_error';
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface BetaAuthenticationError {
|
|
22
|
+
message: string;
|
|
23
|
+
|
|
24
|
+
type: 'authentication_error';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export type BetaError =
|
|
28
|
+
| BetaInvalidRequestError
|
|
29
|
+
| BetaAuthenticationError
|
|
30
|
+
| BetaPermissionError
|
|
31
|
+
| BetaNotFoundError
|
|
32
|
+
| BetaRateLimitError
|
|
33
|
+
| BetaAPIError
|
|
34
|
+
| BetaOverloadedError;
|
|
35
|
+
|
|
36
|
+
export interface BetaErrorResponse {
|
|
37
|
+
error: BetaError;
|
|
38
|
+
|
|
39
|
+
type: 'error';
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export interface BetaInvalidRequestError {
|
|
43
|
+
message: string;
|
|
44
|
+
|
|
45
|
+
type: 'invalid_request_error';
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export interface BetaNotFoundError {
|
|
49
|
+
message: string;
|
|
50
|
+
|
|
51
|
+
type: 'not_found_error';
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export interface BetaOverloadedError {
|
|
55
|
+
message: string;
|
|
56
|
+
|
|
57
|
+
type: 'overloaded_error';
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export interface BetaPermissionError {
|
|
61
|
+
message: string;
|
|
62
|
+
|
|
63
|
+
type: 'permission_error';
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export interface BetaRateLimitError {
|
|
67
|
+
message: string;
|
|
68
|
+
|
|
69
|
+
type: 'rate_limit_error';
|
|
70
|
+
}
|
|
71
|
+
|
|
10
72
|
export namespace Beta {
|
|
73
|
+
export import AnthropicBeta = BetaAPI.AnthropicBeta;
|
|
74
|
+
export import BetaAPIError = BetaAPI.BetaAPIError;
|
|
75
|
+
export import BetaAuthenticationError = BetaAPI.BetaAuthenticationError;
|
|
76
|
+
export import BetaError = BetaAPI.BetaError;
|
|
77
|
+
export import BetaErrorResponse = BetaAPI.BetaErrorResponse;
|
|
78
|
+
export import BetaInvalidRequestError = BetaAPI.BetaInvalidRequestError;
|
|
79
|
+
export import BetaNotFoundError = BetaAPI.BetaNotFoundError;
|
|
80
|
+
export import BetaOverloadedError = BetaAPI.BetaOverloadedError;
|
|
81
|
+
export import BetaPermissionError = BetaAPI.BetaPermissionError;
|
|
82
|
+
export import BetaRateLimitError = BetaAPI.BetaRateLimitError;
|
|
83
|
+
export import Messages = MessagesAPI.Messages;
|
|
84
|
+
export import BetaCacheControlEphemeral = MessagesAPI.BetaCacheControlEphemeral;
|
|
85
|
+
export import BetaContentBlock = MessagesAPI.BetaContentBlock;
|
|
86
|
+
export import BetaContentBlockParam = MessagesAPI.BetaContentBlockParam;
|
|
87
|
+
export import BetaImageBlockParam = MessagesAPI.BetaImageBlockParam;
|
|
88
|
+
export import BetaInputJSONDelta = MessagesAPI.BetaInputJSONDelta;
|
|
89
|
+
export import BetaMessage = MessagesAPI.BetaMessage;
|
|
90
|
+
export import BetaMessageDeltaUsage = MessagesAPI.BetaMessageDeltaUsage;
|
|
91
|
+
export import BetaMessageParam = MessagesAPI.BetaMessageParam;
|
|
92
|
+
export import BetaMetadata = MessagesAPI.BetaMetadata;
|
|
93
|
+
export import BetaRawContentBlockDeltaEvent = MessagesAPI.BetaRawContentBlockDeltaEvent;
|
|
94
|
+
export import BetaRawContentBlockStartEvent = MessagesAPI.BetaRawContentBlockStartEvent;
|
|
95
|
+
export import BetaRawContentBlockStopEvent = MessagesAPI.BetaRawContentBlockStopEvent;
|
|
96
|
+
export import BetaRawMessageDeltaEvent = MessagesAPI.BetaRawMessageDeltaEvent;
|
|
97
|
+
export import BetaRawMessageStartEvent = MessagesAPI.BetaRawMessageStartEvent;
|
|
98
|
+
export import BetaRawMessageStopEvent = MessagesAPI.BetaRawMessageStopEvent;
|
|
99
|
+
export import BetaRawMessageStreamEvent = MessagesAPI.BetaRawMessageStreamEvent;
|
|
100
|
+
export import BetaTextBlock = MessagesAPI.BetaTextBlock;
|
|
101
|
+
export import BetaTextBlockParam = MessagesAPI.BetaTextBlockParam;
|
|
102
|
+
export import BetaTextDelta = MessagesAPI.BetaTextDelta;
|
|
103
|
+
export import BetaTool = MessagesAPI.BetaTool;
|
|
104
|
+
export import BetaToolChoice = MessagesAPI.BetaToolChoice;
|
|
105
|
+
export import BetaToolChoiceAny = MessagesAPI.BetaToolChoiceAny;
|
|
106
|
+
export import BetaToolChoiceAuto = MessagesAPI.BetaToolChoiceAuto;
|
|
107
|
+
export import BetaToolChoiceTool = MessagesAPI.BetaToolChoiceTool;
|
|
108
|
+
export import BetaToolResultBlockParam = MessagesAPI.BetaToolResultBlockParam;
|
|
109
|
+
export import BetaToolUseBlock = MessagesAPI.BetaToolUseBlock;
|
|
110
|
+
export import BetaToolUseBlockParam = MessagesAPI.BetaToolUseBlockParam;
|
|
111
|
+
export import BetaUsage = MessagesAPI.BetaUsage;
|
|
112
|
+
export import MessageCreateParams = MessagesAPI.MessageCreateParams;
|
|
113
|
+
export import MessageCreateParamsNonStreaming = MessagesAPI.MessageCreateParamsNonStreaming;
|
|
114
|
+
export import MessageCreateParamsStreaming = MessagesAPI.MessageCreateParamsStreaming;
|
|
11
115
|
export import PromptCaching = PromptCachingAPI.PromptCaching;
|
|
12
116
|
}
|