@google/gemini-cli 0.7.1 → 0.8.0-nightly.20250927.19400ba8

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 (247) hide show
  1. package/README.md +10 -4
  2. package/dist/package.json +7 -5
  3. package/dist/src/commands/extensions/examples/mcp-server/gemini-extension.json +3 -2
  4. package/dist/src/commands/extensions/examples/mcp-server/package.json +18 -0
  5. package/dist/src/commands/extensions/examples/mcp-server/tsconfig.json +13 -0
  6. package/dist/src/commands/extensions/install.js +3 -3
  7. package/dist/src/commands/extensions/install.js.map +1 -1
  8. package/dist/src/commands/extensions/install.test.js +11 -2
  9. package/dist/src/commands/extensions/install.test.js.map +1 -1
  10. package/dist/src/commands/extensions/link.js +2 -2
  11. package/dist/src/commands/extensions/link.js.map +1 -1
  12. package/dist/src/commands/extensions/list.js +1 -1
  13. package/dist/src/commands/extensions/list.js.map +1 -1
  14. package/dist/src/commands/extensions/new.js +6 -1
  15. package/dist/src/commands/extensions/new.js.map +1 -1
  16. package/dist/src/commands/extensions/new.test.js +5 -3
  17. package/dist/src/commands/extensions/new.test.js.map +1 -1
  18. package/dist/src/commands/extensions/uninstall.test.js +4 -1
  19. package/dist/src/commands/extensions/uninstall.test.js.map +1 -1
  20. package/dist/src/commands/extensions/update.js +19 -18
  21. package/dist/src/commands/extensions/update.js.map +1 -1
  22. package/dist/src/commands/mcp/add.js +6 -1
  23. package/dist/src/commands/mcp/add.js.map +1 -1
  24. package/dist/src/config/config.d.ts +2 -0
  25. package/dist/src/config/config.js +38 -21
  26. package/dist/src/config/config.js.map +1 -1
  27. package/dist/src/config/extension.d.ts +26 -4
  28. package/dist/src/config/extension.js +171 -69
  29. package/dist/src/config/extension.js.map +1 -1
  30. package/dist/src/config/extensions/github.d.ts +6 -2
  31. package/dist/src/config/extensions/github.js +84 -32
  32. package/dist/src/config/extensions/github.js.map +1 -1
  33. package/dist/src/config/extensions/github.test.js +5 -1
  34. package/dist/src/config/extensions/github.test.js.map +1 -1
  35. package/dist/src/config/extensions/update.d.ts +3 -3
  36. package/dist/src/config/extensions/update.js +19 -14
  37. package/dist/src/config/extensions/update.js.map +1 -1
  38. package/dist/src/config/extensions/update.test.js +53 -18
  39. package/dist/src/config/extensions/update.test.js.map +1 -1
  40. package/dist/src/config/settings.js +18 -3
  41. package/dist/src/config/settings.js.map +1 -1
  42. package/dist/src/config/settingsSchema.d.ts +20 -2
  43. package/dist/src/config/settingsSchema.js +20 -2
  44. package/dist/src/config/settingsSchema.js.map +1 -1
  45. package/dist/src/config/settingsSchema.test.js +1 -1
  46. package/dist/src/config/settingsSchema.test.js.map +1 -1
  47. package/dist/src/config/trustedFolders.d.ts +10 -1
  48. package/dist/src/config/trustedFolders.js +40 -14
  49. package/dist/src/config/trustedFolders.js.map +1 -1
  50. package/dist/src/config/trustedFolders.test.js +95 -14
  51. package/dist/src/config/trustedFolders.test.js.map +1 -1
  52. package/dist/src/gemini.js +100 -126
  53. package/dist/src/gemini.js.map +1 -1
  54. package/dist/src/gemini.test.js +74 -5
  55. package/dist/src/gemini.test.js.map +1 -1
  56. package/dist/src/generated/git-commit.d.ts +2 -2
  57. package/dist/src/generated/git-commit.js +2 -2
  58. package/dist/src/generated/git-commit.js.map +1 -1
  59. package/dist/src/services/BuiltinCommandLoader.js +4 -0
  60. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  61. package/dist/src/services/BuiltinCommandLoader.test.js +50 -1
  62. package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
  63. package/dist/src/test-utils/render.d.ts +3 -1
  64. package/dist/src/test-utils/render.js +2 -1
  65. package/dist/src/test-utils/render.js.map +1 -1
  66. package/dist/src/ui/App.js +7 -9
  67. package/dist/src/ui/App.js.map +1 -1
  68. package/dist/src/ui/AppContainer.js +32 -12
  69. package/dist/src/ui/AppContainer.js.map +1 -1
  70. package/dist/src/ui/AppContainer.test.js +31 -0
  71. package/dist/src/ui/AppContainer.test.js.map +1 -1
  72. package/dist/src/ui/commands/chatCommand.js +14 -3
  73. package/dist/src/ui/commands/chatCommand.js.map +1 -1
  74. package/dist/src/ui/commands/extensionsCommand.js +5 -2
  75. package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
  76. package/dist/src/ui/commands/modelCommand.d.ts +7 -0
  77. package/dist/src/ui/commands/modelCommand.js +16 -0
  78. package/dist/src/ui/commands/modelCommand.js.map +1 -0
  79. package/dist/src/ui/commands/modelCommand.test.js +30 -0
  80. package/dist/src/ui/commands/modelCommand.test.js.map +1 -0
  81. package/dist/src/ui/commands/permissionsCommand.d.ts +7 -0
  82. package/dist/src/ui/commands/permissionsCommand.js +16 -0
  83. package/dist/src/ui/commands/permissionsCommand.js.map +1 -0
  84. package/dist/src/ui/commands/permissionsCommand.test.d.ts +6 -0
  85. package/dist/src/ui/commands/permissionsCommand.test.js +30 -0
  86. package/dist/src/ui/commands/permissionsCommand.test.js.map +1 -0
  87. package/dist/src/ui/commands/types.d.ts +1 -1
  88. package/dist/src/ui/commands/types.js.map +1 -1
  89. package/dist/src/ui/components/AppHeader.js +2 -5
  90. package/dist/src/ui/components/AppHeader.js.map +1 -1
  91. package/dist/src/ui/components/Composer.js +6 -25
  92. package/dist/src/ui/components/Composer.js.map +1 -1
  93. package/dist/src/ui/components/DialogManager.d.ts +6 -1
  94. package/dist/src/ui/components/DialogManager.js +10 -1
  95. package/dist/src/ui/components/DialogManager.js.map +1 -1
  96. package/dist/src/ui/components/ExitWarning.d.ts +7 -0
  97. package/dist/src/ui/components/ExitWarning.js +9 -0
  98. package/dist/src/ui/components/ExitWarning.js.map +1 -0
  99. package/dist/src/ui/components/Footer.d.ts +1 -19
  100. package/dist/src/ui/components/Footer.js +28 -2
  101. package/dist/src/ui/components/Footer.js.map +1 -1
  102. package/dist/src/ui/components/HistoryItemDisplay.d.ts +1 -1
  103. package/dist/src/ui/components/HistoryItemDisplay.js +6 -1
  104. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  105. package/dist/src/ui/components/HistoryItemDisplay.test.js +42 -1
  106. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -1
  107. package/dist/src/ui/components/InputPrompt.d.ts +1 -1
  108. package/dist/src/ui/components/InputPrompt.js +17 -8
  109. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  110. package/dist/src/ui/components/LoadingIndicator.js +1 -1
  111. package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
  112. package/dist/src/ui/components/LoadingIndicator.test.js +4 -0
  113. package/dist/src/ui/components/LoadingIndicator.test.js.map +1 -1
  114. package/dist/src/ui/components/MainContent.js +1 -1
  115. package/dist/src/ui/components/MainContent.js.map +1 -1
  116. package/dist/src/ui/components/ModelDialog.d.ts +11 -0
  117. package/dist/src/ui/components/ModelDialog.js +53 -0
  118. package/dist/src/ui/components/ModelDialog.js.map +1 -0
  119. package/dist/src/ui/components/ModelDialog.test.d.ts +6 -0
  120. package/dist/src/ui/components/ModelDialog.test.js +153 -0
  121. package/dist/src/ui/components/ModelDialog.test.js.map +1 -0
  122. package/dist/src/ui/components/PermissionsModifyTrustDialog.d.ts +13 -0
  123. package/dist/src/ui/components/PermissionsModifyTrustDialog.js +45 -0
  124. package/dist/src/ui/components/PermissionsModifyTrustDialog.js.map +1 -0
  125. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.d.ts +6 -0
  126. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js +158 -0
  127. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js.map +1 -0
  128. package/dist/src/ui/components/SettingsDialog.js +1 -1
  129. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  130. package/dist/src/ui/components/SettingsDialog.test.js +47 -13
  131. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  132. package/dist/src/ui/components/WorkspaceMigrationDialog.js +3 -1
  133. package/dist/src/ui/components/WorkspaceMigrationDialog.js.map +1 -1
  134. package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +1 -1
  135. package/dist/src/ui/components/messages/ToolGroupMessage.js +5 -5
  136. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
  137. package/dist/src/ui/components/messages/ToolMessage.d.ts +1 -1
  138. package/dist/src/ui/components/messages/ToolMessage.js +3 -3
  139. package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
  140. package/dist/src/ui/components/messages/UserMessage.js +1 -2
  141. package/dist/src/ui/components/messages/UserMessage.js.map +1 -1
  142. package/dist/src/ui/components/shared/BaseSelectionList.d.ts +43 -0
  143. package/dist/src/ui/components/shared/BaseSelectionList.js +72 -0
  144. package/dist/src/ui/components/shared/BaseSelectionList.js.map +1 -0
  145. package/dist/src/ui/components/shared/BaseSelectionList.test.d.ts +6 -0
  146. package/dist/src/ui/components/shared/BaseSelectionList.test.js +374 -0
  147. package/dist/src/ui/components/shared/BaseSelectionList.test.js.map +1 -0
  148. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.d.ts +36 -0
  149. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.js +13 -0
  150. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.js.map +1 -0
  151. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.d.ts +6 -0
  152. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js +68 -0
  153. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js.map +1 -0
  154. package/dist/src/ui/components/shared/RadioButtonSelect.js +9 -104
  155. package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
  156. package/dist/src/ui/components/shared/RadioButtonSelect.test.js +113 -92
  157. package/dist/src/ui/components/shared/RadioButtonSelect.test.js.map +1 -1
  158. package/dist/src/ui/components/views/ExtensionsList.test.js +1 -1
  159. package/dist/src/ui/components/views/ExtensionsList.test.js.map +1 -1
  160. package/dist/src/ui/contexts/KeypressContext.js +3 -0
  161. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  162. package/dist/src/ui/contexts/ShellFocusContext.d.ts +7 -0
  163. package/dist/src/ui/contexts/ShellFocusContext.js +9 -0
  164. package/dist/src/ui/contexts/ShellFocusContext.js.map +1 -0
  165. package/dist/src/ui/contexts/UIActionsContext.d.ts +2 -0
  166. package/dist/src/ui/contexts/UIActionsContext.js.map +1 -1
  167. package/dist/src/ui/contexts/UIStateContext.d.ts +5 -1
  168. package/dist/src/ui/contexts/UIStateContext.js +1 -0
  169. package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
  170. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +2 -0
  171. package/dist/src/ui/hooks/slashCommandProcessor.js +6 -0
  172. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  173. package/dist/src/ui/hooks/useExtensionUpdates.js +23 -17
  174. package/dist/src/ui/hooks/useExtensionUpdates.js.map +1 -1
  175. package/dist/src/ui/hooks/useExtensionUpdates.test.js +9 -11
  176. package/dist/src/ui/hooks/useExtensionUpdates.test.js.map +1 -1
  177. package/dist/src/ui/hooks/useFocus.js +10 -0
  178. package/dist/src/ui/hooks/useFocus.js.map +1 -1
  179. package/dist/src/ui/hooks/useFolderTrust.d.ts +1 -1
  180. package/dist/src/ui/hooks/useFolderTrust.js +2 -7
  181. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
  182. package/dist/src/ui/hooks/useGeminiStream.js +5 -1
  183. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  184. package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -1
  185. package/dist/src/ui/hooks/useModelCommand.d.ts +12 -0
  186. package/dist/src/ui/hooks/useModelCommand.js +21 -0
  187. package/dist/src/ui/hooks/useModelCommand.js.map +1 -0
  188. package/dist/src/ui/hooks/useModelCommand.test.d.ts +6 -0
  189. package/dist/src/ui/hooks/useModelCommand.test.js +35 -0
  190. package/dist/src/ui/hooks/useModelCommand.test.js.map +1 -0
  191. package/dist/src/ui/hooks/usePermissionsModifyTrust.d.ts +17 -0
  192. package/dist/src/ui/hooks/usePermissionsModifyTrust.js +78 -0
  193. package/dist/src/ui/hooks/usePermissionsModifyTrust.js.map +1 -0
  194. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.d.ts +6 -0
  195. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js +182 -0
  196. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js.map +1 -0
  197. package/dist/src/ui/hooks/useSelectionList.d.ts +33 -0
  198. package/dist/src/ui/hooks/useSelectionList.js +252 -0
  199. package/dist/src/ui/hooks/useSelectionList.js.map +1 -0
  200. package/dist/src/ui/hooks/useSelectionList.test.d.ts +6 -0
  201. package/dist/src/ui/hooks/useSelectionList.test.js +651 -0
  202. package/dist/src/ui/hooks/useSelectionList.test.js.map +1 -0
  203. package/dist/src/ui/hooks/useSlashCompletion.js +7 -2
  204. package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
  205. package/dist/src/ui/hooks/useSlashCompletion.test.js +33 -0
  206. package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -1
  207. package/dist/src/ui/layouts/DefaultAppLayout.d.ts +7 -0
  208. package/dist/src/ui/layouts/DefaultAppLayout.js +13 -0
  209. package/dist/src/ui/layouts/DefaultAppLayout.js.map +1 -0
  210. package/dist/src/ui/layouts/ScreenReaderAppLayout.d.ts +7 -0
  211. package/dist/src/ui/layouts/ScreenReaderAppLayout.js +14 -0
  212. package/dist/src/ui/layouts/ScreenReaderAppLayout.js.map +1 -0
  213. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +3 -3
  214. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +1 -1
  215. package/dist/src/ui/state/extensions.d.ts +1 -1
  216. package/dist/src/ui/state/extensions.js +1 -1
  217. package/dist/src/ui/state/extensions.js.map +1 -1
  218. package/dist/src/ui/themes/theme.js +2 -2
  219. package/dist/src/ui/themes/theme.js.map +1 -1
  220. package/dist/src/ui/utils/displayUtils.js +1 -1
  221. package/dist/src/ui/utils/textUtils.d.ts +1 -0
  222. package/dist/src/ui/utils/textUtils.js +56 -0
  223. package/dist/src/ui/utils/textUtils.js.map +1 -1
  224. package/dist/src/ui/utils/textUtils.test.d.ts +6 -0
  225. package/dist/src/ui/utils/textUtils.test.js +132 -0
  226. package/dist/src/ui/utils/textUtils.test.js.map +1 -0
  227. package/dist/src/utils/deepMerge.d.ts +2 -3
  228. package/dist/src/utils/relaunch.d.ts +7 -0
  229. package/dist/src/utils/relaunch.js +57 -0
  230. package/dist/src/utils/relaunch.js.map +1 -0
  231. package/dist/src/utils/relaunch.test.d.ts +6 -0
  232. package/dist/src/utils/relaunch.test.js +273 -0
  233. package/dist/src/utils/relaunch.test.js.map +1 -0
  234. package/dist/src/utils/sandbox.js +23 -9
  235. package/dist/src/utils/sandbox.js.map +1 -1
  236. package/dist/src/zed-integration/schema.d.ts +22 -22
  237. package/dist/src/zed-integration/zedIntegration.d.ts +7 -0
  238. package/dist/src/zed-integration/zedIntegration.js +14 -2
  239. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  240. package/dist/tsconfig.tsbuildinfo +1 -1
  241. package/package.json +7 -5
  242. package/dist/src/commands/extensions/examples/mcp-server/example.js +0 -46
  243. package/dist/src/commands/extensions/examples/mcp-server/example.js.map +0 -1
  244. package/dist/src/ui/contexts/FocusContext.d.ts +0 -7
  245. package/dist/src/ui/contexts/FocusContext.js +0 -9
  246. package/dist/src/ui/contexts/FocusContext.js.map +0 -1
  247. /package/dist/src/{commands/extensions/examples/mcp-server/example.d.ts → ui/commands/modelCommand.test.d.ts} +0 -0
