/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. * @generated-id: cf396d4e697e */ import * as z from "zod/v4"; import { remap as remap$ } from "../../lib/primitives.js"; import { safeParse } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { ToolConfiguration, ToolConfiguration$inboundSchema, ToolConfiguration$Outbound, ToolConfiguration$outboundSchema, } from "./toolconfiguration.js"; export type DocumentLibraryTool = { toolConfiguration?: ToolConfiguration | null | undefined; type: "document_library"; /** * Ids of the library in which to search. */ libraryIds: Array; }; /** @internal */ export const DocumentLibraryTool$inboundSchema: z.ZodType< DocumentLibraryTool, unknown > = z.object({ tool_configuration: z.nullable(ToolConfiguration$inboundSchema).optional(), type: z.literal("document_library"), library_ids: z.array(z.string()), }).transform((v) => { return remap$(v, { "tool_configuration": "toolConfiguration", "library_ids": "libraryIds", }); }); /** @internal */ export type DocumentLibraryTool$Outbound = { tool_configuration?: ToolConfiguration$Outbound | null | undefined; type: "document_library"; library_ids: Array; }; /** @internal */ export const DocumentLibraryTool$outboundSchema: z.ZodType< DocumentLibraryTool$Outbound, DocumentLibraryTool > = z.object({ toolConfiguration: z.nullable(ToolConfiguration$outboundSchema).optional(), type: z.literal("document_library"), libraryIds: z.array(z.string()), }).transform((v) => { return remap$(v, { toolConfiguration: "tool_configuration", libraryIds: "library_ids", }); }); export function documentLibraryToolToJSON( documentLibraryTool: DocumentLibraryTool, ): string { return JSON.stringify( DocumentLibraryTool$outboundSchema.parse(documentLibraryTool), ); } export function documentLibraryToolFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => DocumentLibraryTool$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'DocumentLibraryTool' from JSON`, ); }