ft-scout 6.0.4 → 6.0.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 (91) hide show
  1. package/.firebase/hosting.d2Vi.cache +2 -2
  2. package/README.md +68 -44
  3. package/bin/ft.js +1 -1
  4. package/bin/src/commands/agent.d.ts.map +1 -1
  5. package/bin/src/commands/agent.js +264 -92
  6. package/bin/src/commands/agent.js.map +1 -1
  7. package/bin/src/commands/audit.js +1 -1
  8. package/bin/src/commands/audit.js.map +1 -1
  9. package/bin/src/commands/authCommand.js +4 -4
  10. package/bin/src/commands/authCommand.js.map +1 -1
  11. package/bin/src/commands/brief.js +4 -4
  12. package/bin/src/commands/brief.js.map +1 -1
  13. package/bin/src/commands/configCommand.d.ts.map +1 -1
  14. package/bin/src/commands/configCommand.js +7 -7
  15. package/bin/src/commands/configCommand.js.map +1 -1
  16. package/bin/src/commands/dashboard.js +4 -4
  17. package/bin/src/commands/dashboard.js.map +1 -1
  18. package/bin/src/commands/history.js +5 -5
  19. package/bin/src/commands/history.js.map +1 -1
  20. package/bin/src/commands/init.js +26 -26
  21. package/bin/src/commands/init.js.map +1 -1
  22. package/bin/src/commands/login.d.ts.map +1 -1
  23. package/bin/src/commands/login.js +21 -21
  24. package/bin/src/commands/login.js.map +1 -1
  25. package/bin/src/commands/logout.js +1 -1
  26. package/bin/src/commands/logout.js.map +1 -1
  27. package/bin/src/commands/owners.js +5 -5
  28. package/bin/src/commands/owners.js.map +1 -1
  29. package/bin/src/commands/quota.d.ts.map +1 -0
  30. package/bin/src/commands/quota.js +48 -0
  31. package/bin/src/commands/quota.js.map +1 -0
  32. package/bin/src/commands/recommend.js +1 -1
  33. package/bin/src/commands/recommend.js.map +1 -1
  34. package/bin/src/commands/risky.d.ts.map +1 -1
  35. package/bin/src/commands/risky.js +9 -9
  36. package/bin/src/commands/risky.js.map +1 -1
  37. package/bin/src/commands/setup.js +24 -24
  38. package/bin/src/commands/setup.js.map +1 -1
  39. package/bin/src/commands/signup.d.ts.map +1 -1
  40. package/bin/src/commands/signup.js +7 -7
  41. package/bin/src/commands/signup.js.map +1 -1
  42. package/bin/src/commands/undo.js +8 -8
  43. package/bin/src/commands/undo.js.map +1 -1
  44. package/bin/src/commands/web.js +8 -8
  45. package/bin/src/commands/web.js.map +1 -1
  46. package/bin/src/discovery/config.d.ts.map +1 -1
  47. package/bin/src/discovery/config.js.map +1 -1
  48. package/bin/src/discovery/display.js +1 -1
  49. package/bin/src/discovery/display.js.map +1 -1
  50. package/bin/src/discovery/messages.js.map +1 -1
  51. package/bin/src/discovery/signals.d.ts.map +1 -1
  52. package/bin/src/discovery/signals.js.map +1 -1
  53. package/bin/src/engine/agentEngine.d.ts.map +1 -1
  54. package/bin/src/engine/agentEngine.js +414 -77
  55. package/bin/src/engine/agentEngine.js.map +1 -1
  56. package/bin/src/engine/git.d.ts.map +1 -1
  57. package/bin/src/engine/git.js.map +1 -1
  58. package/bin/src/engine/llm.d.ts.map +1 -1
  59. package/bin/src/engine/llm.js +174 -78
  60. package/bin/src/engine/llm.js.map +1 -1
  61. package/bin/src/engine/verifier.d.ts.map +1 -1
  62. package/bin/src/engine/verifier.js +6 -6
  63. package/bin/src/engine/verifier.js.map +1 -1
  64. package/bin/src/engine/web.d.ts.map +1 -1
  65. package/bin/src/engine/web.js +1 -1
  66. package/bin/src/engine/web.js.map +1 -1
  67. package/bin/src/index.js +78 -68
  68. package/bin/src/index.js.map +1 -1
  69. package/bin/src/server/server.js.map +1 -1
  70. package/bin/src/utils/auth.d.ts.map +1 -1
  71. package/bin/src/utils/auth.js.map +1 -1
  72. package/bin/src/utils/branding.js +7 -7
  73. package/bin/src/utils/branding.js.map +1 -1
  74. package/bin/src/utils/config.d.ts.map +1 -1
  75. package/bin/src/utils/config.js.map +1 -1
  76. package/bin/src/utils/email.d.ts.map +1 -1
  77. package/bin/src/utils/email.js +42 -42
  78. package/bin/src/utils/email.js.map +1 -1
  79. package/bin/src/utils/firebaseAuth.d.ts.map +1 -1
  80. package/bin/src/utils/firebaseAuth.js.map +1 -1
  81. package/bin/src/utils/holoseneAuth.d.ts.map +1 -1
  82. package/bin/src/utils/holoseneAuth.js +22 -22
  83. package/bin/src/utils/holoseneAuth.js.map +1 -1
  84. package/bin/src/utils/language.d.ts.map +1 -1
  85. package/bin/src/utils/language.js.map +1 -1
  86. package/bin/src/utils/markdown.js +4 -4
  87. package/bin/src/utils/markdown.js.map +1 -1
  88. package/bin/src/utils/updateCheck.js +5 -5
  89. package/bin/src/utils/updateCheck.js.map +1 -1
  90. package/package.json +2 -2
  91. package/web/app.js +927 -927
