@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
TypeScript
/**
* 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>;