UNPKG

@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

56 lines (55 loc) 2.56 kB
/** * workflow/core/ensembleExecutor.ts * Parallel execution engine for ensemble workflows */ import type { EnsembleResponse, ExecutionConfig, ModelGroup, EnsembleExecutionResult, ExecuteEnsembleOptions } from "../../types/index.js"; /** * Execute ensemble of models in parallel * @param options - Execution options including prompt and models * @returns Ensemble execution result with all responses and metrics */ export declare function executeEnsemble(options: ExecuteEnsembleOptions): Promise<EnsembleExecutionResult>; /** * Filter successful responses from ensemble result * @param responses - Array of ensemble responses * @returns Array of successful responses */ export declare function getSuccessfulResponses(responses: EnsembleResponse[]): EnsembleResponse[]; /** * Get response by model identifier * @param responses - Array of ensemble responses * @param provider - Provider name * @param model - Model name * @returns Response for specified model or undefined */ export declare function getResponseByModel(responses: EnsembleResponse[], provider: string, model: string): EnsembleResponse | undefined; /** * Calculate total tokens used across all responses * @param responses - Array of ensemble responses * @returns Total token count */ export declare function calculateTotalTokens(responses: EnsembleResponse[]): number; /** * Sort responses by response time * @param responses - Array of ensemble responses * @param ascending - Sort in ascending order (default: true) * @returns Sorted array of responses */ export declare function sortByResponseTime(responses: EnsembleResponse[], ascending?: boolean): EnsembleResponse[]; /** * Get fastest successful response * @param responses - Array of ensemble responses * @returns Fastest successful response or undefined */ export declare function getFastestResponse(responses: EnsembleResponse[]): EnsembleResponse | undefined; /** * Execute model groups sequentially (layers) * Each group executes according to its executionStrategy * @param groups - Array of model groups to execute * @param prompt - User prompt * @param executionConfig - Execution configuration * @param systemPrompt - Direct system prompt override * @param workflowDefaultSystemPrompt - Workflow-level default system prompt * @returns Ensemble execution result with all responses */ export declare function executeModelGroups(groups: ModelGroup[], prompt: string, _executionConfig?: ExecutionConfig, systemPrompt?: string, workflowDefaultSystemPrompt?: string): Promise<EnsembleExecutionResult>;