wiggum-cli 0.7.5 → 0.7.6
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/dist/ai/conversation/spec-generator.d.ts +11 -1
- package/dist/ai/conversation/spec-generator.d.ts.map +1 -1
- package/dist/ai/conversation/spec-generator.js +73 -8
- package/dist/ai/conversation/spec-generator.js.map +1 -1
- package/dist/commands/new.d.ts.map +1 -1
- package/dist/commands/new.js +3 -0
- package/dist/commands/new.js.map +1 -1
- package/package.json +1 -1
- package/src/ai/conversation/spec-generator.ts +86 -10
- package/src/commands/new.ts +4 -0
|
@@ -65,9 +65,19 @@ export declare class SpecGenerator {
|
|
|
65
65
|
*/
|
|
66
66
|
private gatherContext;
|
|
67
67
|
/**
|
|
68
|
-
* Phase 2: Discuss goals
|
|
68
|
+
* Phase 2: Discuss goals - collect user goals
|
|
69
69
|
*/
|
|
70
70
|
private discussGoals;
|
|
71
|
+
/**
|
|
72
|
+
* Phase 2a: Explore project silently
|
|
73
|
+
* AI explores the codebase WITHOUT asking questions - just gathering context
|
|
74
|
+
*/
|
|
75
|
+
private exploreProject;
|
|
76
|
+
/**
|
|
77
|
+
* Phase 2b: Start interview - acknowledge goals and ask FIRST question
|
|
78
|
+
* This is a SEPARATE AI turn from exploration to prevent "two answers" bug
|
|
79
|
+
*/
|
|
80
|
+
private startInterview;
|
|
71
81
|
/**
|
|
72
82
|
* Phase 3: Conduct interview
|
|
73
83
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-generator.d.ts","sourceRoot":"","sources":["../../../src/ai/conversation/spec-generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"spec-generator.d.ts","sourceRoot":"","sources":["../../../src/ai/conversation/spec-generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAiBzD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3D,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,UAAU,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,sCAAsC;IACtC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,KAAK,cAAc,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,YAAY,GAAG,UAAU,CAAC;AAqOpF;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4D;IACrF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;gBAErC,OAAO,EAAE,oBAAoB;IA0DzC;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;OAEG;YACW,aAAa;IAmC3B;;OAEG;YACW,YAAY;IA+B1B;;;OAGG;YACW,cAAc;IAiB5B;;;OAGG;YACW,cAAc;IAgB5B;;OAEG;YACW,gBAAgB;IAyC9B;;OAEG;YACW,aAAa;IA8B3B;;OAEG;YACW,YAAY;IAuB1B;;;OAGG;IACG,GAAG,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAkCnC;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;OAEG;IACH,QAAQ,IAAI,cAAc;CAG3B"}
|
|
@@ -14,6 +14,8 @@ import { simpson } from '../../utils/colors.js';
|
|
|
14
14
|
import { displayPhaseHeader, displayToolUse, displaySessionContext, displayGarbledInputWarning, } from '../../utils/tui.js';
|
|
15
15
|
/** Maximum number of interview questions before auto-completing */
|
|
16
16
|
const MAX_INTERVIEW_QUESTIONS = 10;
|
|
17
|
+
/** Minimum number of questions before AI can indicate "enough information" */
|
|
18
|
+
const MIN_INTERVIEW_QUESTIONS = 2;
|
|
17
19
|
/**
|
|
18
20
|
* Prompt for user input
|
|
19
21
|
*/
|
|
@@ -105,6 +107,26 @@ USE THESE TOOLS PROACTIVELY:
|
|
|
105
107
|
- When discussing best practices, search the web for current recommendations
|
|
106
108
|
- Don't ask the user to paste code - read it yourself`);
|
|
107
109
|
}
|
|
110
|
+
// Add emphatic web search guidance when Tavily is available (Task 4)
|
|
111
|
+
if (hasTools.tavily) {
|
|
112
|
+
parts.push(`
|
|
113
|
+
## IMPORTANT: Web Search Available
|
|
114
|
+
You have tavily_search to look up current best practices and documentation.
|
|
115
|
+
|
|
116
|
+
WHEN YOU MUST USE WEB SEARCH:
|
|
117
|
+
- User mentions a library, framework, or API you should verify
|
|
118
|
+
- User asks about "best practices" or "how to" patterns
|
|
119
|
+
- You need current (2026+) information not in your training data
|
|
120
|
+
- Discussing implementation approaches for modern libraries
|
|
121
|
+
|
|
122
|
+
EXAMPLE SEARCHES:
|
|
123
|
+
- tavily_search({ query: "React Server Components authentication patterns", timeRange: "year" })
|
|
124
|
+
- tavily_search({ query: "Next.js 14 app router middleware", timeRange: "year" })
|
|
125
|
+
- tavily_search({ query: "TypeScript strict mode best practices", timeRange: "year" })
|
|
126
|
+
|
|
127
|
+
DO NOT skip web search when the user discusses implementation approaches or mentions specific libraries.
|
|
128
|
+
Use timeRange: "year" to get recent results.`);
|
|
129
|
+
}
|
|
108
130
|
}
|
|
109
131
|
// Add project context from /init
|
|
110
132
|
if (sessionContext) {
|
|
@@ -257,10 +279,11 @@ export class SpecGenerator {
|
|
|
257
279
|
* Display the current phase header
|
|
258
280
|
*/
|
|
259
281
|
displayHeader() {
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
max: MAX_INTERVIEW_QUESTIONS
|
|
263
|
-
|
|
282
|
+
// Only show question count during interview phase (Task 5 fix)
|
|
283
|
+
const questionCount = this.phase === 'interview'
|
|
284
|
+
? { current: this.questionCount, max: MAX_INTERVIEW_QUESTIONS }
|
|
285
|
+
: undefined;
|
|
286
|
+
displayPhaseHeader(this.featureName, this.phase, questionCount);
|
|
264
287
|
}
|
|
265
288
|
/**
|
|
266
289
|
* Display session context at start
|
|
@@ -295,13 +318,19 @@ export class SpecGenerator {
|
|
|
295
318
|
}
|
|
296
319
|
else {
|
|
297
320
|
this.conversation.addReference(result.content, result.source);
|
|
298
|
-
|
|
321
|
+
// Show a preview of what was fetched (Task 3 fix)
|
|
322
|
+
const preview = result.content.slice(0, 150).replace(/\n/g, ' ').trim();
|
|
323
|
+
console.log(pc.green(`✓ Added reference from ${result.source}`));
|
|
324
|
+
console.log(pc.dim(` "${preview}..."`));
|
|
325
|
+
if (result.truncated) {
|
|
326
|
+
console.log(pc.dim(` (truncated to ${result.content.length} chars)`));
|
|
327
|
+
}
|
|
299
328
|
}
|
|
300
329
|
}
|
|
301
330
|
this.phase = 'goals';
|
|
302
331
|
}
|
|
303
332
|
/**
|
|
304
|
-
* Phase 2: Discuss goals
|
|
333
|
+
* Phase 2: Discuss goals - collect user goals
|
|
305
334
|
*/
|
|
306
335
|
async discussGoals() {
|
|
307
336
|
this.displayHeader();
|
|
@@ -322,12 +351,43 @@ export class SpecGenerator {
|
|
|
322
351
|
content: `I want to create a feature called "${this.featureName}". Here's what I'm thinking:\n\n${goals}`,
|
|
323
352
|
});
|
|
324
353
|
}
|
|
354
|
+
// Phase 2a: Explore project silently (separate from interview)
|
|
355
|
+
await this.exploreProject();
|
|
356
|
+
// Phase 2b: Start interview with first question (separate AI turn)
|
|
357
|
+
await this.startInterview();
|
|
358
|
+
this.phase = 'interview';
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Phase 2a: Explore project silently
|
|
362
|
+
* AI explores the codebase WITHOUT asking questions - just gathering context
|
|
363
|
+
*/
|
|
364
|
+
async exploreProject() {
|
|
325
365
|
console.log('');
|
|
326
|
-
|
|
366
|
+
console.log(pc.dim(' Exploring project...'));
|
|
367
|
+
// AI explores without asking questions - this prevents "two answers" bug
|
|
368
|
+
const prompt = `Explore the codebase to understand the project structure for the feature "${this.featureName}".
|
|
369
|
+
Use your tools to read key files that are relevant to this feature.
|
|
370
|
+
DO NOT ask any questions yet - just gather information silently.
|
|
371
|
+
Respond with a VERY brief (1-2 sentence) summary of what you found relevant to this feature.`;
|
|
372
|
+
const summary = await this.conversation.chat(prompt);
|
|
373
|
+
// Show a brief summary of exploration
|
|
374
|
+
const shortSummary = summary.slice(0, 120).replace(/\n/g, ' ');
|
|
375
|
+
console.log(pc.dim(` Context: ${shortSummary}${summary.length > 120 ? '...' : ''}`));
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* Phase 2b: Start interview - acknowledge goals and ask FIRST question
|
|
379
|
+
* This is a SEPARATE AI turn from exploration to prevent "two answers" bug
|
|
380
|
+
*/
|
|
381
|
+
async startInterview() {
|
|
327
382
|
console.log('');
|
|
383
|
+
// Now ask the first question - this is a separate turn
|
|
384
|
+
const prompt = `Based on what you learned about the project, briefly acknowledge the user's goals for "${this.featureName}" and ask your FIRST clarifying question.
|
|
385
|
+
Ask only ONE question. Be concise.`;
|
|
386
|
+
const response = await this.conversation.chat(prompt);
|
|
328
387
|
console.log(simpson.blue('AI:'), response);
|
|
329
388
|
console.log('');
|
|
330
|
-
|
|
389
|
+
// questionCount stays at 0 - it represents completed Q&A cycles
|
|
390
|
+
// Will be incremented in processAnswer() after user responds
|
|
331
391
|
}
|
|
332
392
|
/**
|
|
333
393
|
* Phase 3: Conduct interview
|
|
@@ -377,6 +437,11 @@ export class SpecGenerator {
|
|
|
377
437
|
console.log('');
|
|
378
438
|
this.questionCount++;
|
|
379
439
|
// Check if AI indicates it has enough information
|
|
440
|
+
// But ONLY allow this after minimum questions (Task 6 fix)
|
|
441
|
+
if (this.questionCount < MIN_INTERVIEW_QUESTIONS) {
|
|
442
|
+
// Force more questions - AI must ask at least MIN_INTERVIEW_QUESTIONS
|
|
443
|
+
return false;
|
|
444
|
+
}
|
|
380
445
|
const lowerResponse = response.toLowerCase();
|
|
381
446
|
if (lowerResponse.includes('enough information') ||
|
|
382
447
|
lowerResponse.includes('ready to generate') ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-generator.js","sourceRoot":"","sources":["../../../src/ai/conversation/spec-generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI3E,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACrB,0BAA0B,GAE3B,MAAM,oBAAoB,CAAC;AAE5B,mEAAmE;AACnE,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAmCnC;;GAEG;AACH,KAAK,UAAU,UAAU,CAAC,MAAc;IACtC,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAC7B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,aAAa,CAAC,MAA6B;IACxD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3C,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,QAAQ,IAAI,KAAK,CAAC;IACpB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB;IACzC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAE7B,6BAA6B;IAC7B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAErC,wCAAwC;IACxC,MAAM,eAAe,GAAG;QACtB,aAAa,EAAY,wBAAwB;QACjD,oBAAoB,EAAK,mBAAmB;QAC5C,eAAe,EAAU,cAAc;QACvC,eAAe,EAAU,mBAAmB;QAC5C,OAAO,EAAkB,eAAe;QACxC,YAAY,EAAa,0BAA0B;KACpD,CAAC;IAEF,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACxB,cAA+B,EAC/B,QAAoE;IAEpE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,cAAc;IACd,KAAK,CAAC,IAAI,CAAC;;;;;;;;;;;kEAWqD,CAAC,CAAC;IAElE,qBAAqB;IACrB,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,QAAQ,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;YAC7E,QAAQ,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;YAC/E,QAAQ,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;QACxF,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,QAAQ,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC;;;EAGf,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;sDAMiC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,YAAY,GAAa,CAAC,oCAAoC,CAAC,CAAC;QAEtE,IAAI,cAAc,CAAC,WAAW,IAAI,cAAc,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxE,YAAY,CAAC,IAAI,CAAC,oBAAoB,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpG,CAAC;QAED,IAAI,cAAc,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3F,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACxC,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC3E,YAAY,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,OAAO,EAAE,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC;YACrC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACjC,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;oBAClC,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,cAAc,CAAC,iBAAiB,EAAE,CAAC;YACrC,YAAY,CAAC,IAAI,CAAC,yBAAyB,cAAc,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACjF,CAAC;QAED,IAAI,cAAc,CAAC,wBAAwB,IAAI,cAAc,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClG,YAAY,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAClD,KAAK,MAAM,SAAS,IAAI,cAAc,CAAC,wBAAwB,EAAE,CAAC;gBAChE,YAAY,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,cAAc;IACd,KAAK,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAiCmB,CAAC,CAAC;IAEhC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,UAAsB;IACnD,yDAAyD;IACzD,MAAM,QAAQ,GAAG,UAAgC,CAAC;IAClD,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC;IAC/B,OAAO;QACL,WAAW,EAAE,EAAE,CAAC,cAAc,EAAE,WAAW;QAC3C,cAAc,EAAE,EAAE,CAAC,cAAc,EAAE,cAAc;QACjD,QAAQ,EAAE,EAAE,CAAC,QAAQ;QACrB,iBAAiB,EAAE,EAAE,CAAC,cAAc,EAAE,iBAAiB;QACvD,wBAAwB,EAAE,EAAE,CAAC,wBAAwB;KACtD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,aAAa;IAChB,YAAY,CAAsB;IAClC,KAAK,GAAmB,SAAS,CAAC;IACzB,WAAW,CAAS;IACpB,WAAW,CAAS;IAC7B,aAAa,GAAW,EAAE,CAAC;IAC3B,aAAa,GAAW,CAAC,CAAC;IACjB,QAAQ,CAA4D;IACpE,cAAc,CAAkB;IAEjD,YAAY,OAA6B;QACvC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAEvC,2CAA2C;QAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QACxE,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAE9E,kCAAkC;QAClC,IAAI,CAAC,QAAQ,GAAG;YACd,QAAQ,EAAE,IAAI,EAAE,mBAAmB;YACnC,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC;YAClC,QAAQ,EAAE,cAAc,CAAC,cAAc,CAAC;SACzC,CAAC;QAEF,qBAAqB;QACrB,MAAM,KAAK,GAA4B,EAAE,CAAC;QAE1C,qBAAqB;QACrB,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAEpC,iCAAiC;QACjC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;YACzC,KAAK,CAAC,aAAa,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;QAC7D,CAAC;QAED,kCAAkC;QAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,cAAc,EAAE,CAAC;YAC7C,MAAM,aAAa,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;YAC1D,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QACtC,CAAC;QAED,2DAA2D;QAC3D,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,CAC9C,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAC3E,CAAC;QAEF,+BAA+B;QAC/B,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE3E,yCAAyC;QACzC,IAAI,CAAC,YAAY,GAAG,IAAI,mBAAmB,CAAC;YAC1C,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,YAAY;YACZ,KAAK,EAAE,KAA8B;YACrC,SAAS,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE;gBAC5B,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACjC,CAAC;YACD,YAAY,EAAE,CAAC;SAChB,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE;YAC/C,OAAO,EAAE,IAAI,CAAC,aAAa;YAC3B,GAAG,EAAE,uBAAuB;SAC7B,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,cAAc;QACpB,oDAAoD;QACpD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC;QAEnE,qBAAqB,CAAC;YACpB,WAAW;YACX,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW;YAC7C,KAAK,EAAE,IAAI,CAAC,QAAQ;SACrB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa;QACzB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC,CAAC;QAChF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAE5D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM;YACR,CAAC;YAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACjD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAE3D,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC9D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,wBAAwB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC1G,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY;QACxB,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAE9D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC,CAAC;YAC7E,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;gBAC7B,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,sCAAsC,IAAI,CAAC,WAAW,IAAI;aACpE,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;gBAC7B,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,sCAAsC,IAAI,CAAC,WAAW,mCAAmC,KAAK,EAAE;aAC1G,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAC3C,8CAA8C,IAAI,CAAC,WAAW,8JAA8J,CAC7N,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;IAC3B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB;QAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,OAAO,IAAI,CAAC,aAAa,GAAG,uBAAuB,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAE7D,uBAAuB;YACvB,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;gBACvE,MAAM;YACR,CAAC;YAED,qBAAqB;YACrB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC,CAAC;gBACxE,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC9D,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM;gBACR,CAAC;gBACD,yCAAyC;gBACzC,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAClC,SAAS;YACX,CAAC;YAED,0BAA0B;YAC1B,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzB,0BAA0B,CAAC,MAAM,CAAC,CAAC;gBACnC,SAAS;YACX,CAAC;YAED,wBAAwB;YACxB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACrD,IAAI,WAAW;gBAAE,MAAM;QACzB,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CAAC,MAAc;QACxC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,kDAAkD;QAClD,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC7C,IACE,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YAC5C,aAAa,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAC3C,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACzC,aAAa,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAC3C,aAAa,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAC7C,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY;QACxB,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,MAAM,MAAM,GAAG,6EAA6E,IAAI,CAAC,WAAW;;;;;;;;kBAQ9F,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAExD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;QAEjD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;QACxB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,GAAG;QACP,IAAI,CAAC;YACH,6BAA6B;YAC7B,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAE3B,4BAA4B;YAC5B,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAE1B,qBAAqB;YACrB,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAE9B,yBAAyB;YACzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAEvC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gEAAgE;YAChE,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC5C,IACE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC;oBACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;oBAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC1B,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAChB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;oBAClD,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YACD,6BAA6B;YAC7B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"spec-generator.js","sourceRoot":"","sources":["../../../src/ai/conversation/spec-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAAwB,KAAK,UAAU,EAAoB,MAAM,oBAAoB,CAAC;AAE7F,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAAwB,KAAK,UAAU,EAAoB,MAAM,oBAAoB,CAAC;AAE7F,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAK/D,MAAM,WAAW,UAAU;IACzB,oCAAoC;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,qCAAqC;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wCAAwC;IACxC,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,kDAAkD;IAClD,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAuJD;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA2MzF"}
|
package/dist/commands/new.js
CHANGED
|
@@ -11,6 +11,7 @@ import { loadConfigWithDefaults, hasConfig } from '../utils/config.js';
|
|
|
11
11
|
import { getAvailableProvider, AVAILABLE_MODELS } from '../ai/providers.js';
|
|
12
12
|
import { SpecGenerator } from '../ai/conversation/index.js';
|
|
13
13
|
import { Scanner } from '../scanner/index.js';
|
|
14
|
+
import { flushTracing } from '../utils/tracing.js';
|
|
14
15
|
import pc from 'picocolors';
|
|
15
16
|
import * as prompts from '@clack/prompts';
|
|
16
17
|
/**
|
|
@@ -231,6 +232,8 @@ export async function newCommand(feature, options = {}) {
|
|
|
231
232
|
scanResult,
|
|
232
233
|
});
|
|
233
234
|
const generatedSpec = await specGenerator.run();
|
|
235
|
+
// Flush any pending Braintrust tracing spans (Task 2)
|
|
236
|
+
await flushTracing();
|
|
234
237
|
if (!generatedSpec) {
|
|
235
238
|
logger.info('Spec generation cancelled');
|
|
236
239
|
return;
|
package/dist/commands/new.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAmB,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAmB,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAqB1C;;GAEG;AACH,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqE7B,CAAC;AAEF;;GAEG;AACH,SAAS,0BAA0B,CAAC,QAAoB;IACtD,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IACtE,OAAO,WAAW,EAAE,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAAC,WAAmB;IACpD,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;IAEpC,2BAA2B;IAC3B,MAAM,aAAa,GAAG;QACpB,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,aAAa,CAAC;QAC1C,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC;QACnD,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,aAAa,CAAC;KAC1C,CAAC;IAEF,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACzC,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB;IAC5B,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,4DAA4D;IAC5D,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,QAAgB,EAAE,OAAe;IACxD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,OAAO;SACzB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,OAAO,QAAQ;SACZ,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC;SACpC,OAAO,CAAC,uBAAuB,EAAE,YAAY,CAAC;SAC9C,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC;SAC9B,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,QAAgB,EAAE,MAAe;IACrD,MAAM,SAAS,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC;IAEzD,MAAM,CAAC,IAAI,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;IAE/C,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE;QACzC,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;IAEH,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAe,EAAE,UAAsB,EAAE;IACxE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAElC,wBAAwB;IACxB,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,mEAAmE;IACnE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,2EAA2E,CAAC,CAAC;QAC1F,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,2BAA2B;IAC3B,MAAM,aAAa,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnE,IAAI,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,IAAI,OAAO,+DAA+D,CAAC,CAAC;QACzF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,mBAAmB;IACnB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;QAC7F,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED,cAAc;IACd,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEvD,6CAA6C;IAC7C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;QACrD,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,+BAA+B;IAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,OAAO,KAAK,CAAC,CAAC;IACjD,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;YAEtD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACjB,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;oBAC5C,OAAO,EAAE,6CAA6C;oBACtD,YAAY,EAAE,KAAK;iBACpB,CAAC,CAAC;gBAEH,IAAI,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;oBAC1D,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACzB,OAAO;gBACT,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;gBACxC,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;IAED,2CAA2C;IAC3C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,oBAAoB,EAAE,CAAC;IAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,EAAE,IAAI,QAAQ,KAAK,IAAI,CAAC;IAE9C,IAAI,WAAmB,CAAC;IAExB,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;QACtB,iCAAiC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QACpE,MAAM,CAAC,IAAI,CAAC,6BAA6B,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC;QAE/D,sBAAsB;QACtB,IAAI,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;YAC9B,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC;YACtC,WAAW,EAAE,OAAO;YACpB,WAAW;YACX,QAAQ;YACR,KAAK;YACL,UAAU;SACX,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,CAAC;QAEhD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;QAED,WAAW,GAAG,aAAa,CAAC;QAE5B,gCAAgC;QAChC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;gBACvC,OAAO,EAAE,gBAAgB,QAAQ,GAAG;gBACpC,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChD,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC9B,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,gCAAgC;QAChC,IAAI,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAChE,MAAM,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;YAC/F,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QAED,+BAA+B;QAC/B,IAAI,eAAuB,CAAC;QAE5B,mCAAmC;QACnC,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAC/D,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,mBAAmB,eAAe,EAAE,CAAC,CAAC;YAClD,eAAe,GAAG,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,uBAAuB;YACvB,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;YACnD,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;YACrE,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBACtC,eAAe,GAAG,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,uBAAuB;gBACvB,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBACtC,eAAe,GAAG,qBAAqB,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,WAAW,GAAG,eAAe,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAExD,mCAAmC;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,iDAAiD;YACjD,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7C,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;gBACzC,OAAO,EAAE,wBAAwB;gBACjC,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpD,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACzB,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,IAAI,CAAC;QACH,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAC9C,MAAM,CAAC,OAAO,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8BAA8B;IAC9B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChG,MAAM,CAAC,IAAI,CAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,CAAC,IAAI,CAAC,WAAW,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,CAAC,IAAI,CAAC,cAAc,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AAC3E,CAAC"}
|
|
1
|
+
{"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -26,6 +26,9 @@ import {
|
|
|
26
26
|
/** Maximum number of interview questions before auto-completing */
|
|
27
27
|
const MAX_INTERVIEW_QUESTIONS = 10;
|
|
28
28
|
|
|
29
|
+
/** Minimum number of questions before AI can indicate "enough information" */
|
|
30
|
+
const MIN_INTERVIEW_QUESTIONS = 2;
|
|
31
|
+
|
|
29
32
|
/**
|
|
30
33
|
* Session context from /init analysis
|
|
31
34
|
*/
|
|
@@ -162,6 +165,27 @@ USE THESE TOOLS PROACTIVELY:
|
|
|
162
165
|
- When discussing best practices, search the web for current recommendations
|
|
163
166
|
- Don't ask the user to paste code - read it yourself`);
|
|
164
167
|
}
|
|
168
|
+
|
|
169
|
+
// Add emphatic web search guidance when Tavily is available (Task 4)
|
|
170
|
+
if (hasTools.tavily) {
|
|
171
|
+
parts.push(`
|
|
172
|
+
## IMPORTANT: Web Search Available
|
|
173
|
+
You have tavily_search to look up current best practices and documentation.
|
|
174
|
+
|
|
175
|
+
WHEN YOU MUST USE WEB SEARCH:
|
|
176
|
+
- User mentions a library, framework, or API you should verify
|
|
177
|
+
- User asks about "best practices" or "how to" patterns
|
|
178
|
+
- You need current (2026+) information not in your training data
|
|
179
|
+
- Discussing implementation approaches for modern libraries
|
|
180
|
+
|
|
181
|
+
EXAMPLE SEARCHES:
|
|
182
|
+
- tavily_search({ query: "React Server Components authentication patterns", timeRange: "year" })
|
|
183
|
+
- tavily_search({ query: "Next.js 14 app router middleware", timeRange: "year" })
|
|
184
|
+
- tavily_search({ query: "TypeScript strict mode best practices", timeRange: "year" })
|
|
185
|
+
|
|
186
|
+
DO NOT skip web search when the user discusses implementation approaches or mentions specific libraries.
|
|
187
|
+
Use timeRange: "year" to get recent results.`);
|
|
188
|
+
}
|
|
165
189
|
}
|
|
166
190
|
|
|
167
191
|
// Add project context from /init
|
|
@@ -340,10 +364,12 @@ export class SpecGenerator {
|
|
|
340
364
|
* Display the current phase header
|
|
341
365
|
*/
|
|
342
366
|
private displayHeader(): void {
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
max: MAX_INTERVIEW_QUESTIONS
|
|
346
|
-
|
|
367
|
+
// Only show question count during interview phase (Task 5 fix)
|
|
368
|
+
const questionCount = this.phase === 'interview'
|
|
369
|
+
? { current: this.questionCount, max: MAX_INTERVIEW_QUESTIONS }
|
|
370
|
+
: undefined;
|
|
371
|
+
|
|
372
|
+
displayPhaseHeader(this.featureName, this.phase, questionCount);
|
|
347
373
|
}
|
|
348
374
|
|
|
349
375
|
/**
|
|
@@ -385,7 +411,13 @@ export class SpecGenerator {
|
|
|
385
411
|
console.log(pc.red(`Error: ${result.error}`));
|
|
386
412
|
} else {
|
|
387
413
|
this.conversation.addReference(result.content, result.source);
|
|
388
|
-
|
|
414
|
+
// Show a preview of what was fetched (Task 3 fix)
|
|
415
|
+
const preview = result.content.slice(0, 150).replace(/\n/g, ' ').trim();
|
|
416
|
+
console.log(pc.green(`✓ Added reference from ${result.source}`));
|
|
417
|
+
console.log(pc.dim(` "${preview}..."`));
|
|
418
|
+
if (result.truncated) {
|
|
419
|
+
console.log(pc.dim(` (truncated to ${result.content.length} chars)`));
|
|
420
|
+
}
|
|
389
421
|
}
|
|
390
422
|
}
|
|
391
423
|
|
|
@@ -393,7 +425,7 @@ export class SpecGenerator {
|
|
|
393
425
|
}
|
|
394
426
|
|
|
395
427
|
/**
|
|
396
|
-
* Phase 2: Discuss goals
|
|
428
|
+
* Phase 2: Discuss goals - collect user goals
|
|
397
429
|
*/
|
|
398
430
|
private async discussGoals(): Promise<void> {
|
|
399
431
|
this.displayHeader();
|
|
@@ -417,16 +449,54 @@ export class SpecGenerator {
|
|
|
417
449
|
});
|
|
418
450
|
}
|
|
419
451
|
|
|
452
|
+
// Phase 2a: Explore project silently (separate from interview)
|
|
453
|
+
await this.exploreProject();
|
|
454
|
+
|
|
455
|
+
// Phase 2b: Start interview with first question (separate AI turn)
|
|
456
|
+
await this.startInterview();
|
|
457
|
+
|
|
458
|
+
this.phase = 'interview';
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
/**
|
|
462
|
+
* Phase 2a: Explore project silently
|
|
463
|
+
* AI explores the codebase WITHOUT asking questions - just gathering context
|
|
464
|
+
*/
|
|
465
|
+
private async exploreProject(): Promise<void> {
|
|
420
466
|
console.log('');
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
467
|
+
console.log(pc.dim(' Exploring project...'));
|
|
468
|
+
|
|
469
|
+
// AI explores without asking questions - this prevents "two answers" bug
|
|
470
|
+
const prompt = `Explore the codebase to understand the project structure for the feature "${this.featureName}".
|
|
471
|
+
Use your tools to read key files that are relevant to this feature.
|
|
472
|
+
DO NOT ask any questions yet - just gather information silently.
|
|
473
|
+
Respond with a VERY brief (1-2 sentence) summary of what you found relevant to this feature.`;
|
|
474
|
+
|
|
475
|
+
const summary = await this.conversation.chat(prompt);
|
|
424
476
|
|
|
477
|
+
// Show a brief summary of exploration
|
|
478
|
+
const shortSummary = summary.slice(0, 120).replace(/\n/g, ' ');
|
|
479
|
+
console.log(pc.dim(` Context: ${shortSummary}${summary.length > 120 ? '...' : ''}`));
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
/**
|
|
483
|
+
* Phase 2b: Start interview - acknowledge goals and ask FIRST question
|
|
484
|
+
* This is a SEPARATE AI turn from exploration to prevent "two answers" bug
|
|
485
|
+
*/
|
|
486
|
+
private async startInterview(): Promise<void> {
|
|
425
487
|
console.log('');
|
|
488
|
+
|
|
489
|
+
// Now ask the first question - this is a separate turn
|
|
490
|
+
const prompt = `Based on what you learned about the project, briefly acknowledge the user's goals for "${this.featureName}" and ask your FIRST clarifying question.
|
|
491
|
+
Ask only ONE question. Be concise.`;
|
|
492
|
+
|
|
493
|
+
const response = await this.conversation.chat(prompt);
|
|
494
|
+
|
|
426
495
|
console.log(simpson.blue('AI:'), response);
|
|
427
496
|
console.log('');
|
|
428
497
|
|
|
429
|
-
|
|
498
|
+
// questionCount stays at 0 - it represents completed Q&A cycles
|
|
499
|
+
// Will be incremented in processAnswer() after user responds
|
|
430
500
|
}
|
|
431
501
|
|
|
432
502
|
/**
|
|
@@ -486,6 +556,12 @@ export class SpecGenerator {
|
|
|
486
556
|
this.questionCount++;
|
|
487
557
|
|
|
488
558
|
// Check if AI indicates it has enough information
|
|
559
|
+
// But ONLY allow this after minimum questions (Task 6 fix)
|
|
560
|
+
if (this.questionCount < MIN_INTERVIEW_QUESTIONS) {
|
|
561
|
+
// Force more questions - AI must ask at least MIN_INTERVIEW_QUESTIONS
|
|
562
|
+
return false;
|
|
563
|
+
}
|
|
564
|
+
|
|
489
565
|
const lowerResponse = response.toLowerCase();
|
|
490
566
|
if (
|
|
491
567
|
lowerResponse.includes('enough information') ||
|
package/src/commands/new.ts
CHANGED
|
@@ -12,6 +12,7 @@ import { loadConfigWithDefaults, hasConfig } from '../utils/config.js';
|
|
|
12
12
|
import { getAvailableProvider, type AIProvider, AVAILABLE_MODELS } from '../ai/providers.js';
|
|
13
13
|
import { SpecGenerator } from '../ai/conversation/index.js';
|
|
14
14
|
import { Scanner, type ScanResult } from '../scanner/index.js';
|
|
15
|
+
import { flushTracing } from '../utils/tracing.js';
|
|
15
16
|
import pc from 'picocolors';
|
|
16
17
|
import * as prompts from '@clack/prompts';
|
|
17
18
|
|
|
@@ -282,6 +283,9 @@ export async function newCommand(feature: string, options: NewOptions = {}): Pro
|
|
|
282
283
|
|
|
283
284
|
const generatedSpec = await specGenerator.run();
|
|
284
285
|
|
|
286
|
+
// Flush any pending Braintrust tracing spans (Task 2)
|
|
287
|
+
await flushTracing();
|
|
288
|
+
|
|
285
289
|
if (!generatedSpec) {
|
|
286
290
|
logger.info('Spec generation cancelled');
|
|
287
291
|
return;
|