@anthropic-ai/sdk 0.32.1 → 0.33.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 (129) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/README.md +27 -15
  3. package/core.d.ts +12 -8
  4. package/core.d.ts.map +1 -1
  5. package/core.js +20 -14
  6. package/core.js.map +1 -1
  7. package/core.mjs +20 -14
  8. package/core.mjs.map +1 -1
  9. package/error.d.ts +18 -24
  10. package/error.d.ts.map +1 -1
  11. package/error.js +1 -31
  12. package/error.js.map +1 -1
  13. package/error.mjs +1 -31
  14. package/error.mjs.map +1 -1
  15. package/index.d.mts +21 -8
  16. package/index.d.ts +21 -8
  17. package/index.d.ts.map +1 -1
  18. package/index.js +13 -8
  19. package/index.js.map +1 -1
  20. package/index.mjs +9 -6
  21. package/index.mjs.map +1 -1
  22. package/package.json +1 -1
  23. package/resources/beta/beta.d.ts +14 -6
  24. package/resources/beta/beta.d.ts.map +1 -1
  25. package/resources/beta/beta.js +5 -4
  26. package/resources/beta/beta.js.map +1 -1
  27. package/resources/beta/beta.mjs +5 -4
  28. package/resources/beta/beta.mjs.map +1 -1
  29. package/resources/beta/index.d.ts +2 -2
  30. package/resources/beta/index.d.ts.map +1 -1
  31. package/resources/beta/index.js +4 -3
  32. package/resources/beta/index.js.map +1 -1
  33. package/resources/beta/index.mjs +1 -1
  34. package/resources/beta/index.mjs.map +1 -1
  35. package/resources/beta/messages/messages.d.ts +1 -1
  36. package/resources/beta/messages/messages.d.ts.map +1 -1
  37. package/resources/beta/models.d.ts +49 -0
  38. package/resources/beta/models.d.ts.map +1 -0
  39. package/resources/beta/models.js +30 -0
  40. package/resources/beta/models.js.map +1 -0
  41. package/resources/beta/models.mjs +25 -0
  42. package/resources/beta/models.mjs.map +1 -0
  43. package/resources/completions.d.ts +1 -1
  44. package/resources/completions.d.ts.map +1 -1
  45. package/resources/index.d.ts +4 -2
  46. package/resources/index.d.ts.map +1 -1
  47. package/resources/index.js +20 -2
  48. package/resources/index.js.map +1 -1
  49. package/resources/index.mjs +3 -1
  50. package/resources/index.mjs.map +1 -1
  51. package/resources/messages/batches.d.ts +212 -0
  52. package/resources/messages/batches.d.ts.map +1 -0
  53. package/resources/messages/batches.js +71 -0
  54. package/resources/messages/batches.js.map +1 -0
  55. package/resources/messages/batches.mjs +66 -0
  56. package/resources/messages/batches.mjs.map +1 -0
  57. package/resources/messages/index.d.ts +3 -0
  58. package/resources/messages/index.d.ts.map +1 -0
  59. package/resources/messages/index.js +10 -0
  60. package/resources/messages/index.js.map +1 -0
  61. package/resources/{beta/prompt-caching → messages}/index.mjs +1 -1
  62. package/resources/messages/index.mjs.map +1 -0
  63. package/resources/{messages.d.ts → messages/messages.d.ts} +235 -9
  64. package/resources/messages/messages.d.ts.map +1 -0
  65. package/resources/messages/messages.js +76 -0
  66. package/resources/messages/messages.js.map +1 -0
  67. package/resources/{messages.mjs → messages/messages.mjs} +20 -3
  68. package/resources/messages/messages.mjs.map +1 -0
  69. package/resources/models.d.ts +49 -0
  70. package/resources/models.d.ts.map +1 -0
  71. package/resources/models.js +30 -0
  72. package/resources/models.js.map +1 -0
  73. package/resources/models.mjs +25 -0
  74. package/resources/models.mjs.map +1 -0
  75. package/resources/shared.d.ts +42 -0
  76. package/resources/shared.d.ts.map +1 -0
  77. package/resources/shared.js +4 -0
  78. package/resources/shared.js.map +1 -0
  79. package/resources/shared.mjs +3 -0
  80. package/resources/shared.mjs.map +1 -0
  81. package/src/core.ts +52 -32
  82. package/src/error.ts +23 -39
  83. package/src/index.ts +72 -37
  84. package/src/resources/beta/beta.ts +28 -6
  85. package/src/resources/beta/index.ts +3 -1
  86. package/src/resources/beta/messages/messages.ts +1 -1
  87. package/src/resources/beta/models.ts +78 -0
  88. package/src/resources/completions.ts +1 -1
  89. package/src/resources/index.ts +11 -1
  90. package/src/resources/messages/batches.ts +298 -0
  91. package/src/resources/messages/index.ts +63 -0
  92. package/src/resources/{messages.ts → messages/messages.ts} +304 -10
  93. package/src/resources/models.ts +75 -0
  94. package/src/resources/shared.ts +72 -0
  95. package/src/version.ts +1 -1
  96. package/version.d.ts +1 -1
  97. package/version.js +1 -1
  98. package/version.mjs +1 -1
  99. package/lib/PromptCachingBetaMessageStream.d.ts +0 -96
  100. package/lib/PromptCachingBetaMessageStream.d.ts.map +0 -1
  101. package/lib/PromptCachingBetaMessageStream.js +0 -459
  102. package/lib/PromptCachingBetaMessageStream.js.map +0 -1
  103. package/lib/PromptCachingBetaMessageStream.mjs +0 -455
  104. package/lib/PromptCachingBetaMessageStream.mjs.map +0 -1
  105. package/resources/beta/prompt-caching/index.d.ts +0 -3
  106. package/resources/beta/prompt-caching/index.d.ts.map +0 -1
  107. package/resources/beta/prompt-caching/index.js +0 -9
  108. package/resources/beta/prompt-caching/index.js.map +0 -1
  109. package/resources/beta/prompt-caching/index.mjs.map +0 -1
  110. package/resources/beta/prompt-caching/messages.d.ts +0 -518
  111. package/resources/beta/prompt-caching/messages.d.ts.map +0 -1
  112. package/resources/beta/prompt-caching/messages.js +0 -29
  113. package/resources/beta/prompt-caching/messages.js.map +0 -1
  114. package/resources/beta/prompt-caching/messages.mjs +0 -25
  115. package/resources/beta/prompt-caching/messages.mjs.map +0 -1
  116. package/resources/beta/prompt-caching/prompt-caching.d.ts +0 -10
  117. package/resources/beta/prompt-caching/prompt-caching.d.ts.map +0 -1
  118. package/resources/beta/prompt-caching/prompt-caching.js +0 -39
  119. package/resources/beta/prompt-caching/prompt-caching.js.map +0 -1
  120. package/resources/beta/prompt-caching/prompt-caching.mjs +0 -12
  121. package/resources/beta/prompt-caching/prompt-caching.mjs.map +0 -1
  122. package/resources/messages.d.ts.map +0 -1
  123. package/resources/messages.js +0 -36
  124. package/resources/messages.js.map +0 -1
  125. package/resources/messages.mjs.map +0 -1
  126. package/src/lib/PromptCachingBetaMessageStream.ts +0 -579
  127. package/src/resources/beta/prompt-caching/index.ts +0 -20
  128. package/src/resources/beta/prompt-caching/messages.ts +0 -642
  129. package/src/resources/beta/prompt-caching/prompt-caching.ts +0 -47
