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,339 @@
|
|
|
1
|
+
import { GraphLearner } from './graph-learner.js';
|
|
2
|
+
// ─── Helpers ──────────────────────────────────────────────────────
|
|
3
|
+
const FEATURE_DIM = 5;
|
|
4
|
+
const DEFAULT_COST_PER_TOKEN = 0.000015;
|
|
5
|
+
const DEFAULT_TOKENS = 10000;
|
|
6
|
+
const DEFAULT_DURATION_MS = 30000;
|
|
7
|
+
function sigmoid(x) {
|
|
8
|
+
return 1 / (1 + Math.exp(-Math.max(-500, Math.min(500, x))));
|
|
9
|
+
}
|
|
10
|
+
function dot(a, b) {
|
|
11
|
+
let s = 0;
|
|
12
|
+
for (let i = 0; i < Math.min(a.length, b.length); i++)
|
|
13
|
+
s += a[i] * b[i];
|
|
14
|
+
return s;
|
|
15
|
+
}
|
|
16
|
+
function confidenceToScore(c) {
|
|
17
|
+
if (c === 'high')
|
|
18
|
+
return 1.0;
|
|
19
|
+
if (c === 'medium')
|
|
20
|
+
return 0.5;
|
|
21
|
+
if (c === 'low')
|
|
22
|
+
return 0.0;
|
|
23
|
+
return 0.5; // unknown → neutral
|
|
24
|
+
}
|
|
25
|
+
// ─── TrajectoryPredictor ──────────────────────────────────────────
|
|
26
|
+
/**
|
|
27
|
+
* Predicts success probability for an in-progress orchestration based on
|
|
28
|
+
* its current phase trajectory. Uses online logistic regression trained
|
|
29
|
+
* from historical orchestration outcomes stored in the execution graph.
|
|
30
|
+
*/
|
|
31
|
+
export class TrajectoryPredictor {
|
|
32
|
+
graph;
|
|
33
|
+
model;
|
|
34
|
+
constructor(graph) {
|
|
35
|
+
this.graph = graph;
|
|
36
|
+
this.model = TrajectoryPredictor.initModel();
|
|
37
|
+
this.loadFromGraph();
|
|
38
|
+
}
|
|
39
|
+
static initModel() {
|
|
40
|
+
return {
|
|
41
|
+
weights: new Array(FEATURE_DIM).fill(0),
|
|
42
|
+
bias: 0.0, // neutral starting point
|
|
43
|
+
learnRate: 0.05,
|
|
44
|
+
positiveCount: 0,
|
|
45
|
+
negativeCount: 0,
|
|
46
|
+
historicalAvgTokens: 50_000,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Extract trajectory features from an in-progress orchestration at the
|
|
51
|
+
* completion of `currentPhase`.
|
|
52
|
+
*/
|
|
53
|
+
extractFeatures(orchestration, currentPhase) {
|
|
54
|
+
const phases = orchestration.phases;
|
|
55
|
+
const total = phases.length;
|
|
56
|
+
const completed = phases.filter((p) => p.status === 'completed' || p.status === 'failed').length;
|
|
57
|
+
const failed = phases.filter((p) => p.status === 'failed').length;
|
|
58
|
+
const completionRatio = total > 0 ? completed / total : 0;
|
|
59
|
+
const failedPhaseRatio = completed > 0 ? failed / completed : 0;
|
|
60
|
+
// Average confidence from completed phases' last agents
|
|
61
|
+
const confidenceScores = [];
|
|
62
|
+
for (const phase of phases) {
|
|
63
|
+
if (phase.status !== 'completed')
|
|
64
|
+
continue;
|
|
65
|
+
const lastAgent = phase.agents[phase.agents.length - 1];
|
|
66
|
+
if (lastAgent?.result?.confidence) {
|
|
67
|
+
confidenceScores.push(confidenceToScore(lastAgent.result.confidence));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
const avgConfidence = confidenceScores.length > 0
|
|
71
|
+
? confidenceScores.reduce((a, b) => a + b, 0) / confidenceScores.length
|
|
72
|
+
: 0.5;
|
|
73
|
+
// Token ratio vs historical average
|
|
74
|
+
const actualTokens = orchestration.phases
|
|
75
|
+
.filter((p) => p.status === 'completed')
|
|
76
|
+
.reduce((s, p) => s + p.usage.totalTokens, 0);
|
|
77
|
+
const tokenRatio = Math.min(3, actualTokens / Math.max(1, this.model.historicalAvgTokens));
|
|
78
|
+
// Structural quality: does the plan include review + test phases?
|
|
79
|
+
const kinds = new Set(phases.map((p) => p.config.kind ?? ''));
|
|
80
|
+
const hasGoodStructure = kinds.has('review') && (kinds.has('test') || kinds.has('integrate'));
|
|
81
|
+
return { completionRatio, avgConfidence, tokenRatio, hasGoodStructure, failedPhaseRatio };
|
|
82
|
+
}
|
|
83
|
+
/** Convert features to numeric vector. */
|
|
84
|
+
featureVector(f) {
|
|
85
|
+
return [
|
|
86
|
+
f.completionRatio,
|
|
87
|
+
f.avgConfidence,
|
|
88
|
+
f.tokenRatio / 3, // normalize to [0,1]
|
|
89
|
+
f.hasGoodStructure ? 1 : 0,
|
|
90
|
+
f.failedPhaseRatio,
|
|
91
|
+
];
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Predict success probability from current trajectory features.
|
|
95
|
+
* Adds human-readable factor explanations.
|
|
96
|
+
*/
|
|
97
|
+
predict(features) {
|
|
98
|
+
const x = this.featureVector(features);
|
|
99
|
+
const logit = dot(this.model.weights, x) + this.model.bias;
|
|
100
|
+
const successProbability = sigmoid(logit);
|
|
101
|
+
// Classify trajectory trend
|
|
102
|
+
let trajectory = 'unknown';
|
|
103
|
+
if (features.failedPhaseRatio > 0.3) {
|
|
104
|
+
trajectory = 'degrading';
|
|
105
|
+
}
|
|
106
|
+
else if (features.avgConfidence > 0.7 && features.failedPhaseRatio === 0) {
|
|
107
|
+
trajectory = 'on-track';
|
|
108
|
+
}
|
|
109
|
+
else if (features.failedPhaseRatio > 0 && features.avgConfidence > 0.5) {
|
|
110
|
+
trajectory = 'recovering';
|
|
111
|
+
}
|
|
112
|
+
// Confidence based on training sample size
|
|
113
|
+
const total = this.model.positiveCount + this.model.negativeCount;
|
|
114
|
+
const confidence = total < 10 ? 'low' : total < 50 ? 'medium' : 'high';
|
|
115
|
+
// Explain the key factors
|
|
116
|
+
const factors = [];
|
|
117
|
+
if (features.failedPhaseRatio > 0.2) {
|
|
118
|
+
factors.push(`${Math.round(features.failedPhaseRatio * 100)}% of completed phases failed`);
|
|
119
|
+
}
|
|
120
|
+
if (features.avgConfidence < 0.4) {
|
|
121
|
+
factors.push('low average agent confidence');
|
|
122
|
+
}
|
|
123
|
+
if (features.tokenRatio > 2) {
|
|
124
|
+
factors.push('token consumption 2× above historical average');
|
|
125
|
+
}
|
|
126
|
+
if (!features.hasGoodStructure) {
|
|
127
|
+
factors.push('no review or test phases planned');
|
|
128
|
+
}
|
|
129
|
+
if (features.completionRatio > 0.8) {
|
|
130
|
+
factors.push('near completion');
|
|
131
|
+
}
|
|
132
|
+
if (factors.length === 0) {
|
|
133
|
+
factors.push('trajectory looks nominal');
|
|
134
|
+
}
|
|
135
|
+
return { successProbability, confidence, trajectory, factors };
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Record the actual outcome of a completed orchestration, updating the model
|
|
139
|
+
* and historical token average via online SGD.
|
|
140
|
+
*/
|
|
141
|
+
recordOutcome(orchestration, succeeded, currentPhase) {
|
|
142
|
+
// Update historical token average
|
|
143
|
+
const totalTokens = orchestration.usage?.totalTokens ?? 0;
|
|
144
|
+
if (totalTokens > 0) {
|
|
145
|
+
const alpha = 0.1; // exponential moving average
|
|
146
|
+
this.model.historicalAvgTokens =
|
|
147
|
+
alpha * totalTokens + (1 - alpha) * this.model.historicalAvgTokens;
|
|
148
|
+
}
|
|
149
|
+
// Extract features from the final state
|
|
150
|
+
const syntheticPhase = currentPhase ?? orchestration.phases[orchestration.phases.length - 1];
|
|
151
|
+
if (!syntheticPhase)
|
|
152
|
+
return;
|
|
153
|
+
const features = this.extractFeatures(orchestration, syntheticPhase);
|
|
154
|
+
const x = this.featureVector(features);
|
|
155
|
+
const label = succeeded ? 1 : 0;
|
|
156
|
+
const classWeight = succeeded ? 1.0 : 2.0; // up-weight failures
|
|
157
|
+
const pred = sigmoid(dot(this.model.weights, x) + this.model.bias);
|
|
158
|
+
const error = (pred - label) * classWeight;
|
|
159
|
+
const lr = this.model.learnRate;
|
|
160
|
+
for (let i = 0; i < FEATURE_DIM; i++) {
|
|
161
|
+
this.model.weights[i] -= lr * error * x[i];
|
|
162
|
+
}
|
|
163
|
+
this.model.bias -= lr * error;
|
|
164
|
+
if (succeeded) {
|
|
165
|
+
this.model.positiveCount++;
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
this.model.negativeCount++;
|
|
169
|
+
}
|
|
170
|
+
this.saveToGraph();
|
|
171
|
+
}
|
|
172
|
+
// ─── Trajectory Forecast ─────────────────────────────────────────
|
|
173
|
+
/**
|
|
174
|
+
* Combine GNN topology features, causal estimates, and historical pattern
|
|
175
|
+
* stats into a unified forecast for remaining phases after each phase completes.
|
|
176
|
+
*/
|
|
177
|
+
predictTrajectory(orchestrationId, completedPhases, remainingPhaseNames, patternName) {
|
|
178
|
+
const learner = new GraphLearner(this.graph);
|
|
179
|
+
const patternStatsList = patternName ? learner.getPatternStats(patternName) : [];
|
|
180
|
+
const patternStat = patternStatsList.length > 0 ? patternStatsList[0] : null;
|
|
181
|
+
const completedConfidences = completedPhases.map((p) => p.confidence);
|
|
182
|
+
const lowConfCount = completedConfidences.filter((c) => c === 'low').length;
|
|
183
|
+
const phases = remainingPhaseNames.map((name) => {
|
|
184
|
+
const successProb = this.estimatePhaseSuccess(name, patternName, completedConfidences);
|
|
185
|
+
const estimatedTokens = this.estimatePhaseTokens(name);
|
|
186
|
+
const estimatedDurationMs = this.estimatePhaseDuration(name);
|
|
187
|
+
const risks = [];
|
|
188
|
+
if (lowConfCount > 0) {
|
|
189
|
+
risks.push(`${lowConfCount} completed phase(s) had low confidence`);
|
|
190
|
+
}
|
|
191
|
+
if (successProb < 0.5) {
|
|
192
|
+
risks.push(`Historical success rate for "${name}" is below 50%`);
|
|
193
|
+
}
|
|
194
|
+
return { name, successProb, estimatedTokens, estimatedDurationMs, risks };
|
|
195
|
+
});
|
|
196
|
+
// Overall success = product of phase success probs
|
|
197
|
+
let overallSuccessProb = phases.length > 0
|
|
198
|
+
? phases.reduce((acc, p) => acc * p.successProb, 1)
|
|
199
|
+
: 1;
|
|
200
|
+
// Adjust downward if any completed phase had low confidence
|
|
201
|
+
if (lowConfCount > 0) {
|
|
202
|
+
overallSuccessProb *= Math.pow(0.8, lowConfCount);
|
|
203
|
+
}
|
|
204
|
+
overallSuccessProb = Math.max(0, Math.min(1, overallSuccessProb));
|
|
205
|
+
// Budget forecast: (completed + estimated remaining) tokens × cost per token
|
|
206
|
+
const costPerToken = this.deriveCostPerToken();
|
|
207
|
+
const completedTokenCost = completedPhases.reduce((sum, p) => sum + p.tokens, 0) * costPerToken;
|
|
208
|
+
const estimatedTokenCost = phases.reduce((sum, p) => sum + p.estimatedTokens, 0) * costPerToken;
|
|
209
|
+
const budgetForecast = completedTokenCost + estimatedTokenCost;
|
|
210
|
+
// Recommendations
|
|
211
|
+
const recommendations = [];
|
|
212
|
+
for (const phase of phases) {
|
|
213
|
+
if (phase.successProb < 0.5) {
|
|
214
|
+
recommendations.push(`Phase "${phase.name}" has low success probability (${(phase.successProb * 100).toFixed(0)}%) — consider escalating model`);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
if (patternStat && patternStat.avgCostUsd > 0 && budgetForecast > 2 * patternStat.avgCostUsd) {
|
|
218
|
+
recommendations.push('Budget forecast exceeds 2x pattern average — consider downgrading models for non-critical phases');
|
|
219
|
+
}
|
|
220
|
+
if (lowConfCount > 0) {
|
|
221
|
+
recommendations.push('Completed research had low confidence — consider adding more researchers');
|
|
222
|
+
}
|
|
223
|
+
// Confidence from pattern sample count
|
|
224
|
+
const sampleCount = patternStat?.totalRuns ?? 0;
|
|
225
|
+
let confidence;
|
|
226
|
+
if (sampleCount < 5)
|
|
227
|
+
confidence = 'low';
|
|
228
|
+
else if (sampleCount <= 20)
|
|
229
|
+
confidence = 'medium';
|
|
230
|
+
else
|
|
231
|
+
confidence = 'high';
|
|
232
|
+
return { phases, overallSuccessProb, budgetForecast, recommendations, confidence };
|
|
233
|
+
}
|
|
234
|
+
/** Estimate phase success probability from historical phase data. */
|
|
235
|
+
estimatePhaseSuccess(phaseKind, patternName, completedPhaseConfidences) {
|
|
236
|
+
const allPhases = this.graph.getNodesByType('phase');
|
|
237
|
+
const matching = allPhases.filter((p) => p.label === phaseKind);
|
|
238
|
+
let baseRate;
|
|
239
|
+
if (matching.length > 0) {
|
|
240
|
+
const succeeded = matching.filter((p) => p.properties.status === 'completed');
|
|
241
|
+
const failed = matching.filter((p) => p.properties.status === 'failed' || p.properties.status === 'error');
|
|
242
|
+
const total = succeeded.length + failed.length;
|
|
243
|
+
baseRate = total > 0 ? succeeded.length / total : 0.5;
|
|
244
|
+
}
|
|
245
|
+
else if (patternName) {
|
|
246
|
+
const learner = new GraphLearner(this.graph);
|
|
247
|
+
const stats = learner.getPatternStats(patternName);
|
|
248
|
+
baseRate = stats.length > 0 ? stats[0].successRate : 0.5;
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
baseRate = 0.5;
|
|
252
|
+
}
|
|
253
|
+
// Degrade by low-confidence completed phases (10% reduction each)
|
|
254
|
+
const lowConfCount = completedPhaseConfidences.filter((c) => c === 'low').length;
|
|
255
|
+
if (lowConfCount > 0) {
|
|
256
|
+
baseRate *= Math.pow(0.9, lowConfCount);
|
|
257
|
+
}
|
|
258
|
+
return Math.max(0, Math.min(1, baseRate));
|
|
259
|
+
}
|
|
260
|
+
/** Estimate token usage for a phase kind based on historical averages. */
|
|
261
|
+
estimatePhaseTokens(phaseKind) {
|
|
262
|
+
const allPhases = this.graph.getNodesByType('phase');
|
|
263
|
+
const matching = allPhases.filter((p) => p.label === phaseKind);
|
|
264
|
+
const tokenValues = matching
|
|
265
|
+
.map((p) => {
|
|
266
|
+
const usage = p.properties.usage;
|
|
267
|
+
return usage?.totalTokens ?? 0;
|
|
268
|
+
})
|
|
269
|
+
.filter((t) => t > 0);
|
|
270
|
+
if (tokenValues.length > 0) {
|
|
271
|
+
return tokenValues.reduce((a, b) => a + b, 0) / tokenValues.length;
|
|
272
|
+
}
|
|
273
|
+
return DEFAULT_TOKENS;
|
|
274
|
+
}
|
|
275
|
+
/** Estimate duration for a phase kind based on historical averages. */
|
|
276
|
+
estimatePhaseDuration(phaseKind) {
|
|
277
|
+
const allPhases = this.graph.getNodesByType('phase');
|
|
278
|
+
const matching = allPhases.filter((p) => p.label === phaseKind);
|
|
279
|
+
const durations = matching
|
|
280
|
+
.map((p) => {
|
|
281
|
+
const usage = p.properties.usage;
|
|
282
|
+
return usage?.durationMs ?? 0;
|
|
283
|
+
})
|
|
284
|
+
.filter((d) => d > 0);
|
|
285
|
+
if (durations.length > 0) {
|
|
286
|
+
return durations.reduce((a, b) => a + b, 0) / durations.length;
|
|
287
|
+
}
|
|
288
|
+
return DEFAULT_DURATION_MS;
|
|
289
|
+
}
|
|
290
|
+
/** Derive cost per token from historical phase data, or use default. */
|
|
291
|
+
deriveCostPerToken() {
|
|
292
|
+
const allPhases = this.graph.getNodesByType('phase');
|
|
293
|
+
let totalTokens = 0;
|
|
294
|
+
let totalCost = 0;
|
|
295
|
+
for (const phase of allPhases) {
|
|
296
|
+
const usage = phase.properties.usage;
|
|
297
|
+
if (usage?.totalTokens && usage.totalTokens > 0 && usage?.costUsd && usage.costUsd > 0) {
|
|
298
|
+
totalTokens += usage.totalTokens;
|
|
299
|
+
totalCost += usage.costUsd;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
if (totalTokens > 0 && totalCost > 0) {
|
|
303
|
+
return totalCost / totalTokens;
|
|
304
|
+
}
|
|
305
|
+
return DEFAULT_COST_PER_TOKEN;
|
|
306
|
+
}
|
|
307
|
+
// ─── Persistence ─────────────────────────────────────────────────
|
|
308
|
+
saveToGraph() {
|
|
309
|
+
this.graph.addNode({
|
|
310
|
+
id: 'trajectory:model',
|
|
311
|
+
type: 'heuristic',
|
|
312
|
+
label: 'Trajectory Predictor Model',
|
|
313
|
+
properties: {
|
|
314
|
+
weights: this.model.weights,
|
|
315
|
+
bias: this.model.bias,
|
|
316
|
+
learnRate: this.model.learnRate,
|
|
317
|
+
positiveCount: this.model.positiveCount,
|
|
318
|
+
negativeCount: this.model.negativeCount,
|
|
319
|
+
historicalAvgTokens: this.model.historicalAvgTokens,
|
|
320
|
+
},
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
loadFromGraph() {
|
|
324
|
+
const node = this.graph.getNode('trajectory:model');
|
|
325
|
+
if (!node)
|
|
326
|
+
return;
|
|
327
|
+
const p = node.properties;
|
|
328
|
+
const weights = p.weights;
|
|
329
|
+
if (weights && Array.isArray(weights) && weights.length === FEATURE_DIM) {
|
|
330
|
+
this.model.weights = weights;
|
|
331
|
+
this.model.bias = p.bias ?? 0;
|
|
332
|
+
this.model.learnRate = p.learnRate ?? 0.05;
|
|
333
|
+
this.model.positiveCount = p.positiveCount ?? 0;
|
|
334
|
+
this.model.negativeCount = p.negativeCount ?? 0;
|
|
335
|
+
this.model.historicalAvgTokens = p.historicalAvgTokens ?? 50_000;
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
//# sourceMappingURL=graph-trajectory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-trajectory.js","sourceRoot":"","sources":["../../src/runtime/graph-trajectory.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,12 +6,20 @@ import { KnowledgeCompounder } from './compounder.js';
|
|
|
6
6
|
import { ModelRouter } from './model-router.js';
|
|
7
7
|
import { AutonomyTracker } from './autonomy.js';
|
|
8
8
|
import type { ExecutionPlan } from '../core/types.js';
|
|
9
|
+
import type { GraphLearner } from './graph-learner.js';
|
|
10
|
+
import type { MetaPatternSelector } from './graph-meta.js';
|
|
11
|
+
import type { PredictiveDropout } from './graph-dropout.js';
|
|
12
|
+
import type { OrchestrationEmbedder } from './graph-embeddings.js';
|
|
9
13
|
export interface LearningEngineDeps {
|
|
10
14
|
traceStore: TraceStore | null;
|
|
11
15
|
heuristicStore: HeuristicStore | null;
|
|
12
16
|
modelRouter: ModelRouter | null;
|
|
13
17
|
autonomyTracker: AutonomyTracker | null;
|
|
14
18
|
compounder: KnowledgeCompounder | null;
|
|
19
|
+
graphLearner?: GraphLearner | null;
|
|
20
|
+
metaSelector?: MetaPatternSelector | null;
|
|
21
|
+
predictiveDropout?: PredictiveDropout | null;
|
|
22
|
+
orchestrationEmbedder?: OrchestrationEmbedder | null;
|
|
15
23
|
log: Logger;
|
|
16
24
|
}
|
|
17
25
|
/**
|
|
@@ -25,6 +33,10 @@ export declare class LearningEngine {
|
|
|
25
33
|
private modelRouter;
|
|
26
34
|
private autonomyTracker;
|
|
27
35
|
private compounder;
|
|
36
|
+
private graphLearner;
|
|
37
|
+
private metaSelector;
|
|
38
|
+
private predictiveDropout;
|
|
39
|
+
private orchestrationEmbedder;
|
|
28
40
|
private log;
|
|
29
41
|
constructor(deps: LearningEngineDeps);
|
|
30
42
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"learning-engine.d.ts","sourceRoot":"","sources":["../../src/runtime/learning-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"learning-engine.d.ts","sourceRoot":"","sources":["../../src/runtime/learning-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACvC,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,YAAY,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC1C,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC7C,qBAAqB,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACrD,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;GAIG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,qBAAqB,CAA+B;IAC5D,OAAO,CAAC,GAAG,CAAS;gBAER,IAAI,EAAE,kBAAkB;IAapC;;OAEG;IACG,aAAa,CACjB,aAAa,EAAE,qBAAqB,EACpC,MAAM,EAAE,mBAAmB,EAC3B,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,IAAI,CAAC;IAwIhB;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,MAAM,GAAG,IAAI;IAsBjE;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAiC3C;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAiB1C;;OAEG;IACH,KAAK,IAAI,IAAI;CAcd"}
|
|
@@ -10,6 +10,10 @@ export class LearningEngine {
|
|
|
10
10
|
modelRouter;
|
|
11
11
|
autonomyTracker;
|
|
12
12
|
compounder;
|
|
13
|
+
graphLearner;
|
|
14
|
+
metaSelector;
|
|
15
|
+
predictiveDropout;
|
|
16
|
+
orchestrationEmbedder;
|
|
13
17
|
log;
|
|
14
18
|
constructor(deps) {
|
|
15
19
|
this.traceStore = deps.traceStore;
|
|
@@ -17,6 +21,10 @@ export class LearningEngine {
|
|
|
17
21
|
this.modelRouter = deps.modelRouter;
|
|
18
22
|
this.autonomyTracker = deps.autonomyTracker;
|
|
19
23
|
this.compounder = deps.compounder;
|
|
24
|
+
this.graphLearner = deps.graphLearner ?? null;
|
|
25
|
+
this.metaSelector = deps.metaSelector ?? null;
|
|
26
|
+
this.predictiveDropout = deps.predictiveDropout ?? null;
|
|
27
|
+
this.orchestrationEmbedder = deps.orchestrationEmbedder ?? null;
|
|
20
28
|
this.log = deps.log.child('learning');
|
|
21
29
|
}
|
|
22
30
|
/**
|
|
@@ -118,6 +126,46 @@ export class LearningEngine {
|
|
|
118
126
|
const intervention = orchestration.phases.some((p) => p.config.requiresApproval);
|
|
119
127
|
this.autonomyTracker.record(config.pattern, success, intervention);
|
|
120
128
|
}
|
|
129
|
+
// Record cross-run edges in the execution graph
|
|
130
|
+
if (this.graphLearner) {
|
|
131
|
+
try {
|
|
132
|
+
this.graphLearner.recordCrossRunEdges(config.id);
|
|
133
|
+
}
|
|
134
|
+
catch {
|
|
135
|
+
/* Don't fail orchestration if graph learning fails */
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
// Update meta-pattern selector from outcome (Feature 4)
|
|
139
|
+
if (this.metaSelector) {
|
|
140
|
+
try {
|
|
141
|
+
this.metaSelector.updateFromOutcome(config.id, orchestration.status === 'completed');
|
|
142
|
+
}
|
|
143
|
+
catch { /* silent */ }
|
|
144
|
+
}
|
|
145
|
+
// Train predictive dropout from agent contribution data (Feature 5)
|
|
146
|
+
if (this.predictiveDropout) {
|
|
147
|
+
try {
|
|
148
|
+
for (const phase of orchestration.phases) {
|
|
149
|
+
for (const agent of phase.agents) {
|
|
150
|
+
this.predictiveDropout.train({
|
|
151
|
+
agentType: agent.config.name,
|
|
152
|
+
phaseKind: phase.config.kind ?? 'implement',
|
|
153
|
+
fileCount: agent.result?.filesTouched?.length ?? 0,
|
|
154
|
+
pattern: config.pattern,
|
|
155
|
+
contributed: !!(agent.result?.output?.length),
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
catch { /* silent */ }
|
|
161
|
+
}
|
|
162
|
+
// Store orchestration embedding for similarity search
|
|
163
|
+
if (this.orchestrationEmbedder) {
|
|
164
|
+
try {
|
|
165
|
+
this.orchestrationEmbedder.storeEmbedding(config.id);
|
|
166
|
+
}
|
|
167
|
+
catch { /* silent */ }
|
|
168
|
+
}
|
|
121
169
|
}
|
|
122
170
|
/**
|
|
123
171
|
* Find similar past traces for a task description.
|
|
@@ -163,6 +211,22 @@ export class LearningEngine {
|
|
|
163
211
|
catch {
|
|
164
212
|
/* Don't fail planning if heuristic retrieval fails */
|
|
165
213
|
}
|
|
214
|
+
// Enrich with pattern success rates from the graph
|
|
215
|
+
if (this.graphLearner) {
|
|
216
|
+
try {
|
|
217
|
+
const stats = this.graphLearner.getPatternStats(plan.pattern);
|
|
218
|
+
if (stats.length > 0) {
|
|
219
|
+
const patternContext = this.graphLearner.formatPatternContext(stats);
|
|
220
|
+
for (const agent of plan.phases[0]?.agents ?? []) {
|
|
221
|
+
agent.prompt = `${patternContext}\n\n${agent.prompt}`;
|
|
222
|
+
}
|
|
223
|
+
this.log.info('Injected pattern stats into plan', { pattern: plan.pattern });
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
catch {
|
|
227
|
+
/* Don't fail planning if graph query fails */
|
|
228
|
+
}
|
|
229
|
+
}
|
|
166
230
|
}
|
|
167
231
|
/**
|
|
168
232
|
* Inject relevant past solutions into the first phase of a plan.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"learning-engine.js","sourceRoot":"","sources":["../../src/runtime/learning-engine.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"learning-engine.js","sourceRoot":"","sources":["../../src/runtime/learning-engine.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "swarm-engine",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.38.0",
|
|
4
|
+
"description": "Self-aware multi-agent orchestration engine with knowledge graph, causal inference, GNN failure prediction, and self-evolving rules — pure TypeScript",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|