Skip to content

Documentation / @agentick/core / ProcedureGraph

Class: ProcedureGraph ​

Defined in: kernel/src/procedure-graph.ts:123

Procedure graph for tracking parent-child relationships

Constructors ​

Constructor ​

new ProcedureGraph(): ProcedureGraph

Returns ​

ProcedureGraph

Methods ​

clear() ​

clear(): void

Defined in: kernel/src/procedure-graph.ts:255

Clear all procedures

Returns ​

void


get() ​

get(pid): ProcedureNode | undefined

Defined in: kernel/src/procedure-graph.ts:177

Get procedure node by PID

Parameters ​

pid ​

string

Returns ​

ProcedureNode | undefined


getAllNodes() ​

getAllNodes(): ProcedureNode[]

Defined in: kernel/src/procedure-graph.ts:278

Get all procedure nodes

Returns ​

ProcedureNode[]


getChildNodes() ​

getChildNodes(parentPid): ProcedureNode[]

Defined in: kernel/src/procedure-graph.ts:207

Get child procedure nodes

Parameters ​

parentPid ​

string

Returns ​

ProcedureNode[]


getChildren() ​

getChildren(parentPid): string[]

Defined in: kernel/src/procedure-graph.ts:199

Get child procedure PIDs

Parameters ​

parentPid ​

string

Returns ​

string[]


getCount() ​

getCount(): number

Defined in: kernel/src/procedure-graph.ts:285

Get count of procedures

Returns ​

number


getParent() ​

getParent(pid): string | undefined

Defined in: kernel/src/procedure-graph.ts:184

Get parent PID

Parameters ​

pid ​

string

Returns ​

string | undefined


getParentNode() ​

getParentNode(pid): ProcedureNode | undefined

Defined in: kernel/src/procedure-graph.ts:191

Get parent node

Parameters ​

pid ​

string

Returns ​

ProcedureNode | undefined


getRoot() ​

getRoot(): ProcedureNode | undefined

Defined in: kernel/src/procedure-graph.ts:264

Get the root procedure node (O(1) lookup)

Returns ​

ProcedureNode | undefined


getRootPid() ​

getRootPid(): string | undefined

Defined in: kernel/src/procedure-graph.ts:271

Get the root procedure PID

Returns ​

string | undefined


hasAncestor() ​

hasAncestor(pid, predicate): boolean

Defined in: kernel/src/procedure-graph.ts:297

Check if any ancestor (parent chain) matches a predicate Traverses up the parent chain starting from the given PID

Parameters ​

pid ​

string

Starting procedure PID

predicate ​

(node) => boolean

Function to test each ancestor node

Returns ​

boolean

True if any ancestor matches, false otherwise


hasAncestorWithName() ​

hasAncestorWithName(pid, name): boolean

Defined in: kernel/src/procedure-graph.ts:334

Check if any ancestor has a specific procedure name Useful for determining if a procedure was called by Engine vs direct application call

Parameters ​

pid ​

string

Starting procedure PID

name ​

string

Procedure name to search for (e.g., 'engine:execute', 'engine:stream')

Returns ​

boolean

True if any ancestor has the specified name


propagateMetrics() ​

propagateMetrics(childPid): void

Defined in: kernel/src/procedure-graph.ts:216

Propagate metrics from child to parent

Parameters ​

childPid ​

string

Returns ​

void


register() ​

register(pid, parentPid?, name?, metadata?, executionId?, isExecutionBoundary?, executionType?): ProcedureNode

Defined in: kernel/src/procedure-graph.ts:139

Register a new procedure

Parameters ​

pid ​

string

Procedure ID

parentPid? ​

string

Parent procedure ID (undefined for root)

name? ​

string

Procedure name (e.g., 'model:generate', 'tool:run')

metadata? ​

Record<string, any>

Optional metadata

executionId? ​

string

Execution ID this procedure belongs to

isExecutionBoundary? ​

boolean

Whether this procedure is an execution entry point

executionType? ​

string

Type of execution (derived from procedure name prefix)

Returns ​

ProcedureNode


updateStatus() ​

updateStatus(pid, status, error?): void

Defined in: kernel/src/procedure-graph.ts:231

Update procedure status

Parameters ​

pid ​

string

status ​

ProcedureStatus

error? ​

Error

Returns ​

void

Released under the ISC License.