@anthropic-ai/sdk 0.5.0 → 0.5.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/{dist/esm/_shims → _shims}/agent.d.ts +2 -2
- package/_shims/agent.d.ts.map +1 -0
- package/_shims/agent.js.map +1 -0
- package/{dist/esm/_shims/agent.js → _shims/agent.mjs} +1 -1
- package/_shims/agent.mjs.map +1 -0
- package/{dist/cjs/_shims → _shims}/agent.node.d.ts +1 -0
- package/_shims/agent.node.d.ts.map +1 -0
- package/_shims/agent.node.js.map +1 -0
- package/{dist/esm/_shims/agent.node.js → _shims/agent.node.mjs} +1 -1
- package/_shims/agent.node.mjs.map +1 -0
- package/_shims/fetch.d.ts +52 -0
- package/_shims/fetch.js +13 -0
- package/_shims/fetch.mjs +15 -0
- package/_shims/fetch.node.d.ts +53 -0
- package/_shims/fetch.node.js +12 -0
- package/_shims/fetch.node.mjs +14 -0
- package/{dist/cjs/_shims → _shims}/fileFromPath.d.ts +1 -2
- package/_shims/fileFromPath.d.ts.map +1 -0
- package/_shims/fileFromPath.js +16 -0
- package/_shims/fileFromPath.js.map +1 -0
- package/{dist/esm/_shims/fileFromPath.js → _shims/fileFromPath.mjs} +1 -1
- package/_shims/fileFromPath.mjs.map +1 -0
- package/{dist/cjs/_shims → _shims}/fileFromPath.node.d.ts +1 -2
- package/_shims/fileFromPath.node.d.ts.map +1 -0
- package/_shims/fileFromPath.node.js +17 -0
- package/_shims/fileFromPath.node.js.map +1 -0
- package/{dist/esm/_shims/fileFromPath.node.js → _shims/fileFromPath.node.mjs} +1 -1
- package/_shims/fileFromPath.node.mjs.map +1 -0
- package/_shims/formdata.d.ts +43 -0
- package/_shims/formdata.js +9 -0
- package/{dist/esm/_shims/formdata.js → _shims/formdata.mjs} +7 -11
- package/_shims/formdata.node.d.ts +44 -0
- package/_shims/formdata.node.js +11 -0
- package/_shims/getMultipartRequestOptions.d.ts.map +1 -0
- package/_shims/getMultipartRequestOptions.js +12 -0
- package/_shims/getMultipartRequestOptions.js.map +1 -0
- package/_shims/getMultipartRequestOptions.mjs +8 -0
- package/_shims/getMultipartRequestOptions.mjs.map +1 -0
- package/_shims/getMultipartRequestOptions.node.d.ts.map +1 -0
- package/_shims/getMultipartRequestOptions.node.js +22 -0
- package/_shims/getMultipartRequestOptions.node.js.map +1 -0
- package/{dist/esm/_shims/getMultipartRequestOptions.node.js → _shims/getMultipartRequestOptions.node.mjs} +3 -2
- package/_shims/getMultipartRequestOptions.node.mjs.map +1 -0
- package/_shims/node-readable.d.ts +23 -0
- package/_shims/node-readable.d.ts.map +1 -0
- package/_shims/node-readable.js +11 -0
- package/_shims/node-readable.js.map +1 -0
- package/_shims/node-readable.mjs +7 -0
- package/_shims/node-readable.mjs.map +1 -0
- package/_shims/node-readable.node.d.ts +8 -0
- package/_shims/node-readable.node.d.ts.map +1 -0
- package/_shims/node-readable.node.js +9 -0
- package/_shims/node-readable.node.js.map +1 -0
- package/_shims/node-readable.node.mjs +5 -0
- package/_shims/node-readable.node.mjs.map +1 -0
- package/{dist/esm/core.d.ts → core.d.ts} +15 -10
- package/core.d.ts.map +1 -0
- package/{dist/cjs/core.js → core.js} +191 -333
- package/core.js.map +1 -0
- package/{dist/esm/core.js → core.mjs} +56 -25
- package/core.mjs.map +1 -0
- package/error.d.ts.map +1 -0
- package/{dist/cjs/error.js → error.js} +1 -1
- package/error.js.map +1 -0
- package/{dist/esm/error.js → error.mjs} +5 -3
- package/error.mjs.map +1 -0
- package/{dist/cjs/index.d.ts → index.d.mts} +42 -7
- package/{dist/esm/index.d.ts → index.d.ts} +38 -3
- package/index.d.ts.map +1 -0
- package/{dist/cjs/index.js → index.js} +17 -15
- package/index.js.map +1 -0
- package/{dist/esm/index.js → index.mjs} +12 -6
- package/index.mjs.map +1 -0
- package/package.json +34 -77
- package/resource.d.ts.map +1 -0
- package/resource.js.map +1 -0
- package/{dist/esm/resource.js → resource.mjs} +1 -1
- package/resource.mjs.map +1 -0
- package/{dist/esm/resources → resources}/completions.d.ts +3 -3
- package/resources/completions.d.ts.map +1 -0
- package/{dist/cjs/resources → resources}/completions.js +7 -7
- package/resources/completions.js.map +1 -0
- package/resources/completions.mjs +15 -0
- package/resources/completions.mjs.map +1 -0
- package/resources/index.d.ts.map +1 -0
- package/{dist/cjs/resources → resources}/index.js +1 -1
- package/resources/index.js.map +1 -0
- package/resources/index.mjs +3 -0
- package/resources/index.mjs.map +1 -0
- package/resources/top-level.d.ts.map +1 -0
- package/resources/top-level.js.map +1 -0
- package/{dist/esm/resources/top-level.js → resources/top-level.mjs} +1 -1
- package/resources/top-level.mjs.map +1 -0
- package/{_shims → src/_shims}/agent.node.ts +2 -0
- package/{_shims → src/_shims}/agent.ts +2 -2
- package/src/_shims/fetch.d.ts +52 -0
- package/src/_shims/fetch.js +13 -0
- package/src/_shims/fetch.mjs +15 -0
- package/src/_shims/fetch.node.d.ts +53 -0
- package/src/_shims/fetch.node.js +12 -0
- package/src/_shims/fetch.node.mjs +14 -0
- package/{_shims → src/_shims}/fileFromPath.node.ts +1 -2
- package/{_shims → src/_shims}/fileFromPath.ts +1 -2
- package/src/_shims/formdata.d.ts +43 -0
- package/src/_shims/formdata.js +9 -0
- package/src/_shims/formdata.mjs +11 -0
- package/src/_shims/formdata.node.d.ts +44 -0
- package/src/_shims/formdata.node.js +11 -0
- package/{dist/esm/_shims/formdata.node.js → src/_shims/formdata.node.mjs} +3 -1
- package/{_shims → src/_shims}/getMultipartRequestOptions.node.ts +2 -1
- package/{_shims → src/_shims}/getMultipartRequestOptions.ts +2 -1
- package/src/_shims/node-readable.node.ts +10 -0
- package/src/_shims/node-readable.ts +30 -0
- package/{core.ts → src/core.ts} +42 -20
- package/{index.ts → src/index.ts} +50 -3
- package/{resources → src/resources}/completions.ts +4 -4
- package/{streaming.ts → src/streaming.ts} +6 -3
- package/src/uploads.ts +248 -0
- package/src/version.ts +1 -0
- package/{dist/esm/streaming.d.ts → streaming.d.ts} +2 -0
- package/streaming.d.ts.map +1 -0
- package/streaming.js +168 -0
- package/streaming.js.map +1 -0
- package/{dist/esm/streaming.js → streaming.mjs} +5 -4
- package/streaming.mjs.map +1 -0
- package/uploads.d.ts +90 -0
- package/uploads.d.ts.map +1 -0
- package/uploads.js +207 -0
- package/uploads.js.map +1 -0
- package/uploads.mjs +174 -0
- package/uploads.mjs.map +1 -0
- package/version.d.ts +2 -0
- package/version.d.ts.map +1 -0
- package/{dist/cjs/version.js → version.js} +1 -1
- package/version.js.map +1 -0
- package/version.mjs +2 -0
- package/version.mjs.map +1 -0
- package/LICENSE +0 -8
- package/README.md +0 -305
- package/_shims/fetch.node.ts +0 -11
- package/_shims/fetch.ts +0 -32
- package/_shims/formdata.ts +0 -22
- package/_shims/newFileArgs.ts +0 -94
- package/_shims/toFile.node.ts +0 -25
- package/_shims/toFile.ts +0 -26
- package/_shims/uploadable.node.ts +0 -21
- package/_shims/uploadable.ts +0 -82
- package/check-version.ts +0 -18
- package/dist/cjs/_shims/agent.d.ts +0 -9
- package/dist/cjs/_shims/agent.d.ts.map +0 -1
- package/dist/cjs/_shims/agent.js.map +0 -1
- package/dist/cjs/_shims/agent.node.d.ts.map +0 -1
- package/dist/cjs/_shims/agent.node.js.map +0 -1
- package/dist/cjs/_shims/fetch.d.ts +0 -19
- package/dist/cjs/_shims/fetch.d.ts.map +0 -1
- package/dist/cjs/_shims/fetch.js +0 -24
- package/dist/cjs/_shims/fetch.js.map +0 -1
- package/dist/cjs/_shims/fetch.node.d.ts +0 -9
- package/dist/cjs/_shims/fetch.node.d.ts.map +0 -1
- package/dist/cjs/_shims/fetch.node.js +0 -68
- package/dist/cjs/_shims/fetch.node.js.map +0 -1
- package/dist/cjs/_shims/fileFromPath.d.ts.map +0 -1
- package/dist/cjs/_shims/fileFromPath.js +0 -49
- package/dist/cjs/_shims/fileFromPath.js.map +0 -1
- package/dist/cjs/_shims/fileFromPath.node.d.ts.map +0 -1
- package/dist/cjs/_shims/fileFromPath.node.js +0 -50
- package/dist/cjs/_shims/fileFromPath.node.js.map +0 -1
- package/dist/cjs/_shims/formdata.d.ts +0 -13
- package/dist/cjs/_shims/formdata.d.ts.map +0 -1
- package/dist/cjs/_shims/formdata.js +0 -20
- package/dist/cjs/_shims/formdata.js.map +0 -1
- package/dist/cjs/_shims/formdata.node.d.ts +0 -7
- package/dist/cjs/_shims/formdata.node.d.ts.map +0 -1
- package/dist/cjs/_shims/formdata.node.js +0 -27
- package/dist/cjs/_shims/formdata.node.js.map +0 -1
- package/dist/cjs/_shims/getMultipartRequestOptions.d.ts +0 -10
- package/dist/cjs/_shims/getMultipartRequestOptions.d.ts.map +0 -1
- package/dist/cjs/_shims/getMultipartRequestOptions.js +0 -44
- package/dist/cjs/_shims/getMultipartRequestOptions.js.map +0 -1
- package/dist/cjs/_shims/getMultipartRequestOptions.node.d.ts +0 -10
- package/dist/cjs/_shims/getMultipartRequestOptions.node.d.ts.map +0 -1
- package/dist/cjs/_shims/getMultipartRequestOptions.node.js +0 -52
- package/dist/cjs/_shims/getMultipartRequestOptions.node.js.map +0 -1
- package/dist/cjs/_shims/newFileArgs.d.ts +0 -19
- package/dist/cjs/_shims/newFileArgs.d.ts.map +0 -1
- package/dist/cjs/_shims/newFileArgs.js +0 -169
- package/dist/cjs/_shims/newFileArgs.js.map +0 -1
- package/dist/cjs/_shims/toFile.d.ts +0 -21
- package/dist/cjs/_shims/toFile.d.ts.map +0 -1
- package/dist/cjs/_shims/toFile.js +0 -56
- package/dist/cjs/_shims/toFile.js.map +0 -1
- package/dist/cjs/_shims/toFile.node.d.ts +0 -20
- package/dist/cjs/_shims/toFile.node.d.ts.map +0 -1
- package/dist/cjs/_shims/toFile.node.js +0 -56
- package/dist/cjs/_shims/toFile.node.js.map +0 -1
- package/dist/cjs/_shims/uploadable.d.ts +0 -56
- package/dist/cjs/_shims/uploadable.d.ts.map +0 -1
- package/dist/cjs/_shims/uploadable.js +0 -37
- package/dist/cjs/_shims/uploadable.js.map +0 -1
- package/dist/cjs/_shims/uploadable.node.d.ts +0 -7
- package/dist/cjs/_shims/uploadable.node.d.ts.map +0 -1
- package/dist/cjs/_shims/uploadable.node.js +0 -23
- package/dist/cjs/_shims/uploadable.node.js.map +0 -1
- package/dist/cjs/check-version.d.ts +0 -2
- package/dist/cjs/check-version.d.ts.map +0 -1
- package/dist/cjs/check-version.js +0 -23
- package/dist/cjs/check-version.js.map +0 -1
- package/dist/cjs/core.d.ts +0 -221
- package/dist/cjs/core.d.ts.map +0 -1
- package/dist/cjs/core.js.map +0 -1
- package/dist/cjs/error.d.ts +0 -48
- package/dist/cjs/error.d.ts.map +0 -1
- package/dist/cjs/error.js.map +0 -1
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/resource.d.ts +0 -12
- package/dist/cjs/resource.d.ts.map +0 -1
- package/dist/cjs/resource.js.map +0 -1
- package/dist/cjs/resources/completions.d.ts +0 -311
- package/dist/cjs/resources/completions.d.ts.map +0 -1
- package/dist/cjs/resources/completions.js.map +0 -1
- package/dist/cjs/resources/index.d.ts +0 -2
- package/dist/cjs/resources/index.d.ts.map +0 -1
- package/dist/cjs/resources/index.js.map +0 -1
- package/dist/cjs/resources/top-level.d.ts.map +0 -1
- package/dist/cjs/resources/top-level.js.map +0 -1
- package/dist/cjs/streaming.d.ts +0 -12
- package/dist/cjs/streaming.d.ts.map +0 -1
- package/dist/cjs/streaming.js +0 -297
- package/dist/cjs/streaming.js.map +0 -1
- package/dist/cjs/uploads.d.ts +0 -24
- package/dist/cjs/uploads.d.ts.map +0 -1
- package/dist/cjs/uploads.js +0 -121
- package/dist/cjs/uploads.js.map +0 -1
- package/dist/cjs/version.d.ts +0 -2
- package/dist/cjs/version.d.ts.map +0 -1
- package/dist/cjs/version.js.map +0 -1
- package/dist/esm/_shims/agent.d.ts.map +0 -1
- package/dist/esm/_shims/agent.js.map +0 -1
- package/dist/esm/_shims/agent.node.d.ts +0 -6
- package/dist/esm/_shims/agent.node.d.ts.map +0 -1
- package/dist/esm/_shims/agent.node.js.map +0 -1
- package/dist/esm/_shims/fetch.d.ts +0 -19
- package/dist/esm/_shims/fetch.d.ts.map +0 -1
- package/dist/esm/_shims/fetch.js +0 -18
- package/dist/esm/_shims/fetch.js.map +0 -1
- package/dist/esm/_shims/fetch.node.d.ts +0 -9
- package/dist/esm/_shims/fetch.node.d.ts.map +0 -1
- package/dist/esm/_shims/fetch.node.js +0 -7
- package/dist/esm/_shims/fetch.node.js.map +0 -1
- package/dist/esm/_shims/fileFromPath.d.ts +0 -23
- package/dist/esm/_shims/fileFromPath.d.ts.map +0 -1
- package/dist/esm/_shims/fileFromPath.js.map +0 -1
- package/dist/esm/_shims/fileFromPath.node.d.ts +0 -18
- package/dist/esm/_shims/fileFromPath.node.d.ts.map +0 -1
- package/dist/esm/_shims/fileFromPath.node.js.map +0 -1
- package/dist/esm/_shims/formdata.d.ts +0 -13
- package/dist/esm/_shims/formdata.d.ts.map +0 -1
- package/dist/esm/_shims/formdata.js.map +0 -1
- package/dist/esm/_shims/formdata.node.d.ts +0 -7
- package/dist/esm/_shims/formdata.node.d.ts.map +0 -1
- package/dist/esm/_shims/formdata.node.js.map +0 -1
- package/dist/esm/_shims/getMultipartRequestOptions.d.ts.map +0 -1
- package/dist/esm/_shims/getMultipartRequestOptions.js +0 -7
- package/dist/esm/_shims/getMultipartRequestOptions.js.map +0 -1
- package/dist/esm/_shims/getMultipartRequestOptions.node.d.ts.map +0 -1
- package/dist/esm/_shims/getMultipartRequestOptions.node.js.map +0 -1
- package/dist/esm/_shims/newFileArgs.d.ts +0 -19
- package/dist/esm/_shims/newFileArgs.d.ts.map +0 -1
- package/dist/esm/_shims/newFileArgs.js +0 -66
- package/dist/esm/_shims/newFileArgs.js.map +0 -1
- package/dist/esm/_shims/toFile.d.ts +0 -21
- package/dist/esm/_shims/toFile.d.ts.map +0 -1
- package/dist/esm/_shims/toFile.js +0 -19
- package/dist/esm/_shims/toFile.js.map +0 -1
- package/dist/esm/_shims/toFile.node.d.ts +0 -20
- package/dist/esm/_shims/toFile.node.d.ts.map +0 -1
- package/dist/esm/_shims/toFile.node.js +0 -19
- package/dist/esm/_shims/toFile.node.js.map +0 -1
- package/dist/esm/_shims/uploadable.d.ts +0 -56
- package/dist/esm/_shims/uploadable.d.ts.map +0 -1
- package/dist/esm/_shims/uploadable.js +0 -30
- package/dist/esm/_shims/uploadable.js.map +0 -1
- package/dist/esm/_shims/uploadable.node.d.ts +0 -7
- package/dist/esm/_shims/uploadable.node.d.ts.map +0 -1
- package/dist/esm/_shims/uploadable.node.js +0 -10
- package/dist/esm/_shims/uploadable.node.js.map +0 -1
- package/dist/esm/check-version.d.ts +0 -2
- package/dist/esm/check-version.d.ts.map +0 -1
- package/dist/esm/check-version.js +0 -16
- package/dist/esm/check-version.js.map +0 -1
- package/dist/esm/core.d.ts.map +0 -1
- package/dist/esm/core.js.map +0 -1
- package/dist/esm/error.d.ts.map +0 -1
- package/dist/esm/error.js.map +0 -1
- package/dist/esm/index.d.ts.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/package.json +0 -3
- package/dist/esm/resource.d.ts.map +0 -1
- package/dist/esm/resource.js.map +0 -1
- package/dist/esm/resources/completions.d.ts.map +0 -1
- package/dist/esm/resources/completions.js +0 -9
- package/dist/esm/resources/completions.js.map +0 -1
- package/dist/esm/resources/index.d.ts.map +0 -1
- package/dist/esm/resources/index.js +0 -3
- package/dist/esm/resources/index.js.map +0 -1
- package/dist/esm/resources/top-level.d.ts +0 -2
- package/dist/esm/resources/top-level.d.ts.map +0 -1
- package/dist/esm/resources/top-level.js.map +0 -1
- package/dist/esm/streaming.d.ts.map +0 -1
- package/dist/esm/streaming.js.map +0 -1
- package/dist/esm/uploads.d.ts +0 -24
- package/dist/esm/uploads.d.ts.map +0 -1
- package/dist/esm/uploads.js +0 -61
- package/dist/esm/uploads.js.map +0 -1
- package/dist/esm/version.d.ts +0 -2
- package/dist/esm/version.d.ts.map +0 -1
- package/dist/esm/version.js +0 -2
- package/dist/esm/version.js.map +0 -1
- package/uploads.ts +0 -81
- package/version.ts +0 -1
- /package/{dist/cjs/_shims → _shims}/agent.js +0 -0
- /package/{dist/cjs/_shims → _shims}/agent.node.js +0 -0
- /package/_shims/{formdata.node.ts → formdata.node.mjs} +0 -0
- /package/{dist/esm/_shims → _shims}/getMultipartRequestOptions.d.ts +0 -0
- /package/{dist/esm/_shims → _shims}/getMultipartRequestOptions.node.d.ts +0 -0
- /package/{dist/esm/error.d.ts → error.d.ts} +0 -0
- /package/{dist/esm/resource.d.ts → resource.d.ts} +0 -0
- /package/{dist/cjs/resource.js → resource.js} +0 -0
- /package/{dist/esm/resources → resources}/index.d.ts +0 -0
- /package/{dist/cjs/resources → resources}/top-level.d.ts +0 -0
- /package/{dist/cjs/resources → resources}/top-level.js +0 -0
- /package/{error.ts → src/error.ts} +0 -0
- /package/{resource.ts → src/resource.ts} +0 -0
- /package/{resources → src/resources}/index.ts +0 -0
- /package/{resources → src/resources}/top-level.ts +0 -0
|
@@ -1,311 +0,0 @@
|
|
|
1
|
-
import * as Core from '../core';
|
|
2
|
-
import { APIResource } from '../resource';
|
|
3
|
-
import * as API from './';
|
|
4
|
-
import { Stream } from '../streaming';
|
|
5
|
-
export declare class Completions extends APIResource {
|
|
6
|
-
/**
|
|
7
|
-
* Create a completion
|
|
8
|
-
*/
|
|
9
|
-
create(
|
|
10
|
-
body: CompletionCreateParams.CompletionRequestNonStreaming,
|
|
11
|
-
options?: Core.RequestOptions,
|
|
12
|
-
): Promise<Core.APIResponse<Completion>>;
|
|
13
|
-
create(
|
|
14
|
-
body: CompletionCreateParams.CompletionRequestStreaming,
|
|
15
|
-
options?: Core.RequestOptions,
|
|
16
|
-
): Promise<Core.APIResponse<Stream<Completion>>>;
|
|
17
|
-
}
|
|
18
|
-
export interface Completion {
|
|
19
|
-
/**
|
|
20
|
-
* The resulting completion up to and excluding the stop sequences.
|
|
21
|
-
*/
|
|
22
|
-
completion: string;
|
|
23
|
-
/**
|
|
24
|
-
* The model that performed the completion.
|
|
25
|
-
*/
|
|
26
|
-
model: string;
|
|
27
|
-
/**
|
|
28
|
-
* The reason that we stopped sampling.
|
|
29
|
-
*
|
|
30
|
-
* This may be one the following values:
|
|
31
|
-
*
|
|
32
|
-
* - `"stop_sequence"`: we reached a stop sequence — either provided by you via the
|
|
33
|
-
* `stop_sequences` parameter, or a stop sequence built into the model
|
|
34
|
-
* - `"max_tokens"`: we exceeded `max_tokens_to_sample` or the model's maximum
|
|
35
|
-
*/
|
|
36
|
-
stop_reason: string;
|
|
37
|
-
}
|
|
38
|
-
export type CompletionCreateParams =
|
|
39
|
-
| CompletionCreateParams.CompletionRequestNonStreaming
|
|
40
|
-
| CompletionCreateParams.CompletionRequestStreaming;
|
|
41
|
-
export declare namespace CompletionCreateParams {
|
|
42
|
-
interface CompletionRequestNonStreaming {
|
|
43
|
-
/**
|
|
44
|
-
* The maximum number of tokens to generate before stopping.
|
|
45
|
-
*
|
|
46
|
-
* Note that our models may stop _before_ reaching this maximum. This parameter
|
|
47
|
-
* only specifies the absolute maximum number of tokens to generate.
|
|
48
|
-
*/
|
|
49
|
-
max_tokens_to_sample: number;
|
|
50
|
-
/**
|
|
51
|
-
* The model that will complete your prompt.
|
|
52
|
-
*
|
|
53
|
-
* As we improve Claude, we develop new versions of it that you can query. This
|
|
54
|
-
* controls which version of Claude answers your request. Right now we are offering
|
|
55
|
-
* two model families: Claude and Claude Instant.
|
|
56
|
-
*
|
|
57
|
-
* Specifiying any of the following models will automatically switch to you the
|
|
58
|
-
* newest compatible models as they are released:
|
|
59
|
-
*
|
|
60
|
-
* - `"claude-1"`: Our largest model, ideal for a wide range of more complex tasks.
|
|
61
|
-
* - `"claude-1-100k"`: An enhanced version of `claude-1` with a 100,000 token
|
|
62
|
-
* (roughly 75,000 word) context window. Ideal for summarizing, analyzing, and
|
|
63
|
-
* querying long documents and conversations for nuanced understanding of complex
|
|
64
|
-
* topics and relationships across very long spans of text.
|
|
65
|
-
* - `"claude-instant-1"`: A smaller model with far lower latency, sampling at
|
|
66
|
-
* roughly 40 words/sec! Its output quality is somewhat lower than the latest
|
|
67
|
-
* `claude-1` model, particularly for complex tasks. However, it is much less
|
|
68
|
-
* expensive and blazing fast. We believe that this model provides more than
|
|
69
|
-
* adequate performance on a range of tasks including text classification,
|
|
70
|
-
* summarization, and lightweight chat applications, as well as search result
|
|
71
|
-
* summarization.
|
|
72
|
-
* - `"claude-instant-1-100k"`: An enhanced version of `claude-instant-1` with a
|
|
73
|
-
* 100,000 token context window that retains its performance. Well-suited for
|
|
74
|
-
* high throughput use cases needing both speed and additional context, allowing
|
|
75
|
-
* deeper understanding from extended conversations and documents.
|
|
76
|
-
*
|
|
77
|
-
* You can also select specific sub-versions of the above models:
|
|
78
|
-
*
|
|
79
|
-
* - `"claude-1.3"`: Compared to `claude-1.2`, it's more robust against red-team
|
|
80
|
-
* inputs, better at precise instruction-following, better at code, and better
|
|
81
|
-
* and non-English dialogue and writing.
|
|
82
|
-
* - `"claude-1.3-100k"`: An enhanced version of `claude-1.3` with a 100,000 token
|
|
83
|
-
* (roughly 75,000 word) context window.
|
|
84
|
-
* - `"claude-1.2"`: An improved version of `claude-1`. It is slightly improved at
|
|
85
|
-
* general helpfulness, instruction following, coding, and other tasks. It is
|
|
86
|
-
* also considerably better with non-English languages. This model also has the
|
|
87
|
-
* ability to role play (in harmless ways) more consistently, and it defaults to
|
|
88
|
-
* writing somewhat longer and more thorough responses.
|
|
89
|
-
* - `"claude-1.0"`: An earlier version of `claude-1`.
|
|
90
|
-
* - `"claude-instant-1.1"`: Our latest version of `claude-instant-1`. It is better
|
|
91
|
-
* than `claude-instant-1.0` at a wide variety of tasks including writing,
|
|
92
|
-
* coding, and instruction following. It performs better on academic benchmarks,
|
|
93
|
-
* including math, reading comprehension, and coding tests. It is also more
|
|
94
|
-
* robust against red-teaming inputs.
|
|
95
|
-
* - `"claude-instant-1.1-100k"`: An enhanced version of `claude-instant-1.1` with
|
|
96
|
-
* a 100,000 token context window that retains its lightning fast 40 word/sec
|
|
97
|
-
* performance.
|
|
98
|
-
* - `"claude-instant-1.0"`: An earlier version of `claude-instant-1`.
|
|
99
|
-
*/
|
|
100
|
-
model: string;
|
|
101
|
-
/**
|
|
102
|
-
* The prompt that you want Claude to complete.
|
|
103
|
-
*
|
|
104
|
-
* For proper response generation you will need to format your prompt as follows:
|
|
105
|
-
*
|
|
106
|
-
* ```javascript
|
|
107
|
-
* const userQuestion = r"Why is the sky blue?";
|
|
108
|
-
* const prompt = `\n\nHuman: ${userQuestion}\n\nAssistant:`;
|
|
109
|
-
* ```
|
|
110
|
-
*
|
|
111
|
-
* See our [comments on prompts](https://console.anthropic.com/docs/prompt-design)
|
|
112
|
-
* for more context.
|
|
113
|
-
*/
|
|
114
|
-
prompt: string;
|
|
115
|
-
/**
|
|
116
|
-
* An object describing metadata about the request.
|
|
117
|
-
*/
|
|
118
|
-
metadata?: CompletionCreateParams.CompletionRequestNonStreaming.Metadata;
|
|
119
|
-
/**
|
|
120
|
-
* Sequences that will cause the model to stop generating completion text.
|
|
121
|
-
*
|
|
122
|
-
* Our models stop on `"\n\nHuman:"`, and may include additional built-in stop
|
|
123
|
-
* sequences in the future. By providing the stop_sequences parameter, you may
|
|
124
|
-
* include additional strings that will cause the model to stop generating.
|
|
125
|
-
*/
|
|
126
|
-
stop_sequences?: Array<string>;
|
|
127
|
-
/**
|
|
128
|
-
* Whether to incrementally stream the response using server-sent events.
|
|
129
|
-
*
|
|
130
|
-
* See
|
|
131
|
-
* [this guide to SSE events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events)
|
|
132
|
-
* for details.
|
|
133
|
-
*/
|
|
134
|
-
stream?: false;
|
|
135
|
-
/**
|
|
136
|
-
* Amount of randomness injected into the response.
|
|
137
|
-
*
|
|
138
|
-
* Defaults to 1. Ranges from 0 to 1. Use temp closer to 0 for analytical /
|
|
139
|
-
* multiple choice, and closer to 1 for creative and generative tasks.
|
|
140
|
-
*/
|
|
141
|
-
temperature?: number;
|
|
142
|
-
/**
|
|
143
|
-
* Only sample from the top K options for each subsequent token.
|
|
144
|
-
*
|
|
145
|
-
* Used to remove "long tail" low probability responses.
|
|
146
|
-
* [Learn more technical details here](https://towardsdatascience.com/how-to-sample-from-language-models-682bceb97277).
|
|
147
|
-
*/
|
|
148
|
-
top_k?: number;
|
|
149
|
-
/**
|
|
150
|
-
* Use nucleus sampling.
|
|
151
|
-
*
|
|
152
|
-
* In nucleus sampling, we compute the cumulative distribution over all the options
|
|
153
|
-
* for each subsequent token in decreasing probability order and cut it off once it
|
|
154
|
-
* reaches a particular probability specified by `top_p`. You should either alter
|
|
155
|
-
* `temperature` or `top_p`, but not both.
|
|
156
|
-
*/
|
|
157
|
-
top_p?: number;
|
|
158
|
-
}
|
|
159
|
-
namespace CompletionRequestNonStreaming {
|
|
160
|
-
/**
|
|
161
|
-
* An object describing metadata about the request.
|
|
162
|
-
*/
|
|
163
|
-
interface Metadata {
|
|
164
|
-
/**
|
|
165
|
-
* An external identifier for the user who is associated with the request.
|
|
166
|
-
*
|
|
167
|
-
* This should be a uuid, hash value, or other opaque identifier. Anthropic may use
|
|
168
|
-
* this id to help detect abuse. Do not include any identifying information such as
|
|
169
|
-
* name, email address, or phone number.
|
|
170
|
-
*/
|
|
171
|
-
user_id?: string;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
interface CompletionRequestStreaming {
|
|
175
|
-
/**
|
|
176
|
-
* The maximum number of tokens to generate before stopping.
|
|
177
|
-
*
|
|
178
|
-
* Note that our models may stop _before_ reaching this maximum. This parameter
|
|
179
|
-
* only specifies the absolute maximum number of tokens to generate.
|
|
180
|
-
*/
|
|
181
|
-
max_tokens_to_sample: number;
|
|
182
|
-
/**
|
|
183
|
-
* The model that will complete your prompt.
|
|
184
|
-
*
|
|
185
|
-
* As we improve Claude, we develop new versions of it that you can query. This
|
|
186
|
-
* controls which version of Claude answers your request. Right now we are offering
|
|
187
|
-
* two model families: Claude and Claude Instant.
|
|
188
|
-
*
|
|
189
|
-
* Specifiying any of the following models will automatically switch to you the
|
|
190
|
-
* newest compatible models as they are released:
|
|
191
|
-
*
|
|
192
|
-
* - `"claude-1"`: Our largest model, ideal for a wide range of more complex tasks.
|
|
193
|
-
* - `"claude-1-100k"`: An enhanced version of `claude-1` with a 100,000 token
|
|
194
|
-
* (roughly 75,000 word) context window. Ideal for summarizing, analyzing, and
|
|
195
|
-
* querying long documents and conversations for nuanced understanding of complex
|
|
196
|
-
* topics and relationships across very long spans of text.
|
|
197
|
-
* - `"claude-instant-1"`: A smaller model with far lower latency, sampling at
|
|
198
|
-
* roughly 40 words/sec! Its output quality is somewhat lower than the latest
|
|
199
|
-
* `claude-1` model, particularly for complex tasks. However, it is much less
|
|
200
|
-
* expensive and blazing fast. We believe that this model provides more than
|
|
201
|
-
* adequate performance on a range of tasks including text classification,
|
|
202
|
-
* summarization, and lightweight chat applications, as well as search result
|
|
203
|
-
* summarization.
|
|
204
|
-
* - `"claude-instant-1-100k"`: An enhanced version of `claude-instant-1` with a
|
|
205
|
-
* 100,000 token context window that retains its performance. Well-suited for
|
|
206
|
-
* high throughput use cases needing both speed and additional context, allowing
|
|
207
|
-
* deeper understanding from extended conversations and documents.
|
|
208
|
-
*
|
|
209
|
-
* You can also select specific sub-versions of the above models:
|
|
210
|
-
*
|
|
211
|
-
* - `"claude-1.3"`: Compared to `claude-1.2`, it's more robust against red-team
|
|
212
|
-
* inputs, better at precise instruction-following, better at code, and better
|
|
213
|
-
* and non-English dialogue and writing.
|
|
214
|
-
* - `"claude-1.3-100k"`: An enhanced version of `claude-1.3` with a 100,000 token
|
|
215
|
-
* (roughly 75,000 word) context window.
|
|
216
|
-
* - `"claude-1.2"`: An improved version of `claude-1`. It is slightly improved at
|
|
217
|
-
* general helpfulness, instruction following, coding, and other tasks. It is
|
|
218
|
-
* also considerably better with non-English languages. This model also has the
|
|
219
|
-
* ability to role play (in harmless ways) more consistently, and it defaults to
|
|
220
|
-
* writing somewhat longer and more thorough responses.
|
|
221
|
-
* - `"claude-1.0"`: An earlier version of `claude-1`.
|
|
222
|
-
* - `"claude-instant-1.1"`: Our latest version of `claude-instant-1`. It is better
|
|
223
|
-
* than `claude-instant-1.0` at a wide variety of tasks including writing,
|
|
224
|
-
* coding, and instruction following. It performs better on academic benchmarks,
|
|
225
|
-
* including math, reading comprehension, and coding tests. It is also more
|
|
226
|
-
* robust against red-teaming inputs.
|
|
227
|
-
* - `"claude-instant-1.1-100k"`: An enhanced version of `claude-instant-1.1` with
|
|
228
|
-
* a 100,000 token context window that retains its lightning fast 40 word/sec
|
|
229
|
-
* performance.
|
|
230
|
-
* - `"claude-instant-1.0"`: An earlier version of `claude-instant-1`.
|
|
231
|
-
*/
|
|
232
|
-
model: string;
|
|
233
|
-
/**
|
|
234
|
-
* The prompt that you want Claude to complete.
|
|
235
|
-
*
|
|
236
|
-
* For proper response generation you will need to format your prompt as follows:
|
|
237
|
-
*
|
|
238
|
-
* ```javascript
|
|
239
|
-
* const userQuestion = r"Why is the sky blue?";
|
|
240
|
-
* const prompt = `\n\nHuman: ${userQuestion}\n\nAssistant:`;
|
|
241
|
-
* ```
|
|
242
|
-
*
|
|
243
|
-
* See our [comments on prompts](https://console.anthropic.com/docs/prompt-design)
|
|
244
|
-
* for more context.
|
|
245
|
-
*/
|
|
246
|
-
prompt: string;
|
|
247
|
-
/**
|
|
248
|
-
* Whether to incrementally stream the response using server-sent events.
|
|
249
|
-
*
|
|
250
|
-
* See
|
|
251
|
-
* [this guide to SSE events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events)
|
|
252
|
-
* for details.
|
|
253
|
-
*/
|
|
254
|
-
stream: true;
|
|
255
|
-
/**
|
|
256
|
-
* An object describing metadata about the request.
|
|
257
|
-
*/
|
|
258
|
-
metadata?: CompletionCreateParams.CompletionRequestStreaming.Metadata;
|
|
259
|
-
/**
|
|
260
|
-
* Sequences that will cause the model to stop generating completion text.
|
|
261
|
-
*
|
|
262
|
-
* Our models stop on `"\n\nHuman:"`, and may include additional built-in stop
|
|
263
|
-
* sequences in the future. By providing the stop_sequences parameter, you may
|
|
264
|
-
* include additional strings that will cause the model to stop generating.
|
|
265
|
-
*/
|
|
266
|
-
stop_sequences?: Array<string>;
|
|
267
|
-
/**
|
|
268
|
-
* Amount of randomness injected into the response.
|
|
269
|
-
*
|
|
270
|
-
* Defaults to 1. Ranges from 0 to 1. Use temp closer to 0 for analytical /
|
|
271
|
-
* multiple choice, and closer to 1 for creative and generative tasks.
|
|
272
|
-
*/
|
|
273
|
-
temperature?: number;
|
|
274
|
-
/**
|
|
275
|
-
* Only sample from the top K options for each subsequent token.
|
|
276
|
-
*
|
|
277
|
-
* Used to remove "long tail" low probability responses.
|
|
278
|
-
* [Learn more technical details here](https://towardsdatascience.com/how-to-sample-from-language-models-682bceb97277).
|
|
279
|
-
*/
|
|
280
|
-
top_k?: number;
|
|
281
|
-
/**
|
|
282
|
-
* Use nucleus sampling.
|
|
283
|
-
*
|
|
284
|
-
* In nucleus sampling, we compute the cumulative distribution over all the options
|
|
285
|
-
* for each subsequent token in decreasing probability order and cut it off once it
|
|
286
|
-
* reaches a particular probability specified by `top_p`. You should either alter
|
|
287
|
-
* `temperature` or `top_p`, but not both.
|
|
288
|
-
*/
|
|
289
|
-
top_p?: number;
|
|
290
|
-
}
|
|
291
|
-
namespace CompletionRequestStreaming {
|
|
292
|
-
/**
|
|
293
|
-
* An object describing metadata about the request.
|
|
294
|
-
*/
|
|
295
|
-
interface Metadata {
|
|
296
|
-
/**
|
|
297
|
-
* An external identifier for the user who is associated with the request.
|
|
298
|
-
*
|
|
299
|
-
* This should be a uuid, hash value, or other opaque identifier. Anthropic may use
|
|
300
|
-
* this id to help detect abuse. Do not include any identifying information such as
|
|
301
|
-
* name, email address, or phone number.
|
|
302
|
-
*/
|
|
303
|
-
user_id?: string;
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
export declare namespace Completions {
|
|
308
|
-
export import Completion = API.Completion;
|
|
309
|
-
export import CompletionCreateParams = API.CompletionCreateParams;
|
|
310
|
-
}
|
|
311
|
-
//# sourceMappingURL=completions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"completions.d.ts","sourceRoot":"","sources":["../../../resources/completions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"completions.js","sourceRoot":"","sources":["../../../resources/completions.ts"],"names":[],"mappings":";AAAA,qDAAqD;;;AAGrD,yCAAyC;AAIzC,MAAa,WAAY,SAAQ,sBAAW;IAY1C,MAAM,CACJ,IAA4B,EAC5B,OAA6B;;QAE7B,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,gCAAI,IAAI,IAAK,OAAO,KAAE,MAAM,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI,KAAK,IAAG,CAAC;IACvF,CAAC;CACF;AAlBD,kCAkBC;AA2TD,WAAiB,WAAW;AAG5B,CAAC,EAHgB,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAG3B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../resources/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../resources/index.ts"],"names":[],"mappings":";AAAA,qDAAqD;;;AAErD,6CAAgF;AAAnC,0GAAA,WAAW,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"top-level.d.ts","sourceRoot":"","sources":["../../../resources/top-level.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"top-level.js","sourceRoot":"","sources":["../../../resources/top-level.ts"],"names":[],"mappings":";AAAA,qDAAqD"}
|
package/dist/cjs/streaming.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { Response } from '@anthropic-ai/sdk/_shims/fetch';
|
|
2
|
-
import { APIResponse, Headers } from './core';
|
|
3
|
-
export declare class Stream<Item> implements AsyncIterable<Item>, APIResponse<Stream<Item>> {
|
|
4
|
-
response: Response;
|
|
5
|
-
responseHeaders: Headers;
|
|
6
|
-
controller: AbortController;
|
|
7
|
-
private decoder;
|
|
8
|
-
constructor(response: Response, controller: AbortController);
|
|
9
|
-
private iterMessages;
|
|
10
|
-
[Symbol.asyncIterator](): AsyncIterator<Item, any, undefined>;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=streaming.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../streaming.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,OAAO,EAAyB,MAAM,QAAQ,CAAC;AAiErE,qBAAa,MAAM,CAAC,IAAI,CAAE,YAAW,aAAa,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjF,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,eAAe,CAAC;IAE5B,OAAO,CAAC,OAAO,CAAa;gBAEhB,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe;YAO5C,YAAY;IA8BpB,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC;CAkCrE"}
|
package/dist/cjs/streaming.js
DELETED
|
@@ -1,297 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
var __asyncValues =
|
|
3
|
-
(this && this.__asyncValues) ||
|
|
4
|
-
function (o) {
|
|
5
|
-
if (!Symbol.asyncIterator) throw new TypeError('Symbol.asyncIterator is not defined.');
|
|
6
|
-
var m = o[Symbol.asyncIterator],
|
|
7
|
-
i;
|
|
8
|
-
return m ?
|
|
9
|
-
m.call(o)
|
|
10
|
-
: ((o = typeof __values === 'function' ? __values(o) : o[Symbol.iterator]()),
|
|
11
|
-
(i = {}),
|
|
12
|
-
verb('next'),
|
|
13
|
-
verb('throw'),
|
|
14
|
-
verb('return'),
|
|
15
|
-
(i[Symbol.asyncIterator] = function () {
|
|
16
|
-
return this;
|
|
17
|
-
}),
|
|
18
|
-
i);
|
|
19
|
-
function verb(n) {
|
|
20
|
-
i[n] =
|
|
21
|
-
o[n] &&
|
|
22
|
-
function (v) {
|
|
23
|
-
return new Promise(function (resolve, reject) {
|
|
24
|
-
(v = o[n](v)), settle(resolve, reject, v.done, v.value);
|
|
25
|
-
});
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
function settle(resolve, reject, d, v) {
|
|
29
|
-
Promise.resolve(v).then(function (v) {
|
|
30
|
-
resolve({ value: v, done: d });
|
|
31
|
-
}, reject);
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
var __await =
|
|
35
|
-
(this && this.__await) ||
|
|
36
|
-
function (v) {
|
|
37
|
-
return this instanceof __await ? ((this.v = v), this) : new __await(v);
|
|
38
|
-
};
|
|
39
|
-
var __asyncGenerator =
|
|
40
|
-
(this && this.__asyncGenerator) ||
|
|
41
|
-
function (thisArg, _arguments, generator) {
|
|
42
|
-
if (!Symbol.asyncIterator) throw new TypeError('Symbol.asyncIterator is not defined.');
|
|
43
|
-
var g = generator.apply(thisArg, _arguments || []),
|
|
44
|
-
i,
|
|
45
|
-
q = [];
|
|
46
|
-
return (
|
|
47
|
-
(i = {}),
|
|
48
|
-
verb('next'),
|
|
49
|
-
verb('throw'),
|
|
50
|
-
verb('return'),
|
|
51
|
-
(i[Symbol.asyncIterator] = function () {
|
|
52
|
-
return this;
|
|
53
|
-
}),
|
|
54
|
-
i
|
|
55
|
-
);
|
|
56
|
-
function verb(n) {
|
|
57
|
-
if (g[n])
|
|
58
|
-
i[n] = function (v) {
|
|
59
|
-
return new Promise(function (a, b) {
|
|
60
|
-
q.push([n, v, a, b]) > 1 || resume(n, v);
|
|
61
|
-
});
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
function resume(n, v) {
|
|
65
|
-
try {
|
|
66
|
-
step(g[n](v));
|
|
67
|
-
} catch (e) {
|
|
68
|
-
settle(q[0][3], e);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
function step(r) {
|
|
72
|
-
r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);
|
|
73
|
-
}
|
|
74
|
-
function fulfill(value) {
|
|
75
|
-
resume('next', value);
|
|
76
|
-
}
|
|
77
|
-
function reject(value) {
|
|
78
|
-
resume('throw', value);
|
|
79
|
-
}
|
|
80
|
-
function settle(f, v) {
|
|
81
|
-
if ((f(v), q.shift(), q.length)) resume(q[0][0], q[0][1]);
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
85
|
-
exports.Stream = void 0;
|
|
86
|
-
const core_1 = require('./core');
|
|
87
|
-
const core_2 = require('./core');
|
|
88
|
-
const error_1 = require('./error');
|
|
89
|
-
class SSEDecoder {
|
|
90
|
-
constructor() {
|
|
91
|
-
this.event = null;
|
|
92
|
-
this.data = [];
|
|
93
|
-
this.chunks = [];
|
|
94
|
-
}
|
|
95
|
-
decode(line) {
|
|
96
|
-
if (line.endsWith('\r')) {
|
|
97
|
-
line = line.substring(0, line.length - 1);
|
|
98
|
-
}
|
|
99
|
-
if (!line) {
|
|
100
|
-
// empty line and we didn't previously encounter any messages
|
|
101
|
-
if (!this.event && !this.data.length) return null;
|
|
102
|
-
const sse = {
|
|
103
|
-
event: this.event,
|
|
104
|
-
data: this.data.join('\n'),
|
|
105
|
-
raw: this.chunks,
|
|
106
|
-
};
|
|
107
|
-
this.event = null;
|
|
108
|
-
this.data = [];
|
|
109
|
-
this.chunks = [];
|
|
110
|
-
return sse;
|
|
111
|
-
}
|
|
112
|
-
this.chunks.push(line);
|
|
113
|
-
if (line.startsWith(':')) {
|
|
114
|
-
return null;
|
|
115
|
-
}
|
|
116
|
-
let [fieldname, _, value] = partition(line, ':');
|
|
117
|
-
if (value.startsWith(' ')) {
|
|
118
|
-
value = value.substring(1);
|
|
119
|
-
}
|
|
120
|
-
if (fieldname === 'event') {
|
|
121
|
-
this.event = value;
|
|
122
|
-
} else if (fieldname === 'data') {
|
|
123
|
-
this.data.push(value);
|
|
124
|
-
}
|
|
125
|
-
return null;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
class Stream {
|
|
129
|
-
constructor(response, controller) {
|
|
130
|
-
this.response = response;
|
|
131
|
-
this.controller = controller;
|
|
132
|
-
this.decoder = new SSEDecoder();
|
|
133
|
-
this.responseHeaders = (0, core_1.createResponseHeaders)(response.headers);
|
|
134
|
-
}
|
|
135
|
-
iterMessages() {
|
|
136
|
-
return __asyncGenerator(this, arguments, function* iterMessages_1() {
|
|
137
|
-
var _a, e_1, _b, _c;
|
|
138
|
-
if (!this.response.body) {
|
|
139
|
-
this.controller.abort();
|
|
140
|
-
throw new Error(`Attempted to iterate over a response with no body`);
|
|
141
|
-
}
|
|
142
|
-
const lineDecoder = new LineDecoder();
|
|
143
|
-
try {
|
|
144
|
-
for (
|
|
145
|
-
var _d = true, _e = __asyncValues(this.response.body), _f;
|
|
146
|
-
(_f = yield __await(_e.next())), (_a = _f.done), !_a;
|
|
147
|
-
|
|
148
|
-
) {
|
|
149
|
-
_c = _f.value;
|
|
150
|
-
_d = false;
|
|
151
|
-
try {
|
|
152
|
-
const chunk = _c;
|
|
153
|
-
let text;
|
|
154
|
-
if (chunk instanceof Buffer) {
|
|
155
|
-
text = chunk.toString();
|
|
156
|
-
} else if (chunk instanceof Uint8Array) {
|
|
157
|
-
text = Buffer.from(chunk).toString();
|
|
158
|
-
} else {
|
|
159
|
-
text = chunk;
|
|
160
|
-
}
|
|
161
|
-
for (const line of lineDecoder.decode(text)) {
|
|
162
|
-
const sse = this.decoder.decode(line);
|
|
163
|
-
if (sse) yield yield __await(sse);
|
|
164
|
-
}
|
|
165
|
-
} finally {
|
|
166
|
-
_d = true;
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
} catch (e_1_1) {
|
|
170
|
-
e_1 = { error: e_1_1 };
|
|
171
|
-
} finally {
|
|
172
|
-
try {
|
|
173
|
-
if (!_d && !_a && (_b = _e.return)) yield __await(_b.call(_e));
|
|
174
|
-
} finally {
|
|
175
|
-
if (e_1) throw e_1.error;
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
for (const line of lineDecoder.flush()) {
|
|
179
|
-
const sse = this.decoder.decode(line);
|
|
180
|
-
if (sse) yield yield __await(sse);
|
|
181
|
-
}
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
[Symbol.asyncIterator]() {
|
|
185
|
-
return __asyncGenerator(this, arguments, function* _a() {
|
|
186
|
-
var _b, e_2, _c, _d;
|
|
187
|
-
try {
|
|
188
|
-
try {
|
|
189
|
-
for (
|
|
190
|
-
var _e = true, _f = __asyncValues(this.iterMessages()), _g;
|
|
191
|
-
(_g = yield __await(_f.next())), (_b = _g.done), !_b;
|
|
192
|
-
|
|
193
|
-
) {
|
|
194
|
-
_d = _g.value;
|
|
195
|
-
_e = false;
|
|
196
|
-
try {
|
|
197
|
-
const sse = _d;
|
|
198
|
-
if (sse.event === 'completion') {
|
|
199
|
-
try {
|
|
200
|
-
yield yield __await(JSON.parse(sse.data));
|
|
201
|
-
} catch (e) {
|
|
202
|
-
console.error(`Could not parse message into JSON:`, sse.data);
|
|
203
|
-
console.error(`From chunk:`, sse.raw);
|
|
204
|
-
throw e;
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
if (sse.event === 'ping') {
|
|
208
|
-
continue;
|
|
209
|
-
}
|
|
210
|
-
if (sse.event === 'error') {
|
|
211
|
-
const errText = sse.data;
|
|
212
|
-
const errJSON = (0, core_2.safeJSON)(errText);
|
|
213
|
-
const errMessage = errJSON ? undefined : errText;
|
|
214
|
-
throw error_1.APIError.generate(undefined, errJSON, errMessage, this.responseHeaders);
|
|
215
|
-
}
|
|
216
|
-
} finally {
|
|
217
|
-
_e = true;
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
} catch (e_2_1) {
|
|
221
|
-
e_2 = { error: e_2_1 };
|
|
222
|
-
} finally {
|
|
223
|
-
try {
|
|
224
|
-
if (!_e && !_b && (_c = _f.return)) yield __await(_c.call(_f));
|
|
225
|
-
} finally {
|
|
226
|
-
if (e_2) throw e_2.error;
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
} catch (e) {
|
|
230
|
-
// If the user calls `stream.controller.abort()`, we should exit without throwing.
|
|
231
|
-
if (e instanceof Error && e.name === 'AbortError') return yield __await(void 0);
|
|
232
|
-
throw e;
|
|
233
|
-
} finally {
|
|
234
|
-
// If the user `break`s, abort the ongoing request.
|
|
235
|
-
this.controller.abort();
|
|
236
|
-
}
|
|
237
|
-
});
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
exports.Stream = Stream;
|
|
241
|
-
const NEWLINE_CHARS = '\n\r\x0b\x0c\x1c\x1d\x1e\x85\u2028\u2029';
|
|
242
|
-
/**
|
|
243
|
-
* A re-implementation of httpx's `LineDecoder` in Python that handles incrementally
|
|
244
|
-
* reading lines from text.
|
|
245
|
-
*
|
|
246
|
-
* https://github.com/encode/httpx/blob/920333ea98118e9cf617f246905d7b202510941c/httpx/_decoders.py#L258
|
|
247
|
-
*/
|
|
248
|
-
class LineDecoder {
|
|
249
|
-
constructor() {
|
|
250
|
-
this.buffer = [];
|
|
251
|
-
this.trailingCR = false;
|
|
252
|
-
}
|
|
253
|
-
decode(text) {
|
|
254
|
-
if (this.trailingCR) {
|
|
255
|
-
text = '\r' + text;
|
|
256
|
-
this.trailingCR = false;
|
|
257
|
-
}
|
|
258
|
-
if (text.endsWith('\r')) {
|
|
259
|
-
this.trailingCR = true;
|
|
260
|
-
text = text.slice(0, -1);
|
|
261
|
-
}
|
|
262
|
-
if (!text) {
|
|
263
|
-
return [];
|
|
264
|
-
}
|
|
265
|
-
const trailing_newline = NEWLINE_CHARS.includes(text.slice(-1));
|
|
266
|
-
let lines = text.split(/\r\n|[\n\r\x0b\x0c\x1c\x1d\x1e\x85\u2028\u2029]/g);
|
|
267
|
-
if (lines.length === 1 && !trailing_newline) {
|
|
268
|
-
this.buffer.push(lines[0]);
|
|
269
|
-
return [];
|
|
270
|
-
}
|
|
271
|
-
if (this.buffer.length > 0) {
|
|
272
|
-
lines = [this.buffer.join('') + lines[0], ...lines.slice(1)];
|
|
273
|
-
this.buffer = [];
|
|
274
|
-
}
|
|
275
|
-
if (!trailing_newline) {
|
|
276
|
-
this.buffer = [lines.pop() || ''];
|
|
277
|
-
}
|
|
278
|
-
return lines;
|
|
279
|
-
}
|
|
280
|
-
flush() {
|
|
281
|
-
if (!this.buffer.length && !this.trailingCR) {
|
|
282
|
-
return [];
|
|
283
|
-
}
|
|
284
|
-
const lines = [this.buffer.join('')];
|
|
285
|
-
this.buffer = [];
|
|
286
|
-
this.trailingCR = false;
|
|
287
|
-
return lines;
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
function partition(str, delimiter) {
|
|
291
|
-
const index = str.indexOf(delimiter);
|
|
292
|
-
if (index !== -1) {
|
|
293
|
-
return [str.substring(0, index), delimiter, str.substring(index + delimiter.length)];
|
|
294
|
-
}
|
|
295
|
-
return [str, '', ''];
|
|
296
|
-
}
|
|
297
|
-
//# sourceMappingURL=streaming.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../streaming.ts"],"names":[],"mappings":"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"}
|