@kenkaiiii/ggcoder 2.0.0 → 3.1.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 (105) hide show
  1. package/dist/cli.js +12 -3
  2. package/dist/cli.js.map +1 -1
  3. package/dist/core/agent-session.d.ts.map +1 -1
  4. package/dist/core/agent-session.js +1 -0
  5. package/dist/core/agent-session.js.map +1 -1
  6. package/dist/core/compaction/compactor.d.ts +8 -2
  7. package/dist/core/compaction/compactor.d.ts.map +1 -1
  8. package/dist/core/compaction/compactor.js +147 -18
  9. package/dist/core/compaction/compactor.js.map +1 -1
  10. package/dist/core/custom-commands.d.ts +13 -0
  11. package/dist/core/custom-commands.d.ts.map +1 -0
  12. package/dist/core/custom-commands.js +40 -0
  13. package/dist/core/custom-commands.js.map +1 -0
  14. package/dist/core/event-bus.d.ts +4 -0
  15. package/dist/core/event-bus.d.ts.map +1 -1
  16. package/dist/core/event-bus.js.map +1 -1
  17. package/dist/core/logger.d.ts +1 -0
  18. package/dist/core/logger.d.ts.map +1 -1
  19. package/dist/core/logger.js +6 -0
  20. package/dist/core/logger.js.map +1 -1
  21. package/dist/core/model-registry.d.ts +7 -0
  22. package/dist/core/model-registry.d.ts.map +1 -1
  23. package/dist/core/model-registry.js +21 -3
  24. package/dist/core/model-registry.js.map +1 -1
  25. package/dist/core/oauth/anthropic.d.ts.map +1 -1
  26. package/dist/core/oauth/anthropic.js +6 -4
  27. package/dist/core/oauth/anthropic.js.map +1 -1
  28. package/dist/core/process-manager.js +3 -3
  29. package/dist/core/process-manager.js.map +1 -1
  30. package/dist/core/prompt-commands.d.ts +14 -0
  31. package/dist/core/prompt-commands.d.ts.map +1 -0
  32. package/dist/core/prompt-commands.js +475 -0
  33. package/dist/core/prompt-commands.js.map +1 -0
  34. package/dist/core/settings-manager.d.ts +2 -0
  35. package/dist/core/settings-manager.d.ts.map +1 -1
  36. package/dist/core/settings-manager.js +3 -1
  37. package/dist/core/settings-manager.js.map +1 -1
  38. package/dist/index.d.ts +0 -1
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +0 -2
  41. package/dist/index.js.map +1 -1
  42. package/dist/system-prompt.d.ts.map +1 -1
  43. package/dist/system-prompt.js +9 -5
  44. package/dist/system-prompt.js.map +1 -1
  45. package/dist/ui/App.d.ts +15 -1
  46. package/dist/ui/App.d.ts.map +1 -1
  47. package/dist/ui/App.js +272 -24
  48. package/dist/ui/App.js.map +1 -1
  49. package/dist/ui/components/AssistantMessage.d.ts +2 -1
  50. package/dist/ui/components/AssistantMessage.d.ts.map +1 -1
  51. package/dist/ui/components/AssistantMessage.js +3 -2
  52. package/dist/ui/components/AssistantMessage.js.map +1 -1
  53. package/dist/ui/components/Banner.d.ts.map +1 -1
  54. package/dist/ui/components/Banner.js +27 -6
  55. package/dist/ui/components/Banner.js.map +1 -1
  56. package/dist/ui/components/CompactionNotice.d.ts +10 -0
  57. package/dist/ui/components/CompactionNotice.d.ts.map +1 -0
  58. package/dist/ui/components/CompactionNotice.js +31 -0
  59. package/dist/ui/components/CompactionNotice.js.map +1 -0
  60. package/dist/ui/components/Footer.d.ts +2 -1
  61. package/dist/ui/components/Footer.d.ts.map +1 -1
  62. package/dist/ui/components/Footer.js +9 -5
  63. package/dist/ui/components/Footer.js.map +1 -1
  64. package/dist/ui/components/InputArea.d.ts +7 -2
  65. package/dist/ui/components/InputArea.d.ts.map +1 -1
  66. package/dist/ui/components/InputArea.js +120 -8
  67. package/dist/ui/components/InputArea.js.map +1 -1
  68. package/dist/ui/components/SlashCommandMenu.d.ts +15 -0
  69. package/dist/ui/components/SlashCommandMenu.d.ts.map +1 -0
  70. package/dist/ui/components/SlashCommandMenu.js +32 -0
  71. package/dist/ui/components/SlashCommandMenu.js.map +1 -0
  72. package/dist/ui/components/StreamingArea.d.ts +2 -1
  73. package/dist/ui/components/StreamingArea.d.ts.map +1 -1
  74. package/dist/ui/components/StreamingArea.js +15 -3
  75. package/dist/ui/components/StreamingArea.js.map +1 -1
  76. package/dist/ui/components/SubAgentPanel.d.ts.map +1 -1
  77. package/dist/ui/components/SubAgentPanel.js +54 -16
  78. package/dist/ui/components/SubAgentPanel.js.map +1 -1
  79. package/dist/ui/components/ThinkingBlock.d.ts +11 -0
  80. package/dist/ui/components/ThinkingBlock.d.ts.map +1 -0
  81. package/dist/ui/components/ThinkingBlock.js +40 -0
  82. package/dist/ui/components/ThinkingBlock.js.map +1 -0
  83. package/dist/ui/components/ToolExecution.d.ts.map +1 -1
  84. package/dist/ui/components/ToolExecution.js +22 -5
  85. package/dist/ui/components/ToolExecution.js.map +1 -1
  86. package/dist/ui/components/UserMessage.d.ts +2 -1
  87. package/dist/ui/components/UserMessage.d.ts.map +1 -1
  88. package/dist/ui/components/UserMessage.js +4 -2
  89. package/dist/ui/components/UserMessage.js.map +1 -1
  90. package/dist/ui/hooks/useAgentLoop.d.ts +6 -3
  91. package/dist/ui/hooks/useAgentLoop.d.ts.map +1 -1
  92. package/dist/ui/hooks/useAgentLoop.js +1 -1
  93. package/dist/ui/hooks/useAgentLoop.js.map +1 -1
  94. package/dist/ui/render.d.ts.map +1 -1
  95. package/dist/ui/render.js +22 -2
  96. package/dist/ui/render.js.map +1 -1
  97. package/dist/ui/theme/dark.json +2 -1
  98. package/dist/ui/theme/light.json +2 -1
  99. package/dist/ui/theme/theme.d.ts +1 -0
  100. package/dist/ui/theme/theme.d.ts.map +1 -1
  101. package/dist/utils/image.d.ts +24 -0
  102. package/dist/utils/image.d.ts.map +1 -0
  103. package/dist/utils/image.js +137 -0
  104. package/dist/utils/image.js.map +1 -0
  105. package/package.json +3 -3
