wiggum-cli 0.10.21 → 0.10.22

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.
@@ -4,7 +4,9 @@
4
4
  "Bash(gh pr view:*)",
5
5
  "Bash(gh pr:*)",
6
6
  "Bash(npm run build:*)",
7
- "Bash(gh label:*)"
7
+ "Bash(gh label:*)",
8
+ "Bash(npm ls:*)",
9
+ "WebSearch"
8
10
  ]
9
11
  }
10
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/tui/app.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAA2C,MAAM,OAAO,CAAC;AAChE,OAAO,EAA6B,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAC;AAG/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAgC7D;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,QAAQ,EAAE,UAAU,CAAC;IACrB,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,gCAAgC;IAChC,MAAM,EAAE,SAAS,CAAC;IAClB,4BAA4B;IAC5B,mBAAmB,EAAE,YAAY,CAAC;IAClC,kBAAkB;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,oDAAoD;IACpD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAyBD,wBAAgB,GAAG,CAAC,EAClB,MAAM,EAAE,aAAa,EACrB,mBAAmB,EACnB,OAAiB,EACjB,cAAc,EACd,UAAU,EACV,MAAM,GACP,EAAE,QAAQ,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAkZtC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,MAAM,EAAE,SAAS,CAAC;IAClB,4BAA4B;IAC5B,mBAAmB,EAAE,YAAY,CAAC;IAClC,kBAAkB;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,4CAA4C;IAC5C,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,QAAQ,CAW7D"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/tui/app.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAA2C,MAAM,OAAO,CAAC;AAChE,OAAO,EAA6B,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAC;AAG/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AA+B7D;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,QAAQ,EAAE,UAAU,CAAC;IACrB,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,gCAAgC;IAChC,MAAM,EAAE,SAAS,CAAC;IAClB,4BAA4B;IAC5B,mBAAmB,EAAE,YAAY,CAAC;IAClC,kBAAkB;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,oDAAoD;IACpD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAyBD,wBAAgB,GAAG,CAAC,EAClB,MAAM,EAAE,aAAa,EACrB,mBAAmB,EACnB,OAAiB,EACjB,cAAc,EACd,UAAU,EACV,MAAM,GACP,EAAE,QAAQ,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAgatC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,MAAM,EAAE,SAAS,CAAC;IAClB,4BAA4B;IAC5B,mBAAmB,EAAE,YAAY,CAAC;IAClC,kBAAkB;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,4CAA4C;IAC5C,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,QAAQ,CAW7D"}
package/dist/tui/app.js CHANGED
@@ -17,7 +17,6 @@ import { InterviewScreen } from './screens/InterviewScreen.js';
17
17
  import { InitScreen } from './screens/InitScreen.js';
18
18
  import { MainShell } from './screens/MainShell.js';
19
19
  import { WiggumBanner } from './components/WiggumBanner.js';
20
- import { ToolCallCard } from './components/ToolCallCard.js';
21
20
  import { colors, theme } from './theme.js';
