@yuaone/cli 0.4.1 → 0.4.3

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.
Files changed (71) hide show
  1. package/dist/config.d.ts +1 -1
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.js +3 -0
  4. package/dist/config.js.map +1 -1
  5. package/dist/interactive.d.ts.map +1 -1
  6. package/dist/interactive.js +20 -5
  7. package/dist/interactive.js.map +1 -1
  8. package/dist/progress-renderer.d.ts +5 -0
  9. package/dist/progress-renderer.d.ts.map +1 -1
  10. package/dist/progress-renderer.js +73 -4
  11. package/dist/progress-renderer.js.map +1 -1
  12. package/dist/session.d.ts +4 -1
  13. package/dist/session.d.ts.map +1 -1
  14. package/dist/session.js +32 -5
  15. package/dist/session.js.map +1 -1
  16. package/dist/tui/App.d.ts.map +1 -1
  17. package/dist/tui/App.js +83 -21
  18. package/dist/tui/App.js.map +1 -1
  19. package/dist/tui/agent-bridge.d.ts +1 -0
  20. package/dist/tui/agent-bridge.d.ts.map +1 -1
  21. package/dist/tui/agent-bridge.js +41 -4
  22. package/dist/tui/agent-bridge.js.map +1 -1
  23. package/dist/tui/components/ApprovalPrompt.d.ts +18 -0
  24. package/dist/tui/components/ApprovalPrompt.d.ts.map +1 -0
  25. package/dist/tui/components/ApprovalPrompt.js +64 -0
  26. package/dist/tui/components/ApprovalPrompt.js.map +1 -0
  27. package/dist/tui/components/FooterBar.d.ts.map +1 -1
  28. package/dist/tui/components/FooterBar.js +1 -1
  29. package/dist/tui/components/FooterBar.js.map +1 -1
  30. package/dist/tui/components/InputBox.d.ts.map +1 -1
  31. package/dist/tui/components/InputBox.js +41 -4
  32. package/dist/tui/components/InputBox.js.map +1 -1
  33. package/dist/tui/components/MarkdownRenderer.d.ts.map +1 -1
  34. package/dist/tui/components/MarkdownRenderer.js +37 -9
  35. package/dist/tui/components/MarkdownRenderer.js.map +1 -1
  36. package/dist/tui/components/MessageBubble.d.ts.map +1 -1
  37. package/dist/tui/components/MessageBubble.js +51 -5
  38. package/dist/tui/components/MessageBubble.js.map +1 -1
  39. package/dist/tui/components/MessageList.d.ts +4 -4
  40. package/dist/tui/components/MessageList.d.ts.map +1 -1
  41. package/dist/tui/components/MessageList.js +45 -11
  42. package/dist/tui/components/MessageList.js.map +1 -1
  43. package/dist/tui/components/SlashMenu.d.ts.map +1 -1
  44. package/dist/tui/components/SlashMenu.js +10 -9
  45. package/dist/tui/components/SlashMenu.js.map +1 -1
  46. package/dist/tui/components/StatusBar.d.ts +7 -1
  47. package/dist/tui/components/StatusBar.d.ts.map +1 -1
  48. package/dist/tui/components/StatusBar.js +14 -4
  49. package/dist/tui/components/StatusBar.js.map +1 -1
  50. package/dist/tui/components/ThinkingDots.d.ts +6 -4
  51. package/dist/tui/components/ThinkingDots.d.ts.map +1 -1
  52. package/dist/tui/components/ThinkingDots.js +37 -8
  53. package/dist/tui/components/ThinkingDots.js.map +1 -1
  54. package/dist/tui/components/ToolCallTree.d.ts +5 -1
  55. package/dist/tui/components/ToolCallTree.d.ts.map +1 -1
  56. package/dist/tui/components/ToolCallTree.js +35 -3
  57. package/dist/tui/components/ToolCallTree.js.map +1 -1
  58. package/dist/tui/components/WelcomeBanner.d.ts +11 -0
  59. package/dist/tui/components/WelcomeBanner.d.ts.map +1 -0
  60. package/dist/tui/components/WelcomeBanner.js +6 -0
  61. package/dist/tui/components/WelcomeBanner.js.map +1 -0
  62. package/dist/tui/hooks/useAgentStream.d.ts +1 -7
  63. package/dist/tui/hooks/useAgentStream.d.ts.map +1 -1
  64. package/dist/tui/hooks/useAgentStream.js +124 -26
  65. package/dist/tui/hooks/useAgentStream.js.map +1 -1
  66. package/dist/tui/lib/update-checker.d.ts.map +1 -1
  67. package/dist/tui/lib/update-checker.js +9 -7
  68. package/dist/tui/lib/update-checker.js.map +1 -1
  69. package/dist/tui/types.d.ts +15 -0
  70. package/dist/tui/types.d.ts.map +1 -1
  71. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"ThinkingDots.js","sourceRoot":"","sources":["../../../src/tui/components/ThinkingDots.tsx"],"names":[],"mappings":";AAAA;;GAEG;AAEH,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAM1C,MAAM,UAAU,YAAY,CAAC,EAAE,KAAK,EAAqB;IACvD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IACzC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC,EAAE,QAAQ,CAAC,CAAC;QACb,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE9B,OAAO,CACL,MAAC,IAAI,IAAC,QAAQ,mBACX,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,IACnC,CACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ThinkingDots.js","sourceRoot":"","sources":["../../../src/tui/components/ThinkingDots.tsx"],"names":[],"mappings":";AAAA;;GAEG;AAEH,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAQ1C,MAAM,YAAY,GAAgC;IAChD,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,SAAS;IACpB,YAAY,EAAE,cAAc;IAC5B,iBAAiB,EAAE,mBAAmB;IACtC,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,MAAM;IACjB,WAAW,EAAE,aAAa;CAC3B,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,EAC7B,MAAM,EACN,QAAQ,GACY;IACpB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAEzC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtC,SAAS,CAAC,GAAG,EAAE;QACb,IACE,MAAM,KAAK,UAAU;YACrB,MAAM,KAAK,WAAW;YACtB,MAAM,KAAK,cAAc,EACzB,CAAC;YACD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC7B,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC,EAAE,QAAQ,CAAC,CAAC;YAEb,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEtC,MAAM,KAAK,GACT,MAAM,KAAK,cAAc,IAAI,QAAQ;QACnC,CAAC,CAAC,SAAS,QAAQ,EAAE;QACrB,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAE3B,MAAM,OAAO,GACX,MAAM,KAAK,UAAU;QACrB,MAAM,KAAK,WAAW;QACtB,MAAM,KAAK,cAAc;QACvB,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;QACrB,CAAC,CAAC,EAAE,CAAC;IAET,IAAI,KAAK,GAAwC,MAAM,CAAC;IAExD,IAAI,MAAM,KAAK,WAAW;QAAE,KAAK,GAAG,OAAO,CAAC;IAC5C,IAAI,MAAM,KAAK,OAAO;QAAE,KAAK,GAAG,KAAK,CAAC;IACtC,IAAI,MAAM,KAAK,mBAAmB;QAAE,KAAK,GAAG,QAAQ,CAAC;IAErD,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,KAAK,UAAU,aAChD,KAAK,EACL,OAAO,IACH,CACR,CAAC;AACJ,CAAC"}
@@ -3,10 +3,14 @@
3
3
  * Shows status indicators, durations, and expandable results.
4
4
  */
5
5
  import React from "react";