@@ -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
@@ -1,13 +1,15 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React, { useState, useRef, useCallback, useEffect } from "react";
2
+ import React, { useState, useRef, useCallback, useEffect, useMemo } from "react";
3
3
  import { Box, Text, Static, useStdout } from "ink";
4
4
  import crypto from "node:crypto";
5
+ import { extractImagePaths } from "../utils/image.js";
5
6
  import { useAgentLoop } from "./hooks/useAgentLoop.js";
6
7
  import { UserMessage } from "./components/UserMessage.js";
7
8
  import { AssistantMessage } from "./components/AssistantMessage.js";
8
9
  import { ToolExecution } from "./components/ToolExecution.js";
9
10
  import { ServerToolExecution } from "./components/ServerToolExecution.js";
10
11
  import { SubAgentPanel } from "./components/SubAgentPanel.js";
12
+ import { CompactionSpinner, CompactionDone } from "./components/CompactionNotice.js";
11
13
  import { StreamingArea } from "./components/StreamingArea.js";
12
14
  import { ActivityIndicator } from "./components/ActivityIndicator.js";
13
15
  import { InputArea } from "./components/InputArea.js";
@@ -18,10 +20,14 @@ import { BackgroundTasksBar } from "./components/BackgroundTasksBar.js";
18
20
  import { useTheme } from "./theme/theme.js";
