swarm-engine 1.3.0 → 1.41.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 (145) hide show
  1. package/README.md +45 -7
  2. package/dist/cli/commands/memory.js +117 -0
  3. package/dist/cli/commands/memory.js.map +1 -1
  4. package/dist/core/patterns.d.ts +7 -1
  5. package/dist/core/patterns.d.ts.map +1 -1
  6. package/dist/core/patterns.js +23 -0
  7. package/dist/core/patterns.js.map +1 -1
  8. package/dist/core/types.d.ts +39 -0
  9. package/dist/core/types.d.ts.map +1 -1
  10. package/dist/core/types.js.map +1 -1
  11. package/dist/index.d.ts +55 -0
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +40 -0
  14. package/dist/index.js.map +1 -1
  15. package/dist/memory/index.d.ts +37 -0
  16. package/dist/memory/index.d.ts.map +1 -1
  17. package/dist/memory/index.js +91 -0
  18. package/dist/memory/index.js.map +1 -1
  19. package/dist/runtime/adaptive.d.ts +1 -0
  20. package/dist/runtime/adaptive.d.ts.map +1 -1
  21. package/dist/runtime/adaptive.js +18 -4
  22. package/dist/runtime/adaptive.js.map +1 -1
  23. package/dist/runtime/agent-runner.d.ts +18 -0
  24. package/dist/runtime/agent-runner.d.ts.map +1 -1
  25. package/dist/runtime/agent-runner.js +147 -4
  26. package/dist/runtime/agent-runner.js.map +1 -1
  27. package/dist/runtime/backends/claude-session.d.ts +49 -0
  28. package/dist/runtime/backends/claude-session.d.ts.map +1 -0
  29. package/dist/runtime/backends/claude-session.js +237 -0
  30. package/dist/runtime/backends/claude-session.js.map +1 -0
  31. package/dist/runtime/backends/claude.d.ts.map +1 -1
  32. package/dist/runtime/backends/claude.js +90 -4
  33. package/dist/runtime/backends/claude.js.map +1 -1
  34. package/dist/runtime/backends/types.d.ts +31 -1
  35. package/dist/runtime/backends/types.d.ts.map +1 -1
  36. package/dist/runtime/compaction.d.ts +7 -1
  37. package/dist/runtime/compaction.d.ts.map +1 -1
  38. package/dist/runtime/compaction.js +12 -2
  39. package/dist/runtime/compaction.js.map +1 -1
  40. package/dist/runtime/distiller.d.ts +1 -0
  41. package/dist/runtime/distiller.d.ts.map +1 -1
  42. package/dist/runtime/distiller.js +8 -2
  43. package/dist/runtime/distiller.js.map +1 -1
  44. package/dist/runtime/engine.d.ts +48 -2
  45. package/dist/runtime/engine.d.ts.map +1 -1
  46. package/dist/runtime/engine.js +600 -8
  47. package/dist/runtime/engine.js.map +1 -1
  48. package/dist/runtime/execution-graph.d.ts +86 -0
  49. package/dist/runtime/execution-graph.d.ts.map +1 -0
  50. package/dist/runtime/execution-graph.js +441 -0
  51. package/dist/runtime/execution-graph.js.map +1 -0
  52. package/dist/runtime/executor.d.ts +7 -1
  53. package/dist/runtime/executor.d.ts.map +1 -1
  54. package/dist/runtime/executor.js +20 -0
  55. package/dist/runtime/executor.js.map +1 -1
  56. package/dist/runtime/graph-adversarial.d.ts +88 -0
  57. package/dist/runtime/graph-adversarial.d.ts.map +1 -0
  58. package/dist/runtime/graph-adversarial.js +378 -0
  59. package/dist/runtime/graph-adversarial.js.map +1 -0
  60. package/dist/runtime/graph-analyzer.d.ts +106 -0
  61. package/dist/runtime/graph-analyzer.d.ts.map +1 -0
  62. package/dist/runtime/graph-analyzer.js +321 -0
  63. package/dist/runtime/graph-analyzer.js.map +1 -0
  64. package/dist/runtime/graph-causal.d.ts +91 -0
  65. package/dist/runtime/graph-causal.d.ts.map +1 -0
  66. package/dist/runtime/graph-causal.js +292 -0
  67. package/dist/runtime/graph-causal.js.map +1 -0
  68. package/dist/runtime/graph-context-router.d.ts +73 -0
  69. package/dist/runtime/graph-context-router.d.ts.map +1 -0
  70. package/dist/runtime/graph-context-router.js +162 -0
  71. package/dist/runtime/graph-context-router.js.map +1 -0
  72. package/dist/runtime/graph-discovery.d.ts +71 -0
  73. package/dist/runtime/graph-discovery.d.ts.map +1 -0
  74. package/dist/runtime/graph-discovery.js +364 -0
  75. package/dist/runtime/graph-discovery.js.map +1 -0
  76. package/dist/runtime/graph-dropout.d.ts +59 -0
  77. package/dist/runtime/graph-dropout.d.ts.map +1 -0
  78. package/dist/runtime/graph-dropout.js +204 -0
  79. package/dist/runtime/graph-dropout.js.map +1 -0
  80. package/dist/runtime/graph-embeddings.d.ts +58 -0
  81. package/dist/runtime/graph-embeddings.d.ts.map +1 -0
  82. package/dist/runtime/graph-embeddings.js +299 -0
  83. package/dist/runtime/graph-embeddings.js.map +1 -0
  84. package/dist/runtime/graph-feedback.d.ts +30 -0
  85. package/dist/runtime/graph-feedback.d.ts.map +1 -0
  86. package/dist/runtime/graph-feedback.js +80 -0
  87. package/dist/runtime/graph-feedback.js.map +1 -0
  88. package/dist/runtime/graph-gnn.d.ts +120 -0
  89. package/dist/runtime/graph-gnn.d.ts.map +1 -0
  90. package/dist/runtime/graph-gnn.js +524 -0
  91. package/dist/runtime/graph-gnn.js.map +1 -0
  92. package/dist/runtime/graph-learner.d.ts +70 -0
  93. package/dist/runtime/graph-learner.d.ts.map +1 -0
  94. package/dist/runtime/graph-learner.js +265 -0
  95. package/dist/runtime/graph-learner.js.map +1 -0
  96. package/dist/runtime/graph-meta-adversarial.d.ts +113 -0
  97. package/dist/runtime/graph-meta-adversarial.d.ts.map +1 -0
  98. package/dist/runtime/graph-meta-adversarial.js +366 -0
  99. package/dist/runtime/graph-meta-adversarial.js.map +1 -0
  100. package/dist/runtime/graph-meta.d.ts +115 -0
  101. package/dist/runtime/graph-meta.d.ts.map +1 -0
  102. package/dist/runtime/graph-meta.js +465 -0
  103. package/dist/runtime/graph-meta.js.map +1 -0
  104. package/dist/runtime/graph-self-evolve.d.ts +92 -0
  105. package/dist/runtime/graph-self-evolve.d.ts.map +1 -0
  106. package/dist/runtime/graph-self-evolve.js +422 -0
  107. package/dist/runtime/graph-self-evolve.js.map +1 -0
  108. package/dist/runtime/graph-synthesis.d.ts +47 -0
  109. package/dist/runtime/graph-synthesis.d.ts.map +1 -0
  110. package/dist/runtime/graph-synthesis.js +232 -0
  111. package/dist/runtime/graph-synthesis.js.map +1 -0
  112. package/dist/runtime/graph-trajectory.d.ts +88 -0
  113. package/dist/runtime/graph-trajectory.d.ts.map +1 -0
  114. package/dist/runtime/graph-trajectory.js +334 -0
  115. package/dist/runtime/graph-trajectory.js.map +1 -0
  116. package/dist/runtime/learning-engine.d.ts +12 -0
  117. package/dist/runtime/learning-engine.d.ts.map +1 -1
  118. package/dist/runtime/learning-engine.js +70 -0
  119. package/dist/runtime/learning-engine.js.map +1 -1
  120. package/dist/runtime/prompt-compressor.d.ts +16 -0
  121. package/dist/runtime/prompt-compressor.d.ts.map +1 -0
  122. package/dist/runtime/prompt-compressor.js +68 -0
  123. package/dist/runtime/prompt-compressor.js.map +1 -0
  124. package/dist/runtime/repo-map.d.ts +40 -0
  125. package/dist/runtime/repo-map.d.ts.map +1 -0
  126. package/dist/runtime/repo-map.js +358 -0
  127. package/dist/runtime/repo-map.js.map +1 -0
  128. package/dist/runtime/sdk-mcp-server.d.ts +44 -0
  129. package/dist/runtime/sdk-mcp-server.d.ts.map +1 -0
  130. package/dist/runtime/sdk-mcp-server.js +133 -0
  131. package/dist/runtime/sdk-mcp-server.js.map +1 -0
  132. package/dist/runtime/structured-handoff.d.ts +41 -0
  133. package/dist/runtime/structured-handoff.d.ts.map +1 -0
  134. package/dist/runtime/structured-handoff.js +279 -0
  135. package/dist/runtime/structured-handoff.js.map +1 -0
  136. package/dist/runtime/token-analytics.d.ts +38 -0
  137. package/dist/runtime/token-analytics.d.ts.map +1 -0
  138. package/dist/runtime/token-analytics.js +59 -0
  139. package/dist/runtime/token-analytics.js.map +1 -0
  140. package/dist/runtime/verifier.d.ts +10 -0
  141. package/dist/runtime/verifier.d.ts.map +1 -1
  142. package/dist/runtime/verifier.js +97 -1
  143. package/dist/runtime/verifier.js.map +1 -1
  144. package/package.json +2 -2
  145. package/skills/swarm-output-style/SKILL.md +71 -33
