@prestyj/cli 4.2.46 → 4.2.62

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 (172) hide show
  1. package/README.md +1 -1
  2. package/dist/cli.js +129 -3
  3. package/dist/cli.js.map +1 -1
  4. package/dist/config.js +5 -5
  5. package/dist/config.js.map +1 -1
  6. package/dist/core/agent-session.d.ts.map +1 -1
  7. package/dist/core/agent-session.js +11 -0
  8. package/dist/core/agent-session.js.map +1 -1
  9. package/dist/core/compaction/compactor.d.ts +8 -4
  10. package/dist/core/compaction/compactor.d.ts.map +1 -1
  11. package/dist/core/compaction/compactor.js +203 -27
  12. package/dist/core/compaction/compactor.js.map +1 -1
  13. package/dist/core/compaction/compactor.test.js +6 -4
  14. package/dist/core/compaction/compactor.test.js.map +1 -1
  15. package/dist/core/compaction/token-estimator.test.js +1 -1
  16. package/dist/core/compaction/token-estimator.test.js.map +1 -1
  17. package/dist/core/model-registry.js +5 -5
  18. package/dist/core/model-registry.js.map +1 -1
  19. package/dist/core/slash-commands.d.ts.map +1 -1
  20. package/dist/core/slash-commands.js +54 -0
  21. package/dist/core/slash-commands.js.map +1 -1
  22. package/dist/core/telegram.d.ts +19 -0
  23. package/dist/core/telegram.d.ts.map +1 -1
  24. package/dist/core/telegram.js +25 -0
  25. package/dist/core/telegram.js.map +1 -1
  26. package/dist/core/voice-transcriber.d.ts +33 -0
  27. package/dist/core/voice-transcriber.d.ts.map +1 -0
  28. package/dist/core/voice-transcriber.js +113 -0
  29. package/dist/core/voice-transcriber.js.map +1 -0
  30. package/dist/core/voice-transcriber.test.d.ts +2 -0
  31. package/dist/core/voice-transcriber.test.d.ts.map +1 -0
  32. package/dist/core/voice-transcriber.test.js +88 -0
  33. package/dist/core/voice-transcriber.test.js.map +1 -0
  34. package/dist/interactive.d.ts.map +1 -1
  35. package/dist/interactive.js +1 -0
  36. package/dist/interactive.js.map +1 -1
  37. package/dist/modes/serve-mode.d.ts.map +1 -1
  38. package/dist/modes/serve-mode.js +37 -0
  39. package/dist/modes/serve-mode.js.map +1 -1
  40. package/dist/tools/bash.d.ts.map +1 -1
  41. package/dist/tools/bash.js +4 -7
  42. package/dist/tools/bash.js.map +1 -1
  43. package/dist/tools/edit-diff.test.d.ts +2 -0
  44. package/dist/tools/edit-diff.test.d.ts.map +1 -0
  45. package/dist/tools/edit-diff.test.js +67 -0
  46. package/dist/tools/edit-diff.test.js.map +1 -0
  47. package/dist/tools/edit.d.ts.map +1 -1
  48. package/dist/tools/edit.js +4 -1
  49. package/dist/tools/edit.js.map +1 -1
  50. package/dist/tools/edit.test.d.ts +2 -0
  51. package/dist/tools/edit.test.d.ts.map +1 -0
  52. package/dist/tools/edit.test.js +93 -0
  53. package/dist/tools/edit.test.js.map +1 -0
  54. package/dist/tools/overflow.d.ts +6 -0
  55. package/dist/tools/overflow.d.ts.map +1 -0
  56. package/dist/tools/overflow.js +13 -0
  57. package/dist/tools/overflow.js.map +1 -0
  58. package/dist/tools/path-utils.test.d.ts +2 -0
  59. package/dist/tools/path-utils.test.d.ts.map +1 -0
  60. package/dist/tools/path-utils.test.js +49 -0
  61. package/dist/tools/path-utils.test.js.map +1 -0
  62. package/dist/tools/plan-mode.test.js.map +1 -1
  63. package/dist/tools/read.d.ts.map +1 -1
  64. package/dist/tools/read.js +6 -2
  65. package/dist/tools/read.js.map +1 -1
  66. package/dist/tools/read.test.d.ts +2 -0
  67. package/dist/tools/read.test.d.ts.map +1 -0
  68. package/dist/tools/read.test.js +81 -0
  69. package/dist/tools/read.test.js.map +1 -0
  70. package/dist/tools/truncate-utils.test.d.ts +2 -0
  71. package/dist/tools/truncate-utils.test.d.ts.map +1 -0
  72. package/dist/tools/truncate-utils.test.js +93 -0
  73. package/dist/tools/truncate-utils.test.js.map +1 -0
  74. package/dist/tools/truncate.d.ts +6 -4
  75. package/dist/tools/truncate.d.ts.map +1 -1
  76. package/dist/tools/truncate.js +12 -10
  77. package/dist/tools/truncate.js.map +1 -1
  78. package/dist/tools/write.test.js +65 -52
  79. package/dist/tools/write.test.js.map +1 -1
  80. package/dist/ui/App.d.ts +8 -1
  81. package/dist/ui/App.d.ts.map +1 -1
  82. package/dist/ui/App.js +62 -15
  83. package/dist/ui/App.js.map +1 -1
  84. package/dist/ui/activity-phrases.d.ts +10 -0
  85. package/dist/ui/activity-phrases.d.ts.map +1 -0
  86. package/dist/ui/activity-phrases.js +227 -0
  87. package/dist/ui/activity-phrases.js.map +1 -0
  88. package/dist/ui/components/ActivityIndicator.d.ts +3 -2
  89. package/dist/ui/components/ActivityIndicator.d.ts.map +1 -1
  90. package/dist/ui/components/ActivityIndicator.js +25 -244
  91. package/dist/ui/components/ActivityIndicator.js.map +1 -1
  92. package/dist/ui/components/AnimationContext.d.ts +9 -2
  93. package/dist/ui/components/AnimationContext.d.ts.map +1 -1
  94. package/dist/ui/components/AnimationContext.js +46 -7
  95. package/dist/ui/components/AnimationContext.js.map +1 -1
  96. package/dist/ui/components/AssistantMessage.d.ts +2 -1
  97. package/dist/ui/components/AssistantMessage.d.ts.map +1 -1
  98. package/dist/ui/components/AssistantMessage.js +2 -2
  99. package/dist/ui/components/AssistantMessage.js.map +1 -1
  100. package/dist/ui/components/Banner.d.ts.map +1 -1
  101. package/dist/ui/components/Banner.js +10 -1
  102. package/dist/ui/components/Banner.js.map +1 -1
  103. package/dist/ui/components/CompactionNotice.d.ts.map +1 -1
  104. package/dist/ui/components/CompactionNotice.js +2 -1
  105. package/dist/ui/components/CompactionNotice.js.map +1 -1
  106. package/dist/ui/components/Footer.d.ts.map +1 -1
  107. package/dist/ui/components/Footer.js +27 -17
  108. package/dist/ui/components/Footer.js.map +1 -1
  109. package/dist/ui/components/InputArea.d.ts.map +1 -1
  110. package/dist/ui/components/InputArea.js +585 -60
  111. package/dist/ui/components/InputArea.js.map +1 -1
  112. package/dist/ui/components/Markdown.d.ts +9 -4
  113. package/dist/ui/components/Markdown.d.ts.map +1 -1
  114. package/dist/ui/components/Markdown.js +74 -17
  115. package/dist/ui/components/Markdown.js.map +1 -1
  116. package/dist/ui/components/PlanApproval.d.ts.map +1 -1
  117. package/dist/ui/components/PlanApproval.js +17 -1
  118. package/dist/ui/components/PlanApproval.js.map +1 -1
  119. package/dist/ui/components/PlanBanner.d.ts.map +1 -1
  120. package/dist/ui/components/PlanBanner.js +18 -1
  121. package/dist/ui/components/PlanBanner.js.map +1 -1
  122. package/dist/ui/components/PlanOverlay.d.ts.map +1 -1
  123. package/dist/ui/components/PlanOverlay.js +43 -12
  124. package/dist/ui/components/PlanOverlay.js.map +1 -1
  125. package/dist/ui/components/SkillsOverlay.d.ts.map +1 -1
  126. package/dist/ui/components/SkillsOverlay.js +5 -1
  127. package/dist/ui/components/SkillsOverlay.js.map +1 -1
  128. package/dist/ui/components/Spinner.d.ts.map +1 -1
  129. package/dist/ui/components/Spinner.js +2 -1
  130. package/dist/ui/components/Spinner.js.map +1 -1
  131. package/dist/ui/components/StreamingArea.d.ts +2 -1
  132. package/dist/ui/components/StreamingArea.d.ts.map +1 -1
  133. package/dist/ui/components/StreamingArea.js +4 -4
  134. package/dist/ui/components/StreamingArea.js.map +1 -1
  135. package/dist/ui/components/SubAgentPanel.d.ts.map +1 -1
  136. package/dist/ui/components/SubAgentPanel.js +2 -1
  137. package/dist/ui/components/SubAgentPanel.js.map +1 -1
  138. package/dist/ui/components/TaskOverlay.d.ts.map +1 -1
  139. package/dist/ui/components/TaskOverlay.js +5 -1
  140. package/dist/ui/components/TaskOverlay.js.map +1 -1
  141. package/dist/ui/components/ThinkingBlock.d.ts +2 -1
  142. package/dist/ui/components/ThinkingBlock.d.ts.map +1 -1
  143. package/dist/ui/components/ThinkingBlock.js +2 -2
  144. package/dist/ui/components/ThinkingBlock.js.map +1 -1
  145. package/dist/ui/components/ThinkingIndicator.d.ts.map +1 -1
  146. package/dist/ui/components/ThinkingIndicator.js +2 -1
  147. package/dist/ui/components/ThinkingIndicator.js.map +1 -1
  148. package/dist/ui/components/ToolExecution.d.ts +1 -0
  149. package/dist/ui/components/ToolExecution.d.ts.map +1 -1
  150. package/dist/ui/components/ToolExecution.js +7 -4
  151. package/dist/ui/components/ToolExecution.js.map +1 -1
  152. package/dist/ui/components/index.d.ts +1 -1
  153. package/dist/ui/components/index.d.ts.map +1 -1
  154. package/dist/ui/components/index.js +1 -1
  155. package/dist/ui/components/index.js.map +1 -1
  156. package/dist/ui/hooks/useAgentLoop.d.ts +8 -1
  157. package/dist/ui/hooks/useAgentLoop.d.ts.map +1 -1
  158. package/dist/ui/hooks/useAgentLoop.js +69 -80
  159. package/dist/ui/hooks/useAgentLoop.js.map +1 -1
  160. package/dist/ui/hooks/useTerminalSize.d.ts +7 -7
  161. package/dist/ui/hooks/useTerminalSize.d.ts.map +1 -1
  162. package/dist/ui/hooks/useTerminalSize.js +25 -12
  163. package/dist/ui/hooks/useTerminalSize.js.map +1 -1
  164. package/dist/ui/hooks/useTerminalTitle.d.ts +8 -1
  165. package/dist/ui/hooks/useTerminalTitle.d.ts.map +1 -1
  166. package/dist/ui/hooks/useTerminalTitle.js +21 -23
  167. package/dist/ui/hooks/useTerminalTitle.js.map +1 -1
  168. package/dist/ui/plan-overlay.test.d.ts +2 -0
  169. package/dist/ui/plan-overlay.test.d.ts.map +1 -0
  170. package/dist/ui/plan-overlay.test.js +327 -0
  171. package/dist/ui/plan-overlay.test.js.map +1 -0
  172. package/package.json +6 -4
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import React, { createContext, useContext, useState, useEffect } from "react";
2
+ import React, { createContext, useContext, useState, useEffect, useCallback, useRef } from "react";
3
3
  /**
4
4
  * Global animation tick context.
5
5
  *
@@ -8,25 +8,64 @@ import React, { createContext, useContext, useState, useEffect } from "react";
8
8
  * arithmetic. This replaces per-component setIntervals that each caused
9
9
  * independent React re-renders — N spinners no longer means N timers.
10
10
  *
11
- * The tick only runs while at least one AnimationProvider is mounted
12
- * (i.e. while the app is alive).
11
+ * The tick only runs while at least one component has registered via
12
+ * `useAnimationActive()`, avoiding 10 re-renders/sec during idle streaming
13
+ * when no spinners or animations are visible.
13
14
  */
