/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { safeParse } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { AgentHoppsModelsModelsUsage, AgentHoppsModelsModelsUsage$inboundSchema, AgentHoppsModelsModelsUsage$Outbound, AgentHoppsModelsModelsUsage$outboundSchema, } from "./agenthoppsmodelsmodelsusage.js"; import { AnswerStep, AnswerStep$inboundSchema, AnswerStep$Outbound, AnswerStep$outboundSchema, } from "./answerstep.js"; import { CodeInterpreterEvidence, CodeInterpreterEvidence$inboundSchema, CodeInterpreterEvidence$Outbound, CodeInterpreterEvidence$outboundSchema, } from "./codeinterpreterevidence.js"; import { CodeStep, CodeStep$inboundSchema, CodeStep$Outbound, CodeStep$outboundSchema, } from "./codestep.js"; import { EvaluatedAnswerStep, EvaluatedAnswerStep$inboundSchema, EvaluatedAnswerStep$Outbound, EvaluatedAnswerStep$outboundSchema, } from "./evaluatedanswerstep.js"; import { FailedStep, FailedStep$inboundSchema, FailedStep$Outbound, FailedStep$outboundSchema, } from "./failedstep.js"; import { PlanStep, PlanStep$inboundSchema, PlanStep$Outbound, PlanStep$outboundSchema, } from "./planstep.js"; import { RagieEvidence, RagieEvidence$inboundSchema, RagieEvidence$Outbound, RagieEvidence$outboundSchema, } from "./ragieevidence.js"; import { SearchStep, SearchStep$inboundSchema, SearchStep$Outbound, SearchStep$outboundSchema, } from "./searchstep.js"; import { SearchStepWithQueryDetails, SearchStepWithQueryDetails$inboundSchema, SearchStepWithQueryDetails$Outbound, SearchStepWithQueryDetails$outboundSchema, } from "./searchstepwithquerydetails.js"; import { SurrenderStep, SurrenderStep$inboundSchema, SurrenderStep$Outbound, SurrenderStep$outboundSchema, } from "./surrenderstep.js"; export type Evidence = RagieEvidence | CodeInterpreterEvidence; export type Steps = | EvaluatedAnswerStep | AnswerStep | SearchStep | SearchStepWithQueryDetails | CodeStep | SurrenderStep | PlanStep | FailedStep; export type FinalAnswer = { /** * The final answer to the question. */ text: string; /** * The evidence used to derive the answer. */ evidence?: Array | undefined; /** * The steps that led to the answer. */ steps?: | Array< | EvaluatedAnswerStep | AnswerStep | SearchStep | SearchStepWithQueryDetails | CodeStep | SurrenderStep | PlanStep | FailedStep > | undefined; usage?: AgentHoppsModelsModelsUsage | undefined; }; /** @internal */ export const Evidence$inboundSchema: z.ZodType< Evidence, z.ZodTypeDef, unknown > = z.union([ RagieEvidence$inboundSchema, CodeInterpreterEvidence$inboundSchema, ]); /** @internal */ export type Evidence$Outbound = | RagieEvidence$Outbound | CodeInterpreterEvidence$Outbound; /** @internal */ export const Evidence$outboundSchema: z.ZodType< Evidence$Outbound, z.ZodTypeDef, Evidence > = z.union([ RagieEvidence$outboundSchema, CodeInterpreterEvidence$outboundSchema, ]); export function evidenceToJSON(evidence: Evidence): string { return JSON.stringify(Evidence$outboundSchema.parse(evidence)); } export function evidenceFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Evidence$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Evidence' from JSON`, ); } /** @internal */ export const Steps$inboundSchema: z.ZodType = z .union([ EvaluatedAnswerStep$inboundSchema, AnswerStep$inboundSchema, SearchStep$inboundSchema, SearchStepWithQueryDetails$inboundSchema, CodeStep$inboundSchema, SurrenderStep$inboundSchema, PlanStep$inboundSchema, FailedStep$inboundSchema, ]); /** @internal */ export type Steps$Outbound = | EvaluatedAnswerStep$Outbound | AnswerStep$Outbound | SearchStep$Outbound | SearchStepWithQueryDetails$Outbound | CodeStep$Outbound | SurrenderStep$Outbound | PlanStep$Outbound | FailedStep$Outbound; /** @internal */ export const Steps$outboundSchema: z.ZodType< Steps$Outbound, z.ZodTypeDef, Steps > = z.union([ EvaluatedAnswerStep$outboundSchema, AnswerStep$outboundSchema, SearchStep$outboundSchema, SearchStepWithQueryDetails$outboundSchema, CodeStep$outboundSchema, SurrenderStep$outboundSchema, PlanStep$outboundSchema, FailedStep$outboundSchema, ]); export function stepsToJSON(steps: Steps): string { return JSON.stringify(Steps$outboundSchema.parse(steps)); } export function stepsFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => Steps$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Steps' from JSON`, ); } /** @internal */ export const FinalAnswer$inboundSchema: z.ZodType< FinalAnswer, z.ZodTypeDef, unknown > = z.object({ text: z.string(), evidence: z.array( z.union([ RagieEvidence$inboundSchema, CodeInterpreterEvidence$inboundSchema, ]), ).optional(), steps: z.array( z.union([ EvaluatedAnswerStep$inboundSchema, AnswerStep$inboundSchema, SearchStep$inboundSchema, SearchStepWithQueryDetails$inboundSchema, CodeStep$inboundSchema, SurrenderStep$inboundSchema, PlanStep$inboundSchema, FailedStep$inboundSchema, ]), ).optional(), usage: AgentHoppsModelsModelsUsage$inboundSchema.optional(), }); /** @internal */ export type FinalAnswer$Outbound = { text: string; evidence?: | Array | undefined; steps?: | Array< | EvaluatedAnswerStep$Outbound | AnswerStep$Outbound | SearchStep$Outbound | SearchStepWithQueryDetails$Outbound | CodeStep$Outbound | SurrenderStep$Outbound | PlanStep$Outbound | FailedStep$Outbound > | undefined; usage?: AgentHoppsModelsModelsUsage$Outbound | undefined; }; /** @internal */ export const FinalAnswer$outboundSchema: z.ZodType< FinalAnswer$Outbound, z.ZodTypeDef, FinalAnswer > = z.object({ text: z.string(), evidence: z.array( z.union([ RagieEvidence$outboundSchema, CodeInterpreterEvidence$outboundSchema, ]), ).optional(), steps: z.array( z.union([ EvaluatedAnswerStep$outboundSchema, AnswerStep$outboundSchema, SearchStep$outboundSchema, SearchStepWithQueryDetails$outboundSchema, CodeStep$outboundSchema, SurrenderStep$outboundSchema, PlanStep$outboundSchema, FailedStep$outboundSchema, ]), ).optional(), usage: AgentHoppsModelsModelsUsage$outboundSchema.optional(), }); export function finalAnswerToJSON(finalAnswer: FinalAnswer): string { return JSON.stringify(FinalAnswer$outboundSchema.parse(finalAnswer)); } export function finalAnswerFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => FinalAnswer$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'FinalAnswer' from JSON`, ); }