ft-scout 4.0.2 → 4.0.4

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 (44) hide show
  1. package/bin/src/commands/agent.d.ts.map +1 -1
  2. package/bin/src/commands/agent.js +3 -2
  3. package/bin/src/commands/agent.js.map +1 -1
  4. package/bin/src/commands/audit.js.map +1 -1
  5. package/bin/src/commands/authCommand.d.ts.map +1 -0
  6. package/bin/src/commands/authCommand.js +31 -0
  7. package/bin/src/commands/authCommand.js.map +1 -0
  8. package/bin/src/commands/brief.js.map +1 -1
  9. package/bin/src/commands/configCommand.js.map +1 -1
  10. package/bin/src/commands/history.js.map +1 -1
  11. package/bin/src/commands/init.js.map +1 -1
  12. package/bin/src/commands/login.d.ts.map +1 -0
  13. package/bin/src/commands/login.js +91 -0
  14. package/bin/src/commands/login.js.map +1 -0
  15. package/bin/src/commands/logout.d.ts.map +1 -0
  16. package/bin/src/commands/logout.js +15 -0
  17. package/bin/src/commands/logout.js.map +1 -0
  18. package/bin/src/commands/recommend.js.map +1 -1
  19. package/bin/src/commands/setup.js.map +1 -1
  20. package/bin/src/commands/signup.d.ts.map +1 -0
  21. package/bin/src/commands/signup.js +92 -0
  22. package/bin/src/commands/signup.js.map +1 -0
  23. package/bin/src/commands/undo.js.map +1 -1
  24. package/bin/src/engine/agentEngine.d.ts.map +1 -1
  25. package/bin/src/engine/agentEngine.js +165 -24
  26. package/bin/src/engine/agentEngine.js.map +1 -1
  27. package/bin/src/engine/git.js.map +1 -1
  28. package/bin/src/engine/llm.d.ts.map +1 -1
  29. package/bin/src/engine/llm.js +17 -0
  30. package/bin/src/engine/llm.js.map +1 -1
  31. package/bin/src/engine/verifier.d.ts.map +1 -1
  32. package/bin/src/engine/verifier.js +43 -5
  33. package/bin/src/engine/verifier.js.map +1 -1
  34. package/bin/src/engine/web.js.map +1 -1
  35. package/bin/src/index.js +77 -6
  36. package/bin/src/index.js.map +1 -1
  37. package/bin/src/utils/auth.d.ts.map +1 -0
  38. package/bin/src/utils/auth.js +57 -0
  39. package/bin/src/utils/auth.js.map +1 -0
  40. package/bin/src/utils/branding.js +1 -1
  41. package/bin/src/utils/firebaseAuth.d.ts.map +1 -0
  42. package/bin/src/utils/firebaseAuth.js +125 -0
  43. package/bin/src/utils/firebaseAuth.js.map +1 -0
  44. package/package.json +1 -1
