356 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			356 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|  | import { APIResource } from "../../core/resource.js"; | ||
|  | import * as ConversationsAPI from "./conversations.js"; | ||
|  | import * as ResponsesAPI from "../responses/responses.js"; | ||
|  | import { APIPromise } from "../../core/api-promise.js"; | ||
|  | import { ConversationCursorPage, type ConversationCursorPageParams, PagePromise } from "../../core/pagination.js"; | ||
|  | import { RequestOptions } from "../../internal/request-options.js"; | ||
|  | export declare class Items extends APIResource { | ||
|  |     /** | ||
|  |      * Create items in a conversation with the given ID. | ||
|  |      */ | ||
|  |     create(conversationID: string, params: ItemCreateParams, options?: RequestOptions): APIPromise<ConversationItemList>; | ||
|  |     /** | ||
|  |      * Get a single item from a conversation with the given IDs. | ||
|  |      */ | ||
|  |     retrieve(itemID: string, params: ItemRetrieveParams, options?: RequestOptions): APIPromise<ConversationItem>; | ||
|  |     /** | ||
|  |      * List all items for a conversation with the given ID. | ||
|  |      */ | ||
|  |     list(conversationID: string, query?: ItemListParams | null | undefined, options?: RequestOptions): PagePromise<ConversationItemsPage, ConversationItem>; | ||
|  |     /** | ||
|  |      * Delete an item from a conversation with the given IDs. | ||
|  |      */ | ||
|  |     delete(itemID: string, params: ItemDeleteParams, options?: RequestOptions): APIPromise<ConversationsAPI.Conversation>; | ||
|  | } | ||
|  | export type ConversationItemsPage = ConversationCursorPage<ConversationItem>; | ||
|  | /** | ||
|  |  * A single item within a conversation. The set of possible types are the same as | ||
|  |  * the `output` type of a | ||
|  |  * [Response object](https://platform.openai.com/docs/api-reference/responses/object#responses/object-output).
 | ||
|  |  */ | ||
|  | export type ConversationItem = ConversationsAPI.Message | ResponsesAPI.ResponseFunctionToolCallItem | ResponsesAPI.ResponseFunctionToolCallOutputItem | ResponsesAPI.ResponseFileSearchToolCall | ResponsesAPI.ResponseFunctionWebSearch | ConversationItem.ImageGenerationCall | ResponsesAPI.ResponseComputerToolCall | ResponsesAPI.ResponseComputerToolCallOutputItem | ResponsesAPI.ResponseReasoningItem | ResponsesAPI.ResponseCodeInterpreterToolCall | ConversationItem.LocalShellCall | ConversationItem.LocalShellCallOutput | ConversationItem.McpListTools | ConversationItem.McpApprovalRequest | ConversationItem.McpApprovalResponse | ConversationItem.McpCall | ResponsesAPI.ResponseCustomToolCall | ResponsesAPI.ResponseCustomToolCallOutput; | ||
|  | export declare namespace ConversationItem { | ||
|  |     /** | ||
|  |      * An image generation request made by the model. | ||
|  |      */ | ||
|  |     interface ImageGenerationCall { | ||
|  |         /** | ||
|  |          * The unique ID of the image generation call. | ||
|  |          */ | ||
|  |         id: string; | ||
|  |         /** | ||
|  |          * The generated image encoded in base64. | ||
|  |          */ | ||
|  |         result: string | null; | ||
|  |         /** | ||
|  |          * The status of the image generation call. | ||
|  |          */ | ||
|  |         status: 'in_progress' | 'completed' | 'generating' | 'failed'; | ||
|  |         /** | ||
|  |          * The type of the image generation call. Always `image_generation_call`. | ||
|  |          */ | ||
|  |         type: 'image_generation_call'; | ||
|  |     } | ||
|  |     /** | ||
|  |      * A tool call to run a command on the local shell. | ||
|  |      */ | ||
|  |     interface LocalShellCall { | ||
|  |         /** | ||
|  |          * The unique ID of the local shell call. | ||
|  |          */ | ||
|  |         id: string; | ||
|  |         /** | ||
|  |          * Execute a shell command on the server. | ||
|  |          */ | ||
|  |         action: LocalShellCall.Action; | ||
|  |         /** | ||
|  |          * The unique ID of the local shell tool call generated by the model. | ||
|  |          */ | ||
|  |         call_id: string; | ||
|  |         /** | ||
|  |          * The status of the local shell call. | ||
|  |          */ | ||
|  |         status: 'in_progress' | 'completed' | 'incomplete'; | ||
|  |         /** | ||
|  |          * The type of the local shell call. Always `local_shell_call`. | ||
|  |          */ | ||
|  |         type: 'local_shell_call'; | ||
|  |     } | ||
|  |     namespace LocalShellCall { | ||
|  |         /** | ||
|  |          * Execute a shell command on the server. | ||
|  |          */ | ||
|  |         interface Action { | ||
|  |             /** | ||
|  |              * The command to run. | ||
|  |              */ | ||
|  |             command: Array<string>; | ||
|  |             /** | ||
|  |              * Environment variables to set for the command. | ||
|  |              */ | ||
|  |             env: { | ||
|  |                 [key: string]: string; | ||
|  |             }; | ||
|  |             /** | ||
|  |              * The type of the local shell action. Always `exec`. | ||
|  |              */ | ||
|  |             type: 'exec'; | ||
|  |             /** | ||
|  |              * Optional timeout in milliseconds for the command. | ||
|  |              */ | ||
|  |             timeout_ms?: number | null; | ||
|  |             /** | ||
|  |              * Optional user to run the command as. | ||
|  |              */ | ||
|  |             user?: string | null; | ||
|  |             /** | ||
|  |              * Optional working directory to run the command in. | ||
|  |              */ | ||
|  |             working_directory?: string | null; | ||
|  |         } | ||
|  |     } | ||
|  |     /** | ||
|  |      * The output of a local shell tool call. | ||
|  |      */ | ||
|  |     interface LocalShellCallOutput { | ||
|  |         /** | ||
|  |          * The unique ID of the local shell tool call generated by the model. | ||
|  |          */ | ||
|  |         id: string; | ||
|  |         /** | ||
|  |          * A JSON string of the output of the local shell tool call. | ||
|  |          */ | ||
|  |         output: string; | ||
|  |         /** | ||
|  |          * The type of the local shell tool call output. Always `local_shell_call_output`. | ||
|  |          */ | ||
|  |         type: 'local_shell_call_output'; | ||
|  |         /** | ||
|  |          * The status of the item. One of `in_progress`, `completed`, or `incomplete`. | ||
|  |          */ | ||
|  |         status?: 'in_progress' | 'completed' | 'incomplete' | null; | ||
|  |     } | ||
|  |     /** | ||
|  |      * A list of tools available on an MCP server. | ||
|  |      */ | ||
|  |     interface McpListTools { | ||
|  |         /** | ||
|  |          * The unique ID of the list. | ||
|  |          */ | ||
|  |         id: string; | ||
|  |         /** | ||
|  |          * The label of the MCP server. | ||
|  |          */ | ||
|  |         server_label: string; | ||
|  |         /** | ||
|  |          * The tools available on the server. | ||
|  |          */ | ||
|  |         tools: Array<McpListTools.Tool>; | ||
|  |         /** | ||
|  |          * The type of the item. Always `mcp_list_tools`. | ||
|  |          */ | ||
|  |         type: 'mcp_list_tools'; | ||
|  |         /** | ||
|  |          * Error message if the server could not list tools. | ||
|  |          */ | ||
|  |         error?: string | null; | ||
|  |     } | ||
|  |     namespace McpListTools { | ||
|  |         /** | ||
|  |          * A tool available on an MCP server. | ||
|  |          */ | ||
|  |         interface Tool { | ||
|  |             /** | ||
|  |              * The JSON schema describing the tool's input. | ||
|  |              */ | ||
|  |             input_schema: unknown; | ||
|  |             /** | ||
|  |              * The name of the tool. | ||
|  |              */ | ||
|  |             name: string; | ||
|  |             /** | ||
|  |              * Additional annotations about the tool. | ||
|  |              */ | ||
|  |             annotations?: unknown | null; | ||
|  |             /** | ||
|  |              * The description of the tool. | ||
|  |              */ | ||
|  |             description?: string | null; | ||
|  |         } | ||
|  |     } | ||
|  |     /** | ||
|  |      * A request for human approval of a tool invocation. | ||
|  |      */ | ||
|  |     interface McpApprovalRequest { | ||
|  |         /** | ||
|  |          * The unique ID of the approval request. | ||
|  |          */ | ||
|  |         id: string; | ||
|  |         /** | ||
|  |          * A JSON string of arguments for the tool. | ||
|  |          */ | ||
|  |         arguments: string; | ||
|  |         /** | ||
|  |          * The name of the tool to run. | ||
|  |          */ | ||
|  |         name: string; | ||
|  |         /** | ||
|  |          * The label of the MCP server making the request. | ||
|  |          */ | ||
|  |         server_label: string; | ||
|  |         /** | ||
|  |          * The type of the item. Always `mcp_approval_request`. | ||
|  |          */ | ||
|  |         type: 'mcp_approval_request'; | ||
|  |     } | ||
|  |     /** | ||
|  |      * A response to an MCP approval request. | ||
|  |      */ | ||
|  |     interface McpApprovalResponse { | ||
|  |         /** | ||
|  |          * The unique ID of the approval response | ||
|  |          */ | ||
|  |         id: string; | ||
|  |         /** | ||
|  |          * The ID of the approval request being answered. | ||
|  |          */ | ||
|  |         approval_request_id: string; | ||
|  |         /** | ||
|  |          * Whether the request was approved. | ||
|  |          */ | ||
|  |         approve: boolean; | ||
|  |         /** | ||
|  |          * The type of the item. Always `mcp_approval_response`. | ||
|  |          */ | ||
|  |         type: 'mcp_approval_response'; | ||
|  |         /** | ||
|  |          * Optional reason for the decision. | ||
|  |          */ | ||
|  |         reason?: string | null; | ||
|  |     } | ||
|  |     /** | ||
|  |      * An invocation of a tool on an MCP server. | ||
|  |      */ | ||
|  |     interface McpCall { | ||
|  |         /** | ||
|  |          * The unique ID of the tool call. | ||
|  |          */ | ||
|  |         id: string; | ||
|  |         /** | ||
|  |          * A JSON string of the arguments passed to the tool. | ||
|  |          */ | ||
|  |         arguments: string; | ||
|  |         /** | ||
|  |          * The name of the tool that was run. | ||
|  |          */ | ||
|  |         name: string; | ||
|  |         /** | ||
|  |          * The label of the MCP server running the tool. | ||
|  |          */ | ||
|  |         server_label: string; | ||
|  |         /** | ||
|  |          * The type of the item. Always `mcp_call`. | ||
|  |          */ | ||
|  |         type: 'mcp_call'; | ||
|  |         /** | ||
|  |          * The error from the tool call, if any. | ||
|  |          */ | ||
|  |         error?: string | null; | ||
|  |         /** | ||
|  |          * The output from the tool call. | ||
|  |          */ | ||
|  |         output?: string | null; | ||
|  |     } | ||
|  | } | ||
|  | /** | ||
|  |  * A list of Conversation items. | ||
|  |  */ | ||
|  | export interface ConversationItemList { | ||
|  |     /** | ||
|  |      * A list of conversation items. | ||
|  |      */ | ||
|  |     data: Array<ConversationItem>; | ||
|  |     /** | ||
|  |      * The ID of the first item in the list. | ||
|  |      */ | ||
|  |     first_id: string; | ||
|  |     /** | ||
|  |      * Whether there are more items available. | ||
|  |      */ | ||
|  |     has_more: boolean; | ||
|  |     /** | ||
|  |      * The ID of the last item in the list. | ||
|  |      */ | ||
|  |     last_id: string; | ||
|  |     /** | ||
|  |      * The type of object returned, must be `list`. | ||
|  |      */ | ||
|  |     object: 'list'; | ||
|  | } | ||
|  | export interface ItemCreateParams { | ||
|  |     /** | ||
|  |      * Body param: The items to add to the conversation. You may add up to 20 items at | ||
|  |      * a time. | ||
|  |      */ | ||
|  |     items: Array<ResponsesAPI.ResponseInputItem>; | ||
|  |     /** | ||
|  |      * Query param: Additional fields to include in the response. See the `include` | ||
|  |      * parameter for | ||
|  |      * [listing Conversation items above](https://platform.openai.com/docs/api-reference/conversations/list-items#conversations_list_items-include)
 | ||
|  |      * for more information. | ||
|  |      */ | ||
|  |     include?: Array<ResponsesAPI.ResponseIncludable>; | ||
|  | } | ||
|  | export interface ItemRetrieveParams { | ||
|  |     /** | ||
|  |      * Path param: The ID of the conversation that contains the item. | ||
|  |      */ | ||
|  |     conversation_id: string; | ||
|  |     /** | ||
|  |      * Query param: Additional fields to include in the response. See the `include` | ||
|  |      * parameter for | ||
|  |      * [listing Conversation items above](https://platform.openai.com/docs/api-reference/conversations/list-items#conversations_list_items-include)
 | ||
|  |      * for more information. | ||
|  |      */ | ||
|  |     include?: Array<ResponsesAPI.ResponseIncludable>; | ||
|  | } | ||
|  | export interface ItemListParams extends ConversationCursorPageParams { | ||
|  |     /** | ||
|  |      * Specify additional output data to include in the model response. Currently | ||
|  |      * supported values are: | ||
|  |      * | ||
|  |      * - `web_search_call.action.sources`: Include the sources of the web search tool | ||
|  |      *   call. | ||
|  |      * - `code_interpreter_call.outputs`: Includes the outputs of python code execution | ||
|  |      *   in code interpreter tool call items. | ||
|  |      * - `computer_call_output.output.image_url`: Include image urls from the computer | ||
|  |      *   call output. | ||
|  |      * - `file_search_call.results`: Include the search results of the file search tool | ||
|  |      *   call. | ||
|  |      * - `message.input_image.image_url`: Include image urls from the input message. | ||
|  |      * - `message.output_text.logprobs`: Include logprobs with assistant messages. | ||
|  |      * - `reasoning.encrypted_content`: Includes an encrypted version of reasoning | ||
|  |      *   tokens in reasoning item outputs. This enables reasoning items to be used in | ||
|  |      *   multi-turn conversations when using the Responses API statelessly (like when | ||
|  |      *   the `store` parameter is set to `false`, or when an organization is enrolled | ||
|  |      *   in the zero data retention program). | ||
|  |      */ | ||
|  |     include?: Array<ResponsesAPI.ResponseIncludable>; | ||
|  |     /** | ||
|  |      * The order to return the input items in. Default is `desc`. | ||
|  |      * | ||
|  |      * - `asc`: Return the input items in ascending order. | ||
|  |      * - `desc`: Return the input items in descending order. | ||
|  |      */ | ||
|  |     order?: 'asc' | 'desc'; | ||
|  | } | ||
|  | export interface ItemDeleteParams { | ||
|  |     /** | ||
|  |      * The ID of the conversation that contains the item. | ||
|  |      */ | ||
|  |     conversation_id: string; | ||
|  | } | ||
|  | export declare namespace Items { | ||
|  |     export { type ConversationItem as ConversationItem, type ConversationItemList as ConversationItemList, type ConversationItemsPage as ConversationItemsPage, type ItemCreateParams as ItemCreateParams, type ItemRetrieveParams as ItemRetrieveParams, type ItemListParams as ItemListParams, type ItemDeleteParams as ItemDeleteParams, }; | ||
|  | } | ||
|  | //# sourceMappingURL=items.d.ts.map
 |