@anthropic-ai/sdk 0.20.8 → 0.21.0

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.
Files changed (45) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/_vendor/partial-json-parser/parser.d.ts +3 -0
  3. package/_vendor/partial-json-parser/parser.d.ts.map +1 -0
  4. package/_vendor/partial-json-parser/parser.js +224 -0
  5. package/_vendor/partial-json-parser/parser.js.map +1 -0
  6. package/_vendor/partial-json-parser/parser.mjs +221 -0
  7. package/_vendor/partial-json-parser/parser.mjs.map +1 -0
  8. package/lib/ToolsBetaMessageStream.d.ts +95 -0
  9. package/lib/ToolsBetaMessageStream.d.ts.map +1 -0
  10. package/lib/ToolsBetaMessageStream.js +459 -0
  11. package/lib/ToolsBetaMessageStream.js.map +1 -0
  12. package/lib/ToolsBetaMessageStream.mjs +455 -0
  13. package/lib/ToolsBetaMessageStream.mjs.map +1 -0
  14. package/package.json +3 -3
  15. package/resources/beta/tools/index.d.ts +1 -1
  16. package/resources/beta/tools/index.d.ts.map +1 -1
  17. package/resources/beta/tools/index.js.map +1 -1
  18. package/resources/beta/tools/index.mjs.map +1 -1
  19. package/resources/beta/tools/messages.d.ts +349 -18
  20. package/resources/beta/tools/messages.d.ts.map +1 -1
  21. package/resources/beta/tools/messages.js +11 -2
  22. package/resources/beta/tools/messages.js.map +1 -1
  23. package/resources/beta/tools/messages.mjs +9 -1
  24. package/resources/beta/tools/messages.mjs.map +1 -1
  25. package/resources/beta/tools/tools.d.ts +5 -0
  26. package/resources/beta/tools/tools.d.ts.map +1 -1
  27. package/resources/beta/tools/tools.js.map +1 -1
  28. package/resources/beta/tools/tools.mjs.map +1 -1
  29. package/resources/completions.d.ts +11 -19
  30. package/resources/completions.d.ts.map +1 -1
  31. package/resources/completions.js.map +1 -1
  32. package/resources/completions.mjs.map +1 -1
  33. package/resources/messages.d.ts +22 -22
  34. package/src/_vendor/partial-json-parser/README.md +3 -0
  35. package/src/_vendor/partial-json-parser/parser.ts +262 -0
  36. package/src/lib/ToolsBetaMessageStream.ts +561 -0
  37. package/src/resources/beta/tools/index.ts +5 -0
  38. package/src/resources/beta/tools/messages.ts +397 -21
  39. package/src/resources/beta/tools/tools.ts +5 -0
  40. package/src/resources/completions.ts +11 -19
  41. package/src/resources/messages.ts +22 -22
  42. package/src/version.ts +1 -1
  43. package/version.d.ts +1 -1
  44. package/version.js +1 -1
  45. package/version.mjs +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,36 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.21.0 (2024-05-16)
