Skip to content

rulvar API reference


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 ParameterDefault type
S extends SchemaSpecSchemaSpec

Properties

PropertyTypeDescriptionDefined in
agentType?string-packages/core/src/engine/ctx.ts:153
approach?stringApproach slug entering approachSig, normalized by the engine (DEF-3).packages/core/src/engine/ctx.ts:201
effort?EffortCanonical effort, part of identity.packages/core/src/engine/ctx.ts:167
escalation?EscalationOptionsOpt-in; without it 'escalated' is physically unproducible.packages/core/src/engine/ctx.ts:191
estCost?numberAdmission reserve hint (USD).packages/core/src/engine/ctx.ts:203
fallback?FallbackFieldThe 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?IsolationSpecThe RESOLVED value enters identity; worktree needs defaults.isolation.packages/core/src/engine/ctx.ts:173
key?stringExplicit discriminator; replaces the prompt in the content key.packages/core/src/engine/ctx.ts:175
label?stringTelemetry only.packages/core/src/engine/ctx.ts:209
limits?UsageLimitsMerged over profile and engine limits.packages/core/src/engine/ctx.ts:205
lineage?SpawnLineageOptLineage 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?booleanJournaled as a policy field from day one; consumed by the M2 predicate.packages/core/src/engine/ctx.ts:189
model?ModelSpecOverrides 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?RetryPolicyTransport 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?SschemaHash enters identity.packages/core/src/engine/ctx.ts:169
stream?booleanEnables agent:stream delta events.packages/core/src/engine/ctx.ts:211
tools?ToolsOptiontoolsetHash enters identity; wins over profile.tools.packages/core/src/engine/ctx.ts:171