22
21
  /**
23
22
  * Main App component for the Ink-based TUI
@@ -105,16 +104,6 @@ export function App({ screen: initialScreen, initialSessionState, version = '0.8
105
104
  else {
106
105
  onComplete?.(spec);
107
106
  }
108
- // Build interview conversation thread item (preserves all messages)
109
- const messageContent = (_jsx(Box, { flexDirection: "column", marginY: 1, children: messages.map((msg) => {
110
- if (msg.role === 'user') {
111
- return (_jsxs(Box, { flexDirection: "row", marginY: 1, children: [_jsxs(Text, { color: theme.colors.prompt, bold: true, children: [theme.chars.prompt, " "] }), _jsx(Text, { color: theme.colors.userText, children: msg.content })] }, msg.id));
112
- }
113
- else if (msg.role === 'assistant') {
114
- return (_jsxs(Box, { flexDirection: "column", marginY: 1, children: [msg.toolCalls && msg.toolCalls.map((toolCall, idx) => (_jsx(ToolCallCard, { toolName: toolCall.toolName, input: toolCall.input, output: toolCall.output, status: toolCall.status, error: toolCall.error, expanded: false }, `${msg.id}-tool-${idx}`))), msg.content && (_jsxs(Box, { flexDirection: "row", children: [_jsxs(Text, { dimColor: true, children: [theme.chars.bullet, " "] }), _jsx(Text, { dimColor: true, italic: true, children: msg.content })] }))] }, msg.id));
115
- }
116
- return null;
117
- }) }));
118
107
  // Prefer previewing the spec from disk if available (ensures consistent output)
119
108
  let specForPreview = typeof spec === 'string' ? spec : '';
120
109
  if (specPath && existsSync(specPath)) {
@@ -129,11 +118,38 @@ export function App({ screen: initialScreen, initialSessionState, version = '0.8
129
118
  const totalLines = specLines.length;
130
119
  const previewLines = specLines.slice(0, 5);
131
120
  const remainingLines = Math.max(0, totalLines - 5);
132
- const summaryContent = (_jsxs(Box, { flexDirection: "column", marginY: 1, children: [_jsxs(Box, { flexDirection: "row", children: [_jsxs(Text, { color: colors.green, children: [theme.chars.bullet, " "] }), _jsx(Text, { bold: true, children: "Write" }), _jsxs(Text, { dimColor: true, children: ["(", specPath || `${featureName}.md`, ")"] })] }), _jsx(Box, { marginLeft: 2, children: _jsxs(Text, { dimColor: true, children: ["\u2514 Wrote ", totalLines, " lines"] }) }), _jsxs(Box, { marginLeft: 4, flexDirection: "column", children: [previewLines.map((line, i) => (_jsxs(Box, { flexDirection: "row", children: [_jsxs(Text, { dimColor: true, children: [String(i + 1).padStart(4), " "] }), _jsx(Text, { dimColor: true, children: line })] }, i))), remainingLines > 0 && (_jsxs(Text, { dimColor: true, children: ["\u2026 +", remainingLines, " lines"] }))] }), _jsxs(Box, { marginTop: 1, flexDirection: "row", children: [_jsxs(Text, { color: colors.green, children: [theme.chars.bullet, " "] }), _jsx(Text, { children: "Done. Specification generated successfully." })] }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { bold: true, children: "What's next:" }), _jsxs(Box, { flexDirection: "row", gap: 1, children: [_jsx(Text, { color: colors.green, children: "\u203A" }), _jsx(Text, { dimColor: true, children: "Review the spec in your editor" })] }), _jsxs(Box, { flexDirection: "row", gap: 1, children: [_jsx(Text, { color: colors.green, children: "\u203A" }), _jsx(Text, { color: colors.blue, children: "/help" }), _jsx(Text, { dimColor: true, children: "See all commands" })] })] })] }));
121
+ const userMessages = messages
122
+ .filter((msg) => msg.role === 'user')
123
+ .map((msg) => msg.content.trim())
124
+ .filter((content) => content.length > 0);
125
+ const nonUrlUserMessages = userMessages.filter((content) => !/^https?:\/\//i.test(content) && !/^www\./i.test(content));
126
+ const goalCandidate = nonUrlUserMessages.find((content) => content.length > 20) || nonUrlUserMessages[0] || `Define "${featureName}"`;
127
+ const summarizeText = (text, max = 160) => {
128
+ if (text.length <= max)
129
+ return text;
130
+ return `${text.slice(0, max - 1)}…`;
131
+ };
132
+ const decisions = [];
133
+ const seen = new Set();
134
+ for (let i = nonUrlUserMessages.length - 1; i >= 0; i -= 1) {
135
+ const entry = nonUrlUserMessages[i];
136
+ const normalized = entry.toLowerCase();
137
+ if (entry === goalCandidate)
138
+ continue;
139
+ if (entry.length > 160)
140
+ continue;
141
+ if (seen.has(normalized))
142
+ continue;
143
+ decisions.unshift(entry);
144
+ seen.add(normalized);
145
+ if (decisions.length >= 4)
146
+ break;
147
+ }
148
+ const summaryContent = (_jsxs(Box, { flexDirection: "column", marginY: 1, children: [_jsx(Text, { bold: true, children: "Summary" }), _jsxs(Box, { flexDirection: "row", gap: 1, children: [_jsx(Text, { color: colors.green, children: "\u203A" }), _jsx(Text, { dimColor: true, children: "Goal:" }), _jsx(Text, { color: theme.colors.userText, children: summarizeText(goalCandidate) })] }), _jsxs(Box, { flexDirection: "row", gap: 1, children: [_jsx(Text, { color: colors.green, children: "\u203A" }), _jsx(Text, { dimColor: true, children: "Outcome:" }), _jsxs(Text, { dimColor: true, children: ["Spec written to ", specPath || `${featureName}.md`, " (", totalLines, " lines)"] })] }), decisions.length > 0 && (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { bold: true, children: "Key decisions" }), decisions.map((decision, idx) => (_jsxs(Box, { flexDirection: "row", gap: 1, children: [_jsxs(Text, { color: colors.green, children: [idx + 1, "."] }), _jsx(Text, { dimColor: true, children: summarizeText(decision, 120) })] }, `${decision}-${idx}`)))] })), _jsxs(Box, { marginTop: 1, flexDirection: "row", children: [_jsxs(Text, { color: colors.green, children: [theme.chars.bullet, " "] }), _jsx(Text, { bold: true, children: "Write" }), _jsxs(Text, { dimColor: true, children: ["(", specPath || `${featureName}.md`, ")"] })] }), _jsx(Box, { marginLeft: 2, children: _jsxs(Text, { dimColor: true, children: ["\u2514 Wrote ", totalLines, " lines"] }) }), _jsxs(Box, { marginLeft: 4, flexDirection: "column", children: [previewLines.map((line, i) => (_jsxs(Box, { flexDirection: "row", children: [_jsxs(Text, { dimColor: true, children: [String(i + 1).padStart(4), " "] }), _jsx(Text, { dimColor: true, children: line })] }, i))), remainingLines > 0 && (_jsxs(Text, { dimColor: true, children: ["\u2026 +", remainingLines, " lines"] }))] }), _jsxs(Box, { marginTop: 1, flexDirection: "row", children: [_jsxs(Text, { color: colors.green, children: [theme.chars.bullet, " "] }), _jsx(Text, { children: "Done. Specification generated successfully." })] }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { bold: true, children: "What's next:" }), _jsxs(Box, { flexDirection: "row", gap: 1, children: [_jsx(Text, { color: colors.green, children: "\u203A" }), _jsx(Text, { dimColor: true, children: "Review the spec in your editor" })] }), _jsxs(Box, { flexDirection: "row", gap: 1, children: [_jsx(Text, { color: colors.green, children: "\u203A" }), _jsx(Text, { color: colors.blue, children: "/help" }), _jsx(Text, { dimColor: true, children: "See all commands" })] })] })] }));
133
149
  // Hide the live interview UI before appending to the static thread
134
150
  setIsTransitioning(true);
135
151
  setCompletionQueue({
136
- messageContent,
152
+ messageContent: null,
137
153
  summaryContent,
138
154
  summaryType: 'spec-complete',
139
155
  action: initialScreen === 'interview' ? 'exit' : 'shell',
@@ -143,9 +159,11 @@ export function App({ screen: initialScreen, initialSessionState, version = '0.8
143
159
  useEffect(() => {
144
160
  if (!isTransitioning || !completionQueue)
145
161
  return;
146
- const messageThreadId = addToThread('message', completionQueue.messageContent);
162
+ if (completionQueue.messageContent) {
163
+ const messageThreadId = addToThread('message', completionQueue.messageContent);
164
+ void messageThreadId;
165
+ }
147
166
  const completionThreadId = addToThread(completionQueue.summaryType, completionQueue.summaryContent);
148
- void messageThreadId;
149
167
  setPendingCompletion({
150
168
  action: completionQueue.action,
151
169
  threadId: completionThreadId,
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/tui/app.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/tui/app.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"InterviewScreen.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/InterviewScreen.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAmD,MAAM,OAAO,CAAC;AAExE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAczD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,QAAQ,EAAE,UAAU,CAAC;IACrB,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wFAAwF;IACxF,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,8BAA8B,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC/F,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,EAC9B,WAAW,EACX,WAAW,EACX,QAAQ,EACR,KAAK,EACL,UAAU,EACV,SAA0B,EAC1B,UAAU,EACV,QAAQ,GACT,EAAE,oBAAoB,GAAG,KAAK,CAAC,YAAY,CAuR3C"}
1
+ {"version":3,"file":"InterviewScreen.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/InterviewScreen.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAmD,MAAM,OAAO,CAAC;AAExE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAczD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,QAAQ,EAAE,UAAU,CAAC;IACrB,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wFAAwF;IACxF,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,8BAA8B,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC/F,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,EAC9B,WAAW,EACX,WAAW,EACX,QAAQ,EACR,KAAK,EACL,UAAU,EACV,SAA0B,EAC1B,UAAU,EACV,QAAQ,GACT,EAAE,oBAAoB,GAAG,KAAK,CAAC,YAAY,CAwR3C"}
@@ -225,7 +225,8 @@ export function InterviewScreen({ featureName, projectRoot, provider, model, sca
225
225
  }
226
226
  };
227
227
  // Build phase string for status line
228
- const phaseString = `${phaseConfig.name} (${phaseConfig.number}/${TOTAL_DISPLAY_PHASES})`;
228
+ const totalPhases = state.phase === 'complete' ? PHASE_CONFIGS.complete.number : TOTAL_DISPLAY_PHASES;
229
+ const phaseString = `${phaseConfig.name} (${phaseConfig.number}/${totalPhases})`;
229
230
  return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsx(StatusLine, { action: "New Spec", phase: phaseString, path: featureName }), state.error && (_jsx(Box, { marginY: 1, children: _jsxs(Text, { color: theme.colors.error, children: ["Error: ", state.error] }) })), _jsx(Box, { marginY: 1, children: _jsx(MessageList, { messages: state.messages, toolCallsExpanded: toolCallsExpanded }) }), state.isWorking && (_jsx(Box, { marginY: 1, children: _jsx(WorkingIndicator, { state: workingState, variant: "active" }) })), state.phase === 'complete' && (_jsxs(Box, { flexDirection: "row", children: [_jsxs(Text, { color: theme.colors.success, children: [theme.chars.bullet, " "] }), _jsx(Text, { children: "Specification complete." })] })), state.phase !== 'complete' && (_jsx(Box, { marginTop: 1, children: _jsx(ChatInput, { onSubmit: handleSubmit, disabled: inputDisabled, allowEmpty: state.phase === 'context', placeholder: getPlaceholder() }) }))] }));
230
231
  }
231
232
  //# sourceMappingURL=InterviewScreen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InterviewScreen.js","sourceRoot":"","sources":["../../../src/tui/screens/InterviewScreen.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InterviewScreen.js","sourceRoot":"","sources":["../../../src/tui/screens/InterviewScreen.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wiggum-cli",
3
- "version": "0.10.21",
3
+ "version": "0.10.22",
4
4
  "description": "AI-powered feature development loop CLI",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/src/tui/app.tsx CHANGED
@@ -21,7 +21,6 @@ import { WelcomeScreen } from './screens/WelcomeScreen.js';
21
21
  import { InitScreen } from './screens/InitScreen.js';
22
22
  import { MainShell, type NavigationTarget, type NavigationProps } from './screens/MainShell.js';
23
23
  import { WiggumBanner } from './components/WiggumBanner.js';
24
- import { ToolCallCard } from './components/ToolCallCard.js';
25
24
  import type { Message } from './components/MessageList.js';
26
25
  import { colors, theme } from './theme.js';
27
26
 
@@ -40,7 +39,7 @@ interface PendingCompletion {
40
39
  }
41
40
 
42
41
  interface CompletionQueue {
43
- messageContent: React.ReactNode;
42
+ messageContent?: React.ReactNode | null;
44
43
  summaryContent: React.ReactNode;
45
44
  summaryType: ThreadItem['type'];
46
45
  action: PendingCompletion['action'];
@@ -210,47 +209,6 @@ export function App({
210
209
  onComplete?.(spec);
211
210
  }
212
211
 
213
- // Build interview conversation thread item (preserves all messages)
214
- const messageContent = (
215
- <Box flexDirection="column" marginY={1}>
216
- {messages.map((msg) => {
217
- if (msg.role === 'user') {
218
- return (
219
- <Box key={msg.id} flexDirection="row" marginY={1}>
220
- <Text color={theme.colors.prompt} bold>{theme.chars.prompt} </Text>
221
- <Text color={theme.colors.userText}>{msg.content}</Text>
222
- </Box>
223
- );
224
- } else if (msg.role === 'assistant') {
225
- return (
226
- <Box key={msg.id} flexDirection="column" marginY={1}>
227
- {/* Tool calls */}
228
- {msg.toolCalls && msg.toolCalls.map((toolCall, idx) => (
229
- <ToolCallCard
230
- key={`${msg.id}-tool-${idx}`}
231
- toolName={toolCall.toolName}
232
- input={toolCall.input}
233
- output={toolCall.output}
234
- status={toolCall.status}
235
- error={toolCall.error}
236
- expanded={false}
237
- />
238
- ))}
239
- {/* Message content */}
240
- {msg.content && (
241
- <Box flexDirection="row">
242
- <Text dimColor>{theme.chars.bullet} </Text>
243
- <Text dimColor italic>{msg.content}</Text>
244
- </Box>
245
- )}
246
- </Box>
247
- );
248
- }
249
- return null;
250
- })}
251
- </Box>
252
- );
253
-
254
212
  // Prefer previewing the spec from disk if available (ensures consistent output)
