157 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			157 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 
								 | 
							
								import { APIResource } from "../../core/resource.js";
							 | 
						||
| 
								 | 
							
								import * as FilesAPI from "../files.js";
							 | 
						||
| 
								 | 
							
								import * as PartsAPI from "./parts.js";
							 | 
						||
| 
								 | 
							
								import { PartCreateParams, Parts, UploadPart } from "./parts.js";
							 | 
						||
| 
								 | 
							
								import { APIPromise } from "../../core/api-promise.js";
							 | 
						||
| 
								 | 
							
								import { RequestOptions } from "../../internal/request-options.js";
							 | 
						||
| 
								 | 
							
								export declare class Uploads extends APIResource {
							 | 
						||
| 
								 | 
							
								    parts: PartsAPI.Parts;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Creates an intermediate
							 | 
						||
| 
								 | 
							
								     * [Upload](https://platform.openai.com/docs/api-reference/uploads/object) object
							 | 
						||
| 
								 | 
							
								     * that you can add
							 | 
						||
| 
								 | 
							
								     * [Parts](https://platform.openai.com/docs/api-reference/uploads/part-object) to.
							 | 
						||
| 
								 | 
							
								     * Currently, an Upload can accept at most 8 GB in total and expires after an hour
							 | 
						||
| 
								 | 
							
								     * after you create it.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * Once you complete the Upload, we will create a
							 | 
						||
| 
								 | 
							
								     * [File](https://platform.openai.com/docs/api-reference/files/object) object that
							 | 
						||
| 
								 | 
							
								     * contains all the parts you uploaded. This File is usable in the rest of our
							 | 
						||
| 
								 | 
							
								     * platform as a regular File object.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * For certain `purpose` values, the correct `mime_type` must be specified. Please
							 | 
						||
| 
								 | 
							
								     * refer to documentation for the
							 | 
						||
| 
								 | 
							
								     * [supported MIME types for your use case](https://platform.openai.com/docs/assistants/tools/file-search#supported-files).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * For guidance on the proper filename extensions for each purpose, please follow
							 | 
						||
| 
								 | 
							
								     * the documentation on
							 | 
						||
| 
								 | 
							
								     * [creating a File](https://platform.openai.com/docs/api-reference/files/create).
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    create(body: UploadCreateParams, options?: RequestOptions): APIPromise<Upload>;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Cancels the Upload. No Parts may be added after an Upload is cancelled.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    cancel(uploadID: string, options?: RequestOptions): APIPromise<Upload>;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Completes the
							 | 
						||
| 
								 | 
							
								     * [Upload](https://platform.openai.com/docs/api-reference/uploads/object).
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * Within the returned Upload object, there is a nested
							 | 
						||
| 
								 | 
							
								     * [File](https://platform.openai.com/docs/api-reference/files/object) object that
							 | 
						||
| 
								 | 
							
								     * is ready to use in the rest of the platform.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * You can specify the order of the Parts by passing in an ordered list of the Part
							 | 
						||
| 
								 | 
							
								     * IDs.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * The number of bytes uploaded upon completion must match the number of bytes
							 | 
						||
| 
								 | 
							
								     * initially specified when creating the Upload object. No Parts may be added after
							 | 
						||
| 
								 | 
							
								     * an Upload is completed.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    complete(uploadID: string, body: UploadCompleteParams, options?: RequestOptions): APIPromise<Upload>;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * The Upload object can accept byte chunks in the form of Parts.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								export interface Upload {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * The Upload unique identifier, which can be referenced in API endpoints.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    id: string;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * The intended number of bytes to be uploaded.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    bytes: number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * The Unix timestamp (in seconds) for when the Upload was created.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    created_at: number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * The Unix timestamp (in seconds) for when the Upload will expire.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    expires_at: number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * The name of the file to be uploaded.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    filename: string;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * The object type, which is always "upload".
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    object: 'upload';
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * The intended purpose of the file.
							 | 
						||
| 
								 | 
							
								     * [Please refer here](https://platform.openai.com/docs/api-reference/files/object#files/object-purpose)
							 | 
						||
| 
								 | 
							
								     * for acceptable values.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    purpose: string;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * The status of the Upload.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    status: 'pending' | 'completed' | 'cancelled' | 'expired';
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * The `File` object represents a document that has been uploaded to OpenAI.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    file?: FilesAPI.FileObject | null;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								export interface UploadCreateParams {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * The number of bytes in the file you are uploading.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    bytes: number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * The name of the file to upload.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    filename: string;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * The MIME type of the file.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * This must fall within the supported MIME types for your file purpose. See the
							 | 
						||
| 
								 | 
							
								     * supported MIME types for assistants and vision.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    mime_type: string;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * The intended purpose of the uploaded file.
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * See the
							 | 
						||
| 
								 | 
							
								     * [documentation on File purposes](https://platform.openai.com/docs/api-reference/files/create#files-create-purpose).
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    purpose: FilesAPI.FilePurpose;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * The expiration policy for a file. By default, files with `purpose=batch` expire
							 | 
						||
| 
								 | 
							
								     * after 30 days and all other files are persisted until they are manually deleted.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    expires_after?: UploadCreateParams.ExpiresAfter;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								export declare namespace UploadCreateParams {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * The expiration policy for a file. By default, files with `purpose=batch` expire
							 | 
						||
| 
								 | 
							
								     * after 30 days and all other files are persisted until they are manually deleted.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    interface ExpiresAfter {
							 | 
						||
| 
								 | 
							
								        /**
							 | 
						||
| 
								 | 
							
								         * Anchor timestamp after which the expiration policy applies. Supported anchors:
							 | 
						||
| 
								 | 
							
								         * `created_at`.
							 | 
						||
| 
								 | 
							
								         */
							 | 
						||
| 
								 | 
							
								        anchor: 'created_at';
							 | 
						||
| 
								 | 
							
								        /**
							 | 
						||
| 
								 | 
							
								         * The number of seconds after the anchor time that the file will expire. Must be
							 | 
						||
| 
								 | 
							
								         * between 3600 (1 hour) and 2592000 (30 days).
							 | 
						||
| 
								 | 
							
								         */
							 | 
						||
| 
								 | 
							
								        seconds: number;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								export interface UploadCompleteParams {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * The ordered list of Part IDs.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    part_ids: Array<string>;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * The optional md5 checksum for the file contents to verify if the bytes uploaded
							 | 
						||
| 
								 | 
							
								     * matches what you expect.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    md5?: string;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								export declare namespace Uploads {
							 | 
						||
| 
								 | 
							
								    export { type Upload as Upload, type UploadCreateParams as UploadCreateParams, type UploadCompleteParams as UploadCompleteParams, };
							 | 
						||
| 
								 | 
							
								    export { Parts as Parts, type UploadPart as UploadPart, type PartCreateParams as PartCreateParams };
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								//# sourceMappingURL=uploads.d.ts.map
							 |