@kenkaiiii/ggcoder 1.0.5 → 2.0.0

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 (117) hide show
  1. package/dist/cli.js +104 -13
  2. package/dist/cli.js.map +1 -1
  3. package/dist/config.d.ts +1 -0
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +1 -0
  6. package/dist/config.js.map +1 -1
  7. package/dist/core/agent-session.d.ts +2 -0
  8. package/dist/core/agent-session.d.ts.map +1 -1
  9. package/dist/core/agent-session.js +18 -1
  10. package/dist/core/agent-session.js.map +1 -1
  11. package/dist/core/auth-storage.d.ts.map +1 -1
  12. package/dist/core/auth-storage.js +4 -0
  13. package/dist/core/auth-storage.js.map +1 -1
  14. package/dist/core/index.d.ts +2 -1
  15. package/dist/core/index.d.ts.map +1 -1
  16. package/dist/core/index.js +2 -1
  17. package/dist/core/index.js.map +1 -1
  18. package/dist/core/logger.d.ts +25 -0
  19. package/dist/core/logger.d.ts.map +1 -0
  20. package/dist/core/logger.js +126 -0
  21. package/dist/core/logger.js.map +1 -0
  22. package/dist/core/mcp/client.d.ts +9 -0
  23. package/dist/core/mcp/client.d.ts.map +1 -0
  24. package/dist/core/mcp/client.js +79 -0
  25. package/dist/core/mcp/client.js.map +1 -0
  26. package/dist/core/mcp/defaults.d.ts +3 -0
  27. package/dist/core/mcp/defaults.d.ts.map +1 -0
  28. package/dist/core/mcp/defaults.js +4 -0
  29. package/dist/core/mcp/defaults.js.map +1 -0
  30. package/dist/core/mcp/index.d.ts +4 -0
  31. package/dist/core/mcp/index.d.ts.map +1 -0
  32. package/dist/core/mcp/index.js +3 -0
  33. package/dist/core/mcp/index.js.map +1 -0
  34. package/dist/core/mcp/types.d.ts +8 -0
  35. package/dist/core/mcp/types.d.ts.map +1 -0
  36. package/dist/core/mcp/types.js +2 -0
  37. package/dist/core/mcp/types.js.map +1 -0
  38. package/dist/core/model-registry.d.ts +0 -1
  39. package/dist/core/model-registry.d.ts.map +1 -1
  40. package/dist/core/model-registry.js +41 -29
  41. package/dist/core/model-registry.js.map +1 -1
  42. package/dist/core/process-manager.d.ts +30 -0
  43. package/dist/core/process-manager.d.ts.map +1 -0
  44. package/dist/core/process-manager.js +118 -0
  45. package/dist/core/process-manager.js.map +1 -0
  46. package/dist/core/settings-manager.d.ts +2 -0
  47. package/dist/core/settings-manager.d.ts.map +1 -1
  48. package/dist/core/settings-manager.js +1 -1
  49. package/dist/core/settings-manager.js.map +1 -1
  50. package/dist/interactive.d.ts.map +1 -1
  51. package/dist/interactive.js +2 -1
  52. package/dist/interactive.js.map +1 -1
  53. package/dist/modes/json-mode.d.ts.map +1 -1
  54. package/dist/modes/json-mode.js +7 -0
  55. package/dist/modes/json-mode.js.map +1 -1
  56. package/dist/modes/print-mode.d.ts.map +1 -1
  57. package/dist/modes/print-mode.js +7 -0
  58. package/dist/modes/print-mode.js.map +1 -1
  59. package/dist/system-prompt.d.ts.map +1 -1
  60. package/dist/system-prompt.js +64 -26
  61. package/dist/system-prompt.js.map +1 -1
  62. package/dist/tools/bash.d.ts +3 -1
  63. package/dist/tools/bash.d.ts.map +1 -1
  64. package/dist/tools/bash.js +18 -3
  65. package/dist/tools/bash.js.map +1 -1
  66. package/dist/tools/index.d.ts +9 -1
  67. package/dist/tools/index.d.ts.map +1 -1
  68. package/dist/tools/index.js +11 -2
  69. package/dist/tools/index.js.map +1 -1
  70. package/dist/tools/subagent.d.ts.map +1 -1
  71. package/dist/tools/subagent.js +2 -0
  72. package/dist/tools/subagent.js.map +1 -1
  73. package/dist/tools/task-output.d.ts +10 -0
  74. package/dist/tools/task-output.d.ts.map +1 -0
  75. package/dist/tools/task-output.js +33 -0
  76. package/dist/tools/task-output.js.map +1 -0
  77. package/dist/tools/task-stop.d.ts +9 -0
  78. package/dist/tools/task-stop.d.ts.map +1 -0
  79. package/dist/tools/task-stop.js +15 -0
  80. package/dist/tools/task-stop.js.map +1 -0
  81. package/dist/ui/App.d.ts +4 -0
  82. package/dist/ui/App.d.ts.map +1 -1
  83. package/dist/ui/App.js +108 -4
  84. package/dist/ui/App.js.map +1 -1
  85. package/dist/ui/components/ActivityIndicator.d.ts.map +1 -1
  86. package/dist/ui/components/ActivityIndicator.js +22 -2
  87. package/dist/ui/components/ActivityIndicator.js.map +1 -1
  88. package/dist/ui/components/BackgroundTasksBar.d.ts +15 -0
  89. package/dist/ui/components/BackgroundTasksBar.d.ts.map +1 -0
  90. package/dist/ui/components/BackgroundTasksBar.js +74 -0
  91. package/dist/ui/components/BackgroundTasksBar.js.map +1 -0
  92. package/dist/ui/components/Footer.d.ts.map +1 -1
  93. package/dist/ui/components/Footer.js +32 -8
  94. package/dist/ui/components/Footer.js.map +1 -1
  95. package/dist/ui/components/InputArea.d.ts +3 -1
  96. package/dist/ui/components/InputArea.d.ts.map +1 -1
  97. package/dist/ui/components/InputArea.js +6 -3
  98. package/dist/ui/components/InputArea.js.map +1 -1
  99. package/dist/ui/components/ToolExecution.js +48 -3
  100. package/dist/ui/components/ToolExecution.js.map +1 -1
  101. package/dist/ui/hooks/useAgentLoop.d.ts +4 -0
  102. package/dist/ui/hooks/useAgentLoop.d.ts.map +1 -1
  103. package/dist/ui/hooks/useAgentLoop.js +3 -0
  104. package/dist/ui/hooks/useAgentLoop.js.map +1 -1
  105. package/dist/ui/hooks/useTerminalTitle.d.ts +3 -0
  106. package/dist/ui/hooks/useTerminalTitle.d.ts.map +1 -0
  107. package/dist/ui/hooks/useTerminalTitle.js +61 -0
  108. package/dist/ui/hooks/useTerminalTitle.js.map +1 -0
  109. package/dist/ui/login.d.ts.map +1 -1
  110. package/dist/ui/login.js +3 -1
  111. package/dist/ui/login.js.map +1 -1
  112. package/dist/ui/render.d.ts +3 -0
  113. package/dist/ui/render.d.ts.map +1 -1
  114. package/dist/ui/render.js +2 -0
  115. package/dist/ui/render.js.map +1 -1
  116. package/dist/utils/markdown.js.map +1 -1
  117. package/package.json +4 -4
