/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v3"; import { safeParse } from "../../lib/schemas.js"; import { ClosedEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { FileSearchResult, FileSearchResult$inboundSchema, FileSearchResult$Outbound, FileSearchResult$outboundSchema, } from "./filesearchresult.js"; export const FileSearchOutputStatus = { InProgress: "in_progress", Searching: "searching", Incomplete: "incomplete", Completed: "completed", Failed: "failed", } as const; export type FileSearchOutputStatus = ClosedEnum; export type FileSearchOutput = { id: string; /** * The queries used to search for files. */ queries: Array; status?: FileSearchOutputStatus | undefined; type: "file_search_call"; /** * The results of the file search tool call. */ results: Array; }; /** @internal */ export const FileSearchOutputStatus$inboundSchema: z.ZodNativeEnum< typeof FileSearchOutputStatus > = z.nativeEnum(FileSearchOutputStatus); /** @internal */ export const FileSearchOutputStatus$outboundSchema: z.ZodNativeEnum< typeof FileSearchOutputStatus > = FileSearchOutputStatus$inboundSchema; /** @internal */ export const FileSearchOutput$inboundSchema: z.ZodType< FileSearchOutput, z.ZodTypeDef, unknown > = z.object({ id: z.string(), queries: z.array(z.string()), status: FileSearchOutputStatus$inboundSchema.default("searching"), type: z.literal("file_search_call"), results: z.array(FileSearchResult$inboundSchema), }); /** @internal */ export type FileSearchOutput$Outbound = { id: string; queries: Array; status: string; type: "file_search_call"; results: Array; }; /** @internal */ export const FileSearchOutput$outboundSchema: z.ZodType< FileSearchOutput$Outbound, z.ZodTypeDef, FileSearchOutput > = z.object({ id: z.string(), queries: z.array(z.string()), status: FileSearchOutputStatus$outboundSchema.default("searching"), type: z.literal("file_search_call"), results: z.array(FileSearchResult$outboundSchema), }); export function fileSearchOutputToJSON( fileSearchOutput: FileSearchOutput, ): string { return JSON.stringify( FileSearchOutput$outboundSchema.parse(fileSearchOutput), ); } export function fileSearchOutputFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => FileSearchOutput$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'FileSearchOutput' from JSON`, ); }