import { APIResource } from "../core/resource.js"; import * as Shared from "./shared.js"; import * as CompletionsAPI from "./chat/completions.js"; import * as RubricsAPI from "./rubrics/rubrics.js"; import { APIPromise } from "../core/api-promise.js"; import { CursorPage, type CursorPageParams, PagePromise } from "../core/pagination.js"; import { RequestOptions } from "../internal/request-options.js"; export declare class Datasets extends APIResource { /** * Create a dataset and populate it with its initial items in a single call. * * Use this when the dataset does not exist yet: it creates the dataset and seeds * it with the items you provide. To add more items to a dataset that already * exists, use POST /v5/dataset-items/batch instead. A name is required, and the * request must include at least one item in `data`; the optional `files` field * associates files with the created items. The provided items are inserted as * dataset items as a side effect of creation, and any `tags` are attached to the * dataset. The returned dataset is at version 1. */ create(body: DatasetCreateParams, options?: RequestOptions): APIPromise; /** * Retrieve a single dataset by its id. * * By default an archived dataset is not returned; set `include_archived` to true * to fetch a dataset regardless of whether it has been archived. */ retrieve(datasetID: string, query?: DatasetRetrieveParams | null | undefined, options?: RequestOptions): APIPromise; /** * Update a dataset's fields, or restore a previously archived dataset. * * The request body is a union discriminated by its contents: a body of * `{"restore": true}` triggers a restore, and any other body is treated as a * partial update of the dataset's `name`, `description`, and `tags`. Restore * clears `archived_at` on the dataset and cascades the un-archival to its items * and versions; restoring a dataset that is not archived returns it unchanged. A * partial update on an archived dataset fails, since archived datasets cannot be * modified. */ update(datasetID: string, params: DatasetUpdateParams, options?: RequestOptions): APIPromise; /** * Return a paginated list of the account's datasets. * * Archived datasets are excluded unless `include_archived` is set to true. Results * can be narrowed by `tags` and by the standard filterable parameters; a `name` * filter matches as a case-insensitive substring rather than an exact match. */ list(query?: DatasetListParams | null | undefined, options?: RequestOptions): PagePromise; /** * Soft-delete a dataset by archiving it; the row is retained and can be restored * later. * * This sets the dataset's `archived_at` timestamp rather than permanently removing * it, and cascades the same archival to the dataset's items and versions. * Archiving is not idempotent: if the dataset is already archived the call fails. * The dataset can be brought back with the PATCH restore request. The response * reports the dataset id with `deleted` set to true. */ archive(datasetID: string, options?: RequestOptions): APIPromise; } export type DatasetsCursorPage = CursorPage; export interface Dataset { /** * The unique identifier of the entity. */ id: string; /** * The date and time when the entity was created in ISO format. */ created_at: string; /** * The identity that created the entity. */ created_by: Shared.Identity; current_version_num: number; name: string; /** * The tags associated with the entity */ tags: Array | null; /** * The date and time when the entity was archived in ISO format. */ archived_at?: string; description?: string; object?: 'dataset'; } export interface DatasetArchiveResponse { id: string; deleted: boolean; object?: 'dataset'; } export interface DatasetCreateParams { /** * Items to be included in the dataset */ data: Array<{ [key: string]: unknown; }>; name: string; description?: string; /** * Files to be associated to the dataset */ files?: Array<{ [key: string]: string; }>; /** * The tags associated with the entity */ tags?: Array; } export interface DatasetRetrieveParams { include_archived?: boolean; } export interface DatasetUpdateParams { dataset: DatasetUpdateParams.PartialDatasetRequestBase | RubricsAPI.RestoreRequest; } export declare namespace DatasetUpdateParams { interface PartialDatasetRequestBase { description?: string; name?: string; /** * The tags associated with the entity */ tags?: Array; } } export interface DatasetListParams extends CursorPageParams { include_archived?: boolean; name?: string; sort_by?: string; sort_order?: CompletionsAPI.SortOrder; tags?: Array; } export declare namespace Datasets { export { type Dataset as Dataset, type DatasetArchiveResponse as DatasetArchiveResponse, type DatasetsCursorPage as DatasetsCursorPage, type DatasetCreateParams as DatasetCreateParams, type DatasetRetrieveParams as DatasetRetrieveParams, type DatasetUpdateParams as DatasetUpdateParams, type DatasetListParams as DatasetListParams, }; } //# sourceMappingURL=datasets.d.ts.map