package/dist/ui/App.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import type { Message, Provider, ServerToolDefinition, ThinkingLevel } from "@kenkaiiii/gg-ai";
2
2
  import type { AgentTool } from "@kenkaiiii/gg-agent";
3
3
  import { type SubAgentInfo } from "./components/SubAgentPanel.js";
4
+ import type { ProcessManager } from "../core/process-manager.js";
4
5
  interface UserItem {
5
6
  kind: "user";
6
7
  text: string;
@@ -42,6 +43,7 @@ interface DurationItem {
42
43
  kind: "duration";
43
44
  durationMs: number;
44
45
  toolsUsed: string[];
46
+ verb: string;
45
47
  id: string;
46
48
  }
47
49
  interface BannerItem {
@@ -94,6 +96,8 @@ export interface AppProps {
94
96
  initialHistory?: CompletedItem[];
95
97
  sessionsDir?: string;
96
98
  sessionPath?: string;
99
+ processManager?: ProcessManager;
100
+ settingsFile?: string;
97
101
  }
98
102
  export declare function App(props: AppProps): import("react/jsx-runtime").JSX.Element;
99
103
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":"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"}
package/dist/ui/App.js CHANGED
@@ -14,10 +14,14 @@ import { InputArea } from "./components/InputArea.js";
14
14
  import { Footer } from "./components/Footer.js";
15
15
  import { Banner } from "./components/Banner.js";
16
16
  import { ModelSelector } from "./components/ModelSelector.js";
17
+ import { BackgroundTasksBar } from "./components/BackgroundTasksBar.js";
17
18
  import { useTheme } from "./theme/theme.js";
19
+ import { useTerminalTitle } from "./hooks/useTerminalTitle.js";
18
20
  import { getGitBranch } from "../utils/git.js";
19
21
  import { getModel } from "../core/model-registry.js";
20
22
  import { SessionManager } from "../core/session-manager.js";
23
+ import { log } from "../core/logger.js";
24
+ import { SettingsManager } from "../core/settings-manager.js";
21
25
  // ── Duration summary ─────────────────────────────────────
22
26
  function formatDuration(ms) {
23
27
  const totalSec = Math.round(ms / 1000);
@@ -70,6 +74,11 @@ function pickDurationVerb(toolsUsed) {
70
74
  // ── App Component ──────────────────────────────────────────
71
75
  export function App(props) {
72
76
  const theme = useTheme();
77
+ // Terminal title — updated later after agentLoop is created
78
+ // (hoisted here so the hook is always called in the same order)
79
+ const [titlePhase, setTitlePhase] = useState("idle");
80
+ const [titleRunning, setTitleRunning] = useState(false);
81
+ useTerminalTitle(titlePhase, titleRunning);
73
82
  // Items scrolled into Static (history)
74
83
  const [history, setHistory] = useState([]);
75
84
  // Items from the current/last turn — rendered in the live area so they stay visible
@@ -117,6 +126,58 @@ export function App(props) {
117
126
  }
118
127
  persistedIndexRef.current = allMsgs.length;
119
128
  }, [props.sessionPath]);
129
+ // ── Background task bar state ───────────────────────────
130
+ const [bgTasks, setBgTasks] = useState([]);
131
+ const [taskBarFocused, setTaskBarFocused] = useState(false);
132
+ const [taskBarExpanded, setTaskBarExpanded] = useState(false);
133
+ const [selectedTaskIndex, setSelectedTaskIndex] = useState(0);
134
+ // Poll ProcessManager every 2s for running tasks
135
+ useEffect(() => {
136
+ if (!props.processManager)
137
+ return;
138
+ const pm = props.processManager;
139
+ const poll = () => {
140
+ const running = pm.list().filter((p) => p.exitCode === null);
141
+ setBgTasks(running);
142
+ };
143
+ poll();
144
+ const interval = setInterval(poll, 2000);
145
+ return () => clearInterval(interval);
146
+ }, [props.processManager]);
147
+ // Auto-exit task panel when all tasks gone
148
+ useEffect(() => {
149
+ if (bgTasks.length === 0) {
150
+ setTaskBarFocused(false);
151
+ setTaskBarExpanded(false);
152
+ }
153
+ // Clamp selected index
154
+ const maxIdx = Math.min(bgTasks.length, 5) - 1;
155
+ if (selectedTaskIndex > maxIdx && maxIdx >= 0) {
156
+ setSelectedTaskIndex(maxIdx);
157
+ }
158
+ }, [bgTasks.length, selectedTaskIndex]);
159
+ const handleFocusTaskBar = useCallback(() => {
160
+ if (bgTasks.length > 0) {
161
+ setTaskBarFocused(true);
162
+ }
163
+ }, [bgTasks.length]);
164
+ const handleTaskBarExit = useCallback(() => {
165
+ setTaskBarFocused(false);
166
+ setTaskBarExpanded(false);
167
+ }, []);
168
+ const handleTaskBarExpand = useCallback(() => {
169
+ setTaskBarExpanded(true);
170
+ setSelectedTaskIndex(0);
171
+ }, []);
172
+ const handleTaskBarCollapse = useCallback(() => {
173
+ setTaskBarExpanded(false);
174
+ }, []);
175
+ const handleTaskKill = useCallback((id) => {
176
+ props.processManager?.stop(id);
177
+ }, [props.processManager]);
178
+ const handleTaskNavigate = useCallback((index) => {
179
+ setSelectedTaskIndex(index);
180
+ }, []);
120
181
  const agentLoop = useAgentLoop(messagesRef, {
121
182
  provider: currentProvider,
122
183
  model: currentModel,
@@ -135,6 +196,7 @@ export function App(props) {
135
196
  setLiveItems((prev) => [...prev, { kind: "assistant", text, thinking, id: getId() }]);
136
197
  }, []),
137
198
  onToolStart: useCallback((toolCallId, name, args) => {
199
+ log("INFO", "tool", `Tool call started: ${name}`, { id: toolCallId });
138
200
  if (name === "subagent") {
139
201
  // Create or update the sub-agent group item
140
202
  const newAgent = {
@@ -189,6 +251,12 @@ export function App(props) {
189
251
  });
190
252
  }, []),
191
253
  onToolEnd: useCallback((toolCallId, name, result, isError, durationMs, details) => {
254
+ const level = isError ? "ERROR" : "INFO";
255
+ log(level, "tool", `Tool call ended: ${name}`, {
256
+ id: toolCallId,
257
+ duration: `${durationMs}ms`,
258
+ isError: String(isError),
259
+ });
192
260
  if (name === "subagent") {
193
261
  setLiveItems((prev) => {
194
262
  const groupIdx = prev.findIndex((item) => item.kind === "subagent_group");
@@ -241,12 +309,14 @@ export function App(props) {
241
309
  }
242
310
  }, []),
243
311
  onServerToolCall: useCallback((id, name, input) => {
312
+ log("INFO", "server_tool", `Server tool call: ${name}`, { id });
244
313
  setLiveItems((prev) => [
245
314
  ...prev,
246
315
  { kind: "server_tool_start", serverToolCallId: id, name, input, id: getId() },
247
316
  ]);
248
317
  }, []),
249
318
  onServerToolResult: useCallback((toolUseId, resultType, data) => {
319
+ log("INFO", "server_tool", `Server tool result`, { toolUseId, resultType });
250
320
  setLiveItems((prev) => {
251
321
  const startIdx = prev.findIndex((item) => item.kind === "server_tool_start" && item.serverToolCallId === toolUseId);
252
322
  if (startIdx !== -1) {
@@ -269,18 +339,42 @@ export function App(props) {
269
339
  ];
270
340
  });
271
341
  }, []),
342
+ onTurnEnd: useCallback((turn, stopReason, usage) => {
343
+ log("INFO", "turn", `Turn ${turn} ended`, {
344
+ stopReason,
345
+ inputTokens: String(usage.inputTokens),
346
+ outputTokens: String(usage.outputTokens),
347
+ });
348
+ }, []),
272
349
  onDone: useCallback((durationMs, toolsUsed) => {
273
- setDoneStatus({ durationMs, toolsUsed });
350
+ log("INFO", "agent", `Agent done`, {
351
+ duration: `${durationMs}ms`,
352
+ toolsUsed: toolsUsed.join(",") || "none",
353
+ });
354
+ setDoneStatus({ durationMs, toolsUsed, verb: pickDurationVerb(toolsUsed) });
274
355
  }, []),
275
356
  onAborted: useCallback(() => {
357
+ log("WARN", "agent", "Agent run aborted by user");
276
358
  setLiveItems((prev) => {
277
359
  const next = prev.map((item) => item.kind === "subagent_group" ? { ...item, aborted: true } : item);
278
360
  return [...next, { kind: "info", text: "Request was stopped.", id: getId() }];
279
361
  });
280
362
  }, []),
281
363
  });
364
+ // Sync terminal title with agent loop state
365
+ useEffect(() => {
366
+ setTitlePhase(agentLoop.activityPhase);
367
+ setTitleRunning(agentLoop.isRunning);
368
+ }, [agentLoop.activityPhase, agentLoop.isRunning]);
282
369
  const handleSubmit = useCallback(async (input) => {
283
370
  const trimmed = input.trim();
371
+ if (trimmed.startsWith("/")) {
372
+ log("INFO", "command", `Slash command: ${trimmed}`);
373
+ }
374
+ else {
375
+ const truncated = trimmed.length > 100 ? trimmed.slice(0, 100) + "..." : trimmed;
376
+ log("INFO", "input", `User input: ${truncated}`);
377
+ }
284
378
  // Handle /model directly — open inline selector
285
379
  if (trimmed === "/model" || trimmed === "/m") {
286
380
  setOverlay("model");
@@ -321,6 +415,7 @@ export function App(props) {
321
415
  }
322
416
  catch (err) {
323
417
  const msg = err instanceof Error ? err.message : String(err);
418
+ log("ERROR", "error", msg);
324
419
  const isAbort = msg.includes("aborted") || msg.includes("abort");
325
420
  setLiveItems((prev) => [
326
421
  ...prev,
@@ -345,6 +440,7 @@ export function App(props) {
345
440
  return;
346
441
  const newProvider = value.slice(0, colonIdx);
347
442
  const newModelId = value.slice(colonIdx + 1);
443
+ log("INFO", "model", `Model changed`, { provider: newProvider, model: newModelId });
348
444
  setCurrentProvider(newProvider);
349
445
  setCurrentModel(newModelId);
350
446
  const modelInfo = getModel(newModelId);
@@ -353,7 +449,15 @@ export function App(props) {
353
449
  ...prev,
354
450
  { kind: "info", text: `Switched to ${displayName}`, id: getId() },
355
451
  ]);
356
- }, []);
452
+ // Persist model selection for next CLI launch
453
+ if (props.settingsFile) {
454
+ const sm = new SettingsManager(props.settingsFile);
455
+ sm.load().then(async () => {
456
+ await sm.set("defaultProvider", newProvider);
457
+ await sm.set("defaultModel", newModelId);
458
+ });
459
+ }
460
+ }, [props.settingsFile]);
357
461
  const { stdout } = useStdout();
358
462
  const terminalHeight = stdout?.rows ?? 24;
359
463
  const renderItem = (item) => {
@@ -377,11 +481,11 @@ export function App(props) {
377
481
  case "info":
378
482
  return (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: theme.textDim, children: item.text }) }, item.id));
379
483
  case "duration":
380
- return (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: theme.textDim, children: ["✻ ", pickDurationVerb(item.toolsUsed), " ", formatDuration(item.durationMs)] }) }, item.id));
484
+ return (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: theme.textDim, children: ["✻ ", item.verb, " ", formatDuration(item.durationMs)] }) }, item.id));
381
485
  case "subagent_group":
