@toolbox-sdk/core
Version:
JavaScript Base SDK for interacting with the Toolbox service
48 lines (47 loc) • 1.84 kB
TypeScript
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 {};