AIDK API Reference / aidk-kernel / ProcedureGraph
Class: ProcedureGraph ​
Defined in: packages/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: packages/kernel/src/procedure-graph.ts:255
Clear all procedures
Returns ​
void
get() ​
get(pid: string): ProcedureNode | undefined;Defined in: packages/kernel/src/procedure-graph.ts:177
Get procedure node by PID
Parameters ​
| Parameter | Type |
|---|---|
pid | string |
Returns ​
ProcedureNode | undefined
getAllNodes() ​
getAllNodes(): ProcedureNode[];Defined in: packages/kernel/src/procedure-graph.ts:278
Get all procedure nodes
Returns ​
getChildNodes() ​
getChildNodes(parentPid: string): ProcedureNode[];Defined in: packages/kernel/src/procedure-graph.ts:207
Get child procedure nodes
Parameters ​
| Parameter | Type |
|---|---|
parentPid | string |
Returns ​
getChildren() ​
getChildren(parentPid: string): string[];Defined in: packages/kernel/src/procedure-graph.ts:199
Get child procedure PIDs
Parameters ​
| Parameter | Type |
|---|---|
parentPid | string |
Returns ​
string[]
getCount() ​
getCount(): number;Defined in: packages/kernel/src/procedure-graph.ts:285
Get count of procedures
Returns ​
number
getParent() ​
getParent(pid: string): string | undefined;Defined in: packages/kernel/src/procedure-graph.ts:184
Get parent PID
Parameters ​
| Parameter | Type |
|---|---|
pid | string |
Returns ​
string | undefined
getParentNode() ​
getParentNode(pid: string): ProcedureNode | undefined;Defined in: packages/kernel/src/procedure-graph.ts:191
Get parent node
Parameters ​
| Parameter | Type |
|---|---|
pid | string |
Returns ​
ProcedureNode | undefined
getRoot() ​
getRoot(): ProcedureNode | undefined;Defined in: packages/kernel/src/procedure-graph.ts:264
Get the root procedure node (O(1) lookup)
Returns ​
ProcedureNode | undefined
getRootPid() ​
getRootPid(): string | undefined;Defined in: packages/kernel/src/procedure-graph.ts:271
Get the root procedure PID
Returns ​
string | undefined
hasAncestor() ​
hasAncestor(pid: string, predicate: (node: ProcedureNode) => boolean): boolean;Defined in: packages/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 ​
| Parameter | Type | Description |
|---|---|---|
pid | string | Starting procedure PID |
predicate | (node: ProcedureNode) => boolean | Function to test each ancestor node |
Returns ​
boolean
True if any ancestor matches, false otherwise
hasAncestorWithName() ​
hasAncestorWithName(pid: string, name: string): boolean;Defined in: packages/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 ​
| Parameter | Type | Description |
|---|---|---|
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: string): void;Defined in: packages/kernel/src/procedure-graph.ts:216
Propagate metrics from child to parent
Parameters ​
| Parameter | Type |
|---|---|
childPid | string |
Returns ​
void
register() ​
register(
pid: string,
parentPid?: string,
name?: string,
metadata?: Record<string, any>,
executionId?: string,
isExecutionBoundary?: boolean,
executionType?: string): ProcedureNode;Defined in: packages/kernel/src/procedure-graph.ts:139
Register a new procedure
Parameters ​
| Parameter | Type | Description |
|---|---|---|
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: string,
status: ProcedureStatus,
error?: Error): void;Defined in: packages/kernel/src/procedure-graph.ts:231
Update procedure status
Parameters ​
| Parameter | Type |
|---|---|
pid | string |
status | ProcedureStatus |
error? | Error |
Returns ​
void