@yuaone/cli 1.0.1 → 1.0.2

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.
@@ -6,7 +6,7 @@ import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-run
6
6
  * Tool: └─ ✓/✗ toolName (duration)
7
7
  * System: dimmed text
8
8
  */
9
- import { useState, useEffect } from "react";
9
+ import React, { useState, useEffect } from "react";
10
10
  import { Box, Text } from "ink";
11
11
  import stringWidth from "string-width";
12
12
  import { TOKENS } from "../lib/tokens.js";
@@ -191,7 +191,7 @@ function toolVerb(toolName) {
191
191
  return "git";
192
192
  return toolName;
193
193
  }
194
- function ToolCallLine({ tc, isLast, width }) {
194
+ const ToolCallLine = React.memo(function ToolCallLine({ tc, isLast, width }) {
195
195
  const argsTruncated = truncateArgs(tc.argsSummary, 38);
196
196
  // Resolve diff
197
197
  let resolvedDiff = null;
@@ -221,13 +221,52 @@ function ToolCallLine({ tc, isLast, width }) {
221
221
  _jsxs(_Fragment, { children: [_jsx(Text, { color: "red", children: " \u2717" }), _jsxs(Text, { dimColor: true, children: [" ", toolVerb(tc.toolName)] }), argsTruncated ? _jsxs(Text, { dimColor: true, children: [" ", argsTruncated] }) : null] })) : (
222
222
  // Success: dim ✓ + dim verb + args + duration
223
223
  _jsxs(_Fragment, { children: [_jsx(Text, { color: "#3a7d44", children: " \u2713" }), _jsxs(Text, { dimColor: true, children: [" ", toolVerb(tc.toolName)] }), argsTruncated ? _jsxs(Text, { dimColor: true, children: [" ", argsTruncated] }) : null, tc.duration != null ? (_jsxs(Text, { color: "#555555", children: [" ", tc.duration.toFixed(1), "s"] })) : null] }))] }), displayDiff && (_jsxs(Box, { flexDirection: "column", paddingLeft: 4, children: [_jsx(DiffView, { diff: displayDiff, width: width - 6 }), truncatedLines > 0 && (_jsxs(Text, { dimColor: true, children: [" \u2026 ", truncatedLines, " more line", truncatedLines === 1 ? "" : "s"] }))] }))] }));