@@ -0,0 +1,92 @@
1
+ import { text, password, spinner, isCancel, cancel } from '@clack/prompts';
2
+ import chalk from 'chalk';
3
+ import { safeNote } from '../utils/markdown.js';
4
+ import { saveAuthConfig } from '../utils/auth.js';
5
+ import { firebaseSignUp, FIREBASE_TENANT_ID } from '../utils/firebaseAuth.js';
6
+ export async function handleSignup(options) {
7
+ let name = options?.name?.trim();
8
+ let email = options?.email?.trim();
9
+ let pwd = options?.password?.trim();
10
+ // Interactive prompts if values are not provided via flags
11
+ if (!name) {
12
+ const nameRes = await text({
13
+ message: 'Enter your full name:',
14
+ placeholder: 'Ada Lovelace',
15
+ validate(val) {
16
+ if (!val || val.trim().length < 2)
17
+ return 'Name must be at least 2 characters.';
18
+ },
19
+ });
20
+ if (isCancel(nameRes)) {
21
+ cancel('Sign up cancelled.');
22
+ return;
23
+ }
24
+ name = String(nameRes).trim();
25
+ }
26
+ if (!email) {
27
+ const emailRes = await text({
28
+ message: 'Enter your email address:',
29
+ placeholder: 'ada@example.com',
30
+ validate(val) {
31
+ if (!val || !val.includes('@') || !val.includes('.')) {
32
+ return 'Please enter a valid email address.';
33
+ }
34
+ },
35
+ });
36
+ if (isCancel(emailRes)) {
37
+ cancel('Sign up cancelled.');
38
+ return;
39
+ }
40
+ email = String(emailRes).trim();
41
+ }
42
+ if (!pwd) {
43
+ const pwdRes = await password({
44
+ message: 'Create a password (min 6 characters):',
45
+ validate(val) {
46
+ if (!val || val.length < 6)
47
+ return 'Password must be at least 6 characters long.';
48
+ },
49
+ });
50
+ if (isCancel(pwdRes)) {
51
+ cancel('Sign up cancelled.');
52
+ return;
53
+ }
54
+ pwd = String(pwdRes);
55
+ const confirmPwdRes = await password({
56
+ message: 'Confirm your password:',
57
+ validate(val) {
58
+ if (val !== pwd)
59
+ return 'Passwords do not match.';
60
+ },
61
+ });
62
+ if (isCancel(confirmPwdRes)) {
63
+ cancel('Sign up cancelled.');
64
+ return;
65
+ }
66
+ }
67
+ const s = spinner();
68
+ s.start(`Creating account on Firebase Tenant [${FIREBASE_TENANT_ID}]...`);
69
+ try {
70
+ const authRes = await firebaseSignUp(name, email, pwd);
71
+ saveAuthConfig({
72
+ token: authRes.token,
73
+ refreshToken: authRes.refreshToken,
74
+ tenantId: FIREBASE_TENANT_ID,
75
+ user: authRes.user,
76
+ loggedInAt: new Date().toISOString(),
77
+ });
78
+ s.stop(chalk.green('✓ Firebase account registered successfully!'));
79
+ safeNote(`${chalk.bold.green('🎉 Welcome to FrontTerrain, ' + name + '!')}\n\n` +
80
+ `Registered on Firebase Tenant: ${chalk.bold.yellow(FIREBASE_TENANT_ID)}\n` +
81
+ `Account Email: ${chalk.bold.cyan(email)}\n` +
82
+ `Firebase User ID: ${chalk.yellow(authRes.user.id)}\n\n` +
83
+ `You are automatically logged in! Run ${chalk.cyan('ft agent')} or ${chalk.cyan('ft init')} to start.`, '🚀 FrontTerrain Firebase Sign Up');
84
+ }
85
+ catch (error) {
86
+ s.stop(chalk.red('✕ Sign up failed.'));
87
+ safeNote(`${chalk.bold.red('Sign Up Error')}\n\n` +
88
+ `${error?.message || 'Failed to create account.'}\n\n` +
89
+ `If you already have an account, try logging in with ${chalk.cyan('ft login')}.`, '⚠️ FrontTerrain Firebase Auth Error');
90
+ }
91
+ }
92
+ //# sourceMappingURL=signup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signup.js","sourceRoot":"","sources":["signup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"undo.js","sourceRoot":"","sources":["undo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"undo.js","sourceRoot":"","sources":["undo.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"agentEngine.d.ts","sourceRoot":"","sources":["agentEngine.ts"],"names":[],"mappings":"AAMA,OAAO,EAA0C,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAO7F,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,eAAO,MAAM,WAAW,EAAE,cAAc,EA8FvC,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAAS;IAE5B,YAAY,OAAO,CAAC,EAAE,gBAAgB,EAKrC;IAEM,gBAAgB,IAAI,MAAM,EAAE,CAElC;IAEM,UAAU,IAAI,UAAU,EAAE,CAEhC;IAEM,YAAY,IAAI,IAAI,CAI1B;IAED,OAAO,CAAC,YAAY;IA+BP,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAwIzF;IAED,OAAO,CAAC,mBAAmB;YA2Cb,gBAAgB;CAwL/B"}
1
+ {"version":3,"file":"agentEngine.d.ts","sourceRoot":"","sources":["agentEngine.ts"],"names":[],"mappings":"AAMA,OAAO,EAA0C,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAO7F,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,eAAO,MAAM,WAAW,EAAE,cAAc,EAgGvC,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAAS;IAE5B,YAAY,OAAO,CAAC,EAAE,gBAAgB,EAKrC;IAEM,gBAAgB,IAAI,MAAM,EAAE,CAElC;IAEM,UAAU,IAAI,UAAU,EAAE,CAEhC;IAEM,YAAY,IAAI,IAAI,CAI1B;IAED,OAAO,CAAC,YAAY;IAqCP,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CA+NzF;IAED,OAAO,CAAC,mBAAmB;YA2Cb,gBAAgB;CA0P/B"}
@@ -6,7 +6,7 @@ import chalk from 'chalk';
6
6
  import { spinner, confirm, isCancel } from '@clack/prompts';
7
7
  import { getDirectoryFiles, recordHistoryAction } from '../utils/config.js';
8
8
  import { safeNote, renderMarkdown } from '../utils/markdown.js';