19
21
  import { useTerminalTitle } from "./hooks/useTerminalTitle.js";
20
22
  import { getGitBranch } from "../utils/git.js";
21
- import { getModel } from "../core/model-registry.js";
23
+ import { getModel, getContextWindow } from "../core/model-registry.js";
22
24
  import { SessionManager } from "../core/session-manager.js";
23
25
  import { log } from "../core/logger.js";
24
26
  import { SettingsManager } from "../core/settings-manager.js";
27
+ import { shouldCompact, compact } from "../core/compaction/compactor.js";
28
+ import { estimateConversationTokens } from "../core/compaction/token-estimator.js";
29
+ import { PROMPT_COMMANDS, getPromptCommand } from "../core/prompt-commands.js";
30
+ import { loadCustomCommands } from "../core/custom-commands.js";
25
31
  // ── Duration summary ─────────────────────────────────────
26
32
  function formatDuration(ms) {
27
33
  const totalSec = Math.round(ms / 1000);
@@ -71,29 +77,36 @@ function pickDurationVerb(toolsUsed) {
71
77
  ];
72
78
  return phrases[Math.floor(Math.random() * phrases.length)];
73
79
  }
80
+ // ── Animated thinking border ────────────────────────────────
81
+ const THINKING_BORDER_COLORS = ["#60a5fa", "#818cf8", "#a78bfa", "#818cf8", "#60a5fa"];
74
82
  // ── App Component ──────────────────────────────────────────
