/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: 36834e0e0bfa */ import * as z from "zod/v4"; import { remap as remap$ } from "../../lib/primitives.js"; import { safeParse } from "../../lib/schemas.js"; import * as discriminatedUnionTypes from "../../types/discriminatedUnion.js"; import { discriminatedUnion } from "../../types/discriminatedUnion.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { CodeInterpreterTool, CodeInterpreterTool$inboundSchema, } from "./codeinterpretertool.js"; import { CompletionArgs, CompletionArgs$inboundSchema, } from "./completionargs.js"; import { CustomConnector, CustomConnector$inboundSchema, } from "./customconnector.js"; import { DocumentLibraryTool, DocumentLibraryTool$inboundSchema, } from "./documentlibrarytool.js"; import { FunctionTool, FunctionTool$inboundSchema } from "./functiontool.js"; import { GuardrailConfig, GuardrailConfig$inboundSchema, } from "./guardrailconfig.js"; import { ImageGenerationTool, ImageGenerationTool$inboundSchema, } from "./imagegenerationtool.js"; import { WebSearchPremiumTool, WebSearchPremiumTool$inboundSchema, } from "./websearchpremiumtool.js"; import { WebSearchTool, WebSearchTool$inboundSchema } from "./websearchtool.js"; export type AgentTool = | CodeInterpreterTool | CustomConnector | DocumentLibraryTool | FunctionTool | ImageGenerationTool | WebSearchTool | WebSearchPremiumTool | discriminatedUnionTypes.Unknown<"type">; export type Agent = { /** * Instruction prompt the model will follow during the conversation. */ instructions?: string | null | undefined; /** * List of tools which are available to the model during the conversation. */ tools?: | Array< | CodeInterpreterTool | CustomConnector | DocumentLibraryTool | FunctionTool | ImageGenerationTool | WebSearchTool | WebSearchPremiumTool | discriminatedUnionTypes.Unknown<"type"> > | undefined; /** * White-listed arguments from the completion API */ completionArgs?: CompletionArgs | undefined; guardrails?: Array | null | undefined; model: string; name: string; description?: string | null | undefined; handoffs?: Array | null | undefined; metadata?: { [k: string]: any } | null | undefined; object: "agent"; id: string; version: number; versions: Array; createdAt: Date; updatedAt: Date; deploymentChat: boolean; source: string; versionMessage?: string | null | undefined; }; /** @internal */ export const AgentTool$inboundSchema: z.ZodType = discriminatedUnion("type", { code_interpreter: CodeInterpreterTool$inboundSchema, connector: CustomConnector$inboundSchema, document_library: DocumentLibraryTool$inboundSchema, function: FunctionTool$inboundSchema, image_generation: ImageGenerationTool$inboundSchema, web_search: WebSearchTool$inboundSchema, web_search_premium: WebSearchPremiumTool$inboundSchema, }); export function agentToolFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => AgentTool$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'AgentTool' from JSON`, ); } /** @internal */ export const Agent$inboundSchema: z.ZodType = z.object({ instructions: z.nullable(z.string()).optional(), tools: z.array(discriminatedUnion("type", { code_interpreter: CodeInterpreterTool$inboundSchema, connector: CustomConnector$inboundSchema, document_library: DocumentLibraryTool$inboundSchema, function: FunctionTool$inboundSchema, image_generation: ImageGenerationTool$inboundSchema, web_search: WebSearchTool$inboundSchema, web_search_premium: WebSearchPremiumTool$inboundSchema, })).optional(), completion_args: CompletionArgs$inboundSchema.optional(), guardrails: z.nullable(z.array(GuardrailConfig$inboundSchema)).optional(), model: z.string(), name: z.string(), description: z.nullable(z.string()).optional(), handoffs: z.nullable(z.array(z.string())).optional(), metadata: z.nullable(z.record(z.string(), z.any())).optional(), object: z.literal("agent").default("agent"), id: z.string(), version: z.int(), versions: z.array(z.int()), created_at: z.iso.datetime({ offset: true }).transform(v => new Date(v)), updated_at: z.iso.datetime({ offset: true }).transform(v => new Date(v)), deployment_chat: z.boolean(), source: z.string(), version_message: z.nullable(z.string()).optional(), }).transform((v) => { return remap$(v, { "completion_args": "completionArgs", "created_at": "createdAt", "updated_at": "updatedAt", "deployment_chat": "deploymentChat", "version_message": "versionMessage", }); }); export function agentFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Agent$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Agent' from JSON`, ); }