224
- }
225
- export function MessageBubble({ message, width, isLatest, }) {
224
+ });
225
+ export const MessageBubble = React.memo(function MessageBubble({ message, width, isLatest, }) {
226
226
  const msg = message;
227
227
  const isBannerMessage = msg.role === "system" &&
228
228
  msg.content.includes(BANNER_TITLE_PREFIX) &&
229
229
  msg.content.includes(BANNER_SUBTITLE);
230
230
  switch (msg.role) {
231
+ case "queued_user": {
232
+ // Same layout as user bubble, but dimmed: ▶ prefix + dark bg + gray text
233
+ const maxContentWidth = width - 5;
234
+ const lines = [];
235
+ const rawLines = msg.content.split("\n");
236
+ for (const rawLine of rawLines) {
237
+ if (!rawLine) {
238
+ lines.push("");
239
+ continue;
240
+ }
241
+ const words = rawLine.split(" ");
242
+ let currentLine = "";
243
+ let currentWidth = 0;
244
+ for (const word of words) {
245
+ const wordW = stringWidth(word);
246
+ if (currentWidth > 0 && currentWidth + 1 + wordW > maxContentWidth) {
247
+ lines.push(currentLine);
248
+ currentLine = word;
249
+ currentWidth = wordW;
250
+ }
251
+ else {
252
+ currentLine = currentWidth > 0 ? `${currentLine} ${word}` : word;
253
+ currentWidth = currentWidth > 0 ? currentWidth + 1 + wordW : wordW;
254
+ }
255
+ }
256
+ if (currentLine)
257
+ lines.push(currentLine);
258
+ }
259
+ if (lines.length === 0)
260
+ lines.push("");
261
+ const fillWidth = width - 2;
262
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [lines.map((line, i) => {
263
+ const prefix = i === 0 ? "> " : " ";
264
+ const full = `${prefix}${line}`;
265
+ const dispW = stringWidth(full);
266
+ const pad = Math.max(0, fillWidth - dispW);
267
+ return (_jsxs(Text, { backgroundColor: "#1a1a1a", color: "#4b5563", children: [full, " ".repeat(pad)] }, i));
268
+ }), _jsx(Text, { dimColor: true, children: " \u23F8 queued" })] }));
269
+ }
231
270
  case "user": {
232
271
  // Claude Code style: left-aligned, solid dark bg bar, > prefix
233
272
  // Use stringWidth for CJK-safe wrapping (Korean/Chinese chars = 2 terminal columns each)
@@ -311,11 +350,11 @@ export function MessageBubble({ message, width, isLatest, }) {
311
350
  // What's new items for current version
312
351
  const borderColor = "#334155";
313
352
  const B = TOKENS.box;
314
- return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, paddingLeft: 0, children: [_jsxs(Text, { color: borderColor, children: [B.topLeft, B.horizontal.repeat(2), " ", title, " ", B.horizontal.repeat(Math.max(0, width - title.length - 6)), B.topRight] }), _jsxs(Box, { flexDirection: "row", children: [_jsx(Box, { flexDirection: "column", paddingLeft: 2, flexGrow: 0, children: _jsx(PixelFoxSprite, {}) }), _jsx(Box, { flexDirection: "column", paddingLeft: 1, paddingRight: 1, children: Array.from({ length: FOX_PIXEL_SPRITE.length }).map((_, i) => (_jsx(Text, { color: borderColor, children: B.vertical }, i))) }), _jsxs(Box, { flexDirection: "column", flexGrow: 1, paddingRight: 2, justifyContent: "center", children: [_jsx(Box, { height: 1 }), meta.model && (_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: "model " }), _jsx(Text, { color: "white", children: meta.model })] })), meta.provider && (_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: "via " }), _jsx(Text, { dimColor: true, children: meta.provider })] })), meta.cwd && (_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: "dir " }), _jsx(Text, { dimColor: true, children: meta.cwd })] })), _jsx(Box, { height: 1 }), _jsx(Text, { dimColor: true, children: help }), _jsx(Text, { dimColor: true, children: site })] })] }), _jsxs(Text, { color: borderColor, children: [B.bottomLeft, B.horizontal.repeat(Math.max(0, width - 2)), B.bottomRight] })] }));
353
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, paddingLeft: 0, children: [_jsxs(Text, { color: borderColor, children: [B.topLeft, B.horizontal.repeat(2), " ", title, " ", B.horizontal.repeat(Math.max(0, width - stringWidth(title) - 6)), B.topRight] }), _jsxs(Box, { flexDirection: "row", children: [_jsx(Box, { flexDirection: "column", paddingLeft: 2, flexGrow: 0, children: _jsx(PixelFoxSprite, {}) }), _jsx(Box, { flexDirection: "column", paddingLeft: 1, paddingRight: 1, children: Array.from({ length: FOX_PIXEL_SPRITE.length }).map((_, i) => (_jsx(Text, { color: borderColor, children: B.vertical }, i))) }), _jsxs(Box, { flexDirection: "column", flexGrow: 1, paddingRight: 2, justifyContent: "center", children: [_jsx(Box, { height: 1 }), meta.model && (_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: "model " }), _jsx(Text, { color: "white", children: meta.model })] })), meta.provider && (_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: "via " }), _jsx(Text, { dimColor: true, children: meta.provider })] })), meta.cwd && (_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: "dir " }), _jsx(Text, { dimColor: true, children: meta.cwd })] })), _jsx(Box, { height: 1 }), _jsx(Text, { dimColor: true, children: help }), _jsx(Text, { dimColor: true, children: site })] })] }), _jsxs(Text, { color: borderColor, children: [B.bottomLeft, B.horizontal.repeat(Math.max(0, width - stringWidth("") - 2)), B.bottomRight] })] }));
315
354
  }
316
355
  return (_jsx(Box, { marginBottom: 1, children: _jsx(Text, { dimColor: true, children: msg.content }) }));
