@anthropic-ai/sdk 0.54.0 → 0.55.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 +41 -0
- package/README.md +3 -4
- package/client.d.mts +8 -5
- package/client.d.mts.map +1 -1
- package/client.d.ts +8 -5
- package/client.d.ts.map +1 -1
- package/client.js +31 -24
- package/client.js.map +1 -1
- package/client.mjs +20 -13
- package/client.mjs.map +1 -1
- package/core/resource.d.mts +1 -1
- package/core/resource.d.mts.map +1 -1
- package/core/resource.d.ts +1 -1
- package/core/resource.d.ts.map +1 -1
- package/core/resource.js.map +1 -1
- package/core/resource.mjs.map +1 -1
- package/internal/headers.d.mts.map +1 -1
- package/internal/headers.d.ts.map +1 -1
- package/internal/headers.js +3 -3
- package/internal/headers.js.map +1 -1
- package/internal/headers.mjs +3 -3
- package/internal/headers.mjs.map +1 -1
- package/internal/request-options.d.mts +1 -0
- package/internal/request-options.d.mts.map +1 -1
- package/internal/request-options.d.ts +1 -0
- package/internal/request-options.d.ts.map +1 -1
- package/internal/request-options.js.map +1 -1
- package/internal/request-options.mjs.map +1 -1
- package/internal/types.d.mts +8 -6
- package/internal/types.d.mts.map +1 -1
- package/internal/types.d.ts +8 -6
- package/internal/types.d.ts.map +1 -1
- package/internal/uploads.js +1 -1
- package/internal/uploads.js.map +1 -1
- package/internal/uploads.mjs +1 -1
- package/internal/uploads.mjs.map +1 -1
- package/internal/utils/log.js +1 -1
- package/internal/utils/log.js.map +1 -1
- package/internal/utils/log.mjs +1 -1
- package/internal/utils/log.mjs.map +1 -1
- package/internal/utils/path.d.mts.map +1 -1
- package/internal/utils/path.d.ts.map +1 -1
- package/internal/utils/path.js +26 -5
- package/internal/utils/path.js.map +1 -1
- package/internal/utils/path.mjs +27 -6
- package/internal/utils/path.mjs.map +1 -1
- package/internal/utils/values.d.mts +2 -0
- package/internal/utils/values.d.mts.map +1 -1
- package/internal/utils/values.d.ts +2 -0
- package/internal/utils/values.d.ts.map +1 -1
- package/internal/utils/values.js +4 -1
- package/internal/utils/values.js.map +1 -1
- package/internal/utils/values.mjs +2 -0
- package/internal/utils/values.mjs.map +1 -1
- package/lib/BetaMessageStream.d.mts.map +1 -1
- package/lib/BetaMessageStream.d.ts.map +1 -1
- package/lib/BetaMessageStream.js +58 -27
- package/lib/BetaMessageStream.js.map +1 -1
- package/lib/BetaMessageStream.mjs +58 -27
- package/lib/BetaMessageStream.mjs.map +1 -1
- package/lib/MessageStream.d.mts.map +1 -1
- package/lib/MessageStream.d.ts.map +1 -1
- package/lib/MessageStream.js +59 -28
- package/lib/MessageStream.js.map +1 -1
- package/lib/MessageStream.mjs +59 -28
- package/lib/MessageStream.mjs.map +1 -1
- package/package.json +1 -1
- package/src/client.ts +34 -13
- package/src/core/resource.ts +1 -1
- package/src/internal/headers.ts +4 -4
- package/src/internal/request-options.ts +1 -0
- package/src/internal/types.ts +9 -6
- package/src/internal/uploads.ts +1 -1
- package/src/internal/utils/log.ts +1 -1
- package/src/internal/utils/path.ts +31 -8
- package/src/internal/utils/values.ts +3 -0
- package/src/lib/BetaMessageStream.ts +58 -29
- package/src/lib/MessageStream.ts +59 -30
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
|
@@ -181,22 +181,30 @@ export class BetaMessageStream implements AsyncIterable<BetaMessageStreamEvent>
|
|
|
181
181
|
options?: RequestOptions,
|
|
182
182
|
): Promise<void> {
|
|
183
183
|
const signal = options?.signal;
|
|
184
|
+
let abortHandler: (() => void) | undefined;
|
|
184
185
|
if (signal) {
|
|
185
186
|
if (signal.aborted) this.controller.abort();
|
|
186
|
-
|
|
187
|
+
abortHandler = this.controller.abort.bind(this.controller);
|
|
188
|
+
signal.addEventListener('abort', abortHandler);
|
|
187
189
|
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
190
|
+
try {
|
|
191
|
+
this.#beginRequest();
|
|
192
|
+
const { response, data: stream } = await messages
|
|
193
|
+
.create({ ...params, stream: true }, { ...options, signal: this.controller.signal })
|
|
194
|
+
.withResponse();
|
|
195
|
+
this._connected(response);
|
|
196
|
+
for await (const event of stream) {
|
|
197
|
+
this.#addStreamEvent(event);
|
|
198
|
+
}
|
|
199
|
+
if (stream.controller.signal?.aborted) {
|
|
200
|
+
throw new APIUserAbortError();
|
|
201
|
+
}
|
|
202
|
+
this.#endRequest();
|
|
203
|
+
} finally {
|
|
204
|
+
if (signal && abortHandler) {
|
|
205
|
+
signal.removeEventListener('abort', abortHandler);
|
|
206
|
+
}
|
|
198
207
|
}
|
|
199
|
-
this.#endRequest();
|
|
200
208
|
}
|
|
201
209
|
|
|
202
210
|
protected _connected(response: Response | null) {
|
|
@@ -497,20 +505,28 @@ export class BetaMessageStream implements AsyncIterable<BetaMessageStreamEvent>
|
|
|
497
505
|
options?: RequestOptions,
|
|
498
506
|
): Promise<void> {
|
|
499
507
|
const signal = options?.signal;
|
|
508
|
+
let abortHandler: (() => void) | undefined;
|
|
500
509
|
if (signal) {
|
|
501
510
|
if (signal.aborted) this.controller.abort();
|
|
502
|
-
|
|
511
|
+
abortHandler = this.controller.abort.bind(this.controller);
|
|
512
|
+
signal.addEventListener('abort', abortHandler);
|
|
503
513
|
}
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
514
|
+
try {
|
|
515
|
+
this.#beginRequest();
|
|
516
|
+
this._connected(null);
|
|
517
|
+
const stream = Stream.fromReadableStream<BetaMessageStreamEvent>(readableStream, this.controller);
|
|
518
|
+
for await (const event of stream) {
|
|
519
|
+
this.#addStreamEvent(event);
|
|
520
|
+
}
|
|
521
|
+
if (stream.controller.signal?.aborted) {
|
|
522
|
+
throw new APIUserAbortError();
|
|
523
|
+
}
|
|
524
|
+
this.#endRequest();
|
|
525
|
+
} finally {
|
|
526
|
+
if (signal && abortHandler) {
|
|
527
|
+
signal.removeEventListener('abort', abortHandler);
|
|
528
|
+
}
|
|
512
529
|
}
|
|
513
|
-
this.#endRequest();
|
|
514
530
|
}
|
|
515
531
|
|
|
516
532
|
/**
|
|
@@ -567,14 +583,19 @@ export class BetaMessageStream implements AsyncIterable<BetaMessageStreamEvent>
|
|
|
567
583
|
switch (event.delta.type) {
|
|
568
584
|
case 'text_delta': {
|
|
569
585
|
if (snapshotContent?.type === 'text') {
|
|
570
|
-
|
|
586
|
+
snapshot.content[event.index] = {
|
|
587
|
+
...snapshotContent,
|
|
588
|
+
text: (snapshotContent.text || '') + event.delta.text,
|
|
589
|
+
};
|
|
571
590
|
}
|
|
572
591
|
break;
|
|
573
592
|
}
|
|
574
593
|
case 'citations_delta': {
|
|
575
594
|
if (snapshotContent?.type === 'text') {
|
|
576
|
-
|
|
577
|
-
|
|
595
|
+
snapshot.content[event.index] = {
|
|
596
|
+
...snapshotContent,
|
|
597
|
+
citations: [...(snapshotContent.citations ?? []), event.delta.citation],
|
|
598
|
+
};
|
|
578
599
|
}
|
|
579
600
|
break;
|
|
580
601
|
}
|
|
@@ -586,7 +607,8 @@ export class BetaMessageStream implements AsyncIterable<BetaMessageStreamEvent>
|
|
|
586
607
|
let jsonBuf = (snapshotContent as any)[JSON_BUF_PROPERTY] || '';
|
|
587
608
|
jsonBuf += event.delta.partial_json;
|
|
588
609
|
|
|
589
|
-
|
|
610
|
+
const newContent = { ...snapshotContent };
|
|
611
|
+
Object.defineProperty(newContent, JSON_BUF_PROPERTY, {
|
|
590
612
|
value: jsonBuf,
|
|
591
613
|
enumerable: false,
|
|
592
614
|
writable: true,
|
|
@@ -594,7 +616,7 @@ export class BetaMessageStream implements AsyncIterable<BetaMessageStreamEvent>
|
|
|
594
616
|
|
|
595
617
|
if (jsonBuf) {
|
|
596
618
|
try {
|
|
597
|
-
|
|
619
|
+
newContent.input = partialParse(jsonBuf);
|
|
598
620
|
} catch (err) {
|
|
599
621
|
const error = new AnthropicError(
|
|
600
622
|
`Unable to parse tool parameter JSON from model. Please retry your request or adjust your prompt. Error: ${err}. JSON: ${jsonBuf}`,
|
|
@@ -602,18 +624,25 @@ export class BetaMessageStream implements AsyncIterable<BetaMessageStreamEvent>
|
|
|
602
624
|
this.#handleError(error);
|
|
603
625
|
}
|
|
604
626
|
}
|
|
627
|
+
snapshot.content[event.index] = newContent;
|
|
605
628
|
}
|
|
606
629
|
break;
|
|
607
630
|
}
|
|
608
631
|
case 'thinking_delta': {
|
|
609
632
|
if (snapshotContent?.type === 'thinking') {
|
|
610
|
-
|
|
633
|
+
snapshot.content[event.index] = {
|
|
634
|
+
...snapshotContent,
|
|
635
|
+
thinking: snapshotContent.thinking + event.delta.thinking,
|
|
636
|
+
};
|
|
611
637
|
}
|
|
612
638
|
break;
|
|
613
639
|
}
|
|
614
640
|
case 'signature_delta': {
|
|
615
641
|
if (snapshotContent?.type === 'thinking') {
|
|
616
|
-
|
|
642
|
+
snapshot.content[event.index] = {
|
|
643
|
+
...snapshotContent,
|
|
644
|
+
signature: event.delta.signature,
|
|
645
|
+
};
|
|
617
646
|
}
|
|
618
647
|
break;
|
|
619
648
|
}
|
package/src/lib/MessageStream.ts
CHANGED
|
@@ -180,22 +180,30 @@ export class MessageStream implements AsyncIterable<MessageStreamEvent> {
|
|
|
180
180
|
options?: RequestOptions,
|
|
181
181
|
): Promise<void> {
|
|
182
182
|
const signal = options?.signal;
|
|
183
|
+
let abortHandler: (() => void) | undefined;
|
|
183
184
|
if (signal) {
|
|
184
185
|
if (signal.aborted) this.controller.abort();
|
|
185
|
-
|
|
186
|
+
abortHandler = this.controller.abort.bind(this.controller);
|
|
187
|
+
signal.addEventListener('abort', abortHandler);
|
|
186
188
|
}
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
189
|
+
try {
|
|
190
|
+
this.#beginRequest();
|
|
191
|
+
const { response, data: stream } = await messages
|
|
192
|
+
.create({ ...params, stream: true }, { ...options, signal: this.controller.signal })
|
|
193
|
+
.withResponse();
|
|
194
|
+
this._connected(response);
|
|
195
|
+
for await (const event of stream) {
|
|
196
|
+
this.#addStreamEvent(event);
|
|
197
|
+
}
|
|
198
|
+
if (stream.controller.signal?.aborted) {
|
|
199
|
+
throw new APIUserAbortError();
|
|
200
|
+
}
|
|
201
|
+
this.#endRequest();
|
|
202
|
+
} finally {
|
|
203
|
+
if (signal && abortHandler) {
|
|
204
|
+
signal.removeEventListener('abort', abortHandler);
|
|
205
|
+
}
|
|
197
206
|
}
|
|
198
|
-
this.#endRequest();
|
|
199
207
|
}
|
|
200
208
|
|
|
201
209
|
protected _connected(response: Response | null) {
|
|
@@ -496,20 +504,28 @@ export class MessageStream implements AsyncIterable<MessageStreamEvent> {
|
|
|
496
504
|
options?: RequestOptions,
|
|
497
505
|
): Promise<void> {
|
|
498
506
|
const signal = options?.signal;
|
|
507
|
+
let abortHandler: (() => void) | undefined;
|
|
499
508
|
if (signal) {
|
|
500
509
|
if (signal.aborted) this.controller.abort();
|
|
501
|
-
|
|
510
|
+
abortHandler = this.controller.abort.bind(this.controller);
|
|
511
|
+
signal.addEventListener('abort', abortHandler);
|
|
502
512
|
}
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
513
|
+
try {
|
|
514
|
+
this.#beginRequest();
|
|
515
|
+
this._connected(null);
|
|
516
|
+
const stream = Stream.fromReadableStream<MessageStreamEvent>(readableStream, this.controller);
|
|
517
|
+
for await (const event of stream) {
|
|
518
|
+
this.#addStreamEvent(event);
|
|
519
|
+
}
|
|
520
|
+
if (stream.controller.signal?.aborted) {
|
|
521
|
+
throw new APIUserAbortError();
|
|
522
|
+
}
|
|
523
|
+
this.#endRequest();
|
|
524
|
+
} finally {
|
|
525
|
+
if (signal && abortHandler) {
|
|
526
|
+
signal.removeEventListener('abort', abortHandler);
|
|
527
|
+
}
|
|
511
528
|
}
|
|
512
|
-
this.#endRequest();
|
|
513
529
|
}
|
|
514
530
|
|
|
515
531
|
/**
|
|
@@ -558,7 +574,7 @@ export class MessageStream implements AsyncIterable<MessageStreamEvent> {
|
|
|
558
574
|
|
|
559
575
|
return snapshot;
|
|
560
576
|
case 'content_block_start':
|
|
561
|
-
snapshot.content.push(event.content_block);
|
|
577
|
+
snapshot.content.push({ ...event.content_block });
|
|
562
578
|
return snapshot;
|
|
563
579
|
case 'content_block_delta': {
|
|
564
580
|
const snapshotContent = snapshot.content.at(event.index);
|
|
@@ -566,14 +582,19 @@ export class MessageStream implements AsyncIterable<MessageStreamEvent> {
|
|
|
566
582
|
switch (event.delta.type) {
|
|
567
583
|
case 'text_delta': {
|
|
568
584
|
if (snapshotContent?.type === 'text') {
|
|
569
|
-
|
|
585
|
+
snapshot.content[event.index] = {
|
|
586
|
+
...snapshotContent,
|
|
587
|
+
text: (snapshotContent.text || '') + event.delta.text,
|
|
588
|
+
};
|
|
570
589
|
}
|
|
571
590
|
break;
|
|
572
591
|
}
|
|
573
592
|
case 'citations_delta': {
|
|
574
593
|
if (snapshotContent?.type === 'text') {
|
|
575
|
-
|
|
576
|
-
|
|
594
|
+
snapshot.content[event.index] = {
|
|
595
|
+
...snapshotContent,
|
|
596
|
+
citations: [...(snapshotContent.citations ?? []), event.delta.citation],
|
|
597
|
+
};
|
|
577
598
|
}
|
|
578
599
|
break;
|
|
579
600
|
}
|
|
@@ -585,27 +606,35 @@ export class MessageStream implements AsyncIterable<MessageStreamEvent> {
|
|
|
585
606
|
let jsonBuf = (snapshotContent as any)[JSON_BUF_PROPERTY] || '';
|
|
586
607
|
jsonBuf += event.delta.partial_json;
|
|
587
608
|
|
|
588
|
-
|
|
609
|
+
const newContent = { ...snapshotContent };
|
|
610
|
+
Object.defineProperty(newContent, JSON_BUF_PROPERTY, {
|
|
589
611
|
value: jsonBuf,
|
|
590
612
|
enumerable: false,
|
|
591
613
|
writable: true,
|
|
592
614
|
});
|
|
593
615
|
|
|
594
616
|
if (jsonBuf) {
|
|
595
|
-
|
|
617
|
+
newContent.input = partialParse(jsonBuf);
|
|
596
618
|
}
|
|
619
|
+
snapshot.content[event.index] = newContent;
|
|
597
620
|
}
|
|
598
621
|
break;
|
|
599
622
|
}
|
|
600
623
|
case 'thinking_delta': {
|
|
601
624
|
if (snapshotContent?.type === 'thinking') {
|
|
602
|
-
|
|
625
|
+
snapshot.content[event.index] = {
|
|
626
|
+
...snapshotContent,
|
|
627
|
+
thinking: snapshotContent.thinking + event.delta.thinking,
|
|
628
|
+
};
|
|
603
629
|
}
|
|
604
630
|
break;
|
|
605
631
|
}
|
|
606
632
|
case 'signature_delta': {
|
|
607
633
|
if (snapshotContent?.type === 'thinking') {
|
|
608
|
-
|
|
634
|
+
snapshot.content[event.index] = {
|
|
635
|
+
...snapshotContent,
|
|
636
|
+
signature: event.delta.signature,
|
|
637
|
+
};
|
|
609
638
|
}
|
|
610
639
|
break;
|
|
611
640
|
}
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const VERSION = '0.
|
|
1
|
+
export const VERSION = '0.55.1'; // x-release-please-version
|
package/version.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.
|
|
1
|
+
export declare const VERSION = "0.55.1";
|
|
2
2
|
//# sourceMappingURL=version.d.mts.map
|
package/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "0.
|
|
1
|
+
export declare const VERSION = "0.55.1";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/version.js
CHANGED
package/version.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = '0.
|
|
1
|
+
export const VERSION = '0.55.1'; // x-release-please-version
|
|
2
2
|
//# sourceMappingURL=version.mjs.map
|