6
- import type { TUIToolCall } from "../types.js";
6
+ import type { TUIToolCall, ReasoningNode } from "../types.js";
7
7
  export interface ToolCallTreeProps {
8
8
  toolCalls: TUIToolCall[];
9
9
  width: number;
10
10
  }
11
11
  export declare function ToolCallTree({ toolCalls, width, }: ToolCallTreeProps): React.JSX.Element;
12
+ export declare function ReasoningTreeView({ node, depth, }: {
13
+ node: ReasoningNode;
14
+ depth?: number;
15
+ }): React.JSX.Element;
12
16
  //# sourceMappingURL=ToolCallTree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolCallTree.d.ts","sourceRoot":"","sources":["../../../src/tui/components/ToolCallTree.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAgC,MAAM,OAAO,CAAC;AAOrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI/C,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AA8FD,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,KAAK,GACN,EAAE,iBAAiB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAavC"}
1
+ {"version":3,"file":"ToolCallTree.d.ts","sourceRoot":"","sources":["../../../src/tui/components/ToolCallTree.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAgC,MAAM,OAAO,CAAC;AAOrD,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI9D,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAoGD,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,KAAK,GACN,EAAE,iBAAiB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA0CvC;AAiBD,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,KAAS,GACV,EAAE;IACD,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAkBpB"}
@@ -30,16 +30,48 @@ function ToolCallNode({ tc, isLast, width, }) {
30
30
  statusEl = _jsx(Text, { color: color, children: icon });
31
31
  }
32
32
  // Duration
33
- const durationStr = tc.duration != null ? ` ${tc.duration.toFixed(1)}s` : "";
33
+ let durationStr = "";
34
+ if (tc.duration != null) {
35
+ durationStr = ` ${tc.duration.toFixed(2)}s`;
36
+ }
34
37
  // Truncate args summary based on available width
35
38
  const { tier } = useTerminalSize();
36
39
  const maxArgWidth = tier === "compact" ? 20 : width - 30;
37
40
  const args = tc.argsSummary
38
41
  ? truncate(tc.argsSummary, maxArgWidth)
39
42
  : "";
40
- return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsxs(Text, { dimColor: true, children: [connector, " "] }), _jsx(Text, { bold: true, children: tc.toolName }), args && _jsxs(Text, { dimColor: true, children: [" ", args] }), _jsx(Text, { children: " " }), statusEl, _jsx(Text, { dimColor: true, children: durationStr })] }), tc.result && tc.result.lineCount > 0 && (_jsxs(Box, { paddingLeft: 2, children: [_jsx(Text, { dimColor: true, children: continuation }), _jsx(Box, { flexDirection: "column", marginLeft: 1, children: tc.result.kind === "diff" && tc.result.diff ? (_jsx(CollapsibleSection, { isExpanded: isExpanded, onToggle: toggleExpand, collapsedSummary: `${tc.result.diff.additions + tc.result.diff.deletions} changes`, children: _jsx(DiffView, { diff: tc.result.diff, width: width - 6 }) })) : tc.result.kind === "bash_output" ? (_jsx(CollapsibleSection, { isExpanded: isExpanded, onToggle: toggleExpand, collapsedSummary: `${tc.result.lineCount} lines of output`, children: _jsx(BashOutput, { command: tc.toolName, output: tc.result.content, width: width - 6 }) })) : tc.result.lineCount > 10 ? (_jsx(CollapsibleSection, { isExpanded: isExpanded, onToggle: toggleExpand, collapsedSummary: `${tc.result.lineCount} lines`, children: _jsx(Text, { dimColor: true, children: tc.result.content }) })) : (_jsx(Text, { dimColor: true, children: tc.result.content })) })] }))] }));
43
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsxs(Text, { dimColor: true, children: [connector, " "] }), _jsx(Text, { bold: true, children: tc.toolName }), args && _jsxs(Text, { dimColor: true, children: ["(", args, ")"] })] }), _jsxs(Box, { paddingLeft: 2, children: [_jsxs(Text, { dimColor: true, children: [continuation, " "] }), statusEl, _jsx(Text, { dimColor: true, children: durationStr })] }), tc.result && tc.result.lineCount > 0 && (_jsxs(Box, { paddingLeft: 2, children: [_jsx(Text, { dimColor: true, children: continuation }), _jsx(Box, { flexDirection: "column", marginLeft: 1, children: tc.result.kind === "diff" && tc.result.diff ? (_jsx(CollapsibleSection, { isExpanded: isExpanded, onToggle: toggleExpand, collapsedSummary: `${tc.result.diff.additions + tc.result.diff.deletions} changes`, children: _jsx(DiffView, { diff: tc.result.diff, width: width - 6 }) })) : tc.result.kind === "bash_output" ? (_jsx(CollapsibleSection, { isExpanded: isExpanded, onToggle: toggleExpand, collapsedSummary: `${tc.result.lineCount} lines of output`, children: _jsx(BashOutput, { command: tc.toolName, output: tc.result.content, width: width - 6 }) })) : tc.result.lineCount > 10 ? (_jsx(CollapsibleSection, { isExpanded: isExpanded, onToggle: toggleExpand, collapsedSummary: `${tc.result.lineCount} lines`, children: _jsx(Text, { dimColor: true, children: tc.result.content }) })) : (_jsx(Text, { dimColor: true, children: tc.result.content })) })] }))] }));
41
44
  }
42
45
  export function ToolCallTree({ toolCalls, width, }) {
43
- return (_jsx(Box, { flexDirection: "column", children: toolCalls.map((tc, i) => (_jsx(ToolCallNode, { tc: tc, isLast: i === toolCalls.length - 1, width: width }, tc.id))) }));
46
+ const batches = groupBatches(toolCalls);
47
+ return (_jsx(Box, { flexDirection: "column", children: batches.map((batch, batchIndex) => {
48
+ const isParallel = batch.length > 1;
49
+ if (isParallel) {
50
+ const batchRunning = batch.some((tc) => tc.status === "running");
51
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: batchRunning ? "running tools..." : "tool batch." }), _jsx(Text, { children: " " }), batchRunning ? _jsx(Spinner, {}) : _jsx(Text, { dimColor: true, children: "done." })] }), batch.map((tc, i) => (_jsx(ToolCallNode, { tc: tc, isLast: i === batch.length - 1, width: width }, tc.id)))] }, `batch-${batchIndex}`));
52
+ }
53
+ const tc = batch[0];
54
+ if (!tc)
55
+ return null;
56
+ return (_jsx(ToolCallNode, { tc: tc, isLast: batchIndex === batches.length - 1, width: width }, tc.id));
57
+ }) }));
58
+ }
59
+ function groupBatches(toolCalls) {
60
+ const map = new Map();
61
+ for (const tc of toolCalls) {
62
+ const key = tc.batchId ?? tc.id;
63
+ if (!map.has(key))
64
+ map.set(key, []);
65
+ map.get(key).push(tc);
66
+ }
67
+ return Array.from(map.values()).sort((a, b) => {
68
+ const aStart = a[0]?.startedAt ?? 0;
69
+ const bStart = b[0]?.startedAt ?? 0;
70
+ return aStart - bStart;
71
+ });
72
+ }
73
+ export function ReasoningTreeView({ node, depth = 0, }) {
74
+ const prefix = depth === 0 ? "" : " ".repeat(depth - 1) + "├─ ";
75
+ return (_jsxs(Box, { flexDirection: "column", children: [depth > 0 && (_jsxs(Text, { children: [prefix, _jsx(Text, { bold: true, children: node.label }), node.text && _jsxs(Text, { dimColor: true, children: [" ", node.text] })] })), node.children.map((child) => (_jsx(ReasoningTreeView, { node: child, depth: depth + 1 }, child.id)))] }));
44
76
  }
