armature-agent-core 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/capabilities.d.ts +32 -0
- package/dist/capabilities.d.ts.map +1 -0
- package/dist/capabilities.js +4 -0
- package/dist/capabilities.js.map +1 -0
- package/dist/checkpoint.d.ts +48 -0
- package/dist/checkpoint.d.ts.map +1 -0
- package/dist/checkpoint.js +46 -0
- package/dist/checkpoint.js.map +1 -0
- package/dist/guardrails.d.ts +47 -0
- package/dist/guardrails.d.ts.map +1 -0
- package/dist/guardrails.js +30 -0
- package/dist/guardrails.js.map +1 -0
- package/dist/handoff.d.ts +112 -0
- package/dist/handoff.d.ts.map +1 -0
- package/dist/handoff.js +42 -0
- package/dist/handoff.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/mcpServer.d.ts +142 -0
- package/dist/mcpServer.d.ts.map +1 -0
- package/dist/mcpServer.js +57 -0
- package/dist/mcpServer.js.map +1 -0
- package/dist/memory.d.ts +70 -0
- package/dist/memory.d.ts.map +1 -0
- package/dist/memory.js +65 -0
- package/dist/memory.js.map +1 -0
- package/dist/messages.d.ts +54 -0
- package/dist/messages.d.ts.map +1 -0
- package/dist/messages.js +13 -0
- package/dist/messages.js.map +1 -0
- package/dist/provider.d.ts +53 -0
- package/dist/provider.d.ts.map +1 -0
- package/dist/provider.js +2 -0
- package/dist/provider.js.map +1 -0
- package/dist/runManifest.d.ts +25 -0
- package/dist/runManifest.d.ts.map +1 -0
- package/dist/runManifest.js +57 -0
- package/dist/runManifest.js.map +1 -0
- package/dist/tools.d.ts +24 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +2 -0
- package/dist/tools.js.map +1 -0
- package/dist/trace.d.ts +81 -0
- package/dist/trace.d.ts.map +1 -0
- package/dist/trace.js +92 -0
- package/dist/trace.js.map +1 -0
- package/dist/workflow.d.ts +97 -0
- package/dist/workflow.d.ts.map +1 -0
- package/dist/workflow.js +179 -0
- package/dist/workflow.js.map +1 -0
- package/package.json +20 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A node in the workflow graph. Each node represents an executable step.
|
|
3
|
+
*/
|
|
4
|
+
export interface WorkflowNode<S = Record<string, unknown>> {
|
|
5
|
+
/** Unique node identifier */
|
|
6
|
+
id: string;
|
|
7
|
+
/** Human-readable name */
|
|
8
|
+
name: string;
|
|
9
|
+
/** Execute this node. Receives current state, returns updated state. */
|
|
10
|
+
execute(state: S): Promise<S>;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Edge condition: determines whether to traverse an edge.
|
|
14
|
+
*/
|
|
15
|
+
export type EdgeCondition<S = Record<string, unknown>> = {
|
|
16
|
+
type: 'always';
|
|
17
|
+
} | {
|
|
18
|
+
type: 'when';
|
|
19
|
+
predicate: (state: S) => boolean;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* An edge connecting two nodes (or a node to a set of parallel targets).
|
|
23
|
+
*/
|
|
24
|
+
export interface WorkflowEdge<S = Record<string, unknown>> {
|
|
25
|
+
/** Source node ID */
|
|
26
|
+
from: string;
|
|
27
|
+
/** Target node ID(s) — multiple targets means parallel execution */
|
|
28
|
+
to: string | string[];
|
|
29
|
+
/** When to traverse this edge */
|
|
30
|
+
condition: EdgeCondition<S>;
|
|
31
|
+
/** Optional priority for ordering when multiple edges match */
|
|
32
|
+
priority?: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Interrupt: a HITL pause point. When an interrupt fires, the engine
|
|
36
|
+
* stops and returns the current state + resume token.
|
|
37
|
+
*/
|
|
38
|
+
export interface WorkflowInterrupt<S = Record<string, unknown>> {
|
|
39
|
+
/** Node ID where the interrupt occurs (before execution) */
|
|
40
|
+
nodeId: string;
|
|
41
|
+
/** Condition: when to interrupt */
|
|
42
|
+
condition: (state: S) => boolean;
|
|
43
|
+
/** Human-readable reason for the interrupt */
|
|
44
|
+
reason: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Execution status of a workflow run.
|
|
48
|
+
*/
|
|
49
|
+
export type WorkflowStatus = 'running' | 'completed' | 'interrupted' | 'failed';
|
|
50
|
+
/**
|
|
51
|
+
* Snapshot of a workflow execution at a point in time.
|
|
52
|
+
*/
|
|
53
|
+
export interface WorkflowSnapshot<S = Record<string, unknown>> {
|
|
54
|
+
/** Current state */
|
|
55
|
+
state: S;
|
|
56
|
+
/** ID of the node about to execute (or just completed) */
|
|
57
|
+
currentNodeId: string;
|
|
58
|
+
/** Execution status */
|
|
59
|
+
status: WorkflowStatus;
|
|
60
|
+
/** Ordered list of node IDs that have executed */
|
|
61
|
+
executedNodes: string[];
|
|
62
|
+
/** Error message if status is 'failed' */
|
|
63
|
+
error?: string;
|
|
64
|
+
/** Interrupt reason if status is 'interrupted' */
|
|
65
|
+
interruptReason?: string;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* A complete workflow graph definition.
|
|
69
|
+
*/
|
|
70
|
+
export interface WorkflowGraph<S = Record<string, unknown>> {
|
|
71
|
+
/** All nodes in the graph */
|
|
72
|
+
nodes: WorkflowNode<S>[];
|
|
73
|
+
/** All edges in the graph */
|
|
74
|
+
edges: WorkflowEdge<S>[];
|
|
75
|
+
/** Entry node ID */
|
|
76
|
+
entryNodeId: string;
|
|
77
|
+
/** Terminal node IDs (reaching these means 'completed') */
|
|
78
|
+
terminalNodeIds: string[];
|
|
79
|
+
/** Optional interrupt points */
|
|
80
|
+
interrupts?: WorkflowInterrupt<S>[];
|
|
81
|
+
}
|
|
82
|
+
export declare class WorkflowEngine<S = Record<string, unknown>> {
|
|
83
|
+
private graph;
|
|
84
|
+
private nodeMap;
|
|
85
|
+
constructor(graph: WorkflowGraph<S>);
|
|
86
|
+
/**
|
|
87
|
+
* Run the workflow from the entry node with initial state.
|
|
88
|
+
* Returns a snapshot after each step (generator pattern for streaming).
|
|
89
|
+
*/
|
|
90
|
+
run(initialState: S): Promise<WorkflowSnapshot<S>>;
|
|
91
|
+
/**
|
|
92
|
+
* Resume a workflow from a snapshot (after interrupt).
|
|
93
|
+
* Skips the interrupt condition for the current node.
|
|
94
|
+
*/
|
|
95
|
+
resume(snapshot: WorkflowSnapshot<S>): Promise<WorkflowSnapshot<S>>;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=workflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"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"}
|
package/dist/workflow.js
ADDED
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Workflow: state-graph execution primitives for agent orchestration
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
// WorkflowEngine: executes a workflow graph
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
export class WorkflowEngine {
|
|
8
|
+
graph;
|
|
9
|
+
nodeMap;
|
|
10
|
+
constructor(graph) {
|
|
11
|
+
this.graph = graph;
|
|
12
|
+
this.nodeMap = new Map(graph.nodes.map(n => [n.id, n]));
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Run the workflow from the entry node with initial state.
|
|
16
|
+
* Returns a snapshot after each step (generator pattern for streaming).
|
|
17
|
+
*/
|
|
18
|
+
async run(initialState) {
|
|
19
|
+
let state = structuredClone(initialState);
|
|
20
|
+
let currentNodeId = this.graph.entryNodeId;
|
|
21
|
+
const executedNodes = [];
|
|
22
|
+
while (true) {
|
|
23
|
+
const node = this.nodeMap.get(currentNodeId);
|
|
24
|
+
if (!node) {
|
|
25
|
+
return {
|
|
26
|
+
state,
|
|
27
|
+
currentNodeId,
|
|
28
|
+
status: 'failed',
|
|
29
|
+
executedNodes,
|
|
30
|
+
error: `Node "${currentNodeId}" not found in graph`,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
// Check interrupts before execution
|
|
34
|
+
const interrupt = this.graph.interrupts?.find(i => i.nodeId === currentNodeId && i.condition(state));
|
|
35
|
+
if (interrupt) {
|
|
36
|
+
return {
|
|
37
|
+
state,
|
|
38
|
+
currentNodeId,
|
|
39
|
+
status: 'interrupted',
|
|
40
|
+
executedNodes,
|
|
41
|
+
interruptReason: interrupt.reason,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
// Execute the node
|
|
45
|
+
try {
|
|
46
|
+
state = await node.execute(state);
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
return {
|
|
50
|
+
state,
|
|
51
|
+
currentNodeId,
|
|
52
|
+
status: 'failed',
|
|
53
|
+
executedNodes,
|
|
54
|
+
error: err instanceof Error ? err.message : String(err),
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
executedNodes.push(currentNodeId);
|
|
58
|
+
// Check if terminal
|
|
59
|
+
if (this.graph.terminalNodeIds.includes(currentNodeId)) {
|
|
60
|
+
return { state, currentNodeId, status: 'completed', executedNodes };
|
|
61
|
+
}
|
|
62
|
+
// Find outgoing edges
|
|
63
|
+
const outEdges = this.graph.edges
|
|
64
|
+
.filter(e => e.from === currentNodeId)
|
|
65
|
+
.sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0));
|
|
66
|
+
const matchingEdge = outEdges.find(e => {
|
|
67
|
+
if (e.condition.type === 'always')
|
|
68
|
+
return true;
|
|
69
|
+
return e.condition.predicate(state);
|
|
70
|
+
});
|
|
71
|
+
if (!matchingEdge) {
|
|
72
|
+
return {
|
|
73
|
+
state,
|
|
74
|
+
currentNodeId,
|
|
75
|
+
status: 'failed',
|
|
76
|
+
executedNodes,
|
|
77
|
+
error: `No matching edge from node "${currentNodeId}"`,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
// Handle parallel edges
|
|
81
|
+
if (Array.isArray(matchingEdge.to)) {
|
|
82
|
+
// Execute all targets in parallel, merge state
|
|
83
|
+
const parallelNodes = matchingEdge.to
|
|
84
|
+
.map(id => this.nodeMap.get(id))
|
|
85
|
+
.filter((n) => n !== undefined);
|
|
86
|
+
const results = await Promise.all(parallelNodes.map(async (n) => {
|
|
87
|
+
const result = await n.execute(structuredClone(state));
|
|
88
|
+
return { id: n.id, state: result };
|
|
89
|
+
}));
|
|
90
|
+
// Merge: later results overwrite earlier for overlapping keys
|
|
91
|
+
for (const r of results) {
|
|
92
|
+
state = { ...state, ...r.state };
|
|
93
|
+
executedNodes.push(r.id);
|
|
94
|
+
}
|
|
95
|
+
// After parallel, need to find the convergence edge
|
|
96
|
+
// Look for edges where from matches any of the parallel targets
|
|
97
|
+
const convergenceEdge = this.graph.edges.find(e => parallelNodes.some(n => e.from === n.id));
|
|
98
|
+
if (!convergenceEdge) {
|
|
99
|
+
return { state, currentNodeId: parallelNodes[0].id, status: 'completed', executedNodes };
|
|
100
|
+
}
|
|
101
|
+
currentNodeId = Array.isArray(convergenceEdge.to) ? convergenceEdge.to[0] : convergenceEdge.to;
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
currentNodeId = matchingEdge.to;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Resume a workflow from a snapshot (after interrupt).
|
|
110
|
+
* Skips the interrupt condition for the current node.
|
|
111
|
+
*/
|
|
112
|
+
async resume(snapshot) {
|
|
113
|
+
if (snapshot.status !== 'interrupted') {
|
|
114
|
+
return snapshot;
|
|
115
|
+
}
|
|
116
|
+
let state = structuredClone(snapshot.state);
|
|
117
|
+
let currentNodeId = snapshot.currentNodeId;
|
|
118
|
+
const executedNodes = [...snapshot.executedNodes];
|
|
119
|
+
// Execute the interrupted node (skip interrupt check)
|
|
120
|
+
const node = this.nodeMap.get(currentNodeId);
|
|
121
|
+
if (!node) {
|
|
122
|
+
return {
|
|
123
|
+
state,
|
|
124
|
+
currentNodeId,
|
|
125
|
+
status: 'failed',
|
|
126
|
+
executedNodes,
|
|
127
|
+
error: `Node "${currentNodeId}" not found`,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
try {
|
|
131
|
+
state = await node.execute(state);
|
|
132
|
+
}
|
|
133
|
+
catch (err) {
|
|
134
|
+
return {
|
|
135
|
+
state,
|
|
136
|
+
currentNodeId,
|
|
137
|
+
status: 'failed',
|
|
138
|
+
executedNodes,
|
|
139
|
+
error: err instanceof Error ? err.message : String(err),
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
executedNodes.push(currentNodeId);
|
|
143
|
+
if (this.graph.terminalNodeIds.includes(currentNodeId)) {
|
|
144
|
+
return { state, currentNodeId, status: 'completed', executedNodes };
|
|
145
|
+
}
|
|
146
|
+
// Continue from the next edge
|
|
147
|
+
const outEdges = this.graph.edges
|
|
148
|
+
.filter(e => e.from === currentNodeId)
|
|
149
|
+
.sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0));
|
|
150
|
+
const matchingEdge = outEdges.find(e => {
|
|
151
|
+
if (e.condition.type === 'always')
|
|
152
|
+
return true;
|
|
153
|
+
return e.condition.predicate(state);
|
|
154
|
+
});
|
|
155
|
+
if (!matchingEdge) {
|
|
156
|
+
return {
|
|
157
|
+
state,
|
|
158
|
+
currentNodeId,
|
|
159
|
+
status: 'failed',
|
|
160
|
+
executedNodes,
|
|
161
|
+
error: `No matching edge from "${currentNodeId}"`,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
const nextNodeId = Array.isArray(matchingEdge.to) ? matchingEdge.to[0] : matchingEdge.to;
|
|
165
|
+
// Delegate to a fresh run from the next node using a sub-graph
|
|
166
|
+
// Simplification: re-run from the next node by creating a modified graph
|
|
167
|
+
const subGraph = {
|
|
168
|
+
...this.graph,
|
|
169
|
+
entryNodeId: nextNodeId,
|
|
170
|
+
};
|
|
171
|
+
const subEngine = new WorkflowEngine(subGraph);
|
|
172
|
+
const result = await subEngine.run(state);
|
|
173
|
+
return {
|
|
174
|
+
...result,
|
|
175
|
+
executedNodes: [...executedNodes, ...result.executedNodes],
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "armature-agent-core",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"import": "./dist/index.js",
|
|
11
|
+
"default": "./dist/index.js"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"scripts": {
|
|
15
|
+
"build": "tsc -p tsconfig.json"
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"dist"
|
|
19
|
+
]
|
|
20
|
+
}
|