@spaik/mcp-server-roi
Version:
MCP server for AI ROI prediction and tracking with Monte Carlo simulations
48 lines • 2.38 kB
TypeScript
import { z } from 'zod';
/**
* Validates financial amounts (can be negative for costs)
*/
export declare function validateFinancialAmount(value: number, fieldName: string, allowNegative?: boolean): number;
/**
* Validates percentage values (0-1)
*/
export declare function validatePercentage(value: number, fieldName: string): number;
/**
* Validates rate values (can be negative for decline)
*/
export declare function validateRate(value: number, fieldName: string): number;
/**
* Validates volume/count values
*/
export declare function validateVolume(value: number, fieldName: string): number;
/**
* Validates time duration in months
*/
export declare function validateMonths(value: number, fieldName: string): number;
/**
* Validates Monte Carlo iterations
*/
export declare function validateIterations(value: number, fieldName?: string): number;
/**
* Zod schemas with custom refinements
*/
export declare const FinancialAmountSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodNumber, number, number>, number, number>, number, number>;
export declare const PositiveFinancialAmountSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodNumber, number, number>, number, number>, number, number>, number, number>;
export declare const PercentageSchema: z.ZodEffects<z.ZodEffects<z.ZodNumber, number, number>, number, number>;
export declare const RateSchema: z.ZodEffects<z.ZodEffects<z.ZodNumber, number, number>, number, number>;
export declare const VolumeSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodNumber, number, number>, number, number>, number, number>, number, number>;
export declare const MonthsSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodNumber, number, number>, number, number>, number, number>, number, number>;
export declare const IterationsSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodNumber, number, number>, number, number>, number, number>;
/**
* Validates an entire use case object
*/
export declare function validateUseCase(useCase: any): void;
/**
* Sanitizes string inputs to prevent injection attacks
*/
export declare function sanitizeString(input: string, maxLength?: number): string;
/**
* Validates array inputs
*/
export declare function validateArray<T>(arr: T[], fieldName: string, minLength?: number, maxLength?: number): T[];
//# sourceMappingURL=validators.d.ts.map