rulvar API reference / @rulvar/core / AgentOpts
Interface: AgentOpts<S>
Defined in: packages/core/src/engine/ctx.ts:152
Per-spawn options. The identity split is normative: agentType, model/routing/effort (the requested modelSpec), schema (schemaHash), and key enter the content key; everything else is policy or telemetry and never re-keys entries. Fields whose machinery lands later (tools, isolation, escalation, lineage, ladder, retry) arrive with their milestones.
Type Parameters
| Type Parameter | Default type |
|---|---|
S extends SchemaSpec | SchemaSpec |
Properties
| Property | Type | Description | Defined in |
|---|---|---|---|
agentType? | string | - | packages/core/src/engine/ctx.ts:153 |
approach? | string | Approach slug entering approachSig, normalized by the engine (DEF-3). | packages/core/src/engine/ctx.ts:201 |
effort? | Effort | Canonical effort, part of identity. | packages/core/src/engine/ctx.ts:167 |
escalation? | EscalationOptions | Opt-in; without it 'escalated' is physically unproducible. | packages/core/src/engine/ctx.ts:191 |
estCost? | number | Admission reserve hint (USD). | packages/core/src/engine/ctx.ts:203 |
fallback? | FallbackField | The degenerate fallback (M4-T04): an agent-level second attempt on model when the terminal matches on; one journaled decision entry; the fallback attempt is a NEW content key. | packages/core/src/engine/ctx.ts:185 |
isolation? | IsolationSpec | The RESOLVED value enters identity; worktree needs defaults.isolation. | packages/core/src/engine/ctx.ts:173 |
key? | string | Explicit discriminator; replaces the prompt in the content key. | packages/core/src/engine/ctx.ts:175 |
label? | string | Telemetry only. | packages/core/src/engine/ctx.ts:209 |
limits? | UsageLimits | Merged over profile and engine limits. | packages/core/src/engine/ctx.ts:205 |
lineage? | SpawnLineageOpt | Lineage continuation (DEF-3): declares this spawn a rebirth of an existing logical task; absence means a new lineage root. Never enters the content key. Declaring lineage or approach journals a spawn-admission decision entry BEFORE dispatch, carrying the engine-minted LTID and the computed approach signature. | packages/core/src/engine/ctx.ts:199 |
memoizeOutcome? | boolean | Journaled as a policy field from day one; consumed by the M2 predicate. | packages/core/src/engine/ctx.ts:189 |
model? | ModelSpec | Overrides all roles at once. | packages/core/src/engine/ctx.ts:163 |
onError? | "null" | "throw" | - | packages/core/src/engine/ctx.ts:177 |
replay? | "cache" | "never" | Per-call replay mode; default scoped forward-matching. | packages/core/src/engine/ctx.ts:187 |
result? | "value" | "full" | - | packages/core/src/engine/ctx.ts:206 |
retry? | RetryPolicy | Transport RetryPolicy under the journal (M4-T05). | packages/core/src/engine/ctx.ts:179 |
role? | "orchestrate" | "plan" | "loop" | The primary invocation role of the agent's tool loop; default 'loop'. The plan and orchestrate entry points set it so the resolution chain, role effort defaults, quality floors, and cost buckets see the right role; extract/finalize/summarize stay trigger-derived and are never settable here (M6-T05 amendment). | packages/core/src/engine/ctx.ts:161 |
routing? | Partial<Record<InvocationRole, ModelSpec>> | Per-role, wins over profile.routing. | packages/core/src/engine/ctx.ts:165 |
schema? | S | schemaHash enters identity. | packages/core/src/engine/ctx.ts:169 |
stream? | boolean | Enables agent:stream delta events. | packages/core/src/engine/ctx.ts:211 |
tools? | ToolsOption | toolsetHash enters identity; wins over profile.tools. | packages/core/src/engine/ctx.ts:171 |