@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
62 lines (61 loc) • 2.11 kB
TypeScript
/**
* Workflow Runner - Main Orchestrator
* ===================================
*
* Coordinates the complete workflow execution pipeline:
* 1. Model execution (layer-based or flat)
* 2. Judge scoring with hierarchical prompts
* 3. Response conditioning (stub)
* 4. Metrics collection
* 5. Result assembly
*
* @module workflow/core/workflowRunner
*/
import type { RunWorkflowOptions, WorkflowConfig, WorkflowResult, WorkflowStreamChunk } from "../../types/index.js";
/**
* Execute a complete workflow
*
* This is the main entry point that orchestrates:
* - Model execution (respects modelGroups or flat models)
* - Judge scoring (with hierarchical prompt resolution)
* - Response conditioning (currently stub)
* - Metrics calculation
* - Result assembly
*
* @param config - Validated workflow configuration
* @param options - Execution options including prompt
* @returns Complete workflow result with scores and metrics
*
* @example
* ```typescript
* const result = await runWorkflow(config, {
* prompt: 'Explain quantum entanglement',
* timeout: 30000,
* verbose: true,
* });
*
* console.log('Best response:', result.content);
* console.log('Score:', result.score);
* ```
*/
export declare function runWorkflow(config: WorkflowConfig, options: RunWorkflowOptions): Promise<WorkflowResult>;
/**
* Execute workflow with progressive streaming support
* Yields preliminary response (first completed model) and final synthesized response
*
* @param config - Validated workflow configuration
* @param options - Execution options with streaming enabled
* @returns AsyncGenerator yielding preliminary and final responses
*
* @example
* ```typescript
* for await (const chunk of runWorkflowWithStreaming(config, options)) {
* if (chunk.type === 'preliminary') {
* console.log('Fast response:', chunk.content);
* } else {
* console.log('Final synthesis:', chunk.content);
* }
* }
* ```
*/
export declare function runWorkflowWithStreaming(config: WorkflowConfig, options: RunWorkflowOptions): AsyncGenerator<WorkflowStreamChunk, void, undefined>;