4
+
5
+ Full Changelog: [sdk-v0.20.9...sdk-v0.21.0](https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.20.9...sdk-v0.21.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** add `tool_choice` param, image block params inside `tool_result.content`, and streaming for `tool_use` blocks ([#418](https://github.com/anthropics/anthropic-sdk-typescript/issues/418)) ([421a1e6](https://github.com/anthropics/anthropic-sdk-typescript/commit/421a1e6f53cbb2f440e3668be3e13475976eebbf))
10
+
11
+
12
+ ### Chores
13
+
14
+ * **docs:** add SECURITY.md ([#411](https://github.com/anthropics/anthropic-sdk-typescript/issues/411)) ([bf2ad84](https://github.com/anthropics/anthropic-sdk-typescript/commit/bf2ad8496d97de46b28575dfa37fa9cf15341eb4))
15
+ * **internal:** add slightly better logging to scripts ([#415](https://github.com/anthropics/anthropic-sdk-typescript/issues/415)) ([7a042d2](https://github.com/anthropics/anthropic-sdk-typescript/commit/7a042d2dd5a5e310f15c02277c7f7a19e9772872))
16
+ * **internal:** fix generated version numbers ([#413](https://github.com/anthropics/anthropic-sdk-typescript/issues/413)) ([ea77063](https://github.com/anthropics/anthropic-sdk-typescript/commit/ea770630897bb85caaecd39bccf478e4dd3f169c))
17
+
18
+ ## 0.20.9 (2024-05-07)
19
+
20
+ Full Changelog: [sdk-v0.20.8...sdk-v0.20.9](https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.20.8...sdk-v0.20.9)
21
+
22
+ ### Bug Fixes
23
+
24
+ * **package:** revert recent client file change ([#409](https://github.com/anthropics/anthropic-sdk-typescript/issues/409)) ([9054249](https://github.com/anthropics/anthropic-sdk-typescript/commit/90542499ccf9f5d020e71e1c8dc8935e0c86ede4))
25
+
26
+
27
+ ### Chores
28
+
29
+ * **internal:** add link to openapi spec ([#406](https://github.com/anthropics/anthropic-sdk-typescript/issues/406)) ([39c856d](https://github.com/anthropics/anthropic-sdk-typescript/commit/39c856d02abbb1d54efbacef087cc89b79bce017))
30
+ * **internal:** bump prism version ([#407](https://github.com/anthropics/anthropic-sdk-typescript/issues/407)) ([0c1eb5d](https://github.com/anthropics/anthropic-sdk-typescript/commit/0c1eb5d5c500ea95fbf9a5ccce37c74170c6a84f))
31
+ * **internal:** move client class to separate file ([#408](https://github.com/anthropics/anthropic-sdk-typescript/issues/408)) ([b5e1e4a](https://github.com/anthropics/anthropic-sdk-typescript/commit/b5e1e4a68c9fc00bede9134fa2214480bbbf5f2d))
32
+ * **internal:** refactor scripts ([#404](https://github.com/anthropics/anthropic-sdk-typescript/issues/404)) ([f60e2d8](https://github.com/anthropics/anthropic-sdk-typescript/commit/f60e2d81bb241063507d2d7e728c78e78c1c5e51))
33
+
3
34
  ## 0.20.8 (2024-04-29)
4
35
 
5
36
  Full Changelog: [sdk-v0.20.7...sdk-v0.20.8](https://github.com/anthropics/anthropic-sdk-typescript/compare/sdk-v0.20.7...sdk-v0.20.8)
@@ -0,0 +1,3 @@
1
+ declare const partialParse: (input: string) => unknown;
2
+ export { partialParse };
3
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/_vendor/partial-json-parser/parser.ts"],"names":[],"mappings":"AAKA,QAAA,MA8PE,YAAY,UAAW,MAAM,KAAG,OAAgE,CAAC;AAEnG,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,224 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.partialParse = void 0;
4
+ const tokenize = (input) => {
5
+ let current = 0;
6
+ let tokens = [];
7
+ while (current < input.length) {
8
+ let char = input[current];
9
+ if (char === '\\') {
10
+ current++;
11
+ continue;
12
+ }
13
+ if (char === '{') {
14
+ tokens.push({
15
+ type: 'brace',
16
+ value: '{',
17
+ });
18
+ current++;
19
+ continue;
20
+ }
21
+ if (char === '}') {
22
+ tokens.push({
23
+ type: 'brace',
24
+ value: '}',
25
+ });
26
+ current++;
27
+ continue;
28
+ }
29
+ if (char === '[') {
30
+ tokens.push({
31
+ type: 'paren',
32
+ value: '[',
33
+ });
34
+ current++;
35
+ continue;
36
+ }
37
+ if (char === ']') {
38
+ tokens.push({
39
+ type: 'paren',
40
+ value: ']',
41
+ });
42
+ current++;
43
+ continue;
44
+ }
45
+ if (char === ':') {
46
+ tokens.push({
47
+ type: 'separator',
48
+ value: ':',
49
+ });
50
+ current++;
51
+ continue;
52
+ }
53
+ if (char === ',') {
54
+ tokens.push({
55
+ type: 'delimiter',
56
+ value: ',',
57
+ });
58
+ current++;
59
+ continue;
60
+ }
61
+ if (char === '"') {
62
+ let value = '';
63
+ let danglingQuote = false;
64
+ char = input[++current];
65
+ while (char !== '"') {
66
+ if (current === input.length) {
67
+ danglingQuote = true;
68
+ break;
69
+ }
70
+ if (char === '\\') {
71
+ current++;
72
+ if (current === input.length) {
73
+ danglingQuote = true;
74
+ break;
75
+ }
76
+ value += char + input[current];
77
+ char = input[++current];
78
+ }
79
+ else {
80
+ value += char;
81
+ char = input[++current];
82
+ }
83
+ }
84
+ char = input[++current];
85
+ if (!danglingQuote) {
86
+ tokens.push({
87
+ type: 'string',
88
+ value,
89
+ });
90
+ }
91
+ continue;
92
+ }
93
+ let WHITESPACE = /\s/;
94
+ if (char && WHITESPACE.test(char)) {
95
+ current++;
96
+ continue;
97
+ }
98
+ let NUMBERS = /[0-9]/;
99
+ if ((char && NUMBERS.test(char)) || char === '-' || char === '.') {
100
+ let value = '';
101
+ if (char === '-') {
102
+ value += char;
103
+ char = input[++current];
104
+ }
105
+ while ((char && NUMBERS.test(char)) || char === '.') {
106
+ value += char;
107
+ char = input[++current];
108
+ }
109
+ tokens.push({
110
+ type: 'number',
111
+ value,
112
+ });
113
+ continue;
114
+ }
115
+ let LETTERS = /[a-z]/i;
116
+ if (char && LETTERS.test(char)) {
117
+ let value = '';
118
+ while (char && LETTERS.test(char)) {
119
+ if (current === input.length) {
120
+ break;
121
+ }
122
+ value += char;
123
+ char = input[++current];
124
+ }
125
+ if (value == 'true' || value == 'false') {
126
+ tokens.push({
127
+ type: 'name',
128
+ value,
129
+ });
130
+ }
131
+ else {
132
+ throw new Error(`Invalid token: ${value} is not a valid token!`);
133
+ }
134
+ continue;
135
+ }
136
+ current++;
137
+ }
138
+ return tokens;
139
+ }, strip = (tokens) => {
140
+ if (tokens.length === 0) {
141
+ return tokens;
142
+ }
143
+ let lastToken = tokens[tokens.length - 1];
144
+ switch (lastToken.type) {
145
+ case 'separator':
146
+ tokens = tokens.slice(0, tokens.length - 1);
147
+ return strip(tokens);
148
+ break;
149
+ case 'number':
150
+ let lastCharacterOfLastToken = lastToken.value[lastToken.value.length - 1];
151
+ if (lastCharacterOfLastToken === '.' || lastCharacterOfLastToken === '-') {
152
+ tokens = tokens.slice(0, tokens.length - 1);
153
+ return strip(tokens);
154
+ }
155
+ case 'string':
156
+ let tokenBeforeTheLastToken = tokens[tokens.length - 2];
157
+ if (tokenBeforeTheLastToken?.type === 'delimiter') {
158
+ tokens = tokens.slice(0, tokens.length - 1);
159
+ return strip(tokens);
160
+ }
161
+ else if (tokenBeforeTheLastToken?.type === 'brace' && tokenBeforeTheLastToken.value === '{') {
162
+ tokens = tokens.slice(0, tokens.length - 1);
163
+ return strip(tokens);
164
+ }
165
+ break;
166
+ case 'delimiter':
167
+ tokens = tokens.slice(0, tokens.length - 1);
168
+ return strip(tokens);
169
+ break;
170
+ }
171
+ return tokens;
172
+ }, unstrip = (tokens) => {
173
+ let tail = [];
174
+ tokens.map((token) => {
175
+ if (token.type === 'brace') {
176
+ if (token.value === '{') {
177
+ tail.push('}');
178
+ }
179
+ else {
180
+ tail.splice(tail.lastIndexOf('}'), 1);
181
+ }
182
+ }
183
+ if (token.type === 'paren') {
184
+ if (token.value === '[') {
185
+ tail.push(']');
186
+ }
187
+ else {
188
+ tail.splice(tail.lastIndexOf(']'), 1);
189
+ }
190
+ }
191
+ });
192
+ if (tail.length > 0) {
193
+ tail.reverse().map((item) => {
194
+ if (item === '}') {
195
+ tokens.push({
196
+ type: 'brace',
197
+ value: '}',
198
+ });
199
+ }
200
+ else if (item === ']') {
201
+ tokens.push({
202
+ type: 'paren',
203
+ value: ']',
204
+ });
205
+ }
206
+ });
207
+ }
208
+ return tokens;
209
+ }, generate = (tokens) => {
210
+ let output = '';
211
+ tokens.map((token) => {
212
+ switch (token.type) {
213
+ case 'string':
214
+ output += '"' + token.value + '"';
215
+ break;
216
+ default:
217
+ output += token.value;
218
+ break;
219
+ }
220
+ });
221
+ return output;
222
+ }, partialParse = (input) => JSON.parse(generate(unstrip(strip(tokenize(input)))));
223
+ exports.partialParse = partialParse;
224
+ //# sourceMappingURL=parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/_vendor/partial-json-parser/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,221 @@
1
+ const tokenize = (input) => {
2
+ let current = 0;
3
+ let tokens = [];
4
+ while (current < input.length) {
5
+ let char = input[current];
6
+ if (char === '\\') {
7
+ current++;
8
+ continue;
9
+ }
10
+ if (char === '{') {
11
+ tokens.push({
12
+ type: 'brace',
13
+ value: '{',
14
+ });
15
+ current++;
16
+ continue;
17
+ }
18
+ if (char === '}') {
19
+ tokens.push({
20
+ type: 'brace',
21
+ value: '}',
22
+ });
23
+ current++;
24
+ continue;
25
+ }
26
+ if (char === '[') {
27
+ tokens.push({
28
+ type: 'paren',
29
+ value: '[',
30
+ });
31
+ current++;
32
+ continue;
33
+ }
34
+ if (char === ']') {
35
+ tokens.push({
36
+ type: 'paren',
37
+ value: ']',
38
+ });
39
+ current++;
40
+ continue;
41
+ }
42
+ if (char === ':') {
43
+ tokens.push({
44
+ type: 'separator',
45
+ value: ':',
46
+ });
47
+ current++;
48
+ continue;
49
+ }
50
+ if (char === ',') {
51
+ tokens.push({
52
+ type: 'delimiter',
53
+ value: ',',
54
+ });
55
+ current++;
56
+ continue;
57
+ }
58
+ if (char === '"') {
59
+ let value = '';
60
+ let danglingQuote = false;
61
+ char = input[++current];
62
+ while (char !== '"') {
63
+ if (current === input.length) {
64
+ danglingQuote = true;
65
+ break;
66
+ }
67
+ if (char === '\\') {
68
+ current++;
69
+ if (current === input.length) {
70
+ danglingQuote = true;
71
+ break;
72
+ }
73
+ value += char + input[current];
74
+ char = input[++current];
75
+ }
76
+ else {
77
+ value += char;
78
+ char = input[++current];
79
+ }
80
+ }
81
+ char = input[++current];
82
+ if (!danglingQuote) {
83
+ tokens.push({
84
+ type: 'string',
85
+ value,
86
+ });
87
+ }
88
+ continue;
89
+ }
90
+ let WHITESPACE = /\s/;
91
+ if (char && WHITESPACE.test(char)) {
92
+ current++;
93
+ continue;
94
+ }
95
+ let NUMBERS = /[0-9]/;
96
+ if ((char && NUMBERS.test(char)) || char === '-' || char === '.') {
97
+ let value = '';
98
+ if (char === '-') {
99
+ value += char;
100
+ char = input[++current];
101
+ }
102
+ while ((char && NUMBERS.test(char)) || char === '.') {
103
+ value += char;
104
+ char = input[++current];
105
+ }
106
+ tokens.push({
107
+ type: 'number',
108
+ value,
109
+ });
110
+ continue;
111
+ }
112
+ let LETTERS = /[a-z]/i;
113
+ if (char && LETTERS.test(char)) {
114
+ let value = '';
115
+ while (char && LETTERS.test(char)) {
116
+ if (current === input.length) {
117
+ break;
118
+ }
119
+ value += char;
120
+ char = input[++current];
121
+ }
122
+ if (value == 'true' || value == 'false') {
123
+ tokens.push({
124
+ type: 'name',
125
+ value,
126
+ });
127
+ }
128
+ else {
129
+ throw new Error(`Invalid token: ${value} is not a valid token!`);
130
+ }
131
+ continue;
132
+ }
133
+ current++;
134
+ }
135
+ return tokens;
136
+ }, strip = (tokens) => {
137
+ if (tokens.length === 0) {
138
+ return tokens;
139
+ }
140
+ let lastToken = tokens[tokens.length - 1];
141
+ switch (lastToken.type) {
142
+ case 'separator':
143
+ tokens = tokens.slice(0, tokens.length - 1);
144
+ return strip(tokens);
145
+ break;
146
+ case 'number':
147
+ let lastCharacterOfLastToken = lastToken.value[lastToken.value.length - 1];
148
+ if (lastCharacterOfLastToken === '.' || lastCharacterOfLastToken === '-') {
149
+ tokens = tokens.slice(0, tokens.length - 1);
150
+ return strip(tokens);
151
+ }
152
+ case 'string':
153
+ let tokenBeforeTheLastToken = tokens[tokens.length - 2];
154
+ if (tokenBeforeTheLastToken?.type === 'delimiter') {
155
+ tokens = tokens.slice(0, tokens.length - 1);
156
+ return strip(tokens);
157
+ }
158
+ else if (tokenBeforeTheLastToken?.type === 'brace' && tokenBeforeTheLastToken.value === '{') {
159
+ tokens = tokens.slice(0, tokens.length - 1);
160
+ return strip(tokens);
161
+ }
162
+ break;
163
+ case 'delimiter':
164
+ tokens = tokens.slice(0, tokens.length - 1);
165
+ return strip(tokens);
166
+ break;
167
+ }
168
+ return tokens;
169
+ }, unstrip = (tokens) => {
170
+ let tail = [];
171
+ tokens.map((token) => {
172
+ if (token.type === 'brace') {
173
+ if (token.value === '{') {
174
+ tail.push('}');
175
+ }
176
+ else {
177
+ tail.splice(tail.lastIndexOf('}'), 1);
178
+ }
179
+ }
180
+ if (token.type === 'paren') {
181
+ if (token.value === '[') {
182
+ tail.push(']');
183
+ }
184
+ else {
185
+ tail.splice(tail.lastIndexOf(']'), 1);
186
+ }
187
+ }
188
+ });
189
+ if (tail.length > 0) {
190
+ tail.reverse().map((item) => {
191
+ if (item === '}') {
192
+ tokens.push({
193
+ type: 'brace',
194
+ value: '}',
195
+ });
196
+ }
197
+ else if (item === ']') {
198
+ tokens.push({
199
+ type: 'paren',
200
+ value: ']',
201
+ });
202
+ }
203
+ });
204
+ }
205
+ return tokens;
206
+ }, generate = (tokens) => {
207
+ let output = '';
208
+ tokens.map((token) => {
209
+ switch (token.type) {
210
+ case 'string':
211
+ output += '"' + token.value + '"';
212
+ break;
213
+ default:
214
+ output += token.value;
215
+ break;
216
+ }
217
+ });
218
+ return output;
219
+ }, partialParse = (input) => JSON.parse(generate(unstrip(strip(tokenize(input)))));
220
+ export { partialParse };
221
+ //# sourceMappingURL=parser.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.mjs","sourceRoot":"","sources":["../../src/_vendor/partial-json-parser/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+
2
+ import * as Core from '@anthropic-ai/sdk/core';
3
+ import { AnthropicError, APIUserAbortError } from '@anthropic-ai/sdk/error';
4
+ import { ToolsBetaContentBlock, Messages, ToolsBetaMessage, ToolsBetaMessageStreamEvent, ToolsBetaMessageParam, MessageCreateParams, MessageCreateParamsBase } from '@anthropic-ai/sdk/resources/beta/tools/messages';
5
+ import { type ReadableStream } from '@anthropic-ai/sdk/_shims/index';
6
+ export interface MessageStreamEvents {
7
+ connect: () => void;
8
+ streamEvent: (event: ToolsBetaMessageStreamEvent, snapshot: ToolsBetaMessage) => void;
9
+ text: (textDelta: string, textSnapshot: string) => void;
10
+ inputJson: (jsonDelta: string, jsonSnapshot: unknown) => void;
11
+ message: (message: ToolsBetaMessage) => void;
12
+ contentBlock: (content: ToolsBetaContentBlock) => void;
13
+ finalMessage: (message: ToolsBetaMessage) => void;
14
+ error: (error: AnthropicError) => void;
15
+ abort: (error: APIUserAbortError) => void;
16
+ end: () => void;
17
+ }
18
+ export declare class ToolsBetaMessageStream implements AsyncIterable<ToolsBetaMessageStreamEvent> {
19
+ #private;
20
+ messages: ToolsBetaMessageParam[];
21
+ receivedMessages: ToolsBetaMessage[];
22
+ controller: AbortController;
23
+ constructor();
24
+ /**
25
+ * Intended for use on the frontend, consuming a stream produced with
26
+ * `.toReadableStream()` on the backend.
27
+ *
28
+ * Note that messages sent to the model do not appear in `.on('message')`
29
+ * in this context.
30
+ */
31
+ static fromReadableStream(stream: ReadableStream): ToolsBetaMessageStream;
32
+ static createMessage(messages: Messages, params: MessageCreateParamsBase, options?: Core.RequestOptions): ToolsBetaMessageStream;
33
+ protected _run(executor: () => Promise<any>): void;
34
+ protected _addMessageParam(message: ToolsBetaMessageParam): void;
35
+ protected _addMessage(message: ToolsBetaMessage, emit?: boolean): void;
36
+ protected _createMessage(messages: Messages, params: MessageCreateParams, options?: Core.RequestOptions): Promise<void>;
37
+ protected _connected(): void;
38
+ get ended(): boolean;
39
+ get errored(): boolean;
40
+ get aborted(): boolean;
41
+ abort(): void;
42
+ /**
43
+ * Adds the listener function to the end of the listeners array for the event.
44
+ * No checks are made to see if the listener has already been added. Multiple calls passing
45
+ * the same combination of event and listener will result in the listener being added, and
46
+ * called, multiple times.
47
+ * @returns this MessageStream, so that calls can be chained
48
+ */
49
+ on<Event extends keyof MessageStreamEvents>(event: Event, listener: MessageStreamEvents[Event]): this;
50
+ /**
51
+ * Removes the specified listener from the listener array for the event.
52
+ * off() will remove, at most, one instance of a listener from the listener array. If any single
53
+ * listener has been added multiple times to the listener array for the specified event, then
54
+ * off() must be called multiple times to remove each instance.
55
+ * @returns this MessageStream, so that calls can be chained
56
+ */
57
+ off<Event extends keyof MessageStreamEvents>(event: Event, listener: MessageStreamEvents[Event]): this;
58
+ /**
59
+ * Adds a one-time listener function for the event. The next time the event is triggered,
60
+ * this listener is removed and then invoked.
61
+ * @returns this MessageStream, so that calls can be chained
62
+ */
63
+ once<Event extends keyof MessageStreamEvents>(event: Event, listener: MessageStreamEvents[Event]): this;
64
+ /**
65
+ * This is similar to `.once()`, but returns a Promise that resolves the next time
66
+ * the event is triggered, instead of calling a listener callback.
67
+ * @returns a Promise that resolves the next time given event is triggered,
68
+ * or rejects if an error is emitted. (If you request the 'error' event,
69
+ * returns a promise that resolves with the error).
70
+ *
71
+ * Example:
72
+ *
73
+ * const message = await stream.emitted('message') // rejects if the stream errors
74
+ */
75
+ emitted<Event extends keyof MessageStreamEvents>(event: Event): Promise<Parameters<MessageStreamEvents[Event]> extends [infer Param] ? Param : Parameters<MessageStreamEvents[Event]> extends [] ? void : Parameters<MessageStreamEvents[Event]>>;
76
+ done(): Promise<void>;
77
+ get currentMessage(): ToolsBetaMessage | undefined;
78
+ /**
79
+ * @returns a promise that resolves with the the final assistant Message response,
80
+ * or rejects if an error occurred or the stream ended prematurely without producing a Message.
81
+ */
82
+ finalMessage(): Promise<ToolsBetaMessage>;
83
+ /**
84
+ * @returns a promise that resolves with the the final assistant Message's text response, concatenated
85
+ * together if there are more than one text blocks.
86
+ * Rejects if an error occurred or the stream ended prematurely without producing a Message.
87
+ */
88
+ finalText(): Promise<string>;
89
+ protected _emit<Event extends keyof MessageStreamEvents>(event: Event, ...args: Parameters<MessageStreamEvents[Event]>): void;
90
+ protected _emitFinal(): void;
91
+ protected _fromReadableStream(readableStream: ReadableStream, options?: Core.RequestOptions): Promise<void>;
92
+ [Symbol.asyncIterator](): AsyncIterator<ToolsBetaMessageStreamEvent>;
93
+ toReadableStream(): ReadableStream;
94
+ }
95
+ //# sourceMappingURL=ToolsBetaMessageStream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolsBetaMessageStream.d.ts","sourceRoot":"","sources":["../src/lib/ToolsBetaMessageStream.ts"],"names":[],"mappings":"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"}