@@ -12,7 +12,7 @@ interface ToolGroupMessageProps {
12
12
  terminalWidth: number;
13
13
  isFocused?: boolean;
14
14
  activeShellPtyId?: number | null;
15
- shellFocused?: boolean;
15
+ embeddedShellFocused?: boolean;
16
16
  onShellInputSubmit?: (input: string) => void;
17
17
  }
18
18
  export declare const ToolGroupMessage: React.FC<ToolGroupMessageProps>;
@@ -8,13 +8,13 @@ import { theme } from '../../semantic-colors.js';
8
8
  import { SHELL_COMMAND_NAME, SHELL_NAME } from '../../constants.js';
9
9
  import { useConfig } from '../../contexts/ConfigContext.js';
10
10
  // Main component renders the border and maps the tools using ToolMessage
11
- export const ToolGroupMessage = ({ toolCalls, availableTerminalHeight, terminalWidth, isFocused = true, activeShellPtyId, shellFocused, }) => {
12
- const isShellFocused = shellFocused &&
11
+ export const ToolGroupMessage = ({ toolCalls, availableTerminalHeight, terminalWidth, isFocused = true, activeShellPtyId, embeddedShellFocused, }) => {
12
+ const isEmbeddedShellFocused = embeddedShellFocused &&
13
13
  toolCalls.some((t) => t.ptyId === activeShellPtyId && t.status === ToolCallStatus.Executing);
14
14
  const hasPending = !toolCalls.every((t) => t.status === ToolCallStatus.Success);
15
15
  const config = useConfig();
16
16
  const isShellCommand = toolCalls.some((t) => t.name === SHELL_COMMAND_NAME || t.name === SHELL_NAME);
17
- const borderColor = isShellCommand || isShellFocused
17
+ const borderColor = isShellCommand || isEmbeddedShellFocused
18
18
  ? theme.ui.symbol
19
19
  : hasPending
20
20
  ? theme.status.warning
@@ -44,13 +44,13 @@ export const ToolGroupMessage = ({ toolCalls, availableTerminalHeight, terminalW
44
44
  Ink to render the border of the box incorrectly and span multiple lines and even
45
45
  cause tearing.
46
46
  */
47
- width: "100%", marginLeft: 1, borderDimColor: hasPending, borderColor: borderColor, gap: 1, children: toolCalls.map((tool) => {
47
+ width: "100%", marginLeft: 1, borderDimColor: hasPending && (!isShellCommand || !isEmbeddedShellFocused), borderColor: borderColor, gap: 1, children: toolCalls.map((tool) => {
48
48
  const isConfirming = toolAwaitingApproval?.callId === tool.callId;
49
49
  return (_jsxs(Box, { flexDirection: "column", minHeight: 1, children: [_jsx(Box, { flexDirection: "row", alignItems: "center", children: _jsx(ToolMessage, { ...tool, availableTerminalHeight: availableTerminalHeightPerToolMessage, terminalWidth: innerWidth, emphasis: isConfirming
50
50
  ? 'high'
51
51
  : toolAwaitingApproval
52
52
  ? 'low'
53
- : 'medium', activeShellPtyId: activeShellPtyId, shellFocused: shellFocused, config: config }) }), tool.status === ToolCallStatus.Confirming &&
53
+ : 'medium', activeShellPtyId: activeShellPtyId, embeddedShellFocused: embeddedShellFocused, config: config }) }), tool.status === ToolCallStatus.Confirming &&
54
54
  isConfirming &&
55
55
  tool.confirmationDetails && (_jsx(ToolConfirmationMessage, { confirmationDetails: tool.confirmationDetails, config: config, isFocused: isFocused, availableTerminalHeight: availableTerminalHeightPerToolMessage, terminalWidth: innerWidth })), tool.outputFile && (_jsx(Box, { marginX: 1, children: _jsxs(Text, { color: theme.text.primary, children: ["Output too long and was saved to: ", tool.outputFile] }) }))] }, tool.callId));
56
56
  }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"ToolGroupMessage.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolGroupMessage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolGroupMessage.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolGroupMessage.tsx"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export interface ToolMessageProps extends IndividualToolCallDisplay {
13
13
  emphasis?: TextEmphasis;
14
14
  renderOutputAsMarkdown?: boolean;
15
15
  activeShellPtyId?: number | null;
16
- shellFocused?: boolean;
16
+ embeddedShellFocused?: boolean;
17
17
  config?: Config;
18
18
  }
19
19
  export declare const ToolMessage: React.FC<ToolMessageProps>;
@@ -22,11 +22,11 @@ const MIN_LINES_SHOWN = 2; // show at least this many lines
22
22
  // Large threshold to ensure we don't cause performance issues for very large
23
23
  // outputs that will get truncated further MaxSizedBox anyway.
24
24
  const MAXIMUM_RESULT_DISPLAY_CHARACTERS = 1000000;
25
- export const ToolMessage = ({ name, description, resultDisplay, status, availableTerminalHeight, terminalWidth, emphasis = 'medium', renderOutputAsMarkdown = true, activeShellPtyId, shellFocused, ptyId, config, }) => {
25
+ export const ToolMessage = ({ name, description, resultDisplay, status, availableTerminalHeight, terminalWidth, emphasis = 'medium', renderOutputAsMarkdown = true, activeShellPtyId, embeddedShellFocused, ptyId, config, }) => {
26
26
  const isThisShellFocused = (name === SHELL_COMMAND_NAME || name === 'Shell') &&
27
27
  status === ToolCallStatus.Executing &&
28
28
  ptyId === activeShellPtyId &&
29
- shellFocused;
29
+ embeddedShellFocused;
30
30
  const isThisShellFocusable = (name === SHELL_COMMAND_NAME || name === 'Shell') &&
31
31
  status === ToolCallStatus.Executing &&
32
32
  config?.getShouldUseNodePtyShell();
@@ -48,7 +48,7 @@ export const ToolMessage = ({ name, description, resultDisplay, status, availabl
48
48
  }
49
49
  }
50
50
  return (_jsxs(Box, { paddingX: 1, paddingY: 0, flexDirection: "column", children: [_jsxs(Box, { minHeight: 1, children: [_jsx(ToolStatusIndicator, { status: status, name: name }), _jsx(ToolInfo, { name: name, status: status, description: description, emphasis: emphasis }), isThisShellFocusable && (_jsx(Box, { marginLeft: 1, flexShrink: 0, children: _jsx(Text, { color: theme.text.accent, children: isThisShellFocused ? '(Focused)' : '(ctrl+f to focus)' }) })), emphasis === 'high' && _jsx(TrailingIndicator, {})] }), resultDisplay && (_jsx(Box, { paddingLeft: STATUS_INDICATOR_WIDTH, width: "100%", marginTop: 1, children: _jsx(Box, { flexDirection: "column", children: typeof resultDisplay === 'string' && renderOutputAsMarkdown ? (_jsx(Box, { flexDirection: "column", children: _jsx(MarkdownDisplay, { text: resultDisplay, isPending: false, availableTerminalHeight: availableHeight, terminalWidth: childWidth }) })) : typeof resultDisplay === 'string' && !renderOutputAsMarkdown ? (_jsx(MaxSizedBox, { maxHeight: availableHeight, maxWidth: childWidth, children: _jsx(Box, { children: _jsx(Text, { wrap: "wrap", color: theme.text.primary, children: resultDisplay }) }) })) : typeof resultDisplay === 'object' &&
51
- 'fileDiff' in resultDisplay ? (_jsx(DiffRenderer, { diffContent: resultDisplay.fileDiff, filename: resultDisplay.fileName, availableTerminalHeight: availableHeight, terminalWidth: childWidth })) : (_jsx(AnsiOutputText, { data: resultDisplay, availableTerminalHeight: availableHeight })) }) })), isThisShellFocused && config && (_jsx(Box, { paddingLeft: STATUS_INDICATOR_WIDTH, marginTop: 1, children: _jsx(ShellInputPrompt, { activeShellPtyId: activeShellPtyId ?? null, focus: shellFocused }) }))] }));
51
+ 'fileDiff' in resultDisplay ? (_jsx(DiffRenderer, { diffContent: resultDisplay.fileDiff, filename: resultDisplay.fileName, availableTerminalHeight: availableHeight, terminalWidth: childWidth })) : (_jsx(AnsiOutputText, { data: resultDisplay, availableTerminalHeight: availableHeight })) }) })), isThisShellFocused && config && (_jsx(Box, { paddingLeft: STATUS_INDICATOR_WIDTH, marginTop: 1, children: _jsx(ShellInputPrompt, { activeShellPtyId: activeShellPtyId ?? null, focus: embeddedShellFocused }) }))] }));
52
52
  };
