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.
Files changed (53) hide show
  1. package/dist/capabilities.d.ts +32 -0
  2. package/dist/capabilities.d.ts.map +1 -0
  3. package/dist/capabilities.js +4 -0
  4. package/dist/capabilities.js.map +1 -0
  5. package/dist/checkpoint.d.ts +48 -0
  6. package/dist/checkpoint.d.ts.map +1 -0
  7. package/dist/checkpoint.js +46 -0
  8. package/dist/checkpoint.js.map +1 -0
  9. package/dist/guardrails.d.ts +47 -0
  10. package/dist/guardrails.d.ts.map +1 -0
  11. package/dist/guardrails.js +30 -0
  12. package/dist/guardrails.js.map +1 -0
  13. package/dist/handoff.d.ts +112 -0
  14. package/dist/handoff.d.ts.map +1 -0
  15. package/dist/handoff.js +42 -0
  16. package/dist/handoff.js.map +1 -0
  17. package/dist/index.d.ts +13 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +13 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/mcpServer.d.ts +142 -0
  22. package/dist/mcpServer.d.ts.map +1 -0
  23. package/dist/mcpServer.js +57 -0
  24. package/dist/mcpServer.js.map +1 -0
  25. package/dist/memory.d.ts +70 -0
  26. package/dist/memory.d.ts.map +1 -0
  27. package/dist/memory.js +65 -0
  28. package/dist/memory.js.map +1 -0
  29. package/dist/messages.d.ts +54 -0
  30. package/dist/messages.d.ts.map +1 -0
  31. package/dist/messages.js +13 -0
  32. package/dist/messages.js.map +1 -0
  33. package/dist/provider.d.ts +53 -0
  34. package/dist/provider.d.ts.map +1 -0
  35. package/dist/provider.js +2 -0
  36. package/dist/provider.js.map +1 -0
  37. package/dist/runManifest.d.ts +25 -0
  38. package/dist/runManifest.d.ts.map +1 -0
  39. package/dist/runManifest.js +57 -0
  40. package/dist/runManifest.js.map +1 -0
  41. package/dist/tools.d.ts +24 -0
  42. package/dist/tools.d.ts.map +1 -0
  43. package/dist/tools.js +2 -0
  44. package/dist/tools.js.map +1 -0
  45. package/dist/trace.d.ts +81 -0
  46. package/dist/trace.d.ts.map +1 -0
  47. package/dist/trace.js +92 -0
  48. package/dist/trace.js.map +1 -0
  49. package/dist/workflow.d.ts +97 -0
  50. package/dist/workflow.d.ts.map +1 -0
  51. package/dist/workflow.js +179 -0
  52. package/dist/workflow.js.map +1 -0
  53. 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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"}
@@ -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
+ }