Interface: StepConfig
Defined in: packages/agentos/src/orchestration/builders/WorkflowBuilder.ts:77
Configuration for a single workflow step node.
Exactly one of tool, gmi, human, extension, or subgraph must be provided
to specify the execution strategy. All remaining fields are optional policies.
Properties
discovery?
optionaldiscovery:DiscoveryPolicy
Defined in: packages/agentos/src/orchestration/builders/WorkflowBuilder.ts:100
Capability discovery policy applied before execution.
effectClass?
optionaleffectClass:"external"|"human"|"pure"|"read"|"write"
Defined in: packages/agentos/src/orchestration/builders/WorkflowBuilder.ts:116
Side-effect classification used by the runtime for scheduling decisions.
extension?
optionalextension:object
Defined in: packages/agentos/src/orchestration/builders/WorkflowBuilder.ts:94
Call a method on a registered extension.
extensionId
extensionId:
string
method
method:
string
gmi?
optionalgmi:object
Defined in: packages/agentos/src/orchestration/builders/WorkflowBuilder.ts:84
General Model Invocation config. executionMode is always overridden to
'single_turn' inside a workflow to keep execution deterministic.
executionMode?
optionalexecutionMode:"single_turn"
Ignored at runtime — always coerced to 'single_turn' by the workflow compiler.
instructions
instructions:
string
maxTokens?
optionalmaxTokens:number
Hard cap on LLM output tokens for this step.
guardrails?
optionalguardrails:GuardrailPolicy
Defined in: packages/agentos/src/orchestration/builders/WorkflowBuilder.ts:102
Declarative guardrail policy applied to input and/or output.
human?
optionalhuman:object
Defined in: packages/agentos/src/orchestration/builders/WorkflowBuilder.ts:92
Human-in-the-loop step; suspends the run until a human provides a response.
prompt
prompt:
string
memory?
optionalmemory:MemoryPolicy
Defined in: packages/agentos/src/orchestration/builders/WorkflowBuilder.ts:98
Memory read/write policy for this step.
onFailure?
optionalonFailure:"abort"|"skip"|"retry"
Defined in: packages/agentos/src/orchestration/builders/WorkflowBuilder.ts:106
What to do when the step fails.
outputAs?
optionaloutputAs:string
Defined in: packages/agentos/src/orchestration/builders/WorkflowBuilder.ts:126
Optional artifact key name. When set, this step's successful output
is promoted into state.artifacts[outputAs] (the value returned from
invoke()). When omitted, the step's output is promoted into
state.artifacts[<stepId>] by default. Use this to make your final
step populate a key that matches the shape of your .returns()
schema — e.g. step('publish', { tool: '...', outputAs: 'publishedTo' })
when .returns(z.object({ publishedTo: z.array(z.string()) })).
requiresApproval?
optionalrequiresApproval:boolean
Defined in: packages/agentos/src/orchestration/builders/WorkflowBuilder.ts:104
When true, execution suspends and waits for human approval before proceeding.
retryPolicy?
optionalretryPolicy:object
Defined in: packages/agentos/src/orchestration/builders/WorkflowBuilder.ts:108
Automatic retry configuration. Only used when onFailure is 'retry'.
backoff
backoff:
"exponential"|"linear"|"fixed"
backoffMs
backoffMs:
number
maxAttempts
maxAttempts:
number
subgraph?
optionalsubgraph:CompiledExecutionGraph
Defined in: packages/agentos/src/orchestration/builders/WorkflowBuilder.ts:96
Delegate to a previously compiled sub-workflow or agent graph.
timeout?
optionaltimeout:number
Defined in: packages/agentos/src/orchestration/builders/WorkflowBuilder.ts:114
Maximum wall-clock execution time in milliseconds.
tool?
optionaltool:string
Defined in: packages/agentos/src/orchestration/builders/WorkflowBuilder.ts:79
Name of a registered ITool to invoke.
voice?
optionalvoice:VoiceNodeConfig
Defined in: packages/agentos/src/orchestration/builders/WorkflowBuilder.ts:133
Voice pipeline node configuration.
When provided alongside executorConfig.type: 'voice', these settings are
forwarded to the VoiceNodeExecutor. Typically set via the voiceNode()
builder rather than directly through StepConfig.