255
213
  let specForPreview = typeof spec === 'string' ? spec : '';
256
214
  if (specPath && existsSync(specPath)) {
@@ -266,10 +224,63 @@ export function App({
266
224
  const previewLines = specLines.slice(0, 5);
267
225
  const remainingLines = Math.max(0, totalLines - 5);
268
226
 
227
+ const userMessages = messages
228
+ .filter((msg) => msg.role === 'user')
229
+ .map((msg) => msg.content.trim())
230
+ .filter((content) => content.length > 0);
231
+
232
+ const nonUrlUserMessages = userMessages.filter((content) => !/^https?:\/\//i.test(content) && !/^www\./i.test(content));
233
+
234
+ const goalCandidate = nonUrlUserMessages.find((content) => content.length > 20) || nonUrlUserMessages[0] || `Define "${featureName}"`;
235
+
236
+ const summarizeText = (text: string, max = 160): string => {
237
+ if (text.length <= max) return text;
238
+ return `${text.slice(0, max - 1)}…`;
239
+ };
240
+
241
+ const decisions: string[] = [];
242
+ const seen = new Set<string>();
243
+ for (let i = nonUrlUserMessages.length - 1; i >= 0; i -= 1) {
244
+ const entry = nonUrlUserMessages[i];
245
+ const normalized = entry.toLowerCase();
246
+ if (entry === goalCandidate) continue;
247
+ if (entry.length > 160) continue;
248
+ if (seen.has(normalized)) continue;
249
+ decisions.unshift(entry);
250
+ seen.add(normalized);
251
+ if (decisions.length >= 4) break;
252
+ }
253
+
269
254
  const summaryContent = (
270
255
  <Box flexDirection="column" marginY={1}>
256
+ <Text bold>Summary</Text>
257
+ <Box flexDirection="row" gap={1}>
258
+ <Text color={colors.green}>›</Text>
259
+ <Text dimColor>Goal:</Text>
260
+ <Text color={theme.colors.userText}>{summarizeText(goalCandidate)}</Text>
261
+ </Box>
262
+ <Box flexDirection="row" gap={1}>
263
+ <Text color={colors.green}>›</Text>
264
+ <Text dimColor>Outcome:</Text>
265
+ <Text dimColor>
266
+ Spec written to {specPath || `${featureName}.md`} ({totalLines} lines)
267
+ </Text>
268
+ </Box>
269
+
270
+ {decisions.length > 0 && (
271
+ <Box marginTop={1} flexDirection="column">
272
+ <Text bold>Key decisions</Text>
273
+ {decisions.map((decision, idx) => (
274
+ <Box key={`${decision}-${idx}`} flexDirection="row" gap={1}>
275
+ <Text color={colors.green}>{idx + 1}.</Text>
276
+ <Text dimColor>{summarizeText(decision, 120)}</Text>
277
+ </Box>
278
+ ))}
279
+ </Box>
280
+ )}
281
+
271
282
  {/* Tool-call style preview */}
272
- <Box flexDirection="row">
283
+ <Box marginTop={1} flexDirection="row">
273
284
  <Text color={colors.green}>{theme.chars.bullet} </Text>
274
285
  <Text bold>Write</Text>
275
286
  <Text dimColor>({specPath || `${featureName}.md`})</Text>
@@ -316,7 +327,7 @@ export function App({
316
327
  // Hide the live interview UI before appending to the static thread
317
328
  setIsTransitioning(true);
318
329
  setCompletionQueue({
319
- messageContent,
330
+ messageContent: null,
320
331
  summaryContent,
321
332
  summaryType: 'spec-complete',
322
333
  action: initialScreen === 'interview' ? 'exit' : 'shell',
@@ -327,9 +338,11 @@ export function App({
327
338
  useEffect(() => {
328
339
  if (!isTransitioning || !completionQueue) return;
329
340
 
330
- const messageThreadId = addToThread('message', completionQueue.messageContent);
341
+ if (completionQueue.messageContent) {
342
+ const messageThreadId = addToThread('message', completionQueue.messageContent);
343
+ void messageThreadId;
344
+ }
331
345
  const completionThreadId = addToThread(completionQueue.summaryType, completionQueue.summaryContent);
332
- void messageThreadId;
333
346
 
334
347
  setPendingCompletion({
335
348
  action: completionQueue.action,
@@ -292,7 +292,8 @@ export function InterviewScreen({
292
292
  };
293
293
 
294
294
  // Build phase string for status line
295
- const phaseString = `${phaseConfig.name} (${phaseConfig.number}/${TOTAL_DISPLAY_PHASES})`;
295
+ const totalPhases = state.phase === 'complete' ? PHASE_CONFIGS.complete.number : TOTAL_DISPLAY_PHASES;
296
+ const phaseString = `${phaseConfig.name} (${phaseConfig.number}/${totalPhases})`;
296
297
 
297
298
  return (
298
299
  <Box flexDirection="column" padding={1}>