Documentation / @agentick/kernel / 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 ​
getChildNodes() ​
getChildNodes(
parentPid):ProcedureNode[]
Defined in: kernel/src/procedure-graph.ts:207
Get child procedure nodes
Parameters ​
parentPid ​
string
Returns ​
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 ​
updateStatus() ​
updateStatus(
pid,status,error?):void
Defined in: kernel/src/procedure-graph.ts:231
Update procedure status
Parameters ​
pid ​
string
status ​
error? ​
Error
Returns ​
void