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
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