@@ -0,0 +1,334 @@
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 ? confidenceScores.reduce((a, b) => a + b, 0) / confidenceScores.length : 0.5;
71
+ // Token ratio vs historical average
72
+ const actualTokens = orchestration.phases
73
+ .filter((p) => p.status === 'completed')
74
+ .reduce((s, p) => s + p.usage.totalTokens, 0);
75
+ const tokenRatio = Math.min(3, actualTokens / Math.max(1, this.model.historicalAvgTokens));
76
+ // Structural quality: does the plan include review + test phases?
77
+ const kinds = new Set(phases.map((p) => p.config.kind ?? ''));
78
+ const hasGoodStructure = kinds.has('review') && (kinds.has('test') || kinds.has('integrate'));
79
+ return { completionRatio, avgConfidence, tokenRatio, hasGoodStructure, failedPhaseRatio };
80
+ }
81
+ /** Convert features to numeric vector. */
82
+ featureVector(f) {
83
+ return [
84
+ f.completionRatio,
85
+ f.avgConfidence,
86
+ f.tokenRatio / 3, // normalize to [0,1]
87
+ f.hasGoodStructure ? 1 : 0,
88
+ f.failedPhaseRatio,
89
+ ];
90
+ }
91
+ /**
92
+ * Predict success probability from current trajectory features.
93
+ * Adds human-readable factor explanations.
94
+ */
95
+ predict(features) {
96
+ const x = this.featureVector(features);
97
+ const logit = dot(this.model.weights, x) + this.model.bias;
98
+ const successProbability = sigmoid(logit);
99
+ // Classify trajectory trend
100
+ let trajectory = 'unknown';
101
+ if (features.failedPhaseRatio > 0.3) {
102
+ trajectory = 'degrading';
103
+ }
104
+ else if (features.avgConfidence > 0.7 && features.failedPhaseRatio === 0) {
105
+ trajectory = 'on-track';
106
+ }
107
+ else if (features.failedPhaseRatio > 0 && features.avgConfidence > 0.5) {
108
+ trajectory = 'recovering';
109
+ }
110
+ // Confidence based on training sample size
111
+ const total = this.model.positiveCount + this.model.negativeCount;
112
+ const confidence = total < 10 ? 'low' : total < 50 ? 'medium' : 'high';
113
+ // Explain the key factors
114
+ const factors = [];
115
+ if (features.failedPhaseRatio > 0.2) {
116
+ factors.push(`${Math.round(features.failedPhaseRatio * 100)}% of completed phases failed`);
117
+ }
118
+ if (features.avgConfidence < 0.4) {
119
+ factors.push('low average agent confidence');
120
+ }
121
+ if (features.tokenRatio > 2) {
122
+ factors.push('token consumption 2× above historical average');
123
+ }
124
+ if (!features.hasGoodStructure) {
125
+ factors.push('no review or test phases planned');
126
+ }
127
+ if (features.completionRatio > 0.8) {
128
+ factors.push('near completion');
129
+ }
130
+ if (factors.length === 0) {
131
+ factors.push('trajectory looks nominal');
132
+ }
133
+ return { successProbability, confidence, trajectory, factors };
134
+ }
135
+ /**
136
+ * Record the actual outcome of a completed orchestration, updating the model
137
+ * and historical token average via online SGD.
138
+ */
139
+ recordOutcome(orchestration, succeeded, currentPhase) {
140
+ // Update historical token average
141
+ const totalTokens = orchestration.usage?.totalTokens ?? 0;
142
+ if (totalTokens > 0) {
143
+ const alpha = 0.1; // exponential moving average
144
+ this.model.historicalAvgTokens = alpha * totalTokens + (1 - alpha) * this.model.historicalAvgTokens;
145
+ }
146
+ // Extract features from the final state
147
+ const syntheticPhase = currentPhase ?? orchestration.phases[orchestration.phases.length - 1];
148
+ if (!syntheticPhase)
149
+ return;
150
+ const features = this.extractFeatures(orchestration, syntheticPhase);
151
+ const x = this.featureVector(features);
152
+ const label = succeeded ? 1 : 0;
153
+ const classWeight = succeeded ? 1.0 : 2.0; // up-weight failures
154
+ const pred = sigmoid(dot(this.model.weights, x) + this.model.bias);
155
+ const error = (pred - label) * classWeight;
156
+ const lr = this.model.learnRate;
157
+ for (let i = 0; i < FEATURE_DIM; i++) {
158
+ this.model.weights[i] -= lr * error * x[i];
159
+ }
160
+ this.model.bias -= lr * error;
161
+ if (succeeded) {
162
+ this.model.positiveCount++;
163
+ }
164
+ else {
165
+ this.model.negativeCount++;
166
+ }
167
+ this.saveToGraph();
168
+ }
169
+ // ─── Trajectory Forecast ─────────────────────────────────────────
170
+ /**
171
+ * Combine GNN topology features, causal estimates, and historical pattern
172
+ * stats into a unified forecast for remaining phases after each phase completes.
173
+ */
174
+ predictTrajectory(orchestrationId, completedPhases, remainingPhaseNames, patternName) {
175
+ const learner = new GraphLearner(this.graph);
176
+ const patternStatsList = patternName ? learner.getPatternStats(patternName) : [];
177
+ const patternStat = patternStatsList.length > 0 ? patternStatsList[0] : null;
178
+ const completedConfidences = completedPhases.map((p) => p.confidence);
179
+ const lowConfCount = completedConfidences.filter((c) => c === 'low').length;
180
+ const phases = remainingPhaseNames.map((name) => {
181
+ const successProb = this.estimatePhaseSuccess(name, patternName, completedConfidences);
182
+ const estimatedTokens = this.estimatePhaseTokens(name);
183
+ const estimatedDurationMs = this.estimatePhaseDuration(name);
184
+ const risks = [];
185
+ if (lowConfCount > 0) {
186
+ risks.push(`${lowConfCount} completed phase(s) had low confidence`);
187
+ }
188
+ if (successProb < 0.5) {
189
+ risks.push(`Historical success rate for "${name}" is below 50%`);
190
+ }
191
+ return { name, successProb, estimatedTokens, estimatedDurationMs, risks };
192
+ });
193
+ // Overall success = product of phase success probs
194
+ let overallSuccessProb = phases.length > 0 ? phases.reduce((acc, p) => acc * p.successProb, 1) : 1;
195
+ // Adjust downward if any completed phase had low confidence
196
+ if (lowConfCount > 0) {
197
+ overallSuccessProb *= Math.pow(0.8, lowConfCount);
198
+ }
199
+ overallSuccessProb = Math.max(0, Math.min(1, overallSuccessProb));
200
+ // Budget forecast: (completed + estimated remaining) tokens × cost per token
201
+ const costPerToken = this.deriveCostPerToken();
202
+ const completedTokenCost = completedPhases.reduce((sum, p) => sum + p.tokens, 0) * costPerToken;
203
+ const estimatedTokenCost = phases.reduce((sum, p) => sum + p.estimatedTokens, 0) * costPerToken;
204
+ const budgetForecast = completedTokenCost + estimatedTokenCost;
205
+ // Recommendations
206
+ const recommendations = [];
207
+ for (const phase of phases) {
208
+ if (phase.successProb < 0.5) {
209
+ recommendations.push(`Phase "${phase.name}" has low success probability (${(phase.successProb * 100).toFixed(0)}%) — consider escalating model`);
210
+ }
211
+ }
212
+ if (patternStat && patternStat.avgCostUsd > 0 && budgetForecast > 2 * patternStat.avgCostUsd) {
213
+ recommendations.push('Budget forecast exceeds 2x pattern average — consider downgrading models for non-critical phases');
214
+ }
215
+ if (lowConfCount > 0) {
216
+ recommendations.push('Completed research had low confidence — consider adding more researchers');
217
+ }
218
+ // Confidence from pattern sample count
219
+ const sampleCount = patternStat?.totalRuns ?? 0;
220
+ let confidence;
221
+ if (sampleCount < 5)
222
+ confidence = 'low';
223
+ else if (sampleCount <= 20)
224
+ confidence = 'medium';
225
+ else
226
+ confidence = 'high';
227
+ return { phases, overallSuccessProb, budgetForecast, recommendations, confidence };
228
+ }
229
+ /** Estimate phase success probability from historical phase data. */
230
+ estimatePhaseSuccess(phaseKind, patternName, completedPhaseConfidences) {
231
+ const allPhases = this.graph.getNodesByType('phase');
232
+ const matching = allPhases.filter((p) => p.label === phaseKind);
233
+ let baseRate;
234
+ if (matching.length > 0) {
235
+ const succeeded = matching.filter((p) => p.properties.status === 'completed');
236
+ const failed = matching.filter((p) => p.properties.status === 'failed' || p.properties.status === 'error');
237
+ const total = succeeded.length + failed.length;
238
+ baseRate = total > 0 ? succeeded.length / total : 0.5;
239
+ }
240
+ else if (patternName) {
241
+ const learner = new GraphLearner(this.graph);
242
+ const stats = learner.getPatternStats(patternName);
243
+ baseRate = stats.length > 0 ? stats[0].successRate : 0.5;
244
+ }
245
+ else {
246
+ baseRate = 0.5;
247
+ }
248
+ // Degrade by low-confidence completed phases (10% reduction each)
249
+ const lowConfCount = completedPhaseConfidences.filter((c) => c === 'low').length;
250
+ if (lowConfCount > 0) {
251
+ baseRate *= Math.pow(0.9, lowConfCount);
252
+ }
253
+ return Math.max(0, Math.min(1, baseRate));
254
+ }
255
+ /** Estimate token usage for a phase kind based on historical averages. */
256
+ estimatePhaseTokens(phaseKind) {
257
+ const allPhases = this.graph.getNodesByType('phase');
258
+ const matching = allPhases.filter((p) => p.label === phaseKind);
259
+ const tokenValues = matching
260
+ .map((p) => {
261
+ const usage = p.properties.usage;
262
+ return usage?.totalTokens ?? 0;
263
+ })
264
+ .filter((t) => t > 0);
265
+ if (tokenValues.length > 0) {
266
+ return tokenValues.reduce((a, b) => a + b, 0) / tokenValues.length;
267
+ }
268
+ return DEFAULT_TOKENS;
269
+ }
270
+ /** Estimate duration for a phase kind based on historical averages. */
271
+ estimatePhaseDuration(phaseKind) {
272
+ const allPhases = this.graph.getNodesByType('phase');
273
+ const matching = allPhases.filter((p) => p.label === phaseKind);
274
+ const durations = matching
275
+ .map((p) => {
276
+ const usage = p.properties.usage;
277
+ return usage?.durationMs ?? 0;
278
+ })
279
+ .filter((d) => d > 0);
280
+ if (durations.length > 0) {
281
+ return durations.reduce((a, b) => a + b, 0) / durations.length;
282
+ }
283
+ return DEFAULT_DURATION_MS;
284
+ }
285
+ /** Derive cost per token from historical phase data, or use default. */
286
+ deriveCostPerToken() {
287
+ const allPhases = this.graph.getNodesByType('phase');
288
+ let totalTokens = 0;
289
+ let totalCost = 0;
290
+ for (const phase of allPhases) {
291
+ const usage = phase.properties.usage;
292
+ if (usage?.totalTokens && usage.totalTokens > 0 && usage?.costUsd && usage.costUsd > 0) {
293
+ totalTokens += usage.totalTokens;
294
+ totalCost += usage.costUsd;
295
+ }
296
+ }
297
+ if (totalTokens > 0 && totalCost > 0) {
298
+ return totalCost / totalTokens;
299
+ }
300
+ return DEFAULT_COST_PER_TOKEN;
301
+ }
302
+ // ─── Persistence ─────────────────────────────────────────────────
303
+ saveToGraph() {
304
+ this.graph.addNode({
305
+ id: 'trajectory:model',
306
+ type: 'heuristic',
307
+ label: 'Trajectory Predictor Model',
308
+ properties: {
309
+ weights: this.model.weights,
310
+ bias: this.model.bias,
311
+ learnRate: this.model.learnRate,
312
+ positiveCount: this.model.positiveCount,
313
+ negativeCount: this.model.negativeCount,
314
+ historicalAvgTokens: this.model.historicalAvgTokens,
315
+ },
316
+ });
317
+ }
318
+ loadFromGraph() {
319
+ const node = this.graph.getNode('trajectory:model');
320
+ if (!node)
321
+ return;
322
+ const p = node.properties;
323
+ const weights = p.weights;
324
+ if (weights && Array.isArray(weights) && weights.length === FEATURE_DIM) {
325
+ this.model.weights = weights;
326
+ this.model.bias = p.bias ?? 0;
327
+ this.model.learnRate = p.learnRate ?? 0.05;
328
+ this.model.positiveCount = p.positiveCount ?? 0;
329
+ this.model.negativeCount = p.negativeCount ?? 0;
330
+ this.model.historicalAvgTokens = p.historicalAvgTokens ?? 50_000;
331
+ }
332
+ }
333
+ }
334
+ //# 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;AAEpE,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,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,GAAG,CAAS;gBAER,IAAI,EAAE,kBAAkB;IASpC;;OAEG;IACG,aAAa,CACjB,aAAa,EAAE,qBAAqB,EACpC,MAAM,EAAE,mBAAmB,EAC3B,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,IAAI,CAAC;IAiGhB;;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;IAiB3C;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAiB1C;;OAEG;IACH,KAAK,IAAI,IAAI;CAcd"}
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;IA+IhB;;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,52 @@ 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 {
144
+ /* silent */
145
+ }
146
+ }
147
+ // Train predictive dropout from agent contribution data (Feature 5)
148
+ if (this.predictiveDropout) {
149
+ try {
150
+ for (const phase of orchestration.phases) {
151
+ for (const agent of phase.agents) {
152
+ this.predictiveDropout.train({
153
+ agentType: agent.config.name,
154
+ phaseKind: phase.config.kind ?? 'implement',
155
+ fileCount: agent.result?.filesTouched?.length ?? 0,
156
+ pattern: config.pattern,
157
+ contributed: !!agent.result?.output?.length,
158
+ });
159
+ }
160
+ }
161
+ }
162
+ catch {
163
+ /* silent */
164
+ }
165
+ }
166
+ // Store orchestration embedding for similarity search
167
+ if (this.orchestrationEmbedder) {
168
+ try {
169
+ this.orchestrationEmbedder.storeEmbedding(config.id);
170
+ }
171
+ catch {
172
+ /* silent */
173
+ }
174
+ }
121
175
  }