53
53
  const ToolStatusIndicator = ({ status, name, }) => {
54
54
  const isShell = name === SHELL_COMMAND_NAME || name === SHELL_NAME;
@@ -1 +1 @@
1
- {"version":3,"file":"ToolMessage.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolMessage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolMessage.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolMessage.tsx"],"names":[],"mappings":"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"}
@@ -8,7 +8,6 @@ export const UserMessage = ({ text }) => {
8
8
  const prefixWidth = prefix.length;
9
9
  const isSlashCommand = checkIsSlashCommand(text);
10
10
  const textColor = isSlashCommand ? theme.text.accent : theme.text.secondary;
11
- const borderColor = isSlashCommand ? theme.text.accent : theme.text.secondary;
12
- return (_jsxs(Box, { borderStyle: "round", borderColor: borderColor, flexDirection: "row", paddingX: 2, paddingY: 0, marginY: 1, alignSelf: "flex-start", children: [_jsx(Box, { width: prefixWidth, children: _jsx(Text, { color: textColor, "aria-label": SCREEN_READER_USER_PREFIX, children: prefix }) }), _jsx(Box, { flexGrow: 1, children: _jsx(Text, { wrap: "wrap", color: textColor, children: text }) })] }));
11
+ return (_jsxs(Box, { flexDirection: "row", paddingY: 0, marginY: 1, alignSelf: "flex-start", children: [_jsx(Box, { width: prefixWidth, children: _jsx(Text, { color: theme.text.accent, "aria-label": SCREEN_READER_USER_PREFIX, children: prefix }) }), _jsx(Box, { flexGrow: 1, children: _jsx(Text, { wrap: "wrap", color: textColor, children: text }) })] }));
13
12
  };
