@juspay/neurolink
Version:
Universal AI Development Platform with working MCP integration, multi-provider support, voice (TTS/STT/realtime), and professional CLI. 58+ external MCP servers discoverable, multimodal file processing, RAG pipelines. Build, test, and deploy AI applicatio
122 lines (121 loc) • 4.43 kB
TypeScript
/**
* Request Validation Utilities
* Provides Zod schemas and validation helpers for server routes
*/
import { z } from "zod";
import type { ErrorResponse, ServerValidationResult } from "../../types/index.js";
/**
* Agent execute request schema
*/
export declare const AgentExecuteRequestSchema: z.ZodObject<{
input: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
text: z.ZodString;
images: z.ZodOptional<z.ZodArray<z.ZodString>>;
files: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strip>]>;
provider: z.ZodOptional<z.ZodString>;
model: z.ZodOptional<z.ZodString>;
systemPrompt: z.ZodOptional<z.ZodString>;
temperature: z.ZodOptional<z.ZodNumber>;
maxTokens: z.ZodOptional<z.ZodNumber>;
tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
stream: z.ZodOptional<z.ZodBoolean>;
sessionId: z.ZodOptional<z.ZodString>;
userId: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
* Tool execute request schema
*/
export declare const ToolExecuteRequestSchema: z.ZodObject<{
name: z.ZodString;
arguments: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
sessionId: z.ZodOptional<z.ZodString>;
userId: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
* Tool arguments schema (for direct tool execution)
*/
export declare const ToolArgumentsSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
/**
* Memory session ID parameter schema
*/
export declare const SessionIdParamSchema: z.ZodObject<{
sessionId: z.ZodString;
}, z.core.$strip>;
/**
* MCP server name parameter schema
*/
export declare const ServerNameParamSchema: z.ZodObject<{
name: z.ZodString;
}, z.core.$strip>;
/**
* Tool name parameter schema
*/
export declare const ToolNameParamSchema: z.ZodObject<{
name: z.ZodString;
}, z.core.$strip>;
/**
* Tool search query schema
*/
export declare const ToolSearchQuerySchema: z.ZodObject<{
q: z.ZodOptional<z.ZodString>;
source: z.ZodOptional<z.ZodString>;
limit: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>, z.ZodNumber>>;
}, z.core.$strip>;
/**
* Generic ID parameter schema (for session endpoints using :id)
*/
export declare const IdParamSchema: z.ZodObject<{
id: z.ZodString;
}, z.core.$strip>;
/**
* Sessions list query schema (with optional pagination and filtering)
*/
export declare const SessionsListQuerySchema: z.ZodObject<{
userId: z.ZodOptional<z.ZodString>;
limit: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>, z.ZodNumber>>;
offset: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>, z.ZodNumber>>;
}, z.core.$strip>;
/**
* Session messages query schema (for pagination)
*/
export declare const SessionMessagesQuerySchema: z.ZodObject<{
limit: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>, z.ZodNumber>>;
offset: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>, z.ZodNumber>>;
}, z.core.$strip>;
/**
* Embed request schema (single text)
*/
export declare const EmbedRequestSchema: z.ZodObject<{
text: z.ZodString;
provider: z.ZodOptional<z.ZodString>;
model: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
* Embed many request schema (batch texts)
*/
export declare const EmbedManyRequestSchema: z.ZodObject<{
texts: z.ZodArray<z.ZodString>;
provider: z.ZodOptional<z.ZodString>;
model: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
* Type guard to check if a value is an ErrorResponse
*/
export declare function isErrorResponse(value: unknown): value is ErrorResponse;
/**
* Create a standardized error response
*/
export declare function createErrorResponse(code: string, message: string, details?: unknown, requestId?: string, httpStatus?: number): ErrorResponse;
/**
* Validate request body against a Zod schema
*/
export declare function validateRequest<T>(schema: z.ZodSchema<T>, data: unknown, requestId?: string): ServerValidationResult<T>;
/**
* Validate query parameters against a Zod schema
*/
export declare function validateQuery<T>(schema: z.ZodSchema<T>, query: Record<string, string>, requestId?: string): ServerValidationResult<T>;
/**
* Validate path parameters against a Zod schema
*/
export declare function validateParams<T>(schema: z.ZodSchema<T>, params: Record<string, string>, requestId?: string): ServerValidationResult<T>;