Class: MissionBuilder
Defined in: packages/agentos/src/orchestration/builders/MissionBuilder.ts:68
Fluent builder that collects mission configuration and validates it at .compile() time.
All setter methods return this for chaining. No compilation work is performed until
.compile() is called, ensuring fast construction of mission objects at module load time.
Constructors
Constructor
new MissionBuilder(
name):MissionBuilder
Defined in: packages/agentos/src/orchestration/builders/MissionBuilder.ts:101
Parameters
name
string
Display name for this mission; passed through to the compiled graph.
Returns
MissionBuilder
Methods
anchor()
anchor(
id,node,constraints):this
Defined in: packages/agentos/src/orchestration/builders/MissionBuilder.ts:191
Declare an anchor node that will be spliced into the execution order.
Anchors let callers inject pre-built GraphNode objects (e.g. specialised tool
invocations, human-in-the-loop checkpoints, or validation guardrails) at precise
positions within the phase-ordered plan without modifying the planner output.
Parameters
id
string
Unique node id assigned to the anchor in the compiled graph.
node
Pre-built GraphNode (from gmiNode, toolNode, etc.).
constraints
Placement constraints: phase, after / before ordering.
after?
any
Insert the anchor after this node id (sibling anchor id or plan step id). When the referenced id is not found the anchor is appended to the phase tail.
before?
any
Insert the anchor before this node id. Currently reserved for future use; has no effect in this compiler version.
phase?
"gather" | "process" | "validate" | "deliver"
Execution phase the anchor belongs to. Phases are ordered:
gather → process → validate → deliver.
required
boolean
When true the compiler will throw if the anchor cannot be placed.
Returns
this
autonomy()
autonomy(
mode):this
Defined in: packages/agentos/src/orchestration/builders/MissionBuilder.ts:213
Set the autonomy mode for this mission.
autonomous— all expansion gates auto-approve. Only stops at hard caps.guided— every expansion requires explicit user approval.guardrailed— auto-approves below configurable thresholds, asks above.
Parameters
mode
Autonomy mode.
"autonomous" | "guided" | "guardrailed"
Returns
this
branches()
branches(
count):this
Defined in: packages/agentos/src/orchestration/builders/MissionBuilder.ts:264
Set the number of Tree of Thought branches to explore during planning.
Parameters
count
number
Branch count (default: 3, max: 3 for linear/parallel/hierarchical).
Returns
this
compile()
compile(
options?):CompiledMission
Defined in: packages/agentos/src/orchestration/builders/MissionBuilder.ts:310
Validate configuration and compile this mission into a CompiledMission.
Required fields: input, goal, returns, planner.
Throws with a descriptive message if any required field is missing.
Parameters
options?
Optional compilation overrides.
checkpointStore?
Custom checkpoint store; defaults to InMemoryCheckpointStore.
deps?
NodeExecutorDeps
Runtime-execution dependencies forwarded to the underlying
NodeExecutor. Without these, the matching node types fail with
success: false. See WorkflowRuntimeDeps.
Returns
A CompiledMission ready to invoke(), stream(), or explain().
Throws
When required builder fields are missing.
costCap()
costCap(
amount):this
Defined in: packages/agentos/src/orchestration/builders/MissionBuilder.ts:244
Set the maximum cost in USD before execution pauses for approval.
Parameters
amount
number
Cost cap in USD.
Returns
this
executionModel()
executionModel(
model):this
Defined in: packages/agentos/src/orchestration/builders/MissionBuilder.ts:290
Set the default model used for agent node execution.
Can differ from the planner model — e.g., use Opus for planning but GPT-5.4 for actual agent output generation.
Parameters
model
string
Model identifier string (e.g., 'gpt-5.4').
Returns
this
goal()
goal(
template):this
Defined in: packages/agentos/src/orchestration/builders/MissionBuilder.ts:133
Set the goal template for this mission.
The template is a free-form string that describes what the mission should achieve.
It may include {{variable}} placeholders. The current stub compiler passes
the template through verbatim into generated node instructions; future planner
integrations may interpolate it from runtime input.
Example: 'Research {{topic}} and produce a concise summary'
Parameters
template
string
Goal prompt template string.
Returns
this
input()
input(
schema):this
Defined in: packages/agentos/src/orchestration/builders/MissionBuilder.ts:116
Declare the input schema for this mission.
Accepts a Zod schema object or a plain JSON-Schema Record<string, unknown>.
The schema is stored in the compiled graph's stateSchema.input field and used
by the runtime for optional input validation.
Parameters
schema
any
Zod or JSON-Schema object describing the expected input payload.
Returns
this
maxAgents()
maxAgents(
count):this
Defined in: packages/agentos/src/orchestration/builders/MissionBuilder.ts:254
Set the maximum number of concurrent agents.
Parameters
count
number
Agent count cap.
Returns
this
planner()
planner(
config):this
Defined in: packages/agentos/src/orchestration/builders/MissionBuilder.ts:161
Configure planner hints recorded on the mission config.
Today the compiler emits a fixed stub plan regardless of strategy. These settings are still preserved so planner-backed mission compilation can adopt them without changing the authoring API.
Parameters
config
Planner settings including strategy name, step budget, and per-node iteration and tool-parallelism caps.
maxIterationsPerNode?
number
Maximum LLM iterations a single gmi node may consume per invocation.
Forwarded to gmiNode as maxInternalIterations.
maxSteps
number
Hard cap on the total number of plan steps the planner may emit.
parallelTools?
boolean
When true, gmi nodes are configured to issue multiple tool calls per turn.
Forwarded to gmiNode as parallelTools.
plan?
Pre-generated plan that bypasses both style template selection and
the goal classifier. When set, the compiler validates the plan shape
(non-empty, unique step ids, known actions, valid phases) and uses
the steps directly to build the graph. Intended for callers that
generate plans externally — e.g. wunderland's opt-in
planner.style: 'llm' mode that asks an LLM to decompose the goal
into steps at YAML compile time.
Validation is intentionally strict: invalid plans throw at compile time rather than producing a partially-correct graph that fails mid-execution.
strategy
string
Routing/planning strategy identifier (e.g. 'linear', 'react', 'tree-of-thought').
style?
"research" | "creative" | "qa"
Optional plan-template selector. Picks which fixed stub template the
compiler emits. Defaults to 'research' (gather → process → deliver →
refine) which matches the prior behaviour. Other values:
'qa'— short Q&A plan (research-quick → answer)'creative'— brainstorm → develop-concept → produce-artifact → polish
The real PlanningEngine (Task 16+) will deprecate this in favour of
goal-driven plan generation; until then style lets users opt into a
less research-shaped graph for non-research goals.
Returns
this
plannerModel()
plannerModel(
model):this
Defined in: packages/agentos/src/orchestration/builders/MissionBuilder.ts:277
Set the model used for Tree of Thought planning phases.
Use a strong reasoning model here (e.g., claude-opus-4-6, gpt-4o) for better plan quality. Defaults to the same model as execution if not set.
Parameters
model
string
Model identifier string (e.g., 'claude-opus-4-6').
Returns
this
policy()
policy(
config):this
Defined in: packages/agentos/src/orchestration/builders/MissionBuilder.ts:175
Apply mission-level policy overrides.
Policies declared here are applied to all compiled nodes unless a node already carries its own policy declaration. This is the preferred mechanism for setting blanket guardrails, memory consistency modes, or persona settings across a mission.
Parameters
config
Policy configuration object.
discovery?
{ fallback?: string; kind?: string; }
discovery.fallback?
string
discovery.kind?
string
guardrails?
string[]
Guardrail identifiers applied as output guardrails on every node.
memory?
{ consistency?: MemoryConsistencyMode; read?: any; write?: any; }
memory.consistency?
memory.read?
any
memory.write?
any
personality?
{ adaptStyle?: boolean; mood?: string; traitRouting?: boolean; }
personality.adaptStyle?
boolean
personality.mood?
string
personality.traitRouting?
boolean
Returns
this
providerStrategy()
providerStrategy(
strategy,options?):this
Defined in: packages/agentos/src/orchestration/builders/MissionBuilder.ts:224
Set the provider assignment strategy for this mission.
Parameters
strategy
string
Strategy name: best, cheapest, balanced, explicit, mixed.
options?
Optional explicit assignments and fallback strategy.
assignments?
Record<string, { model?: string; provider: string; }>
fallback?
string
Returns
this
returns()
returns(
schema):this
Defined in: packages/agentos/src/orchestration/builders/MissionBuilder.ts:146
Declare the output (return) schema for this mission.
Accepts a Zod schema object or a plain JSON-Schema Record<string, unknown>.
The schema is stored in the compiled graph's stateSchema.artifacts field.
Parameters
schema
any
Zod or JSON-Schema object describing the expected artifact payload.
Returns
this