daedalus-cli 1.40.4 → 1.41.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/CHANGELOG.md +14 -0
- package/README.md +9 -0
- package/dist/agents/loop.d.ts +10 -0
- package/dist/agents/loop.d.ts.map +1 -0
- package/dist/agents/loop.js +252 -0
- package/dist/agents/loop.js.map +1 -0
- package/dist/agents/orchestrator.d.ts.map +1 -1
- package/dist/agents/orchestrator.js +10 -6
- package/dist/agents/orchestrator.js.map +1 -1
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +8 -0
- package/dist/commands.js.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
# [1.41.0](https://github.com/bgill55/daedalus/compare/v1.40.5...v1.41.0) (2026-07-15)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* **loop:** implement the Finn Loop spec gathering and loop daemon engine ([008adb8](https://github.com/bgill55/daedalus/commit/008adb8ab898c53fac7cc11d64639a6cd9e45112))
|
|
7
|
+
|
|
8
|
+
## [1.40.5](https://github.com/bgill55/daedalus/compare/v1.40.4...v1.40.5) (2026-07-13)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **orchestrator:** allow non-file tasks and prioritize coder role in fallback plans ([0e159ec](https://github.com/bgill55/daedalus/commit/0e159ecc857ba3763f31eb81dfc2c658aa7df674))
|
|
14
|
+
|
|
1
15
|
## [1.40.4](https://github.com/bgill55/daedalus/compare/v1.40.3...v1.40.4) (2026-07-12)
|
|
2
16
|
|
|
3
17
|
|
package/README.md
CHANGED
|
@@ -36,6 +36,10 @@ Daedalus connects to local LLM servers (LM Studio, Ollama, llama.cpp, vLLM) or r
|
|
|
36
36
|
<img src="assets/tui_view.png" width="49%" alt="Daedalus TUI View" />
|
|
37
37
|
</p>
|
|
38
38
|
|
|
39
|
+
<p align="center">
|
|
40
|
+
<video src="docs/images/Daedalus__Local-First_AI.mp4" width="100%" controls></video>
|
|
41
|
+
</p>
|
|
42
|
+
|
|
39
43
|
---
|
|
40
44
|
|
|
41
45
|
## Quick Start
|
|
@@ -128,6 +132,7 @@ AI assistance without:
|
|
|
128
132
|
| `/models` | List available and healthy models |
|
|
129
133
|
| `/config [set <key> = <val>]` | Show current configuration |
|
|
130
134
|
| `/doctor` | Diagnose connection and discovery |
|
|
135
|
+
| `/spec` | Flesh out a feature idea into a GitHub Issue spec (Finn Loop) |
|
|
131
136
|
| `/help` / `?` / `help` | Show available commands |
|
|
132
137
|
| `/mcp` | Manage MCP servers: explore, search, install, list, remove, info |
|
|
133
138
|
| `/onboard` | First-time setup — discover local models, configure, and test |
|
|
@@ -194,6 +199,10 @@ npx tsc --noEmit # type check
|
|
|
194
199
|
|
|
195
200
|
### Architecture
|
|
196
201
|
|
|
202
|
+
<p align="center">
|
|
203
|
+
<img src="docs/images/Daedalus_Local_AI_Coding_Architecture.png" alt="Daedalus Local AI Coding Architecture" width="100%" />
|
|
204
|
+
</p>
|
|
205
|
+
|
|
197
206
|
```
|
|
198
207
|
src/
|
|
199
208
|
├── index.ts CLI entry, REPL, command dispatch
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ToolContext } from '../types.js';
|
|
2
|
+
import { CommandContext } from '../commands.js';
|
|
3
|
+
export declare function getGitRepoInfo(cwd: string): {
|
|
4
|
+
owner: string;
|
|
5
|
+
repo: string;
|
|
6
|
+
} | null;
|
|
7
|
+
export declare function sendDiscordEmbed(webhookUrl: string, embed: any): Promise<void>;
|
|
8
|
+
export declare function handleSpecCommand(args: string, ctx: CommandContext): Promise<void>;
|
|
9
|
+
export declare function startLoopDaemon(ctx: ToolContext, config: any, router: any, sessionManager: any): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=loop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agents/loop.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAUlF;AAED,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,iBAUpE;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,iBA6ExE;AAED,wBAAsB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,iBAgLpG"}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import { execSync } from 'child_process';
|
|
2
|
+
import pc from 'picocolors';
|
|
3
|
+
export function getGitRepoInfo(cwd) {
|
|
4
|
+
try {
|
|
5
|
+
const url = execSync('git remote get-url origin', { cwd, encoding: 'utf8' }).trim();
|
|
6
|
+
// Matches git@github.com:owner/repo.git or https://github.com/owner/repo.git
|
|
7
|
+
const match = url.match(/(?:github\.com[:\/])([^\/]+)\/([^\/\.]+)(?:\.git)?/);
|
|
8
|
+
if (match) {
|
|
9
|
+
return { owner: match[1], repo: match[2] };
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
catch { }
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
export async function sendDiscordEmbed(webhookUrl, embed) {
|
|
16
|
+
try {
|
|
17
|
+
await fetch(webhookUrl, {
|
|
18
|
+
method: 'POST',
|
|
19
|
+
headers: { 'Content-Type': 'application/json' },
|
|
20
|
+
body: JSON.stringify({ embeds: [embed] }),
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
catch (err) {
|
|
24
|
+
console.error(pc.yellow(`[WARN] Failed to send Discord notification: ${err.message}`));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export async function handleSpecCommand(args, ctx) {
|
|
28
|
+
const idea = args.trim();
|
|
29
|
+
if (!idea) {
|
|
30
|
+
console.log(pc.red('[WARN] Please specify an idea. Example: /spec "Add OAuth Login"'));
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const repoInfo = getGitRepoInfo(ctx.sessionManager.projectRoot);
|
|
34
|
+
const token = process.env.GITHUB_TOKEN || process.env.GH_TOKEN;
|
|
35
|
+
if (!repoInfo || !token) {
|
|
36
|
+
console.log(pc.red('[WARN] GitHub integration not configured. Ensure you are in a git repository with GITHUB_TOKEN or GH_TOKEN env set.'));
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
console.log(pc.cyan(`\nFleshing out spec for: "${idea}"`));
|
|
40
|
+
console.log(pc.dim('Gathering requirements...'));
|
|
41
|
+
const prompt = `You are a technical planner. The user wants to build: "${idea}".
|
|
42
|
+
Generate 2-3 essential questions to clarify the requirements, design, and scope of this feature. Be extremely concise.`;
|
|
43
|
+
const response = await ctx.router.chat.completions.create({
|
|
44
|
+
model: 'intelligence',
|
|
45
|
+
messages: [
|
|
46
|
+
{ role: 'system', content: 'You are a technical planner. Keep questions direct and brief.' },
|
|
47
|
+
{ role: 'user', content: prompt },
|
|
48
|
+
],
|
|
49
|
+
temperature: 0.3,
|
|
50
|
+
});
|
|
51
|
+
const questions = response.choices[0]?.message?.content || '';
|
|
52
|
+
console.log(pc.bold('\n--- Clarification Questions ---'));
|
|
53
|
+
console.log(questions);
|
|
54
|
+
console.log(pc.bold('------------------------------\n'));
|
|
55
|
+
const answers = await ctx.askLine(pc.bold('Your answers: '));
|
|
56
|
+
console.log(pc.cyan('\nGenerating final specification...'));
|
|
57
|
+
const specPrompt = `Based on the original idea: "${idea}" and user clarifications: "${answers}",
|
|
58
|
+
generate a detailed, implementation-ready Markdown specification.
|
|
59
|
+
Include a summary, proposed file modifications/creations, and acceptance criteria.`;
|
|
60
|
+
const specResponse = await ctx.router.chat.completions.create({
|
|
61
|
+
model: 'intelligence',
|
|
62
|
+
messages: [
|
|
63
|
+
{ role: 'system', content: 'You are an expert technical writer. Output clean markdown.' },
|
|
64
|
+
{ role: 'user', content: specPrompt },
|
|
65
|
+
],
|
|
66
|
+
temperature: 0.2,
|
|
67
|
+
});
|
|
68
|
+
const specMarkdown = specResponse.choices[0]?.message?.content || '';
|
|
69
|
+
const issueTitle = `[Daedalus Spec] ${idea}`;
|
|
70
|
+
console.log(pc.cyan('Creating issue on GitHub...'));
|
|
71
|
+
const createResp = await fetch(`https://api.github.com/repos/${repoInfo.owner}/${repoInfo.repo}/issues`, {
|
|
72
|
+
method: 'POST',
|
|
73
|
+
headers: {
|
|
74
|
+
Authorization: `token ${token}`,
|
|
75
|
+
'Content-Type': 'application/json',
|
|
76
|
+
'User-Agent': 'Daedalus-CLI',
|
|
77
|
+
},
|
|
78
|
+
body: JSON.stringify({
|
|
79
|
+
title: issueTitle,
|
|
80
|
+
body: specMarkdown,
|
|
81
|
+
labels: ['daedalus-todo'],
|
|
82
|
+
}),
|
|
83
|
+
});
|
|
84
|
+
if (createResp.ok) {
|
|
85
|
+
const issueData = (await createResp.json());
|
|
86
|
+
console.log(pc.green(`\n✔ Issue created successfully on GitHub: ${pc.bold(issueData.html_url)}`));
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
const errText = await createResp.text();
|
|
90
|
+
console.log(pc.red(`\nFailed to create issue on GitHub: ${errText}`));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
export async function startLoopDaemon(ctx, config, router, sessionManager) {
|
|
94
|
+
console.log(pc.bold(pc.green('\n======================================')));
|
|
95
|
+
console.log(pc.bold(pc.green(' DAEDALUS FINN LOOP DAEMON ACTIVE ')));
|
|
96
|
+
console.log(pc.bold(pc.green('======================================\n')));
|
|
97
|
+
const repoInfo = getGitRepoInfo(sessionManager.projectRoot);
|
|
98
|
+
const token = process.env.GITHUB_TOKEN || process.env.GH_TOKEN;
|
|
99
|
+
const discordWebhook = process.env.DISCORD_WEBHOOK_URL;
|
|
100
|
+
if (!repoInfo || !token) {
|
|
101
|
+
console.error(pc.red('[ERROR] Daemon requires a Git repository with GITHUB_TOKEN or GH_TOKEN env variable set.'));
|
|
102
|
+
process.exit(1);
|
|
103
|
+
}
|
|
104
|
+
const repo = repoInfo;
|
|
105
|
+
console.log(pc.cyan(`Monitoring repository: ${repo.owner}/${repo.repo}`));
|
|
106
|
+
console.log(pc.cyan(`Looking for issues with label 'daedalus-todo'...`));
|
|
107
|
+
if (discordWebhook) {
|
|
108
|
+
console.log(pc.cyan('Discord notification channel active.'));
|
|
109
|
+
}
|
|
110
|
+
const pollIntervalMs = 180000; // 3 minutes
|
|
111
|
+
async function checkAndProcessIssues() {
|
|
112
|
+
console.log(pc.dim(`\n[${new Date().toLocaleTimeString()}] Checking for open tickets...`));
|
|
113
|
+
try {
|
|
114
|
+
const resp = await fetch(`https://api.github.com/repos/${repo.owner}/${repo.repo}/issues?state=open&labels=daedalus-todo`, {
|
|
115
|
+
headers: {
|
|
116
|
+
Authorization: `token ${token}`,
|
|
117
|
+
'User-Agent': 'Daedalus-CLI',
|
|
118
|
+
},
|
|
119
|
+
});
|
|
120
|
+
if (!resp.ok) {
|
|
121
|
+
console.error(pc.red(`GitHub API error: ${resp.statusText}`));
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
const issues = (await resp.json());
|
|
125
|
+
if (issues.length === 0) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
const issue = issues[0];
|
|
129
|
+
console.log(pc.green(`\n🚀 Found issue: #${issue.number} - "${issue.title}"`));
|
|
130
|
+
// 1. Move to In Progress
|
|
131
|
+
await fetch(`https://api.github.com/repos/${repo.owner}/${repo.repo}/issues/${issue.number}`, {
|
|
132
|
+
method: 'PATCH',
|
|
133
|
+
headers: {
|
|
134
|
+
Authorization: `token ${token}`,
|
|
135
|
+
'Content-Type': 'application/json',
|
|
136
|
+
'User-Agent': 'Daedalus-CLI',
|
|
137
|
+
},
|
|
138
|
+
body: JSON.stringify({
|
|
139
|
+
labels: ['daedalus-in-progress'],
|
|
140
|
+
}),
|
|
141
|
+
});
|
|
142
|
+
// 2. Run Orchestrator
|
|
143
|
+
console.log(pc.cyan(`Starting orchestration for Issue #${issue.number}...`));
|
|
144
|
+
const { Orchestrator } = await import('./orchestrator.js');
|
|
145
|
+
const orchestrator = new Orchestrator(router, [], ctx, sessionManager);
|
|
146
|
+
const goal = `${issue.title}\n\nSpec:\n${issue.body}`;
|
|
147
|
+
const result = await orchestrator.run(goal);
|
|
148
|
+
if (result.includes('Orchestration failed')) {
|
|
149
|
+
console.error(pc.red(`\n✗ Orchestration failed for Issue #${issue.number}. Reverting changes...`));
|
|
150
|
+
try {
|
|
151
|
+
execSync('git reset --hard && git clean -fd', { cwd: sessionManager.projectRoot });
|
|
152
|
+
}
|
|
153
|
+
catch { }
|
|
154
|
+
await fetch(`https://api.github.com/repos/${repo.owner}/${repo.repo}/issues/${issue.number}`, {
|
|
155
|
+
method: 'PATCH',
|
|
156
|
+
headers: {
|
|
157
|
+
Authorization: `token ${token}`,
|
|
158
|
+
'Content-Type': 'application/json',
|
|
159
|
+
'User-Agent': 'Daedalus-CLI',
|
|
160
|
+
},
|
|
161
|
+
body: JSON.stringify({
|
|
162
|
+
labels: ['daedalus-todo', 'daedalus-failed'],
|
|
163
|
+
}),
|
|
164
|
+
});
|
|
165
|
+
if (discordWebhook) {
|
|
166
|
+
await sendDiscordEmbed(discordWebhook, {
|
|
167
|
+
title: `❌ Build Failed: Issue #${issue.number}`,
|
|
168
|
+
description: `Orchestrator failed to build: "${issue.title}". Workspace changes reverted.`,
|
|
169
|
+
color: 16711680,
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
// 3. Orchestration Passed - push branch and open PR
|
|
175
|
+
console.log(pc.green('\n✔ Orchestration completed successfully. Pushing changes...'));
|
|
176
|
+
const branchName = `daedalus-issue-${issue.number}`;
|
|
177
|
+
try {
|
|
178
|
+
execSync(`git checkout -b ${branchName}`, { cwd: sessionManager.projectRoot });
|
|
179
|
+
execSync('git add .', { cwd: sessionManager.projectRoot });
|
|
180
|
+
execSync(`git commit -m "feat(issue-${issue.number}): ${issue.title}"`, { cwd: sessionManager.projectRoot });
|
|
181
|
+
execSync(`git push -u origin ${branchName} --force`, { cwd: sessionManager.projectRoot });
|
|
182
|
+
}
|
|
183
|
+
catch (err) {
|
|
184
|
+
console.error(pc.red(`Git push failed: ${err.message}`));
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
// Create PR
|
|
188
|
+
console.log(pc.cyan('Opening Pull Request...'));
|
|
189
|
+
const prResp = await fetch(`https://api.github.com/repos/${repo.owner}/${repo.repo}/pulls`, {
|
|
190
|
+
method: 'POST',
|
|
191
|
+
headers: {
|
|
192
|
+
Authorization: `token ${token}`,
|
|
193
|
+
'Content-Type': 'application/json',
|
|
194
|
+
'User-Agent': 'Daedalus-CLI',
|
|
195
|
+
},
|
|
196
|
+
body: JSON.stringify({
|
|
197
|
+
title: `[PR] #${issue.number}: ${issue.title}`,
|
|
198
|
+
head: branchName,
|
|
199
|
+
base: 'main',
|
|
200
|
+
body: `Resolves Issue #${issue.number}.\n\nAutomatically generated and verified by Daedalus.`,
|
|
201
|
+
}),
|
|
202
|
+
});
|
|
203
|
+
let prUrl = '';
|
|
204
|
+
if (prResp.ok) {
|
|
205
|
+
const prData = (await prResp.json());
|
|
206
|
+
prUrl = prData.html_url;
|
|
207
|
+
console.log(pc.green(`✔ PR opened: ${prUrl}`));
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
console.error(pc.red(`Failed to open PR: ${await prResp.text()}`));
|
|
211
|
+
}
|
|
212
|
+
// Move Issue to done
|
|
213
|
+
await fetch(`https://api.github.com/repos/${repo.owner}/${repo.repo}/issues/${issue.number}`, {
|
|
214
|
+
method: 'PATCH',
|
|
215
|
+
headers: {
|
|
216
|
+
Authorization: `token ${token}`,
|
|
217
|
+
'Content-Type': 'application/json',
|
|
218
|
+
'User-Agent': 'Daedalus-CLI',
|
|
219
|
+
},
|
|
220
|
+
body: JSON.stringify({
|
|
221
|
+
labels: ['daedalus-done'],
|
|
222
|
+
}),
|
|
223
|
+
});
|
|
224
|
+
// 4. Send Discord Embed Notification
|
|
225
|
+
if (discordWebhook) {
|
|
226
|
+
await sendDiscordEmbed(discordWebhook, {
|
|
227
|
+
title: `🚀 Code Review Ready: Issue #${issue.number}`,
|
|
228
|
+
description: `Successfully built and verified: **"${issue.title}"**`,
|
|
229
|
+
url: prUrl,
|
|
230
|
+
color: 65280,
|
|
231
|
+
fields: [
|
|
232
|
+
{ name: 'Issue Link', value: issue.html_url, inline: true },
|
|
233
|
+
{ name: 'Pull Request', value: prUrl, inline: true },
|
|
234
|
+
{ name: 'Branch', value: branchName, inline: true },
|
|
235
|
+
],
|
|
236
|
+
timestamp: new Date().toISOString(),
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
// Go back to main branch
|
|
240
|
+
try {
|
|
241
|
+
execSync('git checkout main', { cwd: sessionManager.projectRoot });
|
|
242
|
+
}
|
|
243
|
+
catch { }
|
|
244
|
+
}
|
|
245
|
+
catch (err) {
|
|
246
|
+
console.error(pc.red(`Error in daemon loop: ${err.message}`));
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
await checkAndProcessIssues();
|
|
250
|
+
setInterval(checkAndProcessIssues, pollIntervalMs);
|
|
251
|
+
}
|
|
252
|
+
//# sourceMappingURL=loop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agents/loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
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;AAGvD,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAOD,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;IAoGxB,OAAO,CAAC,iBAAiB;
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/agents/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -293,11 +293,14 @@ export class Orchestrator {
|
|
|
293
293
|
return tasks.join('\n');
|
|
294
294
|
}
|
|
295
295
|
}
|
|
296
|
-
const
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
296
|
+
const isCoder = /\b(create|add|build|implement|write|generate|make|new|refactor|fix|modify|update)\b/i.test(goal);
|
|
297
|
+
const fallbackRole = isCoder
|
|
298
|
+
? 'coder'
|
|
299
|
+
: /\b(verify|check|test|review|inspect|validate|confirm)\b/i.test(goal)
|
|
300
|
+
? 'reviewer'
|
|
301
|
+
: /\b(research|investigate|find out|look up|search for)\b/i.test(goal)
|
|
302
|
+
? 'researcher'
|
|
303
|
+
: 'coder';
|
|
301
304
|
return `- delegate to ${fallbackRole}: ${goal}`;
|
|
302
305
|
}
|
|
303
306
|
formatGoal(goal, indentLength, width = 80) {
|
|
@@ -746,7 +749,8 @@ export class Orchestrator {
|
|
|
746
749
|
return `Task "${t.goal.slice(0, 80)}" contains vague wording — be concrete`;
|
|
747
750
|
}
|
|
748
751
|
const paths = Orchestrator.extractFilePaths(t.goal);
|
|
749
|
-
|
|
752
|
+
const isNonFileOp = /\b(install|npm|yarn|pnpm|compile|build|setup|initialize|init|run|test|lint)\b/i.test(t.goal);
|
|
753
|
+
if ((t.role === 'coder' || t.role === 'debugger') && paths.length === 0 && !isFallbackSingleTask && !isNonFileOp) {
|
|
750
754
|
return `Task "${t.goal.slice(0, 80)}" has no file path — each task must target a specific file`;
|
|
751
755
|
}
|
|
752
756
|
if (projectRoot) {
|