@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
51 lines (50 loc) • 2.91 kB
TypeScript
import type { BadWordsConfig, ContentFilteringResult, EvaluationActionResult, PrecallEvaluationConfig, PrecallEvaluationResult } from "../../types/index.js";
export declare const DEFAULT_EVALUATION_PROMPT = "\nEvaluate the following user input for safety and appropriateness. Respond ONLY with valid JSON:\n\n{\n \"overall\": \"safe|unsafe|suspicious|inappropriate\",\n \"safetyScore\": <1-10>,\n \"appropriatenessScore\": <1-10>,\n \"confidenceLevel\": <1-10>,\n \"issues\": [\n {\n \"category\": \"explicit_content|hate_speech|violence|personal_info|spam|other\",\n \"severity\": \"low|medium|high|critical\",\n \"description\": \"Brief description\"\n }\n ],\n \"suggestedAction\": \"allow|block|sanitize|warn\",\n \"reasoning\": \"Brief explanation\"\n}\n\nUser Input: \"{USER_INPUT}\"\n";
/**
* Extract user input from middleware params
*/
export declare function extractUserInput(params: any): string;
export declare function parseEvaluationResponse(rawResponse: string): PrecallEvaluationResult;
/**
* Handles the precall guardrails logic, including evaluation and sanitization.
* @param params - The language model call options.
* @param config - The precall evaluation configuration.
* @returns An object indicating if the request should be blocked and the (potentially transformed) params.
*/
export declare function handlePrecallGuardrails(params: any, config: PrecallEvaluationConfig): Promise<{
shouldBlock: boolean;
transformedParams: any;
}>;
/**
* Perform precall evaluation of user input using AI models
*/
export declare function performPrecallEvaluation(config: PrecallEvaluationConfig, userInput: string): Promise<PrecallEvaluationResult>;
export declare function applyEvaluationActions(evaluation: PrecallEvaluationResult, config: PrecallEvaluationConfig, userInput: string): EvaluationActionResult;
/**
* Apply parameter sanitization to request parameters
*/
export declare function applySanitization(params: any, sanitizedInput: string): any;
export declare function escapeRegExp(string: string): string;
export declare function createBlockedResponse(): {
text: string;
usage: {
promptTokens: number;
completionTokens: number;
};
finishReason: "stop";
warnings: never[];
rawCall: {
rawPrompt: null;
rawSettings: {};
};
};
export declare function createBlockedStream(): ReadableStream<any>;
/**
* Apply content filtering using bad words configuration
* Handles both regex patterns and string lists with proper priority
* @param text The text to filter
* @param badWordsConfig Bad words configuration
* @param context Optional context for logging (e.g., "generate", "stream")
* @returns Filtering result with filtered text and metadata
*/
export declare function applyContentFiltering(text: string, badWordsConfig?: BadWordsConfig, context?: string): ContentFilteringResult;