@@ -1,459 +0,0 @@
1
- "use strict";
2
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
- if (kind === "m") throw new TypeError("Private method is not writable");
4
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
- };
8
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
- };
13
- var _PromptCachingBetaMessageStream_instances, _PromptCachingBetaMessageStream_currentMessageSnapshot, _PromptCachingBetaMessageStream_connectedPromise, _PromptCachingBetaMessageStream_resolveConnectedPromise, _PromptCachingBetaMessageStream_rejectConnectedPromise, _PromptCachingBetaMessageStream_endPromise, _PromptCachingBetaMessageStream_resolveEndPromise, _PromptCachingBetaMessageStream_rejectEndPromise, _PromptCachingBetaMessageStream_listeners, _PromptCachingBetaMessageStream_ended, _PromptCachingBetaMessageStream_errored, _PromptCachingBetaMessageStream_aborted, _PromptCachingBetaMessageStream_catchingPromiseCreated, _PromptCachingBetaMessageStream_getFinalMessage, _PromptCachingBetaMessageStream_getFinalText, _PromptCachingBetaMessageStream_handleError, _PromptCachingBetaMessageStream_beginRequest, _PromptCachingBetaMessageStream_addStreamEvent, _PromptCachingBetaMessageStream_endRequest, _PromptCachingBetaMessageStream_accumulateMessage;
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.PromptCachingBetaMessageStream = void 0;
16
- const error_1 = require("@anthropic-ai/sdk/error");
17
- const streaming_1 = require("@anthropic-ai/sdk/streaming");
18
- const parser_1 = require("../_vendor/partial-json-parser/parser.js");
19
- const JSON_BUF_PROPERTY = '__json_buf';
20
- class PromptCachingBetaMessageStream {
21
- constructor() {
22
- _PromptCachingBetaMessageStream_instances.add(this);
23
- this.messages = [];
24
- this.receivedMessages = [];
25
- _PromptCachingBetaMessageStream_currentMessageSnapshot.set(this, void 0);
26
- this.controller = new AbortController();
27
- _PromptCachingBetaMessageStream_connectedPromise.set(this, void 0);
28
- _PromptCachingBetaMessageStream_resolveConnectedPromise.set(this, () => { });
29
- _PromptCachingBetaMessageStream_rejectConnectedPromise.set(this, () => { });
30
- _PromptCachingBetaMessageStream_endPromise.set(this, void 0);
31
- _PromptCachingBetaMessageStream_resolveEndPromise.set(this, () => { });
32
- _PromptCachingBetaMessageStream_rejectEndPromise.set(this, () => { });
33
- _PromptCachingBetaMessageStream_listeners.set(this, {});
34
- _PromptCachingBetaMessageStream_ended.set(this, false);
35
- _PromptCachingBetaMessageStream_errored.set(this, false);
36
- _PromptCachingBetaMessageStream_aborted.set(this, false);
37
- _PromptCachingBetaMessageStream_catchingPromiseCreated.set(this, false);
38
- _PromptCachingBetaMessageStream_handleError.set(this, (error) => {
39
- __classPrivateFieldSet(this, _PromptCachingBetaMessageStream_errored, true, "f");
40
- if (error instanceof Error && error.name === 'AbortError') {
41
- error = new error_1.APIUserAbortError();
42
- }
43
- if (error instanceof error_1.APIUserAbortError) {
44
- __classPrivateFieldSet(this, _PromptCachingBetaMessageStream_aborted, true, "f");
45
- return this._emit('abort', error);
46
- }
47
- if (error instanceof error_1.AnthropicError) {
48
- return this._emit('error', error);
49
- }
50
- if (error instanceof Error) {
51
- const anthropicError = new error_1.AnthropicError(error.message);
52
- // @ts-ignore
53
- anthropicError.cause = error;
54
- return this._emit('error', anthropicError);
55
- }
56
- return this._emit('error', new error_1.AnthropicError(String(error)));
57
- });
58
- __classPrivateFieldSet(this, _PromptCachingBetaMessageStream_connectedPromise, new Promise((resolve, reject) => {
59
- __classPrivateFieldSet(this, _PromptCachingBetaMessageStream_resolveConnectedPromise, resolve, "f");
60
- __classPrivateFieldSet(this, _PromptCachingBetaMessageStream_rejectConnectedPromise, reject, "f");
61
- }), "f");
62
- __classPrivateFieldSet(this, _PromptCachingBetaMessageStream_endPromise, new Promise((resolve, reject) => {
63
- __classPrivateFieldSet(this, _PromptCachingBetaMessageStream_resolveEndPromise, resolve, "f");
64
- __classPrivateFieldSet(this, _PromptCachingBetaMessageStream_rejectEndPromise, reject, "f");
65
- }), "f");
66
- // Don't let these promises cause unhandled rejection errors.
67
- // we will manually cause an unhandled rejection error later
68
- // if the user hasn't registered any error listener or called
69
- // any promise-returning method.
70
- __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_connectedPromise, "f").catch(() => { });
71
- __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_endPromise, "f").catch(() => { });
72
- }
73
- /**
74
- * Intended for use on the frontend, consuming a stream produced with
75
- * `.toReadableStream()` on the backend.
76
- *
77
- * Note that messages sent to the model do not appear in `.on('message')`
78
- * in this context.
79
- */
80
- static fromReadableStream(stream) {
81
- const runner = new PromptCachingBetaMessageStream();
82
- runner._run(() => runner._fromReadableStream(stream));
83
- return runner;
84
- }
85
- static createMessage(messages, params, options) {
86
- const runner = new PromptCachingBetaMessageStream();
87
- for (const message of params.messages) {
88
- runner._addPromptCachingBetaMessageParam(message);
89
- }
90
- runner._run(() => runner._createPromptCachingBetaMessage(messages, { ...params, stream: true }, { ...options, headers: { ...options?.headers, 'X-Stainless-Helper-Method': 'stream' } }));
91
- return runner;
92
- }
93
- _run(executor) {
94
- executor().then(() => {
95
- this._emitFinal();
96
- this._emit('end');
97
- }, __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_handleError, "f"));
98
- }
99
- _addPromptCachingBetaMessageParam(message) {
100
- this.messages.push(message);
101
- }
102
- _addPromptCachingBetaMessage(message, emit = true) {
103
- this.receivedMessages.push(message);
104
- if (emit) {
105
- this._emit('message', message);
106
- }
107
- }
108
- async _createPromptCachingBetaMessage(messages, params, options) {
109
- const signal = options?.signal;
110
- if (signal) {
111
- if (signal.aborted)
112
- this.controller.abort();
113
- signal.addEventListener('abort', () => this.controller.abort());
114
- }
115
- __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_instances, "m", _PromptCachingBetaMessageStream_beginRequest).call(this);
116
- const stream = await messages.create({ ...params, stream: true }, { ...options, signal: this.controller.signal });
117
- this._connected();
118
- for await (const event of stream) {
119
- __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_instances, "m", _PromptCachingBetaMessageStream_addStreamEvent).call(this, event);
120
- }
121
- if (stream.controller.signal?.aborted) {
122
- throw new error_1.APIUserAbortError();
123
- }
124
- __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_instances, "m", _PromptCachingBetaMessageStream_endRequest).call(this);
125
- }
126
- _connected() {
127
- if (this.ended)
128
- return;
129
- __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_resolveConnectedPromise, "f").call(this);
130
- this._emit('connect');
131
- }
132
- get ended() {
133
- return __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_ended, "f");
134
- }
135
- get errored() {
136
- return __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_errored, "f");
137
- }
138
- get aborted() {
139
- return __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_aborted, "f");
140
- }
141
- abort() {
142
- this.controller.abort();
143
- }
144
- /**
145
- * Adds the listener function to the end of the listeners array for the event.
146
- * No checks are made to see if the listener has already been added. Multiple calls passing
147
- * the same combination of event and listener will result in the listener being added, and
148
- * called, multiple times.
149
- * @returns this PromptCachingBetaMessageStream, so that calls can be chained
150
- */
151
- on(event, listener) {
152
- const listeners = __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_listeners, "f")[event] || (__classPrivateFieldGet(this, _PromptCachingBetaMessageStream_listeners, "f")[event] = []);
153
- listeners.push({ listener });
154
- return this;
155
- }
156
- /**
157
- * Removes the specified listener from the listener array for the event.
158
- * off() will remove, at most, one instance of a listener from the listener array. If any single
159
- * listener has been added multiple times to the listener array for the specified event, then
160
- * off() must be called multiple times to remove each instance.
161
- * @returns this PromptCachingBetaMessageStream, so that calls can be chained
162
- */
163
- off(event, listener) {
164
- const listeners = __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_listeners, "f")[event];
165
- if (!listeners)
166
- return this;
167
- const index = listeners.findIndex((l) => l.listener === listener);
168
- if (index >= 0)
169
- listeners.splice(index, 1);
170
- return this;
171
- }
172
- /**
173
- * Adds a one-time listener function for the event. The next time the event is triggered,
174
- * this listener is removed and then invoked.
175
- * @returns this PromptCachingBetaMessageStream, so that calls can be chained
176
- */
177
- once(event, listener) {
178
- const listeners = __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_listeners, "f")[event] || (__classPrivateFieldGet(this, _PromptCachingBetaMessageStream_listeners, "f")[event] = []);
179
- listeners.push({ listener, once: true });
180
- return this;
181
- }
182
- /**
183
- * This is similar to `.once()`, but returns a Promise that resolves the next time
184
- * the event is triggered, instead of calling a listener callback.
185
- * @returns a Promise that resolves the next time given event is triggered,
186
- * or rejects if an error is emitted. (If you request the 'error' event,
187
- * returns a promise that resolves with the error).
188
- *
189
- * Example:
190
- *
191
- * const message = await stream.emitted('message') // rejects if the stream errors
192
- */
193
- emitted(event) {
194
- return new Promise((resolve, reject) => {
195
- __classPrivateFieldSet(this, _PromptCachingBetaMessageStream_catchingPromiseCreated, true, "f");
196
- if (event !== 'error')
197
- this.once('error', reject);
198
- this.once(event, resolve);
199
- });
200
- }
201
- async done() {
202
- __classPrivateFieldSet(this, _PromptCachingBetaMessageStream_catchingPromiseCreated, true, "f");
203
- await __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_endPromise, "f");
204
- }
205
- get currentMessage() {
206
- return __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_currentMessageSnapshot, "f");
207
- }
208
- /**
209
- * @returns a promise that resolves with the the final assistant PromptCachingBetaMessage response,
210
- * or rejects if an error occurred or the stream ended prematurely without producing a PromptCachingBetaMessage.
211
- */
212
- async finalMessage() {
213
- await this.done();
214
- return __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_instances, "m", _PromptCachingBetaMessageStream_getFinalMessage).call(this);
215
- }
216
- /**
217
- * @returns a promise that resolves with the the final assistant PromptCachingBetaMessage's text response, concatenated
218
- * together if there are more than one text blocks.
219
- * Rejects if an error occurred or the stream ended prematurely without producing a PromptCachingBetaMessage.
220
- */
221
- async finalText() {
222
- await this.done();
223
- return __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_instances, "m", _PromptCachingBetaMessageStream_getFinalText).call(this);
224
- }
225
- _emit(event, ...args) {
226
- // make sure we don't emit any PromptCachingBetaMessageStreamEvents after end
227
- if (__classPrivateFieldGet(this, _PromptCachingBetaMessageStream_ended, "f"))
228
- return;
229
- if (event === 'end') {
230
- __classPrivateFieldSet(this, _PromptCachingBetaMessageStream_ended, true, "f");
231
- __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_resolveEndPromise, "f").call(this);
232
- }
233
- const listeners = __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_listeners, "f")[event];
234
- if (listeners) {
235
- __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_listeners, "f")[event] = listeners.filter((l) => !l.once);
236
- listeners.forEach(({ listener }) => listener(...args));
237
- }
238
- if (event === 'abort') {
239
- const error = args[0];
240
- if (!__classPrivateFieldGet(this, _PromptCachingBetaMessageStream_catchingPromiseCreated, "f") && !listeners?.length) {
241
- Promise.reject(error);
242
- }
243
- __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_rejectConnectedPromise, "f").call(this, error);
244
- __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_rejectEndPromise, "f").call(this, error);
245
- this._emit('end');
246
- return;
247
- }
248
- if (event === 'error') {
249
- // NOTE: _emit('error', error) should only be called from #handleError().
250
- const error = args[0];
251
- if (!__classPrivateFieldGet(this, _PromptCachingBetaMessageStream_catchingPromiseCreated, "f") && !listeners?.length) {
252
- // Trigger an unhandled rejection if the user hasn't registered any error handlers.
253
- // If you are seeing stack traces here, make sure to handle errors via either:
254
- // - runner.on('error', () => ...)
255
- // - await runner.done()
256
- // - await runner.final...()
257
- // - etc.
258
- Promise.reject(error);
259
- }
260
- __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_rejectConnectedPromise, "f").call(this, error);
261
- __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_rejectEndPromise, "f").call(this, error);
262
- this._emit('end');
263
- }
264
- }
265
- _emitFinal() {
266
- const finalPromptCachingBetaMessage = this.receivedMessages.at(-1);
267
- if (finalPromptCachingBetaMessage) {
268
- this._emit('finalPromptCachingBetaMessage', __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_instances, "m", _PromptCachingBetaMessageStream_getFinalMessage).call(this));
269
- }
270
- }
271
- async _fromReadableStream(readableStream, options) {
272
- const signal = options?.signal;
273
- if (signal) {
274
- if (signal.aborted)
275
- this.controller.abort();
276
- signal.addEventListener('abort', () => this.controller.abort());
277
- }
278
- __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_instances, "m", _PromptCachingBetaMessageStream_beginRequest).call(this);
279
- this._connected();
280
- const stream = streaming_1.Stream.fromReadableStream(readableStream, this.controller);
281
- for await (const event of stream) {
282
- __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_instances, "m", _PromptCachingBetaMessageStream_addStreamEvent).call(this, event);
283
- }
284
- if (stream.controller.signal?.aborted) {
285
- throw new error_1.APIUserAbortError();
286
- }
287
- __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_instances, "m", _PromptCachingBetaMessageStream_endRequest).call(this);
288
- }
289
- [(_PromptCachingBetaMessageStream_currentMessageSnapshot = new WeakMap(), _PromptCachingBetaMessageStream_connectedPromise = new WeakMap(), _PromptCachingBetaMessageStream_resolveConnectedPromise = new WeakMap(), _PromptCachingBetaMessageStream_rejectConnectedPromise = new WeakMap(), _PromptCachingBetaMessageStream_endPromise = new WeakMap(), _PromptCachingBetaMessageStream_resolveEndPromise = new WeakMap(), _PromptCachingBetaMessageStream_rejectEndPromise = new WeakMap(), _PromptCachingBetaMessageStream_listeners = new WeakMap(), _PromptCachingBetaMessageStream_ended = new WeakMap(), _PromptCachingBetaMessageStream_errored = new WeakMap(), _PromptCachingBetaMessageStream_aborted = new WeakMap(), _PromptCachingBetaMessageStream_catchingPromiseCreated = new WeakMap(), _PromptCachingBetaMessageStream_handleError = new WeakMap(), _PromptCachingBetaMessageStream_instances = new WeakSet(), _PromptCachingBetaMessageStream_getFinalMessage = function _PromptCachingBetaMessageStream_getFinalMessage() {
290
- if (this.receivedMessages.length === 0) {
291
- throw new error_1.AnthropicError('stream ended without producing a PromptCachingBetaMessage with role=assistant');
292
- }
293
- return this.receivedMessages.at(-1);
294
- }, _PromptCachingBetaMessageStream_getFinalText = function _PromptCachingBetaMessageStream_getFinalText() {
295
- if (this.receivedMessages.length === 0) {
296
- throw new error_1.AnthropicError('stream ended without producing a PromptCachingBetaMessage with role=assistant');
297
- }
298
- const textBlocks = this.receivedMessages
299
- .at(-1)
300
- .content.filter((block) => block.type === 'text')
301
- .map((block) => block.text);
302
- if (textBlocks.length === 0) {
303
- throw new error_1.AnthropicError('stream ended without producing a content block with type=text');
304
- }
305
- return textBlocks.join(' ');
306
- }, _PromptCachingBetaMessageStream_beginRequest = function _PromptCachingBetaMessageStream_beginRequest() {
307
- if (this.ended)
308
- return;
309
- __classPrivateFieldSet(this, _PromptCachingBetaMessageStream_currentMessageSnapshot, undefined, "f");
310
- }, _PromptCachingBetaMessageStream_addStreamEvent = function _PromptCachingBetaMessageStream_addStreamEvent(event) {
311
- if (this.ended)
312
- return;
313
- const messageSnapshot = __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_instances, "m", _PromptCachingBetaMessageStream_accumulateMessage).call(this, event);
314
- this._emit('streamEvent', event, messageSnapshot);
315
- switch (event.type) {
316
- case 'content_block_delta': {
317
- const content = messageSnapshot.content.at(-1);
318
- if (event.delta.type === 'text_delta' && content.type === 'text') {
319
- this._emit('text', event.delta.text, content.text || '');
320
- }
321
- else if (event.delta.type === 'input_json_delta' && content.type === 'tool_use') {
322
- if (content.input) {
323
- this._emit('inputJson', event.delta.partial_json, content.input);
324
- }
325
- }
326
- break;
327
- }
328
- case 'message_stop': {
329
- this._addPromptCachingBetaMessageParam(messageSnapshot);
330
- this._addPromptCachingBetaMessage(messageSnapshot, true);
331
- break;
332
- }
333
- case 'content_block_stop': {
334
- this._emit('contentBlock', messageSnapshot.content.at(-1));
335
- break;
336
- }
337
- case 'message_start': {
338
- __classPrivateFieldSet(this, _PromptCachingBetaMessageStream_currentMessageSnapshot, messageSnapshot, "f");
339
- break;
340
- }
341
- case 'content_block_start':
342
- case 'message_delta':
343
- break;
344
- }
345
- }, _PromptCachingBetaMessageStream_endRequest = function _PromptCachingBetaMessageStream_endRequest() {
346
- if (this.ended) {
347
- throw new error_1.AnthropicError(`stream has ended, this shouldn't happen`);
348
- }
349
- const snapshot = __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_currentMessageSnapshot, "f");
350
- if (!snapshot) {
351
- throw new error_1.AnthropicError(`request ended without sending any chunks`);
352
- }
353
- __classPrivateFieldSet(this, _PromptCachingBetaMessageStream_currentMessageSnapshot, undefined, "f");
354
- return snapshot;
355
- }, _PromptCachingBetaMessageStream_accumulateMessage = function _PromptCachingBetaMessageStream_accumulateMessage(event) {
356
- let snapshot = __classPrivateFieldGet(this, _PromptCachingBetaMessageStream_currentMessageSnapshot, "f");
357
- if (event.type === 'message_start') {
358
- if (snapshot) {
359
- throw new error_1.AnthropicError(`Unexpected event order, got ${event.type} before receiving "message_stop"`);
360
- }
361
- return event.message;
362
- }
363
- if (!snapshot) {
364
- throw new error_1.AnthropicError(`Unexpected event order, got ${event.type} before "message_start"`);
365
- }
366
- switch (event.type) {
367
- case 'message_stop':
368
- return snapshot;
369
- case 'message_delta':
370
- snapshot.stop_reason = event.delta.stop_reason;
371
- snapshot.stop_sequence = event.delta.stop_sequence;
372
- snapshot.usage.output_tokens = event.usage.output_tokens;
373
- return snapshot;
374
- case 'content_block_start':
375
- snapshot.content.push(event.content_block);
376
- return snapshot;
377
- case 'content_block_delta': {
378
- const snapshotContent = snapshot.content.at(event.index);
379
- if (snapshotContent?.type === 'text' && event.delta.type === 'text_delta') {
380
- snapshotContent.text += event.delta.text;
381
- }
382
- else if (snapshotContent?.type === 'tool_use' && event.delta.type === 'input_json_delta') {
383
- // we need to keep track of the raw JSON string as well so that we can
384
- // re-parse it for each delta, for now we just store it as an untyped
385
- // non-enumerable property on the snapshot
386
- let jsonBuf = snapshotContent[JSON_BUF_PROPERTY] || '';
387
- jsonBuf += event.delta.partial_json;
388
- Object.defineProperty(snapshotContent, JSON_BUF_PROPERTY, {
389
- value: jsonBuf,
390
- enumerable: false,
391
- writable: true,
392
- });
393
- if (jsonBuf) {
394
- snapshotContent.input = (0, parser_1.partialParse)(jsonBuf);
395
- }
396
- }
397
- return snapshot;
398
- }
399
- case 'content_block_stop':
400
- return snapshot;
401
- }
402
- }, Symbol.asyncIterator)]() {
403
- const pushQueue = [];
404
- const readQueue = [];
405
- let done = false;
406
- this.on('streamEvent', (event) => {
407
- const reader = readQueue.shift();
408
- if (reader) {
409
- reader.resolve(event);
410
- }
411
- else {
412
- pushQueue.push(event);
413
- }
414
- });
415
- this.on('end', () => {
416
- done = true;
417
- for (const reader of readQueue) {
418
- reader.resolve(undefined);
419
- }
420
- readQueue.length = 0;
421
- });
422
- this.on('abort', (err) => {
423
- done = true;
424
- for (const reader of readQueue) {
425
- reader.reject(err);
426
- }
427
- readQueue.length = 0;
428
- });
429
- this.on('error', (err) => {
430
- done = true;
431
- for (const reader of readQueue) {
432
- reader.reject(err);
433
- }
434
- readQueue.length = 0;
435
- });
436
- return {
437
- next: async () => {
438
- if (!pushQueue.length) {
439
- if (done) {
440
- return { value: undefined, done: true };
441
- }
442
- return new Promise((resolve, reject) => readQueue.push({ resolve, reject })).then((chunk) => (chunk ? { value: chunk, done: false } : { value: undefined, done: true }));
443
- }
444
- const chunk = pushQueue.shift();
445
- return { value: chunk, done: false };
446
- },
447
- return: async () => {
448
- this.abort();
449
- return { value: undefined, done: true };
450
- },
451
- };
452
- }
453
- toReadableStream() {
454
- const stream = new streaming_1.Stream(this[Symbol.asyncIterator].bind(this), this.controller);
455
- return stream.toReadableStream();
456
- }
457
- }
458
- exports.PromptCachingBetaMessageStream = PromptCachingBetaMessageStream;
459
- //# sourceMappingURL=PromptCachingBetaMessageStream.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PromptCachingBetaMessageStream.js","sourceRoot":"","sources":["../src/lib/PromptCachingBetaMessageStream.ts"],"names":[],"mappings":"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"}