@@ -1,26 +1,55 @@
1
+ import chalk from 'chalk';
1
2
  import OpenAI from 'openai';
2
3
  import dotenv from 'dotenv';
3
4
  import * as url from 'url';
4
5
  import path from 'path';
5
6
  import { getWebContext } from './web.js';
6
7
  import { getLanguageInstruction } from '../utils/language.js';
8
+ import { loadAuthConfig } from '../utils/auth.js';
7
9
  const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
8
10
  // Attempt to load .env from the root of the CLI installation or current working directory
9
11
  dotenv.config({ path: path.resolve(__dirname, '../../../.env'), quiet: true });
10
12
  dotenv.config({ quiet: true });
11
13
  const groqApiKey = process.env.GROQ_API_KEY;
12
14
  const openaiApiKey = process.env.OPENAI_API_KEY;
15
+ const authConfig = loadAuthConfig();
16
+ const byokApiKey = authConfig.byokEnabled ? authConfig.customApiKey?.trim() : undefined;
17
+ const byokProvider = authConfig.customLlmProvider?.trim().toLowerCase();
18
+ const byokDefaultBaseUrls = {
19
+ openai: 'https://api.openai.com/v1',
20
+ groq: 'https://api.groq.com/openai/v1',
21
+ gemini: 'https://generativelanguage.googleapis.com/v1beta/openai',
22
+ };
23
+ const byokBaseUrl = byokApiKey
24
+ ? authConfig.customBaseUrl?.trim() || byokDefaultBaseUrls[byokProvider || '']
25
+ : undefined;
26
+ const isByokConfigured = Boolean(byokApiKey && byokBaseUrl);
13
27
  export const openai = new OpenAI({
14
- apiKey: groqApiKey || openaiApiKey || 'proxy-managed-key',
15
- baseURL: groqApiKey ? 'https://api.groq.com/openai/v1' : 'https://frontterrain.com/api',
28
+ apiKey: isByokConfigured ? byokApiKey : groqApiKey || openaiApiKey || 'proxy-managed-key',
29
+ baseURL: isByokConfigured
30
+ ? byokBaseUrl
31
+ : groqApiKey
32
+ ? 'https://api.groq.com/openai/v1'
33
+ : 'https://frontterrain.com/api',
16
34
  });
