Skip to content

rulvar API reference


rulvar API reference / @rulvar/core / Ctx

Interface: Ctx<P>

Defined in: packages/core/src/engine/ctx.ts:281

The canonical Ctx interface, M1 members.

Type Parameters

Type ParameterDefault type
P extends ErrorPolicy"strict"

Properties

PropertyTypeDefined in
budget{ remaining: Spend | null; spent: Spend; }packages/core/src/engine/ctx.ts:423
budget.remainingSpend | nullpackages/core/src/engine/ctx.ts:423
budget.spentSpendpackages/core/src/engine/ctx.ts:423

Methods

agent()

Call Signature

ts
agent(prompt): Promise<P extends "lenient" ? string | null : string>;

Defined in: packages/core/src/engine/ctx.ts:282

Parameters
ParameterType
promptstring
Returns

Promise&lt;P extends "lenient" ? string | null : string&gt;

Call Signature

ts
agent<S>(prompt, o): Promise<AgentResult<Out<S>>>;

Defined in: packages/core/src/engine/ctx.ts:283

Type Parameters
Type Parameter
S extends SchemaSpec
Parameters
ParameterType
promptstring
oAgentOpts&lt;S&gt; & { result: "full"; }
Returns

Promise&lt;AgentResult&lt;Out&lt;S&gt;&gt;&gt;

Call Signature

ts
agent<S>(prompt, o): Promise<Out<S>>;

Defined in: packages/core/src/engine/ctx.ts:287

Type Parameters
Type Parameter
S extends SchemaSpec
Parameters
ParameterType
promptstring
oAgentOpts&lt;S&gt; & { onError: "throw"; }
Returns

Promise&lt;Out&lt;S&gt;&gt;

Call Signature

ts
agent<S>(prompt, o?): Promise<P extends "lenient" ? Out<S> | null : Out<S>>;

Defined in: packages/core/src/engine/ctx.ts:291

Type Parameters
Type Parameter
S extends SchemaSpec
Parameters
ParameterType
promptstring
o?AgentOpts&lt;S&gt;
Returns

Promise&lt;P extends "lenient" ? Out&lt;S&gt; | null : Out&lt;S&gt;&gt;


awaitExternal()

ts
awaitExternal<T>(key, o?): Promise<T>;

Defined in: packages/core/src/engine/ctx.ts:418

Suspends this position on a journaled entry until an external resolution arrives. NO deadline in v1.

Type Parameters

Type ParameterDefault type
TJson

Parameters

ParameterType
keystring
o?{ prompt?: string; schema?: SchemaSpec; }
o.prompt?string
o.schema?SchemaSpec

Returns

Promise&lt;T&gt;


brief()

ts
brief(o): Promise<string>;

Defined in: packages/core/src/engine/ctx.ts:412

A journaled summarize invocation for handing an inheritable brief to a child (M6-T10): one agent-kind entry under role 'summarize', therefore free on replay.

Parameters

ParameterType
oBriefOpts

Returns

Promise&lt;string&gt;


log()

ts
log(
   level, 
   msg, 
   data?): void;

Defined in: packages/core/src/engine/ctx.ts:421

Parameters

ParameterType
level"error" | "debug" | "info" | "warn"
msgstring
data?Json

Returns

void


now()

ts
now(): number;

Defined in: packages/core/src/engine/ctx.ts:425

Returns

number


orchestrate()

ts
orchestrate(goal, opts?): Promise<unknown>;

Defined in: packages/core/src/engine/ctx.ts:405

Nests a dynamic orchestrator under the AdmissionController (M6-T07): one implementation with the top-level orchestrate(engine, goal, opts) surface, clamped by maxDepth and the parent budget account through the ordinary ctx.workflow admission.

Parameters

ParameterType
goalstring
opts?OrchestrateOptions

Returns

Promise&lt;unknown&gt;


parallel()

Call Signature

ts
parallel<T>(tasks, o?): Promise<T[]>;

Defined in: packages/core/src/engine/ctx.ts:296

Type Parameters
Type Parameter
T
Parameters
ParameterType
tasks() => Promise&lt;T&gt;[]
o?{ abortSiblings?: boolean; settle?: false; }
o.abortSiblings?boolean
o.settle?false
Returns

Promise&lt;T[]&gt;

Call Signature

ts
parallel<T>(tasks, o): Promise<Settled<T>[]>;

Defined in: packages/core/src/engine/ctx.ts:300

Type Parameters
Type Parameter
T
Parameters
ParameterType
tasks() => Promise&lt;T&gt;[]
o{ settle: true; }
o.settletrue
Returns