382
486
  return _jsx(SubAgentPanel, { agents: item.agents, aborted: item.aborted }, item.id);
383
487
  }
384
488
  };
385
- return (_jsxs(Box, { flexDirection: "column", minHeight: terminalHeight, children: [_jsx(Static, { items: history, style: { width: "100%" }, children: (item) => renderItem(item) }), _jsxs(Box, { flexDirection: "column", flexGrow: 1, paddingRight: 1, children: [liveItems.map((item) => renderItem(item)), _jsx(StreamingArea, { isRunning: agentLoop.isRunning, streamingText: agentLoop.streamingText, streamingThinking: agentLoop.streamingThinking, showThinking: props.showThinking })] }), agentLoop.isRunning && agentLoop.activityPhase !== "idle" ? (_jsx(Box, { marginTop: 1, children: _jsx(ActivityIndicator, { phase: agentLoop.activityPhase, elapsedMs: agentLoop.elapsedMs, thinkingMs: agentLoop.thinkingMs, isThinking: agentLoop.isThinking, tokenEstimate: agentLoop.streamedTokenEstimate, userMessage: lastUserMessage }) })) : (doneStatus && (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: theme.textDim, children: ["✻ ", pickDurationVerb(doneStatus.toolsUsed), " ", formatDuration(doneStatus.durationMs)] }) }))), _jsx(InputArea, { onSubmit: handleSubmit, onAbort: handleAbort, disabled: agentLoop.isRunning }), overlay === "model" ? (_jsx(ModelSelector, { onSelect: handleModelSelect, onCancel: () => setOverlay(null), loggedInProviders: props.loggedInProviders ?? [currentProvider], currentModel: currentModel, currentProvider: currentProvider })) : (_jsx(Footer, { model: currentModel, tokensIn: agentLoop.contextUsed, cwd: props.cwd, gitBranch: gitBranch }))] }));
489
+ return (_jsxs(Box, { flexDirection: "column", minHeight: terminalHeight, children: [_jsx(Static, { items: history, style: { width: "100%" }, children: (item) => renderItem(item) }), _jsxs(Box, { flexDirection: "column", flexGrow: 1, paddingRight: 1, children: [liveItems.map((item) => renderItem(item)), _jsx(StreamingArea, { isRunning: agentLoop.isRunning, streamingText: agentLoop.streamingText, streamingThinking: agentLoop.streamingThinking, showThinking: props.showThinking })] }), agentLoop.isRunning && agentLoop.activityPhase !== "idle" ? (_jsx(Box, { marginTop: 1, children: _jsx(ActivityIndicator, { phase: agentLoop.activityPhase, elapsedMs: agentLoop.elapsedMs, thinkingMs: agentLoop.thinkingMs, isThinking: agentLoop.isThinking, tokenEstimate: agentLoop.streamedTokenEstimate, userMessage: lastUserMessage }) })) : (doneStatus && (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: theme.textDim, children: ["✻ ", doneStatus.verb, " ", formatDuration(doneStatus.durationMs)] }) }))), _jsx(InputArea, { onSubmit: handleSubmit, onAbort: handleAbort, disabled: agentLoop.isRunning, isActive: !taskBarFocused, onDownAtEnd: handleFocusTaskBar }), overlay === "model" ? (_jsx(ModelSelector, { onSelect: handleModelSelect, onCancel: () => setOverlay(null), loggedInProviders: props.loggedInProviders ?? [currentProvider], currentModel: currentModel, currentProvider: currentProvider })) : (_jsx(Footer, { model: currentModel, tokensIn: agentLoop.contextUsed, cwd: props.cwd, gitBranch: gitBranch })), bgTasks.length > 0 && (_jsx(BackgroundTasksBar, { tasks: bgTasks, focused: taskBarFocused, expanded: taskBarExpanded, selectedIndex: selectedTaskIndex, onExpand: handleTaskBarExpand, onCollapse: handleTaskBarCollapse, onKill: handleTaskKill, onExit: handleTaskBarExit, onNavigate: handleTaskNavigate }))] }));
386
490
  }