14
15
  const TICK_INTERVAL = 100; // ms — fast enough for the spinner (120ms frames)
15
16
  const AnimationContext = createContext(0);
17
+ const AnimationControlContext = createContext({ register: () => () => { } });
16
18
  export function AnimationProvider({ children }) {
17
19
  const [tick, setTick] = useState(0);
18
- useEffect(() => {
19
- const timer = setInterval(() => {
20
+ const subscriberCountRef = useRef(0);
21
+ const timerRef = useRef(null);
22
+ const startTimer = useCallback(() => {
23
+ if (timerRef.current)
24
+ return;
25
+ timerRef.current = setInterval(() => {
20
26
  setTick((t) => t + 1);
21
27
  }, TICK_INTERVAL);
22
- return () => clearInterval(timer);
23
28
  }, []);
24
- return _jsx(AnimationContext, { value: tick, children: children });
29
+ const stopTimer = useCallback(() => {
30
+ if (timerRef.current) {
31
+ clearInterval(timerRef.current);
32
+ timerRef.current = null;
33
+ }
34
+ }, []);
35
+ // Cleanup on unmount
36
+ useEffect(() => {
37
+ return () => stopTimer();
38
+ }, [stopTimer]);
39
+ const register = useCallback(() => {
40
+ subscriberCountRef.current++;
41
+ if (subscriberCountRef.current === 1)
42
+ startTimer();
43
+ return () => {
44
+ subscriberCountRef.current--;
45
+ if (subscriberCountRef.current <= 0) {
46
+ subscriberCountRef.current = 0;
47
+ stopTimer();
48
+ }
49
+ };
50
+ }, [startTimer, stopTimer]);
51
+ const control = React.useMemo(() => ({ register }), [register]);
52
+ return (_jsx(AnimationControlContext, { value: control, children: _jsx(AnimationContext, { value: tick, children: children }) }));
25
53
  }
26
54
  /** Returns the current global animation tick counter. */
27
55
  export function useAnimationTick() {
28
56
  return useContext(AnimationContext);
29
57
  }
58
+ /**
59
+ * Register this component as needing animation ticks.
60
+ * The global timer only runs while at least one component is registered.
61
+ * Call this in any component that uses animation frames (spinners, shimmer, etc).
62
+ */
63
+ export function useAnimationActive() {
64
+ const { register } = useContext(AnimationControlContext);
65
+ useEffect(() => {
66
+ return register();
67
+ }, [register]);
68
+ }
30
69
  /** Derive a frame index from the global tick for a given interval and frame count. */
31
70
  export function deriveFrame(tick, intervalMs, frameCount) {
32
71
  return Math.floor((tick * TICK_INTERVAL) / intervalMs) % frameCount;
@@ -1 +1 @@
1
- {"version":3,"file":"AnimationContext.js","sourceRoot":"","sources":["../../../src/ui/components/AnimationContext.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9E;;;;;;;;;;GAUG;AAEH,MAAM,aAAa,GAAG,GAAG,CAAC,CAAC,kDAAkD;AAE7E,MAAM,gBAAgB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;AAE1C,MAAM,UAAU,iBAAiB,CAAC,EAAE,QAAQ,EAAiC;IAC3E,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEpC,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxB,CAAC,EAAE,aAAa,CAAC,CAAC;QAClB,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,KAAC,gBAAgB,IAAC,KAAK,EAAE,IAAI,YAAG,QAAQ,GAAoB,CAAC;AACtE,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,gBAAgB;IAC9B,OAAO,UAAU,CAAC,gBAAgB,CAAC,CAAC;AACtC,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,UAAkB,EAAE,UAAkB;IAC9E,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,aAAa,CAAC,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC;AACtE,CAAC;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"AnimationContext.js","sourceRoot":"","sources":["../../../src/ui/components/AnimationContext.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
+ import React from "react";
1
2
  interface AssistantMessageProps {
2
3
  text: string;
3
4
  thinking?: string;
4
5
  thinkingMs?: number;
5
6
  showThinking?: boolean;
6
7
  }
7
- export declare function AssistantMessage({ text, thinking, thinkingMs, showThinking, }: AssistantMessageProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare const AssistantMessage: React.NamedExoticComponent<AssistantMessageProps>;
8
9
  export {};
9
10
  //# sourceMappingURL=AssistantMessage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantMessage.d.ts","sourceRoot":"","sources":["../../../src/ui/components/AssistantMessage.tsx"],"names":[],"mappings":"AAOA,UAAU,qBAAqB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAKD,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,YAAmB,GACpB,EAAE,qBAAqB,2CAoBvB"}
1
+ {"version":3,"file":"AssistantMessage.d.ts","sourceRoot":"","sources":["../../../src/ui/components/AssistantMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,UAAU,qBAAqB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAKD,eAAO,MAAM,gBAAgB,mDAyB3B,CAAC"}
@@ -7,10 +7,10 @@ import { ThinkingBlock } from "./ThinkingBlock.js";
7
7
  import { useTerminalSize } from "../hooks/useTerminalSize.js";
8
8
  // "⏺ " prefix = 2 chars
9
9
  const PREFIX_WIDTH = 2;
10
- export function AssistantMessage({ text, thinking, thinkingMs, showThinking = true, }) {
10
+ export const AssistantMessage = React.memo(function AssistantMessage({ text, thinking, thinkingMs, showThinking = true, }) {
11
11
  const theme = useTheme();
12
12
  const { columns } = useTerminalSize();
13
13
  const contentWidth = Math.max(10, columns - PREFIX_WIDTH);
14
14
  return (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [showThinking && thinking && _jsx(ThinkingBlock, { text: thinking, durationMs: thinkingMs }), text && (_jsxs(Box, { flexDirection: "row", children: [_jsx(Box, { width: PREFIX_WIDTH, flexShrink: 0, children: _jsx(Text, { color: theme.primary, children: "⏺ " }) }), _jsx(Box, { flexDirection: "column", flexGrow: 1, width: contentWidth, children: _jsx(Markdown, { children: text.trimStart() }) })] }))] }));
15
- }
15
+ });
16
16
  //# sourceMappingURL=AssistantMessage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantMessage.js","sourceRoot":"","sources":["../../../src/ui/components/AssistantMessage.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAS9D,wBAAwB;AACxB,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB,MAAM,UAAU,gBAAgB,CAAC,EAC/B,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,YAAY,GAAG,IAAI,GACG;IACtB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,EAAE,CAAC;IACtC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,GAAG,YAAY,CAAC,CAAC;IAE1D,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,aACrC,YAAY,IAAI,QAAQ,IAAI,KAAC,aAAa,IAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,GAAI,EACrF,IAAI,IAAI,CACP,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,aACtB,KAAC,GAAG,IAAC,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,YACrC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,YAAG,IAAI,GAAQ,GACrC,EACN,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,YAC1D,KAAC,QAAQ,cAAE,IAAI,CAAC,SAAS,EAAE,GAAY,GACnC,IACF,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"AssistantMessage.js","sourceRoot":"","sources":["../../../src/ui/components/AssistantMessage.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAS9D,wBAAwB;AACxB,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,gBAAgB,CAAC,EACnE,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,YAAY,GAAG,IAAI,GACG;IACtB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,EAAE,CAAC;IACtC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,GAAG,YAAY,CAAC,CAAC;IAE1D,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,aACrC,YAAY,IAAI,QAAQ,IAAI,KAAC,aAAa,IAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,GAAI,EACrF,IAAI,IAAI,CACP,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,aACtB,KAAC,GAAG,IAAC,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,YACrC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,YAAG,IAAI,GAAQ,GACrC,EACN,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,YAC1D,KAAC,QAAQ,cAAE,IAAI,CAAC,SAAS,EAAE,GAAY,GACnC,IACF,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../../src/ui/components/Banner.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA0BD,wBAAgB,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,WAAW,2CAsDrE"}
1
+ {"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../../src/ui/components/Banner.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA6BD,wBAAgB,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,WAAW,2CA8FrE"}
@@ -3,6 +3,7 @@ import React from "react";
3
3
  import { Box, Text } from "ink";
4
4
  import { useTheme } from "../theme/theme.js";
5
5
  import { getModel } from "../../core/model-registry.js";
6
+ import { useTerminalSize } from "../hooks/useTerminalSize.js";
6
7
  const LOGO_LINES = [
7
8
  " \u2588\u2580\u2580\u2580 \u2580\u2580\u2580\u2588",
8
9
  " \u2588\u2580\u2580 \u2584\u2580 ",
@@ -24,8 +25,12 @@ const GRADIENT = [
24
25
  "#6da1f9",
25
26
  ];
26
27
  const GAP = " ";
28
+ // Logo is 9 visible chars wide + GAP (3) = 12 chars before info text
29
+ const LOGO_WIDTH = 9;
30
+ const SIDE_BY_SIDE_MIN = LOGO_WIDTH + GAP.length + 20; // need ~32 cols for side-by-side
27
31
  export function Banner({ version, model, cwd, taskCount }) {
28
32
  const theme = useTheme();
33
+ const { columns } = useTerminalSize();
29
34
  const modelInfo = getModel(model);
30
35
  const modelName = modelInfo?.name ?? model;
31
36
  const home = process.env.HOME ?? "";
@@ -34,7 +39,11 @@ export function Banner({ version, model, cwd, taskCount }) {
34
39
  // into Ink's Static area. Animating here would waste CPU and could cause
35
40
  // visual duplicates on terminal resize.
36
41
  const shift = 0;
37
- return (_jsxs(Box, { flexDirection: "column", marginTop: 1, marginBottom: 1, children: [_jsxs(Box, { children: [_jsx(GradientText, { text: LOGO_LINES[0], shift: shift }), _jsx(Text, { children: GAP }), _jsx(Text, { color: theme.primary, bold: true, children: "EZ Coder" }), _jsxs(Text, { color: theme.textDim, children: [" v", version] }), _jsx(Text, { color: theme.textDim, children: " \u00B7 By " }), _jsx(Text, { color: theme.text, bold: true, children: "Nolan Grout" })] }), _jsxs(Box, { children: [_jsx(GradientText, { text: LOGO_LINES[1], shift: shift }), _jsx(Text, { children: GAP }), _jsx(Text, { color: theme.secondary, children: modelName }), _jsx(Text, { color: theme.textDim, children: " " }), _jsx(Text, { color: theme.textDim, children: displayPath })] }), _jsxs(Box, { children: [_jsx(GradientText, { text: LOGO_LINES[2], shift: shift }), _jsx(Text, { children: GAP }), _jsx(Text, { color: theme.primary, children: "^T" }), _jsx(Text, { color: theme.textDim, children: " tasks" }), taskCount !== undefined && taskCount > 0 && (_jsxs(Text, { color: theme.secondary, children: [" (", taskCount, ")"] })), _jsx(Text, { color: theme.textDim, children: " " }), _jsx(Text, { color: theme.primary, children: "^S" }), _jsx(Text, { color: theme.textDim, children: " skills" }), _jsx(Text, { color: theme.textDim, children: " " }), _jsx(Text, { color: theme.primary, children: "^P" }), _jsx(Text, { color: theme.textDim, children: " plan mode" }), _jsx(Text, { color: theme.textDim, children: " " }), _jsx(Text, { color: theme.primary, children: "\u21E7Tab" }), _jsx(Text, { color: theme.textDim, children: " thinking" })] })] }));
42
+ // At narrow widths, stack logo above info instead of side-by-side
43
+ if (columns < SIDE_BY_SIDE_MIN) {
44
+ return (_jsxs(Box, { flexDirection: "column", marginTop: 1, marginBottom: 1, width: columns, children: [_jsx(GradientText, { text: LOGO_LINES[0], shift: shift }), _jsx(GradientText, { text: LOGO_LINES[1], shift: shift }), _jsx(GradientText, { text: LOGO_LINES[2], shift: shift }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: theme.primary, bold: true, children: "EZ Coder" }), _jsxs(Text, { color: theme.textDim, children: [" v", version] })] }), _jsxs(Box, { children: [_jsx(Text, { color: theme.secondary, children: modelName }), _jsx(Text, { color: theme.textDim, children: " " }), _jsx(Text, { color: theme.textDim, wrap: "truncate", children: displayPath })] }), _jsxs(Box, { children: [_jsx(Text, { color: theme.primary, children: "^T" }), _jsx(Text, { color: theme.textDim, children: " tasks" }), taskCount !== undefined && taskCount > 0 && (_jsxs(Text, { color: theme.secondary, children: [" (", taskCount, ")"] })), _jsx(Text, { color: theme.textDim, children: " " }), _jsx(Text, { color: theme.primary, children: "^S" }), _jsx(Text, { color: theme.textDim, children: " skills" }), _jsx(Text, { color: theme.textDim, children: " " }), _jsx(Text, { color: theme.primary, children: "^P" }), _jsx(Text, { color: theme.textDim, children: " plan" })] })] }));
45
+ }
46
+ return (_jsxs(Box, { flexDirection: "column", marginTop: 1, marginBottom: 1, width: columns, children: [_jsxs(Box, { children: [_jsx(GradientText, { text: LOGO_LINES[0], shift: shift }), _jsx(Text, { children: GAP }), _jsx(Text, { color: theme.primary, bold: true, children: "EZ Coder" }), _jsxs(Text, { color: theme.textDim, children: [" v", version] }), _jsx(Text, { color: theme.textDim, children: " \u00B7 By " }), _jsx(Text, { color: theme.text, bold: true, children: "Nolan Grout" })] }), _jsxs(Box, { children: [_jsx(GradientText, { text: LOGO_LINES[1], shift: shift }), _jsx(Text, { children: GAP }), _jsx(Text, { color: theme.secondary, children: modelName }), _jsx(Text, { color: theme.textDim, children: " " }), _jsx(Text, { color: theme.textDim, wrap: "truncate", children: displayPath })] }), _jsxs(Box, { children: [_jsx(GradientText, { text: LOGO_LINES[2], shift: shift }), _jsx(Text, { children: GAP }), _jsx(Text, { color: theme.primary, children: "^T" }), _jsx(Text, { color: theme.textDim, children: " tasks" }), taskCount !== undefined && taskCount > 0 && (_jsxs(Text, { color: theme.secondary, children: [" (", taskCount, ")"] })), _jsx(Text, { color: theme.textDim, children: " " }), _jsx(Text, { color: theme.primary, children: "^S" }), _jsx(Text, { color: theme.textDim, children: " skills" }), _jsx(Text, { color: theme.textDim, children: " " }), _jsx(Text, { color: theme.primary, children: "^P" }), _jsx(Text, { color: theme.textDim, children: " plan mode" }), _jsx(Text, { color: theme.textDim, children: " " }), _jsx(Text, { color: theme.primary, children: "\u21E7Tab" }), _jsx(Text, { color: theme.textDim, children: " thinking" })] })] }));
38
47
  }
39
48
  function GradientText({ text, shift = 0 }) {
40
49
  const chars = [];
@@ -1 +1 @@
1
- {"version":3,"file":"Banner.js","sourceRoot":"","sources":["../../../src/ui/components/Banner.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Banner.js","sourceRoot":"","sources":["../../../src/ui/components/Banner.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CompactionNotice.d.ts","sourceRoot":"","sources":["../../../src/ui/components/CompactionNotice.tsx"],"names":[],"mappings":"AAkBA,wBAAgB,iBAAiB,4CAwBhC;AAID,UAAU,mBAAmB;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,cAAc,CAAC,EAC7B,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,WAAW,GACZ,EAAE,mBAAmB,2CA6BrB"}
1
+ {"version":3,"file":"CompactionNotice.d.ts","sourceRoot":"","sources":["../../../src/ui/components/CompactionNotice.tsx"],"names":[],"mappings":"AAkBA,wBAAgB,iBAAiB,4CAyBhC;AAID,UAAU,mBAAmB;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,cAAc,CAAC,EAC7B,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,WAAW,GACZ,EAAE,mBAAmB,2CA6BrB"}
@@ -3,7 +3,7 @@ import React from "react";
3
3
  import { Text, Box } from "ink";
4
4
  import { useTheme } from "../theme/theme.js";
5
5
  import { SPINNER_FRAMES, SPINNER_INTERVAL } from "../spinner-frames.js";
6
- import { useAnimationTick, deriveFrame } from "./AnimationContext.js";
6
+ import { useAnimationTick, useAnimationActive, deriveFrame } from "./AnimationContext.js";
7
7
  const ACCENT_COLOR = "#fbbf24"; // warning/amber
8
8
  function formatTokenCount(n) {
9
9
  if (n >= 1000) {
@@ -15,6 +15,7 @@ function formatTokenCount(n) {
15
15
  // ── In-progress (animated spinner) ──────────────────────
16
16
  export function CompactionSpinner() {
17
17
  const theme = useTheme();
18
+ useAnimationActive();
18
19
  const tick = useAnimationTick();
19
20
  const frame = deriveFrame(tick, SPINNER_INTERVAL, SPINNER_FRAMES.length);
20
21
  return (_jsx(Box, { marginTop: 1, children: _jsxs(Box, { borderStyle: "single", borderLeft: true, borderRight: false, borderTop: false, borderBottom: false, borderLeftColor: ACCENT_COLOR, paddingLeft: 1, children: [_jsxs(Text, { color: ACCENT_COLOR, children: [SPINNER_FRAMES[frame], " "] }), _jsx(Text, { color: theme.textMuted, italic: true, children: "Compacting conversation" }), _jsx(Text, { color: theme.textDim, children: "..." })] }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"CompactionNotice.js","sourceRoot":"","sources":["../../../src/ui/components/CompactionNotice.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEtE,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,gBAAgB;AAEhD,SAAS,gBAAgB,CAAC,CAAS;IACjC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACd,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACnB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC5D,CAAC;IACD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED,2DAA2D;AAE3D,MAAM,UAAU,iBAAiB;IAC/B,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,gBAAgB,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAEzE,OAAO,CACL,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,MAAC,GAAG,IACF,WAAW,EAAC,QAAQ,EACpB,UAAU,QACV,WAAW,EAAE,KAAK,EAClB,SAAS,EAAE,KAAK,EAChB,YAAY,EAAE,KAAK,EACnB,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,CAAC,aAEd,MAAC,IAAI,IAAC,KAAK,EAAE,YAAY,aAAG,cAAc,CAAC,KAAK,CAAC,SAAS,EAC1D,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,8CAE7B,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,oBAAY,IAClC,GACF,CACP,CAAC;AACJ,CAAC;AAWD,MAAM,UAAU,cAAc,CAAC,EAC7B,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,WAAW,GACS;IACpB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,SAAS,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5F,OAAO,CACL,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,MAAC,GAAG,IACF,WAAW,EAAC,QAAQ,EACpB,UAAU,QACV,WAAW,EAAE,KAAK,EAClB,SAAS,EAAE,KAAK,EAChB,YAAY,EAAE,KAAK,EACnB,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,CAAC,EACd,aAAa,EAAC,QAAQ,aAEtB,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAE,YAAY,YAAG,IAAI,GAAQ,EACxC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,SAAS,uCAA+B,IACvD,EACN,KAAC,GAAG,IAAC,UAAU,EAAE,CAAC,YAChB,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,aACvB,aAAa,cAAK,QAAQ,uBAAc,gBAAgB,CAAC,YAAY,CAAC,aAAI,GAAG,EAC7E,gBAAgB,CAAC,WAAW,CAAC,qBAAY,SAAS,mBAC9C,GACH,IACF,GACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"CompactionNotice.js","sourceRoot":"","sources":["../../../src/ui/components/CompactionNotice.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../../src/ui/components/Footer.tsx"],"names":[],"mappings":"AAKA,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAoDD,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,QAAQ,EACR,GAAG,EACH,SAAS,EACT,eAAe,EACf,QAAQ,GACT,EAAE,WAAW,2CAwGb"}
1
+ {"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../../src/ui/components/Footer.tsx"],"names":[],"mappings":"AAMA,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAoDD,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,QAAQ,EACR,GAAG,EACH,SAAS,EACT,eAAe,EACf,QAAQ,GACT,EAAE,WAAW,2CAoJb"}
@@ -1,7 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import React from "react";
3
- import { Text, Box, useStdout } from "ink";
3
+ import { Text, Box } from "ink";
4
4
  import { useTheme } from "../theme/theme.js";
5
+ import { useTerminalSize } from "../hooks/useTerminalSize.js";
5
6
  import { getContextWindow } from "../../core/model-registry.js";
6
7
  // Model ID → short display name
7
8
  const MODEL_SHORT_NAMES = {
@@ -54,8 +55,7 @@ const PARTIAL_BLOCKS = [
54
55
  ];
55
56
  export function Footer({ model, tokensIn, cwd, gitBranch, thinkingEnabled, planMode, }) {
56
57
  const theme = useTheme();
57
- const { stdout } = useStdout();
58
- const columns = stdout?.columns ?? 80;
58
+ const { columns } = useTerminalSize();
59
59
  // Show only last 2 path segments (project folder + immediate parent)
60
60
  const parts = cwd.split("/").filter(Boolean);
61
61
  const displayPath = parts.length <= 2 ? cwd : parts.slice(-2).join("/");
@@ -83,27 +83,37 @@ export function Footer({ model, tokensIn, cwd, gitBranch, thinkingEnabled, planM
83
83
  }
84
84
  // "Plan on" / "Plan off" + key hint (⇧P)
85
85
  const planText = planMode ? "Plan on" : "Plan off";
86
- const planLen = planText.length + 3 + 3; // " │ " separator + " ⇧P"
87
86
  // "Thinking on" / "Thinking off" + key hint (⇧⇹)
88
87
  const thinkingText = thinkingEnabled ? "Thinking on" : "Thinking off";
89
- const thinkingLen = thinkingText.length + 3 + 3; // " " separator + " ⇧⇹"
90
- // Truncate path if footer would overflow
91
- const rightLen = modelName.length +
92
- planLen +
93
- thinkingLen +
94
- 3 +
88
+ // Calculate whether everything fits on one line.
89
+ // Left: path + separator + branch. Right: tokens + bar + model + plan + thinking.
90
+ const leftLen = displayPath.length + 2 + (gitBranch ? gitBranch.length + 5 : 0); // 2 = paddingLeft+Right
91
+ const rightLen = formatTokens(tokensIn).length +
92
+ 3 + // sep
95
93
  barWidth +
96
94
  1 +
97
95
  String(contextPct).length +
98
- 1 +
99
- (gitBranch ? gitBranch.length + 5 : 0) +
100
- formatTokens(tokensIn).length +
101
- 3 +
102
- 10;
103
- const maxPath = columns - rightLen - 4;
96
+ 1 + // " N%"
97
+ 3 + // sep
98
+ modelName.length +
99
+ 3 + // sep
100
+ planText.length +
101
+ 3 + // " ^P"
102
+ 3 + // sep
103
+ thinkingText.length +
104
+ 3; // " ⇧⇹"
105
+ const availableWidth = columns - 2; // paddingLeft + paddingRight
106
+ const fitsOnOneLine = leftLen + rightLen <= availableWidth;
107
+ // Truncate path only when single-line and it's the path that's too long
108
+ const maxPath = fitsOnOneLine ? availableWidth - rightLen - 2 : availableWidth;
104
109
  const truncPath = displayPath.length > maxPath && maxPath > 10
105
110
  ? "\u2026" + displayPath.slice(displayPath.length - maxPath + 1)
106
111
  : displayPath;
107
- return (_jsxs(Box, { paddingLeft: 1, paddingRight: 1, children: [_jsxs(Box, { flexGrow: 1, children: [_jsx(Text, { color: theme.textDim, children: truncPath }), gitBranch && (_jsxs(_Fragment, { children: [sep, _jsxs(Text, { color: theme.secondary, children: ["\u2387 ", gitBranch] })] }))] }), _jsxs(Box, { children: [_jsx(Text, { color: theme.textDim, children: formatTokens(tokensIn) }), sep, _jsx(Text, { children: barChars }), _jsxs(Text, { color: contextColor, children: [" ", contextPct, "%"] }), sep, _jsx(Text, { color: theme.primary, bold: true, children: modelName }), sep, _jsx(Text, { color: planMode ? theme.planPrimary : theme.textDim, children: planText }), _jsx(Text, { color: theme.border, children: " ⇧P" }), sep, _jsx(Text, { color: thinkingEnabled ? theme.accent : theme.textDim, children: thinkingText }), _jsx(Text, { color: theme.border, children: " \u21E7\u21B9" })] })] }));
112
+ if (fitsOnOneLine) {
113
+ // Single-line layout: left grows, right is fixed
114
+ return (_jsxs(Box, { paddingLeft: 1, paddingRight: 1, width: columns, children: [_jsxs(Box, { flexGrow: 1, children: [_jsx(Text, { color: theme.textDim, children: truncPath }), gitBranch && (_jsxs(_Fragment, { children: [sep, _jsxs(Text, { color: theme.secondary, children: ["\u2387 ", gitBranch] })] }))] }), _jsxs(Box, { flexShrink: 0, children: [_jsx(Text, { color: theme.textDim, children: formatTokens(tokensIn) }), sep, _jsx(Text, { children: barChars }), _jsxs(Text, { color: contextColor, children: [" ", contextPct, "%"] }), sep, _jsx(Text, { color: theme.primary, bold: true, children: modelName }), sep, _jsx(Text, { color: planMode ? theme.planPrimary : theme.textDim, children: planText }), _jsx(Text, { color: theme.border, children: " ^P" }), sep, _jsx(Text, { color: thinkingEnabled ? theme.accent : theme.textDim, children: thinkingText }), _jsx(Text, { color: theme.border, children: " \u21E7\u21B9" })] })] }));
115
+ }
116
+ // Two-line layout: wrap right-side items below the left side
117
+ return (_jsxs(Box, { flexDirection: "column", paddingLeft: 1, paddingRight: 1, width: columns, children: [_jsxs(Box, { children: [_jsx(Text, { color: theme.textDim, wrap: "truncate", children: truncPath }), gitBranch && (_jsxs(_Fragment, { children: [sep, _jsxs(Text, { color: theme.secondary, wrap: "truncate", children: ["\u2387 ", gitBranch] })] }))] }), _jsxs(Box, { children: [_jsx(Text, { color: theme.textDim, children: formatTokens(tokensIn) }), sep, _jsx(Text, { children: barChars }), _jsxs(Text, { color: contextColor, children: [" ", contextPct, "%"] }), sep, _jsx(Text, { color: theme.primary, bold: true, children: modelName }), sep, _jsx(Text, { color: planMode ? theme.planPrimary : theme.textDim, children: planText }), _jsx(Text, { color: theme.border, children: " ⇧P" }), sep, _jsx(Text, { color: thinkingEnabled ? theme.accent : theme.textDim, children: thinkingText }), _jsx(Text, { color: theme.border, children: " \u21E7\u21B9" })] })] }));
108
118
  }
109
119
  //# sourceMappingURL=Footer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../../src/ui/components/Footer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../../src/ui/components/Footer.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputArea.d.ts","sourceRoot":"","sources":["../../../src/ui/components/InputArea.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAoC,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAKhG,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,cAAc;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IAChF,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAgDD,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,OAAO,EACP,QAAgB,EAChB,QAAe,EACf,WAAW,EACX,UAAU,EACV,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,GAAG,EACH,QAAa,GACd,EAAE,cAAc,2CA2gBhB"}
1
+ {"version":3,"file":"InputArea.d.ts","sourceRoot":"","sources":["../../../src/ui/components/InputArea.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAoC,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AA0EhG,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,cAAc;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,KAAK,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IAChF,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAkDD,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,OAAO,EACP,QAAgB,EAChB,QAAe,EACf,WAAW,EACX,UAAU,EACV,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,GAAG,EACH,QAAa,GACd,EAAE,cAAc,2CAgiChB"}