UNPKG

selvedge

Version:

A type-safe, declarative DSL for building robust, composable LLM prompts and programs in TypeScript. Selvedge simplifies prompt engineering, structured output, and multi-model orchestration.

45 lines 2.03 kB
import { FlowPipeline, FlowStep, FlowContextStep, FlowContextPipeline } from './types'; /** * Create a flow pipeline from a series of steps * @param steps Steps to include in the pipeline * @returns A flow pipeline */ export declare function flow<TInput, TOutput>(...steps: Array<FlowStep<any, any>>): FlowPipeline<TInput, TOutput>; /** * Create a flow pipeline that maintains context between steps * @param steps Steps to include in the pipeline * @returns A flow pipeline with context */ export declare function flowWithContext<TInput, TOutput>(...steps: Array<FlowContextStep<any, any>>): FlowContextPipeline<TInput, TOutput>; /** * Create a validation step * @param validator Function to validate the input * @returns A flow step that validates input */ export declare function validate<T>(validator: (input: T) => T | Promise<T>): FlowStep<T, T>; /** * Create a filter step * @param predicate Function to determine if input should be filtered * @returns A flow step that filters input */ export declare function filter<T>(predicate: (input: T) => boolean | Promise<boolean>): FlowStep<T, T>; /** * Create a parallel execution step * @param operations Map of operations to execute in parallel * @returns A flow step that executes operations in parallel */ export declare function parallel<TInput, TOutput extends Record<string, any>>(operations: Record<string, (input: TInput) => any>): FlowStep<TInput, TOutput>; /** * Create a transformation step * @param transformer Function to transform the input * @returns A flow step that transforms input */ export declare function transform<TInput, TOutput>(transformer: (input: TInput) => TOutput | Promise<TOutput>): FlowStep<TInput, TOutput>; /** * Load a flow from storage * @param name Name of the flow to load * @param version Optional version to load * @returns The loaded flow pipeline */ export declare function loadFlow<TInput, TOutput>(name: string, version?: string): Promise<FlowPipeline<TInput, TOutput>>; //# sourceMappingURL=index.d.ts.map