122
176
  /**
123
177
  * Find similar past traces for a task description.
@@ -163,6 +217,22 @@ export class LearningEngine {
163
217
  catch {
164
218
  /* Don't fail planning if heuristic retrieval fails */
165
219
  }
220
+ // Enrich with pattern success rates from the graph
221
+ if (this.graphLearner) {
222
+ try {
223
+ const stats = this.graphLearner.getPatternStats(plan.pattern);
224
+ if (stats.length > 0) {
225
+ const patternContext = this.graphLearner.formatPatternContext(stats);
226
+ for (const agent of plan.phases[0]?.agents ?? []) {
227
+ agent.prompt = `${patternContext}\n\n${agent.prompt}`;
228
+ }
229
+ this.log.info('Injected pattern stats into plan', { pattern: plan.pattern });
230
+ }
231
+ }
232
+ catch {
233
+ /* Don't fail planning if graph query fails */
234
+ }
235
+ }
166
236
  }
167
237
  /**
168
238
  * 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":"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"}
1
+ {"version":3,"file":"learning-engine.js","sourceRoot":"","sources":["../../src/runtime/learning-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * PromptCompressor — strips markdown boilerplate from agent .md prompts to reduce token usage.
3
+ */
4
+ export declare class PromptCompressor {
5
+ /** Compress an agent prompt by removing boilerplate */
6
+ static compress(prompt: string, maxChars?: number): string;
7
+ /** Extract only core instruction sections from agent markdown */
8
+ static extractCoreSections(prompt: string): string;
9
+ /** Estimate token savings (rough: 1 token ≈ 4 chars) */
10
+ static estimateSavings(original: string, compressed: string): {
11
+ originalTokens: number;
12
+ compressedTokens: number;
13
+ savedPercent: number;
14
+ };
15
+ }
16
+ //# sourceMappingURL=prompt-compressor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-compressor.d.ts","sourceRoot":"","sources":["../../src/runtime/prompt-compressor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qBAAa,gBAAgB;IAC3B,uDAAuD;IACvD,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;IAsC1D,iEAAiE;IACjE,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAuBlD,wDAAwD;IACxD,MAAM,CAAC,eAAe,CACpB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE;CAS9E"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * PromptCompressor — strips markdown boilerplate from agent .md prompts to reduce token usage.
3
+ */
4
+ export class PromptCompressor {
5
+ /** Compress an agent prompt by removing boilerplate */
6
+ static compress(prompt, maxChars) {
7
+ let result = prompt;
8
+ // 1. Remove YAML frontmatter (---\n...\n---)
9
+ result = result.replace(/^---\n[\s\S]*?\n---\n?/, '');
10
+ // 2. Remove horizontal rules (---, ***, ___)
11
+ result = result.replace(/^[-*_]{3,}\s*$/gm, '');
12
+ // 3. Collapse multiple blank lines to single
13
+ result = result.replace(/\n{3,}/g, '\n\n');
14
+ // 4. Remove markdown header decorations (keep text)
15
+ // "## Before You Act" → "Before You Act:"
16
+ result = result.replace(/^#{1,6}\s+(.+)$/gm, '$1:');
17
+ // 5. Remove repeated "IMPORTANT:" / "NOTE:" / "CRITICAL:" prefixes (keep first occurrence)
18
+ const seen = new Set();
19
+ result = result.replace(/^(IMPORTANT|NOTE|CRITICAL|WARNING):\s*$/gm, (match, prefix) => {
20
+ if (seen.has(prefix))
21
+ return '';
22
+ seen.add(prefix);
23
+ return match;
24
+ });
25
+ // 6. Compress bullet list formatting — flatten excessive indentation
26
+ result = result.replace(/^(\s{4,})([-*])/gm, ' $2');
27
+ // 7. Remove trailing whitespace
28
+ result = result.replace(/[ \t]+$/gm, '');
29
+ // 8. Truncate if over maxChars
30
+ if (maxChars && result.length > maxChars) {
31
+ result = result.slice(0, maxChars) + '\n[truncated]';
32
+ }
33
+ return result.trim();
34
+ }
35
+ /** Extract only core instruction sections from agent markdown */
36
+ static extractCoreSections(prompt) {
37
+ const sections = [];
38
+ // Extract role description (first paragraph after frontmatter)
39
+ const afterFrontmatter = prompt.replace(/^---\n[\s\S]*?\n---\n?/, '');
40
+ const firstParagraph = afterFrontmatter.match(/^([^\n#].+(?:\n(?![#\-]).+)*)/m);
41
+ if (firstParagraph)
42
+ sections.push(firstParagraph[1].trim());
43
+ // Extract "Before You Act" section
44
+ const beforeYouAct = prompt.match(/(?:^|\n)#{1,3}\s*Before You Act\s*\n([\s\S]*?)(?=\n#{1,3}\s|\n*$)/i);
45
+ if (beforeYouAct)
46
+ sections.push('Instructions:\n' + beforeYouAct[1].trim());
47
+ // Extract "Self-Check" section
48
+ const selfCheck = prompt.match(/(?:^|\n)#{1,3}\s*Self[- ]?Check\s*\n([\s\S]*?)(?=\n#{1,3}\s|\n*$)/i);
49
+ if (selfCheck)
50
+ sections.push('Self-Check:\n' + selfCheck[1].trim());
51
+ // Extract debt tagging if present
52
+ const debtTag = prompt.match(/(?:^|\n)#{1,3}\s*Debt\s*\n([\s\S]*?)(?=\n#{1,3}\s|\n*$)/i);
53
+ if (debtTag)
54
+ sections.push('Debt:\n' + debtTag[1].trim());
55
+ return sections.join('\n\n');
56
+ }
57
+ /** Estimate token savings (rough: 1 token ≈ 4 chars) */
58
+ static estimateSavings(original, compressed) {
59
+ const origTokens = Math.ceil(original.length / 4);
60
+ const compTokens = Math.ceil(compressed.length / 4);
61
+ return {
62
+ originalTokens: origTokens,
63
+ compressedTokens: compTokens,
64
+ savedPercent: origTokens > 0 ? Math.round((1 - compTokens / origTokens) * 100) : 0,
65
+ };
66
+ }
67
+ }
68
+ //# sourceMappingURL=prompt-compressor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-compressor.js","sourceRoot":"","sources":["../../src/runtime/prompt-compressor.ts"],"names":[],"mappings":"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"}