UNPKG

@toolbox-sdk/core

Version:
48 lines (47 loc) 1.84 kB
import { z, ZodRawShape, ZodObject } from 'zod'; interface BaseParameter { name: string; description: string; authSources?: string[]; required?: boolean; } interface StringParameter extends BaseParameter { type: 'string'; } interface IntegerParameter extends BaseParameter { type: 'integer'; } interface FloatParameter extends BaseParameter { type: 'float'; } interface BooleanParameter extends BaseParameter { type: 'boolean'; } interface ArrayParameter extends BaseParameter { type: 'array'; items: ParameterSchema; } export type ParameterSchema = StringParameter | IntegerParameter | FloatParameter | BooleanParameter | ArrayParameter; export declare const ZodParameterSchema: z.ZodType<ParameterSchema>; export declare const ZodToolSchema: z.ZodObject<{ description: z.ZodString; parameters: z.ZodArray<z.ZodType<ParameterSchema, unknown, z.core.$ZodTypeInternals<ParameterSchema, unknown>>>; authRequired: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strip>; export declare const ZodManifestSchema: z.ZodObject<{ serverVersion: z.ZodString; tools: z.ZodRecord<z.ZodString, z.ZodObject<{ description: z.ZodString; parameters: z.ZodArray<z.ZodType<ParameterSchema, unknown, z.core.$ZodTypeInternals<ParameterSchema, unknown>>>; authRequired: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strip>>; }, z.core.$strip>; export type ZodManifest = z.infer<typeof ZodManifestSchema>; /** * Creates a ZodObject schema from an array of ParameterSchema (TypeScript types). * This combined schema is used by ToolboxTool to validate its call arguments. * @param params Array of ParameterSchema objects. * @returns A ZodObject schema. */ export declare function createZodSchemaFromParams(params: ParameterSchema[]): ZodObject<ZodRawShape>; export {};