Skip to content

fix(types): improve responses type names #1392

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Mar 18, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .stats.yml
Original file line number Diff line number Diff line change
@@ -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
8 changes: 7 additions & 1 deletion api.md
Original file line number Diff line number Diff line change
Expand Up @@ -532,6 +532,8 @@ Types:
- <code><a href="./src/resources/responses/responses.ts">ResponseCodeInterpreterToolCall</a></code>
- <code><a href="./src/resources/responses/responses.ts">ResponseCompletedEvent</a></code>
- <code><a href="./src/resources/responses/responses.ts">ResponseComputerToolCall</a></code>
- <code><a href="./src/resources/responses/responses.ts">ResponseComputerToolCallOutputItem</a></code>
- <code><a href="./src/resources/responses/responses.ts">ResponseComputerToolCallOutputScreenshot</a></code>
- <code><a href="./src/resources/responses/responses.ts">ResponseContent</a></code>
- <code><a href="./src/resources/responses/responses.ts">ResponseContentPartAddedEvent</a></code>
- <code><a href="./src/resources/responses/responses.ts">ResponseContentPartDoneEvent</a></code>
Expand All @@ -548,6 +550,8 @@ Types:
- <code><a href="./src/resources/responses/responses.ts">ResponseFunctionCallArgumentsDeltaEvent</a></code>
- <code><a href="./src/resources/responses/responses.ts">ResponseFunctionCallArgumentsDoneEvent</a></code>
- <code><a href="./src/resources/responses/responses.ts">ResponseFunctionToolCall</a></code>
- <code><a href="./src/resources/responses/responses.ts">ResponseFunctionToolCallItem</a></code>
- <code><a href="./src/resources/responses/responses.ts">ResponseFunctionToolCallOutputItem</a></code>
- <code><a href="./src/resources/responses/responses.ts">ResponseFunctionWebSearch</a></code>
- <code><a href="./src/resources/responses/responses.ts">ResponseInProgressEvent</a></code>
- <code><a href="./src/resources/responses/responses.ts">ResponseIncludable</a></code>
Expand All @@ -559,7 +563,9 @@ Types:
- <code><a href="./src/resources/responses/responses.ts">ResponseInputImage</a></code>
- <code><a href="./src/resources/responses/responses.ts">ResponseInputItem</a></code>
- <code><a href="./src/resources/responses/responses.ts">ResponseInputMessageContentList</a></code>
- <code><a href="./src/resources/responses/responses.ts">ResponseInputMessageItem</a></code>
- <code><a href="./src/resources/responses/responses.ts">ResponseInputText</a></code>
- <code><a href="./src/resources/responses/responses.ts">ResponseItem</a></code>
- <code><a href="./src/resources/responses/responses.ts">ResponseOutputAudio</a></code>
- <code><a href="./src/resources/responses/responses.ts">ResponseOutputItem</a></code>
- <code><a href="./src/resources/responses/responses.ts">ResponseOutputItemAddedEvent</a></code>
Expand Down Expand Up @@ -600,4 +606,4 @@ Types:

Methods:

- <code title="get /responses/{response_id}/input_items">client.responses.inputItems.<a href="./src/resources/responses/input-items.ts">list</a>(responseId, { ...params }) -> ResponseItemListDataPage</code>
- <code title="get /responses/{response_id}/input_items">client.responses.inputItems.<a href="./src/resources/responses/input-items.ts">list</a>(responseId, { ...params }) -> ResponseItemsPage</code>
7 changes: 1 addition & 6 deletions src/resources/responses/index.ts
Original file line number Diff line number Diff line change
@@ -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';
209 changes: 10 additions & 199 deletions src/resources/responses/input-items.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
/**
Expand All @@ -14,84 +15,34 @@ 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<ResponseItemsPage, ResponsesAPI.ResponseItem>;
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<ResponseItemsPage, ResponsesAPI.ResponseItem>;
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<ResponseItemsPage, ResponsesAPI.ResponseItem> {
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.
*/
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<ResponsesAPI.ResponseItem>;

/**
* The ID of the first item in the list.
Expand All @@ -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<ComputerCallOutput.AcknowledgedSafetyCheck>;

/**
* 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.
Expand All @@ -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 };
Loading