/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { remap as remap$ } from "../../lib/primitives.js"; import { safeParse } from "../../lib/schemas.js"; import { ClosedEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import * as components from "../components/index.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; /** * The order to return the input items in. Default is `asc`. */ export const QueryParamOrder = { Asc: "asc", Desc: "desc", } as const; /** * The order to return the input items in. Default is `asc`. */ export type QueryParamOrder = ClosedEnum; export type ConversationsItemsListRequest = { conversationId: string; after?: string | undefined; include?: Array | undefined; limit?: number | undefined; /** * The order to return the input items in. Default is `asc`. */ order?: QueryParamOrder | undefined; /** * Optional external end-user identifier forwarded by the API gateway. */ xOnBehalfOf?: string | undefined; }; /** * The role of the message sender (user, assistant, system, or developer). */ export const ConversationsItemsListDataRole = { User: "user", Assistant: "assistant", System: "system", Developer: "developer", } as const; /** * The role of the message sender (user, assistant, system, or developer). */ export type ConversationsItemsListDataRole = ClosedEnum< typeof ConversationsItemsListDataRole >; /** * The message content. Can be a simple text string or an array of multimodal content items (text, images, files, audio). */ export type ConversationsItemsListDataContent = | string | Array; /** * Input message item: A message with role and content. Use this for user, assistant, system, or developer turns in structured inputs. */ export type ConversationsItemsListDataInputMessageItem = { /** * The item type identifier. Always 'message' for message items. */ type?: "message" | undefined; /** * The role of the message sender (user, assistant, system, or developer). */ role: ConversationsItemsListDataRole; /** * The message content. Can be a simple text string or an array of multimodal content items (text, images, files, audio). */ content: string | Array; /** * The processing status of an individual item. 'in_progress' means currently processing, 'completed' means finished successfully, 'incomplete' means processing stopped before completion. */ status?: components.Status | undefined; /** * The unique ID of the message. */ id: string; /** * The ID of the response that created this item, if any. */ responseId?: string | null | undefined; /** * Metadata from the response that created this item, if any. */ metadata?: { [k: string]: string } | null | undefined; }; export type Data = | components.ComputerToolCallWithId | components.CodeInterpreterToolCallWithId | components.OutputMessageWithId | components.OutputAudioItemWithId | components.FunctionToolCallWithId | components.LocalShellCallWithId | components.ShellCallWithId | components.MCPApprovalRequestWithId | components.MCPToolCallWithId | components.CustomToolCallWithId | components.FileSearchToolCallWithId | components.ComputerToolCallOutputWithId | components.WebSearchToolCallWithId | components.FunctionToolCallOutputWithId | components.ImageGenerationCallWithId | components.ShellCallOutputWithId | components.MCPListToolsWithId | components.MCPApprovalResponseWithId | components.CustomToolCallOutputWithId | ConversationsItemsListDataInputMessageItem | components.ReasoningWithId | components.LocalShellCallOutputWithId | components.ResponseCompactionItemWithId | components.ItemReferenceWithId; /** * OK */ export type ConversationsItemsListResponseBody = { object?: "list" | undefined; /** * A list of conversation items. */ data: Array< | components.ComputerToolCallWithId | components.CodeInterpreterToolCallWithId | components.OutputMessageWithId | components.OutputAudioItemWithId | components.FunctionToolCallWithId | components.LocalShellCallWithId | components.ShellCallWithId | components.MCPApprovalRequestWithId | components.MCPToolCallWithId | components.CustomToolCallWithId | components.FileSearchToolCallWithId | components.ComputerToolCallOutputWithId | components.WebSearchToolCallWithId | components.FunctionToolCallOutputWithId | components.ImageGenerationCallWithId | components.ShellCallOutputWithId | components.MCPListToolsWithId | components.MCPApprovalResponseWithId | components.CustomToolCallOutputWithId | ConversationsItemsListDataInputMessageItem | components.ReasoningWithId | components.LocalShellCallOutputWithId | components.ResponseCompactionItemWithId | components.ItemReferenceWithId >; /** * Whether there are more items */ hasMore: boolean; /** * ID of the last item in the current page */ lastId: string; }; /** @internal */ export const QueryParamOrder$inboundSchema: z.ZodNativeEnum< typeof QueryParamOrder > = z.nativeEnum(QueryParamOrder); /** @internal */ export const QueryParamOrder$outboundSchema: z.ZodNativeEnum< typeof QueryParamOrder > = QueryParamOrder$inboundSchema; /** @internal */ export const ConversationsItemsListRequest$inboundSchema: z.ZodType< ConversationsItemsListRequest, z.ZodTypeDef, unknown > = z.object({ conversation_id: z.string(), after: z.string().optional(), include: z.array(z.string()).optional(), limit: z.number().int().default(20), order: QueryParamOrder$inboundSchema.default("asc"), "X-On-Behalf-Of": z.string().optional(), }).transform((v) => { return remap$(v, { "conversation_id": "conversationId", "X-On-Behalf-Of": "xOnBehalfOf", }); }); /** @internal */ export type ConversationsItemsListRequest$Outbound = { conversation_id: string; after?: string | undefined; include?: Array | undefined; limit: number; order: string; "X-On-Behalf-Of"?: string | undefined; }; /** @internal */ export const ConversationsItemsListRequest$outboundSchema: z.ZodType< ConversationsItemsListRequest$Outbound, z.ZodTypeDef, ConversationsItemsListRequest > = z.object({ conversationId: z.string(), after: z.string().optional(), include: z.array(z.string()).optional(), limit: z.number().int().default(20), order: QueryParamOrder$outboundSchema.default("asc"), xOnBehalfOf: z.string().optional(), }).transform((v) => { return remap$(v, { conversationId: "conversation_id", xOnBehalfOf: "X-On-Behalf-Of", }); }); export function conversationsItemsListRequestToJSON( conversationsItemsListRequest: ConversationsItemsListRequest, ): string { return JSON.stringify( ConversationsItemsListRequest$outboundSchema.parse( conversationsItemsListRequest, ), ); } export function conversationsItemsListRequestFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ConversationsItemsListRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ConversationsItemsListRequest' from JSON`, ); } /** @internal */ export const ConversationsItemsListDataRole$inboundSchema: z.ZodNativeEnum< typeof ConversationsItemsListDataRole > = z.nativeEnum(ConversationsItemsListDataRole); /** @internal */ export const ConversationsItemsListDataRole$outboundSchema: z.ZodNativeEnum< typeof ConversationsItemsListDataRole > = ConversationsItemsListDataRole$inboundSchema; /** @internal */ export const ConversationsItemsListDataContent$inboundSchema: z.ZodType< ConversationsItemsListDataContent, z.ZodTypeDef, unknown > = z.union([ z.string(), z.array(components.InputMessageContent$inboundSchema), ]); /** @internal */ export type ConversationsItemsListDataContent$Outbound = | string | Array; /** @internal */ export const ConversationsItemsListDataContent$outboundSchema: z.ZodType< ConversationsItemsListDataContent$Outbound, z.ZodTypeDef, ConversationsItemsListDataContent > = z.union([ z.string(), z.array(components.InputMessageContent$outboundSchema), ]); export function conversationsItemsListDataContentToJSON( conversationsItemsListDataContent: ConversationsItemsListDataContent, ): string { return JSON.stringify( ConversationsItemsListDataContent$outboundSchema.parse( conversationsItemsListDataContent, ), ); } export function conversationsItemsListDataContentFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ConversationsItemsListDataContent$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ConversationsItemsListDataContent' from JSON`, ); } /** @internal */ export const ConversationsItemsListDataInputMessageItem$inboundSchema: z.ZodType = z.object({ type: z.literal("message").optional(), role: ConversationsItemsListDataRole$inboundSchema, content: z.union([ z.string(), z.array(components.InputMessageContent$inboundSchema), ]), status: components.Status$inboundSchema.optional(), id: z.string(), response_id: z.nullable(z.string()).optional(), metadata: z.nullable(z.record(z.string())).optional(), }).transform((v) => { return remap$(v, { "response_id": "responseId", }); }); /** @internal */ export type ConversationsItemsListDataInputMessageItem$Outbound = { type?: "message" | undefined; role: string; content: string | Array; status?: string | undefined; id: string; response_id?: string | null | undefined; metadata?: { [k: string]: string } | null | undefined; }; /** @internal */ export const ConversationsItemsListDataInputMessageItem$outboundSchema: z.ZodType< ConversationsItemsListDataInputMessageItem$Outbound, z.ZodTypeDef, ConversationsItemsListDataInputMessageItem > = z.object({ type: z.literal("message").optional(), role: ConversationsItemsListDataRole$outboundSchema, content: z.union([ z.string(), z.array(components.InputMessageContent$outboundSchema), ]), status: components.Status$outboundSchema.optional(), id: z.string(), responseId: z.nullable(z.string()).optional(), metadata: z.nullable(z.record(z.string())).optional(), }).transform((v) => { return remap$(v, { responseId: "response_id", }); }); export function conversationsItemsListDataInputMessageItemToJSON( conversationsItemsListDataInputMessageItem: ConversationsItemsListDataInputMessageItem, ): string { return JSON.stringify( ConversationsItemsListDataInputMessageItem$outboundSchema.parse( conversationsItemsListDataInputMessageItem, ), ); } export function conversationsItemsListDataInputMessageItemFromJSON( jsonString: string, ): SafeParseResult< ConversationsItemsListDataInputMessageItem, SDKValidationError > { return safeParse( jsonString, (x) => ConversationsItemsListDataInputMessageItem$inboundSchema.parse( JSON.parse(x), ), `Failed to parse 'ConversationsItemsListDataInputMessageItem' from JSON`, ); } /** @internal */ export const Data$inboundSchema: z.ZodType = z .union([ components.ComputerToolCallWithId$inboundSchema, components.CodeInterpreterToolCallWithId$inboundSchema, components.OutputMessageWithId$inboundSchema, components.OutputAudioItemWithId$inboundSchema, components.FunctionToolCallWithId$inboundSchema, components.LocalShellCallWithId$inboundSchema, components.ShellCallWithId$inboundSchema, components.MCPApprovalRequestWithId$inboundSchema, components.MCPToolCallWithId$inboundSchema, components.CustomToolCallWithId$inboundSchema, components.FileSearchToolCallWithId$inboundSchema, components.ComputerToolCallOutputWithId$inboundSchema, components.WebSearchToolCallWithId$inboundSchema, components.FunctionToolCallOutputWithId$inboundSchema, components.ImageGenerationCallWithId$inboundSchema, components.ShellCallOutputWithId$inboundSchema, components.MCPListToolsWithId$inboundSchema, components.MCPApprovalResponseWithId$inboundSchema, components.CustomToolCallOutputWithId$inboundSchema, z.lazy(() => ConversationsItemsListDataInputMessageItem$inboundSchema), components.ReasoningWithId$inboundSchema, components.LocalShellCallOutputWithId$inboundSchema, components.ResponseCompactionItemWithId$inboundSchema, components.ItemReferenceWithId$inboundSchema, ]); /** @internal */ export type Data$Outbound = | components.ComputerToolCallWithId$Outbound | components.CodeInterpreterToolCallWithId$Outbound | components.OutputMessageWithId$Outbound | components.OutputAudioItemWithId$Outbound | components.FunctionToolCallWithId$Outbound | components.LocalShellCallWithId$Outbound | components.ShellCallWithId$Outbound | components.MCPApprovalRequestWithId$Outbound | components.MCPToolCallWithId$Outbound | components.CustomToolCallWithId$Outbound | components.FileSearchToolCallWithId$Outbound | components.ComputerToolCallOutputWithId$Outbound | components.WebSearchToolCallWithId$Outbound | components.FunctionToolCallOutputWithId$Outbound | components.ImageGenerationCallWithId$Outbound | components.ShellCallOutputWithId$Outbound | components.MCPListToolsWithId$Outbound | components.MCPApprovalResponseWithId$Outbound | components.CustomToolCallOutputWithId$Outbound | ConversationsItemsListDataInputMessageItem$Outbound | components.ReasoningWithId$Outbound | components.LocalShellCallOutputWithId$Outbound | components.ResponseCompactionItemWithId$Outbound | components.ItemReferenceWithId$Outbound; /** @internal */ export const Data$outboundSchema: z.ZodType = z.union([ components.ComputerToolCallWithId$outboundSchema, components.CodeInterpreterToolCallWithId$outboundSchema, components.OutputMessageWithId$outboundSchema, components.OutputAudioItemWithId$outboundSchema, components.FunctionToolCallWithId$outboundSchema, components.LocalShellCallWithId$outboundSchema, components.ShellCallWithId$outboundSchema, components.MCPApprovalRequestWithId$outboundSchema, components.MCPToolCallWithId$outboundSchema, components.CustomToolCallWithId$outboundSchema, components.FileSearchToolCallWithId$outboundSchema, components.ComputerToolCallOutputWithId$outboundSchema, components.WebSearchToolCallWithId$outboundSchema, components.FunctionToolCallOutputWithId$outboundSchema, components.ImageGenerationCallWithId$outboundSchema, components.ShellCallOutputWithId$outboundSchema, components.MCPListToolsWithId$outboundSchema, components.MCPApprovalResponseWithId$outboundSchema, components.CustomToolCallOutputWithId$outboundSchema, z.lazy(() => ConversationsItemsListDataInputMessageItem$outboundSchema), components.ReasoningWithId$outboundSchema, components.LocalShellCallOutputWithId$outboundSchema, components.ResponseCompactionItemWithId$outboundSchema, components.ItemReferenceWithId$outboundSchema, ]); export function dataToJSON(data: Data): string { return JSON.stringify(Data$outboundSchema.parse(data)); } export function dataFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Data$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Data' from JSON`, ); } /** @internal */ export const ConversationsItemsListResponseBody$inboundSchema: z.ZodType< ConversationsItemsListResponseBody, z.ZodTypeDef, unknown > = z.object({ object: z.literal("list").optional(), data: z.array( z.union([ components.ComputerToolCallWithId$inboundSchema, components.CodeInterpreterToolCallWithId$inboundSchema, components.OutputMessageWithId$inboundSchema, components.OutputAudioItemWithId$inboundSchema, components.FunctionToolCallWithId$inboundSchema, components.LocalShellCallWithId$inboundSchema, components.ShellCallWithId$inboundSchema, components.MCPApprovalRequestWithId$inboundSchema, components.MCPToolCallWithId$inboundSchema, components.CustomToolCallWithId$inboundSchema, components.FileSearchToolCallWithId$inboundSchema, components.ComputerToolCallOutputWithId$inboundSchema, components.WebSearchToolCallWithId$inboundSchema, components.FunctionToolCallOutputWithId$inboundSchema, components.ImageGenerationCallWithId$inboundSchema, components.ShellCallOutputWithId$inboundSchema, components.MCPListToolsWithId$inboundSchema, components.MCPApprovalResponseWithId$inboundSchema, components.CustomToolCallOutputWithId$inboundSchema, z.lazy(() => ConversationsItemsListDataInputMessageItem$inboundSchema), components.ReasoningWithId$inboundSchema, components.LocalShellCallOutputWithId$inboundSchema, components.ResponseCompactionItemWithId$inboundSchema, components.ItemReferenceWithId$inboundSchema, ]), ), has_more: z.boolean(), last_id: z.string(), }).transform((v) => { return remap$(v, { "has_more": "hasMore", "last_id": "lastId", }); }); /** @internal */ export type ConversationsItemsListResponseBody$Outbound = { object?: "list" | undefined; data: Array< | components.ComputerToolCallWithId$Outbound | components.CodeInterpreterToolCallWithId$Outbound | components.OutputMessageWithId$Outbound | components.OutputAudioItemWithId$Outbound | components.FunctionToolCallWithId$Outbound | components.LocalShellCallWithId$Outbound | components.ShellCallWithId$Outbound | components.MCPApprovalRequestWithId$Outbound | components.MCPToolCallWithId$Outbound | components.CustomToolCallWithId$Outbound | components.FileSearchToolCallWithId$Outbound | components.ComputerToolCallOutputWithId$Outbound | components.WebSearchToolCallWithId$Outbound | components.FunctionToolCallOutputWithId$Outbound | components.ImageGenerationCallWithId$Outbound | components.ShellCallOutputWithId$Outbound | components.MCPListToolsWithId$Outbound | components.MCPApprovalResponseWithId$Outbound | components.CustomToolCallOutputWithId$Outbound | ConversationsItemsListDataInputMessageItem$Outbound | components.ReasoningWithId$Outbound | components.LocalShellCallOutputWithId$Outbound | components.ResponseCompactionItemWithId$Outbound | components.ItemReferenceWithId$Outbound >; has_more: boolean; last_id: string; }; /** @internal */ export const ConversationsItemsListResponseBody$outboundSchema: z.ZodType< ConversationsItemsListResponseBody$Outbound, z.ZodTypeDef, ConversationsItemsListResponseBody > = z.object({ object: z.literal("list").optional(), data: z.array( z.union([ components.ComputerToolCallWithId$outboundSchema, components.CodeInterpreterToolCallWithId$outboundSchema, components.OutputMessageWithId$outboundSchema, components.OutputAudioItemWithId$outboundSchema, components.FunctionToolCallWithId$outboundSchema, components.LocalShellCallWithId$outboundSchema, components.ShellCallWithId$outboundSchema, components.MCPApprovalRequestWithId$outboundSchema, components.MCPToolCallWithId$outboundSchema, components.CustomToolCallWithId$outboundSchema, components.FileSearchToolCallWithId$outboundSchema, components.ComputerToolCallOutputWithId$outboundSchema, components.WebSearchToolCallWithId$outboundSchema, components.FunctionToolCallOutputWithId$outboundSchema, components.ImageGenerationCallWithId$outboundSchema, components.ShellCallOutputWithId$outboundSchema, components.MCPListToolsWithId$outboundSchema, components.MCPApprovalResponseWithId$outboundSchema, components.CustomToolCallOutputWithId$outboundSchema, z.lazy(() => ConversationsItemsListDataInputMessageItem$outboundSchema), components.ReasoningWithId$outboundSchema, components.LocalShellCallOutputWithId$outboundSchema, components.ResponseCompactionItemWithId$outboundSchema, components.ItemReferenceWithId$outboundSchema, ]), ), hasMore: z.boolean(), lastId: z.string(), }).transform((v) => { return remap$(v, { hasMore: "has_more", lastId: "last_id", }); }); export function conversationsItemsListResponseBodyToJSON( conversationsItemsListResponseBody: ConversationsItemsListResponseBody, ): string { return JSON.stringify( ConversationsItemsListResponseBody$outboundSchema.parse( conversationsItemsListResponseBody, ), ); } export function conversationsItemsListResponseBodyFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => ConversationsItemsListResponseBody$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ConversationsItemsListResponseBody' from JSON`, ); }