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.
- package/.firebase/hosting.d2Vi.cache +2 -2
- package/README.md +68 -44
- package/bin/ft.js +1 -1
- package/bin/src/commands/agent.d.ts.map +1 -1
- package/bin/src/commands/agent.js +264 -92
- package/bin/src/commands/agent.js.map +1 -1
- package/bin/src/commands/audit.js +1 -1
- package/bin/src/commands/audit.js.map +1 -1
- package/bin/src/commands/authCommand.js +4 -4
- package/bin/src/commands/authCommand.js.map +1 -1
- package/bin/src/commands/brief.js +4 -4
- package/bin/src/commands/brief.js.map +1 -1
- package/bin/src/commands/configCommand.d.ts.map +1 -1
- package/bin/src/commands/configCommand.js +7 -7
- package/bin/src/commands/configCommand.js.map +1 -1
- package/bin/src/commands/dashboard.js +4 -4
- package/bin/src/commands/dashboard.js.map +1 -1
- package/bin/src/commands/history.js +5 -5
- package/bin/src/commands/history.js.map +1 -1
- package/bin/src/commands/init.js +26 -26
- package/bin/src/commands/init.js.map +1 -1
- package/bin/src/commands/login.d.ts.map +1 -1
- package/bin/src/commands/login.js +21 -21
- package/bin/src/commands/login.js.map +1 -1
- package/bin/src/commands/logout.js +1 -1
- package/bin/src/commands/logout.js.map +1 -1
- package/bin/src/commands/owners.js +5 -5
- package/bin/src/commands/owners.js.map +1 -1
- package/bin/src/commands/quota.d.ts.map +1 -0
- package/bin/src/commands/quota.js +48 -0
- package/bin/src/commands/quota.js.map +1 -0
- package/bin/src/commands/recommend.js +1 -1
- package/bin/src/commands/recommend.js.map +1 -1
- package/bin/src/commands/risky.d.ts.map +1 -1
- package/bin/src/commands/risky.js +9 -9
- package/bin/src/commands/risky.js.map +1 -1
- package/bin/src/commands/setup.js +24 -24
- package/bin/src/commands/setup.js.map +1 -1
- package/bin/src/commands/signup.d.ts.map +1 -1
- package/bin/src/commands/signup.js +7 -7
- package/bin/src/commands/signup.js.map +1 -1
- package/bin/src/commands/undo.js +8 -8
- package/bin/src/commands/undo.js.map +1 -1
- package/bin/src/commands/web.js +8 -8
- package/bin/src/commands/web.js.map +1 -1
- package/bin/src/discovery/config.d.ts.map +1 -1
- package/bin/src/discovery/config.js.map +1 -1
- package/bin/src/discovery/display.js +1 -1
- package/bin/src/discovery/display.js.map +1 -1
- package/bin/src/discovery/messages.js.map +1 -1
- package/bin/src/discovery/signals.d.ts.map +1 -1
- package/bin/src/discovery/signals.js.map +1 -1
- package/bin/src/engine/agentEngine.d.ts.map +1 -1
- package/bin/src/engine/agentEngine.js +414 -77
- package/bin/src/engine/agentEngine.js.map +1 -1
- package/bin/src/engine/git.d.ts.map +1 -1
- package/bin/src/engine/git.js.map +1 -1
- package/bin/src/engine/llm.d.ts.map +1 -1
- package/bin/src/engine/llm.js +174 -78
- package/bin/src/engine/llm.js.map +1 -1
- package/bin/src/engine/verifier.d.ts.map +1 -1
- package/bin/src/engine/verifier.js +6 -6
- package/bin/src/engine/verifier.js.map +1 -1
- package/bin/src/engine/web.d.ts.map +1 -1
- package/bin/src/engine/web.js +1 -1
- package/bin/src/engine/web.js.map +1 -1
- package/bin/src/index.js +78 -68
- package/bin/src/index.js.map +1 -1
- package/bin/src/server/server.js.map +1 -1
- package/bin/src/utils/auth.d.ts.map +1 -1
- package/bin/src/utils/auth.js.map +1 -1
- package/bin/src/utils/branding.js +7 -7
- package/bin/src/utils/branding.js.map +1 -1
- package/bin/src/utils/config.d.ts.map +1 -1
- package/bin/src/utils/config.js.map +1 -1
- package/bin/src/utils/email.d.ts.map +1 -1
- package/bin/src/utils/email.js +42 -42
- package/bin/src/utils/email.js.map +1 -1
- package/bin/src/utils/firebaseAuth.d.ts.map +1 -1
- package/bin/src/utils/firebaseAuth.js.map +1 -1
- package/bin/src/utils/holoseneAuth.d.ts.map +1 -1
- package/bin/src/utils/holoseneAuth.js +22 -22
- package/bin/src/utils/holoseneAuth.js.map +1 -1
- package/bin/src/utils/language.d.ts.map +1 -1
- package/bin/src/utils/language.js.map +1 -1
- package/bin/src/utils/markdown.js +4 -4
- package/bin/src/utils/markdown.js.map +1 -1
- package/bin/src/utils/updateCheck.js +5 -5
- package/bin/src/utils/updateCheck.js.map +1 -1
- package/package.json +2 -2
- package/web/app.js +927 -927
package/bin/src/engine/llm.js
CHANGED
|
@@ -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:
|
|
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
|
-
'
|
|
21
|
-
'
|
|
22
|
-
'
|
|
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 (
|
|
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
|
|
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**:
|
|
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
|
|
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
|
|
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
|
-
|
|
285
|
-
|
|
286
|
-
|
|
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
|
-
│
|
|
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
|
-
│
|
|
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: "
|
|
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
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
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.
|
|
375
|
-
2.
|
|
376
|
-
3.
|
|
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
|
|
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 ? '
|
|
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
|
|
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
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
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. ###
|
|
548
|
-
2. ###
|
|
549
|
-
3. ###
|
|
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
|
|
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. ###
|
|
575
|
-
2. ###
|
|
576
|
-
3. ###
|
|
577
|
-
4. ###
|
|
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
|
|
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
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
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
|
-
|
|
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
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
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
|
-
|
|
933
|
-
|
|
934
|
-
|
|
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
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
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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"}
|