387
491
  //# sourceMappingURL=App.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/ui/App.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActivityIndicator.d.ts","sourceRoot":"","sources":["../../../src/ui/components/ActivityIndicator.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AA6N9D,UAAU,sBAAsB;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,SAAS,EACT,UAAU,EACV,UAAU,EACV,aAAa,EACb,WAAgB,GACjB,EAAE,sBAAsB,2CAwExB"}
1
+ {"version":3,"file":"ActivityIndicator.d.ts","sourceRoot":"","sources":["../../../src/ui/components/ActivityIndicator.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAmP9D,UAAU,sBAAsB;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,SAAS,EACT,UAAU,EACV,UAAU,EACV,aAAa,EACb,WAAgB,GACjB,EAAE,sBAAsB,2CAqFxB"}
@@ -1,4 +1,4 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React, { useState, useEffect, useMemo } from "react";
3
3
  import { Text, Box } from "ink";
4
4
  import { useTheme } from "../theme/theme.js";
@@ -195,6 +195,13 @@ function buildMetaSuffix(elapsedMs, thinkingMs, isThinking, tokenEstimate) {
195
195
  }
196
196
  return parts.join(" · ");
197
197
  }
198
+ // ── Shimmer effect ────────────────────────────────────────
199
+ const SHIMMER_WIDTH = 3;
200
+ const SHIMMER_INTERVAL = 100;
201
+ const ShimmerText = ({ text, color, shimmerPos, }) => (_jsx(Text, { children: text.split("").map((char, i) => {
202
+ const isBright = Math.abs(i - shimmerPos) <= SHIMMER_WIDTH;
203
+ return (_jsx(Text, { bold: isBright, color: color, dimColor: !isBright, children: char }, i));
204
+ }) }));
198
205
  export function ActivityIndicator({ phase, elapsedMs, thinkingMs, isThinking, tokenEstimate, userMessage = "", }) {
199
206
  const theme = useTheme();
200
207
  // Spinner frame
@@ -221,6 +228,8 @@ export function ActivityIndicator({ phase, elapsedMs, thinkingMs, isThinking, to
221
228
  }, ELLIPSIS_INTERVAL);
222
229
  return () => clearInterval(timer);
223
230
  }, []);
