// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from "../../core/resource.mjs"; import { CursorPage } from "../../core/pagination.mjs"; import { buildHeaders } from "../../internal/headers.mjs"; import { path } from "../../internal/utils/path.mjs"; export class Assistants extends APIResource { /** * Create an assistant with a model and instructions. * * @example * ```ts * const assistant = await client.beta.assistants.create({ * model: 'gpt-4o', * }); * ``` */ create(body, options) { return this._client.post('/assistants', { body, ...options, headers: buildHeaders([{ 'OpenAI-Beta': 'assistants=v2' }, options?.headers]), }); } /** * Retrieves an assistant. * * @example * ```ts * const assistant = await client.beta.assistants.retrieve( * 'assistant_id', * ); * ``` */ retrieve(assistantID, options) { return this._client.get(path `/assistants/${assistantID}`, { ...options, headers: buildHeaders([{ 'OpenAI-Beta': 'assistants=v2' }, options?.headers]), }); } /** * Modifies an assistant. * * @example * ```ts * const assistant = await client.beta.assistants.update( * 'assistant_id', * ); * ``` */ update(assistantID, body, options) { return this._client.post(path `/assistants/${assistantID}`, { body, ...options, headers: buildHeaders([{ 'OpenAI-Beta': 'assistants=v2' }, options?.headers]), }); } /** * Returns a list of assistants. * * @example * ```ts * // Automatically fetches more pages as needed. * for await (const assistant of client.beta.assistants.list()) { * // ... * } * ``` */ list(query = {}, options) { return this._client.getAPIList('/assistants', (CursorPage), { query, ...options, headers: buildHeaders([{ 'OpenAI-Beta': 'assistants=v2' }, options?.headers]), }); } /** * Delete an assistant. * * @example * ```ts * const assistantDeleted = * await client.beta.assistants.delete('assistant_id'); * ``` */ delete(assistantID, options) { return this._client.delete(path `/assistants/${assistantID}`, { ...options, headers: buildHeaders([{ 'OpenAI-Beta': 'assistants=v2' }, options?.headers]), }); } } //# sourceMappingURL=assistants.mjs.map