317
356
  default:
318
357
  return _jsx(Box, {});
319
358
  }
320
- }
359
+ });
321
360
  //# sourceMappingURL=MessageBubble.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageBubble.js","sourceRoot":"","sources":["../../../src/tui/components/MessageBubble.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessageBubble.js","sourceRoot":"","sources":["../../../src/tui/components/MessageBubble.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../src/tui/components/MessageList.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAyD,MAAM,OAAO,CAAC;AAO9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA2CD,eAAO,MAAM,WAAW,8CA+GtB,CAAC"}
1
+ {"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../src/tui/components/MessageList.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAyD,MAAM,OAAO,CAAC;AAO9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA2CD,eAAO,MAAM,WAAW,8CAqHtB,CAAC"}
@@ -9,7 +9,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
9
  * Ink's unreliable overflow="hidden" from causing messages to bleed
10
10
  * into adjacent components.
11
11
  */
12
- import { memo, useState, useEffect, useRef, useCallback } from "react";
12
+ import React, { memo, useState, useEffect, useRef, useCallback } from "react";
13
13
  import { Box, Text, useInput } from "ink";
14
14
  import { useTerminalSize } from "../hooks/useTerminalSize.js";
15
15
  import { MessageBubble } from "./MessageBubble.js";
@@ -28,7 +28,7 @@ function estimateLines(msg, columns) {
28
28
  const contentWidth = Math.max(20, columns - 12); // extra 4-col margin vs prev
29
29
  const textLen = msg.content?.length ?? 0;
30
30
  // CJK chars can be 2x width → multiply by 1.3 to account for mixed CJK content
31
- const contentLines = textLen === 0 ? 0 : Math.ceil((textLen * 1.3) / contentWidth);
31
+ const contentLines = textLen === 0 ? 0 : Math.ceil(textLen / contentWidth) + 1;
32
32
  switch (msg.role) {
33
33
  case "user":
34
34
  return Math.max(1, contentLines) + 2; // +1 blank line after
@@ -112,11 +112,13 @@ export const MessageList = memo(function MessageList({ messages, isThinking, max
112
112
  budget -= lines;
113
113
  startIdx = i;
114
114
  }
115
- const visibleMessages = messages.slice(startIdx, endIdx);
115
+ const visibleMessages = React.useMemo(() => messages.slice(startIdx, endIdx), [messages, startIdx, endIdx]);
116
116
  // Claude Code–style layout: start from top when messages are few,
117
117
  // pin to bottom once they fill the viewport (feels natural, not floating in center)
118
118
  const totalVisibleLines = visibleMessages.reduce((sum, m) => sum + estimateLines(m, columns), 0);
119
- const justifyContent = totalVisibleLines >= height - reservedLines ? "flex-end" : "flex-start";
120
- return (_jsxs(Box, { flexDirection: "column", height: height, overflow: "hidden", justifyContent: justifyContent, children: [visibleMessages.length === 0 && !isThinking && (_jsx(Box, { justifyContent: "center", flexGrow: 1, children: _jsx(Text, { dimColor: true, children: "Type a message to start..." }) })), visibleMessages.map((msg, i) => (_jsx(MessageBubble, { message: msg, width: columns, isLatest: startIdx + i === messages.length - 1 }, msg.id))), pendingMessage && (_jsxs(Box, { flexShrink: 0, marginBottom: 1, children: [_jsx(Text, { color: "#4b5563", children: "\u25B6 " }), _jsx(Text, { color: "#4b5563", children: pendingMessage.length > columns - 14 ? pendingMessage.slice(0, columns - 17) + "…" : pendingMessage }), _jsx(Text, { color: "#374151", children: " \u23F8queued" })] })), isThinking && !messages.some((m) => m.isStreaming) && (_jsxs(Box, { marginTop: 0, flexShrink: 0, children: [_jsx(Text, { children: " " }), _jsx(Spinner, { label: `${TOKENS.brand.name} ·····` })] }))] }));
119
+ const justifyContent = totalVisibleLines < height * 0.7
120
+ ? "flex-start"
121
+ : "flex-end";
122
+ return (_jsxs(Box, { flexDirection: "column", height: height, overflow: "hidden", justifyContent: "flex-end", flexGrow: 1, children: [visibleMessages.length === 0 && !isThinking && (_jsx(Box, { justifyContent: "center", flexGrow: 1, children: _jsx(Text, { dimColor: true, children: "Type a message to start..." }) })), visibleMessages.map((msg, i) => (_jsx(MessageBubble, { message: msg, width: columns, isLatest: startIdx + i === messages.length - 1 }, msg.id))), pendingMessage && (_jsxs(Box, { flexShrink: 0, marginBottom: 1, children: [_jsx(Text, { color: "#4b5563", children: "\u25B6 " }), _jsx(Text, { color: "#4b5563", children: pendingMessage.length > columns - 14 ? pendingMessage.slice(0, columns - 17) + "…" : pendingMessage }), _jsx(Text, { color: "#374151", children: " \u23F8queued" })] })), isThinking && !messages.some((m) => m.isStreaming) && (_jsxs(Box, { marginTop: 0, flexShrink: 0, children: [_jsx(Text, { children: " " }), _jsx(Spinner, { label: `${TOKENS.brand.name} ·····` })] }))] }));
121
123
  });
122
124
  //# sourceMappingURL=MessageList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageList.js","sourceRoot":"","sources":["../../../src/tui/components/MessageList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MessageList.js","sourceRoot":"","sources":["../../../src/tui/components/MessageList.tsx"],"names":[],"mappings":"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"}
@@ -1,17 +1,13 @@
1
1
  /**
2
- * ReasoningPanel — collapsible panel below InputBox showing LLM thinking content.
2
+ * ReasoningPanel — tree-based collapsible reasoning viewer.
3
3
  *
4
- * Layout:
5
- * collapsed: ── reasoning N lines ▼ ── (1 row, always visible when content exists)
6
- * expanded: reasoning ══════════════════╗
7
- * thinking content here... │
8
- * (scrollable with ↑↓) │
9
- * ╚══════════════════════════════╝
10
- *
11
- * Keys:
12
- * r — toggle open/close from anywhere
13
- * ↑ / ↓ — scroll when open
14
- * Enter / Esc — close when open
4
+ * UX
5
+ * - r : open / close
6
+ * - ↑ / ↓ : move selection
7
+ * - / Enter : expand branch + open body
8
+ * - ← : collapse branch or close body
9
+ * - 1..9 : quick jump to visible node
10
+ * - esc : close panel
15
11
  */
16
12
  import React from "react";
17
13
  export interface ReasoningPanelProps {
@@ -19,7 +15,7 @@ export interface ReasoningPanelProps {
19
15
  isOpen: boolean;
20
16
  onOpen: () => void;
21
17
  onClose: () => void;
22
- /** Max rows when expanded */
18
+ /** Preview line budget per opened section body */
23
19
  maxHeight?: number;
24
20
  }
25
21
  export declare function ReasoningPanel({ content, isOpen, onOpen, onClose, maxHeight, }: ReasoningPanelProps): React.JSX.Element | null;
@@ -1 +1 @@
1
- {"version":3,"file":"ReasoningPanel.d.ts","sourceRoot":"","sources":["../../../src/tui/components/ReasoningPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAKxC,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAO,EACP,SAAc,GACf,EAAE,mBAAmB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAyFhD"}
1
+ {"version":3,"file":"ReasoningPanel.d.ts","sourceRoot":"","sources":["../../../src/tui/components/ReasoningPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAuC,MAAM,OAAO,CAAC;AAO5D,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAqMD,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAO,EACP,SAAc,GACf,EAAE,mBAAmB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CA0NhD"}
@@ -1,28 +1,200 @@
1
1
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
2
  /**
3
- * ReasoningPanel — collapsible panel below InputBox showing LLM thinking content.
3
+ * ReasoningPanel — tree-based collapsible reasoning viewer.
4
4
  *
5
- * Layout:
6
- * collapsed: ── reasoning N lines ▼ ── (1 row, always visible when content exists)
7
- * expanded: reasoning ══════════════════╗
8
- * thinking content here... │
9
- * (scrollable with ↑↓) │
10
- * ╚══════════════════════════════╝
11
- *
12
- * Keys:
13
- * r — toggle open/close from anywhere
14
- * ↑ / ↓ — scroll when open
15
- * Enter / Esc — close when open
5
+ * UX
6
+ * - r : open / close
7
+ * - ↑ / ↓ : move selection
8
+ * - / Enter : expand branch + open body
9
+ * - ← : collapse branch or close body
10
+ * - 1..9 : quick jump to visible node
11
+ * - esc : close panel
16
12
  */
17
- import { useState } from "react";
13
+ import { useEffect, useMemo, useState } from "react";
18
14
  import { Box, Text, useInput } from "ink";
15
+ import stringWidth from "string-width";
16
+ import { MarkdownRenderer } from "./MarkdownRenderer.js";
19
17
  import { useTerminalSize } from "../hooks/useTerminalSize.js";
20
18
  import { TOKENS } from "../lib/tokens.js";
21
- export function ReasoningPanel({ content, isOpen, onOpen, onClose, maxHeight = 10, }) {
19
+ function slugify(value) {
20
+ return value
21
+ .toLowerCase()
22
+ .replace(/[^\p{L}\p{N}\s-]/gu, "")
23
+ .trim()
24
+ .replace(/\s+/g, "-")
25
+ .slice(0, 32);
26
+ }
27
+ function parseReasoningTree(content) {
28
+ const lines = content.split("\n");
29
+ const roots = [];
30
+ const stack = [];
31
+ const preamble = [];
32
+ let currentNode = null;
33
+ let seq = 0;
34
+ for (const line of lines) {
35
+ const m = line.match(/^(#{1,4})\s+(.+)$/);
36
+ if (m) {
37
+ const level = m[1].length;
38
+ const title = m[2].trim();
39
+ const node = {
40
+ id: `${seq++}-${level}-${slugify(title) || "section"}`,
41
+ title,
42
+ level,
43
+ body: "",
44
+ children: [],
45
+ };
46
+ while (stack.length > 0 && stack[stack.length - 1].level >= level) {
47
+ stack.pop();
48
+ }
49
+ const parent = stack[stack.length - 1];
50
+ if (parent) {
51
+ parent.children.push(node);
52
+ }
53
+ else {
54
+ roots.push(node);
55
+ }
56
+ stack.push(node);
57
+ currentNode = node;
58
+ continue;
59
+ }
60
+ if (currentNode) {
61
+ currentNode.body += currentNode.body ? `\n${line}` : line;
62
+ }
63
+ else {
64
+ preamble.push(line);
65
+ }
66
+ }
67
+ const preambleText = preamble.join("\n").trim();
68
+ if (preambleText) {
69
+ roots.unshift({
70
+ id: "overview",
71
+ title: "Overview",
72
+ level: 1,
73
+ body: preambleText,
74
+ children: [],
75
+ });
76
+ }
77
+ return roots;
78
+ }
79
+ function collectIds(nodes) {
80
+ const out = [];
81
+ const walk = (items) => {
82
+ for (const item of items) {
83
+ out.push(item.id);
84
+ walk(item.children);
85
+ }
86
+ };
87
+ walk(nodes);
88
+ return out;
89
+ }
90
+ function countNodes(nodes) {
91
+ let count = 0;
92
+ const walk = (items) => {
93
+ for (const item of items) {
94
+ count += 1;
95
+ walk(item.children);
96
+ }
97
+ };
98
+ walk(nodes);
99
+ return count;
100
+ }
101
+ function findLastNodeWithBody(nodes) {
102
+ let last = null;
103
+ const walk = (items) => {
104
+ for (const item of items) {
105
+ if (item.body.trim())
106
+ last = item;
107
+ walk(item.children);
108
+ }
109
+ };
110
+ walk(nodes);
111
+ return last;
112
+ }
113
+ function buildInitialExpandedBranches(nodes) {
114
+ const expanded = {};
115
+ const walk = (items) => {
116
+ for (const item of items) {
117
+ expanded[item.id] = item.level <= 1;
118
+ walk(item.children);
119
+ }
120
+ };
121
+ walk(nodes);
122
+ return expanded;
123
+ }
124
+ function flattenVisibleTree(nodes, expandedBranches) {
125
+ const rows = [];
126
+ const walk = (items, depth, ancestorHasPipe) => {
127
+ items.forEach((node, index) => {
128
+ const isLast = index === items.length - 1;
129
+ const prefix = depth === 0
130
+ ? ""
131
+ : ancestorHasPipe
132
+ .map((hasPipe) => (hasPipe ? `${TOKENS.tree.pipe} ` : " "))
133
+ .join("") + (isLast ? `${TOKENS.tree.last} ` : `${TOKENS.tree.branch} `);
134
+ const hasChildren = node.children.length > 0;
135
+ const isExpanded = !!expandedBranches[node.id];
136
+ rows.push({
137
+ node,
138
+ depth,
139
+ prefix,
140
+ hasChildren,
141
+ isExpanded,
142
+ });
143
+ if (hasChildren && isExpanded) {
144
+ walk(node.children, depth + 1, [...ancestorHasPipe, !isLast]);
145
+ }
146
+ });
147
+ };
148
+ walk(nodes, 0, []);
149
+ return rows;
150
+ }
151
+ function truncateMarkdownSafely(markdown, maxLines) {
152
+ const rawLines = markdown.split("\n");
153
+ if (rawLines.length <= maxLines) {
154
+ return { content: markdown, truncated: false };
155
+ }
156
+ const sliced = rawLines.slice(0, maxLines);
157
+ const fenceCount = sliced.filter((line) => line.trim().startsWith("```")).length;
158
+ if (fenceCount % 2 === 1) {
159
+ sliced.push("```");
160
+ }
161
+ return {
162
+ content: sliced.join("\n"),
163
+ truncated: true,
164
+ };
165
+ }
166
+ export function ReasoningPanel({ content, isOpen, onOpen, onClose, maxHeight = 14, }) {
22
167
  const { columns } = useTerminalSize();
23
- const [scrollOffset, setScrollOffset] = useState(0);
24
- const lines = content.split("\n").filter(l => l.trim().length > 0);
25
- const totalLines = lines.length;
168
+ const tree = useMemo(() => parseReasoningTree(content), [content]);
169
+ const allIds = useMemo(() => collectIds(tree), [tree]);
170
+ const totalSections = useMemo(() => countNodes(tree), [tree]);
171
+ const [selectedId, setSelectedId] = useState(null);
172
+ const [openBodyId, setOpenBodyId] = useState(null);
173
+ const [expandedBranches, setExpandedBranches] = useState({});
174
+ useEffect(() => {
175
+ const nextExpanded = buildInitialExpandedBranches(tree);
176
+ setExpandedBranches((prev) => {
177
+ const merged = {};
178
+ for (const id of allIds) {
179
+ merged[id] = prev[id] ?? nextExpanded[id] ?? false;
180
+ }
181
+ return merged;
182
+ });
183
+ if (!selectedId || !allIds.includes(selectedId)) {
184
+ setSelectedId(allIds[0] ?? null);
185
+ }
186
+ if (!openBodyId || !allIds.includes(openBodyId)) {
187
+ const last = findLastNodeWithBody(tree);
188
+ setOpenBodyId(last?.id ?? allIds[0] ?? null);
189
+ }
190
+ }, [tree, allIds, openBodyId, selectedId]);
191
+ const visibleRows = useMemo(() => flattenVisibleTree(tree, expandedBranches), [tree, expandedBranches]);
192
+ const selectedIndex = useMemo(() => {
193
+ const idx = visibleRows.findIndex((row) => row.node.id === selectedId);
194
+ return idx >= 0 ? idx : 0;
195
+ }, [visibleRows, selectedId]);
196
+ const selectedRow = visibleRows[selectedIndex];
197
+ const openNodeTitle = visibleRows.find((row) => row.node.id === openBodyId)?.node.title ?? "reasoning";
26
198
  useInput((input, key) => {
27
199
  if (input === "r") {
28
200
  if (isOpen)
@@ -31,39 +203,95 @@ export function ReasoningPanel({ content, isOpen, onOpen, onClose, maxHeight = 1
31
203
  onOpen();
32
204
  return;
33
205
  }
34
- if (!isOpen)
206
+ if (!isOpen || visibleRows.length === 0)
35
207
  return;
36
208
  if (key.upArrow) {
37
- setScrollOffset(p => Math.max(0, p - 1));
209
+ const next = visibleRows[Math.max(0, selectedIndex - 1)];
210
+ if (next)
211
+ setSelectedId(next.node.id);
38
212
  return;
39
213
  }
40
214
  if (key.downArrow) {
41
- setScrollOffset(p => Math.min(Math.max(0, totalLines - maxHeight), p + 1));
215
+ const next = visibleRows[Math.min(visibleRows.length - 1, selectedIndex + 1)];
216
+ if (next)
217
+ setSelectedId(next.node.id);
42
218
  return;
43
219
  }
44
- if (key.return || key.escape) {
45
- onClose();
46
- setScrollOffset(0);
220
+ if (/^[1-9]$/.test(input)) {
221
+ const idx = Number(input) - 1;
222
+ const row = visibleRows[idx];
223
+ if (row) {
224
+ setSelectedId(row.node.id);
225
+ setOpenBodyId(row.node.id);
226
+ if (row.hasChildren) {
227
+ setExpandedBranches((prev) => ({ ...prev, [row.node.id]: true }));
228
+ }
229
+ }
47
230
  return;
48
231
  }
232
+ if (!selectedRow)
233
+ return;
234
+ const current = selectedRow.node;
235
+ const hasChildren = selectedRow.hasChildren;
236
+ const isExpanded = selectedRow.isExpanded;
237
+ if (key.leftArrow) {
238
+ if (hasChildren && isExpanded) {
239
+ setExpandedBranches((prev) => ({ ...prev, [current.id]: false }));
240
+ }
241
+ else if (openBodyId === current.id) {
242
+ setOpenBodyId(null);
243
+ }
244
+ return;
245
+ }
246
+ if (key.rightArrow || key.return || input === " ") {
247
+ if (hasChildren) {
248
+ setExpandedBranches((prev) => ({ ...prev, [current.id]: true }));
249
+ }
250
+ if (current.body.trim()) {
251
+ setOpenBodyId(current.id);
252
+ }
253
+ return;
254
+ }
255
+ if (key.escape) {
256
+ onClose();
257
+ }
49
258
  });
50
- if (!content)
259
+ if (!content.trim())
51
260
  return null;
52
261
  const B = TOKENS.box;
53
262
  const borderColor = "#334155";
54
263
  const label = " ◈ reasoning ";
264
+ const previewLineLimit = Math.max(6, maxHeight);
55
265
  if (!isOpen) {
56
- // Collapsed bar matches InputBox separator style
57
- const lineCount = `${totalLines} line${totalLines !== 1 ? "s" : ""}`;
58
- const hint = `${label} ${lineCount} ▼ (r to expand)`;
59
- const pad = Math.max(0, columns - hint.length - 2);
266
+ const hint = `${label}${totalSections} sections ▼ (r to expand)`;
267
+ const pad = Math.max(0, columns - stringWidth(hint) - 1);
60
268
  return (_jsx(Box, { width: columns, children: _jsxs(Text, { dimColor: true, children: [B.horizontal, hint, B.horizontal.repeat(pad)] }) }));
61
269
  }
62
- // Expanded panel
63
- const visibleLines = lines.slice(scrollOffset, scrollOffset + maxHeight);
64
- const innerWidth = Math.max(10, columns - 4);
65
- const titlePad = Math.max(0, columns - label.length - 4);
66
- const canScrollDown = scrollOffset + maxHeight < totalLines;
67
- return (_jsxs(Box, { flexDirection: "column", width: columns, children: [_jsxs(Text, { color: borderColor, children: [B.topLeft, B.horizontal, label, B.horizontal.repeat(titlePad), B.topRight] }), visibleLines.map((line, i) => (_jsxs(Box, { width: columns, children: [_jsxs(Text, { color: borderColor, children: [B.vertical, " "] }), _jsx(Box, { width: innerWidth, children: _jsx(Text, { color: "yellow", wrap: "wrap", children: line }) }), _jsxs(Text, { color: borderColor, children: [" ", B.vertical] })] }, i))), _jsxs(Box, { children: [_jsxs(Text, { color: borderColor, children: [B.vertical, " "] }), _jsxs(Text, { dimColor: true, children: [scrollOffset > 0 ? "↑ " : " ", `${scrollOffset + 1}–${Math.min(scrollOffset + maxHeight, totalLines)} / ${totalLines}`, canScrollDown ? " ↓" : " ", " esc to close".padStart(innerWidth - 16)] }), _jsxs(Text, { color: borderColor, children: [" ", B.vertical] })] }), _jsxs(Text, { color: borderColor, children: [B.bottomLeft, B.horizontal.repeat(columns - 2), B.bottomRight] })] }));
270
+ const title = `${label}${openNodeTitle}`;
271
+ const titlePad = Math.max(0, columns - stringWidth(title) - 2);
272
+ const footerHint = "↑↓ move enter/→ open ← collapse 1-9 jump esc close";
273
+ const footer = footerHint.length > columns - 4
274
+ ? footerHint.slice(0, columns - 7) + "..."
275
+ : footerHint;
276
+ return (_jsxs(Box, { flexDirection: "column", width: columns, children: [_jsxs(Text, { color: borderColor, children: [B.topLeft, title, B.horizontal.repeat(titlePad), B.topRight] }), visibleRows.map((row, index) => {
277
+ const isSelected = row.node.id === selectedId;
278
+ const isBodyOpen = row.node.id === openBodyId && !!row.node.body.trim();
279
+ const bodyPreview = isBodyOpen
280
+ ? truncateMarkdownSafely(row.node.body, previewLineLimit)
281
+ : null;
282
+ const marker = row.hasChildren
283
+ ? row.isExpanded
284
+ ? "▼"
285
+ : "▶"
286
+ : isBodyOpen
287
+ ? "●"
288
+ : "○";
289
+ const lineCount = row.node.body.trim()
290
+ ? row.node.body.split("\n").filter((line) => line.trim()).length
291
+ : 0;
292
+ const depthPad = Math.min(12, row.depth * 2 + 2);
293
+ const bodyWidth = Math.max(20, columns - depthPad - 6);
294
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsxs(Text, { color: borderColor, children: [B.vertical, " "] }), _jsxs(Box, { width: Math.max(10, columns - 4), children: [_jsx(Text, { color: isSelected ? "cyan" : "white", bold: isSelected, children: `${index < 9 ? `${index + 1} ` : " "}${row.prefix}${marker} ${row.node.title}` }), lineCount > 0 ? (_jsx(Text, { dimColor: true, children: ` ${lineCount}L` })) : null] }), _jsxs(Text, { color: borderColor, children: [" ", B.vertical] })] }), isBodyOpen && bodyPreview && (_jsxs(Box, { paddingLeft: depthPad, children: [_jsxs(Text, { color: borderColor, children: [TOKENS.tree.pipe, " "] }), _jsxs(Box, { flexDirection: "column", width: bodyWidth, children: [_jsx(MarkdownRenderer, { content: bodyPreview.content, width: bodyWidth }), bodyPreview.truncated ? (_jsx(Text, { dimColor: true, children: "\u2026 more hidden" })) : null] })] }))] }, row.node.id));
295
+ }), _jsxs(Box, { children: [_jsxs(Text, { color: borderColor, children: [B.vertical, " "] }), _jsx(Text, { dimColor: true, children: footer.padEnd(Math.max(0, columns - 4)) }), _jsxs(Text, { color: borderColor, children: [" ", B.vertical] })] }), _jsxs(Text, { color: borderColor, children: [B.bottomLeft, B.horizontal.repeat(Math.max(0, columns - 2)), B.bottomRight] })] }));
68
296
  }
69
297
  //# sourceMappingURL=ReasoningPanel.js.map