9
- import { openai, callOpenAIWithRetry } from './llm.js';
9
+ import { openai, callOpenAIWithRetry, isQuotaExceededError } from './llm.js';
10
10
  import { checkFileSyntax, verifyAndSelfHealFiles, executeSmartCommand } from './verifier.js';
11
11
  const execAsync = promisify(exec);
12
12
  export const AGENT_TOOLS = [
@@ -31,6 +31,7 @@ export const AGENT_TOOLS = [
31
31
  properties: {
32
32
  path: { type: 'string', description: 'Relative path to the target file' },
33
33
  content: { type: 'string', description: 'Complete source code / content string' },
34
+ reason: { type: 'string', description: 'Clear explanation of why this file change is being made and how it fulfills the goal' },
34
35
  },
35
36
  required: ['path', 'content'],
36
37
  },
@@ -44,6 +45,7 @@ export const AGENT_TOOLS = [
44
45
  path: { type: 'string', description: 'Relative path to the target file' },
45
46
  target: { type: 'string', description: 'Exact string snippet to find in the file' },
46
47
  replacement: { type: 'string', description: 'New string snippet to replace target with' },
48
+ reason: { type: 'string', description: 'Clear explanation of why this edit is being made and how the fix/change works' },
47
49
  },
48
50
  required: ['path', 'target', 'replacement'],
49
51
  },
@@ -140,15 +142,21 @@ Workspace Overview (first 100 files):
140
142
  ${filesList.join('\n')}
141
143
 
142
144
  Core Directives & Behavioral Guidelines:
143
- 1. HIGH AGENCY & AUTONOMY: You act autonomously through step-by-step tool invocation to solve complex coding tasks, debug issues, build features, create projects, or answer architectural questions.
145
+ 1. HIGH AGENCY & AUTONOMY: You act autonomously through step-by-step tool invocation to solve complex coding tasks, debug issues, build features, create projects from scratch, or answer architectural questions.
144
146
  2. MULTILINGUAL & INTENT COMPREHENSION: Understand user intent in any language (English, Hinglish like "likho", "bnao", "code karo", "fix karo", "samjha do", Hindi, Spanish, etc.).
