@anthropic-ai/sdk 0.6.2 → 0.6.8
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 +117 -0
- package/README.md +16 -6
- package/_shims/MultipartBody.d.ts +9 -0
- package/_shims/MultipartBody.d.ts.map +1 -0
- package/_shims/MultipartBody.js +16 -0
- package/_shims/MultipartBody.js.map +1 -0
- package/_shims/MultipartBody.mjs +12 -0
- package/_shims/MultipartBody.mjs.map +1 -0
- package/_shims/README.md +46 -0
- package/{src/_shims/ReadableStream.node.ts → _shims/auto/runtime-bun.d.ts} +2 -3
- package/_shims/auto/runtime-bun.d.ts.map +1 -0
- package/_shims/auto/runtime-bun.js +21 -0
- package/_shims/auto/runtime-bun.js.map +1 -0
- package/_shims/auto/runtime-bun.mjs +2 -0
- package/_shims/auto/runtime-bun.mjs.map +1 -0
- package/_shims/auto/runtime-node.d.ts +5 -0
- package/_shims/auto/runtime-node.d.ts.map +1 -0
- package/_shims/auto/runtime-node.js +21 -0
- package/_shims/auto/runtime-node.js.map +1 -0
- package/_shims/auto/runtime-node.mjs +2 -0
- package/_shims/auto/runtime-node.mjs.map +1 -0
- package/_shims/auto/runtime.d.ts +5 -0
- package/_shims/auto/runtime.d.ts.map +1 -0
- package/_shims/auto/runtime.js +21 -0
- package/_shims/auto/runtime.js.map +1 -0
- package/_shims/auto/runtime.mjs +2 -0
- package/_shims/auto/runtime.mjs.map +1 -0
- package/_shims/auto/types-node.d.ts +5 -0
- package/_shims/auto/types-node.d.ts.map +1 -0
- package/_shims/auto/types-node.js +21 -0
- package/_shims/auto/types-node.js.map +1 -0
- package/_shims/auto/types-node.mjs +2 -0
- package/_shims/auto/types-node.mjs.map +1 -0
- package/_shims/auto/types.d.ts +101 -0
- package/{src/_shims/ReadableStream.js → _shims/auto/types.js} +0 -2
- package/_shims/{ReadableStream.js → auto/types.mjs} +0 -2
- package/_shims/bun-runtime.d.ts +6 -0
- package/_shims/bun-runtime.d.ts.map +1 -0
- package/_shims/bun-runtime.js +14 -0
- package/_shims/bun-runtime.js.map +1 -0
- package/_shims/bun-runtime.mjs +10 -0
- package/_shims/bun-runtime.mjs.map +1 -0
- package/_shims/index.d.ts +81 -0
- package/_shims/index.js +13 -0
- package/_shims/index.mjs +7 -0
- package/_shims/manual-types.d.ts +12 -0
- package/_shims/manual-types.js +3 -0
- package/_shims/manual-types.mjs +3 -0
- package/_shims/node-runtime.d.ts +3 -0
- package/_shims/node-runtime.d.ts.map +1 -0
- package/_shims/node-runtime.js +90 -0
- package/_shims/node-runtime.js.map +1 -0
- package/_shims/node-runtime.mjs +56 -0
- package/_shims/node-runtime.mjs.map +1 -0
- package/_shims/node-types.d.ts +42 -0
- package/_shims/node-types.js +3 -0
- package/_shims/node-types.mjs +3 -0
- package/_shims/registry.d.ts +37 -0
- package/_shims/registry.d.ts.map +1 -0
- package/_shims/registry.js +41 -0
- package/_shims/registry.js.map +1 -0
- package/_shims/registry.mjs +37 -0
- package/_shims/registry.mjs.map +1 -0
- package/_shims/web-runtime.d.ts +5 -0
- package/_shims/web-runtime.d.ts.map +1 -0
- package/_shims/web-runtime.js +78 -0
- package/_shims/web-runtime.js.map +1 -0
- package/_shims/web-runtime.mjs +71 -0
- package/_shims/web-runtime.mjs.map +1 -0
- package/_shims/web-types.d.ts +83 -0
- package/_shims/web-types.js +3 -0
- package/_shims/web-types.mjs +3 -0
- package/core.d.ts +172 -224
- package/core.d.ts.map +1 -1
- package/core.js +701 -736
- package/core.js.map +1 -1
- package/core.mjs +694 -688
- package/core.mjs.map +1 -1
- package/error.d.ts +32 -32
- package/error.d.ts.map +1 -1
- package/error.js +105 -106
- package/error.js.map +1 -1
- package/error.mjs +101 -91
- package/error.mjs.map +1 -1
- package/index.d.mts +110 -117
- package/index.d.ts +110 -117
- package/index.d.ts.map +1 -1
- package/index.js +107 -159
- package/index.js.map +1 -1
- package/index.mjs +84 -104
- package/index.mjs.map +1 -1
- package/package.json +36 -21
- package/resource.d.ts +10 -10
- package/resource.js +12 -12
- package/resource.mjs +10 -10
- package/resources/completions.d.ts +136 -142
- package/resources/completions.d.ts.map +1 -1
- package/resources/completions.js +9 -14
- package/resources/completions.js.map +1 -1
- package/resources/completions.mjs +6 -11
- package/resources/completions.mjs.map +1 -1
- package/resources/index.d.ts +2 -9
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +5 -10
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +2 -2
- package/resources/index.mjs.map +1 -1
- package/resources/top-level.d.ts +1 -1
- package/resources/top-level.js +3 -3
- package/resources/top-level.mjs +1 -1
- package/shims/node.d.ts +29 -0
- package/shims/node.d.ts.map +1 -0
- package/shims/node.js +31 -0
- package/shims/node.js.map +1 -0
- package/shims/node.mjs +5 -0
- package/shims/node.mjs.map +1 -0
- package/shims/web.d.ts +26 -0
- package/shims/web.d.ts.map +1 -0
- package/shims/web.js +31 -0
- package/shims/web.js.map +1 -0
- package/shims/web.mjs +5 -0
- package/shims/web.mjs.map +1 -0
- package/src/_shims/MultipartBody.ts +9 -0
- package/src/_shims/README.md +46 -0
- package/src/_shims/auto/runtime-bun.ts +4 -0
- package/src/_shims/auto/runtime-node.ts +4 -0
- package/src/_shims/auto/runtime.ts +4 -0
- package/src/_shims/auto/types-node.ts +4 -0
- package/src/_shims/auto/types.d.ts +101 -0
- package/src/_shims/auto/types.js +3 -0
- package/src/_shims/auto/types.mjs +3 -0
- package/src/_shims/bun-runtime.ts +14 -0
- package/src/_shims/index.d.ts +81 -0
- package/src/_shims/index.js +13 -0
- package/src/_shims/index.mjs +7 -0
- package/src/_shims/manual-types.d.ts +12 -0
- package/src/_shims/manual-types.js +3 -0
- package/src/_shims/manual-types.mjs +3 -0
- package/src/_shims/node-runtime.ts +83 -0
- package/src/_shims/node-types.d.ts +42 -0
- package/src/_shims/node-types.js +3 -0
- package/src/_shims/node-types.mjs +3 -0
- package/src/_shims/registry.ts +67 -0
- package/src/_shims/web-runtime.ts +103 -0
- package/src/_shims/web-types.d.ts +83 -0
- package/src/_shims/web-types.js +3 -0
- package/src/_shims/web-types.mjs +3 -0
- package/src/core.ts +107 -56
- package/src/error.ts +20 -8
- package/src/index.ts +24 -17
- package/src/resources/completions.ts +11 -11
- package/src/resources/index.ts +0 -1
- package/src/shims/node.ts +50 -0
- package/src/shims/web.ts +50 -0
- package/src/streaming.ts +164 -59
- package/src/tsconfig.json +11 -0
- package/src/uploads.ts +11 -15
- package/src/version.ts +1 -1
- package/streaming.d.ts +11 -8
- package/streaming.d.ts.map +1 -1
- package/streaming.js +300 -192
- package/streaming.js.map +1 -1
- package/streaming.mjs +296 -188
- package/streaming.mjs.map +1 -1
- package/uploads.d.ts +23 -39
- package/uploads.d.ts.map +1 -1
- package/uploads.js +111 -157
- package/uploads.js.map +1 -1
- package/uploads.mjs +107 -133
- package/uploads.mjs.map +1 -1
- package/version.d.ts +2 -2
- package/version.js +4 -4
- package/version.mjs +2 -2
- package/_shims/ReadableStream.d.ts +0 -38
- package/_shims/ReadableStream.mjs +0 -7
- package/_shims/ReadableStream.node.d.ts +0 -6
- package/_shims/ReadableStream.node.d.ts.map +0 -1
- package/_shims/ReadableStream.node.js +0 -14
- package/_shims/ReadableStream.node.js.map +0 -1
- package/_shims/ReadableStream.node.mjs +0 -3
- package/_shims/ReadableStream.node.mjs.map +0 -1
- package/_shims/agent.d.ts +0 -9
- package/_shims/agent.d.ts.map +0 -1
- package/_shims/agent.js +0 -14
- package/_shims/agent.js.map +0 -1
- package/_shims/agent.mjs +0 -10
- package/_shims/agent.mjs.map +0 -1
- package/_shims/agent.node.d.ts +0 -7
- package/_shims/agent.node.d.ts.map +0 -1
- package/_shims/agent.node.js +0 -28
- package/_shims/agent.node.js.map +0 -1
- package/_shims/agent.node.mjs +0 -16
- package/_shims/agent.node.mjs.map +0 -1
- package/_shims/fetch.d.ts +0 -60
- package/_shims/fetch.js +0 -13
- package/_shims/fetch.mjs +0 -15
- package/_shims/fetch.node.d.ts +0 -64
- package/_shims/fetch.node.js +0 -12
- package/_shims/fetch.node.mjs +0 -14
- package/_shims/fileFromPath.d.ts +0 -22
- package/_shims/fileFromPath.d.ts.map +0 -1
- package/_shims/fileFromPath.js +0 -16
- package/_shims/fileFromPath.js.map +0 -1
- package/_shims/fileFromPath.mjs +0 -12
- package/_shims/fileFromPath.mjs.map +0 -1
- package/_shims/fileFromPath.node.d.ts +0 -17
- package/_shims/fileFromPath.node.d.ts.map +0 -1
- package/_shims/fileFromPath.node.js +0 -17
- package/_shims/fileFromPath.node.js.map +0 -1
- package/_shims/fileFromPath.node.mjs +0 -13
- package/_shims/fileFromPath.node.mjs.map +0 -1
- package/_shims/formdata.d.ts +0 -43
- package/_shims/formdata.js +0 -17
- package/_shims/formdata.mjs +0 -20
- package/_shims/formdata.node.d.ts +0 -45
- package/_shims/formdata.node.js +0 -11
- package/_shims/formdata.node.mjs +0 -9
- package/_shims/getMultipartRequestOptions.d.ts +0 -10
- package/_shims/getMultipartRequestOptions.d.ts.map +0 -1
- package/_shims/getMultipartRequestOptions.js +0 -12
- package/_shims/getMultipartRequestOptions.js.map +0 -1
- package/_shims/getMultipartRequestOptions.mjs +0 -8
- package/_shims/getMultipartRequestOptions.mjs.map +0 -1
- package/_shims/getMultipartRequestOptions.node.d.ts +0 -10
- package/_shims/getMultipartRequestOptions.node.d.ts.map +0 -1
- package/_shims/getMultipartRequestOptions.node.js +0 -22
- package/_shims/getMultipartRequestOptions.node.js.map +0 -1
- package/_shims/getMultipartRequestOptions.node.mjs +0 -18
- package/_shims/getMultipartRequestOptions.node.mjs.map +0 -1
- package/_shims/node-readable.d.ts +0 -23
- package/_shims/node-readable.d.ts.map +0 -1
- package/_shims/node-readable.js +0 -11
- package/_shims/node-readable.js.map +0 -1
- package/_shims/node-readable.mjs +0 -7
- package/_shims/node-readable.mjs.map +0 -1
- package/_shims/node-readable.node.d.ts +0 -8
- package/_shims/node-readable.node.d.ts.map +0 -1
- package/_shims/node-readable.node.js +0 -9
- package/_shims/node-readable.node.js.map +0 -1
- package/_shims/node-readable.node.mjs +0 -5
- package/_shims/node-readable.node.mjs.map +0 -1
- package/src/_shims/ReadableStream.d.ts +0 -38
- package/src/_shims/ReadableStream.mjs +0 -7
- package/src/_shims/agent.node.ts +0 -22
- package/src/_shims/agent.ts +0 -12
- package/src/_shims/fetch.d.ts +0 -60
- package/src/_shims/fetch.deno.ts +0 -23
- package/src/_shims/fetch.js +0 -13
- package/src/_shims/fetch.mjs +0 -15
- package/src/_shims/fetch.node.d.ts +0 -64
- package/src/_shims/fetch.node.js +0 -12
- package/src/_shims/fetch.node.mjs +0 -14
- package/src/_shims/fileFromPath.node.ts +0 -29
- package/src/_shims/fileFromPath.ts +0 -29
- package/src/_shims/formdata.d.ts +0 -43
- package/src/_shims/formdata.deno.ts +0 -16
- package/src/_shims/formdata.js +0 -17
- package/src/_shims/formdata.mjs +0 -20
- package/src/_shims/formdata.node.d.ts +0 -45
- package/src/_shims/formdata.node.js +0 -11
- package/src/_shims/formdata.node.mjs +0 -9
- package/src/_shims/getMultipartRequestOptions.node.ts +0 -25
- package/src/_shims/getMultipartRequestOptions.ts +0 -14
- package/src/_shims/node-readable.node.ts +0 -10
- package/src/_shims/node-readable.ts +0 -30
package/uploads.d.ts
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import { type RequestOptions } from
|
|
2
|
-
import { type
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
import { fileFromPath } from '@anthropic-ai/sdk/_shims/fileFromPath';
|
|
6
|
-
import { type FsReadStream } from '@anthropic-ai/sdk/_shims/node-readable';
|
|
7
|
-
export { fileFromPath };
|
|
1
|
+
import { type RequestOptions } from "./core.js";
|
|
2
|
+
import { FormData, type Blob, type FilePropertyBag, type FsReadStream } from "./_shims/index.js";
|
|
3
|
+
import { MultipartBody } from "./_shims/MultipartBody.js";
|
|
4
|
+
export { fileFromPath } from "./_shims/index.js";
|
|
8
5
|
type BlobLikePart = string | ArrayBuffer | ArrayBufferView | BlobLike | Uint8Array | DataView;
|
|
9
6
|
export type BlobPart = string | ArrayBuffer | ArrayBufferView | Blob | Uint8Array | DataView;
|
|
10
7
|
/**
|
|
@@ -21,30 +18,30 @@ export type Uploadable = FileLike | ResponseLike | FsReadStream;
|
|
|
21
18
|
* Intended to match web.Blob, node.Blob, node-fetch.Blob, etc.
|
|
22
19
|
*/
|
|
23
20
|
export interface BlobLike {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
21
|
+
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/size) */
|
|
22
|
+
readonly size: number;
|
|
23
|
+
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/type) */
|
|
24
|
+
readonly type: string;
|
|
25
|
+
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/text) */
|
|
26
|
+
text(): Promise<string>;
|
|
27
|
+
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Blob/slice) */
|
|
28
|
+
slice(start?: number, end?: number): BlobLike;
|
|
32
29
|
}
|
|
33
30
|
/**
|
|
34
31
|
* Intended to match web.File, node.File, node-fetch.File, etc.
|
|
35
32
|
*/
|
|
36
33
|
export interface FileLike extends BlobLike {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
34
|
+
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/File/lastModified) */
|
|
35
|
+
readonly lastModified: number;
|
|
36
|
+
/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/File/name) */
|
|
37
|
+
readonly name: string;
|
|
41
38
|
}
|
|
42
39
|
/**
|
|
43
40
|
* Intended to match web.Response, node.Response, node-fetch.Response, etc.
|
|
44
41
|
*/
|
|
45
42
|
export interface ResponseLike {
|
|
46
|
-
|
|
47
|
-
|
|
43
|
+
url: string;
|
|
44
|
+
blob(): Promise<BlobLike>;
|
|
48
45
|
}
|
|
49
46
|
export declare const isResponseLike: (value: any) => value is ResponseLike;
|
|
50
47
|
export declare const isFileLike: (value: any) => value is FileLike;
|
|
@@ -53,7 +50,7 @@ export declare const isFileLike: (value: any) => value is FileLike;
|
|
|
53
50
|
* adds the arrayBuffer() method type because it is available and used at runtime
|
|
54
51
|
*/
|
|
55
52
|
export declare const isBlobLike: (value: any) => value is BlobLike & {
|
|
56
|
-
|
|
53
|
+
arrayBuffer(): Promise<ArrayBuffer>;
|
|
57
54
|
};
|
|
58
55
|
export declare const isUploadable: (value: any) => value is Uploadable;
|
|
59
56
|
export type ToFileInput = Uploadable | Exclude<BlobLikePart, string> | AsyncIterable<BlobLikePart>;
|
|
@@ -66,26 +63,13 @@ export type ToFileInput = Uploadable | Exclude<BlobLikePart, string> | AsyncIter
|
|
|
66
63
|
* @param {number=} options.lastModified the last modified timestamp
|
|
67
64
|
* @returns a {@link File} with the given properties
|
|
68
65
|
*/
|
|
69
|
-
export declare function toFile(
|
|
70
|
-
value: ToFileInput | PromiseLike<ToFileInput>,
|
|
71
|
-
name?: string | null | undefined,
|
|
72
|
-
options?: FilePropertyBag | undefined,
|
|
73
|
-
): Promise<FileLike>;
|
|
74
|
-
export declare class MultipartBody {
|
|
75
|
-
body: Readable | BodyInit;
|
|
76
|
-
constructor(body: Readable | BodyInit);
|
|
77
|
-
get [Symbol.toStringTag](): string;
|
|
78
|
-
}
|
|
66
|
+
export declare function toFile(value: ToFileInput | PromiseLike<ToFileInput>, name?: string | null | undefined, options?: FilePropertyBag | undefined): Promise<FileLike>;
|
|
79
67
|
export declare const isMultipartBody: (body: any) => body is MultipartBody;
|
|
80
68
|
/**
|
|
81
69
|
* Returns a multipart/form-data request if any part of the given request body contains a File / Blob value.
|
|
82
70
|
* Otherwise returns the request as is.
|
|
83
71
|
*/
|
|
84
|
-
export declare const maybeMultipartFormRequestOptions: <T extends {} = Record<string, unknown>>(
|
|
85
|
-
|
|
86
|
-
) => Promise<RequestOptions<MultipartBody | T>>;
|
|
87
|
-
export declare const multipartFormRequestOptions: <T extends {} = Record<string, unknown>>(
|
|
88
|
-
opts: RequestOptions<T>,
|
|
89
|
-
) => Promise<RequestOptions<MultipartBody | T>>;
|
|
72
|
+
export declare const maybeMultipartFormRequestOptions: <T extends {} = Record<string, unknown>>(opts: RequestOptions<T>) => Promise<RequestOptions<MultipartBody | T>>;
|
|
73
|
+
export declare const multipartFormRequestOptions: <T extends {} = Record<string, unknown>>(opts: RequestOptions<T>) => Promise<RequestOptions<MultipartBody | T>>;
|
|
90
74
|
export declare const createForm: <T = Record<string, unknown>>(body: T | undefined) => Promise<FormData>;
|
|
91
|
-
//# sourceMappingURL=uploads.d.ts.map
|
|
75
|
+
//# sourceMappingURL=uploads.d.ts.map
|
package/uploads.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploads.d.ts","sourceRoot":"","sources":["src/uploads.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"uploads.d.ts","sourceRoot":"","sources":["src/uploads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EACL,QAAQ,EAER,KAAK,IAAI,EACT,KAAK,eAAe,EAEpB,KAAK,YAAY,EAElB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,KAAK,YAAY,GAAG,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;AAC9F,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG,IAAI,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE7F;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,YAAY,GAAG,YAAY,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB,6EAA6E;IAC7E,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CAE/C;AAED;;GAEG;AACH,MAAM,WAAW,QAAS,SAAQ,QAAQ;IACxC,oFAAoF;IACpF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC3B;AAED,eAAO,MAAM,cAAc,UAAW,GAAG,0BAIP,CAAC;AAEnC,eAAO,MAAM,UAAU,UAAW,GAAG,sBAKlB,CAAC;AAEpB;;;GAGG;AACH,eAAO,MAAM,UAAU,UAAW,GAAG;mBAAwC,QAAQ,WAAW,CAAC;CAOxD,CAAC;AAE1C,eAAO,MAAM,YAAY,UAAW,GAAG,wBAEtC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;AAEnG;;;;;;;;GAQG;AACH,wBAAsB,MAAM,CAC1B,KAAK,EAAE,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,EAC7C,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,OAAO,GAAE,eAAe,GAAG,SAAc,GACxC,OAAO,CAAC,QAAQ,CAAC,CAuBnB;AAoDD,eAAO,MAAM,eAAe,SAAU,GAAG,0BACsD,CAAC;AAEhG;;;GAGG;AACH,eAAO,MAAM,gCAAgC,iHAO5C,CAAC;AAEF,eAAO,MAAM,2BAA2B,iHAKvC,CAAC;AAEF,eAAO,MAAM,UAAU,wDAA6D,QAAQ,QAAQ,CAInG,CAAC"}
|
package/uploads.js
CHANGED
|
@@ -1,59 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports,
|
|
3
|
-
exports.createForm =
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
exports.isFileLike =
|
|
12
|
-
exports.isResponseLike =
|
|
13
|
-
exports.fileFromPath =
|
|
14
|
-
void 0;
|
|
15
|
-
const formdata_1 = require('@anthropic-ai/sdk/_shims/formdata');
|
|
16
|
-
const getMultipartRequestOptions_1 = require('@anthropic-ai/sdk/_shims/getMultipartRequestOptions');
|
|
17
|
-
const fileFromPath_1 = require('@anthropic-ai/sdk/_shims/fileFromPath');
|
|
18
|
-
Object.defineProperty(exports, 'fileFromPath', {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get: function () {
|
|
21
|
-
return fileFromPath_1.fileFromPath;
|
|
22
|
-
},
|
|
23
|
-
});
|
|
24
|
-
const node_readable_1 = require('@anthropic-ai/sdk/_shims/node-readable');
|
|
25
|
-
const isResponseLike = (value) =>
|
|
26
|
-
value != null &&
|
|
27
|
-
typeof value === 'object' &&
|
|
28
|
-
typeof value.url === 'string' &&
|
|
29
|
-
typeof value.blob === 'function';
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createForm = exports.multipartFormRequestOptions = exports.maybeMultipartFormRequestOptions = exports.isMultipartBody = exports.toFile = exports.isUploadable = exports.isBlobLike = exports.isFileLike = exports.isResponseLike = exports.fileFromPath = void 0;
|
|
4
|
+
const index_1 = require("./_shims/index.js");
|
|
5
|
+
var index_2 = require("./_shims/index.js");
|
|
6
|
+
Object.defineProperty(exports, "fileFromPath", { enumerable: true, get: function () { return index_2.fileFromPath; } });
|
|
7
|
+
const isResponseLike = (value) => value != null &&
|
|
8
|
+
typeof value === 'object' &&
|
|
9
|
+
typeof value.url === 'string' &&
|
|
10
|
+
typeof value.blob === 'function';
|
|
30
11
|
exports.isResponseLike = isResponseLike;
|
|
31
|
-
const isFileLike = (value) =>
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
(0, exports.isBlobLike)(value);
|
|
12
|
+
const isFileLike = (value) => value != null &&
|
|
13
|
+
typeof value === 'object' &&
|
|
14
|
+
typeof value.name === 'string' &&
|
|
15
|
+
typeof value.lastModified === 'number' &&
|
|
16
|
+
(0, exports.isBlobLike)(value);
|
|
37
17
|
exports.isFileLike = isFileLike;
|
|
38
18
|
/**
|
|
39
19
|
* The BlobLike type omits arrayBuffer() because @types/node-fetch@^2.6.4 lacks it; but this check
|
|
40
20
|
* adds the arrayBuffer() method type because it is available and used at runtime
|
|
41
21
|
*/
|
|
42
|
-
const isBlobLike = (value) =>
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
typeof value.arrayBuffer === 'function';
|
|
22
|
+
const isBlobLike = (value) => value != null &&
|
|
23
|
+
typeof value === 'object' &&
|
|
24
|
+
typeof value.size === 'number' &&
|
|
25
|
+
typeof value.type === 'string' &&
|
|
26
|
+
typeof value.text === 'function' &&
|
|
27
|
+
typeof value.slice === 'function' &&
|
|
28
|
+
typeof value.arrayBuffer === 'function';
|
|
50
29
|
exports.isBlobLike = isBlobLike;
|
|
51
30
|
const isUploadable = (value) => {
|
|
52
|
-
|
|
53
|
-
(0, exports.isFileLike)(value) ||
|
|
54
|
-
(0, exports.isResponseLike)(value) ||
|
|
55
|
-
(0, node_readable_1.isFsReadStream)(value)
|
|
56
|
-
);
|
|
31
|
+
return (0, exports.isFileLike)(value) || (0, exports.isResponseLike)(value) || (0, index_1.isFsReadStream)(value);
|
|
57
32
|
};
|
|
58
33
|
exports.isUploadable = isUploadable;
|
|
59
34
|
/**
|
|
@@ -66,143 +41,122 @@ exports.isUploadable = isUploadable;
|
|
|
66
41
|
* @returns a {@link File} with the given properties
|
|
67
42
|
*/
|
|
68
43
|
async function toFile(value, name, options = {}) {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
(name =
|
|
76
|
-
(_a = new URL(value.url).pathname.split(/[\\/]/).pop()) !== null && _a !== void 0 ?
|
|
77
|
-
_a
|
|
78
|
-
: 'unknown_file');
|
|
79
|
-
return new formdata_1.File([blob], name, options);
|
|
80
|
-
}
|
|
81
|
-
const bits = await getBytes(value);
|
|
82
|
-
name || (name = (_b = getName(value)) !== null && _b !== void 0 ? _b : 'unknown_file');
|
|
83
|
-
if (!options.type) {
|
|
84
|
-
const type = (_c = bits[0]) === null || _c === void 0 ? void 0 : _c.type;
|
|
85
|
-
if (typeof type === 'string') {
|
|
86
|
-
options = { ...options, type };
|
|
44
|
+
// If it's a promise, resolve it.
|
|
45
|
+
value = await value;
|
|
46
|
+
if ((0, exports.isResponseLike)(value)) {
|
|
47
|
+
const blob = await value.blob();
|
|
48
|
+
name || (name = new URL(value.url).pathname.split(/[\\/]/).pop() ?? 'unknown_file');
|
|
49
|
+
return new index_1.File([blob], name, options);
|
|
87
50
|
}
|
|
88
|
-
|
|
89
|
-
|
|
51
|
+
const bits = await getBytes(value);
|
|
52
|
+
name || (name = getName(value) ?? 'unknown_file');
|
|
53
|
+
if (!options.type) {
|
|
54
|
+
const type = bits[0]?.type;
|
|
55
|
+
if (typeof type === 'string') {
|
|
56
|
+
options = { ...options, type };
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return new index_1.File(bits, name, options);
|
|
90
60
|
}
|
|
91
61
|
exports.toFile = toFile;
|
|
92
62
|
async function getBytes(value) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
parts.push(chunk); // TODO, consider validating?
|
|
63
|
+
let parts = [];
|
|
64
|
+
if (typeof value === 'string' ||
|
|
65
|
+
ArrayBuffer.isView(value) || // includes Uint8Array, Buffer, etc.
|
|
66
|
+
value instanceof ArrayBuffer) {
|
|
67
|
+
parts.push(value);
|
|
68
|
+
}
|
|
69
|
+
else if ((0, exports.isBlobLike)(value)) {
|
|
70
|
+
parts.push(await value.arrayBuffer());
|
|
71
|
+
}
|
|
72
|
+
else if (isAsyncIterableIterator(value) // includes Readable, ReadableStream, etc.
|
|
73
|
+
) {
|
|
74
|
+
for await (const chunk of value) {
|
|
75
|
+
parts.push(chunk); // TODO, consider validating?
|
|
76
|
+
}
|
|
108
77
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
void 0
|
|
114
|
-
: _a.name
|
|
115
|
-
}; props: ${propsForError(value)}`,
|
|
116
|
-
);
|
|
117
|
-
}
|
|
118
|
-
return parts;
|
|
78
|
+
else {
|
|
79
|
+
throw new Error(`Unexpected data type: ${typeof value}; constructor: ${value?.constructor?.name}; props: ${propsForError(value)}`);
|
|
80
|
+
}
|
|
81
|
+
return parts;
|
|
119
82
|
}
|
|
120
83
|
function propsForError(value) {
|
|
121
|
-
|
|
122
|
-
|
|
84
|
+
const props = Object.getOwnPropertyNames(value);
|
|
85
|
+
return `[${props.map((p) => `"${p}"`).join(', ')}]`;
|
|
123
86
|
}
|
|
124
87
|
function getName(value) {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
// For fs.ReadStream
|
|
130
|
-
((_a = getStringFromMaybeBuffer(value.path)) === null || _a === void 0 ? void 0 : _a.split(/[\\/]/).pop())
|
|
131
|
-
);
|
|
88
|
+
return (getStringFromMaybeBuffer(value.name) ||
|
|
89
|
+
getStringFromMaybeBuffer(value.filename) ||
|
|
90
|
+
// For fs.ReadStream
|
|
91
|
+
getStringFromMaybeBuffer(value.path)?.split(/[\\/]/).pop());
|
|
132
92
|
}
|
|
133
93
|
const getStringFromMaybeBuffer = (x) => {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
94
|
+
if (typeof x === 'string')
|
|
95
|
+
return x;
|
|
96
|
+
if (typeof Buffer !== 'undefined' && x instanceof Buffer)
|
|
97
|
+
return String(x);
|
|
98
|
+
return undefined;
|
|
137
99
|
};
|
|
138
|
-
const isAsyncIterableIterator = (value) =>
|
|
139
|
-
|
|
140
|
-
class MultipartBody {
|
|
141
|
-
constructor(body) {
|
|
142
|
-
this.body = body;
|
|
143
|
-
}
|
|
144
|
-
get [Symbol.toStringTag]() {
|
|
145
|
-
return 'MultipartBody';
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
exports.MultipartBody = MultipartBody;
|
|
149
|
-
const isMultipartBody = (body) =>
|
|
150
|
-
body && typeof body === 'object' && body.body && body[Symbol.toStringTag] === 'MultipartBody';
|
|
100
|
+
const isAsyncIterableIterator = (value) => value != null && typeof value === 'object' && typeof value[Symbol.asyncIterator] === 'function';
|
|
101
|
+
const isMultipartBody = (body) => body && typeof body === 'object' && body.body && body[Symbol.toStringTag] === 'MultipartBody';
|
|
151
102
|
exports.isMultipartBody = isMultipartBody;
|
|
152
103
|
/**
|
|
153
104
|
* Returns a multipart/form-data request if any part of the given request body contains a File / Blob value.
|
|
154
105
|
* Otherwise returns the request as is.
|
|
155
106
|
*/
|
|
156
107
|
const maybeMultipartFormRequestOptions = async (opts) => {
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
108
|
+
if (!hasUploadableValue(opts.body))
|
|
109
|
+
return opts;
|
|
110
|
+
const form = await (0, exports.createForm)(opts.body);
|
|
111
|
+
return (0, index_1.getMultipartRequestOptions)(form, opts);
|
|
160
112
|
};
|
|
161
113
|
exports.maybeMultipartFormRequestOptions = maybeMultipartFormRequestOptions;
|
|
162
114
|
const multipartFormRequestOptions = async (opts) => {
|
|
163
|
-
|
|
164
|
-
|
|
115
|
+
const form = await (0, exports.createForm)(opts.body);
|
|
116
|
+
return (0, index_1.getMultipartRequestOptions)(form, opts);
|
|
165
117
|
};
|
|
166
118
|
exports.multipartFormRequestOptions = multipartFormRequestOptions;
|
|
167
119
|
const createForm = async (body) => {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
120
|
+
const form = new index_1.FormData();
|
|
121
|
+
await Promise.all(Object.entries(body || {}).map(([key, value]) => addFormValue(form, key, value)));
|
|
122
|
+
return form;
|
|
171
123
|
};
|
|
172
124
|
exports.createForm = createForm;
|
|
173
125
|
const hasUploadableValue = (value) => {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
126
|
+
if ((0, exports.isUploadable)(value))
|
|
127
|
+
return true;
|
|
128
|
+
if (Array.isArray(value))
|
|
129
|
+
return value.some(hasUploadableValue);
|
|
130
|
+
if (value && typeof value === 'object') {
|
|
131
|
+
for (const k in value) {
|
|
132
|
+
if (hasUploadableValue(value[k]))
|
|
133
|
+
return true;
|
|
134
|
+
}
|
|
179
135
|
}
|
|
180
|
-
|
|
181
|
-
return false;
|
|
136
|
+
return false;
|
|
182
137
|
};
|
|
183
138
|
const addFormValue = async (form, key, value) => {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
}
|
|
139
|
+
if (value === undefined)
|
|
140
|
+
return;
|
|
141
|
+
if (value == null) {
|
|
142
|
+
throw new TypeError(`Received null for "${key}"; to pass null in FormData, you must use the string 'null'`);
|
|
143
|
+
}
|
|
144
|
+
// TODO: make nested formats configurable
|
|
145
|
+
if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
|
|
146
|
+
form.append(key, String(value));
|
|
147
|
+
}
|
|
148
|
+
else if ((0, exports.isUploadable)(value)) {
|
|
149
|
+
const file = await toFile(value);
|
|
150
|
+
form.append(key, file);
|
|
151
|
+
}
|
|
152
|
+
else if (Array.isArray(value)) {
|
|
153
|
+
await Promise.all(value.map((entry) => addFormValue(form, key + '[]', entry)));
|
|
154
|
+
}
|
|
155
|
+
else if (typeof value === 'object') {
|
|
156
|
+
await Promise.all(Object.entries(value).map(([name, prop]) => addFormValue(form, `${key}[${name}]`, prop)));
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${value} instead`);
|
|
160
|
+
}
|
|
207
161
|
};
|
|
208
|
-
//# sourceMappingURL=uploads.js.map
|
|
162
|
+
//# sourceMappingURL=uploads.js.map
|
package/uploads.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploads.js","sourceRoot":"","sources":["src/uploads.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"uploads.js","sourceRoot":"","sources":["src/uploads.ts"],"names":[],"mappings":"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"}
|