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,266 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ACON (Agent Context Optimization) — failure-driven compression guidelines.
|
|
3
|
+
*
|
|
4
|
+
* Optimizes context compression by analyzing trajectory pairs: when compressed
|
|
5
|
+
* context produces a worse outcome than full context, ACON records what was
|
|
6
|
+
* lost and refines compression rules. Gradient-free, works with any model.
|
|
7
|
+
*/
|
|
8
|
+
import { randomUUID } from 'crypto';
|
|
9
|
+
/**
|
|
10
|
+
* Regex patterns used to detect content categories in removed content.
|
|
11
|
+
* Each maps a guideline pattern name to a regex that matches that category.
|
|
12
|
+
*/
|
|
13
|
+
const CONTENT_DETECTORS = {
|
|
14
|
+
'error-messages': /(?:error|exception|throw|assert|fail|panic|traceback|stack\s*trace|ENOENT|EACCES|TypeError|ReferenceError|SyntaxError)/i,
|
|
15
|
+
'file-paths': /(?:\/[\w.\-/]+\.\w+|[\w.\-/]+\.(?:ts|js|py|go|rs|java|tsx|jsx|css|html|json|yaml|yml|toml|sh)|line\s+\d+|:\d+:\d+)/,
|
|
16
|
+
decisions: /(?:decided|chose|because|instead\s+of|trade-?off|prefer|alternative|approach|rationale|reason)/i,
|
|
17
|
+
'api-contracts': /(?:function\s+\w+|interface\s+\w+|type\s+\w+|class\s+\w+|export\s+(?:default\s+)?(?:function|class|interface|type|const)|=>\s*\{|\)\s*:\s*\w+)/,
|
|
18
|
+
'test-names': /(?:describe\s*\(|it\s*\(|test\s*\(|PASS|FAIL|✓|✗|✘|passed|failed|\d+\s+(?:passing|failing|pending))/i,
|
|
19
|
+
'config-values': /(?:(?:PORT|HOST|URL|KEY|SECRET|TOKEN|DATABASE|DB_|API_|AWS_|NODE_ENV|PATH)\s*[=:]|\.env|config\.\w+|process\.env)/i,
|
|
20
|
+
boilerplate: /(?:^import\s+|^from\s+|^require\s*\(|license|copyright|MIT|Apache|BSD|progress\s*[:.]|\d+%\s*[|█▓░]|spinning|⠋|⠙|⠹)/im,
|
|
21
|
+
whitespace: /(?:^\s{8,}$|^[\s│─┌┐└┘├┤┬┴┼╔╗╚╝║═]+$)/m,
|
|
22
|
+
};
|
|
23
|
+
export class ACONOptimizer {
|
|
24
|
+
guidelines = [];
|
|
25
|
+
trajectories = [];
|
|
26
|
+
constructor(defaultGuidelines) {
|
|
27
|
+
this.guidelines = defaultGuidelines ?? ACONOptimizer.getDefaultGuidelines();
|
|
28
|
+
}
|
|
29
|
+
/** Built-in compression guidelines based on common failure patterns */
|
|
30
|
+
static getDefaultGuidelines() {
|
|
31
|
+
const now = new Date();
|
|
32
|
+
return [
|
|
33
|
+
{
|
|
34
|
+
id: 'default-error-messages',
|
|
35
|
+
pattern: 'error-messages',
|
|
36
|
+
rule: 'Always preserve error messages, exception text, and assertion failures — these are the most information-dense content',
|
|
37
|
+
priority: 95,
|
|
38
|
+
source: 'default',
|
|
39
|
+
createdAt: now,
|
|
40
|
+
failureCount: 0,
|
|
41
|
+
successCount: 0,
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
id: 'default-file-paths',
|
|
45
|
+
pattern: 'file-paths',
|
|
46
|
+
rule: 'Always preserve file paths and line numbers — agents need these for navigation',
|
|
47
|
+
priority: 90,
|
|
48
|
+
source: 'default',
|
|
49
|
+
createdAt: now,
|
|
50
|
+
failureCount: 0,
|
|
51
|
+
successCount: 0,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
id: 'default-decisions',
|
|
55
|
+
pattern: 'decisions',
|
|
56
|
+
rule: "Preserve any text indicating a decision, choice, or reasoning (look for: 'decided', 'chose', 'because', 'instead of', 'trade-off')",
|
|
57
|
+
priority: 85,
|
|
58
|
+
source: 'default',
|
|
59
|
+
createdAt: now,
|
|
60
|
+
failureCount: 0,
|
|
61
|
+
successCount: 0,
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
id: 'default-api-contracts',
|
|
65
|
+
pattern: 'api-contracts',
|
|
66
|
+
rule: 'Preserve function signatures, type definitions, and interface contracts',
|
|
67
|
+
priority: 80,
|
|
68
|
+
source: 'default',
|
|
69
|
+
createdAt: now,
|
|
70
|
+
failureCount: 0,
|
|
71
|
+
successCount: 0,
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
id: 'default-test-names',
|
|
75
|
+
pattern: 'test-names',
|
|
76
|
+
rule: 'Preserve test names and their pass/fail status, compress test output details',
|
|
77
|
+
priority: 75,
|
|
78
|
+
source: 'default',
|
|
79
|
+
createdAt: now,
|
|
80
|
+
failureCount: 0,
|
|
81
|
+
successCount: 0,
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
id: 'default-config-values',
|
|
85
|
+
pattern: 'config-values',
|
|
86
|
+
rule: 'Preserve configuration values and environment variable names',
|
|
87
|
+
priority: 70,
|
|
88
|
+
source: 'default',
|
|
89
|
+
createdAt: now,
|
|
90
|
+
failureCount: 0,
|
|
91
|
+
successCount: 0,
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
id: 'default-boilerplate',
|
|
95
|
+
pattern: 'boilerplate',
|
|
96
|
+
rule: 'Safely compress: import statements, license headers, verbose logging, progress bars, spinner output',
|
|
97
|
+
priority: 10,
|
|
98
|
+
source: 'default',
|
|
99
|
+
createdAt: now,
|
|
100
|
+
failureCount: 0,
|
|
101
|
+
successCount: 0,
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
id: 'default-whitespace',
|
|
105
|
+
pattern: 'whitespace',
|
|
106
|
+
rule: 'Safely compress: excessive blank lines, indentation-heavy formatting, ASCII art/box drawing',
|
|
107
|
+
priority: 5,
|
|
108
|
+
source: 'default',
|
|
109
|
+
createdAt: now,
|
|
110
|
+
failureCount: 0,
|
|
111
|
+
successCount: 0,
|
|
112
|
+
},
|
|
113
|
+
];
|
|
114
|
+
}
|
|
115
|
+
/** Record a trajectory pair for analysis */
|
|
116
|
+
recordTrajectory(pair) {
|
|
117
|
+
this.trajectories.push(pair);
|
|
118
|
+
}
|
|
119
|
+
/** Analyze failures where compressed context performed worse */
|
|
120
|
+
analyzeFailures() {
|
|
121
|
+
const analyses = [];
|
|
122
|
+
for (const traj of this.trajectories) {
|
|
123
|
+
// Only analyze cases where full succeeded but compressed failed
|
|
124
|
+
if (!traj.fullContextSucceeded || traj.compressedContextSucceeded) {
|
|
125
|
+
continue;
|
|
126
|
+
}
|
|
127
|
+
const missingInfo = [];
|
|
128
|
+
const suggestedGuidelines = [];
|
|
129
|
+
// Analyze each piece of removed content to identify what was missing
|
|
130
|
+
for (const removed of traj.removedContent) {
|
|
131
|
+
// Check if the removed content matches known content categories
|
|
132
|
+
for (const [patternName, detector] of Object.entries(CONTENT_DETECTORS)) {
|
|
133
|
+
if (detector.test(removed)) {
|
|
134
|
+
missingInfo.push(`${patternName}: ${removed.slice(0, 200)}`);
|
|
135
|
+
// Check if there's already a guideline for this pattern
|
|
136
|
+
const existing = this.guidelines.find((g) => g.pattern === patternName);
|
|
137
|
+
if (!existing) {
|
|
138
|
+
// Suggest a new guideline based on the detected pattern
|
|
139
|
+
suggestedGuidelines.push({
|
|
140
|
+
id: `learned-${randomUUID()}`,
|
|
141
|
+
pattern: patternName,
|
|
142
|
+
rule: `Preserve ${patternName} content — compression caused failure when this was removed`,
|
|
143
|
+
priority: 60, // Moderate priority for learned guidelines
|
|
144
|
+
source: 'learned',
|
|
145
|
+
createdAt: new Date(),
|
|
146
|
+
failureCount: 1,
|
|
147
|
+
successCount: 0,
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
// If no known pattern matched, still record it as missing info
|
|
153
|
+
if (!missingInfo.some((m) => m.includes(removed.slice(0, 50)))) {
|
|
154
|
+
missingInfo.push(`unknown: ${removed.slice(0, 200)}`);
|
|
155
|
+
// Create a generic guideline for unrecognized content
|
|
156
|
+
suggestedGuidelines.push({
|
|
157
|
+
id: `learned-${randomUUID()}`,
|
|
158
|
+
pattern: 'unknown',
|
|
159
|
+
rule: `Preserve content similar to: "${removed.slice(0, 100)}" — compression caused failure`,
|
|
160
|
+
priority: 50,
|
|
161
|
+
source: 'learned',
|
|
162
|
+
createdAt: new Date(),
|
|
163
|
+
failureCount: 1,
|
|
164
|
+
successCount: 0,
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
if (missingInfo.length > 0) {
|
|
169
|
+
analyses.push({
|
|
170
|
+
trajectoryId: `${traj.orchestrationId}:${traj.phaseName}`,
|
|
171
|
+
missingInfo,
|
|
172
|
+
suggestedGuidelines,
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return analyses;
|
|
177
|
+
}
|
|
178
|
+
/** Refine guidelines based on failure analysis */
|
|
179
|
+
refineGuidelines(analyses) {
|
|
180
|
+
const newGuidelines = [];
|
|
181
|
+
for (const analysis of analyses) {
|
|
182
|
+
for (const suggested of analysis.suggestedGuidelines) {
|
|
183
|
+
// Check if an existing guideline already covers this pattern
|
|
184
|
+
const existing = this.guidelines.find((g) => g.pattern === suggested.pattern);
|
|
185
|
+
if (existing) {
|
|
186
|
+
// Increment failure count on the existing guideline
|
|
187
|
+
existing.failureCount += 1;
|
|
188
|
+
// Boost priority if failures accumulate (cap at 100)
|
|
189
|
+
existing.priority = Math.min(100, existing.priority + 2);
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
// Add the new guideline
|
|
193
|
+
this.guidelines.push(suggested);
|
|
194
|
+
newGuidelines.push(suggested);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
return newGuidelines;
|
|
199
|
+
}
|
|
200
|
+
/** Apply guidelines to filter what should be preserved vs compressed */
|
|
201
|
+
applyGuidelines(content, _contentType) {
|
|
202
|
+
if (!content || content.trim().length === 0) {
|
|
203
|
+
return { preserve: [], compressible: [] };
|
|
204
|
+
}
|
|
205
|
+
// Split content into logical sections (double-newline separated blocks)
|
|
206
|
+
const sections = content
|
|
207
|
+
.split(/\n\n+/)
|
|
208
|
+
.map((s) => s.trim())
|
|
209
|
+
.filter((s) => s.length > 0);
|
|
210
|
+
const preserve = [];
|
|
211
|
+
const compressible = [];
|
|
212
|
+
// Sort guidelines by priority descending for matching
|
|
213
|
+
const sorted = [...this.guidelines].sort((a, b) => b.priority - a.priority);
|
|
214
|
+
// Threshold: guidelines with priority >= this are "preserve" signals
|
|
215
|
+
const PRESERVE_THRESHOLD = 50;
|
|
216
|
+
for (const section of sections) {
|
|
217
|
+
let shouldPreserve = false;
|
|
218
|
+
let highestMatchPriority = 0;
|
|
219
|
+
for (const guideline of sorted) {
|
|
220
|
+
const detector = CONTENT_DETECTORS[guideline.pattern];
|
|
221
|
+
if (detector && detector.test(section)) {
|
|
222
|
+
if (guideline.priority > highestMatchPriority) {
|
|
223
|
+
highestMatchPriority = guideline.priority;
|
|
224
|
+
}
|
|
225
|
+
// Once we find a high-priority match, mark for preservation
|
|
226
|
+
if (guideline.priority >= PRESERVE_THRESHOLD) {
|
|
227
|
+
shouldPreserve = true;
|
|
228
|
+
break;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
if (shouldPreserve) {
|
|
233
|
+
preserve.push(section);
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
compressible.push(section);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
return { preserve, compressible };
|
|
240
|
+
}
|
|
241
|
+
/** Get current guidelines, sorted by priority (descending) */
|
|
242
|
+
getGuidelines() {
|
|
243
|
+
return [...this.guidelines].sort((a, b) => b.priority - a.priority);
|
|
244
|
+
}
|
|
245
|
+
/** Get guideline effectiveness stats */
|
|
246
|
+
getStats() {
|
|
247
|
+
const totalGuidelines = this.guidelines.length;
|
|
248
|
+
const defaultCount = this.guidelines.filter((g) => g.source === 'default').length;
|
|
249
|
+
const learnedCount = this.guidelines.filter((g) => g.source === 'learned').length;
|
|
250
|
+
const avgPriority = totalGuidelines > 0 ? Math.round(this.guidelines.reduce((sum, g) => sum + g.priority, 0) / totalGuidelines) : 0;
|
|
251
|
+
// Top failure patterns: guidelines sorted by failureCount, take top 5
|
|
252
|
+
const topFailurePatterns = [...this.guidelines]
|
|
253
|
+
.filter((g) => g.failureCount > 0)
|
|
254
|
+
.sort((a, b) => b.failureCount - a.failureCount)
|
|
255
|
+
.slice(0, 5)
|
|
256
|
+
.map((g) => g.pattern);
|
|
257
|
+
return {
|
|
258
|
+
totalGuidelines,
|
|
259
|
+
defaultCount,
|
|
260
|
+
learnedCount,
|
|
261
|
+
avgPriority,
|
|
262
|
+
topFailurePatterns,
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
//# sourceMappingURL=acon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acon.js","sourceRoot":"","sources":["../../src/runtime/acon.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { TraceStore } from './traces.js';
|
|
|
4
4
|
export interface PlanAdaptation {
|
|
5
5
|
skipPhases: string[];
|
|
6
6
|
modelOverrides: Record<string, string>;
|
|
7
|
+
effortOverrides?: Record<string, 'low' | 'medium' | 'high' | 'max'>;
|
|
7
8
|
reason: string;
|
|
8
9
|
}
|
|
9
10
|
export interface DropoutDecision {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adaptive.d.ts","sourceRoot":"","sources":["../../src/runtime/adaptive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,WAAW,EAAmB,MAAM,kBAAkB,CAAC;AAEtG,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,UAAU,CAAoB;gBAE1B,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU;IAKnD;;OAEG;IACH,OAAO,CAAC,aAAa,EAAE,qBAAqB,EAAE,cAAc,EAAE,aAAa,GAAG,cAAc,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"adaptive.d.ts","sourceRoot":"","sources":["../../src/runtime/adaptive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,WAAW,EAAmB,MAAM,kBAAkB,CAAC;AAEtG,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC;IACpE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,UAAU,CAAoB;gBAE1B,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU;IAKnD;;OAEG;IACH,OAAO,CAAC,aAAa,EAAE,qBAAqB,EAAE,cAAc,EAAE,aAAa,GAAG,cAAc,GAAG,IAAI;IAkJnG;;OAEG;IACH,KAAK,CAAC,aAAa,EAAE,qBAAqB,EAAE,UAAU,EAAE,cAAc,GAAG,IAAI;IA+B7E;;;;OAIG;IACH,eAAe,CAAC,aAAa,EAAE,qBAAqB,EAAE,YAAY,EAAE,WAAW,GAAG,eAAe,GAAG,IAAI;IA+BxG,OAAO,CAAC,aAAa;CAwCtB"}
|
package/dist/runtime/adaptive.js
CHANGED
|
@@ -13,6 +13,7 @@ export class AdaptiveReplanner {
|
|
|
13
13
|
const adaptations = {
|
|
14
14
|
skipPhases: [],
|
|
15
15
|
modelOverrides: {},
|
|
16
|
+
effortOverrides: {},
|
|
16
17
|
reason: '',
|
|
17
18
|
};
|
|
18
19
|
let adapted = false;
|
|
@@ -21,7 +22,7 @@ export class AdaptiveReplanner {
|
|
|
21
22
|
const totalOutput = completedPhase.agents.reduce((sum, a) => sum + (a.result?.output.length ?? 0), 0);
|
|
22
23
|
const isSmallOutput = totalOutput < 2000; // ~500 tokens
|
|
23
24
|
if (allHighConfidence && isSmallOutput && completedPhase.config.kind === 'research') {
|
|
24
|
-
// Simple task — downgrade remaining models and skip devil's advocate
|
|
25
|
+
// Simple task — downgrade remaining models, reduce effort, and skip devil's advocate
|
|
25
26
|
const remaining = orchestration.phases.filter((p) => p.status === 'pending');
|
|
26
27
|
for (const phase of remaining) {
|
|
27
28
|
for (const agent of phase.config.agents) {
|
|
@@ -29,6 +30,7 @@ export class AdaptiveReplanner {
|
|
|
29
30
|
adaptations.modelOverrides[agent.name] = 'claude-sonnet-4-6';
|
|
30
31
|
adapted = true;
|
|
31
32
|
}
|
|
33
|
+
adaptations.effortOverrides[agent.name] = 'low';
|
|
32
34
|
}
|
|
33
35
|
// Skip challenge/devil's advocate phases
|
|
34
36
|
if (phase.config.kind === 'challenge') {
|
|
@@ -38,7 +40,7 @@ export class AdaptiveReplanner {
|
|
|
38
40
|
}
|
|
39
41
|
if (adapted)
|
|
40
42
|
adaptations.reason =
|
|
41
|
-
'Simple task detected (high confidence, small output) — downgrading models and skipping adversarial phases';
|
|
43
|
+
'Simple task detected (high confidence, small output) — downgrading models, reducing effort, and skipping adversarial phases';
|
|
42
44
|
}
|
|
43
45
|
// Rule 2: Low confidence or blockers → task is complex, upgrade
|
|
44
46
|
const anyLowConfidence = completedPhase.agents.some((a) => a.result?.confidence === 'low');
|
|
@@ -51,10 +53,11 @@ export class AdaptiveReplanner {
|
|
|
51
53
|
adaptations.modelOverrides[agent.name] = 'claude-opus-4-6';
|
|
52
54
|
adapted = true;
|
|
53
55
|
}
|
|
56
|
+
adaptations.effortOverrides[agent.name] = 'high';
|
|
54
57
|
}
|
|
55
58
|
}
|
|
56
59
|
if (adapted)
|
|
57
|
-
adaptations.reason = `Complex task detected (${anyLowConfidence ? 'low confidence' : 'blockers found'}) — upgrading remaining agents to expensive tier`;
|
|
60
|
+
adaptations.reason = `Complex task detected (${anyLowConfidence ? 'low confidence' : 'blockers found'}) — upgrading remaining agents to expensive tier with high effort`;
|
|
58
61
|
}
|
|
59
62
|
// Rule 3: Budget overrun — downgrade remaining
|
|
60
63
|
if (!adapted && orchestration.config.costBudget) {
|
|
@@ -120,10 +123,12 @@ export class AdaptiveReplanner {
|
|
|
120
123
|
adaptations.modelOverrides[agent.name] = 'claude-opus-4-6';
|
|
121
124
|
adapted = true;
|
|
122
125
|
}
|
|
126
|
+
adaptations.effortOverrides[agent.name] = 'max';
|
|
123
127
|
}
|
|
124
128
|
}
|
|
125
129
|
if (adapted)
|
|
126
|
-
adaptations.reason =
|
|
130
|
+
adaptations.reason =
|
|
131
|
+
'Confidence dropped sharply between phases — upgrading remaining agents with max effort';
|
|
127
132
|
}
|
|
128
133
|
}
|
|
129
134
|
}
|
|
@@ -157,6 +162,15 @@ export class AdaptiveReplanner {
|
|
|
157
162
|
}
|
|
158
163
|
}
|
|
159
164
|
}
|
|
165
|
+
// Override effort levels
|
|
166
|
+
if (adaptation.effortOverrides) {
|
|
167
|
+
for (const [agentName, effort] of Object.entries(adaptation.effortOverrides)) {
|
|
168
|
+
const agent = orchestration.phases.flatMap((p) => p.agents).find((a) => a.config.name === agentName);
|
|
169
|
+
if (agent) {
|
|
170
|
+
agent.config.effort = effort;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
160
174
|
}
|
|
161
175
|
/**
|
|
162
176
|
* Evaluate whether agents in a pending phase are still needed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adaptive.js","sourceRoot":"","sources":["../../src/runtime/adaptive.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adaptive.js","sourceRoot":"","sources":["../../src/runtime/adaptive.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ import type { LivingSpec } from './living-spec.js';
|
|
|
9
9
|
import type { GraphContextRouter } from './graph-context-router.js';
|
|
10
10
|
import type { GraphAnalyzer } from './graph-analyzer.js';
|
|
11
11
|
import type { GraphLearner } from './graph-learner.js';
|
|
12
|
+
import type { LSPClient } from './lsp.js';
|
|
12
13
|
/**
|
|
13
14
|
* Per-orchestration context passed to agent execution methods.
|
|
14
15
|
*/
|
|
@@ -18,6 +19,8 @@ export interface AgentRunContext {
|
|
|
18
19
|
sharedContextFiles: string[];
|
|
19
20
|
cwd?: string;
|
|
20
21
|
intraPhaseOutputs?: Map<string, string[]>;
|
|
22
|
+
testResults?: string;
|
|
23
|
+
phaseKind?: string;
|
|
21
24
|
}
|
|
22
25
|
export interface AgentRunnerDeps {
|
|
23
26
|
registry: AgentRegistry;
|
|
@@ -29,6 +32,8 @@ export interface AgentRunnerDeps {
|
|
|
29
32
|
contextRouter?: GraphContextRouter;
|
|
30
33
|
graphLearner?: GraphLearner | null;
|
|
31
34
|
graphAnalyzer?: GraphAnalyzer | null;
|
|
35
|
+
projectDir?: string;
|
|
36
|
+
lsp?: LSPClient;
|
|
32
37
|
}
|
|
33
38
|
/**
|
|
34
39
|
* Handles individual agent execution, retry logic, worktree management,
|
|
@@ -44,6 +49,9 @@ export declare class AgentRunner {
|
|
|
44
49
|
private contextRouter;
|
|
45
50
|
private graphLearner;
|
|
46
51
|
private graphAnalyzer;
|
|
52
|
+
private projectDir;
|
|
53
|
+
private lsp;
|
|
54
|
+
private phaseContextCache;
|
|
47
55
|
constructor(deps: AgentRunnerDeps);
|
|
48
56
|
/**
|
|
49
57
|
* Execute a single agent with retry logic.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-runner.d.ts","sourceRoot":"","sources":["../../src/runtime/agent-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACxG,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAKhD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-runner.d.ts","sourceRoot":"","sources":["../../src/runtime/agent-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACxG,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAKhD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAK1C;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACpC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,aAAa,CAAC;IACxB,GAAG,EAAE,QAAQ,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,iBAAiB,CAAC;IAC9B,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,SAAS,CAAC;CACjB;AAgBD;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,GAAG,CAAW;IACtB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,GAAG,CAAwB;IAGnC,OAAO,CAAC,iBAAiB,CAA6B;gBAE1C,IAAI,EAAE,eAAe;IAcjC;;OAEG;IACG,qBAAqB,CACzB,UAAU,EAAE,eAAe,EAC3B,KAAK,EAAE,aAAa,EACpB,aAAa,EAAE,qBAAqB,EACpC,UAAU,EAAE,MAAM,YAAI,EACtB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,aAAa,CAAC;IAwCzB;;OAEG;YACW,YAAY;IA2N1B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAW3B"}
|
|
@@ -4,9 +4,23 @@ import { inferTier } from '../utils/tiers.js';
|
|
|
4
4
|
import { formatLivingSpec } from './living-spec.js';
|
|
5
5
|
import { redactSecrets } from '../utils/redact.js';
|
|
6
6
|
import { extractFileReferences } from './graph-learner.js';
|
|
7
|
+
import { RepoMapGenerator } from './repo-map.js';
|
|
7
8
|
import { join } from 'path';
|
|
8
9
|
import { existsSync, mkdirSync, writeFileSync } from 'fs';
|
|
9
10
|
import { randomUUID } from 'crypto';
|
|
11
|
+
// Default maxTurns by agent type — balances thoroughness vs. cost
|
|
12
|
+
const DEFAULT_MAX_TURNS = {
|
|
13
|
+
researcher: 15,
|
|
14
|
+
implementer: 25,
|
|
15
|
+
reviewer: 10,
|
|
16
|
+
tester: 15,
|
|
17
|
+
debugger: 20,
|
|
18
|
+
documenter: 10,
|
|
19
|
+
planner: 10,
|
|
20
|
+
refactorer: 20,
|
|
21
|
+
integrator: 15,
|
|
22
|
+
'devils-advocate': 10,
|
|
23
|
+
};
|
|
10
24
|
/**
|
|
11
25
|
* Handles individual agent execution, retry logic, worktree management,
|
|
12
26
|
* and prompt construction with cache-friendly ordering.
|
|
@@ -21,6 +35,10 @@ export class AgentRunner {
|
|
|
21
35
|
contextRouter;
|
|
22
36
|
graphLearner;
|
|
23
37
|
graphAnalyzer;
|
|
38
|
+
projectDir;
|
|
39
|
+
lsp;
|
|
40
|
+
// Store per-phase orchestration context to ensure reference equality for cache hits
|
|
41
|
+
phaseContextCache = new Map();
|
|
24
42
|
constructor(deps) {
|
|
25
43
|
this.registry = deps.registry;
|
|
26
44
|
this.executor = deps.executor;
|
|
@@ -31,12 +49,15 @@ export class AgentRunner {
|
|
|
31
49
|
this.contextRouter = deps.contextRouter;
|
|
32
50
|
this.graphLearner = deps.graphLearner ?? null;
|
|
33
51
|
this.graphAnalyzer = deps.graphAnalyzer ?? null;
|
|
52
|
+
this.projectDir = deps.projectDir;
|
|
53
|
+
this.lsp = deps.lsp;
|
|
34
54
|
}
|
|
35
55
|
/**
|
|
36
56
|
* Execute a single agent with retry logic.
|
|
37
57
|
*/
|
|
38
58
|
async executeAgentWithRetry(assignment, phase, orchestration, maxRetries = 2, context) {
|
|
39
59
|
let lastError;
|
|
60
|
+
const originalPrompt = assignment.prompt;
|
|
40
61
|
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
41
62
|
try {
|
|
42
63
|
return await this.executeAgent(assignment, phase, orchestration, context);
|
|
@@ -53,6 +74,13 @@ export class AgentRunner {
|
|
|
53
74
|
agent: assignment.name,
|
|
54
75
|
error: lastError.message,
|
|
55
76
|
});
|
|
77
|
+
// Error-informed retry: inject failure context so the agent tries a different approach
|
|
78
|
+
if (lastError) {
|
|
79
|
+
assignment = {
|
|
80
|
+
...assignment,
|
|
81
|
+
prompt: `## Previous Attempt Failed\nError: ${lastError.message}\nAvoid the same approach. Try a different strategy.\n\n${originalPrompt || ''}`,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
56
84
|
await new Promise((resolve) => setTimeout(resolve, delayMs));
|
|
57
85
|
}
|
|
58
86
|
}
|
|
@@ -70,11 +98,34 @@ export class AgentRunner {
|
|
|
70
98
|
backend: assignment.backend,
|
|
71
99
|
backendModel: assignment.backendModel,
|
|
72
100
|
});
|
|
101
|
+
// Apply default maxTurns by agent type if not explicitly configured
|
|
102
|
+
if (!instance.config.maxTurns) {
|
|
103
|
+
instance.config.maxTurns = DEFAULT_MAX_TURNS[assignment.type] || 20;
|
|
104
|
+
}
|
|
73
105
|
phase.agents.push(instance);
|
|
74
106
|
// Build task prompt with cache-friendly ordering:
|
|
75
107
|
// Shared prefix (orchestration + phase context) comes first for API cache hits,
|
|
76
108
|
// agent-specific content (definition + task) comes last.
|
|
77
|
-
|
|
109
|
+
// Generate repo map for structural context (cache-stable prefix)
|
|
110
|
+
let repoMap = '';
|
|
111
|
+
if (this.projectDir) {
|
|
112
|
+
try {
|
|
113
|
+
repoMap = RepoMapGenerator.generateMap(this.projectDir, { maxTokens: 1500 });
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
/* silent — repo map generation is best-effort */
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
// Context dedup: reuse the exact same string object per phase so the SDK's
|
|
120
|
+
// prompt caching can detect the shared prefix across parallel agents
|
|
121
|
+
const orchContextRaw = (repoMap ? repoMap + '\n\n' : '') +
|
|
122
|
+
`## Orchestration: ${orchestration.config.name}\nPattern: ${orchestration.config.pattern}`;
|
|
123
|
+
const phaseKey = phase.config.name;
|
|
124
|
+
const cached = this.phaseContextCache.get(phaseKey);
|
|
125
|
+
const orchestrationContext = cached !== undefined && cached === orchContextRaw ? cached : orchContextRaw;
|
|
126
|
+
if (cached !== orchestrationContext) {
|
|
127
|
+
this.phaseContextCache.set(phaseKey, orchestrationContext);
|
|
128
|
+
}
|
|
78
129
|
// Use graph-routed context — with intra-phase enhancement for sequential agents (Feature 1)
|
|
79
130
|
let phaseContext;
|
|
80
131
|
if (this.contextRouter && context.intraPhaseOutputs?.size) {
|
|
@@ -97,7 +148,9 @@ export class AgentRunner {
|
|
|
97
148
|
riskWarning = `\n\n⚠️ RISK WARNING: This agent type (${assignment.type}) has a ${Math.round(agentRisk.riskScore * 100)}% historical failure risk. Common issues: ${agentRisk.reasons?.join(', ') || 'unknown'}. Take extra care with validation and error handling.\n`;
|
|
98
149
|
}
|
|
99
150
|
}
|
|
100
|
-
catch {
|
|
151
|
+
catch {
|
|
152
|
+
/* Graph prediction failed — continue without warning */
|
|
153
|
+
}
|
|
101
154
|
}
|
|
102
155
|
let baseTask = riskWarning + (assignment.prompt || `Execute task as ${assignment.type}`);
|
|
103
156
|
// Co-modification hints (Feature 5): suggest related files often changed together
|
|
@@ -110,7 +163,27 @@ export class AgentRunner {
|
|
|
110
163
|
baseTask += coModHint;
|
|
111
164
|
}
|
|
112
165
|
}
|
|
113
|
-
catch {
|
|
166
|
+
catch {
|
|
167
|
+
/* Graph co-mod hints failed — continue */
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
// Test feedback wiring: prepend current test status if available
|
|
171
|
+
if (context.testResults) {
|
|
172
|
+
baseTask = `## Current Test Status\n${context.testResults}\n\n${baseTask}`;
|
|
173
|
+
}
|
|
174
|
+
// LSP type info wiring for implementers and debuggers
|
|
175
|
+
let lspContext = '';
|
|
176
|
+
if (this.lsp && (assignment.type === 'implementer' || assignment.type === 'debugger')) {
|
|
177
|
+
try {
|
|
178
|
+
// TODO: Wire LSP when we can identify relevant symbol positions
|
|
179
|
+
// Currently hover(0,0) always returns info for the first character, which is not useful.
|
|
180
|
+
}
|
|
181
|
+
catch {
|
|
182
|
+
/* silent — LSP may not be running */
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
if (lspContext) {
|
|
186
|
+
baseTask += lspContext;
|
|
114
187
|
}
|
|
115
188
|
const optimized = optimizeForCache(orchestrationContext, phaseContext, agentPrompt, baseTask);
|
|
116
189
|
// For parallel phases with large shared prefix, use shared context file
|
|
@@ -147,7 +220,9 @@ export class AgentRunner {
|
|
|
147
220
|
}
|
|
148
221
|
}
|
|
149
222
|
}
|
|
150
|
-
catch {
|
|
223
|
+
catch {
|
|
224
|
+
/* Graph affinity routing failed — continue */
|
|
225
|
+
}
|
|
151
226
|
}
|
|
152
227
|
// Inject living spec into task context
|
|
153
228
|
const specPrefix = context.livingSpec ? formatLivingSpec(context.livingSpec) + '\n\n' : '';
|