78 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			78 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
 | ||
|  | import { parseResponse, addOutputText, } from "../../lib/ResponsesParser.mjs"; | ||
|  | import { ResponseStream } from "../../lib/responses/ResponseStream.mjs"; | ||
|  | import { APIResource } from "../../core/resource.mjs"; | ||
|  | import * as InputItemsAPI from "./input-items.mjs"; | ||
|  | import { InputItems } from "./input-items.mjs"; | ||
|  | import { buildHeaders } from "../../internal/headers.mjs"; | ||
|  | import { path } from "../../internal/utils/path.mjs"; | ||
|  | export class Responses extends APIResource { | ||
|  |     constructor() { | ||
|  |         super(...arguments); | ||
|  |         this.inputItems = new InputItemsAPI.InputItems(this._client); | ||
|  |     } | ||
|  |     create(body, options) { | ||
|  |         return this._client.post('/responses', { body, ...options, stream: body.stream ?? false })._thenUnwrap((rsp) => { | ||
|  |             if ('object' in rsp && rsp.object === 'response') { | ||
|  |                 addOutputText(rsp); | ||
|  |             } | ||
|  |             return rsp; | ||
|  |         }); | ||
|  |     } | ||
|  |     retrieve(responseID, query = {}, options) { | ||
|  |         return this._client.get(path `/responses/${responseID}`, { | ||
|  |             query, | ||
|  |             ...options, | ||
|  |             stream: query?.stream ?? false, | ||
|  |         })._thenUnwrap((rsp) => { | ||
|  |             if ('object' in rsp && rsp.object === 'response') { | ||
|  |                 addOutputText(rsp); | ||
|  |             } | ||
|  |             return rsp; | ||
|  |         }); | ||
|  |     } | ||
|  |     /** | ||
|  |      * Deletes a model response with the given ID. | ||
|  |      * | ||
|  |      * @example | ||
|  |      * ```ts
 | ||
|  |      * await client.responses.delete( | ||
|  |      *   'resp_677efb5139a88190b512bc3fef8e535d', | ||
|  |      * ); | ||
|  |      * ```
 | ||
|  |      */ | ||
|  |     delete(responseID, options) { | ||
|  |         return this._client.delete(path `/responses/${responseID}`, { | ||
|  |             ...options, | ||
|  |             headers: buildHeaders([{ Accept: '*/*' }, options?.headers]), | ||
|  |         }); | ||
|  |     } | ||
|  |     parse(body, options) { | ||
|  |         return this._client.responses | ||
|  |             .create(body, options) | ||
|  |             ._thenUnwrap((response) => parseResponse(response, body)); | ||
|  |     } | ||
|  |     /** | ||
|  |      * Creates a model response stream | ||
|  |      */ | ||
|  |     stream(body, options) { | ||
|  |         return ResponseStream.createResponse(this._client, body, options); | ||
|  |     } | ||
|  |     /** | ||
|  |      * Cancels a model response with the given ID. Only responses created with the | ||
|  |      * `background` parameter set to `true` can be cancelled. | ||
|  |      * [Learn more](https://platform.openai.com/docs/guides/background).
 | ||
|  |      * | ||
|  |      * @example | ||
|  |      * ```ts
 | ||
|  |      * const response = await client.responses.cancel( | ||
|  |      *   'resp_677efb5139a88190b512bc3fef8e535d', | ||
|  |      * ); | ||
|  |      * ```
 | ||
|  |      */ | ||
|  |     cancel(responseID, options) { | ||
|  |         return this._client.post(path `/responses/${responseID}/cancel`, options); | ||
|  |     } | ||
|  | } | ||
|  | Responses.InputItems = InputItems; | ||
|  | //# sourceMappingURL=responses.mjs.map
 |