75
83
  export function App(props) {
76
84
  const theme = useTheme();
85
+ const { stdout } = useStdout();
77
86
  // Terminal title — updated later after agentLoop is created
78
87
  // (hoisted here so the hook is always called in the same order)
79
88
  const [titlePhase, setTitlePhase] = useState("idle");
80
89
  const [titleRunning, setTitleRunning] = useState(false);
81
90
  useTerminalTitle(titlePhase, titleRunning);
82
- // Items scrolled into Static (history)
83
- const [history, setHistory] = useState([]);
84
- // Items from the current/last turn rendered in the live area so they stay visible
85
- const initialLiveItems = props.initialHistory
91
+ // Items scrolled into Static (history) — banner and restored history go here
92
+ // immediately so they are rendered once and don't cause live-area redraws
93
+ // (which produce visual duplicates on terminal resize).
94
+ const initialHistory = props.initialHistory
86
95
  ? [{ kind: "banner", id: "banner" }, ...props.initialHistory]
87
96
  : [{ kind: "banner", id: "banner" }];
88
- const [liveItems, setLiveItems] = useState(initialLiveItems);
97
+ const [history, setHistory] = useState(initialHistory);
98
+ // Items from the current/last turn — rendered in the live area so they stay visible
99
+ const [liveItems, setLiveItems] = useState([]);
89
100
  const [overlay, setOverlay] = useState(null);
90
101
  const [lastUserMessage, setLastUserMessage] = useState("");
91
102
  const [doneStatus, setDoneStatus] = useState(null);
92
103
  const [gitBranch, setGitBranch] = useState(null);
93
104
  const [currentModel, setCurrentModel] = useState(props.model);
94
105
  const [currentProvider, setCurrentProvider] = useState(props.provider);
106
+ const [thinkingEnabled, setThinkingEnabled] = useState(!!props.thinking);
95
107
  const messagesRef = useRef(props.messages);
96
108
  const nextIdRef = useRef(0);
109
+ const wasRunningRef = useRef(false);
97
110
  const sessionManagerRef = useRef(props.sessionsDir ? new SessionManager(props.sessionsDir) : null);
98
111
  const persistedIndexRef = useRef(messagesRef.current.length);
99
112
  const getId = () => String(nextIdRef.current++);
@@ -105,6 +118,14 @@ export function App(props) {
105
118
  useEffect(() => {
106
119
  getGitBranch(props.cwd).then(setGitBranch);
107
120
  }, [props.cwd]);
121
+ // Load custom commands from .gg/commands/
122
+ const [customCommands, setCustomCommands] = useState([]);
123
+ const reloadCustomCommands = useCallback(() => {
124
+ loadCustomCommands(props.cwd).then(setCustomCommands);
125
+ }, [props.cwd]);
126
+ useEffect(() => {
127
+ reloadCustomCommands();
128
+ }, [reloadCustomCommands]);
108
129
  const persistNewMessages = useCallback(async () => {
109
130
  const sm = sessionManagerRef.current;
110
131
  const sp = props.sessionPath;
@@ -126,6 +147,76 @@ export function App(props) {
126
147
  }
127
148
  persistedIndexRef.current = allMsgs.length;
128
149
  }, [props.sessionPath]);
150
+ // ── Compaction ─────────────────────────────────────────
151
+ // Load settings for auto-compaction
152
+ const settingsRef = useRef(null);
153
+ useEffect(() => {
154
+ if (props.settingsFile) {
155
+ const sm = new SettingsManager(props.settingsFile);
156
+ sm.load().then(() => {
157
+ settingsRef.current = sm;
158
+ });
159
+ }
160
+ }, [props.settingsFile]);
161
+ const compactConversation = useCallback(async (messages) => {
162
+ const contextWindow = getContextWindow(currentModel);
163
+ const tokensBefore = estimateConversationTokens(messages);
164
+ const spinId = getId();
165
+ log("INFO", "compaction", `Running compaction`, {
166
+ messages: String(messages.length),
167
+ estimatedTokens: String(tokensBefore),
168
+ contextWindow: String(contextWindow),
169
+ });
170
+ // Show animated spinner
171
+ setLiveItems((prev) => [...prev, { kind: "compacting", id: spinId }]);
172
+ try {
173
+ const result = await compact(messages, {
174
+ provider: currentProvider,
175
+ model: currentModel,
176
+ apiKey: activeApiKey,
177
+ contextWindow,
178
+ signal: undefined,
179
+ });
180
+ // Replace spinner with completed notice
181
+ setLiveItems((prev) => prev.map((item) => item.id === spinId
182
+ ? {
183
+ kind: "compacted",
184
+ originalCount: result.result.originalCount,
185
+ newCount: result.result.newCount,
186
+ tokensBefore: result.result.tokensBeforeEstimate,
187
+ tokensAfter: result.result.tokensAfterEstimate,
188
+ id: spinId,
189
+ }
190
+ : item));
191
+ return result.messages;
192
+ }
193
+ catch (err) {
194
+ const msg = err instanceof Error ? err.message : String(err);
195
+ log("ERROR", "compaction", `Compaction failed: ${msg}`);
196
+ // Replace spinner with error
197
+ setLiveItems((prev) => prev.map((item) => item.id === spinId
198
+ ? { kind: "error", message: `Compaction failed: ${msg}`, id: spinId }
199
+ : item));
200
+ return messages; // Return unchanged on failure
201
+ }
202
+ }, [currentModel, currentProvider, activeApiKey]);
203
+ /**
204
+ * transformContext callback for the agent loop.
205
+ * Called before each LLM call and on context overflow.
206
+ * Checks if auto-compaction is needed and runs it.
207
+ */
208
+ const transformContext = useCallback(async (messages) => {
209
+ const settings = settingsRef.current;
210
+ const autoCompact = settings?.get("autoCompact") ?? true;
211
+ const threshold = settings?.get("compactThreshold") ?? 0.8;
212
+ if (!autoCompact)
213
+ return messages;
214
+ const contextWindow = getContextWindow(currentModel);
215
+ if (shouldCompact(messages, contextWindow, threshold)) {
216
+ return compactConversation(messages);
217
+ }
218
+ return messages;
219
+ }, [currentModel, compactConversation]);
129
220
  // ── Background task bar state ───────────────────────────
130
221
  const [bgTasks, setBgTasks] = useState([]);
131
222
  const [taskBarFocused, setTaskBarFocused] = useState(false);
@@ -184,16 +275,20 @@ export function App(props) {
184
275
  tools: props.tools,
185
276
  serverTools: props.serverTools,
186
277
  maxTokens: props.maxTokens,
187
- thinking: props.thinking,
278
+ thinking: thinkingEnabled ? (props.thinking ?? "medium") : undefined,
188
279
  apiKey: activeApiKey,
189
280
  baseUrl: props.baseUrl,
190
281
  accountId: activeAccountId,
282
+ transformContext,
191
283
  }, {
192
284
  onComplete: useCallback(() => {
193
285
  persistNewMessages();
194
286
  }, [persistNewMessages]),
195
- onTurnText: useCallback((text, thinking) => {
196
- setLiveItems((prev) => [...prev, { kind: "assistant", text, thinking, id: getId() }]);
287
+ onTurnText: useCallback((text, thinking, thinkingMs) => {
288
+ setLiveItems((prev) => [
289
+ ...prev,
290
+ { kind: "assistant", text, thinking, thinkingMs, id: getId() },
291
+ ]);
197
292
  }, []),
198
293
  onToolStart: useCallback((toolCallId, name, args) => {
199
294
  log("INFO", "tool", `Tool call started: ${name}`, { id: toolCallId });
@@ -344,6 +439,8 @@ export function App(props) {
344
439
  stopReason,
345
440
  inputTokens: String(usage.inputTokens),
346
441
  outputTokens: String(usage.outputTokens),
442
+ ...(usage.cacheRead != null && { cacheRead: String(usage.cacheRead) }),
443
+ ...(usage.cacheWrite != null && { cacheWrite: String(usage.cacheWrite) }),
347
444
  });
348
445
  }, []),
349
446
  onDone: useCallback((durationMs, toolsUsed) => {
@@ -361,34 +458,123 @@ export function App(props) {
361
458
  });
362
459
  }, []),
363
460
  });
461
+ // When agent finishes, move live items into Static history so the live area
462
+ // is minimal. This prevents scroll jumping caused by Ink re-rendering the
463
+ // entire live area on every timer tick (cursor blink, border pulse, etc.).
464
+ useEffect(() => {
465
+ if (wasRunningRef.current && !agentLoop.isRunning) {
466
+ setLiveItems((prev) => {
467
+ if (prev.length > 0) {
468
+ setHistory((h) => [...h, ...prev]);
469
+ }
470
+ return [];
471
+ });
472
+ }
473
+ wasRunningRef.current = agentLoop.isRunning;
474
+ }, [agentLoop.isRunning]);
364
475
  // Sync terminal title with agent loop state
365
476
  useEffect(() => {
366
477
  setTitlePhase(agentLoop.activityPhase);
367
478
  setTitleRunning(agentLoop.isRunning);
368
479
  }, [agentLoop.activityPhase, agentLoop.isRunning]);
369
- const handleSubmit = useCallback(async (input) => {
480
+ // Animated thinking border
481
+ const [thinkingBorderFrame, setThinkingBorderFrame] = useState(0);
482
+ useEffect(() => {
483
+ if (agentLoop.activityPhase !== "thinking")
484
+ return;
485
+ const timer = setInterval(() => {
486
+ setThinkingBorderFrame((f) => (f + 1) % THINKING_BORDER_COLORS.length);
487
+ }, 500);
488
+ return () => clearInterval(timer);
489
+ }, [agentLoop.activityPhase]);
490
+ // Success flash on turn completion
491
+ const [doneFlash, setDoneFlash] = useState(false);
492
+ useEffect(() => {
493
+ if (doneStatus) {
494
+ setDoneFlash(true);
495
+ const timer = setTimeout(() => setDoneFlash(false), 600);
496
+ return () => clearTimeout(timer);
497
+ }
498
+ }, [doneStatus]);
499
+ const handleSubmit = useCallback(async (input, inputImages = []) => {
370
500
  const trimmed = input.trim();
371
501
  if (trimmed.startsWith("/")) {
372
502
  log("INFO", "command", `Slash command: ${trimmed}`);
373
503
  }
374
504
  else {
375
505
  const truncated = trimmed.length > 100 ? trimmed.slice(0, 100) + "..." : trimmed;
376
- log("INFO", "input", `User input: ${truncated}`);
506
+ log("INFO", "input", `User input: ${truncated}${inputImages.length > 0 ? ` (+${inputImages.length} image${inputImages.length > 1 ? "s" : ""})` : ""}`);
377
507
  }
378
508
  // Handle /model directly — open inline selector
379
509
  if (trimmed === "/model" || trimmed === "/m") {
380
510
  setOverlay("model");
381
511
  return;
382
512
  }
383
- // Handle /clearreset session
513
+ // Handle /compactcompact conversation
514
+ if (trimmed === "/compact" || trimmed === "/c") {
515
+ const compacted = await compactConversation(messagesRef.current);
516
+ if (compacted !== messagesRef.current) {
517
+ messagesRef.current = compacted;
518
+ persistedIndexRef.current = 0; // Re-persist after compaction
519
+ }
520
+ return;
521
+ }
522
+ // Handle /quit — exit the agent
523
+ if (trimmed === "/quit" || trimmed === "/q" || trimmed === "/exit") {
524
+ process.exit(0);
525
+ }
526
+ // Handle /clear — reset session and clear terminal
384
527
  if (trimmed === "/clear") {
385
- setHistory([]);
528
+ // Clear terminal screen + scrollback — needed because Ink's <Static>
529
+ // writes directly to stdout and can't be removed by clearing React state
530
+ stdout?.write("\x1b[2J\x1b[3J\x1b[H");
531
+ setHistory([{ kind: "banner", id: "banner" }]);
386
532
  setLiveItems([]);
387
533
  messagesRef.current = messagesRef.current.slice(0, 1); // keep system prompt
388
534
  agentLoop.reset();
389
535
  setLiveItems([{ kind: "info", text: "Session cleared.", id: getId() }]);
390
536
  return;
391
537
  }
538
+ // Handle prompt-template commands (built-in + custom from .gg/commands/)
539
+ if (trimmed.startsWith("/")) {
540
+ const cmdName = trimmed.slice(1).split(" ")[0];
541
+ const builtinCmd = getPromptCommand(cmdName);
542
+ const customCmd = !builtinCmd ? customCommands.find((c) => c.name === cmdName) : undefined;
543
+ const promptText = builtinCmd?.prompt ?? customCmd?.prompt;
544
+ if (promptText) {
545
+ log("INFO", "command", `Prompt command: /${cmdName}`);
546
+ // Move live items into history before starting
547
+ setLiveItems((prev) => {
548
+ if (prev.length > 0) {
549
+ setHistory((h) => [...h, ...prev]);
550
+ }
551
+ return [];
552
+ });
553
+ // Show the command name as the user message
554
+ const userItem = { kind: "user", text: trimmed, id: getId() };
555
+ setLastUserMessage(trimmed);
556
+ setDoneStatus(null);
557
+ setLiveItems([userItem]);
558
+ // Send the full prompt to the agent
559
+ try {
560
+ await agentLoop.run(promptText);
561
+ }
562
+ catch (err) {
563
+ const msg = err instanceof Error ? err.message : String(err);
564
+ log("ERROR", "error", msg);
565
+ const isAbort = msg.includes("aborted") || msg.includes("abort");
566
+ setLiveItems((prev) => [
567
+ ...prev,
568
+ isAbort
569
+ ? { kind: "info", text: "Request was stopped.", id: getId() }
570
+ : { kind: "error", message: msg, id: getId() },
571
+ ]);
572
+ }
573
+ // Reload custom commands in case a setup command created new ones
574
+ reloadCustomCommands();
575
+ return;
576
+ }
577
+ }
392
578
  // Check slash commands
393
579
  if (props.onSlashCommand && input.startsWith("/")) {
394
580
  const result = await props.onSlashCommand(input);
@@ -397,21 +583,47 @@ export function App(props) {
397
583
  return;
398
584
  }
399
585
  }
400
- // Move current live items into history (Static) before starting new turn
586
+ // Move any remaining live items into history (Static) before starting new turn
401
587
  setLiveItems((prev) => {
402
588
  if (prev.length > 0) {
403
589
  setHistory((h) => [...h, ...prev]);
404
590
  }
405
591
  return [];
406
592
  });
407
- // Add user message to live area
408
- const userItem = { kind: "user", text: input, id: getId() };
593
+ // Build display text strip image paths, show badges instead
594
+ const hasImages = inputImages.length > 0;
595
+ let displayText = input;
596
+ if (hasImages) {
597
+ const { cleanText } = await extractImagePaths(input, props.cwd);
598
+ displayText = cleanText;
599
+ }
600
+ const userItem = {
601
+ kind: "user",
602
+ text: displayText,
603
+ imageCount: hasImages ? inputImages.length : undefined,
604
+ id: getId(),
605
+ };
409
606
  setLastUserMessage(input);
410
607
  setDoneStatus(null);
411
608
  setLiveItems([userItem]);
609
+ // Build user content — plain string or content array with images
610
+ let userContent;
611
+ if (hasImages) {
612
+ const parts = [];
613
+ if (trimmed) {
614
+ parts.push({ type: "text", text: trimmed });
615
+ }
616
+ for (const img of inputImages) {
617
+ parts.push({ type: "image", mediaType: img.mediaType, data: img.data });
618
+ }
619
+ userContent = parts;
620
+ }
621
+ else {
622
+ userContent = input;
623
+ }
412
624
  // Run agent
413
625
  try {
414
- await agentLoop.run(input);
626
+ await agentLoop.run(userContent);
415
627
  }
416
628
  catch (err) {
417
629
  const msg = err instanceof Error ? err.message : String(err);
@@ -424,7 +636,7 @@ export function App(props) {
424
636
  : { kind: "error", message: msg, id: getId() },
425
637
  ]);
426
638
  }
427
- }, [agentLoop, props.onSlashCommand]);
639
+ }, [agentLoop, props.onSlashCommand, compactConversation]);
428
640
  const handleAbort = useCallback(() => {
429
641
  if (agentLoop.isRunning) {
430
642
  agentLoop.abort();
@@ -433,6 +645,21 @@ export function App(props) {
433
645
  process.exit(0);
434
646
  }
435
647
  }, [agentLoop]);
648
+ const handleToggleThinking = useCallback(() => {
649
+ setThinkingEnabled((prev) => {
650
+ const next = !prev;
651
+ log("INFO", "thinking", `Thinking ${next ? "enabled" : "disabled"}`);
652
+ setLiveItems((items) => [
653
+ ...items,
654
+ { kind: "info", text: `Thinking ${next ? "on" : "off"}`, id: getId() },
655
+ ]);
656
+ if (props.settingsFile) {
657
+ const sm = new SettingsManager(props.settingsFile);
658
+ sm.load().then(() => sm.set("thinkingEnabled", next));
659
+ }
660
+ return next;
661
+ });
662
+ }, [props.settingsFile]);
436
663
  const handleModelSelect = useCallback((value) => {
437
664
  setOverlay(null);
438
665
  const colonIdx = value.indexOf(":");
@@ -458,16 +685,31 @@ export function App(props) {
458
685
  });
459
686
  }
460
687
  }, [props.settingsFile]);
