@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
127 lines (126 loc) • 3.07 kB
TypeScript
/**
* @file Pipeline Builder
* Fluent builder API for creating evaluation pipelines
*/
import type { AggregationMethod, PipelineConfig, ScoreResult, ScorerConfig } from "../../types/index.js";
import { EvaluationPipeline } from "./evaluationPipeline.js";
/**
* Fluent builder for creating evaluation pipelines
*/
export declare class PipelineBuilder {
private _name?;
private _description?;
private _scorers;
private _aggregation;
private _passThreshold;
private _executionMode;
private _stopOnFailure;
private _timeout?;
private _requiredScorers;
constructor(name?: string);
/**
* Create a new pipeline builder
*/
static create(name?: string): PipelineBuilder;
/**
* Set pipeline name
*/
name(name: string): this;
/**
* Set pipeline description
*/
description(desc: string): this;
/**
* Add a scorer by ID
*/
addScorer(id: string, config?: ScorerConfig): this;
/**
* Add multiple scorers
*/
addScorers(...ids: string[]): this;
/**
* Add a scorer and mark it as required
*/
requireScorer(id: string, config?: ScorerConfig): this;
/**
* Set aggregation method
*/
aggregateWith(method: AggregationMethod): this;
/**
* Set weights for weighted aggregation
*/
withWeights(weights: Record<string, number>): this;
/**
* Set custom aggregation function
*/
customAggregation(fn: (scores: ScoreResult[]) => number): this;
/**
* Set pass/fail threshold
*/
passThreshold(threshold: number): this;
/**
* Run scorers in parallel (default)
*/
parallel(): this;
/**
* Run scorers sequentially
*/
sequential(): this;
/**
* Stop pipeline on first failure
*/
stopOnFailure(): this;
/**
* Continue pipeline on failures (default)
*/
continueOnFailure(): this;
/**
* Set pipeline timeout
*/
timeout(ms: number): this;
/**
* Build the pipeline configuration
*/
buildConfig(): PipelineConfig;
/**
* Build the pipeline (not initialized)
*/
build(): EvaluationPipeline;
/**
* Build and initialize the pipeline
*/
buildAndInitialize(): Promise<EvaluationPipeline>;
}
/**
* Quick pipeline builder factory
*/
export declare const Pipelines: {
/**
* Create a new pipeline builder
*/
create: (name?: string) => PipelineBuilder;
/**
* Create a safety-focused pipeline
*/
safety: () => PipelineBuilder;
/**
* Create a RAG evaluation pipeline
*/
rag: () => PipelineBuilder;
/**
* Create a quality-focused pipeline
*/
quality: () => PipelineBuilder;
/**
* Create a comprehensive pipeline with all scorers
*/
comprehensive: () => PipelineBuilder;
/**
* Create a minimal fast pipeline
*/
minimal: () => PipelineBuilder;
/**
* Create a summarization evaluation pipeline
*/
summarization: () => PipelineBuilder;
};