145
- 3. INSPECT BEFORE EDITING: Inspect workspace files with \`read_file\`, search code with \`grep_search\` and \`glob_search\`. Never guess code logic, variable names, or file paths without viewing authoritative source code first.
146
- 4. COMPLETE FILE CREATION & EDITING: Whenever asked to write, edit, create, implement, or fix code, YOU MUST CREATE / MODIFY ALL NECESSARY FILES required to completely fulfill the prompt (e.g. main source files, component files, styles, configs, tests, documentation). CALL \`write_file\` or \`edit_file\` for EVERY necessary file to save changes directly to disk in the workspace!
147
+ 3. AUTONOMOUS TARGET FILE DISCOVERY: You have full autonomy to locate, inspect, and modify target workspace files. When given a goal without an explicit file path, use auto-discovered target files, \`grep_search\`, or \`glob_search\` to locate relevant code before editing.
148
+ 4. COMPLETE FILE CREATION & EDITING: Whenever asked to write, edit, create, implement, or fix code, YOU MUST CREATE / MODIFY ALL NECESSARY FILES required to completely fulfill the prompt (e.g. main source files, component files, styles, configs, tests, documentation). CALL \`write_file\` or \`edit_file\` for EVERY necessary file to save changes directly to disk in the workspace! Always provide a clear \`reason\` argument for why the edit is made.
147
149
  5. RUN & VERIFY COMMANDS: Execute shell commands, tests, builds, and formatters using \`run_command\`. If a command or build fails, read the full error log, diagnose the root cause, and auto-fix the failing code immediately.
148
150
  6. NO CODE TRUNCATION OR PLACEHOLDERS: Maintain 100% code integrity. NEVER replace existing code or HTML tags with placeholder comments (e.g. \`<!-- remaining content -->\` or \`// TODO: rest of code\`) or stripped skeleton structures. Always output complete, functional code.
149
151
  7. REFORMATTING MINIFIED / LARGE FILES: When asked to format, beautify, or un-minify HTML, JS, CSS, or JSON files, DO NOT attempt to rewrite the file content manually using \`write_file\` or \`edit_file\` (which causes token truncation and content loss). ALWAYS use \`run_command\` to execute CLI formatters (e.g. \`npx prettier --write <file>\`, \`npx html-beautify -r <file>\`, \`npx js-beautify <file>\`, or run a quick Node script) to reformat files in-place on disk.
150
- 8. CRITICAL TERMINATION RULE: As soon as you have finished creating/modifying the necessary files, running verification checks, or answering the user request, YOU MUST CALL \`task_completed\` tool immediately with a clear summary of your work.
151
- 9. PRODUCTION-GRADE CODE QUALITY: Every line of code you write or edit MUST be clean, elegant, modular, production-ready, highly readable, self-documenting, formatted, and strictly typed.
152
+ 8. FROM-SCRATCH PROJECT CREATION & AUTOMATED TESTING PROTOCOL: When asked to build/create a project from scratch:
153
+ a. Scaffold Architecture: Create configuration/manifest files (\`package.json\`, \`tsconfig.json\`, \`pyproject.toml\`, etc.) and folder structure using \`write_file\` or \`run_command\`.
154
+ b. Write Source Implementation: Create all necessary source files with fully functional, complete, production-ready code (no skeleton placeholders or TODOs).
155
+ c. Write Automated Tests: Create comprehensive unit/integration test suite files (e.g. \`test/*.test.ts\`, \`tests/test_*.py\`, etc.).
156
+ d. Execute Tests & Build Verification: Run test suites and builds via \`run_command\` (e.g. \`npm test\`, \`npx vitest run\`, \`pytest\`, \`cargo test\`, \`go test ./...\`).
157
+ e. Self-Heal & Pass: If tests or builds fail, inspect output logs, edit files using \`edit_file\` or \`write_file\` to resolve errors, re-run tests until 100% passing, and only call \`task_completed\` when all checks pass cleanly.
158
+ 9. CRITICAL TERMINATION RULE: As soon as you have finished creating/modifying the necessary files, running verification checks, or answering the user request, YOU MUST CALL \`task_completed\` tool immediately with a clear summary of your work.
159
+ 10. PRODUCTION-GRADE CODE QUALITY: Every line of code you write or edit MUST be clean, elegant, modular, production-ready, highly readable, self-documenting, formatted, and strictly typed.
152
160
 
153
161
  When returning tool calls, use standard OpenAI function calling format or JSON tool call payload format:
154
162
  \`\`\`json
@@ -163,6 +171,83 @@ When returning tool calls, use standard OpenAI function calling format or JSON t
163
171
  if (this.historyMessages.length === 0) {
164
172
  this.historyMessages.push({ role: 'system', content: this.systemPrompt() });
165
173
  }
174
+ // Autonomous Target File Discovery: Find relevant workspace files matching terms in userGoal
175
+ const filesList = getDirectoryFiles(this.cwd);
176
+ const stopWords = new Set([
177
+ 'the', 'a', 'an', 'in', 'is', 'for', 'to', 'of', 'and', 'or', 'on', 'at', 'by', 'from',
178
+ 'with', 'this', 'that', 'it', 'code', 'file', 'files', 'fix', 'add', 'make', 'create',
179
+ 'update', 'change', 'modify', 'edit', 'write', 'implement', 'bro', 'please', 'scout',
180
+ 'agent', 'bug', 'error', 'issue', 'help', 'app', 'project', 'script', 'function'
181
+ ]);
182
+ const words = userGoal.split(/[\s,;:\/\\]+/).map((w) => w.replace(/["'(),;:!]/g, '').trim());
183
+ const matchedFiles = [];
184
+ // 1. Check direct path or filename matches
185
+ for (const word of words) {
186
+ if (word && word.includes('.') && !word.startsWith('.')) {
187
+ const fullP = path.resolve(this.cwd, word);
188
+ if (fs.existsSync(fullP) && fs.statSync(fullP).isFile()) {
189
+ const relP = path.relative(this.cwd, fullP).replace(/\\/g, '/');
190
+ if (!matchedFiles.includes(relP))
191
+ matchedFiles.push(relP);
192
+ }
193
+ }
194
+ }
195
+ // 2. If no direct path matched, search workspace file names and contents for keywords
196
+ if (matchedFiles.length === 0) {
197
+ const keywords = words.filter((w) => w.length >= 3 && !stopWords.has(w.toLowerCase()));
198
+ for (const f of filesList) {
199
+ if (matchedFiles.length >= 3)
200
+ break;
201
+ const normF = f.replace(/\\/g, '/').toLowerCase();
202
+ const baseName = path.basename(normF, path.extname(normF));
203
+ for (const kw of keywords) {
204
+ const kwLower = kw.toLowerCase();
205
+ if (baseName === kwLower || normF.includes('/' + kwLower)) {
206
+ if (!matchedFiles.includes(f))
207
+ matchedFiles.push(f);
208
+ break;
209
+ }
210
+ }
211
+ }
212
+ // Search file contents for keywords if no filename match
213
+ if (matchedFiles.length === 0 && keywords.length > 0) {
214
+ for (const f of filesList) {
215
+ if (matchedFiles.length >= 2)
216
+ break;
217
+ const fullP = path.resolve(this.cwd, f);
218
+ try {
219
+ const text = fs.readFileSync(fullP, 'utf-8');
220
+ for (const kw of keywords) {
221
+ if (text.toLowerCase().includes(kw.toLowerCase())) {
222
+ if (!matchedFiles.includes(f))
223
+ matchedFiles.push(f);
224
+ break;
225
+ }
226
+ }
227
+ }
228
+ catch { }
229
+ }
230
+ }
231
+ }
232
+ for (const file of matchedFiles.slice(0, 3)) {
233
+ const fullP = path.resolve(this.cwd, file);
234
+ if (fs.existsSync(fullP) && fs.statSync(fullP).isFile()) {
235
+ const analyzeSpin = spinner();
236
+ analyzeSpin.start(chalk.cyan(`🔍 Auto-discovered target file: ${file}. Analyzing...`));
237
+ try {
238
+ const content = fs.readFileSync(fullP, 'utf-8');
239
+ const lines = content.split('\n');
240
+ analyzeSpin.stop(chalk.green(`✓ Auto-discovered & analyzed ${file} (${lines.length} lines)`));
241
+ this.historyMessages.push({
242
+ role: 'system',
243
+ content: `Autonomous File Discovery & Analysis of "${file}" (${lines.length} lines):\n\`\`\`\n${lines.slice(0, 300).map((l, i) => `${i + 1} | ${l}`).join('\n')}\n\`\`\``,
244
+ });
245
+ }
246
+ catch {
247
+ analyzeSpin.stop(chalk.yellow(`Could not read file ${file}`));
248
+ }
249
+ }
250
+ }
166
251
  this.historyMessages.push({ role: 'user', content: userGoal });
