@yuaone/cli 1.0.9 → 1.0.12

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.
@@ -1,15 +1,12 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /**
3
3
  * MessageList — scrollable message area.
4
- * Uses MessageBubble for individual message rendering.
5
- * Supports PageUp/PageDown scroll, auto-pins to bottom on new content.
6
4
  *
7
- * Anti-overlap strategy: estimate each message's line count and only
8
- * render enough messages to fill the container height. This prevents
9
- * Ink's unreliable overflow="hidden" from causing messages to bleed
10
- * into adjacent components.
5
+ * Layout: bottom-aligned chat (latest messages at bottom, like Claude.ai).
6
+ * Scroll: line-based (not message-based) smooth without jumps.
7
+ * Stable: estimateLines is frozen during streaming to prevent startIdx jitter.
11
8
  */
12
- import React, { memo, useState, useEffect, useRef, useCallback } from "react";
9
+ import { memo, useState, useEffect, useRef, useCallback, useMemo } from "react";
13
10
  import { Box, Text, useInput } from "ink";
14
11
  import { useTerminalSize } from "../hooks/useTerminalSize.js";
15
12
  import { MessageBubble } from "./MessageBubble.js";
@@ -22,34 +19,28 @@ const DIFF_TOOL_NAMES = new Set(["file_write", "file_edit", "edit_file", "write_
22
19
  * Conservative (overestimates) to guarantee no overflow.
23
20
  */
24
21
  function estimateLines(msg, columns) {
25
- // Use a narrower effective width + generous safety margin to prevent overflow.
26
- // Ink's Yoga layout + CJK double-width chars can exceed estimates, so we
27
- // intentionally over-count to avoid content bleeding into adjacent components.
28
- const contentWidth = Math.max(20, columns - 12); // extra 4-col margin vs prev
22
+ const contentWidth = Math.max(20, columns - 12);
29
23
  const textLen = msg.content?.length ?? 0;
30
- // CJK chars can be 2x width → multiply by 1.3 to account for mixed CJK content
31
24
  const contentLines = textLen === 0 ? 0 : Math.ceil(textLen / contentWidth) + 1;
32
25
  switch (msg.role) {
33
26
  case "user":
34
- return Math.max(1, contentLines) + 2; // +1 blank line after
27
+ return Math.max(1, contentLines) + 2;
35
28
  case "assistant": {
36
29
  const toolCalls = msg.toolCalls ?? [];
37
- // Each tool call: 1 status line + up to 24 diff lines if file write/edit
38
30
  const toolLines = toolCalls.reduce((sum, tc) => {
39
31
  const hasDiff = DIFF_TOOL_NAMES.has(tc.toolName) && tc.status === "success";
40
- return sum + 2 + (hasDiff ? 24 : 0); // +2 for breathing room
32
+ return sum + 2 + (hasDiff ? 24 : 0);
41
33
  }, 0);
42
34
  return Math.max(2, contentLines) + toolLines + 2;
43
35
  }
44
36
  case "tool":
45
37
  return 2;
46
38
  case "system": {
47
- // Banner message with 16×10 fox sprite = 10 sprite rows + 4 text lines
48
39
  const isBanner = msg.content?.includes("YUAN v") && msg.content?.includes("Autonomous Coding Agent");
49
40
  if (isBanner)
50
41
  return 16;
51
42
  const newlines = (msg.content?.match(/\n/g) ?? []).length;
52
- return Math.max(1, newlines + 2); // +1 margin
43
+ return Math.max(1, newlines + 2);
53
44
  }
54
45
  default:
55
46
  return 2;
@@ -58,70 +49,97 @@ function estimateLines(msg, columns) {
58
49
  export const MessageList = memo(function MessageList({ messages, isThinking, maxHeight, pendingMessage, }) {
59
50
  const { columns, rows } = useTerminalSize();
60
51
  const height = maxHeight ?? rows - 4;
61
- // Pinned = auto-scroll mode (show newest). false = user browsing history.
52
+ // Line-based scroll offset: 0 = pinned to bottom (latest), N = scrolled up N lines
53
+ const [lineOffset, setLineOffset] = useState(0);
62
54
  const [pinned, setPinned] = useState(true);
63
- // Manual offset from the end (0 = latest, positive = scrolled up)
64
- const [scrollBack, setScrollBack] = useState(0);
65
55
  const prevMsgCountRef = useRef(messages.length);
66
- // Auto-pin when new messages arrive (if already pinned)
56
+ // Auto-scroll when new messages arrive (only if pinned)
67
57
  useEffect(() => {
68
58
  if (messages.length > prevMsgCountRef.current && pinned) {
69
- setScrollBack(0);
59
+ setLineOffset(0);
70
60
  }
71
61
  prevMsgCountRef.current = messages.length;
72
62
  }, [messages.length, pinned]);
73
- // Key handling for scroll (PageUp/PageDown + Ctrl+Up/Down)
63
+ // Whether any message is currently streaming
64
+ const isStreaming = useMemo(() => messages.some((m) => m.isStreaming), [messages]);
65
+ // Line counts: FROZEN during streaming to prevent startIdx jitter.
66
+ // Streaming message gets a fixed 30-line estimate.
67
+ // Recomputed only when: message count changes, streaming stops, or columns changes.
68
+ const lineCounts = useMemo(() => messages.map((m) => (m.isStreaming ? 30 : estimateLines(m, columns))),
69
+ // eslint-disable-next-line react-hooks/exhaustive-deps
70
+ [messages.length, isStreaming, columns]);
71
+ const totalLines = useMemo(() => lineCounts.reduce((a, b) => a + b, 0), [lineCounts]);
72
+ // Viewport budget (reserve 2 lines for indicators)
73
+ const budget = Math.max(4, height - 2);
74
+ // Compute visible message indices from line-based offset
75
+ // lineOffset=0: show last `budget` lines; lineOffset=N: scroll up N lines
76
+ const visibleIndices = useMemo(() => {
77
+ const maxOffset = Math.max(0, totalLines - budget);
78
+ const clampedOffset = Math.min(lineOffset, maxOffset);
79
+ // Window in "lines from bottom" coordinates
80
+ // windowStart = bottom of visible window (closest to end of chat)
81
+ // windowEnd = top of visible window
82
+ const windowStart = clampedOffset;
83
+ const windowEnd = clampedOffset + budget;
84
+ const indices = [];
85
+ let posFromBottom = 0;
86
+ for (let i = messages.length - 1; i >= 0; i--) {
87
+ const msgLines = lineCounts[i] ?? 2;
88
+ const msgBottom = posFromBottom;
89
+ const msgTop = posFromBottom + msgLines;
90
+ // Message entirely above visible window → stop walking
91
+ if (msgBottom >= windowEnd) {
92
+ posFromBottom += msgLines;
93
+ continue;
94
+ }
95
+ // Message entirely below visible window → stop
96
+ if (msgTop <= windowStart) {
97
+ break;
98
+ }
99
+ // Message overlaps → include
100
+ indices.unshift(i);
101
+ posFromBottom += msgLines;
102
+ }
103
+ return indices;
104
+ }, [lineCounts, lineOffset, messages.length, totalLines, budget]);
105
+ const startIdx = visibleIndices[0] ?? 0;
106
+ const visibleMessages = useMemo(() => visibleIndices.map((i) => messages[i]), [visibleIndices, messages]);
107
+ // Compute visible line total for top-spacer decision
108
+ const visibleLineTotal = useMemo(() => visibleIndices.reduce((sum, i) => sum + (lineCounts[i] ?? 2), 0), [visibleIndices, lineCounts]);
109
+ // Bottom-aligned chat: add top spacer when pinned and content doesn't fill viewport
110
+ const addTopSpacer = pinned && lineOffset === 0 && visibleLineTotal < budget;
111
+ // Keyboard scroll
74
112
  useInput((_input, key) => {
75
113
  if (key.pageUp || (key.ctrl && key.upArrow)) {
76
114
  setPinned(false);
77
- setScrollBack((prev) => Math.min(prev + 5, Math.max(0, messages.length - 1)));
115
+ setLineOffset((prev) => prev + Math.floor(height / 2));
78
116
  }
79
117
  else if (key.pageDown || (key.ctrl && key.downArrow)) {
80
- setScrollBack((prev) => {
81
- const next = Math.max(0, prev - 5);
118
+ setLineOffset((prev) => {
119
+ const next = Math.max(0, prev - Math.floor(height / 2));
82
120
  if (next === 0)
83
121
  setPinned(true);
84
122
  return next;
85
123
  });
86
124
  }
87
125
  });
88
- // Mouse wheel scroll
126
+ // Mouse wheel: 3 lines per tick
89
127
  const handleMouseUp = useCallback(() => {
90
128
  setPinned(false);
91
- setScrollBack((prev) => {
92
- const next = prev + 1;
93
- return Math.min(next, Math.max(0, messages.length - 1));
94
- });
95
- }, [messages.length]);
129
+ setLineOffset((prev) => prev + 3);
130
+ }, []);
96
131
  const handleMouseDown = useCallback(() => {
97
- setScrollBack((prev) => {
98
- const next = Math.max(0, prev - 1);
132
+ setLineOffset((prev) => {
133
+ const next = Math.max(0, prev - 3);
99
134
  if (next === 0)
100
135
  setPinned(true);
101
136
  return next;
102
137
  });
103
138
  }, []);
104
139
  useMouseScroll(handleMouseUp, handleMouseDown);
105
- // Compute visible slice fit messages within height budget
106
- const endIdx = Math.max(0, messages.length - scrollBack);
107
- // Walk backwards from endIdx, accumulating estimated lines until we hit the height budget
108
- const reservedLines = 2; // scroll indicators + thinking
109
- let budget = height - reservedLines;
110
- let startIdx = endIdx;
111
- for (let i = endIdx - 1; i >= 0 && budget > 0; i--) {
112
- const lines = estimateLines(messages[i], columns);
113
- if (budget - lines < 0 && startIdx < endIdx)
114
- break; // don't add if it overflows (unless it's the first)
115
- budget -= lines;
116
- startIdx = i;
117
- }
118
- const visibleMessages = React.useMemo(() => messages.slice(startIdx, endIdx), [messages, startIdx, endIdx]);
119
- // Claude Code–style layout: start from top when messages are few,
120
- // pin to bottom once they fill the viewport (feels natural, not floating in center)
121
- const totalVisibleLines = visibleMessages.reduce((sum, m) => sum + estimateLines(m, columns), 0);
122
- // Claude Code style
123
- // Messages always start from top and grow downward
124
- const justifyContent = "flex-start";
125
- return (_jsxs(Box, { flexDirection: "column", height: height, overflow: "hidden", justifyContent: justifyContent, 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} ·····` })] }))] }));
140
+ const hasScrolledUp = lineOffset > 0;
141
+ return (_jsxs(Box, { flexDirection: "column", height: height, flexShrink: 0, children: [addTopSpacer && _jsx(Box, { flexGrow: 1 }), visibleMessages.length === 0 && !isThinking && (_jsx(Box, { justifyContent: "center", flexGrow: 1, children: _jsx(Text, { dimColor: true, children: "Type a message to start..." }) })), hasScrolledUp && startIdx > 0 && (_jsx(Box, { flexShrink: 0, children: _jsx(Text, { dimColor: true, children: " \u2191 pgup/wheel for older messages" }) })), visibleMessages.map((msg, i) => (_jsx(MessageBubble, { message: msg, width: columns, isLatest: visibleIndices[i] === messages.length - 1 }, msg.id))), pendingMessage && (_jsxs(Box, { flexShrink: 0, marginBottom: 1, children: [_jsx(Text, { color: "#4b5563", children: "\u25B6 " }), _jsx(Text, { color: "#4b5563", wrap: "truncate", children: pendingMessage.length > columns - 14
142
+ ? pendingMessage.slice(0, columns - 17) + "…"
143
+ : 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} ·····` })] }))] }));
126
144
  });