231
+ // Shimmer position
232
+ const [shimmerPos, setShimmerPos] = useState(-SHIMMER_WIDTH);
224
233
  // Phrase rotation — pick phrases based on phase + user message, shuffle, rotate
225
234
  const phrases = useMemo(() => shuffleArray(selectPhrases(phase, userMessage)), [phase, userMessage]);
226
235
  const phraseInterval = phase === "waiting" ? WAITING_PHRASE_INTERVAL : OTHER_PHRASE_INTERVAL;
@@ -235,9 +244,20 @@ export function ActivityIndicator({ phase, elapsedMs, thinkingMs, isThinking, to
235
244
  const spinnerColor = PULSE_COLORS[colorFrame];
236
245
  const phrase = phrases[phraseIndex];
237
246
  const ellipsis = ELLIPSIS_FRAMES[ellipsisFrame];
247
+ // Shimmer animation — wraps across phrase text length
248
+ useEffect(() => {
249
+ setShimmerPos(-SHIMMER_WIDTH);
250
+ const timer = setInterval(() => {
251
+ setShimmerPos((pos) => {
252
+ const max = phrase.length + SHIMMER_WIDTH;
253
+ return pos >= max ? -SHIMMER_WIDTH : pos + 1;
254
+ });
255
+ }, SHIMMER_INTERVAL);
256
+ return () => clearInterval(timer);
257
+ }, [phrase]);
238
258
  // Pad ellipsis to prevent text from shifting
239
259
  const paddedEllipsis = ellipsis + " ".repeat(3 - ellipsis.length);
240
260
  const meta = buildMetaSuffix(elapsedMs, thinkingMs, isThinking, tokenEstimate);
241
- return (_jsxs(Box, { children: [_jsxs(Text, { color: spinnerColor, bold: true, children: [SPINNER_FRAMES[spinnerFrame], " "] }), _jsx(Text, { color: spinnerColor, bold: true, children: phrase }), _jsx(Text, { color: theme.textDim, children: paddedEllipsis }), meta && (_jsxs(Text, { color: theme.textDim, children: [" (", meta, ")"] }))] }));
261
+ return (_jsxs(Box, { children: [_jsxs(Text, { color: spinnerColor, bold: true, children: [SPINNER_FRAMES[spinnerFrame], " "] }), _jsx(ShimmerText, { text: phrase, color: spinnerColor, shimmerPos: shimmerPos }), _jsx(Text, { color: theme.textDim, children: paddedEllipsis }), meta && (_jsxs(Text, { color: theme.textDim, children: [" (", meta, ")"] }))] }));
242
262
  }
243
263
  //# sourceMappingURL=ActivityIndicator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActivityIndicator.js","sourceRoot":"","sources":["../../../src/ui/components/ActivityIndicator.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ActivityIndicator.js","sourceRoot":"","sources":["../../../src/ui/components/ActivityIndicator.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C,6DAA6D;AAE7D,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAC1E,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B,6DAA6D;AAE7D,MAAM,YAAY,GAAG;IACnB,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,gBAAgB;IAC3B,SAAS,EAAE,cAAc;IACzB,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,cAAc;CAC1B,CAAC;AACF,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,6DAA6D;AAE7D,MAAM,eAAe,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC/C,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,6DAA6D;AAE7D,MAAM,uBAAuB,GAAG,IAAI,CAAC;AACrC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAEnC,MAAM,kBAAkB,GAAG;IACzB;QACE,QAAQ,EAAE,oDAAoD;QAC9D,OAAO,EAAE;YACP,eAAe;YACf,YAAY;YACZ,mBAAmB;YACnB,iBAAiB;YACjB,uBAAuB;YACvB,mBAAmB;SACpB;KACF;IACD;QACE,QAAQ,EAAE,6DAA6D;QACvE,OAAO,EAAE;YACP,mBAAmB;YACnB,uBAAuB;YACvB,sBAAsB;YACtB,kBAAkB;YAClB,wBAAwB;SACzB;KACF;IACD;QACE,QAAQ,EAAE,uDAAuD;QACjE,OAAO,EAAE;YACP,iBAAiB;YACjB,2BAA2B;YAC3B,wBAAwB;YACxB,uBAAuB;SACxB;KACF;IACD;QACE,QAAQ,EAAE,kDAAkD;QAC5D,OAAO,EAAE;YACP,qBAAqB;YACrB,wBAAwB;YACxB,uBAAuB;YACvB,qBAAqB;SACtB;KACF;IACD;QACE,QAAQ,EAAE,8DAA8D;QACxE,OAAO,EAAE;YACP,wBAAwB;YACxB,qBAAqB;YACrB,4BAA4B;YAC5B,kBAAkB;YAClB,sBAAsB;SACvB;KACF;IACD;QACE,QAAQ,EAAE,oDAAoD;QAC9D,OAAO,EAAE;YACP,cAAc;YACd,uBAAuB;YACvB,6BAA6B;YAC7B,gBAAgB;YAChB,wBAAwB;SACzB;KACF;IACD;QACE,QAAQ,EAAE,iDAAiD;QAC3D,OAAO,EAAE;YACP,0BAA0B;YAC1B,qBAAqB;YACrB,wBAAwB;YACxB,mBAAmB;YACnB,qBAAqB;SACtB;KACF;CACF,CAAC;AAEF,MAAM,eAAe,GAAG;IACtB,UAAU;IACV,WAAW;IACX,YAAY;IACZ,iBAAiB;IACjB,eAAe;IACf,eAAe;IACf,iBAAiB;IACjB,WAAW;IACX,qBAAqB;IACrB,mBAAmB;IACnB,eAAe;IACf,qBAAqB;IACrB,gBAAgB;IAChB,sBAAsB;IACtB,oBAAoB;CACrB,CAAC;AAEF,MAAM,gBAAgB,GAAG;IACvB,iBAAiB;IACjB,WAAW;IACX,eAAe;IACf,WAAW;IACX,YAAY;IACZ,oBAAoB;IACpB,WAAW;IACX,cAAc;CACf,CAAC;AAEF,MAAM,kBAAkB,GAAG;IACzB,SAAS;IACT,WAAW;IACX,YAAY;IACZ,qBAAqB;IACrB,UAAU;IACV,qBAAqB;IACrB,aAAa;CACd,CAAC;AAEF,MAAM,aAAa,GAAG;IACpB,eAAe;IACf,WAAW;IACX,SAAS;IACT,YAAY;IACZ,WAAW;IACX,oBAAoB;CACrB,CAAC;AAEF,SAAS,aAAa,CAAC,KAAoB,EAAE,WAAmB;IAC9D,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,UAAU;YACb,OAAO,gBAAgB,CAAC;QAC1B,KAAK,YAAY;YACf,OAAO,kBAAkB,CAAC;QAC5B,KAAK,OAAO;YACV,OAAO,aAAa,CAAC;QACvB,OAAO,CAAC,CAAC,CAAC;YACR,gEAAgE;YAChE,KAAK,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;gBACrC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;oBACnC,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC;YACD,OAAO,eAAe,CAAC;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAI,GAAQ;IAC/B,MAAM,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,6DAA6D;AAE7D,SAAS,aAAa,CAAC,EAAU;IAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACvC,IAAI,QAAQ,GAAG,EAAE;QAAE,OAAO,GAAG,QAAQ,GAAG,CAAC;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,QAAQ,GAAG,EAAE,CAAC;IAC1B,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;AACjD,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAS;IACjC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QACd,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACpD,CAAC;IACD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CACtB,SAAiB,EACjB,UAAkB,EAClB,UAAmB,EACnB,aAAqB;IAErB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;IAErC,IAAI,aAAa,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,gBAAgB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAEjF,IAAI,UAAU,EAAE,CAAC;QACf,mEAAmE;QACnE,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,gBAAgB,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC5F,CAAC;SAAM,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;QAC9B,oCAAoC;QACpC,KAAK,CAAC,IAAI,CAAC,eAAe,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,6DAA6D;AAE7D,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B,MAAM,WAAW,GAAkE,CAAC,EAClF,IAAI,EACJ,KAAK,EACL,UAAU,GACX,EAAE,EAAE,CAAC,CACJ,KAAC,IAAI,cACF,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,aAAa,CAAC;QAC3D,OAAO,CACL,KAAC,IAAI,IAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,QAAQ,YACpD,IAAI,IADuD,CAAC,CAExD,CACR,CAAC;IACJ,CAAC,CAAC,GACG,CACR,CAAC;AAaF,MAAM,UAAU,iBAAiB,CAAC,EAChC,KAAK,EACL,SAAS,EACT,UAAU,EACV,UAAU,EACV,aAAa,EACb,WAAW,GAAG,EAAE,GACO;IACvB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEzB,gBAAgB;IAChB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,eAAe,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QAC1D,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACrB,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,cAAc;IACd,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACtD,CAAC,EAAE,cAAc,CAAC,CAAC;QACnB,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,WAAW;IACX,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC,EAAE,iBAAiB,CAAC,CAAC;QACtB,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,mBAAmB;IACnB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC;IAE7D,gFAAgF;IAChF,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,EACrD,CAAC,KAAK,EAAE,WAAW,CAAC,CACrB,CAAC;IACF,MAAM,cAAc,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,qBAAqB,CAAC;IAC7F,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClD,SAAS,CAAC,GAAG,EAAE;QACb,cAAc,CAAC,CAAC,CAAC,CAAC;QAClB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC,EAAE,cAAc,CAAC,CAAC;QACnB,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IAE9B,MAAM,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;IAEhD,sDAAsD;IACtD,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,CAAC,CAAC,aAAa,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,aAAa,CAAC,CAAC,GAAG,EAAE,EAAE;gBACpB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC;gBAC1C,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACrB,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,6CAA6C;IAC7C,MAAM,cAAc,GAAG,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAElE,MAAM,IAAI,GAAG,eAAe,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IAE/E,OAAO,CACL,MAAC,GAAG,eACF,MAAC,IAAI,IAAC,KAAK,EAAE,YAAY,EAAE,IAAI,mBAC5B,cAAc,CAAC,YAAY,CAAC,EAAE,GAAG,IAC7B,EACP,KAAC,WAAW,IAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,GAAI,EAC1E,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,YAAG,cAAc,GAAQ,EAClD,IAAI,IAAI,CACP,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,aACvB,KAAK,EACL,IAAI,EACJ,GAAG,IACC,CACR,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { BackgroundProcess } from "../../core/process-manager.js";
2
+ interface BackgroundTasksBarProps {
3
+ tasks: BackgroundProcess[];
4
+ focused: boolean;
5
+ expanded: boolean;
6
+ selectedIndex: number;
7
+ onExpand: () => void;
8
+ onCollapse: () => void;
9
+ onKill: (id: string) => void;
10
+ onExit: () => void;
11
+ onNavigate: (index: number) => void;
12
+ }
13
+ export declare function BackgroundTasksBar({ tasks, focused, expanded, selectedIndex, onExpand, onCollapse, onKill, onExit, onNavigate, }: BackgroundTasksBarProps): import("react/jsx-runtime").JSX.Element | null;
14
+ export {};
15
+ //# sourceMappingURL=BackgroundTasksBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackgroundTasksBar.d.ts","sourceRoot":"","sources":["../../../src/ui/components/BackgroundTasksBar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAIvE,UAAU,uBAAuB;IAC/B,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAOD,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,OAAO,EACP,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,UAAU,EACV,MAAM,EACN,MAAM,EACN,UAAU,GACX,EAAE,uBAAuB,kDAkIzB"}
@@ -0,0 +1,74 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from "react";
3
+ import { Text, Box, useInput } from "ink";
4
+ import { useTheme } from "../theme/theme.js";
5
+ const MAX_VISIBLE = 5;
6
+ function truncateCommand(command, maxLen) {
7
+ if (command.length <= maxLen)
8
+ return command;
9
+ return command.slice(0, maxLen - 1) + "\u2026";
10
+ }
11
+ export function BackgroundTasksBar({ tasks, focused, expanded, selectedIndex, onExpand, onCollapse, onKill, onExit, onNavigate, }) {
12
+ const theme = useTheme();
13
+ // Keyboard: collapsed+focused — Enter opens, Esc/↑ exits
14
+ useInput((_input, key) => {
15
+ if (!expanded) {
16
+ if (key.return) {
17
+ onExpand();
18
+ }
19
+ else if (key.escape || key.upArrow) {
20
+ onExit();
21
+ }
22
+ return;
23
+ }
24
+ // Expanded mode
25
+ if (key.escape) {
26
+ onCollapse();
27
+ return;
28
+ }
29
+ if (key.upArrow) {
30
+ if (selectedIndex <= 0) {
31
+ onCollapse();
32
+ }
33
+ else {
34
+ onNavigate(selectedIndex - 1);
35
+ }
36
+ return;
37
+ }
38
+ if (key.downArrow) {
39
+ const maxIdx = Math.min(tasks.length, MAX_VISIBLE) - 1;
40
+ if (selectedIndex < maxIdx) {
41
+ onNavigate(selectedIndex + 1);
42
+ }
43
+ return;
44
+ }
45
+ if (_input === "k" || _input === "K") {
46
+ const task = tasks[selectedIndex];
47
+ if (task) {
48
+ onKill(task.id);
49
+ }
50
+ }
51
+ }, { isActive: focused });
52
+ if (tasks.length === 0)
53
+ return null;
54
+ const count = tasks.length;
55
+ const label = `Background task${count !== 1 ? "s" : ""}`;
56
+ // Collapsed: single summary line
57
+ if (!expanded) {
58
+ return (_jsxs(Box, { paddingLeft: 1, paddingRight: 1, children: [_jsx(Text, { color: focused ? theme.primary : theme.textMuted, children: "\u27D0 " }), _jsxs(Text, { color: theme.accent, bold: true, children: ["(", count, ")"] }), _jsxs(Text, { color: focused ? theme.text : theme.textMuted, children: [" ", label] }), focused && (_jsxs(Text, { color: theme.textDim, children: [" \u00B7 ", _jsx(Text, { color: theme.accent, children: "Enter" }), " to view"] }))] }));
59
+ }
60
+ // Expanded: show up to MAX_VISIBLE tasks
61
+ const visible = tasks.slice(0, MAX_VISIBLE);
62
+ const hidden = count - visible.length;
63
+ return (_jsxs(Box, { flexDirection: "column", paddingLeft: 1, paddingRight: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: theme.textMuted, children: "\u27D0 " }), _jsxs(Text, { color: theme.accent, bold: true, children: ["(", count, ")"] }), _jsxs(Text, { color: theme.text, children: [" ", label] })] }), visible.map((task, i) => {
64
+ const isSelected = i === selectedIndex;
65
+ const prefix = isSelected ? "\u276F " : " ";
66
+ const cmd = truncateCommand(task.command, 50);
67
+ const isRunning = task.exitCode === null;
68
+ const dot = isRunning ? "\u25CF" : "\u25CB";
69
+ const statusColor = isRunning ? theme.success : theme.error;
70
+ const statusLabel = isRunning ? "running" : `exit ${task.exitCode}`;
71
+ return (_jsxs(Box, { children: [_jsx(Text, { color: isSelected ? theme.primary : theme.textDim, bold: isSelected, children: prefix }), _jsx(Text, { color: isSelected ? theme.accent : theme.textMuted, children: task.id }), _jsx(Text, { children: " " }), _jsx(Box, { flexGrow: 1, children: _jsx(Text, { color: isSelected ? theme.text : theme.textMuted, bold: isSelected, children: cmd }) }), _jsxs(Text, { color: statusColor, bold: true, children: [dot, " ", statusLabel] })] }, task.id));
72
+ }), hidden > 0 && (_jsx(Box, { children: _jsxs(Text, { color: theme.textMuted, children: [" ", "+", hidden, " more"] }) })), _jsx(Box, { children: _jsxs(Text, { color: theme.textDim, children: [" \u2191\u2193 navigate \u00B7 ", _jsx(Text, { color: theme.accent, children: "K" }), " kill \u00B7 ", _jsx(Text, { color: theme.accent, children: "Esc" }), " back"] }) })] }));
73
+ }
74
+ //# sourceMappingURL=BackgroundTasksBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackgroundTasksBar.js","sourceRoot":"","sources":["../../../src/ui/components/BackgroundTasksBar.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":"AAIA,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;CAC3B;AAmDD,wBAAgB,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,WAAW,2CAkEtE"}
1
+ {"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../../src/ui/components/Footer.tsx"],"names":[],"mappings":"AAIA,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;CAC3B;AAiED,wBAAgB,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,WAAW,2CAwFtE"}
@@ -49,8 +49,20 @@ function getContextColor(pct, theme) {
49
49
  return theme.error;
50
50
  if (pct >= 50)
51
51
  return theme.warning;
52
- return theme.textDim;
52
+ return theme.success;
53
53
  }