14
13
  //# sourceMappingURL=UserMessage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UserMessage.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/UserMessage.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,cAAc,IAAI,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAMpF,MAAM,CAAC,MAAM,WAAW,GAA+B,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IAClC,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAEjD,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;IAC5E,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;IAE9E,OAAO,CACL,MAAC,GAAG,IACF,WAAW,EAAC,OAAO,EACnB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAC,KAAK,EACnB,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,EACX,OAAO,EAAE,CAAC,EACV,SAAS,EAAC,YAAY,aAEtB,KAAC,GAAG,IAAC,KAAK,EAAE,WAAW,YACrB,KAAC,IAAI,IAAC,KAAK,EAAE,SAAS,gBAAc,yBAAyB,YAC1D,MAAM,GACF,GACH,EACN,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,YACd,KAAC,IAAI,IAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,SAAS,YAC/B,IAAI,GACA,GACH,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"UserMessage.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/UserMessage.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,cAAc,IAAI,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAMpF,MAAM,CAAC,MAAM,WAAW,GAA+B,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IAClC,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAEjD,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;IAE5E,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAC,YAAY,aACtE,KAAC,GAAG,IAAC,KAAK,EAAE,WAAW,YACrB,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,gBAAc,yBAAyB,YAClE,MAAM,GACF,GACH,EACN,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,YACd,KAAC,IAAI,IAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,SAAS,YAC/B,IAAI,GACA,GACH,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type React from 'react';