127
145
  //# sourceMappingURL=MessageList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageList.js","sourceRoot":"","sources":["../../../src/tui/components/MessageList.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAc5D,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;AAExF;;;GAGG;AACH,SAAS,aAAa,CAAC,GAAe,EAAE,OAAe;IACrD,+EAA+E;IAC/E,yEAAyE;IACzE,+EAA+E;IAC/E,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,6BAA6B;IAC9E,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;IACzC,+EAA+E;IACjF,MAAM,YAAY,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAE7E,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,sBAAsB;QAC9D,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;YACtC,yEAAyE;YACzE,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;gBAC7C,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC;gBAC5E,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB;YAC/D,CAAC,EAAE,CAAC,CAAC,CAAC;YACN,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;QACnD,CAAC;QACD,KAAK,MAAM;YACT,OAAO,CAAC,CAAC;QACX,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,uEAAuE;YACvE,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAC;YACrG,IAAI,QAAQ;gBAAE,OAAO,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY;QAChD,CAAC;QACD;YACE,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,WAAW,CAAC,EACnD,QAAQ,EACR,UAAU,EACV,SAAS,EACT,cAAc,GACG;IACjB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,eAAe,EAAE,CAAC;IAC5C,MAAM,MAAM,GAAG,SAAS,IAAI,IAAI,GAAG,CAAC,CAAC;IAErC,0EAA0E;IAC1E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3C,kEAAkE;IAClE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEhD,wDAAwD;IACxD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,QAAQ,CAAC,MAAM,GAAG,eAAe,CAAC,OAAO,IAAI,MAAM,EAAE,CAAC;YACxD,aAAa,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,eAAe,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC5C,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAE9B,2DAA2D;IAC3D,QAAQ,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACvB,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,SAAS,CAAC,KAAK,CAAC,CAAC;YACjB,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACvD,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE;gBACrB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;gBACnC,IAAI,IAAI,KAAK,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,CAAC;gBAChC,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,qBAAqB;IACrB,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjB,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;YACtB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAEtB,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACzC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;YACnC,IAAI,IAAI,KAAK,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,cAAc,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IAE/C,4DAA4D;IAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;IAEzD,0FAA0F;IAC1F,MAAM,aAAa,GAAG,CAAC,CAAC,CAAC,+BAA+B;IACxD,IAAI,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC;IACpC,IAAI,QAAQ,GAAG,MAAM,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,OAAO,CAAC,CAAC;QACnD,IAAI,MAAM,GAAG,KAAK,GAAG,CAAC,IAAI,QAAQ,GAAG,MAAM;YAAE,MAAM,CAAC,oDAAoD;QACxG,MAAM,IAAI,KAAK,CAAC;QAChB,QAAQ,GAAG,CAAC,CAAC;IACf,CAAC;IAEF,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CACnC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,EACtC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAC7B,CAAC;IAED,kEAAkE;IAClE,oFAAoF;IACrF,MAAM,iBAAiB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAEjG,oBAAoB;IACpB,mDAAmD;IACnD,MAAM,cAAc,GAAG,YAAY,CAAC;IAErC,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAC,QAAQ,EAAC,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,aAEpG,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAC9C,KAAC,GAAG,IAAC,cAAc,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,YACtC,KAAC,IAAI,IAAC,QAAQ,iDAAkC,GAC5C,CACP,EAGA,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAC/B,KAAC,aAAa,IAEZ,OAAO,EAAE,GAAG,EACZ,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,QAAQ,GAAG,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,IAHzC,GAAG,CAAC,EAAE,CAIX,CACH,CAAC,EAGD,cAAc,IAAI,CACjB,MAAC,GAAG,IAAC,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,aACjC,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,wBAAU,EAC/B,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,cAAc,CAAC,MAAM,GAAG,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,cAAc,GAAQ,EAClI,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,8BAAgB,IACjC,CACP,EAGA,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CACrD,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,aAC9B,KAAC,IAAI,qBAAU,EACf,KAAC,OAAO,IAAC,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,QAAQ,GAAI,IAC5C,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"MessageList.js","sourceRoot":"","sources":["../../../src/tui/components/MessageList.tsx"],"names":[],"mappings":"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"}