17
- const MODEL_FALLBACKS = [
35
+ export const MODEL_FALLBACKS = [
18
36
  'openai/gpt-oss-120b',
37
+ 'llama-3.3-70b-versatile',
19
38
  'openai/gpt-oss-20b',
20
- 'qwen/qwen3.6-27b',
21
- 'groq/compound',
22
- 'groq/compound-mini',
39
+ 'llama-3.1-8b-instant',
40
+ 'deepseek-r1-distill-llama-70b',
41
+ 'mixtral-8x7b-32768',
23
42
  ];
43
+ let currentActiveModel = MODEL_FALLBACKS[0];
44
+ let lastFallbackInfo = null;
45
+ export function getActiveModelInfo() {
46
+ return {
47
+ primaryModel: MODEL_FALLBACKS[0],
48
+ currentActiveModel,
49
+ fallbackChain: [...MODEL_FALLBACKS],
50
+ lastFallbackInfo,
51
+ };
52
+ }
24
53
  // Models scheduled for decommission: map model id -> decommission date (YYYY-MM-DD)
25
54
  const DECOMMISSIONED_MODELS = {
26
55
  'llama3-8b-8192': '2024-12-31',
@@ -158,16 +187,50 @@ export function sanitizeMessages(messages) {
158
187
  content: 'Please proceed with executing necessary tools to complete the user goal, or invoke task_completed if finished.',
159
188
  });
160
189
  }
190
+ // 4. Prune large tool result contents if total message length is high (>18000 chars) to prevent 413 token limit errors
191
+ const totalLen = collapsed.reduce((acc, m) => acc + (typeof m.content === 'string' ? m.content.length : 0), 0);
192
+ if (totalLen > 18000) {
193
+ for (let i = 0; i < collapsed.length - 2; i++) {
194
+ const msg = collapsed[i];
195
+ if (msg.role === 'user' && typeof msg.content === 'string' && msg.content.includes('[Tool Execution Result')) {
196
+ if (msg.content.length > 800) {
197
+ msg.content = msg.content.slice(0, 800) + '\n...[Output truncated for token efficiency]...';
198
+ }
199
+ }
200
+ }
201
+ }
161
202
  return collapsed;
162
203
  }