54
+ // ── Partial block gauge ───────────────────────────────────
55
+ const PARTIAL_BLOCKS = [
56
+ " ",
57
+ "\u258F",
58
+ "\u258E",
59
+ "\u258D",
60
+ "\u258C",
61
+ "\u258B",
62
+ "\u258A",
63
+ "\u2589",
64
+ "\u2588",
65
+ ];
54
66
  export function Footer({ model, tokensIn, cwd, gitBranch }) {
55
67
  const theme = useTheme();
56
68
  const { stdout } = useStdout();
@@ -60,14 +72,26 @@ export function Footer({ model, tokensIn, cwd, gitBranch }) {
60
72
  const displayPath = home && cwd.startsWith(home) ? "~" + cwd.slice(home.length) : cwd;
61
73
  const contextPct = getContextPercent(model, tokensIn);
62
74
  const contextColor = getContextColor(contextPct, theme);
63
- const sep = _jsx(Text, { color: theme.border, children: " " });
75
+ const sep = _jsx(Text, { color: theme.border, children: " \u2502 " });
64
76
  // Build right side segments
65
77
  const modelName = getShortModelName(model);
66
- // Build a context bar (5 chars wide)
78
+ // Build a context bar with partial block precision (8 chars × 8 levels = 64 granularity)
67
79
  const barWidth = 8;
68
- const filled = Math.min(Math.round((contextPct / 100) * barWidth), barWidth);
69
- const empty = barWidth - filled;
70
- const bar = "█".repeat(filled) + "░".repeat(empty);
80
+ const fillFloat = Math.min((contextPct / 100) * barWidth, barWidth);
81
+ const barChars = [];
82
+ for (let i = 0; i < barWidth; i++) {
83
+ const cellFill = Math.max(0, Math.min(1, fillFloat - i));
84
+ const eighths = Math.round(cellFill * 8);
85
+ if (eighths === 8) {
86
+ barChars.push(_jsx(Text, { color: contextColor, children: PARTIAL_BLOCKS[8] }, i));
87
+ }
88
+ else if (eighths > 0) {
89
+ barChars.push(_jsx(Text, { color: contextColor, children: PARTIAL_BLOCKS[eighths] }, i));
90
+ }
91
+ else {
92
+ barChars.push(_jsx(Text, { color: theme.textDim, children: "\u2591" }, i));
93
+ }
94
+ }
71
95
  // Truncate path if footer would overflow
72
96
  const rightLen = modelName.length +
73
97
  3 +
@@ -81,8 +105,8 @@ export function Footer({ model, tokensIn, cwd, gitBranch }) {
81
105
  10;
82
106
  const maxPath = columns - rightLen - 4;
83
107
  const truncPath = displayPath.length > maxPath && maxPath > 10
84
- ? "" + displayPath.slice(displayPath.length - maxPath + 1)
108
+ ? "\u2026" + displayPath.slice(displayPath.length - maxPath + 1)
85
109
  : displayPath;
86
- 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: [" ", gitBranch] })] }))] }), _jsxs(Box, { children: [_jsx(Text, { color: theme.textDim, children: formatTokens(tokensIn) }), sep, _jsx(Text, { color: contextColor, children: bar }), _jsxs(Text, { color: contextColor, children: [" ", contextPct, "%"] }), sep, _jsx(Text, { color: theme.primary, bold: true, children: modelName })] })] }));
110
+ 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 })] })] }));
87
111
  }
88
112
  //# sourceMappingURL=Footer.js.map