Commit Graph

41 Commits

Author SHA1 Message Date
Adam Weidman cdb0cd9d86 feat(cli): add /agents slash command to list available agents (#16182) 2026-01-08 21:02:44 +00:00
N. Taylor Mullen 1ed8948b67 Agent Skills: Implement Core Skill Infrastructure & Tiered Discovery (#15698) 2025-12-30 13:35:52 -08:00
Edilmo Palencia 498e64ed61 feat(hooks): Hooks Commands Panel, Enable/Disable, and Migrate (#14225) 2025-12-03 18:01:57 +00:00
Sehoon Shon 3ba5da2996 Add usage limit remaining in /stats (#13843) 2025-11-27 01:21:33 +00:00
Preston Holmes dc9d0debe3 Add User email detail to about box (#13459) 2025-11-20 03:46:21 +00:00
Tommaso Sciortino 1402b40cbf Show model in history (#13034) 2025-11-14 03:11:06 +00:00
Jacob Richman ca478d47ce Support ink scrolling final pr (#12567) 2025-11-11 15:50:11 +00:00
Jacob MacDonald cd0bdd9715 [feat]: Add /extensions restart command (#12739) 2025-11-07 23:17:23 +00:00
jdgarrido1105 745f7cf490 Adds executeCommand endpoint with support for /extensions list (#11515) 2025-10-23 13:05:43 +00:00
Adam Weidman 2b25187c17 Fix /chat list not write terminal escape codes directly (#10415) 2025-10-02 22:52:16 +00:00
Jacob Richman 61828eb8e7 Fix /tool and /mcp commands to not write terminal escape codes directly (#10010) 2025-09-29 21:27:06 +00:00
Jacob Richman 25a36a21f5 fix(ui): stop truncating output from the model rendered in <static> (#9972) 2025-09-27 19:40:09 +00:00
Adam Weidman 044f2a84c4 feat(escape ansi): escape ansi ctrl codes from model output before displaying to user (#8636) 2025-09-25 18:07:17 +00:00
Jacob Richman 29c4b49875 Fix bug where users are unable to re-enter disconnected terminals. (#8765) 2025-09-20 17:59:37 +00:00
Jacob MacDonald 5a1c5922f3 Emit a warning when memory usage exceeds 7GB (#7613) 2025-09-17 21:32:46 +00:00
Jacob MacDonald 13354e9627 Make a stateful extensions list component, with update statuses (#8301)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-09-12 16:20:04 +00:00
Gal Zahavi dc7656af8c feat(shell): enable interactive commands with virtual terminal (#6694) 2025-09-11 20:27:27 +00:00
Keith Lyons a5235273be feat(ui): Introduce useUI Hook and UIContext (#5488)
Co-authored-by: Jacob Richman <jacob314@gmail.com>
2025-09-06 05:39:02 +00:00
shrutip90 a12a669842 Make config non optional in ToolConfirmationMessage (#7083) 2025-08-26 17:02:22 +00:00
Tommaso Sciortino 9e935d55c8 Revert "feat: add explicit license selection and status visibility (#6751)" (#7057) 2025-08-25 23:16:30 +00:00
Pascal Birchler a97a6cc71b Explict imports & exports with type modifier (#3774) 2025-08-25 22:04:53 +00:00
jason 6789322d1b feat: add explicit license selection and status visibility (#6751) 2025-08-22 20:01:01 +00:00
Evan Otero 40acb710c1 feat(about): Add the IDE Client's display name to /about (#6311)
Co-authored-by: Bryan Morgan <bryanmorgan@google.com>
2025-08-15 16:32:15 +00:00
Pyush Sinha ef909bd58a fix: /help remove flickering and respect clear shortcut (ctr+l) (#3611)
Co-authored-by: Jacob Richman <jacob314@gmail.com>
Co-authored-by: Allen Hutchison <adh@google.com>
2025-08-04 16:53:50 +00:00
Abhi fc2ea1add3 feat: Change /stats to include more detailed breakdowns (#2615) 2025-06-30 00:44:33 +00:00
Preston Holmes 46e3dc0ab1 Add the current auth method and GCP Project config to the about message (#2112) 2025-06-27 15:46:27 +00:00
Brandon Keiji 5ad4a0a826 fix: prepublish changes to package names (#1420) 2025-06-25 12:41:11 +00:00
Jacob Richman c4e7c9f675 Fix flicker issues by ensuring all actively changing content fits in the viewport (#1217) 2025-06-19 13:17:23 -07:00
Jacob MacDonald 6f444fae25 Add /compress command to force a compression of the context (#986)
Related to https://b.corp.google.com/issues/423605555 - I figured this might be a simpler solution to start with, while still also being useful on its own even if we do implement that.
2025-06-14 04:21:40 +00:00
Leo cb4b803f5b feat: External editor settings (#882) 2025-06-11 18:21:54 -07:00
Abhi 0016e3cac6 feat: Add exit UI w/ stats (#924) 2025-06-11 16:40:31 -04:00
Abhi 41b82b00fa feat: Add UI for /stats slash command (#883) 2025-06-10 15:59:52 -04:00
Leo 588e79e48f feat: Add flow to allow modifying edits during edit tool call (#808) 2025-06-08 10:56:58 -07:00
Jacob Richman e7c7ab908e Code review comment fixes and some refactors. (#525)
No intentional different behavior aside for tweaks suggested from the code review of #506 Refactor: Extract console message logic to custom hook

This commit refactors the console message handling from App.tsx into a new custom hook useConsoleMessages.

This change improves the testability of the console message logic and declutters the main App component.

Created useConsoleMessages.ts to encapsulate console message state and update logic.
Updated App.tsx to utilize the new useConsoleMessages hook.
Added unit tests for useConsoleMessages.ts to ensure its functionality.
I deleted and started over on LoadingIndicator.test.tsx as I spent way too much time trying to fix it before just regenerating the tests as the code was easier to write tests for from scratch and the existing tests were not that good (I added them in the previous pull request).
2025-05-24 00:44:17 -07:00
Miguel Solorio 5ae4445321 Add /about command 2025-05-23 16:14:37 -07:00
Jacob Richman 94af6cdd67 feat: Modify loading indicator to support a paused state (#506) 2025-05-23 10:25:17 -07:00
Taylor Mullen 562fd12851 feat(cli): Introduce toggleable shell mode with enhanced UI
- Implements a toggleable shell mode, removing the need to prefix every command with `!`.
- Users can now enter and exit shell mode by typing `!` as the first character in an empty input prompt.
- The input prompt visually indicates active shell mode with a distinct color and `! ` prefix.
- Shell command history items (`user_shell`) are now visually differentiated from regular user messages.
- This provides a cleaner and more streamlined user experience for frequent shell interactions.

Fixes https://b.corp.google.com/issues/418509745
2025-05-18 01:25:50 -07:00
Taylor Mullen bc6ded6e06 Refactor: Improve UI rendering and address code review comments
This commit addresses several code review comments primarily focused on improving the rendering and stability of the CLI UI.

Key changes include:
- Passing `isPending` and `availableTerminalHeight` props to `MarkdownDisplay` to enable more intelligent rendering of content, especially for pending messages and code blocks.
- Adjusting height calculations in `ToolGroupMessage` and `ToolMessage` to more accurately reflect available space.
- Refining the logic in `App.tsx` for measuring and utilizing terminal height, including renaming `footerRef` to `mainControlsRef` for clarity.
- Ensuring consistent prop drilling for `isPending` and `availableTerminalHeight` through `HistoryItemDisplay`, `GeminiMessage`, and `GeminiMessageContent`.
- In `MarkdownDisplay`, when `isPending` is true and content exceeds `availableTerminalHeight`, the code block will now be truncated with a "... generating more ..." message. If there's insufficient space even for the
message, a simpler "... code is being written ..." will be shown.
2025-05-15 22:57:28 -07:00
Taylor Mullen 4b37d2870e Fix: Prevent UI tearing and improve display of long content
This commit introduces several changes to better manage terminal height and prevent UI tearing, especially when displaying long tool outputs or when the pending history item exceeds the available terminal height.

- Calculate and utilize available terminal height in `App.tsx`, `HistoryItemDisplay.tsx`, `ToolGroupMessage.tsx`, and `ToolMessage.tsx`.
- Refresh the static display area in `App.tsx` when a pending history item is too large, working around an Ink bug (see https://github.com/vadimdemedes/ink/pull/717).
- Truncate long tool output in `ToolMessage.tsx` and indicate the number of hidden lines.
- Refactor `App.tsx` to correctly measure and account for footer height.

Fixes https://b.corp.google.com/issues/414196943
2025-05-15 22:57:28 -07:00
Brandon Keiji baf8eae89c refactor: remove unused props clearItems, openThemeDialog, onSubmit (#357) 2025-05-15 09:12:15 -07:00
Taylor Mullen 9ad530c18b feat: Fix flickering in iTerm + scrolling + performance issues.
- Refactors history display using Ink's <Static> component to prevent flickering and improve performance by rendering completed items statically.
- Introduces ConsolePatcher component to capture and display console.log, console.warn, and console.error output within the Ink UI, addressing native handling issues.
- Introduce a new content splitting mechanism to work better for static items. Basically when content gets too long we will now split content into multiple blocks for Gemini messages to ensure that we can statically cache larger pieces of history.

Fixes:
- https://b.corp.google.com/issues/411450097
- https://b.corp.google.com/issues/412716309
2025-04-26 16:08:05 -07:00