45
77
  //# sourceMappingURL=ToolCallTree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolCallTree.js","sourceRoot":"","sources":["../../../src/tui/components/ToolCallTree.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolCallTree.js","sourceRoot":"","sources":["../../../src/tui/components/ToolCallTree.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * WelcomeBanner — fixed top banner with mascot and version info.
3
+ * Rendered above the message list, never scrolls.
4
+ * Styled like Claude Code's pig banner: dim gray mascot + info beside it.
5
+ */
6
+ import React from "react";
7
+ export interface WelcomeBannerProps {
8
+ version: string;
9
+ }
10
+ export declare function WelcomeBanner({ version }: WelcomeBannerProps): React.JSX.Element;
11
+ //# sourceMappingURL=WelcomeBanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WelcomeBanner.d.ts","sourceRoot":"","sources":["../../../src/tui/components/WelcomeBanner.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE,kBAAkB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAsBhF"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ export function WelcomeBanner({ version }) {
4
+ return (_jsxs(Box, { flexDirection: "row", marginBottom: 1, flexShrink: 0, paddingLeft: 2, children: [_jsxs(Box, { flexDirection: "column", marginRight: 3, children: [_jsx(Text, { dimColor: true, children: " /\\_/\\" }), _jsx(Text, { dimColor: true, children: " ( o.o )" }), _jsx(Text, { dimColor: true, children: " > w <" }), _jsx(Text, { dimColor: true, children: " /| |\\" }), _jsx(Text, { dimColor: true, children: "(_| |_)" })] }), _jsxs(Box, { flexDirection: "column", justifyContent: "center", children: [_jsx(Text, { bold: true, color: "white", children: "YUAN " }), _jsxs(Text, { dimColor: true, children: ["v", version, " Autonomous Coding Agent"] }), _jsx(Text, { dimColor: true, children: " " }), _jsx(Text, { dimColor: true, children: "Type /help for commands" }), _jsx(Text, { dimColor: true, children: "yuaone.com" })] })] }));
5
+ }
6
+ //# sourceMappingURL=WelcomeBanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WelcomeBanner.js","sourceRoot":"","sources":["../../../src/tui/components/WelcomeBanner.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAMhC,MAAM,UAAU,aAAa,CAAC,EAAE,OAAO,EAAsB;IAC3D,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,aAErE,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAE,CAAC,aACxC,KAAC,IAAI,IAAC,QAAQ,kBAAE,WAAW,GAAQ,EACnC,KAAC,IAAI,IAAC,QAAQ,kBAAE,UAAU,GAAQ,EAClC,KAAC,IAAI,IAAC,QAAQ,kBAAE,SAAS,GAAQ,EACjC,KAAC,IAAI,IAAC,QAAQ,kBAAE,WAAW,GAAQ,EACnC,KAAC,IAAI,IAAC,QAAQ,kBAAE,WAAW,GAAQ,IAC/B,EAGN,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,cAAc,EAAC,QAAQ,aACjD,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,sBAAa,EACrC,MAAC,IAAI,IAAC,QAAQ,wBAAG,OAAO,iCAAiC,EACzD,KAAC,IAAI,IAAC,QAAQ,wBAAS,EACvB,KAAC,IAAI,IAAC,QAAQ,8CAA+B,EAC7C,KAAC,IAAI,IAAC,QAAQ,iCAAkB,IAC5B,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -1,22 +1,16 @@
1
1
  /**
2
2
  * useAgentStream — bridges AgentLoop events to TUI React state.
3
3
  * Converts agent events into TUIMessage updates, tracks streaming state,
4
- * real-time elapsed timer, and status indicator metadata.
4
+ * real-time elapsed timer, reasoning stream, and status indicator metadata.
5
5
  */
6
6
  import type { AgentStreamState } from "../types.js";
7
7
  export interface UseAgentStreamReturn {
8
8
  state: AgentStreamState;
9
- /** Process an incoming agent event */
10
9
  handleEvent: (event: AgentEventLike) => void;
11
- /** Add a user message */
12
10
  addUserMessage: (content: string) => void;
13
- /** Add a system message (for slash commands, etc.) */
14
11
  addSystemMessage: (content: string) => void;
15
- /** Mark agent as started */
16
12
  startAgent: () => void;
17
- /** Interrupt and reset to idle */
18
13
  interrupt: () => void;
19
- /** Clear all messages */
20
14
  clearMessages: () => void;
21
15
  }
22
16
  /** Minimal agent event shape (matches @yuaone/core AgentEvent) */
