swarm-engine 1.3.0 → 1.38.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/README.md +45 -7
- package/dist/cli/commands/memory.js +117 -0
- package/dist/cli/commands/memory.js.map +1 -1
- package/dist/core/types.d.ts +30 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/index.d.ts +46 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -1
- package/dist/memory/index.d.ts +37 -0
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +97 -0
- package/dist/memory/index.js.map +1 -1
- package/dist/runtime/agent-runner.d.ts +10 -0
- package/dist/runtime/agent-runner.d.ts.map +1 -1
- package/dist/runtime/agent-runner.js +71 -3
- package/dist/runtime/agent-runner.js.map +1 -1
- package/dist/runtime/engine.d.ts +18 -0
- package/dist/runtime/engine.d.ts.map +1 -1
- package/dist/runtime/engine.js +306 -2
- package/dist/runtime/engine.js.map +1 -1
- package/dist/runtime/execution-graph.d.ts +86 -0
- package/dist/runtime/execution-graph.d.ts.map +1 -0
- package/dist/runtime/execution-graph.js +441 -0
- package/dist/runtime/execution-graph.js.map +1 -0
- package/dist/runtime/graph-adversarial.d.ts +88 -0
- package/dist/runtime/graph-adversarial.d.ts.map +1 -0
- package/dist/runtime/graph-adversarial.js +378 -0
- package/dist/runtime/graph-adversarial.js.map +1 -0
- package/dist/runtime/graph-analyzer.d.ts +106 -0
- package/dist/runtime/graph-analyzer.d.ts.map +1 -0
- package/dist/runtime/graph-analyzer.js +321 -0
- package/dist/runtime/graph-analyzer.js.map +1 -0
- package/dist/runtime/graph-causal.d.ts +91 -0
- package/dist/runtime/graph-causal.d.ts.map +1 -0
- package/dist/runtime/graph-causal.js +292 -0
- package/dist/runtime/graph-causal.js.map +1 -0
- package/dist/runtime/graph-context-router.d.ts +73 -0
- package/dist/runtime/graph-context-router.d.ts.map +1 -0
- package/dist/runtime/graph-context-router.js +162 -0
- package/dist/runtime/graph-context-router.js.map +1 -0
- package/dist/runtime/graph-discovery.d.ts +71 -0
- package/dist/runtime/graph-discovery.d.ts.map +1 -0
- package/dist/runtime/graph-discovery.js +367 -0
- package/dist/runtime/graph-discovery.js.map +1 -0
- package/dist/runtime/graph-dropout.d.ts +59 -0
- package/dist/runtime/graph-dropout.d.ts.map +1 -0
- package/dist/runtime/graph-dropout.js +196 -0
- package/dist/runtime/graph-dropout.js.map +1 -0
- package/dist/runtime/graph-embeddings.d.ts +58 -0
- package/dist/runtime/graph-embeddings.d.ts.map +1 -0
- package/dist/runtime/graph-embeddings.js +301 -0
- package/dist/runtime/graph-embeddings.js.map +1 -0
- package/dist/runtime/graph-feedback.d.ts +30 -0
- package/dist/runtime/graph-feedback.d.ts.map +1 -0
- package/dist/runtime/graph-feedback.js +82 -0
- package/dist/runtime/graph-feedback.js.map +1 -0
- package/dist/runtime/graph-gnn.d.ts +120 -0
- package/dist/runtime/graph-gnn.d.ts.map +1 -0
- package/dist/runtime/graph-gnn.js +524 -0
- package/dist/runtime/graph-gnn.js.map +1 -0
- package/dist/runtime/graph-learner.d.ts +70 -0
- package/dist/runtime/graph-learner.d.ts.map +1 -0
- package/dist/runtime/graph-learner.js +265 -0
- package/dist/runtime/graph-learner.js.map +1 -0
- package/dist/runtime/graph-meta-adversarial.d.ts +113 -0
- package/dist/runtime/graph-meta-adversarial.d.ts.map +1 -0
- package/dist/runtime/graph-meta-adversarial.js +366 -0
- package/dist/runtime/graph-meta-adversarial.js.map +1 -0
- package/dist/runtime/graph-meta.d.ts +115 -0
- package/dist/runtime/graph-meta.d.ts.map +1 -0
- package/dist/runtime/graph-meta.js +437 -0
- package/dist/runtime/graph-meta.js.map +1 -0
- package/dist/runtime/graph-self-evolve.d.ts +92 -0
- package/dist/runtime/graph-self-evolve.d.ts.map +1 -0
- package/dist/runtime/graph-self-evolve.js +422 -0
- package/dist/runtime/graph-self-evolve.js.map +1 -0
- package/dist/runtime/graph-synthesis.d.ts +47 -0
- package/dist/runtime/graph-synthesis.d.ts.map +1 -0
- package/dist/runtime/graph-synthesis.js +232 -0
- package/dist/runtime/graph-synthesis.js.map +1 -0
- package/dist/runtime/graph-trajectory.d.ts +88 -0
- package/dist/runtime/graph-trajectory.d.ts.map +1 -0
- package/dist/runtime/graph-trajectory.js +339 -0
- package/dist/runtime/graph-trajectory.js.map +1 -0
- package/dist/runtime/learning-engine.d.ts +12 -0
- package/dist/runtime/learning-engine.d.ts.map +1 -1
- package/dist/runtime/learning-engine.js +64 -0
- package/dist/runtime/learning-engine.js.map +1 -1
- package/package.json +2 -2
- package/skills/swarm-output-style/SKILL.md +71 -33
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-dropout.js","sourceRoot":"","sources":["../../src/runtime/graph-dropout.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { ExecutionGraph } from './execution-graph.js';
|
|
2
|
+
export interface SimilarOrchestration {
|
|
3
|
+
orchestrationId: string;
|
|
4
|
+
similarity: number;
|
|
5
|
+
pattern: string;
|
|
6
|
+
outcome: string;
|
|
7
|
+
}
|
|
8
|
+
export interface TransferRecommendation {
|
|
9
|
+
pattern: string;
|
|
10
|
+
confidence: number;
|
|
11
|
+
reasoning: string;
|
|
12
|
+
sourceOrchestrationId: string;
|
|
13
|
+
sourceOutcome: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Creates dense embedding vectors from orchestration topology (via GNN)
|
|
17
|
+
* and task descriptions (via TF-IDF), enabling similarity search and
|
|
18
|
+
* cross-run transfer learning.
|
|
19
|
+
*/
|
|
20
|
+
export declare class OrchestrationEmbedder {
|
|
21
|
+
private graph;
|
|
22
|
+
constructor(graph: ExecutionGraph);
|
|
23
|
+
/**
|
|
24
|
+
* Create embedding from orchestration topology.
|
|
25
|
+
* Returns 8-dim structural embedding (fallback) or 16-dim GNN embedding.
|
|
26
|
+
*/
|
|
27
|
+
embedOrchestration(orchestrationId: string): number[] | null;
|
|
28
|
+
/**
|
|
29
|
+
* Create embedding from task description + file patterns.
|
|
30
|
+
* Uses TF-IDF projected to 16 dims via Johnson-Lindenstrauss random projection.
|
|
31
|
+
*/
|
|
32
|
+
embedTask(taskDescription: string, filePatterns?: string[]): number[];
|
|
33
|
+
/**
|
|
34
|
+
* Find similar orchestrations by embedding distance.
|
|
35
|
+
* Loads all stored embeddings from graph (heuristic nodes with id prefix 'embedding:').
|
|
36
|
+
*/
|
|
37
|
+
findSimilarOrchestrations(embedding: number[], topK?: number): SimilarOrchestration[];
|
|
38
|
+
/**
|
|
39
|
+
* Recommend strategy transfer from a successful orchestration to a new task.
|
|
40
|
+
* Returns null if source failed or similarity is too low.
|
|
41
|
+
*/
|
|
42
|
+
transferStrategy(sourceOrchId: string, targetTaskDescription: string): TransferRecommendation | null;
|
|
43
|
+
/**
|
|
44
|
+
* Store an orchestration's embedding for future search.
|
|
45
|
+
* Creates a heuristic node with id prefix 'embedding:'.
|
|
46
|
+
*/
|
|
47
|
+
storeEmbedding(orchestrationId: string): void;
|
|
48
|
+
/**
|
|
49
|
+
* Cosine similarity between two vectors.
|
|
50
|
+
* Returns 0 if either vector has zero magnitude.
|
|
51
|
+
*/
|
|
52
|
+
static cosineSimilarity(a: number[], b: number[]): number;
|
|
53
|
+
/** Simple string hash (DJB2). */
|
|
54
|
+
private hashString;
|
|
55
|
+
/** Gather task descriptions from stored orchestration nodes. */
|
|
56
|
+
private getStoredTaskDescriptions;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=graph-embeddings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-embeddings.d.ts","sourceRoot":"","sources":["../../src/runtime/graph-embeddings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AA4C3D,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;CACvB;AAID;;;;GAIG;AACH,qBAAa,qBAAqB;IACpB,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,cAAc;IAEzC;;;OAGG;IACH,kBAAkB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAsF5D;;;OAGG;IACH,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IA2DrE;;;OAGG;IACH,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,SAAI,GAAG,oBAAoB,EAAE;IAwBhF;;;OAGG;IACH,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI;IA6BpG;;;OAGG;IACH,cAAc,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI;IAoB7C;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;IAezD,iCAAiC;IACjC,OAAO,CAAC,UAAU;IAQlB,gEAAgE;IAChE,OAAO,CAAC,yBAAyB;CAMlC"}
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
import { Matrix } from './graph-gnn.js';
|
|
2
|
+
import { MetaPatternSelector } from './graph-meta.js';
|
|
3
|
+
// ─── Seeded PRNG ────────────────────────────────────────────────────
|
|
4
|
+
/**
|
|
5
|
+
* Mulberry32: deterministic 32-bit PRNG seeded from an integer.
|
|
6
|
+
* Used for reproducible GNN weight init and random projection matrices.
|
|
7
|
+
*/
|
|
8
|
+
function mulberry32(seed) {
|
|
9
|
+
let s = seed | 0;
|
|
10
|
+
return () => {
|
|
11
|
+
s = (s + 0x6d2b79f5) | 0;
|
|
12
|
+
let t = Math.imul(s ^ (s >>> 15), 1 | s);
|
|
13
|
+
t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t;
|
|
14
|
+
return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Box-Muller transform using a seeded RNG.
|
|
19
|
+
* Returns a standard normal sample.
|
|
20
|
+
*/
|
|
21
|
+
function seededNormal(rng) {
|
|
22
|
+
const u1 = Math.max(rng(), 1e-10);
|
|
23
|
+
const u2 = rng();
|
|
24
|
+
return Math.sqrt(-2 * Math.log(u1)) * Math.cos(2 * Math.PI * u2);
|
|
25
|
+
}
|
|
26
|
+
// ─── Node type → feature index (mirrored from graph-gnn.ts) ────────
|
|
27
|
+
const NODE_TYPE_INDEX = {
|
|
28
|
+
orchestration: 0,
|
|
29
|
+
phase: 1,
|
|
30
|
+
agent: 2,
|
|
31
|
+
file: 3,
|
|
32
|
+
pattern: 4,
|
|
33
|
+
error: 5,
|
|
34
|
+
heuristic: 6,
|
|
35
|
+
};
|
|
36
|
+
// ─── OrchestrationEmbedder ──────────────────────────────────────────
|
|
37
|
+
/**
|
|
38
|
+
* Creates dense embedding vectors from orchestration topology (via GNN)
|
|
39
|
+
* and task descriptions (via TF-IDF), enabling similarity search and
|
|
40
|
+
* cross-run transfer learning.
|
|
41
|
+
*/
|
|
42
|
+
export class OrchestrationEmbedder {
|
|
43
|
+
graph;
|
|
44
|
+
constructor(graph) {
|
|
45
|
+
this.graph = graph;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Create embedding from orchestration topology.
|
|
49
|
+
* Returns 8-dim structural embedding (fallback) or 16-dim GNN embedding.
|
|
50
|
+
*/
|
|
51
|
+
embedOrchestration(orchestrationId) {
|
|
52
|
+
// 1. Get orchestration subgraph via BFS depth 3
|
|
53
|
+
const { nodes, edges } = this.graph.bfs(orchestrationId, 3);
|
|
54
|
+
if (nodes.length === 0)
|
|
55
|
+
return null;
|
|
56
|
+
const orchNode = nodes.find((n) => n.id === orchestrationId);
|
|
57
|
+
if (!orchNode)
|
|
58
|
+
return null;
|
|
59
|
+
// 2. Extract node features (same logic as FailurePropagationPredictor.extractFeatures)
|
|
60
|
+
const nodeIds = nodes.map((n) => n.id);
|
|
61
|
+
const nodeIndex = new Map(nodeIds.map((id, i) => [id, i]));
|
|
62
|
+
const featureData = [];
|
|
63
|
+
for (const node of nodes) {
|
|
64
|
+
const row = new Array(8).fill(0);
|
|
65
|
+
const typeIdx = NODE_TYPE_INDEX[node.type] ?? 0;
|
|
66
|
+
row[typeIdx] = 1;
|
|
67
|
+
let successRate = 0.5;
|
|
68
|
+
const status = node.properties?.status;
|
|
69
|
+
if (status === 'completed' || status === 'idle')
|
|
70
|
+
successRate = 1.0;
|
|
71
|
+
else if (status === 'failed' || status === 'error' || status === 'timeout')
|
|
72
|
+
successRate = 0.0;
|
|
73
|
+
row[7] = successRate;
|
|
74
|
+
featureData.push(row);
|
|
75
|
+
}
|
|
76
|
+
// 3. Build adjacency map from edges
|
|
77
|
+
const adjacency = new Map();
|
|
78
|
+
for (let i = 0; i < nodeIds.length; i++) {
|
|
79
|
+
const outEdges = this.graph.getEdges(nodeIds[i], 'outgoing');
|
|
80
|
+
const neighbors = [];
|
|
81
|
+
for (const edge of outEdges) {
|
|
82
|
+
const targetIdx = nodeIndex.get(edge.target);
|
|
83
|
+
if (targetIdx !== undefined)
|
|
84
|
+
neighbors.push(targetIdx);
|
|
85
|
+
}
|
|
86
|
+
adjacency.set(i, neighbors);
|
|
87
|
+
}
|
|
88
|
+
// 4. Try GNN embedding first — check for stored weights
|
|
89
|
+
const weightsNode = this.graph.getNode('gnn:weights');
|
|
90
|
+
if (weightsNode && weightsNode.properties.W) {
|
|
91
|
+
try {
|
|
92
|
+
const { FailurePropagationPredictor } = require('./graph-gnn.js');
|
|
93
|
+
const predictor = new FailurePropagationPredictor(this.graph);
|
|
94
|
+
const weights = FailurePropagationPredictor.weightsFromJSON(weightsNode.properties);
|
|
95
|
+
const features = Matrix.fromArray(featureData);
|
|
96
|
+
const { pooled } = predictor.forward(features, adjacency, weights);
|
|
97
|
+
return pooled.data[0]; // 16-dim
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
// Fall through to structural embedding
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
// 5. Structural embedding fallback (8-dim)
|
|
104
|
+
const phaseNodes = nodes.filter((n) => n.type === 'phase');
|
|
105
|
+
const agentNodes = nodes.filter((n) => n.type === 'agent');
|
|
106
|
+
const fileNodes = nodes.filter((n) => n.type === 'file');
|
|
107
|
+
let totalSuccess = 0;
|
|
108
|
+
let statusCount = 0;
|
|
109
|
+
for (const node of nodes) {
|
|
110
|
+
const status = node.properties?.status;
|
|
111
|
+
if (status === 'completed' || status === 'idle') {
|
|
112
|
+
totalSuccess++;
|
|
113
|
+
statusCount++;
|
|
114
|
+
}
|
|
115
|
+
else if (status === 'failed' || status === 'error' || status === 'timeout') {
|
|
116
|
+
statusCount++;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
const successRate = statusCount > 0 ? totalSuccess / statusCount : 0.5;
|
|
120
|
+
const durationMs = orchNode.properties?.durationMs ?? 0;
|
|
121
|
+
const avgDuration = durationMs > 0 ? Math.log(durationMs + 1) / 15 : 0; // normalized
|
|
122
|
+
const patternStr = orchNode.properties?.pattern ?? 'unknown';
|
|
123
|
+
const patternHash = this.hashString(patternStr) / 4294967296; // [0,1]
|
|
124
|
+
return [
|
|
125
|
+
nodes.length / 100, // nodeCount (normalized)
|
|
126
|
+
edges.length / 100, // edgeCount (normalized)
|
|
127
|
+
phaseNodes.length / 10,
|
|
128
|
+
agentNodes.length / 10,
|
|
129
|
+
fileNodes.length / 50,
|
|
130
|
+
successRate,
|
|
131
|
+
avgDuration,
|
|
132
|
+
patternHash,
|
|
133
|
+
];
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Create embedding from task description + file patterns.
|
|
137
|
+
* Uses TF-IDF projected to 16 dims via Johnson-Lindenstrauss random projection.
|
|
138
|
+
*/
|
|
139
|
+
embedTask(taskDescription, filePatterns) {
|
|
140
|
+
// 1. Build TF-IDF vector from task description
|
|
141
|
+
// Use stored descriptions as corpus (consistent across calls for same graph state).
|
|
142
|
+
// Include the input to ensure its tokens appear in vocabulary.
|
|
143
|
+
const storedDocs = this.getStoredTaskDescriptions();
|
|
144
|
+
const allDocs = storedDocs.length > 0 ? storedDocs : [taskDescription];
|
|
145
|
+
const tfidfModel = MetaPatternSelector.buildTfIdfModel(allDocs);
|
|
146
|
+
const tfidfVec = MetaPatternSelector.vectorize(tfidfModel, taskDescription);
|
|
147
|
+
// 2. Structural features from file patterns
|
|
148
|
+
const files = filePatterns ?? [];
|
|
149
|
+
const logFileCount = Math.log(files.length + 1);
|
|
150
|
+
const hasTestFiles = files.some((f) => f.includes('test') || f.includes('spec')) ? 1 : 0;
|
|
151
|
+
const hasSrcFiles = files.some((f) => f.includes('src/') || f.includes('lib/')) ? 1 : 0;
|
|
152
|
+
const avgPathDepth = files.length > 0
|
|
153
|
+
? files.reduce((sum, f) => sum + f.split('/').length, 0) / files.length / 10
|
|
154
|
+
: 0;
|
|
155
|
+
// 3. Concatenate TF-IDF + structural features
|
|
156
|
+
const fullVec = [...tfidfVec, logFileCount, hasTestFiles, hasSrcFiles, avgPathDepth];
|
|
157
|
+
// 4. Project to 16 dims via random projection (Johnson-Lindenstrauss)
|
|
158
|
+
// Generate a fixed-size R matrix (maxDim × 16) so projections are consistent
|
|
159
|
+
// regardless of input vector length.
|
|
160
|
+
const targetDim = 16;
|
|
161
|
+
const maxDim = 504; // 500 (max vocab) + 4 structural features
|
|
162
|
+
const rng = mulberry32(42); // deterministic seed
|
|
163
|
+
// Pre-generate full R matrix so all calls draw the same random values
|
|
164
|
+
const R = [];
|
|
165
|
+
for (let i = 0; i < maxDim; i++) {
|
|
166
|
+
const row = [];
|
|
167
|
+
for (let j = 0; j < targetDim; j++) {
|
|
168
|
+
row.push(seededNormal(rng));
|
|
169
|
+
}
|
|
170
|
+
R.push(row);
|
|
171
|
+
}
|
|
172
|
+
const scale = 1 / Math.sqrt(targetDim);
|
|
173
|
+
const projected = new Array(targetDim).fill(0);
|
|
174
|
+
for (let j = 0; j < targetDim; j++) {
|
|
175
|
+
let sum = 0;
|
|
176
|
+
for (let i = 0; i < fullVec.length && i < maxDim; i++) {
|
|
177
|
+
sum += fullVec[i] * R[i][j];
|
|
178
|
+
}
|
|
179
|
+
projected[j] = sum * scale;
|
|
180
|
+
}
|
|
181
|
+
// 5. L2-normalize
|
|
182
|
+
const magnitude = Math.sqrt(projected.reduce((sum, v) => sum + v * v, 0));
|
|
183
|
+
if (magnitude > 0) {
|
|
184
|
+
for (let i = 0; i < projected.length; i++) {
|
|
185
|
+
projected[i] /= magnitude;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
return projected;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Find similar orchestrations by embedding distance.
|
|
192
|
+
* Loads all stored embeddings from graph (heuristic nodes with id prefix 'embedding:').
|
|
193
|
+
*/
|
|
194
|
+
findSimilarOrchestrations(embedding, topK = 5) {
|
|
195
|
+
const heuristicNodes = this.graph.getNodesByType('heuristic');
|
|
196
|
+
const embeddingNodes = heuristicNodes.filter((n) => n.id.startsWith('embedding:'));
|
|
197
|
+
if (embeddingNodes.length === 0)
|
|
198
|
+
return [];
|
|
199
|
+
const results = [];
|
|
200
|
+
for (const node of embeddingNodes) {
|
|
201
|
+
const vector = node.properties.vector;
|
|
202
|
+
if (!vector || vector.length === 0)
|
|
203
|
+
continue;
|
|
204
|
+
const similarity = OrchestrationEmbedder.cosineSimilarity(embedding, vector);
|
|
205
|
+
results.push({
|
|
206
|
+
orchestrationId: node.properties.orchestrationId,
|
|
207
|
+
similarity,
|
|
208
|
+
pattern: node.properties.pattern ?? 'unknown',
|
|
209
|
+
outcome: node.properties.status ?? 'unknown',
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
results.sort((a, b) => b.similarity - a.similarity);
|
|
213
|
+
return results.slice(0, topK);
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Recommend strategy transfer from a successful orchestration to a new task.
|
|
217
|
+
* Returns null if source failed or similarity is too low.
|
|
218
|
+
*/
|
|
219
|
+
transferStrategy(sourceOrchId, targetTaskDescription) {
|
|
220
|
+
// 1. Get source orchestration's pattern and outcome from graph
|
|
221
|
+
const orchNode = this.graph.getNode(sourceOrchId);
|
|
222
|
+
if (!orchNode)
|
|
223
|
+
return null;
|
|
224
|
+
const sourceStatus = orchNode.properties?.status ?? 'unknown';
|
|
225
|
+
const sourcePattern = orchNode.properties?.pattern ?? 'unknown';
|
|
226
|
+
// 2. Don't transfer failure strategies
|
|
227
|
+
if (sourceStatus === 'failed' || sourceStatus === 'error')
|
|
228
|
+
return null;
|
|
229
|
+
// 3. Compute task similarity
|
|
230
|
+
const sourceTaskDesc = orchNode.properties?.taskDescription || orchNode.label;
|
|
231
|
+
const sourceEmbed = this.embedTask(sourceTaskDesc);
|
|
232
|
+
const targetEmbed = this.embedTask(targetTaskDescription);
|
|
233
|
+
const similarity = OrchestrationEmbedder.cosineSimilarity(sourceEmbed, targetEmbed);
|
|
234
|
+
// 4. Only recommend if similarity > 0.3
|
|
235
|
+
if (similarity <= 0.3)
|
|
236
|
+
return null;
|
|
237
|
+
return {
|
|
238
|
+
pattern: sourcePattern,
|
|
239
|
+
confidence: similarity,
|
|
240
|
+
reasoning: `Task similarity ${similarity.toFixed(3)} with source orchestration "${orchNode.label}" (${sourceStatus}). Recommending same pattern "${sourcePattern}".`,
|
|
241
|
+
sourceOrchestrationId: sourceOrchId,
|
|
242
|
+
sourceOutcome: sourceStatus,
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Store an orchestration's embedding for future search.
|
|
247
|
+
* Creates a heuristic node with id prefix 'embedding:'.
|
|
248
|
+
*/
|
|
249
|
+
storeEmbedding(orchestrationId) {
|
|
250
|
+
const embedding = this.embedOrchestration(orchestrationId);
|
|
251
|
+
if (!embedding)
|
|
252
|
+
return;
|
|
253
|
+
const orchNode = this.graph.getNode(orchestrationId);
|
|
254
|
+
if (!orchNode)
|
|
255
|
+
return;
|
|
256
|
+
this.graph.addNode({
|
|
257
|
+
id: `embedding:${orchestrationId}`,
|
|
258
|
+
type: 'heuristic',
|
|
259
|
+
label: 'OrchestrationEmbedding',
|
|
260
|
+
properties: {
|
|
261
|
+
orchestrationId,
|
|
262
|
+
vector: embedding,
|
|
263
|
+
pattern: orchNode.properties?.pattern ?? 'unknown',
|
|
264
|
+
status: orchNode.properties?.status ?? 'unknown',
|
|
265
|
+
},
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Cosine similarity between two vectors.
|
|
270
|
+
* Returns 0 if either vector has zero magnitude.
|
|
271
|
+
*/
|
|
272
|
+
static cosineSimilarity(a, b) {
|
|
273
|
+
let dot = 0;
|
|
274
|
+
let na = 0;
|
|
275
|
+
let nb = 0;
|
|
276
|
+
const len = Math.min(a.length, b.length);
|
|
277
|
+
for (let i = 0; i < len; i++) {
|
|
278
|
+
dot += a[i] * b[i];
|
|
279
|
+
na += a[i] * a[i];
|
|
280
|
+
nb += b[i] * b[i];
|
|
281
|
+
}
|
|
282
|
+
return na === 0 || nb === 0 ? 0 : dot / (Math.sqrt(na) * Math.sqrt(nb));
|
|
283
|
+
}
|
|
284
|
+
// ─── Helpers ──────────────────────────────────────────────────────
|
|
285
|
+
/** Simple string hash (DJB2). */
|
|
286
|
+
hashString(s) {
|
|
287
|
+
let hash = 5381;
|
|
288
|
+
for (let i = 0; i < s.length; i++) {
|
|
289
|
+
hash = ((hash << 5) + hash + s.charCodeAt(i)) | 0;
|
|
290
|
+
}
|
|
291
|
+
return hash >>> 0; // unsigned
|
|
292
|
+
}
|
|
293
|
+
/** Gather task descriptions from stored orchestration nodes. */
|
|
294
|
+
getStoredTaskDescriptions() {
|
|
295
|
+
const orchNodes = this.graph.getNodesByType('orchestration');
|
|
296
|
+
return orchNodes
|
|
297
|
+
.map((n) => n.properties.taskDescription || n.label)
|
|
298
|
+
.filter((desc) => desc && desc.length > 0);
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
//# sourceMappingURL=graph-embeddings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-embeddings.js","sourceRoot":"","sources":["../../src/runtime/graph-embeddings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ExecutionGraph } from './execution-graph.js';
|
|
2
|
+
import { type ReviewFinding } from './review-schema.js';
|
|
3
|
+
/**
|
|
4
|
+
* Records review findings back into the execution knowledge graph as error
|
|
5
|
+
* nodes and caused_by edges, enabling cross-run learning from review outcomes.
|
|
6
|
+
*
|
|
7
|
+
* Also adjusts context routing weights: weakens edges that led to bad outcomes
|
|
8
|
+
* so future agents get less of the context that produced errors.
|
|
9
|
+
*/
|
|
10
|
+
export declare class ReviewFeedbackRecorder {
|
|
11
|
+
private graph;
|
|
12
|
+
constructor(graph: ExecutionGraph);
|
|
13
|
+
/**
|
|
14
|
+
* Parse agent review output and record structured findings as graph nodes/edges.
|
|
15
|
+
* Creates an error node per finding and a caused_by edge to the file.
|
|
16
|
+
*/
|
|
17
|
+
recordFindings(orchestrationId: string, phaseId: string, agentOutput: string, reviewerName: string): {
|
|
18
|
+
recorded: number;
|
|
19
|
+
errors: number;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Weaken edges that led to bad outcomes, strengthening the signal for
|
|
23
|
+
* future context routing to avoid the same patterns.
|
|
24
|
+
*
|
|
25
|
+
* For each finding with a file, finds agents that touched it and reduces
|
|
26
|
+
* the weight of their produced/consumed edges.
|
|
27
|
+
*/
|
|
28
|
+
adjustContextWeights(orchestrationId: string, findings: ReviewFinding[]): void;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=graph-feedback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-feedback.d.ts","sourceRoot":"","sources":["../../src/runtime/graph-feedback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE3E;;;;;;GAMG;AACH,qBAAa,sBAAsB;IACrB,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,cAAc;IAEzC;;;OAGG;IACH,cAAc,CACZ,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAyCvC;;;;;;OAMG;IACH,oBAAoB,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,IAAI;CAwB/E"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { parseReviewOutput } from './review-schema.js';
|
|
2
|
+
/**
|
|
3
|
+
* Records review findings back into the execution knowledge graph as error
|
|
4
|
+
* nodes and caused_by edges, enabling cross-run learning from review outcomes.
|
|
5
|
+
*
|
|
6
|
+
* Also adjusts context routing weights: weakens edges that led to bad outcomes
|
|
7
|
+
* so future agents get less of the context that produced errors.
|
|
8
|
+
*/
|
|
9
|
+
export class ReviewFeedbackRecorder {
|
|
10
|
+
graph;
|
|
11
|
+
constructor(graph) {
|
|
12
|
+
this.graph = graph;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Parse agent review output and record structured findings as graph nodes/edges.
|
|
16
|
+
* Creates an error node per finding and a caused_by edge to the file.
|
|
17
|
+
*/
|
|
18
|
+
recordFindings(orchestrationId, phaseId, agentOutput, reviewerName) {
|
|
19
|
+
const findings = parseReviewOutput(agentOutput, reviewerName);
|
|
20
|
+
let recorded = 0;
|
|
21
|
+
let errors = 0;
|
|
22
|
+
for (const finding of findings) {
|
|
23
|
+
if (!finding.file) {
|
|
24
|
+
errors++;
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
const errorId = `error:${orchestrationId}:${finding.file}:${finding.id}`;
|
|
28
|
+
this.graph.addNode({
|
|
29
|
+
id: errorId,
|
|
30
|
+
type: 'error',
|
|
31
|
+
label: finding.title,
|
|
32
|
+
properties: {
|
|
33
|
+
severity: finding.severity,
|
|
34
|
+
confidence: finding.confidence,
|
|
35
|
+
category: finding.category,
|
|
36
|
+
reviewer: finding.reviewer,
|
|
37
|
+
orchestrationId,
|
|
38
|
+
phaseId,
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
const fileId = `file:${finding.file}`;
|
|
42
|
+
this.graph.upsertEdge({
|
|
43
|
+
source: errorId,
|
|
44
|
+
target: fileId,
|
|
45
|
+
type: 'caused_by',
|
|
46
|
+
confidence: 'INFERRED',
|
|
47
|
+
properties: { severity: finding.severity, findingId: finding.id },
|
|
48
|
+
});
|
|
49
|
+
recorded++;
|
|
50
|
+
}
|
|
51
|
+
return { recorded, errors };
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Weaken edges that led to bad outcomes, strengthening the signal for
|
|
55
|
+
* future context routing to avoid the same patterns.
|
|
56
|
+
*
|
|
57
|
+
* For each finding with a file, finds agents that touched it and reduces
|
|
58
|
+
* the weight of their produced/consumed edges.
|
|
59
|
+
*/
|
|
60
|
+
adjustContextWeights(orchestrationId, findings) {
|
|
61
|
+
for (const finding of findings) {
|
|
62
|
+
if (!finding.file || finding.severity === 'P3')
|
|
63
|
+
continue;
|
|
64
|
+
const fileId = `file:${finding.file}`;
|
|
65
|
+
// Find agents that touched this file
|
|
66
|
+
const touchEdges = this.graph
|
|
67
|
+
.getEdges(fileId, 'incoming')
|
|
68
|
+
.filter((e) => e.type === 'touched_file');
|
|
69
|
+
for (const edge of touchEdges) {
|
|
70
|
+
// Reduce weight on the produced/consumed edges for this agent
|
|
71
|
+
const agentEdges = this.graph
|
|
72
|
+
.getEdges(edge.source, 'outgoing')
|
|
73
|
+
.filter((e) => e.type === 'produced' || e.type === 'consumed');
|
|
74
|
+
for (const ae of agentEdges) {
|
|
75
|
+
const delta = finding.severity === 'P0' ? -0.3 : finding.severity === 'P1' ? -0.2 : -0.1;
|
|
76
|
+
this.graph.updateEdgeWeight(ae.source, ae.target, ae.type, delta);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=graph-feedback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-feedback.js","sourceRoot":"","sources":["../../src/runtime/graph-feedback.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import type { ExecutionGraph } from './execution-graph.js';
|
|
2
|
+
/**
|
|
3
|
+
* Pure TypeScript 2D matrix operations for the GNN predictor.
|
|
4
|
+
* No external dependencies — uses Box-Muller for random normal init.
|
|
5
|
+
*/
|
|
6
|
+
export declare class Matrix {
|
|
7
|
+
rows: number;
|
|
8
|
+
cols: number;
|
|
9
|
+
data: number[][];
|
|
10
|
+
constructor(rows: number, cols: number, data: number[][]);
|
|
11
|
+
static zeros(r: number, c: number): Matrix;
|
|
12
|
+
static fromArray(data: number[][]): Matrix;
|
|
13
|
+
/** Xavier normal via Box-Muller transform. */
|
|
14
|
+
static random(r: number, c: number, scale: number): Matrix;
|
|
15
|
+
/** (r×k) @ (k×c) → (r×c) */
|
|
16
|
+
multiply(other: Matrix): Matrix;
|
|
17
|
+
/** Element-wise add with (1,c) → (r,c) broadcast support. */
|
|
18
|
+
add(other: Matrix): Matrix;
|
|
19
|
+
subtract(other: Matrix): Matrix;
|
|
20
|
+
/** Scalar multiply. */
|
|
21
|
+
scale(s: number): Matrix;
|
|
22
|
+
/** Element-wise multiply. */
|
|
23
|
+
hadamard(other: Matrix): Matrix;
|
|
24
|
+
transpose(): Matrix;
|
|
25
|
+
/** max(0, x) */
|
|
26
|
+
relu(): Matrix;
|
|
27
|
+
/** 1/(1+exp(-clamp(x))) with clamp [-500, 500] */
|
|
28
|
+
sigmoid(): Matrix;
|
|
29
|
+
/** 1 if x>0, else 0 */
|
|
30
|
+
reluGrad(): Matrix;
|
|
31
|
+
/** (r,c) → (1,c) mean across rows */
|
|
32
|
+
meanRows(): Matrix;
|
|
33
|
+
/** (r,c) → (1,c) sum across rows */
|
|
34
|
+
sumRows(): Matrix;
|
|
35
|
+
getRow(i: number): number[];
|
|
36
|
+
setRow(i: number, v: number[]): void;
|
|
37
|
+
addToRow(i: number, v: number[]): void;
|
|
38
|
+
toJSON(): number[][];
|
|
39
|
+
static fromJSON(d: number[][]): Matrix;
|
|
40
|
+
}
|
|
41
|
+
export interface GNNWeights {
|
|
42
|
+
W: Matrix[];
|
|
43
|
+
Bself: Matrix[];
|
|
44
|
+
bias: Matrix[];
|
|
45
|
+
Wout: Matrix;
|
|
46
|
+
bout: number;
|
|
47
|
+
}
|
|
48
|
+
export interface PropagationRisk {
|
|
49
|
+
nodeId: string;
|
|
50
|
+
nodeType: string;
|
|
51
|
+
riskScore: number;
|
|
52
|
+
affectedDownstream: string[];
|
|
53
|
+
}
|
|
54
|
+
export interface CircuitBreaker {
|
|
55
|
+
afterNodeId: string;
|
|
56
|
+
riskReduction: number;
|
|
57
|
+
reason: string;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* 3-layer message-passing GNN for predicting orchestration pass/fail
|
|
61
|
+
* from graph topology. Uses the ExecutionGraph for feature extraction
|
|
62
|
+
* and adjacency construction.
|
|
63
|
+
*/
|
|
64
|
+
export declare class FailurePropagationPredictor {
|
|
65
|
+
private graph;
|
|
66
|
+
constructor(graph: ExecutionGraph);
|
|
67
|
+
/**
|
|
68
|
+
* Extract node features from an orchestration subgraph.
|
|
69
|
+
* Features: 7 one-hot type + 1 success rate = 8 dimensions.
|
|
70
|
+
*/
|
|
71
|
+
private extractFeatures;
|
|
72
|
+
/** Initialize weights with Xavier normal scaling. */
|
|
73
|
+
initWeights(F?: number, H?: number): GNNWeights;
|
|
74
|
+
/**
|
|
75
|
+
* Forward pass: 3-layer message passing → global mean pool → sigmoid.
|
|
76
|
+
*
|
|
77
|
+
* Per layer: agg_v = mean(H[u] for u in neighbors(v)) [self if isolated]
|
|
78
|
+
* pre_v = agg_v @ W[k] + H[v] @ Bself[k] + bias[k]
|
|
79
|
+
* H_v = ReLU(pre_v)
|
|
80
|
+
* Output: pooled = mean(H_final), logit = pooled @ Wout + bout, pred = sigmoid(logit)
|
|
81
|
+
*/
|
|
82
|
+
forward(features: Matrix, adjacency: Map<number, number[]>, weights: GNNWeights): {
|
|
83
|
+
prediction: number;
|
|
84
|
+
layerOutputs: Matrix[];
|
|
85
|
+
aggregated: Matrix[];
|
|
86
|
+
preActivation: Matrix[];
|
|
87
|
+
pooled: Matrix;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Train on one example via backprop through all 3 message-passing layers.
|
|
91
|
+
* Updates weights in-place. Returns binary cross-entropy loss.
|
|
92
|
+
*/
|
|
93
|
+
trainStep(features: Matrix, adjacency: Map<number, number[]>, label: 0 | 1, weights: GNNWeights, lr?: number): number;
|
|
94
|
+
/** Train on all historical orchestrations. Label: 1=completed, 0=failed. */
|
|
95
|
+
train(weights: GNNWeights, epochs?: number, lr?: number): {
|
|
96
|
+
finalLoss: number;
|
|
97
|
+
epochs: number;
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Predict failure risk per node. Per-node risk is derived from
|
|
101
|
+
* the node's final hidden representation projected through Wout:
|
|
102
|
+
* risk = 1 - sigmoid(H_v @ Wout + bout).
|
|
103
|
+
*/
|
|
104
|
+
predict(orchestrationId: string, weights: GNNWeights): PropagationRisk[];
|
|
105
|
+
/**
|
|
106
|
+
* Find optimal circuit breaker placement by simulating node removal.
|
|
107
|
+
* For each node, zero its features and re-run forward. Nodes whose
|
|
108
|
+
* removal most increases the success prediction are candidates.
|
|
109
|
+
*/
|
|
110
|
+
findCircuitBreakers(orchestrationId: string, weights: GNNWeights): CircuitBreaker[];
|
|
111
|
+
/**
|
|
112
|
+
* Compute the GNN pooled embedding for an orchestration.
|
|
113
|
+
* Returns the 16-dim mean-pooled hidden state, or null if no nodes found.
|
|
114
|
+
* Used by OrchestrationEmbedder for similarity search.
|
|
115
|
+
*/
|
|
116
|
+
embed(orchestrationId: string, weights: GNNWeights): number[] | null;
|
|
117
|
+
static weightsToJSON(w: GNNWeights): object;
|
|
118
|
+
static weightsFromJSON(d: any): GNNWeights;
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=graph-gnn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-gnn.d.ts","sourceRoot":"","sources":["../../src/runtime/graph-gnn.ts"],"names":[],"mappings":"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"}
|