Promise&lt;Settled&lt;T&gt;[]&gt;


phase()

ts
phase<T>(name, fn): Promise<T>;

Defined in: packages/core/src/engine/ctx.ts:420

Type Parameters

Type Parameter
T

Parameters

ParameterType
namestring
fn() => Promise&lt;T&gt;

Returns

Promise&lt;T&gt;


pipeline()

Call Signature

ts
pipeline<I, A>(
   items, 
   s1, 
o): Promise<PipelineCollected<A>>;

Defined in: packages/core/src/engine/ctx.ts:302

Type Parameters
Type Parameter
I
A
Parameters
ParameterType
itemsI[]
s1Stage&lt;I, A&gt;
oCollectOpts
Returns

Promise&lt;PipelineCollected&lt;A&gt;&gt;

Call Signature

ts
pipeline<I, A>(
   items, 
   s1, 
o?): Promise<A[]>;

Defined in: packages/core/src/engine/ctx.ts:303

Type Parameters
Type Parameter
I
A
Parameters
ParameterType
itemsI[]
s1Stage&lt;I, A&gt;
o?PipelineOpts
Returns

Promise&lt;A[]&gt;

Call Signature

ts
pipeline<I, A, B>(
   items, 
   s1, 
   s2, 
o): Promise<PipelineCollected<B>>;

Defined in: packages/core/src/engine/ctx.ts:304

Type Parameters
Type Parameter
I
A
B
Parameters
ParameterType
itemsI[]
s1Stage&lt;I, A&gt;
s2Stage&lt;A, B&gt;
oCollectOpts
Returns

Promise&lt;PipelineCollected&lt;B&gt;&gt;

Call Signature

ts
pipeline<I, A, B>(
   items, 
   s1, 
   s2, 
o?): Promise<B[]>;

Defined in: packages/core/src/engine/ctx.ts:310

Type Parameters
Type Parameter
I
A
B
Parameters
ParameterType
itemsI[]
s1Stage&lt;I, A&gt;
s2Stage&lt;A, B&gt;
o?PipelineOpts
Returns

Promise&lt;B[]&gt;

Call Signature

ts
pipeline<I, A, B, C>(
   items, 
   s1, 
   s2, 
   s3, 
o): Promise<PipelineCollected<C>>;

Defined in: packages/core/src/engine/ctx.ts:311

Type Parameters
Type Parameter
I
A
B
C
Parameters
ParameterType
itemsI[]
s1Stage&lt;I, A&gt;
s2Stage&lt;A, B&gt;
s3Stage&lt;B, C&gt;
oCollectOpts
Returns

Promise&lt;PipelineCollected&lt;C&gt;&gt;

Call Signature

ts
pipeline<I, A, B, C>(
   items, 
   s1, 
   s2, 
   s3, 
o?): Promise<C[]>;

Defined in: packages/core/src/engine/ctx.ts:318

Type Parameters
Type Parameter
I
A
B
C
Parameters
ParameterType
itemsI[]
s1Stage&lt;I, A&gt;
s2Stage&lt;A, B&gt;
s3Stage&lt;B, C&gt;
o?PipelineOpts
Returns

Promise&lt;C[]&gt;

Call Signature

ts
pipeline<I, A, B, C, D>(
   items, 
   s1, 
   s2, 
   s3, 
   s4, 
o): Promise<PipelineCollected<D>>;

Defined in: packages/core/src/engine/ctx.ts:325

Type Parameters
Type Parameter
I
A
B
C
D
Parameters
ParameterType
itemsI[]
s1Stage&lt;I, A&gt;
s2Stage&lt;A, B&gt;
s3Stage&lt;B, C&gt;
s4Stage&lt;C, D&gt;
oCollectOpts
Returns

Promise&lt;PipelineCollected&lt;D&gt;&gt;

Call Signature

ts
pipeline<I, A, B, C, D>(
   items, 
   s1, 
   s2, 
   s3, 
   s4, 
o?): Promise<D[]>;

Defined in: packages/core/src/engine/ctx.ts:333

Type Parameters
Type Parameter
I
A
B
C
D
Parameters
ParameterType
itemsI[]
s1Stage&lt;I, A&gt;
s2Stage&lt;A, B&gt;
s3Stage&lt;B, C&gt;
s4Stage&lt;C, D&gt;
o?PipelineOpts
Returns

Promise&lt;D[]&gt;

Call Signature