461
- const { stdout } = useStdout();
462
- const terminalHeight = stdout?.rows ?? 24;
688
+ // All available slash commands for the command palette
689
+ const allCommands = useMemo(() => [
690
+ { name: "model", aliases: ["m"], description: "Switch model" },
691
+ { name: "compact", aliases: ["c"], description: "Compact conversation" },
692
+ { name: "clear", aliases: [], description: "Clear session and terminal" },
693
+ { name: "quit", aliases: ["q", "exit"], description: "Exit the agent" },
694
+ ...PROMPT_COMMANDS.map((cmd) => ({
695
+ name: cmd.name,
696
+ aliases: cmd.aliases,
697
+ description: cmd.description,
698
+ })),
699
+ ...customCommands.map((cmd) => ({
700
+ name: cmd.name,
701
+ aliases: [],
702
+ description: cmd.description,
703
+ })),
704
+ ], [customCommands]);
463
705
  const renderItem = (item) => {
464
706
  switch (item.kind) {
465
707
  case "banner":
466
708
  return (_jsx(Banner, { version: props.version, model: props.model, provider: props.provider, cwd: props.cwd }, item.id));
467
709
  case "user":
468
- return _jsx(UserMessage, { text: item.text }, item.id);
710
+ return _jsx(UserMessage, { text: item.text, imageCount: item.imageCount }, item.id);
469
711
  case "assistant":
470
- return (_jsx(AssistantMessage, { text: item.text, thinking: item.thinking, showThinking: props.showThinking }, item.id));
712
+ return (_jsx(AssistantMessage, { text: item.text, thinking: item.thinking, thinkingMs: item.thinkingMs, showThinking: props.showThinking }, item.id));
471
713
  case "tool_start":
472
714
  return _jsx(ToolExecution, { status: "running", name: item.name, args: item.args }, item.id);
473
715
  case "tool_done":
@@ -480,12 +722,18 @@ export function App(props) {
480
722
  return (_jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: theme.error, children: "✗ " }), _jsx(Text, { color: theme.error, children: item.message })] }, item.id));
