swarm-engine 1.1.1 → 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/CLAUDE.md +1 -1
- package/README.md +145 -30
- package/commands/diff-review.md +27 -15
- package/commands/discover.md +102 -0
- package/commands/dynamic.md +136 -0
- package/commands/fix-pr.md +30 -24
- package/commands/postmortem.md +106 -0
- package/commands/red-team.md +41 -26
- package/commands/research.md +22 -1
- package/commands/review-cycle.md +38 -20
- package/commands/spike.md +108 -0
- package/commands/swarm.md +68 -60
- package/commands/tdd.md +44 -24
- package/dist/cli/commands/acp.d.ts.map +1 -1
- package/dist/cli/commands/acp.js +12 -2
- package/dist/cli/commands/acp.js.map +1 -1
- package/dist/cli/commands/agents.d.ts.map +1 -1
- package/dist/cli/commands/agents.js +16 -13
- package/dist/cli/commands/agents.js.map +1 -1
- package/dist/cli/commands/completions.d.ts.map +1 -1
- package/dist/cli/commands/completions.js +21 -9
- package/dist/cli/commands/completions.js.map +1 -1
- package/dist/cli/commands/compound.d.ts.map +1 -1
- package/dist/cli/commands/compound.js +1 -2
- package/dist/cli/commands/compound.js.map +1 -1
- package/dist/cli/commands/configure.d.ts.map +1 -1
- package/dist/cli/commands/configure.js +24 -8
- package/dist/cli/commands/configure.js.map +1 -1
- package/dist/cli/commands/convert.d.ts +1 -1
- package/dist/cli/commands/convert.d.ts.map +1 -1
- package/dist/cli/commands/convert.js +22 -48
- package/dist/cli/commands/convert.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +1 -3
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +17 -7
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +1 -1
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/learn.js +6 -6
- package/dist/cli/commands/learn.js.map +1 -1
- package/dist/cli/commands/mcp.d.ts.map +1 -1
- package/dist/cli/commands/mcp.js +1 -2
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/memory.d.ts.map +1 -1
- package/dist/cli/commands/memory.js +118 -2
- package/dist/cli/commands/memory.js.map +1 -1
- package/dist/cli/commands/orchestrate.d.ts.map +1 -1
- package/dist/cli/commands/orchestrate.js +20 -7
- package/dist/cli/commands/orchestrate.js.map +1 -1
- package/dist/cli/commands/plan.d.ts.map +1 -1
- package/dist/cli/commands/plan.js.map +1 -1
- package/dist/cli/commands/plugin.d.ts.map +1 -1
- package/dist/cli/commands/plugin.js +8 -5
- package/dist/cli/commands/plugin.js.map +1 -1
- package/dist/cli/commands/resume.js +1 -1
- package/dist/cli/commands/resume.js.map +1 -1
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +20 -6
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/share.d.ts.map +1 -1
- package/dist/cli/commands/share.js +6 -1
- package/dist/cli/commands/share.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +15 -7
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/template.d.ts.map +1 -1
- package/dist/cli/commands/template.js +14 -6
- package/dist/cli/commands/template.js.map +1 -1
- package/dist/cli/commands/vault.d.ts.map +1 -1
- package/dist/cli/commands/vault.js +14 -9
- package/dist/cli/commands/vault.js.map +1 -1
- package/dist/cli/commands/verify.d.ts.map +1 -1
- package/dist/cli/commands/verify.js +2 -2
- package/dist/cli/commands/verify.js.map +1 -1
- package/dist/cli/commands/watch.js +1 -1
- package/dist/cli/commands/watch.js.map +1 -1
- package/dist/cli/index.js +14 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/core/checkpoint.js +1 -1
- package/dist/core/checkpoint.js.map +1 -1
- package/dist/core/event-bus.d.ts.map +1 -1
- package/dist/core/event-bus.js +9 -3
- package/dist/core/event-bus.js.map +1 -1
- package/dist/core/lifecycle.js.map +1 -1
- package/dist/core/patterns.d.ts.map +1 -1
- package/dist/core/patterns.js +31 -8
- package/dist/core/patterns.js.map +1 -1
- package/dist/core/permissions.d.ts.map +1 -1
- package/dist/core/permissions.js +21 -10
- package/dist/core/permissions.js.map +1 -1
- package/dist/core/registry.d.ts.map +1 -1
- package/dist/core/registry.js +10 -6
- package/dist/core/registry.js.map +1 -1
- package/dist/core/snapshots.d.ts.map +1 -1
- package/dist/core/snapshots.js +17 -5
- package/dist/core/snapshots.js.map +1 -1
- package/dist/core/types.d.ts +33 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/hooks/index.js.map +1 -1
- package/dist/index.d.ts +114 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +92 -4
- package/dist/index.js.map +1 -1
- package/dist/memory/index.d.ts +38 -0
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +136 -24
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/schema.d.ts +1 -0
- package/dist/memory/schema.d.ts.map +1 -1
- package/dist/memory/schema.js +20 -19
- package/dist/memory/schema.js.map +1 -1
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js.map +1 -1
- package/dist/runtime/acp.d.ts.map +1 -1
- package/dist/runtime/acp.js +71 -41
- package/dist/runtime/acp.js.map +1 -1
- package/dist/runtime/adaptive.d.ts.map +1 -1
- package/dist/runtime/adaptive.js +30 -31
- package/dist/runtime/adaptive.js.map +1 -1
- package/dist/runtime/agent-runner.d.ts +62 -0
- package/dist/runtime/agent-runner.d.ts.map +1 -0
- package/dist/runtime/agent-runner.js +224 -0
- package/dist/runtime/agent-runner.js.map +1 -0
- package/dist/runtime/autonomy.d.ts +1 -0
- package/dist/runtime/autonomy.d.ts.map +1 -1
- package/dist/runtime/autonomy.js +37 -19
- package/dist/runtime/autonomy.js.map +1 -1
- package/dist/runtime/backends/claude.d.ts.map +1 -1
- package/dist/runtime/backends/claude.js +2 -2
- package/dist/runtime/backends/claude.js.map +1 -1
- package/dist/runtime/backends/codex.d.ts.map +1 -1
- package/dist/runtime/backends/codex.js +8 -11
- package/dist/runtime/backends/codex.js.map +1 -1
- package/dist/runtime/backends/gemini.d.ts.map +1 -1
- package/dist/runtime/backends/gemini.js +11 -7
- package/dist/runtime/backends/gemini.js.map +1 -1
- package/dist/runtime/backends/index.js +1 -1
- package/dist/runtime/backends/index.js.map +1 -1
- package/dist/runtime/backends/mock.d.ts.map +1 -1
- package/dist/runtime/backends/mock.js +1 -1
- package/dist/runtime/backends/mock.js.map +1 -1
- package/dist/runtime/backends/vercel-ai.d.ts.map +1 -1
- package/dist/runtime/backends/vercel-ai.js +41 -9
- package/dist/runtime/backends/vercel-ai.js.map +1 -1
- package/dist/runtime/cache-optimizer.d.ts.map +1 -1
- package/dist/runtime/cache-optimizer.js +3 -9
- package/dist/runtime/cache-optimizer.js.map +1 -1
- package/dist/runtime/cascade.d.ts.map +1 -1
- package/dist/runtime/cascade.js +34 -7
- package/dist/runtime/cascade.js.map +1 -1
- package/dist/runtime/chunker.d.ts.map +1 -1
- package/dist/runtime/chunker.js +12 -6
- package/dist/runtime/chunker.js.map +1 -1
- package/dist/runtime/compounder.d.ts +1 -1
- package/dist/runtime/compounder.d.ts.map +1 -1
- package/dist/runtime/compounder.js +30 -11
- package/dist/runtime/compounder.js.map +1 -1
- package/dist/runtime/cost-model.d.ts.map +1 -1
- package/dist/runtime/cost-model.js +1 -1
- package/dist/runtime/cost-model.js.map +1 -1
- package/dist/runtime/database.d.ts +16 -0
- package/dist/runtime/database.d.ts.map +1 -0
- package/dist/runtime/database.js +39 -0
- package/dist/runtime/database.js.map +1 -0
- package/dist/runtime/distiller.d.ts.map +1 -1
- package/dist/runtime/distiller.js +6 -3
- package/dist/runtime/distiller.js.map +1 -1
- package/dist/runtime/engine.d.ts +25 -9
- package/dist/runtime/engine.d.ts.map +1 -1
- package/dist/runtime/engine.js +417 -378
- 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/executor.d.ts +1 -2
- package/dist/runtime/executor.d.ts.map +1 -1
- package/dist/runtime/executor.js +45 -14
- package/dist/runtime/executor.js.map +1 -1
- 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/heuristics.d.ts +1 -0
- package/dist/runtime/heuristics.d.ts.map +1 -1
- package/dist/runtime/heuristics.js +44 -22
- package/dist/runtime/heuristics.js.map +1 -1
- package/dist/runtime/learning-engine.d.ts +63 -0
- package/dist/runtime/learning-engine.d.ts.map +1 -0
- package/dist/runtime/learning-engine.js +273 -0
- package/dist/runtime/learning-engine.js.map +1 -0
- package/dist/runtime/living-spec.js +3 -3
- package/dist/runtime/living-spec.js.map +1 -1
- package/dist/runtime/lsp.d.ts.map +1 -1
- package/dist/runtime/lsp.js +41 -14
- package/dist/runtime/lsp.js.map +1 -1
- package/dist/runtime/mcp.d.ts.map +1 -1
- package/dist/runtime/mcp.js +56 -19
- package/dist/runtime/mcp.js.map +1 -1
- package/dist/runtime/model-router.d.ts +1 -0
- package/dist/runtime/model-router.d.ts.map +1 -1
- package/dist/runtime/model-router.js +37 -21
- package/dist/runtime/model-router.js.map +1 -1
- package/dist/runtime/panes.d.ts.map +1 -1
- package/dist/runtime/panes.js +50 -49
- package/dist/runtime/panes.js.map +1 -1
- package/dist/runtime/plan-search.js +2 -2
- package/dist/runtime/plan-search.js.map +1 -1
- package/dist/runtime/plugins.d.ts +1 -1
- package/dist/runtime/plugins.d.ts.map +1 -1
- package/dist/runtime/plugins.js +63 -47
- package/dist/runtime/plugins.js.map +1 -1
- package/dist/runtime/reflexion.d.ts.map +1 -1
- package/dist/runtime/reflexion.js +4 -8
- package/dist/runtime/reflexion.js.map +1 -1
- package/dist/runtime/review-schema.d.ts.map +1 -1
- package/dist/runtime/review-schema.js +12 -12
- package/dist/runtime/review-schema.js.map +1 -1
- package/dist/runtime/rewriter.d.ts.map +1 -1
- package/dist/runtime/rewriter.js +29 -9
- package/dist/runtime/rewriter.js.map +1 -1
- package/dist/runtime/sharing.d.ts +1 -1
- package/dist/runtime/sharing.d.ts.map +1 -1
- package/dist/runtime/sharing.js +55 -27
- package/dist/runtime/sharing.js.map +1 -1
- package/dist/runtime/stats.d.ts +1 -0
- package/dist/runtime/stats.d.ts.map +1 -1
- package/dist/runtime/stats.js +40 -24
- package/dist/runtime/stats.js.map +1 -1
- package/dist/runtime/templates.d.ts.map +1 -1
- package/dist/runtime/templates.js +2 -2
- package/dist/runtime/templates.js.map +1 -1
- package/dist/runtime/traces.d.ts +1 -0
- package/dist/runtime/traces.d.ts.map +1 -1
- package/dist/runtime/traces.js +50 -28
- package/dist/runtime/traces.js.map +1 -1
- package/dist/runtime/verifier.d.ts.map +1 -1
- package/dist/runtime/verifier.js +12 -6
- package/dist/runtime/verifier.js.map +1 -1
- package/dist/runtime/worktree.d.ts.map +1 -1
- package/dist/runtime/worktree.js +35 -18
- package/dist/runtime/worktree.js.map +1 -1
- package/dist/tui/dashboard.d.ts.map +1 -1
- package/dist/tui/dashboard.js +20 -16
- package/dist/tui/dashboard.js.map +1 -1
- package/dist/tui/progress.d.ts +2 -0
- package/dist/tui/progress.d.ts.map +1 -1
- package/dist/tui/progress.js +105 -33
- package/dist/tui/progress.js.map +1 -1
- package/dist/tui/renderer.d.ts.map +1 -1
- package/dist/tui/renderer.js.map +1 -1
- package/dist/utils/compact-format.js +1 -1
- package/dist/utils/compact-format.js.map +1 -1
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/env.d.ts.map +1 -1
- package/dist/utils/env.js +19 -5
- package/dist/utils/env.js.map +1 -1
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +3 -7
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/output.d.ts.map +1 -1
- package/dist/utils/output.js +6 -2
- package/dist/utils/output.js.map +1 -1
- package/dist/utils/project-config.d.ts +18 -0
- package/dist/utils/project-config.d.ts.map +1 -1
- package/dist/utils/project-config.js +14 -6
- package/dist/utils/project-config.js.map +1 -1
- package/dist/utils/schemas.d.ts.map +1 -1
- package/dist/utils/schemas.js +12 -12
- package/dist/utils/schemas.js.map +1 -1
- package/dist/utils/terminal.d.ts.map +1 -1
- package/dist/utils/terminal.js +18 -7
- package/dist/utils/terminal.js.map +1 -1
- package/dist/utils/tiers.d.ts.map +1 -1
- package/dist/utils/tiers.js +14 -6
- package/dist/utils/tiers.js.map +1 -1
- package/package.json +15 -4
- package/skills/swarm-output-style/SKILL.md +154 -48
|
@@ -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":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA8ClD,qEAAqE;AAErE,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,sBAAsB,GAAG,QAAQ,CAAC;AACxC,MAAM,cAAc,GAAG,KAAK,CAAC;AAC7B,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAElC,SAAS,OAAO,CAAC,CAAS;IACxB,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,GAAG,CAAC,CAAW,EAAE,CAAW;IACnC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;QAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAqB;IAC9C,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,GAAG,CAAC;IAC7B,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IAC/B,IAAI,CAAC,KAAK,KAAK;QAAE,OAAO,GAAG,CAAC;IAC5B,OAAO,GAAG,CAAC,CAAC,oBAAoB;AAClC,CAAC;AAED,qEAAqE;AAErE;;;;GAIG;AACH,MAAM,OAAO,mBAAmB;IAGV;IAFZ,KAAK,CAAkB;IAE/B,YAAoB,KAAqB;QAArB,UAAK,GAAL,KAAK,CAAgB;QACvC,IAAI,CAAC,KAAK,GAAG,mBAAmB,CAAC,SAAS,EAAE,CAAC;QAC7C,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,SAAS;QACd,OAAO;YACL,OAAO,EAAE,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACvC,IAAI,EAAE,GAAG,EAAE,yBAAyB;YACpC,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,CAAC;YAChB,mBAAmB,EAAE,MAAM;SAC5B,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,aAAoC,EAAE,YAA2B;QAC/E,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;QACpC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;QACjG,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;QAElE,MAAM,eAAe,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,gBAAgB,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhE,wDAAwD;QACxD,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW;gBAAE,SAAS;YAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACxD,IAAI,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;gBAClC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QACD,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC;YAC/C,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,gBAAgB,CAAC,MAAM;YACvE,CAAC,CAAC,GAAG,CAAC;QAER,oCAAoC;QACpC,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM;aACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC;aACvC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAE3F,kEAAkE;QAClE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9D,MAAM,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;QAE9F,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IAC5F,CAAC;IAED,0CAA0C;IAClC,aAAa,CAAC,CAAqB;QACzC,OAAO;YACL,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,UAAU,GAAG,CAAC,EAAE,qBAAqB;YACvC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,CAAC,CAAC,gBAAgB;SACnB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,QAA4B;QAClC,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAC3D,MAAM,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAE1C,4BAA4B;QAC5B,IAAI,UAAU,GAAuC,SAAS,CAAC;QAC/D,IAAI,QAAQ,CAAC,gBAAgB,GAAG,GAAG,EAAE,CAAC;YACpC,UAAU,GAAG,WAAW,CAAC;QAC3B,CAAC;aAAM,IAAI,QAAQ,CAAC,aAAa,GAAG,GAAG,IAAI,QAAQ,CAAC,gBAAgB,KAAK,CAAC,EAAE,CAAC;YAC3E,UAAU,GAAG,UAAU,CAAC;QAC1B,CAAC;aAAM,IAAI,QAAQ,CAAC,gBAAgB,GAAG,CAAC,IAAI,QAAQ,CAAC,aAAa,GAAG,GAAG,EAAE,CAAC;YACzE,UAAU,GAAG,YAAY,CAAC;QAC5B,CAAC;QAED,2CAA2C;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QAClE,MAAM,UAAU,GACd,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QAEtD,0BAA0B;QAC1B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,QAAQ,CAAC,gBAAgB,GAAG,GAAG,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,GAAG,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC7F,CAAC;QACD,IAAI,QAAQ,CAAC,aAAa,GAAG,GAAG,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,QAAQ,CAAC,eAAe,GAAG,GAAG,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;IACjE,CAAC;IAED;;;OAGG;IACH,aAAa,CACX,aAAoC,EACpC,SAAkB,EAClB,YAA4B;QAE5B,kCAAkC;QAClC,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC,CAAC;QAC1D,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,6BAA6B;YAChD,IAAI,CAAC,KAAK,CAAC,mBAAmB;gBAC5B,KAAK,GAAG,WAAW,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC;QACvE,CAAC;QAED,wCAAwC;QACxC,MAAM,cAAc,GAAG,YAAY,IAAI,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7F,IAAI,CAAC,cAAc;YAAE,OAAO;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QACrE,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,qBAAqB;QAEhE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC;QAE3C,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,GAAG,KAAK,CAAC;QAE9B,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,oEAAoE;IAEpE;;;OAGG;IACH,iBAAiB,CACf,eAAuB,EACvB,eAAgH,EAChH,mBAA6B,EAC7B,WAAoB;QAEpB,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE7E,MAAM,oBAAoB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACtE,MAAM,YAAY,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC;QAE5E,MAAM,MAAM,GAAoB,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,oBAAoB,CAAC,CAAC;YACvF,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACvD,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC7D,MAAM,KAAK,GAAa,EAAE,CAAC;YAE3B,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,wCAAwC,CAAC,CAAC;YACtE,CAAC;YACD,IAAI,WAAW,GAAG,GAAG,EAAE,CAAC;gBACtB,KAAK,CAAC,IAAI,CAAC,gCAAgC,IAAI,gBAAgB,CAAC,CAAC;YACnE,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,mDAAmD;QACnD,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC;YACxC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC,CAAC;QAEN,4DAA4D;QAC5D,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,kBAAkB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACpD,CAAC;QACD,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC;QAElE,6EAA6E;QAC7E,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC/C,MAAM,kBAAkB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC;QAChG,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC;QAChG,MAAM,cAAc,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;QAE/D,kBAAkB;QAClB,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,WAAW,GAAG,GAAG,EAAE,CAAC;gBAC5B,eAAe,CAAC,IAAI,CAClB,UAAU,KAAK,CAAC,IAAI,kCAAkC,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gCAAgC,CAC3H,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,WAAW,IAAI,WAAW,CAAC,UAAU,GAAG,CAAC,IAAI,cAAc,GAAG,CAAC,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC;YAC7F,eAAe,CAAC,IAAI,CAAC,kGAAkG,CAAC,CAAC;QAC3H,CAAC;QACD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,eAAe,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QACnG,CAAC;QAED,uCAAuC;QACvC,MAAM,WAAW,GAAG,WAAW,EAAE,SAAS,IAAI,CAAC,CAAC;QAChD,IAAI,UAAqC,CAAC;QAC1C,IAAI,WAAW,GAAG,CAAC;YAAE,UAAU,GAAG,KAAK,CAAC;aACnC,IAAI,WAAW,IAAI,EAAE;YAAE,UAAU,GAAG,QAAQ,CAAC;;YAC7C,UAAU,GAAG,MAAM,CAAC;QAEzB,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;IACrF,CAAC;IAED,qEAAqE;IAC7D,oBAAoB,CAC1B,SAAiB,EACjB,WAA+B,EAC/B,yBAAmC;QAEnC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QAEhE,IAAI,QAAgB,CAAC;QACrB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;YAC9E,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,KAAK,OAAO,CAC3E,CAAC;YACF,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC/C,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;QACxD,CAAC;aAAM,IAAI,WAAW,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YACnD,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,GAAG,CAAC;QACjB,CAAC;QAED,kEAAkE;QAClE,MAAM,YAAY,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,CAAC;QACjF,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,0EAA0E;IAClE,mBAAmB,CAAC,SAAiB;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QAEhE,MAAM,WAAW,GAAG,QAAQ;aACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,KAA6C,CAAC;YACzE,OAAO,KAAK,EAAE,WAAW,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAExB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;QACrE,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,uEAAuE;IAC/D,qBAAqB,CAAC,SAAiB;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QAEhE,MAAM,SAAS,GAAG,QAAQ;aACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,KAA4C,CAAC;YACxE,OAAO,KAAK,EAAE,UAAU,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAExB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;QACjE,CAAC;QACD,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,wEAAwE;IAChE,kBAAkB;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,KAA+D,CAAC;YAC/F,IAAI,KAAK,EAAE,WAAW,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,KAAK,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBACvF,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC;gBACjC,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,IAAI,WAAW,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YACrC,OAAO,SAAS,GAAG,WAAW,CAAC;QACjC,CAAC;QACD,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,oEAAoE;IAE5D,WAAW;QACjB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YACjB,EAAE,EAAE,kBAAkB;YACtB,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,4BAA4B;YACnC,UAAU,EAAE;gBACV,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;gBAC3B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;gBACrB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;gBAC/B,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa;gBACvC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa;gBACvC,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC,mBAAmB;aACpD;SACF,CAAC,CAAC;IACL,CAAC;IAEO,aAAa;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,CAAC,GAAG,IAAI,CAAC,UAAqC,CAAC;QACrD,MAAM,OAAO,GAAG,CAAC,CAAC,OAA+B,CAAC;QAClD,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACxE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,GAAI,CAAC,CAAC,IAAe,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,KAAK,CAAC,SAAS,GAAI,CAAC,CAAC,SAAoB,IAAI,IAAI,CAAC;YACvD,IAAI,CAAC,KAAK,CAAC,aAAa,GAAI,CAAC,CAAC,aAAwB,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,KAAK,CAAC,aAAa,GAAI,CAAC,CAAC,aAAwB,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAI,CAAC,CAAC,mBAA8B,IAAI,MAAM,CAAC;QAC/E,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heuristics.d.ts","sourceRoot":"","sources":["../../src/runtime/heuristics.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"heuristics.d.ts","sourceRoot":"","sources":["../../src/runtime/heuristics.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAIlD,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,KAAK,CAAU;gBAEX,MAAM,CAAC,EAAE,MAAM;IAe3B,OAAO,CAAC,UAAU;IAuBlB,0DAA0D;IAC1D,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,EAAE;IAiEpD,wBAAwB;IACxB,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM;IAmB3B,yDAAyD;IACzD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,GAAG,SAAS,EAAE;IAwCtD,+EAA+E;IAC/E,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAgB7D,6DAA6D;IAC7D,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM;IAUjD,yCAAyC;IACzC,QAAQ,CAAC,OAAO,GAAE,MAAW,GAAG,IAAI;IAWpC,sDAAsD;IACtD,OAAO,CAAC,aAAa;IAUrB,KAAK,CAAC,OAAO,GAAE,MAAc,GAAG,IAAI;IAMpC,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -1,18 +1,25 @@
|
|
|
1
1
|
import Database from 'better-sqlite3';
|
|
2
2
|
import { existsSync, mkdirSync } from 'fs';
|
|
3
|
-
import {
|
|
4
|
-
import { homedir } from 'os';
|
|
3
|
+
import { dirname } from 'path';
|
|
5
4
|
import { redactSecrets } from '../utils/redact.js';
|
|
5
|
+
import { getDatabase } from './database.js';
|
|
6
6
|
export class HeuristicStore {
|
|
7
7
|
db;
|
|
8
|
+
ownDb;
|
|
8
9
|
constructor(dbPath) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
if (dbPath) {
|
|
11
|
+
const dir = dirname(dbPath);
|
|
12
|
+
if (!existsSync(dir))
|
|
13
|
+
mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
14
|
+
this.db = new Database(dbPath);
|
|
15
|
+
this.db.pragma('journal_mode = WAL');
|
|
16
|
+
this.db.pragma('busy_timeout = 5000');
|
|
17
|
+
this.ownDb = true;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
this.db = getDatabase();
|
|
21
|
+
this.ownDb = false;
|
|
22
|
+
}
|
|
16
23
|
this.initSchema();
|
|
17
24
|
}
|
|
18
25
|
initSchema() {
|
|
@@ -67,7 +74,7 @@ export class HeuristicStore {
|
|
|
67
74
|
}
|
|
68
75
|
else if (trace.status === 'failed') {
|
|
69
76
|
// Failure heuristics
|
|
70
|
-
const failedPhases = trace.phases.filter(p => p.status === 'failed');
|
|
77
|
+
const failedPhases = trace.phases.filter((p) => p.status === 'failed');
|
|
71
78
|
for (const phase of failedPhases) {
|
|
72
79
|
heuristics.push({
|
|
73
80
|
taskPattern,
|
|
@@ -100,10 +107,12 @@ export class HeuristicStore {
|
|
|
100
107
|
}
|
|
101
108
|
/** Store a heuristic */
|
|
102
109
|
store(h) {
|
|
103
|
-
const result = this.db
|
|
110
|
+
const result = this.db
|
|
111
|
+
.prepare(`
|
|
104
112
|
INSERT INTO heuristics (task_pattern, lesson, source, confidence, use_count, success_when_used)
|
|
105
113
|
VALUES (?, ?, ?, ?, ?, ?)
|
|
106
|
-
`)
|
|
114
|
+
`)
|
|
115
|
+
.run(redactSecrets(h.taskPattern), redactSecrets(h.lesson), h.source, h.confidence, h.useCount, h.successWhenUsed);
|
|
107
116
|
return result.lastInsertRowid;
|
|
108
117
|
}
|
|
109
118
|
/** Retrieve relevant heuristics for a task using FTS5 */
|
|
@@ -111,20 +120,24 @@ export class HeuristicStore {
|
|
|
111
120
|
const normalized = this.normalizeTask(task);
|
|
112
121
|
const safeQuery = '"' + normalized.replace(/"/g, '') + '"';
|
|
113
122
|
try {
|
|
114
|
-
const rows = this.db
|
|
123
|
+
const rows = this.db
|
|
124
|
+
.prepare(`
|
|
115
125
|
SELECT h.*, rank
|
|
116
126
|
FROM heuristics_fts fts
|
|
117
127
|
JOIN heuristics h ON h.id = fts.rowid
|
|
118
128
|
WHERE heuristics_fts MATCH ?
|
|
119
129
|
ORDER BY h.confidence DESC, rank
|
|
120
130
|
LIMIT ?
|
|
121
|
-
`)
|
|
131
|
+
`)
|
|
132
|
+
.all(safeQuery, limit);
|
|
122
133
|
// Batch update use_count instead of N+1 individual updates
|
|
123
|
-
const ids = rows.map(r => r.id);
|
|
134
|
+
const ids = rows.map((r) => r.id);
|
|
124
135
|
if (ids.length > 0) {
|
|
125
|
-
this.db
|
|
136
|
+
this.db
|
|
137
|
+
.prepare(`UPDATE heuristics SET use_count = use_count + 1 WHERE id IN (${ids.map(() => '?').join(',')})`)
|
|
138
|
+
.run(...ids);
|
|
126
139
|
}
|
|
127
|
-
return rows.map(r => ({
|
|
140
|
+
return rows.map((r) => ({
|
|
128
141
|
id: r.id,
|
|
129
142
|
taskPattern: r.task_pattern,
|
|
130
143
|
lesson: r.lesson,
|
|
@@ -143,7 +156,9 @@ export class HeuristicStore {
|
|
|
143
156
|
recordOutcome(heuristicIds, success) {
|
|
144
157
|
if (success) {
|
|
145
158
|
for (const id of heuristicIds) {
|
|
146
|
-
this.db
|
|
159
|
+
this.db
|
|
160
|
+
.prepare('UPDATE heuristics SET success_when_used = success_when_used + 1, confidence = MIN(1.0, confidence + 0.05) WHERE id = ?')
|
|
161
|
+
.run(id);
|
|
147
162
|
}
|
|
148
163
|
}
|
|
149
164
|
else {
|
|
@@ -165,10 +180,12 @@ export class HeuristicStore {
|
|
|
165
180
|
}
|
|
166
181
|
/** Decay confidence of old heuristics */
|
|
167
182
|
decayOld(daysOld = 30) {
|
|
168
|
-
this.db
|
|
183
|
+
this.db
|
|
184
|
+
.prepare(`
|
|
169
185
|
UPDATE heuristics SET confidence = MAX(0.1, confidence - 0.05)
|
|
170
186
|
WHERE created_at < datetime('now', '-' || ? || ' days')
|
|
171
|
-
`)
|
|
187
|
+
`)
|
|
188
|
+
.run(daysOld);
|
|
172
189
|
}
|
|
173
190
|
/** Normalize task description for pattern matching */
|
|
174
191
|
normalizeTask(task) {
|
|
@@ -181,8 +198,13 @@ export class HeuristicStore {
|
|
|
181
198
|
.slice(0, 200);
|
|
182
199
|
}
|
|
183
200
|
prune(maxRows = 10000) {
|
|
184
|
-
this.db
|
|
201
|
+
this.db
|
|
202
|
+
.prepare('DELETE FROM heuristics WHERE id NOT IN (SELECT id FROM heuristics ORDER BY created_at DESC LIMIT ?)')
|
|
203
|
+
.run(maxRows);
|
|
204
|
+
}
|
|
205
|
+
close() {
|
|
206
|
+
if (this.ownDb)
|
|
207
|
+
this.db.close();
|
|
185
208
|
}
|
|
186
|
-
close() { this.db.close(); }
|
|
187
209
|
}
|
|
188
210
|
//# sourceMappingURL=heuristics.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heuristics.js","sourceRoot":"","sources":["../../src/runtime/heuristics.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"heuristics.js","sourceRoot":"","sources":["../../src/runtime/heuristics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { OrchestrationConfig, OrchestrationInstance } from '../core/types.js';
|
|
2
|
+
import { Logger } from '../utils/logger.js';
|
|
3
|
+
import { TraceStore } from './traces.js';
|
|
4
|
+
import { HeuristicStore } from './heuristics.js';
|
|
5
|
+
import { KnowledgeCompounder } from './compounder.js';
|
|
6
|
+
import { ModelRouter } from './model-router.js';
|
|
7
|
+
import { AutonomyTracker } from './autonomy.js';
|
|
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';
|
|
13
|
+
export interface LearningEngineDeps {
|
|
14
|
+
traceStore: TraceStore | null;
|
|
15
|
+
heuristicStore: HeuristicStore | null;
|
|
16
|
+
modelRouter: ModelRouter | null;
|
|
17
|
+
autonomyTracker: AutonomyTracker | null;
|
|
18
|
+
compounder: KnowledgeCompounder | null;
|
|
19
|
+
graphLearner?: GraphLearner | null;
|
|
20
|
+
metaSelector?: MetaPatternSelector | null;
|
|
21
|
+
predictiveDropout?: PredictiveDropout | null;
|
|
22
|
+
orchestrationEmbedder?: OrchestrationEmbedder | null;
|
|
23
|
+
log: Logger;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Handles post-execution learning: trace storage, heuristic extraction,
|
|
27
|
+
* knowledge compounding, model routing outcomes, and autonomy tracking.
|
|
28
|
+
* Also provides plan-time injection of learned heuristics and solutions.
|
|
29
|
+
*/
|
|
30
|
+
export declare class LearningEngine {
|
|
31
|
+
private traceStore;
|
|
32
|
+
private heuristicStore;
|
|
33
|
+
private modelRouter;
|
|
34
|
+
private autonomyTracker;
|
|
35
|
+
private compounder;
|
|
36
|
+
private graphLearner;
|
|
37
|
+
private metaSelector;
|
|
38
|
+
private predictiveDropout;
|
|
39
|
+
private orchestrationEmbedder;
|
|
40
|
+
private log;
|
|
41
|
+
constructor(deps: LearningEngineDeps);
|
|
42
|
+
/**
|
|
43
|
+
* Record all learning outcomes after an orchestration completes.
|
|
44
|
+
*/
|
|
45
|
+
recordOutcome(orchestration: OrchestrationInstance, config: OrchestrationConfig, reflections: string[]): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Find similar past traces for a task description.
|
|
48
|
+
*/
|
|
49
|
+
findSimilarTraces(task: string, limit?: number): string | null;
|
|
50
|
+
/**
|
|
51
|
+
* Inject learned heuristics into the first phase of a plan.
|
|
52
|
+
*/
|
|
53
|
+
injectHeuristics(plan: ExecutionPlan): void;
|
|
54
|
+
/**
|
|
55
|
+
* Inject relevant past solutions into the first phase of a plan.
|
|
56
|
+
*/
|
|
57
|
+
injectSolutions(plan: ExecutionPlan): void;
|
|
58
|
+
/**
|
|
59
|
+
* Close all learning resources.
|
|
60
|
+
*/
|
|
61
|
+
close(): void;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=learning-engine.d.ts.map
|
|
@@ -0,0 +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;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"}
|