@@ -1 +1 @@
1
- {"version":3,"file":"useAgentStream.d.ts","sourceRoot":"","sources":["../../../src/tui/hooks/useAgentStream.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAA2B,gBAAgB,EAAe,MAAM,aAAa,CAAC;AAE1F,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,gBAAgB,CAAC;IACxB,sCAAsC;IACtC,WAAW,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAC7C,yBAAyB;IACzB,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,sDAAsD;IACtD,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,4BAA4B;IAC5B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,kCAAkC;IAClC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,yBAAyB;IACzB,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,CA0VrD"}
1
+ {"version":3,"file":"useAgentStream.d.ts","sourceRoot":"","sources":["../../../src/tui/hooks/useAgentStream.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAGV,gBAAgB,EAGjB,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,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,CA6drD"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * useAgentStream — bridges AgentLoop events to TUI React state.
3
3
  * Converts agent events into TUIMessage updates, tracks streaming state,
4
- * real-time elapsed timer, and status indicator metadata.
4
+ * real-time elapsed timer, reasoning stream, and status indicator metadata.
5
5
  */
6
6
  import { useState, useCallback, useRef, useEffect } from "react";
7
7
  export function useAgentStream() {
@@ -10,19 +10,20 @@ export function useAgentStream() {
10
10
  const [streamBuffer, setStreamBuffer] = useState("");
11
11
  const [tokensPerSecond, setTokensPerSecond] = useState(0);
12
12
  const [totalTokensUsed, setTotalTokensUsed] = useState(0);
13
- // Indicator state
14
13
  const [elapsedMs, setElapsedMs] = useState(0);
15
14
  const [lastElapsedMs, setLastElapsedMs] = useState(null);
16
15
  const [currentToolName, setCurrentToolName] = useState(null);
17
16
  const [currentToolArgs, setCurrentToolArgs] = useState(null);
18
17
  const [lastError, setLastError] = useState(null);
19
18
  const [filesChangedCount, setFilesChangedCount] = useState(0);
19
+ const [reasoningTree, setReasoningTree] = useState(undefined);
20
20
  const currentMsgIdRef = useRef(null);
21
21
  const tokenWindowRef = useRef([]);
22
- // Elapsed timer refs
22
+ const currentThinkingMsgIdRef = useRef(null);
23
+ const activeToolBatchIdRef = useRef(null);
24
+ const lastToolCallAtRef = useRef(0);
23
25
  const startTimeRef = useRef(null);
24
26
  const timerRef = useRef(null);
25
- // Start the real-time elapsed timer
26
27
  const startTimer = useCallback(() => {
27
28
  startTimeRef.current = Date.now();
28
29
  setElapsedMs(0);
@@ -32,9 +33,8 @@ export function useAgentStream() {
32
33
  if (startTimeRef.current) {
33
34
  setElapsedMs(Date.now() - startTimeRef.current);
34
35
  }
35
- }, 1000); // 1s tick — prevents layout jitter from rapid re-renders
36
+ }, 1000);
36
37
  }, []);
37
- // Stop the timer and freeze elapsed time
38
38
  const stopTimer = useCallback(() => {
39
39
  if (timerRef.current) {
40
40
  clearInterval(timerRef.current);
@@ -47,7 +47,6 @@ export function useAgentStream() {
47
47
  startTimeRef.current = null;
48
48
  }
49
49
  }, []);
50
- // Cleanup timer on unmount
51
50
  useEffect(() => {
52
51
  return () => {
53
52
  if (timerRef.current)
@@ -60,10 +59,9 @@ export function useAgentStream() {
60
59
  return;
61
60
  setMessages((prev) => prev.map((m) => (m.id === id ? updater(m) : m)));
62
61
  }, []);
63
- // 스트리밍 텍스트 배치 버퍼 — 1토큰마다 re-render 하지 않고 모아서 flush
64
62
  const pendingTextRef = useRef("");
65
63
  const flushTimerRef = useRef(null);
66
- const FLUSH_INTERVAL = 120; // 120ms 디바운스 — 문단 단위로 떨어지는 느낌
64
+ const FLUSH_INTERVAL = 120;
67
65
  const flushPendingText = useCallback(() => {
68
66
  if (flushTimerRef.current) {
69
67
  clearTimeout(flushTimerRef.current);
@@ -78,7 +76,41 @@ export function useAgentStream() {
78
76
  content: msg.content + text,
79
77
  }));
80
78
  }, [updateCurrentMessage]);
81
- // 컴포넌트 unmount 타이머 정리
79
+ const appendThinkingLines = useCallback((raw) => {
80
+ const lines = raw
81
+ .split("\n")
82
+ .map((line) => line.trim())
83
+ .filter(Boolean)
84
+ .map((line) => (line.startsWith("· ") ? line : `· ${line}`));
85
+ if (lines.length === 0)
86
+ return;
87
+ const nextBlock = lines.join("\n");
88
+ const currentId = currentThinkingMsgIdRef.current;
89
+ if (!currentId) {
90
+ const id = `thinking-${Date.now()}`;
91
+ currentThinkingMsgIdRef.current = id;
92
+ const msg = {
93
+ id,
94
+ role: "system",
95
+ content: nextBlock,
96
+ timestamp: Date.now(),
97
+ };
98
+ setMessages((prev) => [...prev, msg]);
99
+ return;
100
+ }
101
+ setMessages((prev) => prev.map((m) => {
102
+ if (m.id !== currentId)
103
+ return m;
104
+ const existing = new Set(m.content.split("\n"));
105
+ const deduped = lines.filter((line) => !existing.has(line));
106
+ if (deduped.length === 0)
107
+ return m;
108
+ return {
109
+ ...m,
110
+ content: `${m.content}\n${deduped.join("\n")}`,
111
+ };
112
+ }));
113
+ }, []);
82
114
  useEffect(() => {
83
115
  return () => {
84
116
  if (flushTimerRef.current)
@@ -110,6 +142,11 @@ export function useAgentStream() {
110
142
  setCurrentToolArgs(null);
111
143
  setLastError(null);
112
144
  setFilesChangedCount(0);
145
+ setTokensPerSecond(0);
146
+ tokenWindowRef.current = [];
147
+ currentThinkingMsgIdRef.current = null;
148
+ activeToolBatchIdRef.current = null;
149
+ lastToolCallAtRef.current = 0;
113
150
  startTimer();
114
151
  const msgId = `assistant-${Date.now()}`;
115
152
  currentMsgIdRef.current = msgId;
@@ -125,41 +162,60 @@ export function useAgentStream() {
125
162
  }, [startTimer]);
126
163
  const handleEvent = useCallback((event) => {
127
164
  switch (event.kind) {
128
- case "agent:thinking":
165
+ case "agent:reasoning_delta": {
166
+ appendThinkingLines(String(event.text ?? ""));
167
+ break;
168
+ }
169
+ case "agent:thinking": {
129
170
  setStatus("thinking");
130
171
  setCurrentToolName(null);
131
172
  setCurrentToolArgs(null);
173
+ appendThinkingLines(String(event.content ?? ""));
132
174
  break;
175
+ }
133
176
  case "agent:text_delta": {
134
177
  const text = event.text;
135
178
  setStreamBuffer((prev) => prev + text);
136
179
  setStatus("streaming");
137
180
  setCurrentToolName(null);
138
181
  setCurrentToolArgs(null);
139
- // 배치 버퍼에 축적 → 디바운스로 한번에 flush (문단 단위 렌더링)
140
182
  pendingTextRef.current += text;
141
183
  if (flushTimerRef.current)
142
184
  clearTimeout(flushTimerRef.current);
143
185
  flushTimerRef.current = setTimeout(flushPendingText, FLUSH_INTERVAL);
144
186
  break;
145
187
  }
188
+ case "agent:reasoning_timeline": {
189
+ setReasoningTree(event.tree);
190
+ break;
191
+ }
146
192
  case "agent:tool_call": {
147
193
  setStatus("tool_running");
148
194
  const toolName = event.tool;
149
195
  const args = summarizeArgs(event.input);
150
196
  setCurrentToolName(toolName);
151
197
  setCurrentToolArgs(args);
152
- // Track file changes
198
+ const now = Date.now();
199
+ const shouldReuseBatch = activeToolBatchIdRef.current !== null &&
200
+ now - lastToolCallAtRef.current <= 180;
201
+ const batchId = shouldReuseBatch
202
+ ? activeToolBatchIdRef.current
203
+ : `batch-${now}`;
204
+ activeToolBatchIdRef.current = batchId;
205
+ lastToolCallAtRef.current = now;
153
206
  const tl = toolName.toLowerCase();
154
207
  if (tl.includes("write") || tl.includes("edit")) {
155
208
  setFilesChangedCount((prev) => prev + 1);
156
209
  }
157
210
  const tc = {
158
211
  id: `tc-${Date.now()}-${Math.random().toString(36).slice(2, 6)}`,
212
+ callId: typeof event.callId === "string" ? event.callId : undefined,
159
213
  toolName,
160
214
  argsSummary: args,
161
215
  status: "running",
162
216
  isExpanded: false,
217
+ startedAt: now,
218
+ batchId,
163
219
  };
164
220
  updateCurrentMessage((msg) => ({
165
221
  ...msg,
@@ -167,21 +223,38 @@ export function useAgentStream() {
167
223
  }));
168
224
  break;
169
225
  }
226
+ case "agent:tool_batch": {
227
+ activeToolBatchIdRef.current =
228
+ typeof event.batchId === "string" ? event.batchId : null;
229
+ break;
230
+ }
170
231
  case "agent:tool_result": {
171
232
  const toolName = event.tool;
172
233
  const output = event.output;
173
234
  const durationMs = event.durationMs;
174
- // Clear current tool indicator (back to streaming/thinking)
175
235
  setCurrentToolName(null);
176
236
  setCurrentToolArgs(null);
237
+ let hasRunningTool = false;
177
238
  updateCurrentMessage((msg) => {
178
239
  const toolCalls = [...(msg.toolCalls ?? [])];
179
240
  for (let i = toolCalls.length - 1; i >= 0; i--) {
180
- if (toolCalls[i].toolName === toolName && toolCalls[i].status === "running") {
241
+ const call = toolCalls[i];
242
+ if (!call)
243
+ continue;
244
+ if (call.toolName === toolName && call.status === "running") {
245
+ const completedAt = Date.now();
246
+ let duration;
247
+ if (durationMs) {
248
+ duration = durationMs / 1000;
249
+ }
250
+ else if (call.startedAt) {
251
+ duration = (completedAt - call.startedAt) / 1000;
252
+ }
181
253
  toolCalls[i] = {
182
- ...toolCalls[i],
254
+ ...call,
183
255
  status: "success",
184
- duration: durationMs / 1000,
256
+ completedAt,
257
+ duration,
185
258
  result: {
186
259
  kind: detectResultKind(toolName, output),
187
260
  content: output,
@@ -191,8 +264,11 @@ export function useAgentStream() {
191
264
  break;
192
265
  }
193
266
  }
267
+ hasRunningTool = toolCalls.some((call) => call.status === "running");
194
268
  return { ...msg, toolCalls };
195
269
  });
270
+ if (!hasRunningTool)
271
+ activeToolBatchIdRef.current = null;
196
272
  break;
197
273
  }
198
274
  case "agent:error": {
@@ -208,14 +284,14 @@ export function useAgentStream() {
208
284
  isStreaming: false,
209
285
  }));
210
286
  currentMsgIdRef.current = null;
211
- // 3초 후 idle로 전환
287
+ currentThinkingMsgIdRef.current = null;
288
+ activeToolBatchIdRef.current = null;
212
289
  setTimeout(() => {
213
290
  setStatus("idle");
214
291
  }, 3000);
215
292
  break;
216
293
  }
217
294
  case "agent:completed": {
218
- // 남은 버퍼 텍스트 즉시 flush
219
295
  flushPendingText();
220
296
  stopTimer();
221
297
  setStatus("completed");
@@ -229,7 +305,8 @@ export function useAgentStream() {
229
305
  }));
230
306
  setStreamBuffer("");
231
307
  currentMsgIdRef.current = null;
232
- // 3초 후 idle로 전환 (completed 표시 유지 후)
308
+ currentThinkingMsgIdRef.current = null;
309
+ activeToolBatchIdRef.current = null;
233
310
  setTimeout(() => {
234
311
  setStatus("idle");
235
312
  }, 3000);
@@ -240,7 +317,6 @@ export function useAgentStream() {
240
317
  const output = event.output;
241
318
  const total = input + output;
242
319
  setTotalTokensUsed((prev) => prev + total);
243
- // Rolling 3-second window for tokens/sec
244
320
  const now = Date.now();
245
321
  tokenWindowRef.current.push({ time: now, tokens: total });
246
322
  tokenWindowRef.current = tokenWindowRef.current.filter((e) => now - e.time < 3000);
@@ -249,15 +325,25 @@ export function useAgentStream() {
249
325
  setTokensPerSecond(Math.round((windowTokens / windowMs) * 1000));
250
326
  break;
251
327
  }
252
- case "agent:approval_needed":
328
+ case "agent:approval_needed": {
253
329
  setStatus("awaiting_approval");
330
+ const action = event.action;
331
+ if (action?.tool) {
332
+ setCurrentToolName(action.tool);
333
+ }
334
+ const args = summarizeArgs(action?.input);
335
+ if (args) {
336
+ setCurrentToolArgs(args);
337
+ }
338
+ // DO NOT append system message
339
+ // approval will be rendered by ApprovalPrompt UI
254
340
  break;
341
+ }
255
342
  default:
256
343
  break;
257
344
  }
258
- }, [updateCurrentMessage, flushPendingText, stopTimer]);
345
+ }, [appendThinkingLines, updateCurrentMessage, flushPendingText, stopTimer]);
259
346
  const interrupt = useCallback(() => {
260
- // 남은 버퍼 flush 후 중단
261
347
  flushPendingText();
262
348
  stopTimer();
263
349
  setStatus("interrupted");
@@ -269,6 +355,8 @@ export function useAgentStream() {
269
355
  content: msg.content + "\n\n[Interrupted]",
270
356
  }));
271
357
  currentMsgIdRef.current = null;
358
+ currentThinkingMsgIdRef.current = null;
359
+ activeToolBatchIdRef.current = null;
272
360
  const sysMsg = {
273
361
  id: `sys-${Date.now()}`,
274
362
  role: "system",
@@ -276,7 +364,6 @@ export function useAgentStream() {
276
364
  timestamp: Date.now(),
277
365
  };
278
366
  setMessages((prev) => [...prev, sysMsg]);
279
- // 2초 후 idle로 전환
280
367
  setTimeout(() => {
281
368
  setStatus("idle");
282
369
  }, 2000);
@@ -301,6 +388,8 @@ export function useAgentStream() {
301
388
  setCurrentToolArgs(null);
302
389
  setLastError(null);
303
390
  setFilesChangedCount(0);
391
+ currentThinkingMsgIdRef.current = null;
392
+ activeToolBatchIdRef.current = null;
304
393
  currentMsgIdRef.current = null;
305
394
  }, []);
306
395
  const state = {
@@ -315,8 +404,17 @@ export function useAgentStream() {
315
404
  currentToolArgs,
316
405
  lastError,
317
406
  filesChangedCount,
407
+ reasoningTree,
408
+ };
409
+ return {
410
+ state,
411
+ handleEvent,
412
+ addUserMessage,
413
+ addSystemMessage,
414
+ startAgent,
415
+ interrupt,
416
+ clearMessages,
318
417
  };
319
- return { state, handleEvent, addUserMessage, addSystemMessage, startAgent, interrupt, clearMessages };
320
418
  }
321
419
  function summarizeArgs(input) {
322
420
  if (!input || typeof input !== "object")
@@ -1 +1 @@
1
- {"version":3,"file":"useAgentStream.js","sourceRoot":"","sources":["../../../src/tui/hooks/useAgentStream.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAyBjE,MAAM,UAAU,cAAc;IAC5B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAe,EAAE,CAAC,CAAC;IAC3D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAc,MAAM,CAAC,CAAC;IAC1D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE1D,kBAAkB;IAClB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACxE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC5E,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC5E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE9D,MAAM,eAAe,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,MAAM,CAAqC,EAAE,CAAC,CAAC;IAEtE,qBAAqB;IACrB,MAAM,YAAY,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,MAAM,CAAwC,IAAI,CAAC,CAAC;IAErE,oCAAoC;IACpC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAClC,YAAY,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,QAAQ,CAAC,OAAO;YAAE,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtD,QAAQ,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;YAClC,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;gBACzB,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,yDAAyD;IACrE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,yCAAyC;IACzC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAChC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC;YAChD,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACxB,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;QAC9B,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,2BAA2B;IAC3B,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,IAAI,QAAQ,CAAC,OAAO;gBAAE,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,oBAAoB,GAAG,WAAW,CACtC,CAAC,OAAwC,EAAE,EAAE;QAC3C,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC;QACnC,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CACnB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAChD,CAAC;IACJ,CAAC,EACD,EAAE,CACH,CAAC;IAEF,mDAAmD;IACnD,MAAM,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAClC,MAAM,aAAa,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IACzE,MAAM,cAAc,GAAG,GAAG,CAAC,CAAC,8BAA8B;IAE1D,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;QACxC,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAAC,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QACjG,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC;QACpC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC9B,cAAc,CAAC,OAAO,GAAG,EAAE,CAAC;QAC5B,oBAAoB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC7B,GAAG,GAAG;YACN,OAAO,EAAE,GAAG,CAAC,OAAO,GAAG,IAAI;SAC5B,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE3B,wBAAwB;IACxB,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,IAAI,aAAa,CAAC,OAAO;gBAAE,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACjE,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,OAAe,EAAE,EAAE;QACrD,MAAM,GAAG,GAAe;YACtB,EAAE,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE;YACxB,IAAI,EAAE,MAAM;YACZ,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,OAAe,EAAE,EAAE;QACvD,MAAM,GAAG,GAAe;YACtB,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE;YACvB,IAAI,EAAE,QAAQ;YACd,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,SAAS,CAAC,UAAU,CAAC,CAAC;QACtB,eAAe,CAAC,EAAE,CAAC,CAAC;QACpB,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACxB,UAAU,EAAE,CAAC;QAEb,MAAM,KAAK,GAAG,aAAa,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACxC,eAAe,CAAC,OAAO,GAAG,KAAK,CAAC;QAChC,MAAM,GAAG,GAAe;YACtB,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,EAAE;SACd,CAAC;QACF,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,KAAqB,EAAE,EAAE;QACxB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,gBAAgB;gBACnB,SAAS,CAAC,UAAU,CAAC,CAAC;gBACtB,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACzB,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACzB,MAAM;YAER,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAc,CAAC;gBAClC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;gBACvC,SAAS,CAAC,WAAW,CAAC,CAAC;gBACvB,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACzB,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACzB,0CAA0C;gBAC1C,cAAc,CAAC,OAAO,IAAI,IAAI,CAAC;gBAC/B,IAAI,aAAa,CAAC,OAAO;oBAAE,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC/D,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;gBACrE,MAAM;YACR,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,SAAS,CAAC,cAAc,CAAC,CAAC;gBAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAc,CAAC;gBACtC,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACxC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gBAC7B,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAEzB,qBAAqB;gBACrB,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAClC,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAChD,oBAAoB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC3C,CAAC;gBAED,MAAM,EAAE,GAAgB;oBACtB,EAAE,EAAE,MAAM,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;oBAChE,QAAQ;oBACR,WAAW,EAAE,IAAI;oBACjB,MAAM,EAAE,SAAS;oBACjB,UAAU,EAAE,KAAK;iBAClB,CAAC;gBACF,oBAAoB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC7B,GAAG,GAAG;oBACN,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;iBAC1C,CAAC,CAAC,CAAC;gBACJ,MAAM;YACR,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAc,CAAC;gBACtC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAgB,CAAC;gBACtC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAoB,CAAC;gBAC9C,4DAA4D;gBAC5D,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACzB,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAEzB,oBAAoB,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC3B,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;oBAC7C,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC/C,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;4BAC5E,SAAS,CAAC,CAAC,CAAC,GAAG;gCACb,GAAG,SAAS,CAAC,CAAC,CAAC;gCACf,MAAM,EAAE,SAAS;gCACjB,QAAQ,EAAE,UAAU,GAAG,IAAI;gCAC3B,MAAM,EAAE;oCACN,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC;oCACxC,OAAO,EAAE,MAAM;oCACf,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM;iCACrC;6BACF,CAAC;4BACF,MAAM;wBACR,CAAC;oBACH,CAAC;oBACD,OAAO,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,CAAC;gBAC/B,CAAC,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAiB,CAAC;gBACvC,YAAY,CAAC,MAAM,CAAC,CAAC;gBACrB,SAAS,EAAE,CAAC;gBACZ,SAAS,CAAC,OAAO,CAAC,CAAC;gBACnB,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACzB,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAEzB,oBAAoB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC7B,GAAG,GAAG;oBACN,OAAO,EAAE,GAAG,CAAC,OAAO,GAAG,cAAc,MAAM,EAAE;oBAC7C,WAAW,EAAE,KAAK;iBACnB,CAAC,CAAC,CAAC;gBACJ,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;gBAE/B,gBAAgB;gBAChB,UAAU,CAAC,GAAG,EAAE;oBACd,SAAS,CAAC,MAAM,CAAC,CAAC;gBACpB,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,MAAM;YACR,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,qBAAqB;gBACrB,gBAAgB,EAAE,CAAC;gBACnB,SAAS,EAAE,CAAC;gBACZ,SAAS,CAAC,WAAW,CAAC,CAAC;gBACvB,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACzB,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAEzB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAiB,CAAC;gBACxC,oBAAoB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC7B,GAAG,GAAG;oBACN,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,OAAO;oBAC/B,WAAW,EAAE,KAAK;iBACnB,CAAC,CAAC,CAAC;gBACJ,eAAe,CAAC,EAAE,CAAC,CAAC;gBACpB,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;gBAE/B,oCAAoC;gBACpC,UAAU,CAAC,GAAG,EAAE;oBACd,SAAS,CAAC,MAAM,CAAC,CAAC;gBACpB,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,MAAM;YACR,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAe,CAAC;gBACpC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAgB,CAAC;gBACtC,MAAM,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;gBAC7B,kBAAkB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;gBAE3C,yCAAyC;gBACzC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC1D,cAAc,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CACpD,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAC3B,CAAC;gBACF,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC7E,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBACjE,MAAM;YACR,CAAC;YAED,KAAK,uBAAuB;gBAC1B,SAAS,CAAC,mBAAmB,CAAC,CAAC;gBAC/B,MAAM;YAER;gBACE,MAAM;QACV,CAAC;IACH,CAAC,EACD,CAAC,oBAAoB,EAAE,gBAAgB,EAAE,SAAS,CAAC,CACpD,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,mBAAmB;QACnB,gBAAgB,EAAE,CAAC;QACnB,SAAS,EAAE,CAAC;QACZ,SAAS,CAAC,aAAa,CAAC,CAAC;QACzB,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEzB,oBAAoB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC7B,GAAG,GAAG;YACN,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO,GAAG,mBAAmB;SAC3C,CAAC,CAAC,CAAC;QACJ,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;QAE/B,MAAM,MAAM,GAAe;YACzB,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE;YACvB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,oBAAoB;YAC7B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAEzC,gBAAgB;QAChB,UAAU,CAAC,GAAG,EAAE;YACd,SAAS,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC,EAAE,CAAC,oBAAoB,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC;IAExD,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAAC,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QACjG,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;QAAC,CAAC;QACnF,cAAc,CAAC,OAAO,GAAG,EAAE,CAAC;QAC5B,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,eAAe,CAAC,EAAE,CAAC,CAAC;QACpB,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,YAAY,CAAC,CAAC,CAAC,CAAC;QAChB,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACxB,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;IACjC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAqB;QAC9B,MAAM;QACN,YAAY;QACZ,QAAQ;QACR,eAAe;QACf,eAAe;QACf,SAAS;QACT,aAAa;QACb,eAAe;QACf,eAAe;QACf,SAAS;QACT,iBAAiB;KAClB,CAAC;IAEF,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;AACxG,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACnD,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,IAAI,GAAG,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,GAAG,CAAC,SAAS;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,GAAG,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzD,IAAI,GAAG,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,GAAG,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,gBAAgB,CACvB,QAAgB,EAChB,OAAe;IAEf,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAClE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,aAAa,CAAC;IACnG,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,cAAc,CAAC;IAC1E,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"useAgentStream.js","sourceRoot":"","sources":["../../../src/tui/hooks/useAgentStream.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAyBjE,MAAM,UAAU,cAAc;IAC5B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAe,EAAE,CAAC,CAAC;IAC3D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAc,MAAM,CAAC,CAAC;IAC1D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE1D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACxE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC5E,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC5E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAChE,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAA4B,SAAS,CAAC,CAAC;IAEzF,MAAM,eAAe,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,MAAM,CAAqC,EAAE,CAAC,CAAC;IACtE,MAAM,uBAAuB,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAC5D,MAAM,oBAAoB,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IACzD,MAAM,iBAAiB,GAAG,MAAM,CAAS,CAAC,CAAC,CAAC;IAE5C,MAAM,YAAY,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,MAAM,CAAwC,IAAI,CAAC,CAAC;IAErE,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAClC,YAAY,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,QAAQ,CAAC,OAAO;YAAE,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtD,QAAQ,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;YAClC,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;gBACzB,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAChC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC;YAChD,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACxB,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;QAC9B,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,IAAI,QAAQ,CAAC,OAAO;gBAAE,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,oBAAoB,GAAG,WAAW,CACtC,CAAC,OAAwC,EAAE,EAAE;QAC3C,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC;QACnC,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAClC,MAAM,aAAa,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IACzE,MAAM,cAAc,GAAG,GAAG,CAAC;IAE3B,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;QACxC,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACpC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAC/B,CAAC;QACD,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC;QACpC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC9B,cAAc,CAAC,OAAO,GAAG,EAAE,CAAC;QAC5B,oBAAoB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC7B,GAAG,GAAG;YACN,OAAO,EAAE,GAAG,CAAC,OAAO,GAAG,IAAI;SAC5B,CAAC,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE3B,MAAM,mBAAmB,GAAG,WAAW,CAAC,CAAC,GAAW,EAAE,EAAE;QACtD,MAAM,KAAK,GAAG,GAAG;aACd,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;QAE/D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE/B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,CAAC;QAElD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,EAAE,GAAG,YAAY,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACpC,uBAAuB,CAAC,OAAO,GAAG,EAAE,CAAC;YACrC,MAAM,GAAG,GAAe;gBACtB,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YACF,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QAED,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CACnB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACb,IAAI,CAAC,CAAC,EAAE,KAAK,SAAS;gBAAE,OAAO,CAAC,CAAC;YAEjC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,CAAC,CAAC;YAEnC,OAAO;gBACL,GAAG,CAAC;gBACJ,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;aAC/C,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,IAAI,aAAa,CAAC,OAAO;gBAAE,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACjE,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,OAAe,EAAE,EAAE;QACrD,MAAM,GAAG,GAAe;YACtB,EAAE,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE;YACxB,IAAI,EAAE,MAAM;YACZ,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,OAAe,EAAE,EAAE;QACvD,MAAM,GAAG,GAAe;YACtB,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE;YACvB,IAAI,EAAE,QAAQ;YACd,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,SAAS,CAAC,UAAU,CAAC,CAAC;QACtB,eAAe,CAAC,EAAE,CAAC,CAAC;QACpB,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACxB,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACtB,cAAc,CAAC,OAAO,GAAG,EAAE,CAAC;QAC5B,uBAAuB,CAAC,OAAO,GAAG,IAAI,CAAC;QACvC,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAC;QACpC,iBAAiB,CAAC,OAAO,GAAG,CAAC,CAAC;QAC9B,UAAU,EAAE,CAAC;QAEb,MAAM,KAAK,GAAG,aAAa,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACxC,eAAe,CAAC,OAAO,GAAG,KAAK,CAAC;QAChC,MAAM,GAAG,GAAe;YACtB,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,EAAE;SACd,CAAC;QACF,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,KAAqB,EAAE,EAAE;QACxB,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACzB,KAAK,uBAAuB,CAAC,CAAC,CAAC;gBAC7B,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC9C,MAAM;YACR,CAAC;YACK,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,SAAS,CAAC,UAAU,CAAC,CAAC;gBACtB,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACzB,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACzB,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;gBACjD,MAAM;YACR,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAc,CAAC;gBAClC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;gBACvC,SAAS,CAAC,WAAW,CAAC,CAAC;gBACvB,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACzB,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACzB,cAAc,CAAC,OAAO,IAAI,IAAI,CAAC;gBAC/B,IAAI,aAAa,CAAC,OAAO;oBAAE,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC/D,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;gBACrE,MAAM;YACR,CAAC;YACR,KAAK,0BAA0B,CAAC,CAAC,CAAC;gBACjC,gBAAgB,CAAC,KAAK,CAAC,IAAqB,CAAC,CAAC;gBAC9C,MAAM;YACP,CAAC;YACM,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,SAAS,CAAC,cAAc,CAAC,CAAC;gBAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAc,CAAC;gBACtC,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,KAAgC,CAAC,CAAC;gBACnE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gBAC7B,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAEzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,MAAM,gBAAgB,GACpB,oBAAoB,CAAC,OAAO,KAAK,IAAI;oBACrC,GAAG,GAAG,iBAAiB,CAAC,OAAO,IAAI,GAAG,CAAC;gBAEzC,MAAM,OAAO,GAAG,gBAAgB;oBAC9B,CAAC,CAAC,oBAAoB,CAAC,OAAQ;oBAC/B,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;gBAEnB,oBAAoB,CAAC,OAAO,GAAG,OAAO,CAAC;gBACvC,iBAAiB,CAAC,OAAO,GAAG,GAAG,CAAC;gBAEhC,MAAM,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAClC,IAAI,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAChD,oBAAoB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC3C,CAAC;gBAED,MAAM,EAAE,GAAgB;oBACtB,EAAE,EAAE,MAAM,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;oBAChE,MAAM,EAAE,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;oBACnE,QAAQ;oBACR,WAAW,EAAE,IAAI;oBACjB,MAAM,EAAE,SAAS;oBACjB,UAAU,EAAE,KAAK;oBACjB,SAAS,EAAE,GAAG;oBACd,OAAO;iBACR,CAAC;gBAEF,oBAAoB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC7B,GAAG,GAAG;oBACN,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;iBAC1C,CAAC,CAAC,CAAC;gBACJ,MAAM;YACR,CAAC;YAER,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACzB,oBAAoB,CAAC,OAAO;oBAC1B,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC3D,MAAM;YACP,CAAC;YAEM,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAc,CAAC;gBACtC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAgB,CAAC;gBACtC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAoB,CAAC;gBAE9C,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACzB,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAEzB,IAAI,cAAc,GAAG,KAAK,CAAC;gBAE3B,oBAAoB,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC3B,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;oBAE7C,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC/C,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;wBAC1B,IAAI,CAAC,IAAI;4BAAE,SAAS;wBAEpB,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;4BAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;4BAE/B,IAAI,QAA4B,CAAC;4BACjC,IAAI,UAAU,EAAE,CAAC;gCACf,QAAQ,GAAG,UAAU,GAAG,IAAI,CAAC;4BAC/B,CAAC;iCAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gCAC1B,QAAQ,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;4BACnD,CAAC;4BAED,SAAS,CAAC,CAAC,CAAC,GAAG;gCACb,GAAG,IAAI;gCACP,MAAM,EAAE,SAAS;gCACjB,WAAW;gCACX,QAAQ;gCACR,MAAM,EAAE;oCACN,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC;oCACxC,OAAO,EAAE,MAAM;oCACf,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM;iCACrC;6BACF,CAAC;4BACF,MAAM;wBACR,CAAC;oBACH,CAAC;oBAED,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;oBACrE,OAAO,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,CAAC;gBAC/B,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,cAAc;oBAAE,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAC;gBACzD,MAAM;YACR,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAiB,CAAC;gBACvC,YAAY,CAAC,MAAM,CAAC,CAAC;gBACrB,SAAS,EAAE,CAAC;gBACZ,SAAS,CAAC,OAAO,CAAC,CAAC;gBACnB,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACzB,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAEzB,oBAAoB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC7B,GAAG,GAAG;oBACN,OAAO,EAAE,GAAG,CAAC,OAAO,GAAG,cAAc,MAAM,EAAE;oBAC7C,WAAW,EAAE,KAAK;iBACnB,CAAC,CAAC,CAAC;gBAEJ,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC/B,uBAAuB,CAAC,OAAO,GAAG,IAAI,CAAC;gBACvC,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAC;gBAEpC,UAAU,CAAC,GAAG,EAAE;oBACd,SAAS,CAAC,MAAM,CAAC,CAAC;gBACpB,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,MAAM;YACR,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,gBAAgB,EAAE,CAAC;gBACnB,SAAS,EAAE,CAAC;gBACZ,SAAS,CAAC,WAAW,CAAC,CAAC;gBACvB,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBACzB,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAEzB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAiB,CAAC;gBACxC,oBAAoB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC7B,GAAG,GAAG;oBACN,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,OAAO;oBAC/B,WAAW,EAAE,KAAK;iBACnB,CAAC,CAAC,CAAC;gBAEJ,eAAe,CAAC,EAAE,CAAC,CAAC;gBACpB,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;gBAC/B,uBAAuB,CAAC,OAAO,GAAG,IAAI,CAAC;gBACvC,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAC;gBAEpC,UAAU,CAAC,GAAG,EAAE;oBACd,SAAS,CAAC,MAAM,CAAC,CAAC;gBACpB,CAAC,EAAE,IAAI,CAAC,CAAC;gBACT,MAAM;YACR,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAe,CAAC;gBACpC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAgB,CAAC;gBACtC,MAAM,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;gBAC7B,kBAAkB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;gBAE3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC1D,cAAc,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CACpD,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAC3B,CAAC;gBAEF,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC7E,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBACjE,MAAM;YACR,CAAC;YAED,KAAK,uBAAuB,CAAC,CAAC,CAAC;gBACrC,SAAS,CAAC,mBAAmB,CAAC,CAAC;gBAE/B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAa,CAAC;gBAEnC,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC;oBACjB,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAClC,CAAC;gBAED,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC1C,IAAI,IAAI,EAAE,CAAC;oBACT,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC;gBAED,+BAA+B;gBAC/B,iDAAiD;gBACzC,MAAM;YACR,CAAC;YAED;gBACE,MAAM;QACV,CAAC;IACH,CAAC,EACD,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,SAAS,CAAC,CACzE,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,gBAAgB,EAAE,CAAC;QACnB,SAAS,EAAE,CAAC;QACZ,SAAS,CAAC,aAAa,CAAC,CAAC;QACzB,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEzB,oBAAoB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC7B,GAAG,GAAG;YACN,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO,GAAG,mBAAmB;SAC3C,CAAC,CAAC,CAAC;QAEJ,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;QAC/B,uBAAuB,CAAC,OAAO,GAAG,IAAI,CAAC;QACvC,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpC,MAAM,MAAM,GAAe;YACzB,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE;YACvB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,oBAAoB;YAC7B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAEzC,UAAU,CAAC,GAAG,EAAE;YACd,SAAS,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC,EAAE,CAAC,oBAAoB,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC;IAExD,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACpC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAC/B,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAChC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1B,CAAC;QAED,cAAc,CAAC,OAAO,GAAG,EAAE,CAAC;QAC5B,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;QAC5B,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,eAAe,CAAC,EAAE,CAAC,CAAC;QACpB,SAAS,CAAC,MAAM,CAAC,CAAC;QAClB,YAAY,CAAC,CAAC,CAAC,CAAC;QAChB,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAExB,uBAAuB,CAAC,OAAO,GAAG,IAAI,CAAC;QACvC,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAC;QACpC,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;IACjC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAqB;QAC9B,MAAM;QACN,YAAY;QACZ,QAAQ;QACR,eAAe;QACf,eAAe;QACf,SAAS;QACT,aAAa;QACb,eAAe;QACf,eAAe;QACf,SAAS;QACT,iBAAiB;QAChB,aAAa;KACf,CAAC;IAEF,OAAO;QACL,KAAK;QACL,WAAW;QACX,cAAc;QACd,gBAAgB;QAChB,UAAU;QACV,SAAS;QACT,aAAa;KACd,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACnD,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,IAAI,GAAG,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,GAAG,CAAC,SAAS;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,GAAG,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzD,IAAI,GAAG,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,GAAG,CAAC,KAAK;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,gBAAgB,CACvB,QAAgB,EAChB,OAAe;IAEf,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAClE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,aAAa,CAAC;IACnG,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,cAAc,CAAC;IAC1E,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"update-checker.d.ts","sourceRoot":"","sources":["../../../src/tui/lib/update-checker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,MAAM,WAAW,UAAU;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;CACzC;AAMD,yBAAyB;AACzB,wBAAgB,YAAY,IAAI,YAAY,CAU3C;AAED,yBAAyB;AACzB,wBAAgB,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAQzD;AAqCD,+CAA+C;AAC/C,wBAAsB,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAwCvF;AAED,mDAAmD;AACnD,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAuBtD"}
1
+ {"version":3,"file":"update-checker.d.ts","sourceRoot":"","sources":["../../../src/tui/lib/update-checker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,MAAM,WAAW,UAAU;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;CACzC;AAMD,yBAAyB;AACzB,wBAAgB,YAAY,IAAI,YAAY,CAU3C;AAED,yBAAyB;AACzB,wBAAgB,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAQzD;AAyCD,+CAA+C;AAC/C,wBAAsB,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAwCvF;AAED,mDAAmD;AACnD,wBAAsB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAuBtD"}
@@ -40,7 +40,7 @@ export function saveSettings(settings) {
40
40
  /** Fetch latest version from npm registry (non-blocking) */
41
41
  function fetchLatestVersion() {
42
42
  return new Promise((resolve) => {
43
- const url = `https://registry.npmjs.org/${PACKAGE_NAME}/latest`;
43
+ const url = `https://registry.npmjs.org/${encodeURIComponent(PACKAGE_NAME)}/latest`;
44
44
  const req = https.get(url, { timeout: 5000 }, (res) => {
45
45
  let data = "";
46
46
  res.on("data", (chunk) => { data += chunk; });
@@ -63,12 +63,14 @@ function fetchLatestVersion() {
63
63
  }
64
64
  /** Compare semver versions. Returns true if b > a */
65
65
  function isNewer(a, b) {
66
- const pa = a.split(".").map(Number);
67
- const pb = b.split(".").map(Number);
68
- for (let i = 0; i < 3; i++) {
69
- if ((pb[i] ?? 0) > (pa[i] ?? 0))
66
+ const pa = a.split(".").map(n => parseInt(n, 10));
67
+ const pb = b.split(".").map(n => parseInt(n, 10));
68
+ for (let i = 0; i < Math.max(pa.length, pb.length); i++) {
69
+ const ai = pa[i] ?? 0;
70
+ const bi = pb[i] ?? 0;
71
+ if (bi > ai)
70
72
  return true;
71
- if ((pb[i] ?? 0) < (pa[i] ?? 0))
73
+ if (bi < ai)
72
74
  return false;
73
75
  }
74
76
  return false;
@@ -121,7 +123,7 @@ export async function performUpdate() {
121
123
  const { execSync } = await import("node:child_process");
122
124
  // Try pnpm global add first (handles workspace:* correctly)
123
125
  try {
124
- execSync(`pnpm add -g ${PACKAGE_NAME}@latest`, {
126
+ execSync(`pnpm install -g ${PACKAGE_NAME}@latest`, {
125
127
  stdio: "pipe",
126
128
  timeout: 60000,
127
129
  });