Interface: PipelineLoopConfig<TInput>
Defined in: packages/core/src/pipeline/types.ts:73
Configuration for iterative loop step. Loop iterates until condition returns false, maintaining the same type.
Example
const config: PipelineLoopConfig<ContentData> = {
condition: (result, state) => result.qualityScore < 8 && state.iteration < 5,
body: improveContent,
maxIterations: 5
};
Type Parameters
TInput
TInput
Input/output type (must remain same through iterations)
Properties
body
body:
Processable<TInput,TInput> | ((input) =>TInput|Promise<TInput>)
Defined in: packages/core/src/pipeline/types.ts:81
Processor to execute each iteration. Must return same type as input.
condition
condition: (
result,state) =>boolean|Promise<boolean>
Defined in: packages/core/src/pipeline/types.ts:78
Condition to continue looping. Receives current result and loop state. Returns true to continue, false to stop.
Parameters
result
TInput
state
Returns
boolean | Promise<boolean>
maxDuration?
optionalmaxDuration?:number
Defined in: packages/core/src/pipeline/types.ts:87
Maximum duration in milliseconds for unbounded loops
maxIterations?
optionalmaxIterations?:number
Defined in: packages/core/src/pipeline/types.ts:84
Maximum number of iterations allowed. Can be Infinity with maxDuration.
onIteration?
optionalonIteration?: (result,state) =>void|Promise<void>
Defined in: packages/core/src/pipeline/types.ts:90
Callback invoked after each iteration
Parameters
result
TInput
state
Returns
void | Promise<void>
onMessage?
optionalonMessage?: (result,ctx) =>void|Promise<void>
Defined in: packages/core/src/pipeline/types.ts:96
Callback for message events
Parameters
result
TInput
ctx
Returns
void | Promise<void>
onReasoning?
optionalonReasoning?: (result,ctx) =>void|Promise<void>
Defined in: packages/core/src/pipeline/types.ts:99
Callback for reasoning events
Parameters
result
TInput
ctx
Returns
void | Promise<void>
onToolCall?
optionalonToolCall?: (result,ctx) =>void|Promise<void>
Defined in: packages/core/src/pipeline/types.ts:93
Callback for tool call events
Parameters
result
TInput
ctx
Returns
void | Promise<void>
typeField?
optionaltypeField?:string
Defined in: packages/core/src/pipeline/types.ts:102
Field name to extract type from result (default: 'type')
verbose?
optionalverbose?:boolean
Defined in: packages/core/src/pipeline/types.ts:105
Enable verbose logging