ts
pipeline<I, A, B, C, D, E>(
   items, 
   s1, 
   s2, 
   s3, 
   s4, 
   s5, 
o): Promise<PipelineCollected<E>>;

Defined in: packages/core/src/engine/ctx.ts:341

Type Parameters
Type Parameter
I
A
B
C
D
E
Parameters
ParameterType
itemsI[]
s1Stage&lt;I, A&gt;
s2Stage&lt;A, B&gt;
s3Stage&lt;B, C&gt;
s4Stage&lt;C, D&gt;
s5Stage&lt;D, E&gt;
oCollectOpts
Returns

Promise&lt;PipelineCollected&lt;E&gt;&gt;

Call Signature

ts
pipeline<I, A, B, C, D, E>(
   items, 
   s1, 
   s2, 
   s3, 
   s4, 
   s5, 
o?): Promise<E[]>;

Defined in: packages/core/src/engine/ctx.ts:350

Type Parameters
Type Parameter
I
A
B
C
D
E
Parameters
ParameterType
itemsI[]
s1Stage&lt;I, A&gt;
s2Stage&lt;A, B&gt;
s3Stage&lt;B, C&gt;
s4Stage&lt;C, D&gt;
s5Stage&lt;D, E&gt;
o?PipelineOpts
Returns

Promise&lt;E[]&gt;

Call Signature

ts
pipeline<I, A, B, C, D, E, F>(
   items, 
   s1, 
   s2, 
   s3, 
   s4, 
   s5, 
   s6, 
o): Promise<PipelineCollected<F>>;

Defined in: packages/core/src/engine/ctx.ts:359

Type Parameters
Type Parameter
I
A
B
C
D
E
F
Parameters
ParameterType
itemsI[]
s1Stage&lt;I, A&gt;
s2Stage&lt;A, B&gt;
s3Stage&lt;B, C&gt;
s4Stage&lt;C, D&gt;
s5Stage&lt;D, E&gt;
s6Stage&lt;E, F&gt;
oCollectOpts
Returns

Promise&lt;PipelineCollected&lt;F&gt;&gt;

Call Signature

ts
pipeline<I, A, B, C, D, E, F>(
   items, 
   s1, 
   s2, 
   s3, 
   s4, 
   s5, 
   s6, 
o?): Promise<F[]>;

Defined in: packages/core/src/engine/ctx.ts:369

Type Parameters
Type Parameter
I
A
B
C
D
E
F
Parameters
ParameterType
itemsI[]
s1Stage&lt;I, A&gt;
s2Stage&lt;A, B&gt;
s3Stage&lt;B, C&gt;
s4Stage&lt;C, D&gt;
s5Stage&lt;D, E&gt;
s6Stage&lt;E, F&gt;
o?PipelineOpts
Returns

Promise&lt;F[]&gt;


random()

ts
random(key?): number;

Defined in: packages/core/src/engine/ctx.ts:426

Parameters

ParameterType
key?string

Returns

number


step()

ts
step<T>(
   label, 
   fn, 
o?): Promise<T>;

Defined in: packages/core/src/engine/ctx.ts:380

Type Parameters

Type Parameter
T extends Json

Parameters

ParameterType
labelstring
fn() => T | Promise&lt;T&gt;
o?{ deps?: Json[]; key?: string; }
o.deps?Json[]
o.key?string

Returns

Promise&lt;T&gt;


uuid()

ts
uuid(): string;

Defined in: packages/core/src/engine/ctx.ts:427

Returns

string


workflow()

Call Signature

ts
workflow<A, R>(
   wf, 
   args, 
o?): Promise<R>;

Defined in: packages/core/src/engine/ctx.ts:396

Runs a child workflow under the AdmissionController (M6-T06). The child gets a nested journal scope (registered name plus ordinal) and a hierarchical budget sub-account whose spend propagates to every ancestor. Structural limit violations throw the typed AdmissionRejectedError and never tear the run down; budget rejections throw BudgetExhaustedError. The string form resolves against the per-engine workflow registry and is the only form available inside the worker sandbox.

Type Parameters
Type Parameter
A
R
Parameters
ParameterType
wfWorkflow&lt;A, R&gt;
argsA
o?WorkflowCallOpts
Returns

Promise&lt;R&gt;

Call Signature

ts
workflow(
   name, 
   args?, 
o?): Promise<unknown>;

Defined in: packages/core/src/engine/ctx.ts:397

Parameters
ParameterType
namestring
args?Json
o?WorkflowCallOpts
Returns

Promise&lt;unknown&gt;