daedalus-cli 1.83.6 → 1.83.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/AGENTS.md +31 -10
  2. package/CHANGELOG.md +14 -0
  3. package/README.md +3 -3
  4. package/dist/agents/ensemble.d.ts.map +1 -1
  5. package/dist/agents/ensemble.js +2 -2
  6. package/dist/agents/ensemble.js.map +1 -1
  7. package/dist/agents/orchestrator-types.d.ts +20 -0
  8. package/dist/agents/orchestrator-types.d.ts.map +1 -0
  9. package/dist/agents/orchestrator-types.js +3 -0
  10. package/dist/agents/orchestrator-types.js.map +1 -0
  11. package/dist/agents/orchestrator-validation.d.ts +19 -0
  12. package/dist/agents/orchestrator-validation.d.ts.map +1 -0
  13. package/dist/agents/orchestrator-validation.js +227 -0
  14. package/dist/agents/orchestrator-validation.js.map +1 -0
  15. package/dist/agents/orchestrator-verification.d.ts +28 -0
  16. package/dist/agents/orchestrator-verification.d.ts.map +1 -0
  17. package/dist/agents/orchestrator-verification.js +355 -0
  18. package/dist/agents/orchestrator-verification.js.map +1 -0
  19. package/dist/agents/orchestrator.d.ts +1 -49
  20. package/dist/agents/orchestrator.d.ts.map +1 -1
  21. package/dist/agents/orchestrator.js +40 -678
  22. package/dist/agents/orchestrator.js.map +1 -1
  23. package/dist/agents/orchestrator.test.js +33 -81
  24. package/dist/agents/orchestrator.test.js.map +1 -1
  25. package/dist/commands/agents.d.ts +3 -0
  26. package/dist/commands/agents.d.ts.map +1 -0
  27. package/dist/commands/agents.js +886 -0
  28. package/dist/commands/agents.js.map +1 -0
  29. package/dist/commands/context.d.ts +3 -0
  30. package/dist/commands/context.d.ts.map +1 -0
  31. package/dist/commands/context.js +875 -0
  32. package/dist/commands/context.js.map +1 -0
  33. package/dist/commands/dev.d.ts +3 -0
  34. package/dist/commands/dev.d.ts.map +1 -0
  35. package/dist/commands/dev.js +820 -0
  36. package/dist/commands/dev.js.map +1 -0
  37. package/dist/commands/index.d.ts +5 -0
  38. package/dist/commands/index.d.ts.map +1 -0
  39. package/dist/commands/index.js +88 -0
  40. package/dist/commands/index.js.map +1 -0
  41. package/dist/commands/types.d.ts +45 -0
  42. package/dist/commands/types.d.ts.map +1 -0
  43. package/dist/commands/types.js +2 -0
  44. package/dist/commands/types.js.map +1 -0
  45. package/dist/commands.d.ts +2 -46
  46. package/dist/commands.d.ts.map +1 -1
  47. package/dist/commands.js +1 -2639
  48. package/dist/commands.js.map +1 -1
  49. package/dist/config/index.d.ts +78 -78
  50. package/dist/model.d.ts.map +1 -1
  51. package/dist/model.js +11 -6
  52. package/dist/model.js.map +1 -1
  53. package/package.json +1 -1