167
252
  let step = 0;
168
253
  let finalSummary = '';
@@ -240,18 +325,24 @@ When returning tool calls, use standard OpenAI function calling format or JSON t
240
325
  if (textContent.trim()) {
241
326
  safeNote(renderMarkdown(textContent), `🤖 Scout Agent Thought (Step ${step})`);
242
327
  }
243
- // If assistant didn't call a tool in this step:
244
- const lowerText = textContent.toLowerCase();
245
- const promisesNextAction = lowerText.includes('next') || lowerText.includes('will create') || lowerText.includes('will write') || lowerText.includes('step');
246
- if (this.modifiedFiles.size > 0 || !promisesNextAction || step >= 2) {
247
- return { success: true, summary: textContent || `Successfully modified ${Array.from(this.modifiedFiles).join(', ')}` };
248
- }
328
+ // If assistant responded with text without calling tools, prompt it to execute tools to complete the goal
249
329
  this.historyMessages.push({
250
330
  role: 'user',
251
- content: 'Please proceed by invoking necessary tool calls (write_file, edit_file, run_command, task_completed) to fulfill the goal.',
331
+ content: 'You provided a text response but have not called any tools (write_file, edit_file, run_command, task_completed). Please execute necessary tool calls to complete the user goal, or invoke task_completed if finished.',
252
332
  });
253
333
  }