204
+ const LLM_CONCURRENCY = Math.max(1, Number.parseInt(process.env.FT_LLM_CONCURRENCY || '1', 10) || 1);
205
+ let activeLlmRequests = 0;
206
+ const pendingLlmRequests = [];
207
+ async function withLlmConcurrency(fn) {
208
+ if (activeLlmRequests >= LLM_CONCURRENCY) {
209
+ await new Promise((resolve) => pendingLlmRequests.push(resolve));
210
+ }
211
+ activeLlmRequests++;
212
+ try {
213
+ return await fn();
214
+ }
215
+ finally {
216
+ activeLlmRequests--;
217
+ const next = pendingLlmRequests.shift();
218
+ if (next)
219
+ next();
220
+ }
221
+ }
163
222
  export async function callOpenAIWithRetry(fn, maxRetries = 3, initialDelayMs = 1000) {
223
+ return withLlmConcurrency(() => callOpenAIWithRetryUnqueued(fn, maxRetries, initialDelayMs));
224
+ }
225
+ async function callOpenAIWithRetryUnqueued(fn, maxRetries, initialDelayMs) {
164
226
  let lastError;
165
227
  const MODEL_REPLACEMENTS = {
166
228
  'llama3-8b-8192': 'openai/gpt-oss-120b',
167
229
  'llama3-70b-8192': 'openai/gpt-oss-120b',
168
230
  'gpt-oss-8b': 'openai/gpt-oss-20b',
169
231
  };
170
- for (const model of MODEL_FALLBACKS) {
232
+ for (let i = 0; i < MODEL_FALLBACKS.length; i++) {
233
+ const model = MODEL_FALLBACKS[i] || 'openai/gpt-oss-120b';
171
234
  let modelToUse = model;
172
235
  try {
173
236
  const info = getModelDecommissionInfo(model);
@@ -180,6 +243,23 @@ export async function callOpenAIWithRetry(fn, maxRetries = 3, initialDelayMs = 1
180
243
  catch {
181
244
  // proceed using the original model if any parsing error occurs
182
245
  }
246
+ if (i > 0 && lastError) {
247
+ const prevModel = currentActiveModel || 'openai/gpt-oss-120b';
248
+ currentActiveModel = modelToUse;
249
+ lastFallbackInfo = {
250
+ previousModel: prevModel,
251
+ fallbackModel: modelToUse,
252
+ reason: lastError?.message || 'Rate limit or service unavailable',
253
+ timestamp: new Date(),
254
+ };
255
+ console.log(`\n${chalk.bold.yellow('Fallback with:')} ${chalk.dim(prevModel)} failed (${lastError?.message || '429/Rate-limit'}).`);
256
+ console.log(` ${chalk.bold.cyan('↳ Routed To:')} ${chalk.bold.green(modelToUse)}\n`);
257
+ // Brief pause before trying fallback model to clear transient TPM/RPM spikes
258
+ await new Promise((resolve) => setTimeout(resolve, 1500));
259
+ }
260
+ else {
261
+ currentActiveModel = modelToUse;
262
+ }
183
263
  let attempt = 0;
184
264
  while (attempt <= maxRetries) {
185
265
  try {
@@ -189,7 +269,23 @@ export async function callOpenAIWithRetry(fn, maxRetries = 3, initialDelayMs = 1
189
269
  lastError = error;
190
270
  attempt++;
191
271
  const status = error?.status || error?.statusCode;
192
- const errorStr = String(error?.message || error?.error || error || '').toLowerCase();
272
+ const errorStr = String(error?.message || error?.error?.message || error?.error || error || '').toLowerCase();
273
+ const isHardQuota = errorStr.includes('insufficient_quota') ||
274
+ errorStr.includes('exceeded your current quota') ||
275
+ errorStr.includes('out of credits') ||
276
+ errorStr.includes('credit limit reached') ||
277
+ errorStr.includes('tokens per day') ||
278
+ errorStr.includes('(tpd)') ||
279
+ errorStr.includes('tpd: limit');
280
+ if (isHardQuota) {
281
+ throw error;
282
+ }
283
+ const isModelNotFound = status === 404 || errorStr.includes('404') || errorStr.includes('does not exist') || errorStr.includes('not have access');
284
+ const isUnsupportedTool = errorStr.includes('tool calling is not supported') || errorStr.includes('tool choice') || (status === 400 && errorStr.includes('tool'));
285
+ const isPayloadTooLarge = status === 413 || errorStr.includes('413') || errorStr.includes('request too large') || errorStr.includes('reduce your message size');
286
+ if (isModelNotFound || isUnsupportedTool || isPayloadTooLarge) {
287
+ break;
288
+ }
193
289
  const isRateLimit = status === 429 ||
194
290
  errorStr.includes('429') ||
195
291
  errorStr.includes('ratelimit') ||
@@ -231,13 +327,13 @@ function sanitizeRepoSummary(parsed, projectName, filesList) {
231
327
  const parts = line.split(':');
232
328
  if (parts.length > 1) {
233
329
  const val = parts.slice(1).join(':').trim();
234
- return val.length > 3 && !/^[,\s.⚡\-[\]:]*$/.test(val);
330
+ return val.length > 3 && !/^[,\s.\-[\]:]*$/.test(val);
235
331
  }
236
332
  return line.trim().length > 10;
237
333
  });
238
334
  summary = summaryLines.join('\n').trim();
239
335
  if (!summary || summary.length < 20) {
240
- summary = `- **Core Capability**: 🚀 ${projectName} repository analyzed for developer onboarding and codebase navigation.\n- **Architecture & Stack**: Multi-component application structure.\n- **Architectural Moat**: Automated code teardown and due-diligence mapping.`;
336
+ summary = `- **Core Capability**: ${projectName} repository analyzed for developer onboarding and codebase navigation.\n- **Architecture & Stack**: Multi-component application structure.\n- **Architectural Moat**: Automated code teardown and due-diligence mapping.`;
241
337
  }
242
338
  // Sanitize readOrder (remove incomplete items where description after -> is empty/commas)
243
339
  let readOrder = Array.isArray(parsed.readOrder)
@@ -248,7 +344,7 @@ function sanitizeRepoSummary(parsed, projectName, filesList) {
248
344
  const parts = r.split('->');
249
345
  if (parts.length > 1) {
250
346
  const desc = parts[1].trim();
251
- return desc.length > 3 && !/^[,\s.⚡\-[\]:]*$/.test(desc);
347
+ return desc.length > 3 && !/^[,\s.\-[\]:]*$/.test(desc);
252
348
  }
253
349
  return r.length > 8;
254
350
  })
@@ -274,32 +370,32 @@ function sanitizeRepoSummary(parsed, projectName, filesList) {
274
370
  const parts = p.split(':');
275
371
  if (parts.length > 1) {
276
372
  const desc = parts.slice(1).join(':').trim();
277
- return desc.length > 3 && !/^[,\s.⚡\-[\]:]*$/.test(desc);
373
+ return desc.length > 3 && !/^[,\s.\-[\]:]*$/.test(desc);
278
374
  }
279
375
  return p.length > 10;
280
376
  })
281
377
  : [];
282
378
  if (painPoints.length === 0) {
283
379
  painPoints = [
284
- `⚡ [Subsystem Risk]: Verify environment variable configurations and API credentials for ${projectName}.`,
285
- `⚡ [Scaling Bottleneck]: Ensure core services in ${projectName} handle high load and concurrency.`,
286
- `⚡ [Execution Requirement]: Validate local setup and build dependencies prior to deployment.`
380
+ ` [Subsystem Risk]: Verify environment variable configurations and API credentials for ${projectName}.`,
381
+ ` [Scaling Bottleneck]: Ensure core services in ${projectName} handle high load and concurrency.`,
382
+ ` [Execution Requirement]: Validate local setup and build dependencies prior to deployment.`
287
383
  ];
288
384
  }
289
385
  let architectureDiagram = typeof parsed.architectureDiagram === 'string' && parsed.architectureDiagram.trim().length > 10
290
386
  ? parsed.architectureDiagram.trim()
291
387
  : `┌───────────────────────┐
292
- │ Client / User │
388
+ │ Client / User │
293
389
  └───────────┬───────────┘
294
- │
295
- ▼
390
+ │
391
+
296
392
  ┌───────────────────────┐
297
393
  │ ${projectName.padEnd(21).substring(0, 21)} │
298
394
  └───────────┬───────────┘
299
- │
300
- ▼
395
+ │
396
+
301
397
  ┌───────────────────────┐
302
- │ Data & Services │
398
+ │ Data & Services │
303
399
  └───────────────────────┘`;
304
400
  return { summary, entryPoint, readOrder, painPoints, architectureDiagram };
305
401
  }
@@ -324,23 +420,23 @@ You MUST write complete, deep, rich technical sentences in ${langInfo.displayNam
324
420
  Keep the bold bullet header titles exact in English (e.g. "- **Core Capability**:", "- **Architecture & Stack**:", "- **Architectural Moat**:") and write the descriptive explanation after the colon in ${langInfo.displayName}.
325
421
  Do NOT leave any empty strings, isolated commas, or blank placeholders after colons or arrows (e.g. do NOT output ", ," or "file.js -> ").
326
422
  Every read order item MUST be formatted as: "filepath -> Detailed explanation in ${langInfo.displayName}".
327
- Every pain point item MUST be formatted as: "⚡ [Category]: Detailed technical risk analysis in ${langInfo.displayName}".
423
+ Every pain point item MUST be formatted as: " [Category]: Detailed technical risk analysis in ${langInfo.displayName}".
328
424
 
329
425
  Provide a JSON output matching this exact schema:
330
426
  {
331
- "summary": "- **Core Capability**: A punchy 1-2 sentence description of what the project does written in ${langInfo.displayName}.\n- **Architecture & Stack**: Tech stack & core design pattern written in ${langInfo.displayName}.\n- **Architectural Moat**: Unique engineering advantage or value prop written in ${langInfo.displayName}.",
332
- "entryPoint": "the exact relative path to the primary execution entry point file",
333
- "readOrder": [
334
- "file/path/1 -> Strategic reason written in ${langInfo.displayName} detailing why this file is foundational to the architecture",
335
- "file/path/2 -> Technical justification written in ${langInfo.displayName} for reading this subsystem next",
336
- "file/path/3 -> Crucial module written in ${langInfo.displayName} detailing core business logic or pipeline routing"
337
- ],
338
- "painPoints": [
339
- "⚡ [Subsystem Risk]: Deep technical insight written in ${langInfo.displayName} into potential architectural debt, fragile dependency, or scaling bottleneck",
340
- "⚡ [Scaling Bottleneck]: Critical operational or state management risk written in ${langInfo.displayName} engineers must watch out for",
341
- "⚡ [Execution Note]: Key architectural constraint or environment requirement written in ${langInfo.displayName} for developer onboarding"
342
- ],
343
- "architectureDiagram": "A clean 4-8 line ASCII box diagram representing the subsystem flow (e.g. [Client] --> [API Router] --> [Service Layer] --> [Database])"
427
+ "summary": "- **Core Capability**: A punchy 1-2 sentence description of what the project does written in ${langInfo.displayName}.\n- **Architecture & Stack**: Tech stack & core design pattern written in ${langInfo.displayName}.\n- **Architectural Moat**: Unique engineering advantage or value prop written in ${langInfo.displayName}.",
428
+ "entryPoint": "the exact relative path to the primary execution entry point file",
429
+ "readOrder": [
430
+ "file/path/1 -> Strategic reason written in ${langInfo.displayName} detailing why this file is foundational to the architecture",
431
+ "file/path/2 -> Technical justification written in ${langInfo.displayName} for reading this subsystem next",
432
+ "file/path/3 -> Crucial module written in ${langInfo.displayName} detailing core business logic or pipeline routing"
433
+ ],
434
+ "painPoints": [
435
+ " [Subsystem Risk]: Deep technical insight written in ${langInfo.displayName} into potential architectural debt, fragile dependency, or scaling bottleneck",
436
+ " [Scaling Bottleneck]: Critical operational or state management risk written in ${langInfo.displayName} engineers must watch out for",
437
+ " [Execution Note]: Key architectural constraint or environment requirement written in ${langInfo.displayName} for developer onboarding"
438
+ ],
439
+ "architectureDiagram": "A clean 4-8 line ASCII box diagram representing the subsystem flow (e.g. [Client] --> [API Router] --> [Service Layer] --> [Database])"
344
440
  }
345
441
  `;
346
442
  try {
@@ -371,9 +467,9 @@ Output Language: ${langInfo.displayName}
371
467
  Language Instruction: ${langInfo.instruction}
372
468
 
373
469
  Your Goal: Provide a deep technical explanation of:
374
- 1. 🔥 Why these specific line ranges/hotspots are repeatedly failing or requiring emergency patches.
375
- 2. ⚠️ What architectural debt or design pattern flaws are creating this fragility.
376
- 3. 🛠️ Step-by-step actionable recommendations for refactoring and stabilizing this file.
470
+ 1. Why these specific line ranges/hotspots are repeatedly failing or requiring emergency patches.
471
+ 2. ️ What architectural debt or design pattern flaws are creating this fragility.
472
+ 3. ️ Step-by-step actionable recommendations for refactoring and stabilizing this file.
377
473
 
378
474
  Format the output in clean, elegant Markdown.
379
475
  `;
@@ -385,7 +481,7 @@ Format the output in clean, elegant Markdown.
385
481
  return response.choices[0]?.message?.content || 'Unable to generate risk explanation for this file.';
386
482
  }
387
483
  catch (error) {
388
- return `⚠️ Risk Analysis Fallback: File ${file} shows ${commitMsgs.length} recent hotfixes in lines ${lineRanges.join(', ')}. Common root causes include tight coupling, missing unit tests, or unhandled edge cases in execution logic.`;
484
+ return `️ Risk Analysis Fallback: File ${file} shows ${commitMsgs.length} recent hotfixes in lines ${lineRanges.join(', ')}. Common root causes include tight coupling, missing unit tests, or unhandled edge cases in execution logic.`;
389
485
  }
390
486
  }
391
487
  export async function askRepoQuestion(question, projectName, filesList, manifestContent, chatHistory = [], options) {
@@ -407,7 +503,7 @@ export async function askRepoQuestion(question, projectName, filesList, manifest
407
503
  const langInfo = getLanguageInstruction(options?.language, options?.native);
408
504
  const systemPrompt = `You are FrontTerrain AI, a world-class Principal Software Architect and Y Combinator Technical Co-Pilot.
409
505
  You have indexed the codebase for project: "${projectName}".
410
- ${isWebQuery ? '🌐 Internet Access: ACTIVE. You have live web search capabilities enabled.' : ''}
506
+ ${isWebQuery ? ' Internet Access: ACTIVE. You have live web search capabilities enabled.' : ''}
411
507
 
412
508
  Repository File Structure:
413
509
  ${filesList.slice(0, 150).join('\n')}
@@ -442,7 +538,7 @@ CRITICAL CLI FORMATTING INSTRUCTIONS:
442
538
  }
443
539
  catch (error) {
444
540
  console.error("OpenAI Error:", error);
445
- return `⚠️ AI Error: Could not generate answer (${error instanceof Error ? error.message : String(error)}). Please check network or proxy credentials.`;
541
+ return `️ AI Error: Could not generate answer (${error instanceof Error ? error.message : String(error)}). Please check network or proxy credentials.`;
446
542
  }
447
543
  }
448
544
  export async function generateCodeScanReport(projectName, filesList, codeSample, language, native) {
@@ -460,13 +556,13 @@ Language requirement: Write descriptions in ${langInfo.displayName}.
460
556
  Identify 3 potential bugs, unhandled null pointers, fragile error handlers, or performance risks in this repository.
461
557
  Return a valid JSON array matching this exact schema:
462
558
  [
463
- {
464
- "id": 1,
465
- "title": "Short title of the bug or issue",
466
- "file": "relative/file/path.ts",
467
- "severity": "high",
468
- "description": "Detailed explanation of why this is a bug or fragile pattern, matching patterns from past hotfixes."
469
- }
559
+ {
560
+ "id": 1,
561
+ "title": "Short title of the bug or issue",
562
+ "file": "relative/file/path.ts",
563
+ "severity": "high",
564
+ "description": "Detailed explanation of why this is a bug or fragile pattern, matching patterns from past hotfixes."
565
+ }
470
566
  ]
471
567
  `;
472
568
  try {
@@ -544,9 +640,9 @@ ${codeSample.slice(0, 2000)}
544
640
  Language requirement: ${langInfo.instruction} Write all headers and explanations in ${langInfo.displayName}.
545
641
 
546
642
  Structure your response into 3 sections:
547
- 1. ### 🏗️ Architectural Enhancements
548
- 2. ### ⚡ Performance & Caching Optimizations
549
- 3. ### 🧮 Algorithmic & DSA Recommendations
643
+ 1. ### ️ Architectural Enhancements
644
+ 2. ### Performance & Caching Optimizations
645
+ 3. ### Algorithmic & DSA Recommendations
550
646
 
551
647
  Provide concrete, actionable technical recommendations with exact file names and code pattern suggestions.
552
648
  `;
@@ -558,7 +654,7 @@ Provide concrete, actionable technical recommendations with exact file names and
558
654
  return response.choices[0]?.message?.content || 'No recommendations generated.';
559
655
  }
560
656
  catch (error) {
561
- return `⚠️ Could not generate recommendations: ${error instanceof Error ? error.message : String(error)}`;
657
+ return `️ Could not generate recommendations: ${error instanceof Error ? error.message : String(error)}`;
562
658
  }
563
659
  }
564
660
  export async function generateFeaturePlan(idea, projectName, filesList, language, native) {
@@ -571,10 +667,10 @@ ${filesList.slice(0, 120).join('\n')}
571
667
  Language requirement: ${langInfo.instruction} Write all explanations in ${langInfo.displayName}.
572
668
 
573
669
  Produce a comprehensive Feasibility Assessment & Step-by-Step Implementation Roadmap:
574
- 1. ### 📊 Feasibility & Complexity Assessment
575
- 2. ### 🎯 Target Files & Affected Subsystems
576
- 3. ### 🛠️ Step-by-Step Implementation Plan
577
- 4. ### ⚠️ Architectural Risks & Considerations
670
+ 1. ### Feasibility & Complexity Assessment
671
+ 2. ### Target Files & Affected Subsystems
672
+ 3. ### ️ Step-by-Step Implementation Plan
673
+ 4. ### ️ Architectural Risks & Considerations
578
674
  `;
579
675
  try {
580
676
  const response = await callOpenAIWithRetry((model) => openai.chat.completions.create({
@@ -584,7 +680,7 @@ Produce a comprehensive Feasibility Assessment & Step-by-Step Implementation Roa
584
680
  return response.choices[0]?.message?.content || 'No feature plan generated.';
585
681
  }
586
682
  catch (error) {
587
- return `⚠️ Feasibility analysis error: ${error instanceof Error ? error.message : String(error)}`;
683
+ return `️ Feasibility analysis error: ${error instanceof Error ? error.message : String(error)}`;
588
684
  }
589
685
  }
590
686
  export function cleanAndParseJsonPayload(rawContent) {
@@ -672,10 +768,10 @@ Your mission:
672
768
 
673
769
  Return ONLY a JSON object matching this exact schema:
674
770
  {
675
- "targetFile": "${targetFile}",
676
- "problem": "Clear technical breakdown of what the problem/bug was before fixing, written in ${langInfo.displayName}",
677
- "howFixed": "Technical explanation of how Scout fixed the issue written in ${langInfo.displayName}",
678
- "fixedCode": "the complete updated source code string for ${targetFile}"
771
+ "targetFile": "${targetFile}",
772
+ "problem": "Clear technical breakdown of what the problem/bug was before fixing, written in ${langInfo.displayName}",
773
+ "howFixed": "Technical explanation of how Scout fixed the issue written in ${langInfo.displayName}",
774
+ "fixedCode": "the complete updated source code string for ${targetFile}"
679
775
  }
680
776
  `;
681
777
  try {
@@ -767,7 +863,7 @@ Based on the user request, identify which specific file path(s) from the file tr
767
863
  Select ONLY the file(s) that strictly need modifications to fulfill the request. Unless the request explicitly asks to modify all files, prefer selecting only the single file or minimal set of files directly relevant.
768
864
  Return ONLY a JSON object matching this exact schema:
769
865
  {
770
- "targetFiles": ["relative/file/path1.ts", "relative/file/path2.html"]
866
+ "targetFiles": ["relative/file/path1.ts", "relative/file/path2.html"]
771
867
  }
772
868
  `;
773
869
  try {
@@ -831,14 +927,14 @@ Your mission:
831
927
  2. Provide updated, complete production-ready code for EACH target file according to the user request. Do NOT omit existing logic unless refactoring or fulfilling the prompt.
832
928
  3. Return a JSON object matching this exact schema:
833
929
  {
834
- "problem": "Clear technical breakdown of what the issue was across these files written in ${langInfo.displayName}",
835
- "howFixed": "Technical explanation of how Scout fixed all target files written in ${langInfo.displayName}",
836
- "files": [
837
- {
838
- "targetFile": "relative/file/path",
839
- "fixedCode": "complete updated source code string for this file"
840
- }
841
- ]
930
+ "problem": "Clear technical breakdown of what the issue was across these files written in ${langInfo.displayName}",
931
+ "howFixed": "Technical explanation of how Scout fixed all target files written in ${langInfo.displayName}",
932
+ "files": [
933
+ {
934
+ "targetFile": "relative/file/path",
935
+ "fixedCode": "complete updated source code string for this file"
936
+ }
937
+ ]
842
938
  }
843
939
  `;
844
940
  try {
@@ -929,9 +1025,9 @@ Your mission:
929
1025
 
930
1026
  Return ONLY a JSON object matching this exact schema:
931
1027
  {
932
- "targetFile": "${filePath}",
933
- "description": "Clear description of the generated code and its capabilities written in ${langInfo.displayName}",
934
- "code": "complete source code string for ${filePath}"
1028
+ "targetFile": "${filePath}",
1029
+ "description": "Clear description of the generated code and its capabilities written in ${langInfo.displayName}",
1030
+ "code": "complete source code string for ${filePath}"
935
1031
  }
936
1032
  `;
937
1033
  try {
@@ -1027,11 +1123,11 @@ Diagnose why the command failed and identify which source file in the project li
1027
1123
 
1028
1124
  Return ONLY a JSON object matching this exact schema:
1029
1125
  {
1030
- "command": "${command}",
1031
- "exitCode": ${exitCode},
1032
- "rootCause": "Clear explanation of why the command failed written in ${langInfo.displayName}",
1033
- "suggestedFix": "Concrete suggestion on how to resolve the failure written in ${langInfo.displayName}",
1034
- "targetFileToFix": "relative path to the source file that caused the failure, or empty string if unknown"
1126
+ "command": "${command}",
1127
+ "exitCode": ${exitCode},
1128
+ "rootCause": "Clear explanation of why the command failed written in ${langInfo.displayName}",
1129
+ "suggestedFix": "Concrete suggestion on how to resolve the failure written in ${langInfo.displayName}",
1130
+ "targetFileToFix": "relative path to the source file that caused the failure, or empty string if unknown"
1035
1131
  }
1036
1132
  `;
1037
1133
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"llm.js","sourceRoot":"","sources":["llm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm.js","sourceRoot":"","sources":["llm.ts"],"names":[],"mappings":"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"}