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,232 @@
|
|
|
1
|
+
// ─── PatternSynthesizer ──────────────────────────────────────────
|
|
2
|
+
/**
|
|
3
|
+
* Analyzes structural diffs between successful and failed orchestration
|
|
4
|
+
* topologies, then generates novel pattern DAGs based on the insights.
|
|
5
|
+
*/
|
|
6
|
+
export class PatternSynthesizer {
|
|
7
|
+
graph;
|
|
8
|
+
constructor(graph) {
|
|
9
|
+
this.graph = graph;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Analyze what structural features correlate with success/failure.
|
|
13
|
+
* Splits orchestrations by status, extracts topology features via BFS,
|
|
14
|
+
* then computes success rate deltas per feature.
|
|
15
|
+
*/
|
|
16
|
+
analyzeTopologyDiffs(minSamples = 5) {
|
|
17
|
+
const orchNodes = this.graph.getNodesByType('orchestration');
|
|
18
|
+
if (orchNodes.length === 0)
|
|
19
|
+
return [];
|
|
20
|
+
const successful = orchNodes.filter((n) => n.properties.status === 'completed');
|
|
21
|
+
const failed = orchNodes.filter((n) => n.properties.status === 'failed');
|
|
22
|
+
const total = successful.length + failed.length;
|
|
23
|
+
if (total === 0)
|
|
24
|
+
return [];
|
|
25
|
+
// Extract features for each orchestration
|
|
26
|
+
const orchFeatures = new Map();
|
|
27
|
+
const isSuccess = new Set(successful.map((n) => n.id));
|
|
28
|
+
for (const node of [...successful, ...failed]) {
|
|
29
|
+
orchFeatures.set(node.id, this.extractTopologyFeatures(node.id));
|
|
30
|
+
}
|
|
31
|
+
// Collect all features across all orchestrations
|
|
32
|
+
const allFeatures = new Set();
|
|
33
|
+
for (const features of orchFeatures.values()) {
|
|
34
|
+
for (const key of features.keys())
|
|
35
|
+
allFeatures.add(key);
|
|
36
|
+
}
|
|
37
|
+
// Compute correlation for each feature
|
|
38
|
+
const insights = [];
|
|
39
|
+
for (const feature of allFeatures) {
|
|
40
|
+
let presentSuccess = 0;
|
|
41
|
+
let presentTotal = 0;
|
|
42
|
+
let absentSuccess = 0;
|
|
43
|
+
let absentTotal = 0;
|
|
44
|
+
for (const [orchId, features] of orchFeatures) {
|
|
45
|
+
const hasFeature = features.get(feature) ?? false;
|
|
46
|
+
const succeeded = isSuccess.has(orchId);
|
|
47
|
+
if (hasFeature) {
|
|
48
|
+
presentTotal++;
|
|
49
|
+
if (succeeded)
|
|
50
|
+
presentSuccess++;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
absentTotal++;
|
|
54
|
+
if (succeeded)
|
|
55
|
+
absentSuccess++;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
const sampleSize = presentTotal + absentTotal;
|
|
59
|
+
if (sampleSize < minSamples)
|
|
60
|
+
continue;
|
|
61
|
+
// Avoid division by zero — if all have or lack the feature, no correlation measurable
|
|
62
|
+
if (presentTotal === 0 || absentTotal === 0)
|
|
63
|
+
continue;
|
|
64
|
+
const successRatePresent = presentSuccess / presentTotal;
|
|
65
|
+
const successRateAbsent = absentSuccess / absentTotal;
|
|
66
|
+
const correlation = successRatePresent - successRateAbsent;
|
|
67
|
+
insights.push({
|
|
68
|
+
feature,
|
|
69
|
+
successCorrelation: Math.max(-1, Math.min(1, correlation)),
|
|
70
|
+
sampleSize,
|
|
71
|
+
confidence: sampleSize > 20 ? 'high' : sampleSize >= 5 ? 'medium' : 'low',
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
// Sort by |correlation| descending
|
|
75
|
+
return insights.sort((a, b) => Math.abs(b.successCorrelation) - Math.abs(a.successCorrelation));
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Generate a novel pattern from topology insights.
|
|
79
|
+
* Starts with a base structure (research → implement → review), then
|
|
80
|
+
* applies positive insights as additions and negative insights as removals.
|
|
81
|
+
*/
|
|
82
|
+
synthesizePattern(taskDescription, filePatterns) {
|
|
83
|
+
const insights = this.analyzeTopologyDiffs();
|
|
84
|
+
if (insights.length === 0)
|
|
85
|
+
return null;
|
|
86
|
+
// Collect orchestration IDs that informed the insights
|
|
87
|
+
const orchNodes = this.graph.getNodesByType('orchestration');
|
|
88
|
+
const scoredOrchs = orchNodes.filter((n) => n.properties.status === 'completed' || n.properties.status === 'failed');
|
|
89
|
+
const basedOn = scoredOrchs.map((n) => n.id);
|
|
90
|
+
// Base structure: research → implement → review
|
|
91
|
+
const phases = [
|
|
92
|
+
{ name: 'research', kind: 'research', agentTypes: ['researcher'], parallel: true },
|
|
93
|
+
{ name: 'implement', kind: 'implement', agentTypes: ['implementer'], parallel: false, dependsOn: ['research'] },
|
|
94
|
+
{ name: 'review', kind: 'review', agentTypes: ['reviewer'], parallel: true, dependsOn: ['implement'] },
|
|
95
|
+
];
|
|
96
|
+
const reasoning = [`Base: research → implement → review.`];
|
|
97
|
+
// Apply positive insights as modifications
|
|
98
|
+
for (const insight of insights) {
|
|
99
|
+
if (insight.successCorrelation <= 0)
|
|
100
|
+
continue;
|
|
101
|
+
if (insight.feature === 'has_validate' || insight.feature === 'has_validate_after_research') {
|
|
102
|
+
// Insert validation phase between research and implement
|
|
103
|
+
if (!phases.find((p) => p.kind === 'validate')) {
|
|
104
|
+
phases.splice(1, 0, {
|
|
105
|
+
name: 'validate',
|
|
106
|
+
kind: 'validate',
|
|
107
|
+
agentTypes: ['reviewer'],
|
|
108
|
+
parallel: false,
|
|
109
|
+
dependsOn: ['research'],
|
|
110
|
+
});
|
|
111
|
+
// Update implement to depend on validate instead of research
|
|
112
|
+
const implPhase = phases.find((p) => p.kind === 'implement');
|
|
113
|
+
if (implPhase)
|
|
114
|
+
implPhase.dependsOn = ['validate'];
|
|
115
|
+
reasoning.push(`Added validation phase: "${insight.feature}" has +${insight.successCorrelation.toFixed(2)} correlation.`);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
if (insight.feature === 'has_parallel_reviewers' || insight.feature === 'parallel_agents') {
|
|
119
|
+
const reviewPhase = phases.find((p) => p.kind === 'review');
|
|
120
|
+
if (reviewPhase && reviewPhase.agentTypes.length < 2) {
|
|
121
|
+
reviewPhase.agentTypes = ['reviewer', 'reviewer'];
|
|
122
|
+
reasoning.push(`Parallel reviewers: "${insight.feature}" has +${insight.successCorrelation.toFixed(2)} correlation.`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
if (insight.feature === 'has_test' || insight.feature === 'has_test_phase') {
|
|
126
|
+
if (!phases.find((p) => p.kind === 'test')) {
|
|
127
|
+
const reviewIdx = phases.findIndex((p) => p.kind === 'review');
|
|
128
|
+
const insertIdx = reviewIdx >= 0 ? reviewIdx : phases.length;
|
|
129
|
+
phases.splice(insertIdx, 0, {
|
|
130
|
+
name: 'test',
|
|
131
|
+
kind: 'test',
|
|
132
|
+
agentTypes: ['tester'],
|
|
133
|
+
parallel: false,
|
|
134
|
+
dependsOn: ['implement'],
|
|
135
|
+
});
|
|
136
|
+
// Update review to depend on test if it existed
|
|
137
|
+
const reviewPhase = phases.find((p) => p.kind === 'review');
|
|
138
|
+
if (reviewPhase)
|
|
139
|
+
reviewPhase.dependsOn = ['test'];
|
|
140
|
+
reasoning.push(`Added test phase: "${insight.feature}" has +${insight.successCorrelation.toFixed(2)} correlation.`);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
// Apply negative insights as removals
|
|
145
|
+
for (const insight of insights) {
|
|
146
|
+
if (insight.successCorrelation >= 0)
|
|
147
|
+
continue;
|
|
148
|
+
if (insight.feature === 'has_challenge' || insight.feature === 'has_challenge_phase') {
|
|
149
|
+
// Don't add challenge phase (it's not in the base, so this is a no-op,
|
|
150
|
+
// but records the reasoning)
|
|
151
|
+
reasoning.push(`Skipped challenge phase: "${insight.feature}" has ${insight.successCorrelation.toFixed(2)} correlation.`);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
// Compute confidence from top insights
|
|
155
|
+
const topInsights = insights.filter((i) => Math.abs(i.successCorrelation) > 0.1);
|
|
156
|
+
const avgCorrelation = topInsights.length > 0
|
|
157
|
+
? topInsights.reduce((sum, i) => sum + Math.abs(i.successCorrelation), 0) / topInsights.length
|
|
158
|
+
: 0;
|
|
159
|
+
const confidence = Math.min(1, avgCorrelation);
|
|
160
|
+
if (confidence < 0.3)
|
|
161
|
+
return null;
|
|
162
|
+
// Generate name from task description
|
|
163
|
+
const nameSlug = taskDescription
|
|
164
|
+
.toLowerCase()
|
|
165
|
+
.replace(/[^a-z0-9]+/g, '-')
|
|
166
|
+
.slice(0, 30)
|
|
167
|
+
.replace(/-+$/, '');
|
|
168
|
+
return {
|
|
169
|
+
name: `synth-${nameSlug}`,
|
|
170
|
+
phases,
|
|
171
|
+
confidence,
|
|
172
|
+
reasoning: reasoning.join(' '),
|
|
173
|
+
basedOn,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Extract topology features from a single orchestration via BFS (depth 3).
|
|
178
|
+
* Returns a map of boolean features describing the orchestration's structure.
|
|
179
|
+
*/
|
|
180
|
+
extractTopologyFeatures(orchestrationId) {
|
|
181
|
+
const features = new Map();
|
|
182
|
+
const subgraph = this.graph.bfs(orchestrationId, 3);
|
|
183
|
+
const phaseNodes = subgraph.nodes.filter((n) => n.type === 'phase');
|
|
184
|
+
const agentNodes = subgraph.nodes.filter((n) => n.type === 'agent');
|
|
185
|
+
const fileNodes = subgraph.nodes.filter((n) => n.type === 'file');
|
|
186
|
+
// Phase kinds present
|
|
187
|
+
const phaseKinds = new Set();
|
|
188
|
+
for (const phase of phaseNodes) {
|
|
189
|
+
const kind = phase.properties.kind || phase.label;
|
|
190
|
+
phaseKinds.add(kind);
|
|
191
|
+
}
|
|
192
|
+
features.set('has_research', phaseKinds.has('research'));
|
|
193
|
+
features.set('has_implement', phaseKinds.has('implement'));
|
|
194
|
+
features.set('has_review', phaseKinds.has('review'));
|
|
195
|
+
features.set('has_test', phaseKinds.has('test'));
|
|
196
|
+
features.set('has_challenge', phaseKinds.has('challenge'));
|
|
197
|
+
features.set('has_validate', phaseKinds.has('validate'));
|
|
198
|
+
// Phase count thresholds
|
|
199
|
+
features.set('phase_count_gt_2', phaseNodes.length > 2);
|
|
200
|
+
features.set('phase_count_gt_3', phaseNodes.length > 3);
|
|
201
|
+
// Agent count
|
|
202
|
+
features.set('has_multiple_agents', agentNodes.length > 1);
|
|
203
|
+
// Parallel agents (check if any phase has parallel=true or agentCount > 1)
|
|
204
|
+
const hasParallelAgents = phaseNodes.some((p) => p.properties.parallel === true || p.properties.agentCount > 1);
|
|
205
|
+
features.set('parallel_agents', hasParallelAgents);
|
|
206
|
+
// Parallel reviewers (review phase with multiple agents)
|
|
207
|
+
const reviewPhases = phaseNodes.filter((p) => {
|
|
208
|
+
const kind = p.properties.kind || p.label;
|
|
209
|
+
return kind === 'review';
|
|
210
|
+
});
|
|
211
|
+
const hasParallelReviewers = reviewPhases.some((p) => p.properties.parallel === true && (p.properties.agentCount || 0) > 1);
|
|
212
|
+
features.set('has_parallel_reviewers', hasParallelReviewers);
|
|
213
|
+
// Ordering features — check if review comes after implement via edges
|
|
214
|
+
const phaseLabels = phaseNodes.map((p) => p.properties.kind || p.label);
|
|
215
|
+
features.set('has_review_after_implement', phaseKinds.has('review') && phaseKinds.has('implement'));
|
|
216
|
+
features.set('has_test_phase', phaseKinds.has('test'));
|
|
217
|
+
features.set('has_challenge_phase', phaseKinds.has('challenge'));
|
|
218
|
+
// Validate after research
|
|
219
|
+
features.set('has_validate_after_research', phaseKinds.has('validate') && phaseKinds.has('research'));
|
|
220
|
+
// File features
|
|
221
|
+
features.set('touches_files', fileNodes.length > 0);
|
|
222
|
+
features.set('touches_many_files', fileNodes.length > 5);
|
|
223
|
+
// File directory clustering
|
|
224
|
+
if (fileNodes.length > 0) {
|
|
225
|
+
const dirs = new Set(fileNodes.map((f) => f.label.split('/').slice(0, -1).join('/') || 'root'));
|
|
226
|
+
features.set('single_directory', dirs.size === 1);
|
|
227
|
+
features.set('multi_directory', dirs.size > 1);
|
|
228
|
+
}
|
|
229
|
+
return features;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
//# sourceMappingURL=graph-synthesis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-synthesis.js","sourceRoot":"","sources":["../../src/runtime/graph-synthesis.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { ExecutionGraph } from './execution-graph.js';
|
|
2
|
+
import type { OrchestrationInstance, PhaseInstance } from '../core/types.js';
|
|
3
|
+
export interface TrajectoryFeatures {
|
|
4
|
+
completionRatio: number;
|
|
5
|
+
avgConfidence: number;
|
|
6
|
+
tokenRatio: number;
|
|
7
|
+
hasGoodStructure: boolean;
|
|
8
|
+
failedPhaseRatio: number;
|
|
9
|
+
}
|
|
10
|
+
export interface TrajectoryPrediction {
|
|
11
|
+
successProbability: number;
|
|
12
|
+
confidence: 'low' | 'medium' | 'high';
|
|
13
|
+
trajectory: 'on-track' | 'degrading' | 'recovering' | 'unknown';
|
|
14
|
+
factors: string[];
|
|
15
|
+
}
|
|
16
|
+
interface TrajectoryModel {
|
|
17
|
+
weights: number[];
|
|
18
|
+
bias: number;
|
|
19
|
+
learnRate: number;
|
|
20
|
+
positiveCount: number;
|
|
21
|
+
negativeCount: number;
|
|
22
|
+
historicalAvgTokens: number;
|
|
23
|
+
}
|
|
24
|
+
export interface PhaseForecast {
|
|
25
|
+
name: string;
|
|
26
|
+
successProb: number;
|
|
27
|
+
estimatedTokens: number;
|
|
28
|
+
estimatedDurationMs: number;
|
|
29
|
+
risks: string[];
|
|
30
|
+
}
|
|
31
|
+
export interface TrajectoryForecast {
|
|
32
|
+
phases: PhaseForecast[];
|
|
33
|
+
overallSuccessProb: number;
|
|
34
|
+
budgetForecast: number;
|
|
35
|
+
recommendations: string[];
|
|
36
|
+
confidence: 'low' | 'medium' | 'high';
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Predicts success probability for an in-progress orchestration based on
|
|
40
|
+
* its current phase trajectory. Uses online logistic regression trained
|
|
41
|
+
* from historical orchestration outcomes stored in the execution graph.
|
|
42
|
+
*/
|
|
43
|
+
export declare class TrajectoryPredictor {
|
|
44
|
+
private graph;
|
|
45
|
+
private model;
|
|
46
|
+
constructor(graph: ExecutionGraph);
|
|
47
|
+
static initModel(): TrajectoryModel;
|
|
48
|
+
/**
|
|
49
|
+
* Extract trajectory features from an in-progress orchestration at the
|
|
50
|
+
* completion of `currentPhase`.
|
|
51
|
+
*/
|
|
52
|
+
extractFeatures(orchestration: OrchestrationInstance, currentPhase: PhaseInstance): TrajectoryFeatures;
|
|
53
|
+
/** Convert features to numeric vector. */
|
|
54
|
+
private featureVector;
|
|
55
|
+
/**
|
|
56
|
+
* Predict success probability from current trajectory features.
|
|
57
|
+
* Adds human-readable factor explanations.
|
|
58
|
+
*/
|
|
59
|
+
predict(features: TrajectoryFeatures): TrajectoryPrediction;
|
|
60
|
+
/**
|
|
61
|
+
* Record the actual outcome of a completed orchestration, updating the model
|
|
62
|
+
* and historical token average via online SGD.
|
|
63
|
+
*/
|
|
64
|
+
recordOutcome(orchestration: OrchestrationInstance, succeeded: boolean, currentPhase?: PhaseInstance): void;
|
|
65
|
+
/**
|
|
66
|
+
* Combine GNN topology features, causal estimates, and historical pattern
|
|
67
|
+
* stats into a unified forecast for remaining phases after each phase completes.
|
|
68
|
+
*/
|
|
69
|
+
predictTrajectory(orchestrationId: string, completedPhases: Array<{
|
|
70
|
+
name: string;
|
|
71
|
+
status: string;
|
|
72
|
+
tokens: number;
|
|
73
|
+
durationMs: number;
|
|
74
|
+
confidence: string;
|
|
75
|
+
}>, remainingPhaseNames: string[], patternName?: string): TrajectoryForecast;
|
|
76
|
+
/** Estimate phase success probability from historical phase data. */
|
|
77
|
+
private estimatePhaseSuccess;
|
|
78
|
+
/** Estimate token usage for a phase kind based on historical averages. */
|
|
79
|
+
private estimatePhaseTokens;
|
|
80
|
+
/** Estimate duration for a phase kind based on historical averages. */
|
|
81
|
+
private estimatePhaseDuration;
|
|
82
|
+
/** Derive cost per token from historical phase data, or use default. */
|
|
83
|
+
private deriveCostPerToken;
|
|
84
|
+
private saveToGraph;
|
|
85
|
+
private loadFromGraph;
|
|
86
|
+
}
|
|
87
|
+
export {};
|
|
88
|
+
//# sourceMappingURL=graph-trajectory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-trajectory.d.ts","sourceRoot":"","sources":["../../src/runtime/graph-trajectory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAK7E,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,UAAU,EAAE,UAAU,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,CAAC;IAChE,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAID,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CACvC;AA4BD;;;;GAIG;AACH,qBAAa,mBAAmB;IAGlB,OAAO,CAAC,KAAK;IAFzB,OAAO,CAAC,KAAK,CAAkB;gBAEX,KAAK,EAAE,cAAc;IAKzC,MAAM,CAAC,SAAS,IAAI,eAAe;IAWnC;;;OAGG;IACH,eAAe,CAAC,aAAa,EAAE,qBAAqB,EAAE,YAAY,EAAE,aAAa,GAAG,kBAAkB;IAmCtG,0CAA0C;IAC1C,OAAO,CAAC,aAAa;IAUrB;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,kBAAkB,GAAG,oBAAoB;IA4C3D;;;OAGG;IACH,aAAa,CACX,aAAa,EAAE,qBAAqB,EACpC,SAAS,EAAE,OAAO,EAClB,YAAY,CAAC,EAAE,aAAa,GAC3B,IAAI;IAsCP;;;OAGG;IACH,iBAAiB,CACf,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,EAChH,mBAAmB,EAAE,MAAM,EAAE,EAC7B,WAAW,CAAC,EAAE,MAAM,GACnB,kBAAkB;IAmErB,qEAAqE;IACrE,OAAO,CAAC,oBAAoB;IAiC5B,0EAA0E;IAC1E,OAAO,CAAC,mBAAmB;IAiB3B,uEAAuE;IACvE,OAAO,CAAC,qBAAqB;IAiB7B,wEAAwE;IACxE,OAAO,CAAC,kBAAkB;IAqB1B,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,aAAa;CActB"}
|