254
334
  catch (err) {
335
+ if (isQuotaExceededError(err)) {
336
+ stepSpinner.stop(chalk.red(`❌ API Quota Exceeded (Step ${step}).`));
337
+ safeNote(`${chalk.bold.red('❌ FrontTerrain API Quota Exceeded!')}\n\n` +
338
+ `${chalk.yellow('You have reached the API usage limit or rate cap for FrontTerrain AI service.')}\n\n` +
339
+ `${chalk.bold.cyan('⏳ Please come back and try again in a few hours (or check back later today).')}\n\n` +
340
+ `${chalk.dim('Scout Agent session has ended gracefully to protect remaining workflow.')}`, '⚠️ API Quota Limit Reached');
341
+ return {
342
+ success: false,
343
+ summary: 'FrontTerrain API Quota Exceeded. Please come back in a few hours.',
344
+ };
345
+ }
255
346
  stepSpinner.stop(chalk.red(`Step ${step} execution error: ${err?.message || String(err)}`));
256
347
  this.historyMessages.push({
257
348
  role: 'user',
@@ -313,14 +404,18 @@ When returning tool calls, use standard OpenAI function calling format or JSON t
313
404
  switch (name) {
314
405
  case 'read_file': {
315
406
  const targetPath = String(args.path || '').trim();
407
+ const readSpin = spinner();
408
+ readSpin.start(chalk.cyan(`🔍 Analyzing file ${targetPath}...`));
316
409
  const fullPath = path.isAbsolute(targetPath) ? targetPath : path.resolve(this.cwd, targetPath);
317
410
  if (!fs.existsSync(fullPath) || !fs.statSync(fullPath).isFile()) {
411
+ readSpin.stop(chalk.red(`Failed to analyze file ${targetPath}: File not found.`));
318
412
  return { result: `Error: File not found at path "${targetPath}"` };
319
413
  }
320
414
  const fileContent = fs.readFileSync(fullPath, 'utf-8');
321
415
  const lines = fileContent.split('\n');
322
416
  const start = Math.max(1, Number(args.startLine) || 1);
323
417
  const end = Math.min(lines.length, Number(args.endLine) || lines.length);
418
+ readSpin.stop(chalk.green(`✓ Analyzed file ${targetPath} (${lines.length} lines)`));
324
419
  const sliced = lines.slice(start - 1, end).map((l, i) => `${start + i} | ${l}`).join('\n');
325
420
  let minifiedNotice = '';
326
421
  if (lines.length <= 5 && fileContent.length > 500) {
@@ -331,11 +426,17 @@ When returning tool calls, use standard OpenAI function calling format or JSON t
331
426
  case 'write_file': {
332
427
  const targetPath = String(args.path || '').trim();
333
428
  let content = String(args.content || '');
429
+ const reason = String(args.reason || args.why || args.description || 'Created/updated file content to fulfill user prompt.');
334
430
  if (content.includes('\\n') && !content.includes('\n')) {
335
431
  content = content.replace(/\\n/g, '\n').replace(/\\t/g, '\t');
336
432
  }
337
433
  const fullPath = path.isAbsolute(targetPath) ? targetPath : path.resolve(this.cwd, targetPath);
434
+ const fileExists = fs.existsSync(fullPath);
435
+ const actionText = fileExists ? 'Editing file' : 'Creating file';
436
+ const writeSpin = spinner();
437
+ writeSpin.start(chalk.yellow(`✏️ ${actionText} ${targetPath}...`));
338
438
  if (!this.autoApprove && process.stdout.isTTY) {
439
+ writeSpin.stop();
339
440
  const ok = await confirm({
340
441
  message: chalk.yellow(`Allow Scout Agent to write file: ${chalk.bold.cyan(targetPath)}?`),
341
442
  initialValue: true,
@@ -343,10 +444,12 @@ When returning tool calls, use standard OpenAI function calling format or JSON t
343
444
  if (isCancel(ok) || !ok) {
344
445
  return { result: `User rejected write_file to "${targetPath}"` };
345
446
  }
447
+ writeSpin.start(chalk.yellow(`✏️ ${actionText} ${targetPath}...`));
346
448
  }
347
- if (fs.existsSync(fullPath)) {
348
- const orig = fs.readFileSync(fullPath, 'utf-8');
349
- this.backups.push({ filePath: targetPath, originalContent: orig });
449
+ let origContent = '__FT_WAS_NEW__';
450
+ if (fileExists) {
451
+ origContent = fs.readFileSync(fullPath, 'utf-8');
452
+ this.backups.push({ filePath: targetPath, originalContent: origContent });
350
453
  }
351
454
  else {
352
455
  this.backups.push({ filePath: targetPath, originalContent: '__FT_WAS_NEW__' });
@@ -354,18 +457,30 @@ When returning tool calls, use standard OpenAI function calling format or JSON t
354
457
  }
355
458
  fs.writeFileSync(fullPath, content, 'utf-8');
356
459
  this.modifiedFiles.add(targetPath);
460
+ const oldLineCount = origContent !== '__FT_WAS_NEW__' ? origContent.split('\n').length : 0;
461
+ const newLineCount = content.split('\n').length;
462
+ const numberOfLinesChanged = origContent === '__FT_WAS_NEW__' ? newLineCount : Math.abs(newLineCount - oldLineCount) || newLineCount;
463
+ writeSpin.stop(chalk.green(`✓ ${actionText} ${targetPath}`));
464
+ safeNote(` • File: ${chalk.bold.cyan(targetPath)}\n` +
465
+ ` • Changed: ${chalk.bold.yellow(numberOfLinesChanged + ' line(s)')}\n` +
466
+ ` • Why: ${reason}`, `📝 Changed ${numberOfLinesChanged} line(s) in ${targetPath}`);
467
+ const checkSpin = spinner();
468
+ checkSpin.start(chalk.cyan(`🔍 Checking for error: edited ${targetPath}...`));
357
469
  const syntaxCheck = await checkFileSyntax(targetPath, this.cwd);
358
470
  if (!syntaxCheck.valid) {
471
+ checkSpin.stop(chalk.red(`⚠️ Checking for error: edited ${targetPath} — Compiler/Syntax Error!`));
359
472
  return {
360
- result: `Successfully wrote ${content.length} characters to "${targetPath}".\n\n⚠️ AUTOMATED SYNTAX / COMPILER ERROR DETECTED IN "${targetPath}":\n${syntaxCheck.errors.join('\n')}\n\nPLEASE IMMEDIATELY FIX THIS SYNTAX ERROR IN YOUR NEXT TOOL CALL.`
473
+ result: `Successfully wrote ${content.length} characters (${numberOfLinesChanged} lines changed) to "${targetPath}".\n\n⚠️ AUTOMATED SYNTAX / COMPILER ERROR DETECTED IN "${targetPath}":\n${syntaxCheck.errors.join('\n')}\n\nPLEASE IMMEDIATELY FIX THIS SYNTAX ERROR IN YOUR NEXT TOOL CALL.`
361
474
  };
362
475
  }
363
- return { result: `Successfully wrote ${content.length} characters to "${targetPath}". Syntax check passed cleanly.` };
476
+ checkSpin.stop(chalk.green(`✓ Checking for error: edited ${targetPath} Syntax & build clean.`));
477
+ return { result: `Successfully wrote ${content.length} characters (${numberOfLinesChanged} lines changed) to "${targetPath}". Rationale: ${reason}. Syntax check passed cleanly.` };
364
478
  }
365
479
  case 'edit_file': {
366
480
  const targetPath = String(args.path || '').trim();
367
481
  let target = String(args.target || '');
368
482
  let replacement = String(args.replacement || '');
483
+ const reason = String(args.reason || args.why || args.description || 'Replaced target code snippet with updated implementation.');
369
484
  if (replacement.includes('\\n') && !replacement.includes('\n')) {
370
485
  replacement = replacement.replace(/\\n/g, '\n').replace(/\\t/g, '\t');
371
486
  }
@@ -373,14 +488,26 @@ When returning tool calls, use standard OpenAI function calling format or JSON t
373
488
  target = target.replace(/\\n/g, '\n').replace(/\\t/g, '\t');
374
489
  }
375
490
  const fullPath = path.isAbsolute(targetPath) ? targetPath : path.resolve(this.cwd, targetPath);
491
+ const editSpin = spinner();
492
+ editSpin.start(chalk.yellow(`✏️ Editing file ${targetPath}...`));
376
493
  if (!fs.existsSync(fullPath)) {
494
+ editSpin.stop(chalk.red(`Failed to edit file ${targetPath}: File does not exist.`));
377
495
  return { result: `Error: File "${targetPath}" does not exist.` };
378
496
  }
379
497
  const origContent = fs.readFileSync(fullPath, 'utf-8');
380
498
  if (!origContent.includes(target)) {
499
+ editSpin.stop(chalk.yellow(`Target snippet not found in ${targetPath}.`));
381
500
  return { result: `Error: Target snippet not found in "${targetPath}". Please re-read file content.` };
382
501
  }
502
+ const occurrences = origContent.split(target).length - 1;
503
+ if (occurrences > 1) {
504
+ editSpin.stop(chalk.yellow(`Ambiguous edit in ${targetPath}: target snippet occurs ${occurrences} times.`));
505
+ return {
506
+ result: `Error: Target snippet occurs ${occurrences} times in "${targetPath}". To avoid corrupting the file, please provide a larger unique block of surrounding code in "target".`
507
+ };
508
+ }
383
509
  if (!this.autoApprove && process.stdout.isTTY) {
510
+ editSpin.stop();
384
511
  const ok = await confirm({
385
512
  message: chalk.yellow(`Allow Scout Agent to edit snippet in file: ${chalk.bold.cyan(targetPath)}?`),
386
513
  initialValue: true,
@@ -388,21 +515,35 @@ When returning tool calls, use standard OpenAI function calling format or JSON t
388
515
  if (isCancel(ok) || !ok) {
389
516
  return { result: `User rejected edit_file to "${targetPath}"` };
390
517
  }
518
+ editSpin.start(chalk.yellow(`✏️ Editing file ${targetPath}...`));
391
519
  }
392
520
  this.backups.push({ filePath: targetPath, originalContent: origContent });
393
521
  const updated = origContent.replace(target, replacement);
394
522
  fs.writeFileSync(fullPath, updated, 'utf-8');
395
523
  this.modifiedFiles.add(targetPath);
524
+ const targetLines = target.split('\n').length;
525
+ const replacementLines = replacement.split('\n').length;
526
+ const numberOfLinesChanged = Math.max(targetLines, replacementLines);
527
+ editSpin.stop(chalk.green(`✓ Edited file ${targetPath}`));
528
+ safeNote(` • File: ${chalk.bold.cyan(targetPath)}\n` +
529
+ ` • Changed: ${chalk.bold.yellow(numberOfLinesChanged + ' line(s)')}\n` +
530
+ ` • Why: ${reason}`, `📝 Changed ${numberOfLinesChanged} line(s) in ${targetPath}`);
531
+ const checkSpin = spinner();
532
+ checkSpin.start(chalk.cyan(`🔍 Checking for error: edited ${targetPath}...`));
396
533
  const syntaxCheck = await checkFileSyntax(targetPath, this.cwd);
397
534
  if (!syntaxCheck.valid) {
535
+ checkSpin.stop(chalk.red(`⚠️ Checking for error: edited ${targetPath} — Compiler/Syntax Error!`));
398
536
  return {
399
- result: `Successfully replaced target snippet in "${targetPath}".\n\n⚠️ AUTOMATED SYNTAX / COMPILER ERROR DETECTED IN "${targetPath}":\n${syntaxCheck.errors.join('\n')}\n\nPLEASE IMMEDIATELY FIX THIS SYNTAX ERROR IN YOUR NEXT TOOL CALL.`
537
+ result: `Successfully replaced snippet (${numberOfLinesChanged} lines changed) in "${targetPath}".\n\n⚠️ AUTOMATED SYNTAX / COMPILER ERROR DETECTED IN "${targetPath}":\n${syntaxCheck.errors.join('\n')}\n\nPLEASE IMMEDIATELY FIX THIS SYNTAX ERROR IN YOUR NEXT TOOL CALL.`
400
538
  };
401
539
  }
402
- return { result: `Successfully replaced target snippet in "${targetPath}". Syntax check passed cleanly.` };
540
+ checkSpin.stop(chalk.green(`✓ Checking for error: edited ${targetPath} Syntax & build clean.`));
541
+ return { result: `Successfully replaced target snippet (${numberOfLinesChanged} lines changed) in "${targetPath}". Rationale: ${reason}. Syntax check passed cleanly.` };
403
542
  }
404
543
  case 'run_command': {
405
544
  const cmd = String(args.command || '').trim();
545
+ const isTestCmd = /\b(?:test|vitest|jest|pytest|mocha|jasmine|cargo test|go test)\b/i.test(cmd);
546
+ const actionLabel = isTestCmd ? `Running command for testing: \`${cmd}\`` : `Running command: \`${cmd}\``;
406
547
  if (!this.autoApprove && process.stdout.isTTY) {
407
548
  const ok = await confirm({
408
549
  message: chalk.yellow(`Allow Scout Agent to run shell command: ${chalk.bold.cyan(cmd)}?`),
@@ -413,20 +554,20 @@ When returning tool calls, use standard OpenAI function calling format or JSON t
413
554
  }
414
555
  }
415
556
  const runSpin = spinner();
416
- runSpin.start(chalk.dim(`Executing: \`${cmd}\`...`));
557
+ runSpin.start(chalk.cyan(`⚡ ${actionLabel}...`));
417
558
  const res = await executeSmartCommand(cmd, this.cwd, 3000);
418
559
  if (res.isBackgroundServer) {
419
- runSpin.stop(chalk.green(`Command \`${cmd}\` started in background (PID ${res.pid}).`));
560
+ runSpin.stop(chalk.green(`✓ ${actionLabel} started in background (PID ${res.pid}).`));
420
561
  return {
421
562
  result: `Command started and running in background (PID ${res.pid || 'active'}). Output:\n${res.output.slice(0, 8000)}\n\n[Process is running as background server. Scout Agent can proceed directly to next step.]`
422
563
  };
423
564
  }
424
565
  if (res.exitCode === 0) {
425
- runSpin.stop(chalk.green(`Command \`${cmd}\` executed successfully (Exit Code 0).`));
566
+ runSpin.stop(chalk.green(`✓ ${actionLabel} executed successfully (Exit Code 0).`));
426
567
  return { result: `Command Exit Code 0 Output:\n${res.output.slice(0, 8000)}` };
427
568
  }
428
569
  else {
429
- runSpin.stop(chalk.red(`Command \`${cmd}\` failed with code ${res.exitCode}.`));
570
+ runSpin.stop(chalk.red(`❌ ${actionLabel} failed with code ${res.exitCode}.`));
430
571
  return { result: `Command Exit Code ${res.exitCode} Error:\n${res.output.slice(0, 8000)}` };
431
572
  }
432
573
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agentEngine.js","sourceRoot":"","sources":["agentEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentEngine.js","sourceRoot":"","sources":["agentEngine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["git.ts"],"names":[],"mappings":"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"}