7
+ export interface RenderItemContext {
8
+ isSelected: boolean;
9
+ titleColor: string;
10
+ numberColor: string;
11
+ }
12
+ export interface BaseSelectionListProps<T, TItem = Record<string, unknown>> {
13
+ items: Array<TItem & {
14
+ value: T;
15
+ disabled?: boolean;
16
+ }>;
17
+ initialIndex?: number;
18
+ onSelect: (value: T) => void;
19
+ onHighlight?: (value: T) => void;
20
+ isFocused?: boolean;
21
+ showNumbers?: boolean;
22
+ showScrollArrows?: boolean;
23
+ maxItemsToShow?: number;
24
+ renderItem: (item: TItem & {
25
+ value: T;
26
+ disabled?: boolean;
27
+ }, context: RenderItemContext) => React.ReactNode;
28
+ }
29
+ /**
30
+ * Base component for selection lists that provides common UI structure
31
+ * and keyboard navigation logic via the useSelectionList hook.
32
+ *
33
+ * This component handles:
34
+ * - Radio button indicators
35
+ * - Item numbering
36
+ * - Scrolling for long lists
37
+ * - Color theming based on selection/disabled state
38
+ * - Keyboard navigation and numeric selection
39
+ *
40
+ * Specific components should use this as a base and provide
41
+ * their own renderItem implementation for custom content.
42
+ */
43
+ export declare function BaseSelectionList<T, TItem = Record<string, unknown>>({ items, initialIndex, onSelect, onHighlight, isFocused, showNumbers, showScrollArrows, maxItemsToShow, renderItem, }: BaseSelectionListProps<T, TItem>): React.JSX.Element;
@@ -0,0 +1,72 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
3
+ import { Text, Box } from 'ink';
4
+ import { theme } from '../../semantic-colors.js';
5
+ import { useSelectionList } from '../../hooks/useSelectionList.js';
6
+ /**
7
+ * Base component for selection lists that provides common UI structure
8
+ * and keyboard navigation logic via the useSelectionList hook.
9
+ *
10
+ * This component handles:
11
+ * - Radio button indicators
12
+ * - Item numbering
13
+ * - Scrolling for long lists
14
+ * - Color theming based on selection/disabled state
15
+ * - Keyboard navigation and numeric selection
16
+ *
17
+ * Specific components should use this as a base and provide
18
+ * their own renderItem implementation for custom content.
19
+ */
20
+ export function BaseSelectionList({ items, initialIndex = 0, onSelect, onHighlight, isFocused = true, showNumbers = true, showScrollArrows = false, maxItemsToShow = 10, renderItem, }) {
21
+ const { activeIndex } = useSelectionList({
22
+ items,
23
+ initialIndex,
24
+ onSelect,
25
+ onHighlight,
26
+ isFocused,
27
+ showNumbers,
28
+ });
29
+ const [scrollOffset, setScrollOffset] = useState(0);
30
+ // Handle scrolling for long lists
31
+ useEffect(() => {
32
+ const newScrollOffset = Math.max(0, Math.min(activeIndex - maxItemsToShow + 1, items.length - maxItemsToShow));
33
+ if (activeIndex < scrollOffset) {
34
+ setScrollOffset(activeIndex);
35
+ }
36
+ else if (activeIndex >= scrollOffset + maxItemsToShow) {
37
+ setScrollOffset(newScrollOffset);
38
+ }
39
+ }, [activeIndex, items.length, scrollOffset, maxItemsToShow]);
40
+ const visibleItems = items.slice(scrollOffset, scrollOffset + maxItemsToShow);
41
+ const numberColumnWidth = String(items.length).length;
42
+ return (_jsxs(Box, { flexDirection: "column", children: [showScrollArrows && (_jsx(Text, { color: scrollOffset > 0 ? theme.text.primary : theme.text.secondary, children: "\u25B2" })), visibleItems.map((item, index) => {
43
+ const itemIndex = scrollOffset + index;
44
+ const isSelected = activeIndex === itemIndex;
45
+ // Determine colors based on selection and disabled state
46
+ let titleColor = theme.text.primary;
47
+ let numberColor = theme.text.primary;
48
+ if (isSelected) {
49
+ titleColor = theme.status.success;
50
+ numberColor = theme.status.success;
51
+ }
52
+ else if (item.disabled) {
53
+ titleColor = theme.text.secondary;
54
+ numberColor = theme.text.secondary;
55
+ }
56
+ if (!isFocused && !item.disabled) {
57
+ numberColor = theme.text.secondary;
58
+ }
59
+ if (!showNumbers) {
60
+ numberColor = theme.text.secondary;
61
+ }
62
+ const itemNumberText = `${String(itemIndex + 1).padStart(numberColumnWidth)}.`;
63
+ return (_jsxs(Box, { alignItems: "flex-start", children: [_jsx(Box, { minWidth: 2, flexShrink: 0, children: _jsx(Text, { color: isSelected ? theme.status.success : theme.text.primary, "aria-hidden": true, children: isSelected ? '●' : ' ' }) }), showNumbers && (_jsx(Box, { marginRight: 1, flexShrink: 0, minWidth: itemNumberText.length, "aria-state": { checked: isSelected }, children: _jsx(Text, { color: numberColor, children: itemNumberText }) })), _jsx(Box, { flexGrow: 1, children: renderItem(item, {
64
+ isSelected,
65
+ titleColor,
66
+ numberColor,
67
+ }) })] }, itemIndex));
68
+ }), showScrollArrows && (_jsx(Text, { color: scrollOffset + maxItemsToShow < items.length
69
+ ? theme.text.primary
70
+ : theme.text.secondary, children: "\u25BC" }))] }));
71
+ }
72
+ //# sourceMappingURL=BaseSelectionList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseSelectionList.js","sourceRoot":"","sources":["../../../../../src/ui/components/shared/BaseSelectionList.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};