481
723
  case "info":
482
724
  return (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: theme.textDim, children: item.text }) }, item.id));
725
+ case "compacting":
726
+ return _jsx(CompactionSpinner, {}, item.id);
727
+ case "compacted":
728
+ return (_jsx(CompactionDone, { originalCount: item.originalCount, newCount: item.newCount, tokensBefore: item.tokensBefore, tokensAfter: item.tokensAfter }, item.id));
483
729
  case "duration":
484
730
  return (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: theme.textDim, children: ["✻ ", item.verb, " ", formatDuration(item.durationMs)] }) }, item.id));
485
731
  case "subagent_group":
486
732
  return _jsx(SubAgentPanel, { agents: item.agents, aborted: item.aborted }, item.id);
487
733
  }
488
734
  };
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 }))] }));
735
+ return (_jsxs(Box, { flexDirection: "column", 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, thinkingMs: agentLoop.thinkingMs })] }), agentLoop.isRunning && agentLoop.activityPhase !== "idle" ? (_jsx(Box, { marginTop: 1, borderStyle: agentLoop.activityPhase === "thinking" ? "round" : undefined, borderColor: agentLoop.activityPhase === "thinking"
736
+ ? THINKING_BORDER_COLORS[thinkingBorderFrame]
737
+ : undefined, paddingLeft: agentLoop.activityPhase === "thinking" ? 1 : 0, paddingRight: agentLoop.activityPhase === "thinking" ? 1 : 0, 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: doneFlash ? theme.success : theme.textDim, children: ["✻ ", doneStatus.verb, " ", formatDuration(doneStatus.durationMs)] }) }))), _jsx(InputArea, { onSubmit: handleSubmit, onAbort: handleAbort, disabled: agentLoop.isRunning, isActive: !taskBarFocused, onDownAtEnd: handleFocusTaskBar, onShiftTab: handleToggleThinking, cwd: props.cwd, commands: allCommands }), 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, thinkingEnabled: thinkingEnabled })), bgTasks.length > 0 && (_jsx(BackgroundTasksBar, { tasks: bgTasks, focused: taskBarFocused, expanded: taskBarExpanded, selectedIndex: selectedTaskIndex, onExpand: handleTaskBarExpand, onCollapse: handleTaskBarCollapse, onKill: handleTaskKill, onExit: handleTaskBarExit, onNavigate: handleTaskNavigate }))] }));
490
738
  }
491
739
  //# 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,8 +1,9 @@
1
1
  interface AssistantMessageProps {
2
2
  text: string;
3
3
  thinking?: string;
4
+ thinkingMs?: number;
4
5
  showThinking?: boolean;
5
6
  }
6
- export declare function AssistantMessage({ text, thinking, showThinking }: AssistantMessageProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare function AssistantMessage({ text, thinking, thinkingMs, showThinking, }: AssistantMessageProps): import("react/jsx-runtime").JSX.Element;
7
8
  export {};
8
9
  //# sourceMappingURL=AssistantMessage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssistantMessage.d.ts","sourceRoot":"","sources":["../../../src/ui/components/AssistantMessage.tsx"],"names":[],"mappings":"AAKA,UAAU,qBAAqB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAmB,EAAE,EAAE,qBAAqB,2CAsB9F"}
1
+ {"version":3,"file":"AssistantMessage.d.ts","sourceRoot":"","sources":["../../../src/ui/components/AssistantMessage.tsx"],"names":[],"mappings":"AAMA,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;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,YAAmB,GACpB,EAAE,qBAAqB,2CAgBvB"}