diff --git a/.stats.yml b/.stats.yml
index 1e04d7c26..b03256223 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,2 +1,2 @@
configured_endpoints: 81
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai%2Fopenai-f763c1a35c8b9b02f1e31b9b2e09e21f98bfe8413e5079c86cbb07da2dd7779b.yml
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai%2Fopenai-f3bce04386c4fcfd5037e0477fbaa39010003fd1558eb5185fe4a71dd6a05fdd.yml
diff --git a/api.md b/api.md
index 7a12bda19..62a8ce3fe 100644
--- a/api.md
+++ b/api.md
@@ -532,6 +532,8 @@ Types:
- ResponseCodeInterpreterToolCall
- ResponseCompletedEvent
- ResponseComputerToolCall
+- ResponseComputerToolCallOutputItem
+- ResponseComputerToolCallOutputScreenshot
- ResponseContent
- ResponseContentPartAddedEvent
- ResponseContentPartDoneEvent
@@ -548,6 +550,8 @@ Types:
- ResponseFunctionCallArgumentsDeltaEvent
- ResponseFunctionCallArgumentsDoneEvent
- ResponseFunctionToolCall
+- ResponseFunctionToolCallItem
+- ResponseFunctionToolCallOutputItem
- ResponseFunctionWebSearch
- ResponseInProgressEvent
- ResponseIncludable
@@ -559,7 +563,9 @@ Types:
- ResponseInputImage
- ResponseInputItem
- ResponseInputMessageContentList
+- ResponseInputMessageItem
- ResponseInputText
+- ResponseItem
- ResponseOutputAudio
- ResponseOutputItem
- ResponseOutputItemAddedEvent
@@ -600,4 +606,4 @@ Types:
Methods:
-- client.responses.inputItems.list(responseId, { ...params }) -> ResponseItemListDataPage
+- client.responses.inputItems.list(responseId, { ...params }) -> ResponseItemsPage
diff --git a/src/resources/responses/index.ts b/src/resources/responses/index.ts
index 84f761a93..ad3f9a386 100644
--- a/src/resources/responses/index.ts
+++ b/src/resources/responses/index.ts
@@ -1,9 +1,4 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-export {
- ResponseItemListDataPage,
- InputItems,
- type ResponseItemList,
- type InputItemListParams,
-} from './input-items';
+export { InputItems, type ResponseItemList, type InputItemListParams } from './input-items';
export { Responses } from './responses';
diff --git a/src/resources/responses/input-items.ts b/src/resources/responses/input-items.ts
index 9704be89a..f2292e5c6 100644
--- a/src/resources/responses/input-items.ts
+++ b/src/resources/responses/input-items.ts
@@ -4,7 +4,8 @@ import { APIResource } from '../../resource';
import { isRequestOptions } from '../../core';
import * as Core from '../../core';
import * as ResponsesAPI from './responses';
-import { CursorPage, type CursorPageParams } from '../../pagination';
+import { ResponseItemsPage } from './responses';
+import { type CursorPageParams } from '../../pagination';
export class InputItems extends APIResource {
/**
@@ -14,67 +15,26 @@ export class InputItems extends APIResource {
responseId: string,
query?: InputItemListParams,
options?: Core.RequestOptions,
- ): Core.PagePromise<
- ResponseItemListDataPage,
- | ResponseItemList.Message
- | ResponsesAPI.ResponseOutputMessage
- | ResponsesAPI.ResponseFileSearchToolCall
- | ResponsesAPI.ResponseComputerToolCall
- | ResponseItemList.ComputerCallOutput
- | ResponsesAPI.ResponseFunctionWebSearch
- | ResponsesAPI.ResponseFunctionToolCall
- | ResponseItemList.FunctionCallOutput
- >;
+ ): Core.PagePromise;
list(
responseId: string,
options?: Core.RequestOptions,
- ): Core.PagePromise<
- ResponseItemListDataPage,
- | ResponseItemList.Message
- | ResponsesAPI.ResponseOutputMessage
- | ResponsesAPI.ResponseFileSearchToolCall
- | ResponsesAPI.ResponseComputerToolCall
- | ResponseItemList.ComputerCallOutput
- | ResponsesAPI.ResponseFunctionWebSearch
- | ResponsesAPI.ResponseFunctionToolCall
- | ResponseItemList.FunctionCallOutput
- >;
+ ): Core.PagePromise;
list(
responseId: string,
query: InputItemListParams | Core.RequestOptions = {},
options?: Core.RequestOptions,
- ): Core.PagePromise<
- ResponseItemListDataPage,
- | ResponseItemList.Message
- | ResponsesAPI.ResponseOutputMessage
- | ResponsesAPI.ResponseFileSearchToolCall
- | ResponsesAPI.ResponseComputerToolCall
- | ResponseItemList.ComputerCallOutput
- | ResponsesAPI.ResponseFunctionWebSearch
- | ResponsesAPI.ResponseFunctionToolCall
- | ResponseItemList.FunctionCallOutput
- > {
+ ): Core.PagePromise {
if (isRequestOptions(query)) {
return this.list(responseId, {}, query);
}
- return this._client.getAPIList(`/responses/${responseId}/input_items`, ResponseItemListDataPage, {
+ return this._client.getAPIList(`/responses/${responseId}/input_items`, ResponseItemsPage, {
query,
...options,
});
}
}
-export class ResponseItemListDataPage extends CursorPage<
- | ResponseItemList.Message
- | ResponsesAPI.ResponseOutputMessage
- | ResponsesAPI.ResponseFileSearchToolCall
- | ResponsesAPI.ResponseComputerToolCall
- | ResponseItemList.ComputerCallOutput
- | ResponsesAPI.ResponseFunctionWebSearch
- | ResponsesAPI.ResponseFunctionToolCall
- | ResponseItemList.FunctionCallOutput
-> {}
-
/**
* A list of Response items.
*/
@@ -82,16 +42,7 @@ export interface ResponseItemList {
/**
* A list of items used to generate this response.
*/
- data: Array<
- | ResponseItemList.Message
- | ResponsesAPI.ResponseOutputMessage
- | ResponsesAPI.ResponseFileSearchToolCall
- | ResponsesAPI.ResponseComputerToolCall
- | ResponseItemList.ComputerCallOutput
- | ResponsesAPI.ResponseFunctionWebSearch
- | ResponsesAPI.ResponseFunctionToolCall
- | ResponseItemList.FunctionCallOutput
- >;
+ data: Array;
/**
* The ID of the first item in the list.
@@ -114,142 +65,6 @@ export interface ResponseItemList {
object: 'list';
}
-export namespace ResponseItemList {
- export interface Message {
- /**
- * The unique ID of the message input.
- */
- id: string;
-
- /**
- * A list of one or many input items to the model, containing different content
- * types.
- */
- content: ResponsesAPI.ResponseInputMessageContentList;
-
- /**
- * The role of the message input. One of `user`, `system`, or `developer`.
- */
- role: 'user' | 'system' | 'developer';
-
- /**
- * The status of item. One of `in_progress`, `completed`, or `incomplete`.
- * Populated when items are returned via API.
- */
- status?: 'in_progress' | 'completed' | 'incomplete';
-
- /**
- * The type of the message input. Always set to `message`.
- */
- type?: 'message';
- }
-
- export interface ComputerCallOutput {
- /**
- * The unique ID of the computer call tool output.
- */
- id: string;
-
- /**
- * The ID of the computer tool call that produced the output.
- */
- call_id: string;
-
- /**
- * A computer screenshot image used with the computer use tool.
- */
- output: ComputerCallOutput.Output;
-
- /**
- * The type of the computer tool call output. Always `computer_call_output`.
- */
- type: 'computer_call_output';
-
- /**
- * The safety checks reported by the API that have been acknowledged by the
- * developer.
- */
- acknowledged_safety_checks?: Array;
-
- /**
- * The status of the message input. One of `in_progress`, `completed`, or
- * `incomplete`. Populated when input items are returned via API.
- */
- status?: 'in_progress' | 'completed' | 'incomplete';
- }
-
- export namespace ComputerCallOutput {
- /**
- * A computer screenshot image used with the computer use tool.
- */
- export interface Output {
- /**
- * Specifies the event type. For a computer screenshot, this property is always set
- * to `computer_screenshot`.
- */
- type: 'computer_screenshot';
-
- /**
- * The identifier of an uploaded file that contains the screenshot.
- */
- file_id?: string;
-
- /**
- * The URL of the screenshot image.
- */
- image_url?: string;
- }
-
- /**
- * A pending safety check for the computer call.
- */
- export interface AcknowledgedSafetyCheck {
- /**
- * The ID of the pending safety check.
- */
- id: string;
-
- /**
- * The type of the pending safety check.
- */
- code: string;
-
- /**
- * Details about the pending safety check.
- */
- message: string;
- }
- }
-
- export interface FunctionCallOutput {
- /**
- * The unique ID of the function call tool output.
- */
- id: string;
-
- /**
- * The unique ID of the function tool call generated by the model.
- */
- call_id: string;
-
- /**
- * A JSON string of the output of the function tool call.
- */
- output: string;
-
- /**
- * The type of the function tool call output. Always `function_call_output`.
- */
- type: 'function_call_output';
-
- /**
- * The status of the item. One of `in_progress`, `completed`, or `incomplete`.
- * Populated when items are returned via API.
- */
- status?: 'in_progress' | 'completed' | 'incomplete';
- }
-}
-
export interface InputItemListParams extends CursorPageParams {
/**
* An item ID to list items before, used in pagination.
@@ -265,12 +80,8 @@ export interface InputItemListParams extends CursorPageParams {
order?: 'asc' | 'desc';
}
-InputItems.ResponseItemListDataPage = ResponseItemListDataPage;
-
export declare namespace InputItems {
- export {
- type ResponseItemList as ResponseItemList,
- ResponseItemListDataPage as ResponseItemListDataPage,
- type InputItemListParams as InputItemListParams,
- };
+ export { type ResponseItemList as ResponseItemList, type InputItemListParams as InputItemListParams };
}
+
+export { ResponseItemsPage };
diff --git a/src/resources/responses/responses.ts b/src/resources/responses/responses.ts
index 6ef0dde27..f98d56cf5 100644
--- a/src/resources/responses/responses.ts
+++ b/src/resources/responses/responses.ts
@@ -7,7 +7,8 @@ import * as Core from '../../core';
import * as ResponsesAPI from './responses';
import * as Shared from '../shared';
import * as InputItemsAPI from './input-items';
-import { InputItemListParams, InputItems, ResponseItemList, ResponseItemListDataPage } from './input-items';
+import { InputItemListParams, InputItems, ResponseItemList } from './input-items';
+import { CursorPage } from '../../pagination';
import { Stream } from '../../streaming';
export class Responses extends APIResource {
@@ -75,6 +76,8 @@ export class Responses extends APIResource {
}
}
+export class ResponseItemsPage extends CursorPage {}
+
/**
* A tool that controls a virtual computer. Learn more about the
* [computer tool](https://platform.openai.com/docs/guides/tools-computer-use).
@@ -902,6 +905,83 @@ export namespace ResponseComputerToolCall {
}
}
+export interface ResponseComputerToolCallOutputItem {
+ /**
+ * The unique ID of the computer call tool output.
+ */
+ id: string;
+
+ /**
+ * The ID of the computer tool call that produced the output.
+ */
+ call_id: string;
+
+ /**
+ * A computer screenshot image used with the computer use tool.
+ */
+ output: ResponseComputerToolCallOutputScreenshot;
+
+ /**
+ * The type of the computer tool call output. Always `computer_call_output`.
+ */
+ type: 'computer_call_output';
+
+ /**
+ * The safety checks reported by the API that have been acknowledged by the
+ * developer.
+ */
+ acknowledged_safety_checks?: Array;
+
+ /**
+ * The status of the message input. One of `in_progress`, `completed`, or
+ * `incomplete`. Populated when input items are returned via API.
+ */
+ status?: 'in_progress' | 'completed' | 'incomplete';
+}
+
+export namespace ResponseComputerToolCallOutputItem {
+ /**
+ * A pending safety check for the computer call.
+ */
+ export interface AcknowledgedSafetyCheck {
+ /**
+ * The ID of the pending safety check.
+ */
+ id: string;
+
+ /**
+ * The type of the pending safety check.
+ */
+ code: string;
+
+ /**
+ * Details about the pending safety check.
+ */
+ message: string;
+ }
+}
+
+/**
+ * A computer screenshot image used with the computer use tool.
+ */
+export interface ResponseComputerToolCallOutputScreenshot {
+ /**
+ * Specifies the event type. For a computer screenshot, this property is always set
+ * to `computer_screenshot`.
+ */
+ type: 'computer_screenshot';
+
+ /**
+ * The identifier of an uploaded file that contains the screenshot.
+ */
+ file_id?: string;
+
+ /**
+ * The URL of the screenshot image.
+ */
+ image_url?: string;
+}
+
/**
* Multi-modal input and output contents.
*/
@@ -1330,6 +1410,46 @@ export interface ResponseFunctionToolCall {
status?: 'in_progress' | 'completed' | 'incomplete';
}
+/**
+ * A tool call to run a function. See the
+ * [function calling guide](https://platform.openai.com/docs/guides/function-calling)
+ * for more information.
+ */
+export interface ResponseFunctionToolCallItem extends ResponseFunctionToolCall {
+ /**
+ * The unique ID of the function call tool output.
+ */
+ id: string;
+}
+
+export interface ResponseFunctionToolCallOutputItem {
+ /**
+ * The unique ID of the function call tool output.
+ */
+ id: string;
+
+ /**
+ * The unique ID of the function tool call generated by the model.
+ */
+ call_id: string;
+
+ /**
+ * A JSON string of the output of the function tool call.
+ */
+ output: string;
+
+ /**
+ * The type of the function tool call output. Always `function_call_output`.
+ */
+ type: 'function_call_output';
+
+ /**
+ * The status of the item. One of `in_progress`, `completed`, or `incomplete`.
+ * Populated when items are returned via API.
+ */
+ status?: 'in_progress' | 'completed' | 'incomplete';
+}
+
/**
* The results of a web search tool call. See the
* [web search guide](https://platform.openai.com/docs/guides/tools-web-search) for
@@ -1543,7 +1663,7 @@ export namespace ResponseInputItem {
/**
* A computer screenshot image used with the computer use tool.
*/
- output: ComputerCallOutput.Output;
+ output: ResponsesAPI.ResponseComputerToolCallOutputScreenshot;
/**
* The type of the computer tool call output. Always `computer_call_output`.
@@ -1569,27 +1689,6 @@ export namespace ResponseInputItem {
}
export namespace ComputerCallOutput {
- /**
- * A computer screenshot image used with the computer use tool.
- */
- export interface Output {
- /**
- * Specifies the event type. For a computer screenshot, this property is always set
- * to `computer_screenshot`.
- */
- type: 'computer_screenshot';
-
- /**
- * The identifier of an uploaded file that contains the screenshot.
- */
- file_id?: string;
-
- /**
- * The URL of the screenshot image.
- */
- image_url?: string;
- }
-
/**
* A pending safety check for the computer call.
*/
@@ -1665,6 +1764,35 @@ export namespace ResponseInputItem {
*/
export type ResponseInputMessageContentList = Array;
+export interface ResponseInputMessageItem {
+ /**
+ * The unique ID of the message input.
+ */
+ id: string;
+
+ /**
+ * A list of one or many input items to the model, containing different content
+ * types.
+ */
+ content: ResponseInputMessageContentList;
+
+ /**
+ * The role of the message input. One of `user`, `system`, or `developer`.
+ */
+ role: 'user' | 'system' | 'developer';
+
+ /**
+ * The status of item. One of `in_progress`, `completed`, or `incomplete`.
+ * Populated when items are returned via API.
+ */
+ status?: 'in_progress' | 'completed' | 'incomplete';
+
+ /**
+ * The type of the message input. Always set to `message`.
+ */
+ type?: 'message';
+}
+
/**
* A text input to the model.
*/
@@ -1680,6 +1808,19 @@ export interface ResponseInputText {
type: 'input_text';
}
+/**
+ * Content item used to generate a response.
+ */
+export type ResponseItem =
+ | ResponseInputMessageItem
+ | ResponseOutputMessage
+ | ResponseFileSearchToolCall
+ | ResponseComputerToolCall
+ | ResponseComputerToolCallOutputItem
+ | ResponseFunctionWebSearch
+ | ResponseFunctionToolCallItem
+ | ResponseFunctionToolCallOutputItem;
+
/**
* An audio output from the model.
*/
@@ -2658,13 +2799,11 @@ export interface ResponseRetrieveParams {
}
Responses.InputItems = InputItems;
-Responses.ResponseItemListDataPage = ResponseItemListDataPage;
export declare namespace Responses {
export {
InputItems as InputItems,
type ResponseItemList as ResponseItemList,
- ResponseItemListDataPage as ResponseItemListDataPage,
type InputItemListParams as InputItemListParams,
};
}