@@ -1,11 +1,14 @@
1
1
  /**
2
- * ReasoningPanel — tree-based collapsible reasoning viewer.
2
+ * ReasoningPanel — smart collapsible reasoning viewer.
3
+ *
4
+ * Displays ONLY real LLM extended thinking (source: "llm").
5
+ * Auto-detects section boundaries in plain text (no markdown headers required).
3
6
  *
4
7
  * UX
5
8
  * - r : open / close
6
- * - / : move selection
7
- * - / Enter : expand branch + open body
8
- * - : collapse branch or close body
9
+ * - up / down : move selection
10
+ * - right / Enter: expand branch + open body
11
+ * - left : collapse branch or close body
9
12
  * - 1..9 : quick jump to visible node
10
13
  * - esc : close panel
11
14
  */
@@ -1 +1 @@
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
+ {"version":3,"file":"ReasoningPanel.d.ts","sourceRoot":"","sources":["../../../src/tui/components/ReasoningPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;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;AAyRD,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAO,EACP,SAAc,GACf,EAAE,mBAAmB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAuOhD"}
@@ -1,12 +1,15 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /**
3
- * ReasoningPanel — tree-based collapsible reasoning viewer.
3
+ * ReasoningPanel — smart collapsible reasoning viewer.
4
+ *
5
+ * Displays ONLY real LLM extended thinking (source: "llm").
6
+ * Auto-detects section boundaries in plain text (no markdown headers required).
4
7
  *
5
8
  * UX
6
9
  * - r : open / close
7
- * - / : move selection
8
- * - / Enter : expand branch + open body
9
- * - : collapse branch or close body
10
+ * - up / down : move selection
11
+ * - right / Enter: expand branch + open body
12
+ * - left : collapse branch or close body
10
13
  * - 1..9 : quick jump to visible node
11
14
  * - esc : close panel
12
15
  */
@@ -16,6 +19,7 @@ import stringWidth from "string-width";
16
19
  import { MarkdownRenderer } from "./MarkdownRenderer.js";
17
20
  import { useTerminalSize } from "../hooks/useTerminalSize.js";
18
21
  import { TOKENS } from "../lib/tokens.js";
22
+ /* ─── Helpers ──────────────────────────────────────────────────────── */
19
23
  function slugify(value) {
20
24
  return value
21
25
  .toLowerCase()
@@ -24,6 +28,9 @@ function slugify(value) {
24
28
  .replace(/\s+/g, "-")
25
29
  .slice(0, 32);
26
30
  }
31
+ /**
32
+ * Original tree parser — used when content has markdown `#` headers.
33
+ */
27
34
  function parseReasoningTree(content) {
28
35
  const lines = content.split("\n");
29
36
  const roots = [];
@@ -64,18 +71,79 @@ function parseReasoningTree(content) {
64
71
  preamble.push(line);
65
72
  }
66
73
  }
67
- const preambleText = preamble.join("\n").trim();
68
- if (preambleText) {
69
- roots.unshift({
70
- id: "overview",
71
- title: "Overview",
74
+ // Discard preamble text (text before first ## header) — no synthetic "Overview" node
75
+ return roots;
76
+ }
77
+ /**
78
+ * Smart section parser for plain-text LLM reasoning (no markdown headers).
79
+ *
80
+ * Splits on natural boundaries:
81
+ * - Double newlines (paragraph breaks)
82
+ * - Numbered steps: "1.", "2.", "Step 1:", etc.
83
+ * - Transition phrases: "First,", "Then,", "Next,", "Finally,", "Let me", "Now ", "Actually", "Wait,"
84
+ *
85
+ * Extracts a short title from the first line of each section.
86
+ */
87
+ function parseReasoningIntoSections(content) {
88
+ // Split on double-newlines first
89
+ const paragraphs = content.split(/\n{2,}/).filter((s) => s.trim());
90
+ if (paragraphs.length === 0) {
91
+ return [];
92
+ }
93
+ if (paragraphs.length === 1) {
94
+ // Single block — show as one "Thinking" section
95
+ return [
96
+ {
97
+ id: "thinking-0",
98
+ title: "Thinking",
99
+ level: 1,
100
+ body: content.trim(),
101
+ children: [],
102
+ },
103
+ ];
104
+ }
105
+ // Group paragraphs into logical sections
106
+ return paragraphs.map((para, i) => {
107
+ const firstLine = para.split("\n")[0]?.trim() ?? "";
108
+ // Try to use first line as title if it's short enough and looks like a heading
109
+ const isShortEnough = firstLine.length > 0 && firstLine.length <= 60;
110
+ // Remove leading markers like "1.", "Step 1:", "First,", etc.
111
+ const cleanedTitle = firstLine
112
+ .replace(/^(?:step\s*\d+[:.]\s*|(\d+)[.)]\s*)/i, "")
113
+ .replace(/^(?:First|Then|Next|Finally|Now|Actually|Wait|Let me|However|So|But),?\s*/i, "")
114
+ .trim();
115
+ let title;
116
+ let body;
117
+ if (isShortEnough && cleanedTitle.length > 0) {
118
+ title = cleanedTitle.length <= 50 ? cleanedTitle : cleanedTitle.slice(0, 47) + "...";
119
+ // Body is remaining lines after first
120
+ const rest = para.split("\n").slice(1).join("\n").trim();
121
+ body = rest || para.trim();
122
+ }
123
+ else {
124
+ title = `Part ${i + 1}`;
125
+ body = para.trim();
126
+ }
127
+ return {
128
+ id: `section-${i}`,
129
+ title,
72
130
  level: 1,
73
- body: preambleText,
131
+ body,
74
132
  children: [],
75
- });
133
+ };
134
+ });
135
+ }
136
+ /**
137
+ * Choose the right parser based on content shape.
138
+ * If content has markdown `#` headers, use the tree parser; otherwise section parser.
139
+ */
140
+ function parseContent(content) {
141
+ if (/\n#{1,4}\s+/.test(content)) {
142
+ return parseReasoningTree(content);
76
143
  }
77
- return roots;
144
+ return parseReasoningIntoSections(content);
78
145
  }
146
+ /* ─── Tree traversal helpers ───────────────────────────────────────── */
79
147
  function collectIds(nodes) {
80
148
  const out = [];
81
149
  const walk = (items) => {
@@ -150,8 +218,9 @@ function flattenVisibleTree(nodes, expandedBranches) {
150
218
  }
151
219
  function truncateMarkdownSafely(markdown, maxLines) {
152
220
  const rawLines = markdown.split("\n");
221
+ const totalLines = rawLines.length;
153
222
  if (rawLines.length <= maxLines) {
154
- return { content: markdown, truncated: false };
223
+ return { content: markdown, truncated: false, totalLines };
155
224
  }
156
225
  const sliced = rawLines.slice(0, maxLines);
157
226
  const fenceCount = sliced.filter((line) => line.trim().startsWith("```")).length;
@@ -161,11 +230,21 @@ function truncateMarkdownSafely(markdown, maxLines) {
161
230
  return {
162
231
  content: sliced.join("\n"),
163
232
  truncated: true,
233
+ totalLines,
164
234
  };
165
235
  }
236
+ /* ─── Color palette ────────────────────────────────────────────────── */
237
+ const COLORS = {
238
+ border: "#334155", // slate border
239
+ sectionTitle: "#94a3b8", // muted section title
240
+ selected: "#67e8f9", // cyan highlight
241
+ thinkingText: "#64748b", // dim slate for reasoning body
242
+ hint: "#475569", // very dim hint text
243
+ };
244
+ /* ─── Component ────────────────────────────────────────────────────── */
166
245
  export function ReasoningPanel({ content, isOpen, onOpen, onClose, maxHeight = 14, }) {
167
246
  const { columns } = useTerminalSize();
168
- const tree = useMemo(() => parseReasoningTree(content), [content]);
247
+ const tree = useMemo(() => parseContent(content), [content]);
169
248
  const allIds = useMemo(() => collectIds(tree), [tree]);
170
249
  const totalSections = useMemo(() => countNodes(tree), [tree]);
171
250
  const [selectedId, setSelectedId] = useState(null);
@@ -194,16 +273,20 @@ export function ReasoningPanel({ content, isOpen, onOpen, onClose, maxHeight = 1
194
273
  return idx >= 0 ? idx : 0;
195
274
  }, [visibleRows, selectedId]);
196
275
  const selectedRow = visibleRows[selectedIndex];
197
- const openNodeTitle = visibleRows.find((row) => row.node.id === openBodyId)?.node.title ?? "reasoning";
198
- useInput((input, key) => {
276
+ // Hook 1: Always active handles 'r' toggle only.
277
+ // Must be separate so it never blocks InputBox keys when panel is closed.
278
+ useInput((input) => {
199
279
  if (input === "r") {
200
280
  if (isOpen)
201
281
  onClose();
202
282
  else
203
283
  onOpen();
204
- return;
205
284
  }
206
- if (!isOpen || visibleRows.length === 0)
285
+ });
286
+ // Hook 2: isActive:isOpen — handles navigation ONLY when panel is open.
287
+ // When isOpen=false this hook is dormant, so InputBox receives Enter/arrows uninterrupted.
288
+ useInput((input, key) => {
289
+ if (visibleRows.length === 0)
207
290
  return;
208
291
  if (key.upArrow) {
209
292
  const next = visibleRows[Math.max(0, selectedIndex - 1)];
@@ -255,43 +338,46 @@ export function ReasoningPanel({ content, isOpen, onOpen, onClose, maxHeight = 1
255
338
  if (key.escape) {
256
339
  onClose();
257
340
  }
258
- });
341
+ }, { isActive: isOpen });
259
342
  if (!content.trim())
260
343
  return null;
344
+ // Panel is closed — render nothing (no collapsed bar)
345
+ // FooterBar shows "r reasons" hint so user knows it exists
346
+ if (!isOpen)
347
+ return null;
261
348
  const B = TOKENS.box;
262
- const borderColor = "#334155";
263
- const label = " reasoning ";
264
- const previewLineLimit = Math.max(6, maxHeight);
265
- if (!isOpen) {
266
- const hint = `${label}${totalSections} sections (r to expand)`;
267
- const pad = Math.max(0, columns - stringWidth(hint) - 1);
268
- return (_jsx(Box, { width: columns, children: _jsxs(Text, { dimColor: true, children: [B.horizontal, hint, B.horizontal.repeat(pad)] }) }));
269
- }
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";
349
+ const previewLineLimit = Math.max(6, Math.min(12, maxHeight));
350
+ /* ─── Expanded state ──────────────────────────────────────────── */
351
+ const titleLabel = ` thinking ${totalSections} section${totalSections !== 1 ? "s" : ""} `;
352
+ const titlePad = Math.max(0, columns - stringWidth(titleLabel) - 4);
353
+ const footerHint = "up/dn move enter/right open left collapse 1-9 jump esc close";
273
354
  const footer = footerHint.length > columns - 4
274
355
  ? footerHint.slice(0, columns - 7) + "..."
275
356
  : 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) => {
357
+ return (_jsxs(Box, { flexDirection: "column", width: columns, children: [_jsxs(Text, { color: COLORS.border, children: [B.topLeft, _jsx(Text, { color: COLORS.selected, children: " ◈" }), _jsx(Text, { color: COLORS.sectionTitle, children: titleLabel }), B.horizontal.repeat(titlePad), B.topRight] }), visibleRows.map((row, index) => {
277
358
  const isSelected = row.node.id === selectedId;
278
359
  const isBodyOpen = row.node.id === openBodyId && !!row.node.body.trim();
279
360
  const bodyPreview = isBodyOpen
280
361
  ? truncateMarkdownSafely(row.node.body, previewLineLimit)
281
362
  : null;
282
- const marker = row.hasChildren
283
- ? row.isExpanded
284
- ? "▼"
363
+ // Markers: selected gets a filled marker, others get subtle ones
364
+ const marker = isSelected
365
+ ? row.hasChildren
366
+ ? row.isExpanded
367
+ ? "▼"
368
+ : "▶"
285
369
  : "▶"
286
- : isBodyOpen
287
- ? "●"
288
- : "";
370
+ : row.hasChildren
371
+ ? row.isExpanded
372
+ ? ""
373
+ : "▶"
374
+ : "·";
289
375
  const lineCount = row.node.body.trim()
290
376
  ? row.node.body.split("\n").filter((line) => line.trim()).length
291
377
  : 0;
292
378
  const depthPad = Math.min(12, row.depth * 2 + 2);
293
379
  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] })] }));
380
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsxs(Text, { color: COLORS.border, children: [B.vertical, " "] }), _jsxs(Box, { width: Math.max(10, columns - 4), children: [_jsx(Text, { color: COLORS.border, children: "" }), _jsx(Text, { color: isSelected ? COLORS.selected : COLORS.sectionTitle, bold: isSelected, children: `${index < 9 ? `${index + 1} ` : " "}${row.prefix}${marker} ${row.node.title}` }), lineCount > 0 ? (_jsx(Text, { color: COLORS.hint, children: ` ${lineCount}L` })) : null] }), _jsx(Text, { color: COLORS.border, children: B.vertical })] }), isBodyOpen && bodyPreview && (_jsxs(Box, { paddingLeft: depthPad, children: [_jsx(Text, { color: COLORS.border, children: " " }), _jsxs(Box, { flexDirection: "column", width: bodyWidth, children: [_jsx(MarkdownRenderer, { content: bodyPreview.content, width: bodyWidth }), bodyPreview.truncated ? (_jsxs(Text, { color: COLORS.hint, children: ["... ", bodyPreview.totalLines - previewLineLimit, " more lines"] })) : null] })] }))] }, row.node.id));
381
+ }), _jsxs(Box, { children: [_jsxs(Text, { color: COLORS.border, children: [B.vertical, " "] }), _jsx(Text, { color: COLORS.hint, children: footer.padEnd(Math.max(0, columns - 4)) }), _jsxs(Text, { color: COLORS.border, children: [" ", B.vertical] })] }), _jsxs(Text, { color: COLORS.border, children: [B.bottomLeft, B.horizontal.repeat(Math.max(0, columns - 2)), B.bottomRight] })] }));
296
382
  }
297
383
  //# sourceMappingURL=ReasoningPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReasoningPanel.js","sourceRoot":"","sources":["../../../src/tui/components/ReasoningPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReasoningPanel.js","sourceRoot":"","sources":["../../../src/tui/components/ReasoningPanel.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAgentStream.d.ts","sourceRoot":"","sources":["../../../src/tui/hooks/useAgentStream.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAIV,gBAAgB,EAKjB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,gBAAgB,CAAC;IACxB,WAAW,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC7C,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,kEAAkE;AAClE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,wBAAgB,cAAc,IAAI,oBAAoB,CAo5BrD"}
1
+ {"version":3,"file":"useAgentStream.d.ts","sourceRoot":"","sources":["../../../src/tui/hooks/useAgentStream.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAIV,gBAAgB,EAKjB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,gBAAgB,CAAC;IACxB,WAAW,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC7C,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,kEAAkE;AAClE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,wBAAgB,cAAc,IAAI,oBAAoB,CAy5BrD"}