@@ -0,0 +1,355 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import os from 'os';
4
+ import pc from 'picocolors';
5
+ import { PLACEHOLDER_RE, HTML_PLACEHOLDER_RE } from './orchestrator-types.js';
6
+ export function isDeclaredError(result) {
7
+ const normalized = result.trim().toLowerCase();
8
+ return /^(error|failed)/.test(normalized);
9
+ }
10
+ export function requiresRealArtifacts(role, goal) {
11
+ if (role !== 'coder')
12
+ return false;
13
+ const keywords = ['implement', 'create', 'write', 'add', 'make', 'build', 'update', 'change', 'modify', 'generate', 'setup', 'fix'];
14
+ const lower = goal.toLowerCase();
15
+ return keywords.some(k => lower.includes(k));
16
+ }
17
+ export function extractPendingWrites(result) {
18
+ const paths = [];
19
+ const regex = /(?:created|wrote|added|updated|modified|in)\s+([A-Za-z0-9_\-./\\:]+\.[A-Za-z0-9]+)/gi;
20
+ let match;
21
+ while ((match = regex.exec(result)) !== null) {
22
+ paths.push(match[1]);
23
+ }
24
+ const standaloneRegex = /\b([A-Za-z0-9_\-./\\:]+\.[a-zA-Z0-9]+)\b/g;
25
+ let standaloneMatch;
26
+ while ((standaloneMatch = standaloneRegex.exec(result)) !== null) {
27
+ const p = standaloneMatch[1];
28
+ if (!paths.includes(p) && (p.includes('/') || p.includes('\\') || p.includes('.'))) {
29
+ paths.push(p);
30
+ }
31
+ }
32
+ return paths;
33
+ }
34
+ export async function verifyArtifacts(toolContext, role, goal, result, historyStartIndex = 0) {
35
+ if (!requiresRealArtifacts(role, goal))
36
+ return true;
37
+ if (isDeclaredError(result))
38
+ return false;
39
+ const isTerminalOnlyGoal = /^\s*(run|install|execute|compile)\b/i.test(goal)
40
+ && !/\b(create|write|generate|add|make|implement|build|setup|configure)\b/i.test(goal);
41
+ if (isTerminalOnlyGoal)
42
+ return true;
43
+ if (!toolContext.patchHistory || toolContext.patchHistory.length <= historyStartIndex) {
44
+ return false;
45
+ }
46
+ const rawPaths = extractPendingWrites(result);
47
+ const paths = rawPaths.map(p => p.replace(/\\/g, '/'));
48
+ const currentPatches = toolContext.patchHistory.slice(historyStartIndex);
49
+ const normalizedHistory = currentPatches.map(h => ({
50
+ ...h,
51
+ normalizedPath: h.filePath.replace(/\\/g, '/'),
52
+ }));
53
+ const hasPatchedMentioned = normalizedHistory.some(h => paths.includes(h.normalizedPath) || paths.some(p => h.normalizedPath.endsWith('/' + p)));
54
+ if (hasPatchedMentioned)
55
+ return true;
56
+ const hasRelevantPatch = normalizedHistory.some(h => {
57
+ const base = h.normalizedPath.split('/').pop() || '';
58
+ const goalLower = goal.toLowerCase();
59
+ return goalLower.includes(base.split('.')[0].toLowerCase());
60
+ });
61
+ if (hasRelevantPatch)
62
+ return true;
63
+ return false;
64
+ }
65
+ export function hasRealWrites(toolContext, result) {
66
+ const claimed = extractPendingWrites(result);
67
+ if (claimed.length === 0)
68
+ return false;
69
+ const history = toolContext.patchHistory || [];
70
+ const historyPaths = new Set(history.map(h => (h.filePath || '').replace(/\\/g, '/')));
71
+ return claimed.some(p => historyPaths.has(p.replace(/\\/g, '/')));
72
+ }
73
+ export function verifyArtifactsThoroughly(toolContext, role, goal, result, historyStartIndex = 0) {
74
+ if (!requiresRealArtifacts(role, goal))
75
+ return true;
76
+ if (hasRealWrites(toolContext, result))
77
+ return true;
78
+ const history = toolContext.patchHistory || [];
79
+ if (history.length > historyStartIndex)
80
+ return true;
81
+ return false;
82
+ }
83
+ export async function checkPlaceholders(toolContext, historyStartIndex) {
84
+ const history = toolContext.patchHistory || [];
85
+ const placeholders = [];
86
+ for (let i = historyStartIndex; i < history.length; i++) {
87
+ const entry = history[i];
88
+ if (!entry.filePath)
89
+ continue;
90
+ try {
91
+ const content = fs.readFileSync(entry.filePath, 'utf8');
92
+ const lines = content.split('\n');
93
+ for (let lineIdx = 0; lineIdx < lines.length; lineIdx++) {
94
+ const bracketMatch = lines[lineIdx].match(PLACEHOLDER_RE);
95
+ if (bracketMatch) {
96
+ placeholders.push(`${entry.filePath}:${lineIdx + 1} — ${bracketMatch[0].trim()}`);
97
+ }
98
+ const htmlMatch = lines[lineIdx].match(HTML_PLACEHOLDER_RE);
99
+ if (htmlMatch) {
100
+ placeholders.push(`${entry.filePath}:${lineIdx + 1} — HTML comment placeholder`);
101
+ }
102
+ }
103
+ }
104
+ catch {
105
+ }
106
+ }
107
+ return placeholders;
108
+ }
109
+ export async function fillPlaceholders(toolContext, historyStartIndex) {
110
+ const history = toolContext.patchHistory || [];
111
+ let filled = 0;
112
+ const year = new Date().getFullYear().toString();
113
+ const today = new Date().toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' });
114
+ let userName;
115
+ try {
116
+ userName = os.userInfo().username;
117
+ }
118
+ catch {
119
+ userName = 'user';
120
+ }
121
+ for (let i = historyStartIndex; i < history.length; i++) {
122
+ const entry = history[i];
123
+ if (!entry.filePath)
124
+ continue;
125
+ try {
126
+ const content = fs.readFileSync(entry.filePath, 'utf8');
127
+ const newContent = content
128
+ .replace(/\[(?:YEAR|Year|year|YYYY|yyyy)\]/g, year)
129
+ .replace(/\[(?:DATE|Date|date|TODAY|Today|today)\]/g, today)
130
+ .replace(/\[(?:YOUR\s+NAME|Your\s+Name|your\s+name|FULLNAME|Fullname|fullname|AUTHOR|Author|author|USERNAME|Username|username|OWNER|Owner|owner)\]/g, userName);
131
+ if (newContent !== content) {
132
+ fs.writeFileSync(entry.filePath, newContent, 'utf8');
133
+ const bracketCount = (content.match(/\[/g) || []).length;
134
+ const newBracketCount = (newContent.match(/\[/g) || []).length;
135
+ filled += bracketCount - newBracketCount;
136
+ }
137
+ }
138
+ catch {
139
+ }
140
+ }
141
+ return filled;
142
+ }
143
+ export function buildCleanSummary(toolContext, task, result, historyStartIndex) {
144
+ const history = toolContext.patchHistory || [];
145
+ const newPatches = [];
146
+ for (let i = historyStartIndex; i < history.length; i++) {
147
+ newPatches.push(history[i]);
148
+ }
149
+ if (newPatches.length === 0 || result.split(/\s+/).length < 30)
150
+ return null;
151
+ const files = [...new Set(newPatches.map(p => p.filePath).filter(Boolean))];
152
+ if (files.length === 0)
153
+ return null;
154
+ return `Completed: ${task.goal} — Files: ${files.join(', ')}`;
155
+ }
156
+ export function isBuildErrorRelated(errorLogs, modifiedFiles, projectRoot) {
157
+ if (!errorLogs)
158
+ return false;
159
+ const lowerLogs = errorLogs.toLowerCase();
160
+ const configFiles = ['tsconfig.json', 'package.json', 'package-lock.json', 'cargo.toml', 'go.mod', 'requirements.txt'];
161
+ for (const file of modifiedFiles) {
162
+ const basename = path.basename(file).toLowerCase();
163
+ if (configFiles.includes(basename)) {
164
+ return true;
165
+ }
166
+ const relativePath = path.relative(projectRoot || process.cwd(), file).replace(/\\/g, '/').toLowerCase();
167
+ if (lowerLogs.includes(basename) || lowerLogs.includes(relativePath)) {
168
+ return true;
169
+ }
170
+ }
171
+ return false;
172
+ }
173
+ export function generateBuildErrorHint(errorLogs) {
174
+ if (!errorLogs)
175
+ return '';
176
+ const hints = [];
177
+ const missingModuleMatch = errorLogs.match(/cannot find module ['"]([^'"]+)['"]/i) ||
178
+ errorLogs.match(/could not resolve ['"]([^'"]+)['"]/i);
179
+ if (missingModuleMatch) {
180
+ const pkg = missingModuleMatch[1];
181
+ hints.push(`Hint: A required package "${pkg}" is missing. Use the terminal tool to install it (e.g., "npm install ${pkg}").`);
182
+ }
183
+ if (errorLogs.toLowerCase().includes('duplicate page detected') ||
184
+ (errorLogs.includes('pages/') && errorLogs.includes('src/pages/'))) {
185
+ hints.push('Hint: Next.js detected duplicate pages in both pages/ and src/pages/. You must delete the duplicate files in the root pages/ directory to resolve the conflict.');
186
+ }
187
+ if (errorLogs.toLowerCase().includes('overload') || errorLogs.toLowerCase().includes('no overload matches')) {
188
+ hints.push('Hint: TypeScript has type overload resolution issues. Try casting the options/arguments as "any" (e.g., "options as any") to bypass strict type checking.');
189
+ }
190
+ if (hints.length === 0)
191
+ return '';
192
+ return '\n\n' + hints.join('\n');
193
+ }
194
+ export async function runBuildVerification(toolContext, historyStartIndex = 0) {
195
+ const cwd = toolContext.projectRoot || process.cwd();
196
+ const history = toolContext.patchHistory || [];
197
+ const touchedFiles = history.slice(historyStartIndex).map(p => p.filePath);
198
+ const hasSourceFiles = touchedFiles.some(f => {
199
+ const ext = path.extname(f).toLowerCase();
200
+ return ['.ts', '.tsx', '.js', '.jsx', '.go', '.rs', '.py', '.cpp', '.c', '.h', '.java'].includes(ext);
201
+ });
202
+ if (touchedFiles.length > 0 && !hasSourceFiles) {
203
+ console.log(pc.gray(` [VERIFY] Skipping build check (only config/docs files modified).`));
204
+ return { success: true };
205
+ }
206
+ let command = '';
207
+ let lintCommand = '';
208
+ if (fs.existsSync(path.join(cwd, 'package.json'))) {
209
+ try {
210
+ const pkg = JSON.parse(fs.readFileSync(path.join(cwd, 'package.json'), 'utf8'));
211
+ if (pkg.scripts) {
212
+ if (pkg.scripts['daedalus-check']) {
213
+ command = 'npm run daedalus-check';
214
+ }
215
+ else if (fs.existsSync(path.join(cwd, 'tsconfig.json'))) {
216
+ command = 'npx tsc --noEmit';
217
+ }
218
+ else if (pkg.scripts.build) {
219
+ command = 'npm run build';
220
+ }
221
+ if (pkg.scripts.lint) {
222
+ lintCommand = 'npm run lint';
223
+ }
224
+ }
225
+ }
226
+ catch { /* ignored */ }
227
+ }
228
+ else if (fs.existsSync(path.join(cwd, 'Cargo.toml'))) {
229
+ command = 'cargo check';
230
+ }
231
+ else if (fs.existsSync(path.join(cwd, 'go.mod'))) {
232
+ command = 'go build ./...';
233
+ }
234
+ if (!command && !lintCommand) {
235
+ return { success: true };
236
+ }
237
+ const { exec } = await import('child_process');
238
+ const runCmd = (cmd) => {
239
+ return new Promise((resolve) => {
240
+ exec(cmd, { cwd, timeout: 30000 }, (error, stdout, stderr) => {
241
+ if (error) {
242
+ resolve({ success: false, logs: (stdout + '\n' + stderr).trim() });
243
+ }
244
+ else {
245
+ resolve({ success: true });
246
+ }
247
+ });
248
+ });
249
+ };
250
+ if (command) {
251
+ console.log(pc.cyan(`\n[VERIFY] Running verification command: "${command}"...`));
252
+ const res = await runCmd(command);
253
+ if (!res.success) {
254
+ console.log(pc.red(`[VERIFY] Verification failed!`));
255
+ return { success: false, errorLogs: res.logs };
256
+ }
257
+ console.log(pc.green(`[VERIFY] Verification passed.`));
258
+ }
259
+ if (lintCommand) {
260
+ console.log(pc.cyan(`\n[VERIFY] Running linter command: "${lintCommand}"...`));
261
+ const res = await runCmd(lintCommand);
262
+ if (!res.success) {
263
+ console.log(pc.red(`[VERIFY] Linter failed!`));
264
+ return { success: false, errorLogs: res.logs };
265
+ }
266
+ console.log(pc.green(`[VERIFY] Linter passed.`));
267
+ }
268
+ if (fs.existsSync(path.join(cwd, 'package.json'))) {
269
+ try {
270
+ const pkg = JSON.parse(fs.readFileSync(path.join(cwd, 'package.json'), 'utf8'));
271
+ if (pkg.scripts && pkg.scripts['sync-docs']) {
272
+ console.log(pc.cyan(`[VERIFY] Syncing documentation with latest command registry...`));
273
+ await runCmd('npm run sync-docs');
274
+ }
275
+ }
276
+ catch { /* ignored */ }
277
+ }
278
+ return { success: true };
279
+ }
280
+ export async function attemptRepair(ctx, task, previous, customContext) {
281
+ const { getAgentRole, filterToolsForRole } = await import('./roles.js');
282
+ const { BUILTIN_TOOLS } = await import('../tools/definitions.js');
283
+ const role = getAgentRole(task.role);
284
+ const tools = filterToolsForRole(BUILTIN_TOOLS, task.role);
285
+ const maxRetries = 2;
286
+ let attempt = 0;
287
+ let currentSummary = previous.summary;
288
+ let currentCustomContext = customContext;
289
+ while (attempt < maxRetries) {
290
+ if (ctx.toolContext.abortSignal.aborted) {
291
+ break;
292
+ }
293
+ attempt++;
294
+ console.log(`\n[REPAIR] Attempt ${attempt}/${maxRetries} to repair task: ${task.goal}`);
295
+ const baseCtx = currentCustomContext || task.context;
296
+ const historyStartIndex = ctx.toolContext.patchHistory?.length || 0;
297
+ let repairHint = '';
298
+ const noRealWork = (ctx.toolContext.patchHistory?.length ?? 0) <= historyStartIndex;
299
+ if (noRealWork) {
300
+ repairHint = `\n\nCRITICAL: Your previous response did not produce any file writes. You MUST call write_file or patch — do not describe what you did, just do it now. Call the tool immediately.`;
301
+ }
302
+ else if (currentSummary && currentSummary.toLowerCase().includes('i will') && !currentSummary.includes('`write_file`') && !currentSummary.includes('`patch`') && !currentSummary.includes('`terminal`')) {
303
+ repairHint = `\n\nCRITICAL: Your previous response described the work as text but did not actually call any tools. Do not describe WHAT you will do — directly EXECUTE the write_file or patch tool now. Your response must contain a tool call, not a plan or explanation.`;
304
+ }
305
+ const repairContext = `${baseCtx}\n\nPrevious attempt failed verification. Output was:\n${currentSummary}\n\nPlease retry and ensure you actually write the required files/artifacts.${repairHint}`;
306
+ const result = await ctx.runAgent(role, task.goal, repairContext, tools);
307
+ if (ctx.toolContext.abortSignal.aborted) {
308
+ return { success: false, summary: 'Task aborted by user' };
309
+ }
310
+ let verified = await verifyArtifacts(ctx.toolContext, task.role, task.goal, result, historyStartIndex);
311
+ let repairCheckLogs = '';
312
+ if (verified && (task.role === 'coder' || task.role === 'debugger') && (ctx.toolContext.patchHistory?.length ?? 0) > historyStartIndex) {
313
+ const checkResult = await runBuildVerification(ctx.toolContext, historyStartIndex);
314
+ if (!checkResult.success) {
315
+ const modifiedFiles = ctx.toolContext.patchHistory.slice(historyStartIndex).map(p => p.filePath);
316
+ const isRelated = isBuildErrorRelated(checkResult.errorLogs || '', modifiedFiles, ctx.toolContext.projectRoot);
317
+ if (isRelated) {
318
+ verified = false;
319
+ repairCheckLogs = (checkResult.errorLogs || 'Build check failed') + generateBuildErrorHint(checkResult.errorLogs || '');
320
+ }
321
+ else {
322
+ console.log(pc.yellow(`\n[VERIFY] Build check failed, but errors appear to be in unrelated files. Ignoring build failure for this task.`));
323
+ }
324
+ }
325
+ }
326
+ if (verified && !isDeclaredError(result)) {
327
+ return { success: true, summary: result };
328
+ }
329
+ if (repairCheckLogs) {
330
+ currentCustomContext = (customContext || task.context) + `\n\nAdditionally, the build/compilation check failed with error output:\n\`\`\`\n${repairCheckLogs}\n\`\`\``;
331
+ }
332
+ currentSummary = result;
333
+ }
334
+ return { success: false, summary: currentSummary, evidence: 'no artifacts' };
335
+ }
336
+ export async function rollbackTaskPatches(toolContext, historyStartIndex) {
337
+ const history = toolContext.patchHistory;
338
+ if (!history || history.length <= historyStartIndex)
339
+ return;
340
+ console.log(pc.yellow(`\n[ROLLBACK] Task failed verification. Rolling back changes to preserve workspace health...`));
341
+ for (let i = history.length - 1; i >= historyStartIndex; i--) {
342
+ const patch = history[i];
343
+ try {
344
+ if (fs.existsSync(patch.filePath)) {
345
+ fs.writeFileSync(patch.filePath, patch.oldContent, 'utf8');
346
+ console.log(pc.gray(` Reverted changes to ${path.relative(toolContext.projectRoot || process.cwd(), patch.filePath)}`));
347
+ }
348
+ }
349
+ catch (err) {
350
+ console.log(pc.red(` Failed to revert changes to ${patch.filePath}: ${err.message}`));
351
+ }
352
+ }
353
+ history.length = historyStartIndex;
354
+ }
355
+ //# sourceMappingURL=orchestrator-verification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestrator-verification.js","sourceRoot":"","sources":["../../src/agents/orchestrator-verification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAI9E,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/C,OAAO,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,IAAY;IAC9D,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,QAAQ,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACpI,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,sFAAsF,CAAC;IACrG,IAAI,KAAK,CAAC;IACV,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,eAAe,GAAG,2CAA2C,CAAC;IACpE,IAAI,eAAe,CAAC;IACpB,OAAO,CAAC,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACjE,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnF,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,WAAwB,EACxB,IAAY,EACZ,IAAY,EACZ,MAAc,EACd,oBAA4B,CAAC;IAE7B,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACpD,IAAI,eAAe,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAE1C,MAAM,kBAAkB,GAAG,sCAAsC,CAAC,IAAI,CAAC,IAAI,CAAC;WACvE,CAAC,uEAAuE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzF,IAAI,kBAAkB;QAAE,OAAO,IAAI,CAAC;IAEpC,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,YAAY,CAAC,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACtF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAEvD,MAAM,cAAc,GAAG,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACzE,MAAM,iBAAiB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACjD,GAAG,CAAC;QACJ,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;KAC/C,CAAC,CAAC,CAAC;IAEJ,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACrD,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CACxF,CAAC;IACF,IAAI,mBAAmB;QAAE,OAAO,IAAI,CAAC;IAErC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QAClD,MAAM,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IACH,IAAI,gBAAgB;QAAE,OAAO,IAAI,CAAC;IAElC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,WAAwB,EAAE,MAAc;IACpE,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACvF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,WAAwB,EACxB,IAAY,EACZ,IAAY,EACZ,MAAc,EACd,oBAA4B,CAAC;IAE7B,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACpD,IAAI,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACpD,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC;IAC/C,IAAI,OAAO,CAAC,MAAM,GAAG,iBAAiB;QAAE,OAAO,IAAI,CAAC;IACpD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,WAAwB,EAAE,iBAAyB;IACzF,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC;IAC/C,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,iBAAiB,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,QAAQ;YAAE,SAAS;QAC9B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACxD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;gBACxD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBAC1D,IAAI,YAAY,EAAE,CAAC;oBACjB,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,IAAI,OAAO,GAAG,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACpF,CAAC;gBACD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBAC5D,IAAI,SAAS,EAAE,CAAC;oBACd,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,IAAI,OAAO,GAAG,CAAC,6BAA6B,CAAC,CAAC;gBACnF,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;QACT,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,WAAwB,EAAE,iBAAyB;IACxF,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC;IAC/C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC;IACjD,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;IACzG,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,QAAQ,GAAG,MAAM,CAAC;IAAC,CAAC;IAEvE,KAAK,IAAI,CAAC,GAAG,iBAAiB,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,QAAQ;YAAE,SAAS;QAC9B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACxD,MAAM,UAAU,GAAG,OAAO;iBACvB,OAAO,CAAC,mCAAmC,EAAE,IAAI,CAAC;iBAClD,OAAO,CAAC,2CAA2C,EAAE,KAAK,CAAC;iBAC3D,OAAO,CAAC,2IAA2I,EAAE,QAAQ,CAAC,CAAC;YAClK,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;gBAC3B,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;gBACrD,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;gBACzD,MAAM,eAAe,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;gBAC/D,MAAM,IAAI,YAAY,GAAG,eAAe,CAAC;YAC3C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;QACT,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,WAAwB,EAAE,IAAoB,EAAE,MAAc,EAAE,iBAAyB;IACzH,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC;IAC/C,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,iBAAiB,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxD,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC;IAC5E,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,cAAc,IAAI,CAAC,IAAI,aAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,SAAiB,EAAE,aAAuB,EAAE,WAAoB;IAClG,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IAC1C,MAAM,WAAW,GAAG,CAAC,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,YAAY,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IACvH,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QACnD,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QACzG,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,SAAiB;IACtD,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,MAAM,kBAAkB,GAAG,SAAS,CAAC,KAAK,CAAC,sCAAsC,CAAC;QACvD,SAAS,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAClF,IAAI,kBAAkB,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,6BAA6B,GAAG,yEAAyE,GAAG,KAAK,CAAC,CAAC;IAChI,CAAC;IAED,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QAC3D,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,iKAAiK,CAAC,CAAC;IAChL,CAAC;IAED,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC5G,KAAK,CAAC,IAAI,CAAC,2JAA2J,CAAC,CAAC;IAC1K,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,OAAO,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,WAAwB,EAAE,oBAA4B,CAAC;IAChG,MAAM,GAAG,GAAG,WAAW,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACrD,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC;IAC/C,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3E,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1C,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxG,CAAC,CAAC,CAAC;IACH,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC,CAAC;QAC3F,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,WAAW,GAAG,EAAE,CAAC;IAErB,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YAChF,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAChB,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBAClC,OAAO,GAAG,wBAAwB,CAAC;gBACrC,CAAC;qBAAM,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC;oBAC1D,OAAO,GAAG,kBAAkB,CAAC;gBAC/B,CAAC;qBAAM,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBAC7B,OAAO,GAAG,eAAe,CAAC;gBAC5B,CAAC;gBAED,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACrB,WAAW,GAAG,cAAc,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;IAC3B,CAAC;SAAM,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;QACvD,OAAO,GAAG,aAAa,CAAC;IAC1B,CAAC;SAAM,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;QACnD,OAAO,GAAG,gBAAgB,CAAC;IAC7B,CAAC;IAED,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAG,CAAC,GAAW,EAAgD,EAAE;QAC3E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;gBAC3D,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACrE,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,6CAA6C,OAAO,MAAM,CAAC,CAAC,CAAC;QACjF,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;YACrD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QACjD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,uCAAuC,WAAW,MAAM,CAAC,CAAC,CAAC;QAC/E,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC;YAC/C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QACjD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YAChF,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC,CAAC;gBACvF,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAA0B,EAC1B,IAAoB,EACpB,QAAqB,EACrB,aAAsB;IAEtB,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IACxE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAElE,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,kBAAkB,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,CAAC,CAAC;IACrB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC;IACtC,IAAI,oBAAoB,GAAG,aAAa,CAAC;IAEzC,OAAO,OAAO,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACxC,MAAM;QACR,CAAC;QACD,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,IAAI,UAAU,oBAAoB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAExF,MAAM,OAAO,GAAG,oBAAoB,IAAI,IAAI,CAAC,OAAO,CAAC;QACrD,MAAM,iBAAiB,GAAG,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC;QACpE,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC,IAAI,iBAAiB,CAAC;QACpF,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,GAAG,oLAAoL,CAAC;QACpM,CAAC;aAAM,IAAI,cAAc,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1M,UAAU,GAAG,+PAA+P,CAAC;QAC/Q,CAAC;QACD,MAAM,aAAa,GAAG,GAAG,OAAO,0DAA0D,cAAc,+EAA+E,UAAU,EAAE,CAAC;QACpM,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QAEzE,IAAI,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACxC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;QAC7D,CAAC;QAED,IAAI,QAAQ,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;QACvG,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,iBAAiB,EAAE,CAAC;YACvI,MAAM,WAAW,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YACnF,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,aAAa,GAAG,GAAG,CAAC,WAAW,CAAC,YAAa,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAClG,MAAM,SAAS,GAAG,mBAAmB,CAAC,WAAW,CAAC,SAAS,IAAI,EAAE,EAAE,aAAa,EAAE,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;gBAC/G,IAAI,SAAS,EAAE,CAAC;oBACd,QAAQ,GAAG,KAAK,CAAC;oBACjB,eAAe,GAAG,CAAC,WAAW,CAAC,SAAS,IAAI,oBAAoB,CAAC,GAAG,sBAAsB,CAAC,WAAW,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;gBAC1H,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,kHAAkH,CAAC,CAAC,CAAC;gBAC7I,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAC5C,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YACpB,oBAAoB,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,oFAAoF,eAAe,UAAU,CAAC;QACzK,CAAC;QACD,cAAc,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;AAC/E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,WAAwB,EAAE,iBAAyB;IAC3F,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,CAAC;IACzC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,iBAAiB;QAAE,OAAO;IAE5D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,6FAA6F,CAAC,CAAC,CAAC;IAEtH,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,iBAAiB,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAC3D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3H,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,iCAAiC,KAAK,CAAC,QAAQ,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAED,OAAO,CAAC,MAAM,GAAG,iBAAiB,CAAC;AACrC,CAAC"}
@@ -1,23 +1,7 @@
1
1
  import { LocalRouter } from '../router/index.js';
2
2
  import { ToolContext, ChatMessage } from '../types.js';
3
3
  import { SessionManager } from '../session/manager.js';
4
- interface DelegationTask {
5
- goal: string;
6
- context: string;
7
- role: string;
8
- toolsets?: string[];
9
- dependencies?: string[];
10
- status?: 'pending' | 'in_progress' | 'completed' | 'failed' | 'skipped';
11
- error?: string;
12
- splitDepth?: number;
13
- }
14
- interface AgentResult {
15
- role: string;
16
- goal: string;
17
- summary: string;
18
- success: boolean;
19
- evidence?: string;
20
- }
4
+ import type { DelegationTask, AgentResult } from './orchestrator-types.js';
21
5
  export declare class Orchestrator {
22
6
  private router;
23
7
  private messages;
@@ -38,37 +22,10 @@ export declare class Orchestrator {
38
22
  private printTaskList;
39
23
  private hasPendingTasks;
40
24
  private getNextBatch;
41
- private static getTaskFilePaths;
42
- private static hasFileConflict;
43
- private static groupIndependent;
44
25
  private executeSingleTask;
45
26
  private executePlan;
46
27
  private replanRemaining;
47
- private static filterValidTasks;
48
- private static stripCodeBlocks;
49
- private static stripToolRequestArtifacts;
50
- private static VAGUE_GOAL_RE;
51
- private static isComplexGoal;
52
- private static validateTasks;
53
- private static cleanTaskText;
54
- private static cleanPlanOutput;
55
- private truncateGoal;
56
28
  private parseDelegationTasks;
57
- private isDeclaredError;
58
- private requiresRealArtifacts;
59
- private extractPendingWrites;
60
- private verifyArtifacts;
61
- private checkPlaceholders;
62
- private fillPlaceholders;
63
- private attemptRepair;
64
- private hasRealWrites;
65
- private verifyArtifactsThoroughly;
66
- private buildCleanSummary;
67
- private static isUnnecessaryConfigTask;
68
- static getFrameworkGuidance(projectContext?: string, projectRoot?: string): string;
69
- private static extractRequirements;
70
- private static extractFilePaths;
71
- private static buildDependencyGraph;
72
29
  private findStyleReference;
73
30
  private discoverDesignTokens;
74
31
  private delegateTask;
@@ -76,10 +33,5 @@ export declare class Orchestrator {
76
33
  private executeOpenAIToolCalls;
77
34
  private synthesize;
78
35
  private writeWalkthrough;
79
- private rollbackTaskPatches;
80
- private runBuildVerification;
81
- private isBuildErrorRelated;
82
- private generateBuildErrorHint;
83
36
  }
84
- export {};
85
37
  //# sourceMappingURL=orchestrator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/agents/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/agents/orchestrator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAIjD,OAAO,EAAE,WAAW,EAAY,WAAW,EAAE,MAAM,aAAa,CAAC;AAGjE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAevD,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAK3E,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAK;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAM;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAK;gBAEzB,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,CAAC,EAAE,cAAc;YAOrG,YAAY;YAiBZ,sBAAsB;IA2C9B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwDlC,MAAM,CACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,cAAc,EAAE,EACvB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,WAAW,EAAE,GAC7B,OAAO,CAAC,MAAM,CAAC;YAgCJ,UAAU;IAyHxB,OAAO,CAAC,iBAAiB;IAiDzB,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,YAAY;YAsBN,iBAAiB;YAuFjB,WAAW;YAsIX,eAAe;IAwE7B,OAAO,CAAC,oBAAoB;IAmG5B,OAAO,CAAC,kBAAkB;IA6E1B,OAAO,CAAC,oBAAoB;YA8Cd,YAAY;YAgUZ,QAAQ;YAiKR,sBAAsB;IASpC,OAAO,CAAC,UAAU;IA2BlB,OAAO,CAAC,gBAAgB;CA2CzB"}