swarm-engine 1.38.0 → 1.43.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/dist/core/patterns.d.ts +7 -1
- package/dist/core/patterns.d.ts.map +1 -1
- package/dist/core/patterns.js +23 -0
- package/dist/core/patterns.js.map +1 -1
- package/dist/core/types.d.ts +11 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/index.d.ts +26 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -1
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +3 -9
- package/dist/memory/index.js.map +1 -1
- package/dist/runtime/acon.d.ts +61 -0
- package/dist/runtime/acon.d.ts.map +1 -0
- package/dist/runtime/acon.js +266 -0
- package/dist/runtime/acon.js.map +1 -0
- package/dist/runtime/adaptive.d.ts +1 -0
- package/dist/runtime/adaptive.d.ts.map +1 -1
- package/dist/runtime/adaptive.js +18 -4
- package/dist/runtime/adaptive.js.map +1 -1
- package/dist/runtime/agent-runner.d.ts +8 -0
- package/dist/runtime/agent-runner.d.ts.map +1 -1
- package/dist/runtime/agent-runner.js +79 -4
- package/dist/runtime/agent-runner.js.map +1 -1
- package/dist/runtime/backends/claude-session.d.ts +49 -0
- package/dist/runtime/backends/claude-session.d.ts.map +1 -0
- package/dist/runtime/backends/claude-session.js +237 -0
- package/dist/runtime/backends/claude-session.js.map +1 -0
- package/dist/runtime/backends/claude.d.ts.map +1 -1
- package/dist/runtime/backends/claude.js +90 -4
- package/dist/runtime/backends/claude.js.map +1 -1
- package/dist/runtime/backends/types.d.ts +31 -1
- package/dist/runtime/backends/types.d.ts.map +1 -1
- package/dist/runtime/benefits.d.ts +170 -0
- package/dist/runtime/benefits.d.ts.map +1 -0
- package/dist/runtime/benefits.js +588 -0
- package/dist/runtime/benefits.js.map +1 -0
- package/dist/runtime/compaction.d.ts +7 -1
- package/dist/runtime/compaction.d.ts.map +1 -1
- package/dist/runtime/compaction.js +12 -2
- package/dist/runtime/compaction.js.map +1 -1
- package/dist/runtime/compactor.d.ts +90 -0
- package/dist/runtime/compactor.d.ts.map +1 -0
- package/dist/runtime/compactor.js +418 -0
- package/dist/runtime/compactor.js.map +1 -0
- package/dist/runtime/context-decay.d.ts +45 -0
- package/dist/runtime/context-decay.d.ts.map +1 -0
- package/dist/runtime/context-decay.js +149 -0
- package/dist/runtime/context-decay.js.map +1 -0
- package/dist/runtime/distiller.d.ts +1 -0
- package/dist/runtime/distiller.d.ts.map +1 -1
- package/dist/runtime/distiller.js +8 -2
- package/dist/runtime/distiller.js.map +1 -1
- package/dist/runtime/engine.d.ts +44 -15
- package/dist/runtime/engine.d.ts.map +1 -1
- package/dist/runtime/engine.js +406 -68
- package/dist/runtime/engine.js.map +1 -1
- package/dist/runtime/execution-graph.d.ts.map +1 -1
- package/dist/runtime/execution-graph.js.map +1 -1
- package/dist/runtime/executor.d.ts +7 -1
- package/dist/runtime/executor.d.ts.map +1 -1
- package/dist/runtime/executor.js +20 -0
- package/dist/runtime/executor.js.map +1 -1
- package/dist/runtime/graph-adversarial.d.ts.map +1 -1
- package/dist/runtime/graph-adversarial.js.map +1 -1
- package/dist/runtime/graph-analyzer.d.ts.map +1 -1
- package/dist/runtime/graph-analyzer.js.map +1 -1
- package/dist/runtime/graph-discovery.d.ts.map +1 -1
- package/dist/runtime/graph-discovery.js +1 -4
- package/dist/runtime/graph-discovery.js.map +1 -1
- package/dist/runtime/graph-dropout.d.ts.map +1 -1
- package/dist/runtime/graph-dropout.js +10 -2
- package/dist/runtime/graph-dropout.js.map +1 -1
- package/dist/runtime/graph-embeddings.d.ts.map +1 -1
- package/dist/runtime/graph-embeddings.js +1 -3
- package/dist/runtime/graph-embeddings.js.map +1 -1
- package/dist/runtime/graph-feedback.d.ts.map +1 -1
- package/dist/runtime/graph-feedback.js +1 -3
- package/dist/runtime/graph-feedback.js.map +1 -1
- package/dist/runtime/graph-gnn.d.ts.map +1 -1
- package/dist/runtime/graph-gnn.js.map +1 -1
- package/dist/runtime/graph-meta-adversarial.d.ts.map +1 -1
- package/dist/runtime/graph-meta-adversarial.js.map +1 -1
- package/dist/runtime/graph-meta.d.ts.map +1 -1
- package/dist/runtime/graph-meta.js +48 -20
- package/dist/runtime/graph-meta.js.map +1 -1
- package/dist/runtime/graph-self-evolve.d.ts.map +1 -1
- package/dist/runtime/graph-self-evolve.js.map +1 -1
- package/dist/runtime/graph-synthesis.d.ts.map +1 -1
- package/dist/runtime/graph-synthesis.js.map +1 -1
- package/dist/runtime/graph-trajectory.d.ts.map +1 -1
- package/dist/runtime/graph-trajectory.js +3 -8
- package/dist/runtime/graph-trajectory.js.map +1 -1
- package/dist/runtime/learning-engine.d.ts.map +1 -1
- package/dist/runtime/learning-engine.js +10 -4
- package/dist/runtime/learning-engine.js.map +1 -1
- package/dist/runtime/output-schemas.d.ts +21 -0
- package/dist/runtime/output-schemas.d.ts.map +1 -0
- package/dist/runtime/output-schemas.js +252 -0
- package/dist/runtime/output-schemas.js.map +1 -0
- package/dist/runtime/prompt-compressor.d.ts +16 -0
- package/dist/runtime/prompt-compressor.d.ts.map +1 -0
- package/dist/runtime/prompt-compressor.js +68 -0
- package/dist/runtime/prompt-compressor.js.map +1 -0
- package/dist/runtime/repo-map.d.ts +40 -0
- package/dist/runtime/repo-map.d.ts.map +1 -0
- package/dist/runtime/repo-map.js +358 -0
- package/dist/runtime/repo-map.js.map +1 -0
- package/dist/runtime/sdk-mcp-server.d.ts +44 -0
- package/dist/runtime/sdk-mcp-server.d.ts.map +1 -0
- package/dist/runtime/sdk-mcp-server.js +133 -0
- package/dist/runtime/sdk-mcp-server.js.map +1 -0
- package/dist/runtime/structured-handoff.d.ts +41 -0
- package/dist/runtime/structured-handoff.d.ts.map +1 -0
- package/dist/runtime/structured-handoff.js +279 -0
- package/dist/runtime/structured-handoff.js.map +1 -0
- package/dist/runtime/token-analytics.d.ts +38 -0
- package/dist/runtime/token-analytics.d.ts.map +1 -0
- package/dist/runtime/token-analytics.js +59 -0
- package/dist/runtime/token-analytics.js.map +1 -0
- package/dist/runtime/verifier.d.ts +10 -0
- package/dist/runtime/verifier.d.ts.map +1 -1
- package/dist/runtime/verifier.js +97 -1
- package/dist/runtime/verifier.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { estimateTokens } from '../utils/tokens.js';
|
|
2
|
+
export const DEFAULT_DECAY_CONFIG = {
|
|
3
|
+
fullFidelityCount: 2,
|
|
4
|
+
summaryCount: 3,
|
|
5
|
+
summaryMaxChars: 500,
|
|
6
|
+
oneLinerMaxChars: 120,
|
|
7
|
+
};
|
|
8
|
+
/** Pattern to match file paths (Unix and Windows-style) */
|
|
9
|
+
const FILE_PATH_RE = /(?:\/[\w.-]+){2,}(?:\.\w+)?|[\w.-]+(?:\/[\w.-]+)+(?:\.\w+)?/g;
|
|
10
|
+
/** Keywords indicating a decision or change */
|
|
11
|
+
const CHANGE_KEYWORDS = /\b(?:decision|decided|changed|created|modified|deleted|added|removed|updated|refactored|fixed|implemented)\b/gi;
|
|
12
|
+
/**
|
|
13
|
+
* Extract the first sentence from a block of text.
|
|
14
|
+
* A sentence ends at a period followed by whitespace, a newline, or end of string.
|
|
15
|
+
*/
|
|
16
|
+
function extractFirstSentence(text) {
|
|
17
|
+
const trimmed = text.trim();
|
|
18
|
+
if (!trimmed)
|
|
19
|
+
return '';
|
|
20
|
+
// Match up to the first sentence-ending punctuation followed by space/newline/end
|
|
21
|
+
const match = trimmed.match(/^(.+?[.!?])(?:\s|$)/);
|
|
22
|
+
if (match)
|
|
23
|
+
return match[1];
|
|
24
|
+
// No sentence-ending punctuation — take the first line
|
|
25
|
+
const firstLine = trimmed.split('\n')[0].trim();
|
|
26
|
+
return firstLine;
|
|
27
|
+
}
|
|
28
|
+
export class ContextDecayManager {
|
|
29
|
+
config;
|
|
30
|
+
constructor(config = DEFAULT_DECAY_CONFIG) {
|
|
31
|
+
this.config = config;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Apply decay to ordered phase outputs.
|
|
35
|
+
* Phases are ordered from oldest to newest (index 0 = oldest).
|
|
36
|
+
*
|
|
37
|
+
* - Level 0 (most recent `fullFidelityCount` phases): Full output, no changes
|
|
38
|
+
* - Level 1 (next `summaryCount` phases): Extract key points into structured summary
|
|
39
|
+
* - Level 2 (everything older): Single-line reference
|
|
40
|
+
*/
|
|
41
|
+
applyDecay(phaseOutputs) {
|
|
42
|
+
const entries = Array.from(phaseOutputs.entries());
|
|
43
|
+
const total = entries.length;
|
|
44
|
+
const results = [];
|
|
45
|
+
for (let i = 0; i < total; i++) {
|
|
46
|
+
const [phaseName, outputs] = entries[i];
|
|
47
|
+
const level = this.getDecayLevel(i, total);
|
|
48
|
+
const combined = outputs.join('\n\n');
|
|
49
|
+
const originalLength = combined.length;
|
|
50
|
+
let content;
|
|
51
|
+
switch (level) {
|
|
52
|
+
case 0:
|
|
53
|
+
content = combined;
|
|
54
|
+
break;
|
|
55
|
+
case 1:
|
|
56
|
+
content = this.summarizePhase(phaseName, outputs);
|
|
57
|
+
break;
|
|
58
|
+
case 2:
|
|
59
|
+
content = this.toOneLiner(phaseName, outputs);
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
results.push({ phaseName, level, content, originalLength });
|
|
63
|
+
}
|
|
64
|
+
return results;
|
|
65
|
+
}
|
|
66
|
+
/** Determine what decay level a phase gets based on its position */
|
|
67
|
+
getDecayLevel(phaseIndex, totalPhases) {
|
|
68
|
+
// Phases are oldest-first. Level 0 = most recent (highest indices).
|
|
69
|
+
const distanceFromEnd = totalPhases - 1 - phaseIndex;
|
|
70
|
+
if (distanceFromEnd < this.config.fullFidelityCount) {
|
|
71
|
+
return 0;
|
|
72
|
+
}
|
|
73
|
+
if (distanceFromEnd < this.config.fullFidelityCount + this.config.summaryCount) {
|
|
74
|
+
return 1;
|
|
75
|
+
}
|
|
76
|
+
return 2;
|
|
77
|
+
}
|
|
78
|
+
/** Level 1: Extract structured summary from phase output */
|
|
79
|
+
summarizePhase(phaseName, outputs) {
|
|
80
|
+
if (outputs.length === 0) {
|
|
81
|
+
return `[Phase: ${phaseName}] No output.`;
|
|
82
|
+
}
|
|
83
|
+
// Extract headline from first output
|
|
84
|
+
const headline = extractFirstSentence(outputs[0]) || 'No summary available';
|
|
85
|
+
// Collect all file paths across all outputs (deduplicated)
|
|
86
|
+
const allText = outputs.join('\n');
|
|
87
|
+
const fileMatches = allText.match(FILE_PATH_RE);
|
|
88
|
+
const uniqueFiles = fileMatches ? [...new Set(fileMatches)] : [];
|
|
89
|
+
// Count change/decision keywords
|
|
90
|
+
const changeMatches = allText.match(CHANGE_KEYWORDS);
|
|
91
|
+
const changeCount = changeMatches ? changeMatches.length : 0;
|
|
92
|
+
// Build structured summary
|
|
93
|
+
const parts = [`[Phase: ${phaseName}] ${headline}`];
|
|
94
|
+
if (uniqueFiles.length > 0) {
|
|
95
|
+
const fileList = uniqueFiles.slice(0, 5).join(', ');
|
|
96
|
+
const suffix = uniqueFiles.length > 5 ? ` (+${uniqueFiles.length - 5} more)` : '';
|
|
97
|
+
parts.push(`Files: ${fileList}${suffix}`);
|
|
98
|
+
}
|
|
99
|
+
if (changeCount > 0) {
|
|
100
|
+
parts.push(`Changes: ${changeCount}`);
|
|
101
|
+
}
|
|
102
|
+
let summary = parts.join('. ');
|
|
103
|
+
// Ensure trailing period
|
|
104
|
+
if (!summary.endsWith('.')) {
|
|
105
|
+
summary += '.';
|
|
106
|
+
}
|
|
107
|
+
// Truncate to summaryMaxChars
|
|
108
|
+
if (summary.length > this.config.summaryMaxChars) {
|
|
109
|
+
summary = summary.slice(0, this.config.summaryMaxChars - 3) + '...';
|
|
110
|
+
}
|
|
111
|
+
return summary;
|
|
112
|
+
}
|
|
113
|
+
/** Level 2: Generate one-line reference from phase output */
|
|
114
|
+
toOneLiner(phaseName, outputs) {
|
|
115
|
+
const combined = outputs.join('\n\n');
|
|
116
|
+
const tokens = estimateTokens(combined);
|
|
117
|
+
// Try extracting first sentence for a meaningful one-liner
|
|
118
|
+
const firstSentence = extractFirstSentence(combined);
|
|
119
|
+
if (firstSentence && firstSentence.length > 0) {
|
|
120
|
+
const candidate = `[${phaseName}] ${firstSentence}`;
|
|
121
|
+
if (candidate.length <= this.config.oneLinerMaxChars) {
|
|
122
|
+
return candidate;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
// Fallback to count format
|
|
126
|
+
const fallback = `[${phaseName}: ${outputs.length} outputs, ~${tokens} tokens]`;
|
|
127
|
+
if (fallback.length > this.config.oneLinerMaxChars) {
|
|
128
|
+
return fallback.slice(0, this.config.oneLinerMaxChars - 3) + '...';
|
|
129
|
+
}
|
|
130
|
+
return fallback;
|
|
131
|
+
}
|
|
132
|
+
/** Calculate total token savings from decay */
|
|
133
|
+
estimateSavings(original, decayed) {
|
|
134
|
+
let originalTokens = 0;
|
|
135
|
+
for (const outputs of original.values()) {
|
|
136
|
+
originalTokens += estimateTokens(outputs.join('\n\n'));
|
|
137
|
+
}
|
|
138
|
+
const byLevel = { 0: 0, 1: 0, 2: 0 };
|
|
139
|
+
let decayedTokens = 0;
|
|
140
|
+
for (const entry of decayed) {
|
|
141
|
+
const tokens = estimateTokens(entry.content);
|
|
142
|
+
decayedTokens += tokens;
|
|
143
|
+
byLevel[entry.level] += tokens;
|
|
144
|
+
}
|
|
145
|
+
const savedPercent = originalTokens > 0 ? Math.round(((originalTokens - decayedTokens) / originalTokens) * 100) : 0;
|
|
146
|
+
return { originalTokens, decayedTokens, savedPercent, byLevel };
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=context-decay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-decay.js","sourceRoot":"","sources":["../../src/runtime/context-decay.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distiller.d.ts","sourceRoot":"","sources":["../../src/runtime/distiller.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"distiller.d.ts","sourceRoot":"","sources":["../../src/runtime/distiller.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAKD,eAAO,MAAM,iBAAiB,EAAE,eAK/B,CAAC;AAEF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;IAI7C;;;OAGG;IACG,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA4DzE;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAGxC"}
|
|
@@ -2,6 +2,8 @@ import { execFile } from 'child_process';
|
|
|
2
2
|
import { promisify } from 'util';
|
|
3
3
|
import { estimateTokens } from '../utils/tokens.js';
|
|
4
4
|
import { redactSecrets } from '../utils/redact.js';
|
|
5
|
+
/** Minimum char length to justify distillation cost (~2000 chars overhead) */
|
|
6
|
+
const MIN_DISTILL_LENGTH = 3000;
|
|
5
7
|
export const DEFAULT_DISTILLER = {
|
|
6
8
|
enabled: true,
|
|
7
9
|
maxInputTokens: 4000, // ~16K chars
|
|
@@ -18,11 +20,15 @@ export class ContextDistiller {
|
|
|
18
20
|
* Returns the original if short enough, or a compressed version.
|
|
19
21
|
*/
|
|
20
22
|
async distill(phaseOutputs, phaseName) {
|
|
21
|
-
if (!this.config.enabled)
|
|
23
|
+
if (!this.config.enabled || this.config.skipDistillation)
|
|
22
24
|
return phaseOutputs.join('\n\n');
|
|
23
25
|
const combined = redactSecrets(phaseOutputs.join('\n\n'));
|
|
26
|
+
// Cost guard: skip distillation for short outputs where the overhead isn't worth it
|
|
27
|
+
if (combined.length <= MIN_DISTILL_LENGTH) {
|
|
28
|
+
return combined;
|
|
29
|
+
}
|
|
24
30
|
const inputTokens = estimateTokens(combined);
|
|
25
|
-
// Don't distill if already short
|
|
31
|
+
// Don't distill if already short (token-based check)
|
|
26
32
|
if (inputTokens <= this.config.maxInputTokens) {
|
|
27
33
|
return combined;
|
|
28
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distiller.js","sourceRoot":"","sources":["../../src/runtime/distiller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"distiller.js","sourceRoot":"","sources":["../../src/runtime/distiller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAUnD,8EAA8E;AAC9E,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEhC,MAAM,CAAC,MAAM,iBAAiB,GAAoB;IAChD,OAAO,EAAE,IAAI;IACb,cAAc,EAAE,IAAI,EAAE,aAAa;IACnC,YAAY,EAAE,IAAI,EAAE,YAAY;IAChC,KAAK,EAAE,2BAA2B;CACnC,CAAC;AAEF,MAAM,OAAO,gBAAgB;IACnB,MAAM,CAAkB;IAEhC,YAAY,MAAiC;QAC3C,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAAC;IACpD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,YAAsB,EAAE,SAAiB;QACrD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB;YAAE,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE3F,MAAM,QAAQ,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAE1D,oFAAoF;QACpF,IAAI,QAAQ,CAAC,MAAM,IAAI,kBAAkB,EAAE,CAAC;YAC1C,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE7C,qDAAqD;QACrD,IAAI,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC9C,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,4EAA4E;QAC5E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG;;;;;;;;;UASX,IAAI,CAAC,MAAM,CAAC,YAAY;;uBAEX,SAAS;;EAE9B,QAAQ,EAAE,CAAC;YAEP,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACpC,QAAQ,EACR;gBACE,IAAI;gBACJ,MAAM;gBACN,SAAS;gBACT,2BAA2B;gBAC3B,cAAc;gBACd,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC;gBACpC,YAAY;aACb,EACD,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CACtC,CAAC;YAEF,OAAO,mBAAmB,SAAS,MAAM,WAAW,cAAc,cAAc,CAAC,MAAM,CAAC,eAAe,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACzH,CAAC;QAAC,MAAM,CAAC;YACP,kDAAkD;YAClD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC;YACjD,IAAI,QAAQ,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;gBAClC,OAAO,mBAAmB,SAAS,QAAQ,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC;YACjF,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,OAAe;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;IACrF,CAAC;CACF"}
|
package/dist/runtime/engine.d.ts
CHANGED
|
@@ -6,6 +6,17 @@ import { PatternRegistry } from '../core/patterns.js';
|
|
|
6
6
|
import type { PluginLoader } from './plugins.js';
|
|
7
7
|
import type { PaneManager } from './panes.js';
|
|
8
8
|
import { ExecutionGraph } from './execution-graph.js';
|
|
9
|
+
import { ReviewFeedbackRecorder } from './graph-feedback.js';
|
|
10
|
+
import { CausalGraphEngine } from './graph-causal.js';
|
|
11
|
+
import { FailurePropagationPredictor } from './graph-gnn.js';
|
|
12
|
+
import type { GNNWeights } from './graph-gnn.js';
|
|
13
|
+
import { MetaPatternSelector } from './graph-meta.js';
|
|
14
|
+
import { PredictiveDropout } from './graph-dropout.js';
|
|
15
|
+
import { PatternSynthesizer } from './graph-synthesis.js';
|
|
16
|
+
import { MetaAdversarialTester } from './graph-meta-adversarial.js';
|
|
17
|
+
import { RuleEvolver } from './graph-self-evolve.js';
|
|
18
|
+
import { TaskDiscovery } from './graph-discovery.js';
|
|
19
|
+
import { OrchestrationEmbedder } from './graph-embeddings.js';
|
|
9
20
|
export interface EngineOptions {
|
|
10
21
|
registry: AgentRegistry;
|
|
11
22
|
bus: EventBus;
|
|
@@ -14,7 +25,7 @@ export interface EngineOptions {
|
|
|
14
25
|
cwd?: string;
|
|
15
26
|
mock?: boolean;
|
|
16
27
|
nonInteractive?: boolean;
|
|
17
|
-
permissionMode?: 'default' | 'acceptEdits' | 'bypassPermissions';
|
|
28
|
+
permissionMode?: 'default' | 'acceptEdits' | 'bypassPermissions' | 'plan' | 'dontAsk';
|
|
18
29
|
defaultBackend?: string;
|
|
19
30
|
permissionProfile?: string;
|
|
20
31
|
snapshotsEnabled?: boolean;
|
|
@@ -63,24 +74,42 @@ export declare class SwarmEngine {
|
|
|
63
74
|
private executionGraph;
|
|
64
75
|
private graphAnalyzer;
|
|
65
76
|
private graphLearner;
|
|
66
|
-
private
|
|
67
|
-
private
|
|
68
|
-
private
|
|
69
|
-
private
|
|
70
|
-
private
|
|
71
|
-
private
|
|
72
|
-
private
|
|
73
|
-
private
|
|
74
|
-
private
|
|
75
|
-
private
|
|
76
|
-
private
|
|
77
|
-
private
|
|
78
|
-
private
|
|
77
|
+
private _reviewFeedback?;
|
|
78
|
+
private _causalEngine?;
|
|
79
|
+
private _gnnPredictor?;
|
|
80
|
+
private _adversarialEvolver?;
|
|
81
|
+
private _metaSelector?;
|
|
82
|
+
private _predictiveDropout?;
|
|
83
|
+
private _gnnWeights?;
|
|
84
|
+
private _patternSynthesizer?;
|
|
85
|
+
private _trajectoryPredictor?;
|
|
86
|
+
private _metaAdversarial?;
|
|
87
|
+
private _ruleEvolver?;
|
|
88
|
+
private _taskDiscovery?;
|
|
89
|
+
private _orchestrationEmbedder?;
|
|
90
|
+
private swarmMcpServer;
|
|
91
|
+
private decisions;
|
|
92
|
+
private benefitsCollector;
|
|
93
|
+
get reviewFeedback(): ReviewFeedbackRecorder | null;
|
|
94
|
+
get causalEngine(): CausalGraphEngine | null;
|
|
95
|
+
get gnnPredictor(): FailurePropagationPredictor | null;
|
|
96
|
+
private get adversarialEvolver();
|
|
97
|
+
get metaSelector(): MetaPatternSelector | null;
|
|
98
|
+
get predictiveDropout(): PredictiveDropout | null;
|
|
99
|
+
get gnnWeights(): GNNWeights | null;
|
|
100
|
+
get patternSynthesizer(): PatternSynthesizer | null;
|
|
101
|
+
private get trajectoryPredictor();
|
|
102
|
+
get metaAdversarial(): MetaAdversarialTester | null;
|
|
103
|
+
get ruleEvolver(): RuleEvolver | null;
|
|
104
|
+
get taskDiscovery(): TaskDiscovery | null;
|
|
105
|
+
get orchestrationEmbedder(): OrchestrationEmbedder | null;
|
|
79
106
|
constructor(options: EngineOptions);
|
|
80
107
|
/**
|
|
81
108
|
* Execute an orchestration from config.
|
|
82
109
|
*/
|
|
83
|
-
execute(config: OrchestrationConfig
|
|
110
|
+
execute(config: OrchestrationConfig, executeOptions?: {
|
|
111
|
+
dryRun?: boolean;
|
|
112
|
+
}): Promise<OrchestrationInstance>;
|
|
84
113
|
/**
|
|
85
114
|
* Execute a named pattern with a task description.
|
|
86
115
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/runtime/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EAIrB,aAAa,EAKd,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAiBtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/runtime/engine.ts"],"names":[],"mappings":"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"}
|