122 lines
3.7 KiB
JavaScript
122 lines
3.7 KiB
JavaScript
"use strict";
|
|
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.Files = void 0;
|
|
const resource_1 = require("../../core/resource.js");
|
|
const pagination_1 = require("../../core/pagination.js");
|
|
const headers_1 = require("../../internal/headers.js");
|
|
const uploads_1 = require("../../internal/uploads.js");
|
|
const path_1 = require("../../internal/utils/path.js");
|
|
class Files extends resource_1.APIResource {
|
|
/**
|
|
* List Files
|
|
*
|
|
* @example
|
|
* ```ts
|
|
* // Automatically fetches more pages as needed.
|
|
* for await (const fileMetadata of client.beta.files.list()) {
|
|
* // ...
|
|
* }
|
|
* ```
|
|
*/
|
|
list(params = {}, options) {
|
|
const { betas, ...query } = params ?? {};
|
|
return this._client.getAPIList('/v1/files', (pagination_1.Page), {
|
|
query,
|
|
...options,
|
|
headers: (0, headers_1.buildHeaders)([
|
|
{ 'anthropic-beta': [...(betas ?? []), 'files-api-2025-04-14'].toString() },
|
|
options?.headers,
|
|
]),
|
|
});
|
|
}
|
|
/**
|
|
* Delete File
|
|
*
|
|
* @example
|
|
* ```ts
|
|
* const deletedFile = await client.beta.files.delete(
|
|
* 'file_id',
|
|
* );
|
|
* ```
|
|
*/
|
|
delete(fileID, params = {}, options) {
|
|
const { betas } = params ?? {};
|
|
return this._client.delete((0, path_1.path) `/v1/files/${fileID}`, {
|
|
...options,
|
|
headers: (0, headers_1.buildHeaders)([
|
|
{ 'anthropic-beta': [...(betas ?? []), 'files-api-2025-04-14'].toString() },
|
|
options?.headers,
|
|
]),
|
|
});
|
|
}
|
|
/**
|
|
* Download File
|
|
*
|
|
* @example
|
|
* ```ts
|
|
* const response = await client.beta.files.download(
|
|
* 'file_id',
|
|
* );
|
|
*
|
|
* const content = await response.blob();
|
|
* console.log(content);
|
|
* ```
|
|
*/
|
|
download(fileID, params = {}, options) {
|
|
const { betas } = params ?? {};
|
|
return this._client.get((0, path_1.path) `/v1/files/${fileID}/content`, {
|
|
...options,
|
|
headers: (0, headers_1.buildHeaders)([
|
|
{
|
|
'anthropic-beta': [...(betas ?? []), 'files-api-2025-04-14'].toString(),
|
|
Accept: 'application/binary',
|
|
},
|
|
options?.headers,
|
|
]),
|
|
__binaryResponse: true,
|
|
});
|
|
}
|
|
/**
|
|
* Get File Metadata
|
|
*
|
|
* @example
|
|
* ```ts
|
|
* const fileMetadata =
|
|
* await client.beta.files.retrieveMetadata('file_id');
|
|
* ```
|
|
*/
|
|
retrieveMetadata(fileID, params = {}, options) {
|
|
const { betas } = params ?? {};
|
|
return this._client.get((0, path_1.path) `/v1/files/${fileID}`, {
|
|
...options,
|
|
headers: (0, headers_1.buildHeaders)([
|
|
{ 'anthropic-beta': [...(betas ?? []), 'files-api-2025-04-14'].toString() },
|
|
options?.headers,
|
|
]),
|
|
});
|
|
}
|
|
/**
|
|
* Upload File
|
|
*
|
|
* @example
|
|
* ```ts
|
|
* const fileMetadata = await client.beta.files.upload({
|
|
* file: fs.createReadStream('path/to/file'),
|
|
* });
|
|
* ```
|
|
*/
|
|
upload(params, options) {
|
|
const { betas, ...body } = params;
|
|
return this._client.post('/v1/files', (0, uploads_1.multipartFormRequestOptions)({
|
|
body,
|
|
...options,
|
|
headers: (0, headers_1.buildHeaders)([
|
|
{ 'anthropic-beta': [...(betas ?? []), 'files-api-2025-04-14'].toString() },
|
|
options?.headers,
|
|
]),
|
|
}, this._client));
|
|
}
|
|
}
|
|
exports.Files = Files;
|
|
//# sourceMappingURL=files.js.map
|