@google/gemini-cli 0.1.21 → 0.2.0-preview.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 (317) hide show
  1. package/README.md +26 -28
  2. package/dist/package.json +2 -2
  3. package/dist/src/commands/mcp/add.js +21 -10
  4. package/dist/src/commands/mcp/add.js.map +1 -1
  5. package/dist/src/commands/mcp/remove.js +2 -2
  6. package/dist/src/commands/mcp/remove.js.map +1 -1
  7. package/dist/src/config/auth.js +4 -3
  8. package/dist/src/config/auth.js.map +1 -1
  9. package/dist/src/config/auth.test.d.ts +6 -0
  10. package/dist/src/config/auth.test.js +57 -0
  11. package/dist/src/config/auth.test.js.map +1 -0
  12. package/dist/src/config/config.d.ts +1 -0
  13. package/dist/src/config/config.js +20 -11
  14. package/dist/src/config/config.js.map +1 -1
  15. package/dist/src/config/keyBindings.js +3 -2
  16. package/dist/src/config/keyBindings.js.map +1 -1
  17. package/dist/src/config/keyBindings.test.d.ts +6 -0
  18. package/dist/src/config/keyBindings.test.js +51 -0
  19. package/dist/src/config/keyBindings.test.js.map +1 -0
  20. package/dist/src/config/sandboxConfig.js +3 -3
  21. package/dist/src/config/sandboxConfig.js.map +1 -1
  22. package/dist/src/config/settings.js +50 -46
  23. package/dist/src/config/settings.js.map +1 -1
  24. package/dist/src/config/settingsSchema.d.ts +33 -6
  25. package/dist/src/config/settingsSchema.js +33 -6
  26. package/dist/src/config/settingsSchema.js.map +1 -1
  27. package/dist/src/config/settingsSchema.test.d.ts +6 -0
  28. package/dist/src/config/settingsSchema.test.js +195 -0
  29. package/dist/src/config/settingsSchema.test.js.map +1 -0
  30. package/dist/src/config/trustedFolders.d.ts +2 -1
  31. package/dist/src/config/trustedFolders.js +7 -1
  32. package/dist/src/config/trustedFolders.js.map +1 -1
  33. package/dist/src/config/trustedFolders.test.d.ts +6 -0
  34. package/dist/src/config/trustedFolders.test.js +160 -0
  35. package/dist/src/config/trustedFolders.test.js.map +1 -0
  36. package/dist/src/gemini.js +17 -7
  37. package/dist/src/gemini.js.map +1 -1
  38. package/dist/src/gemini.test.d.ts +6 -0
  39. package/dist/src/gemini.test.js +193 -0
  40. package/dist/src/gemini.test.js.map +1 -0
  41. package/dist/src/generated/git-commit.d.ts +2 -1
  42. package/dist/src/generated/git-commit.js +2 -1
  43. package/dist/src/generated/git-commit.js.map +1 -1
  44. package/dist/src/nonInteractiveCli.js +2 -5
  45. package/dist/src/nonInteractiveCli.js.map +1 -1
  46. package/dist/src/services/BuiltinCommandLoader.test.d.ts +6 -0
  47. package/dist/src/services/BuiltinCommandLoader.test.js +108 -0
  48. package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -0
  49. package/dist/src/services/CommandService.test.d.ts +6 -0
  50. package/dist/src/services/CommandService.test.js +232 -0
  51. package/dist/src/services/CommandService.test.js.map +1 -0
  52. package/dist/src/services/FileCommandLoader.js +10 -8
  53. package/dist/src/services/FileCommandLoader.js.map +1 -1
  54. package/dist/src/services/McpPromptLoader.js +3 -3
  55. package/dist/src/services/McpPromptLoader.js.map +1 -1
  56. package/dist/src/services/prompt-processors/argumentProcessor.d.ts +2 -7
  57. package/dist/src/services/prompt-processors/argumentProcessor.js +2 -10
  58. package/dist/src/services/prompt-processors/argumentProcessor.js.map +1 -1
  59. package/dist/src/services/prompt-processors/shellProcessor.d.ts +16 -13
  60. package/dist/src/services/prompt-processors/shellProcessor.js +125 -40
  61. package/dist/src/services/prompt-processors/shellProcessor.js.map +1 -1
  62. package/dist/src/services/prompt-processors/types.d.ts +2 -0
  63. package/dist/src/services/prompt-processors/types.js +2 -0
  64. package/dist/src/services/prompt-processors/types.js.map +1 -1
  65. package/dist/src/test-utils/customMatchers.d.ts +14 -0
  66. package/dist/src/test-utils/customMatchers.js +46 -0
  67. package/dist/src/test-utils/customMatchers.js.map +1 -0
  68. package/dist/src/test-utils/mockCommandContext.d.ts +18 -0
  69. package/dist/src/test-utils/mockCommandContext.js +86 -0
  70. package/dist/src/test-utils/mockCommandContext.js.map +1 -0
  71. package/dist/src/test-utils/mockCommandContext.test.d.ts +6 -0
  72. package/dist/src/test-utils/mockCommandContext.test.js +51 -0
  73. package/dist/src/test-utils/mockCommandContext.test.js.map +1 -0
  74. package/dist/src/test-utils/render.d.ts +8 -0
  75. package/dist/src/test-utils/render.js +10 -0
  76. package/dist/src/test-utils/render.js.map +1 -0
  77. package/dist/src/ui/App.js +52 -20
  78. package/dist/src/ui/App.js.map +1 -1
  79. package/dist/src/ui/IdeIntegrationNudge.js +3 -3
  80. package/dist/src/ui/IdeIntegrationNudge.js.map +1 -1
  81. package/dist/src/ui/commands/aboutCommand.js +9 -5
  82. package/dist/src/ui/commands/aboutCommand.js.map +1 -1
  83. package/dist/src/ui/commands/bugCommand.js +13 -5
  84. package/dist/src/ui/commands/bugCommand.js.map +1 -1
  85. package/dist/src/ui/commands/chatCommand.js +8 -6
  86. package/dist/src/ui/commands/chatCommand.js.map +1 -1
  87. package/dist/src/ui/commands/docsCommand.js +1 -1
  88. package/dist/src/ui/commands/docsCommand.js.map +1 -1
  89. package/dist/src/ui/commands/ideCommand.js +6 -9
  90. package/dist/src/ui/commands/ideCommand.js.map +1 -1
  91. package/dist/src/ui/commands/mcpCommand.js +6 -6
  92. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  93. package/dist/src/ui/commands/setupGithubCommand.test.d.ts +6 -0
  94. package/dist/src/ui/commands/setupGithubCommand.test.js +74 -0
  95. package/dist/src/ui/commands/setupGithubCommand.test.js.map +1 -0
  96. package/dist/src/ui/commands/toolsCommand.js +1 -1
  97. package/dist/src/ui/commands/toolsCommand.js.map +1 -1
  98. package/dist/src/ui/components/AboutBox.d.ts +1 -0
  99. package/dist/src/ui/components/AboutBox.js +1 -1
  100. package/dist/src/ui/components/AboutBox.js.map +1 -1
  101. package/dist/src/ui/components/AuthDialog.js +8 -8
  102. package/dist/src/ui/components/AuthDialog.js.map +1 -1
  103. package/dist/src/ui/components/AuthDialog.test.d.ts +6 -0
  104. package/dist/src/ui/components/AuthDialog.test.js +242 -0
  105. package/dist/src/ui/components/AuthDialog.test.js.map +1 -0
  106. package/dist/src/ui/components/ContextSummaryDisplay.js +1 -1
  107. package/dist/src/ui/components/FolderTrustDialog.test.d.ts +6 -0
  108. package/dist/src/ui/components/FolderTrustDialog.test.js +26 -0
  109. package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -0
  110. package/dist/src/ui/components/Footer.d.ts +1 -0
  111. package/dist/src/ui/components/Footer.js +3 -2
  112. package/dist/src/ui/components/Footer.js.map +1 -1
  113. package/dist/src/ui/components/Header.test.d.ts +6 -0
  114. package/dist/src/ui/components/Header.test.js +37 -0
  115. package/dist/src/ui/components/Header.test.js.map +1 -0
  116. package/dist/src/ui/components/HistoryItemDisplay.js +1 -1
  117. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  118. package/dist/src/ui/components/HistoryItemDisplay.test.d.ts +6 -0
  119. package/dist/src/ui/components/HistoryItemDisplay.test.js +91 -0
  120. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -0
  121. package/dist/src/ui/components/InputPrompt.js +5 -4
  122. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  123. package/dist/src/ui/components/LoadingIndicator.test.d.ts +6 -0
  124. package/dist/src/ui/components/LoadingIndicator.test.js +190 -0
  125. package/dist/src/ui/components/LoadingIndicator.test.js.map +1 -0
  126. package/dist/src/ui/components/SettingsDialog.js +332 -62
  127. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  128. package/dist/src/ui/components/SettingsDialog.test.d.ts +6 -0
  129. package/dist/src/ui/components/SettingsDialog.test.js +568 -0
  130. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -0
  131. package/dist/src/ui/components/ShellConfirmationDialog.js +2 -1
  132. package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -1
  133. package/dist/src/ui/components/ShellConfirmationDialog.test.d.ts +6 -0
  134. package/dist/src/ui/components/ShellConfirmationDialog.test.js +40 -0
  135. package/dist/src/ui/components/ShellConfirmationDialog.test.js.map +1 -0
  136. package/dist/src/ui/components/StatsDisplay.js +8 -7
  137. package/dist/src/ui/components/StatsDisplay.js.map +1 -1
  138. package/dist/src/ui/components/messages/DiffRenderer.js +10 -1
  139. package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -1
  140. package/dist/src/ui/components/messages/DiffRenderer.test.d.ts +6 -0
  141. package/dist/src/ui/components/messages/DiffRenderer.test.js +239 -0
  142. package/dist/src/ui/components/messages/DiffRenderer.test.js.map +1 -0
  143. package/dist/src/ui/components/messages/InfoMessage.js +2 -1
  144. package/dist/src/ui/components/messages/InfoMessage.js.map +1 -1
  145. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +2 -1
  146. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  147. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.d.ts +6 -0
  148. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +37 -0
  149. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -0
  150. package/dist/src/ui/components/messages/ToolMessage.test.d.ts +6 -0
  151. package/dist/src/ui/components/messages/ToolMessage.test.js +118 -0
  152. package/dist/src/ui/components/messages/ToolMessage.test.js.map +1 -0
  153. package/dist/src/ui/components/shared/MaxSizedBox.js +1 -1
  154. package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -1
  155. package/dist/src/ui/components/shared/MaxSizedBox.test.d.ts +6 -0
  156. package/dist/src/ui/components/shared/MaxSizedBox.test.js +154 -0
  157. package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +1 -0
  158. package/dist/src/ui/components/shared/RadioButtonSelect.js +1 -1
  159. package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
  160. package/dist/src/ui/components/shared/RadioButtonSelect.test.d.ts +6 -0
  161. package/dist/src/ui/components/shared/RadioButtonSelect.test.js +111 -0
  162. package/dist/src/ui/components/shared/RadioButtonSelect.test.js.map +1 -0
  163. package/dist/src/ui/components/shared/text-buffer.js +6 -0
  164. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  165. package/dist/src/ui/contexts/KeypressContext.d.ts +30 -0
  166. package/dist/src/ui/contexts/KeypressContext.js +309 -0
  167. package/dist/src/ui/contexts/KeypressContext.js.map +1 -0
  168. package/dist/src/ui/contexts/KeypressContext.test.d.ts +6 -0
  169. package/dist/src/ui/contexts/KeypressContext.test.js +219 -0
  170. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -0
  171. package/dist/src/ui/contexts/SessionContext.d.ts +3 -0
  172. package/dist/src/ui/contexts/SessionContext.js +2 -1
  173. package/dist/src/ui/contexts/SessionContext.js.map +1 -1
  174. package/dist/src/ui/hooks/atCommandProcessor.js +10 -10
  175. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  176. package/dist/src/ui/hooks/atCommandProcessor.test.d.ts +6 -0
  177. package/dist/src/ui/hooks/atCommandProcessor.test.js +809 -0
  178. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -0
  179. package/dist/src/ui/hooks/shellCommandProcessor.js +8 -13
  180. package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -1
  181. package/dist/src/ui/hooks/shellCommandProcessor.test.d.ts +6 -0
  182. package/dist/src/ui/hooks/shellCommandProcessor.test.js +328 -0
  183. package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +1 -0
  184. package/dist/src/ui/hooks/slashCommandProcessor.js +21 -9
  185. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  186. package/dist/src/ui/hooks/useAtCompletion.js +3 -5
  187. package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
  188. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.d.ts +6 -0
  189. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +191 -0
  190. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +1 -0
  191. package/dist/src/ui/hooks/useEditorSettings.test.d.ts +6 -0
  192. package/dist/src/ui/hooks/useEditorSettings.test.js +164 -0
  193. package/dist/src/ui/hooks/useEditorSettings.test.js.map +1 -0
  194. package/dist/src/ui/hooks/useFolderTrust.d.ts +2 -2
  195. package/dist/src/ui/hooks/useFolderTrust.js +23 -5
  196. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
  197. package/dist/src/ui/hooks/useGitBranchName.test.d.ts +6 -0
  198. package/dist/src/ui/hooks/useGitBranchName.test.js +175 -0
  199. package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -0
  200. package/dist/src/ui/hooks/useHistoryManager.test.d.ts +6 -0
  201. package/dist/src/ui/hooks/useHistoryManager.test.js +171 -0
  202. package/dist/src/ui/hooks/useHistoryManager.test.js.map +1 -0
  203. package/dist/src/ui/hooks/useInputHistory.test.d.ts +6 -0
  204. package/dist/src/ui/hooks/useInputHistory.test.js +207 -0
  205. package/dist/src/ui/hooks/useInputHistory.test.js.map +1 -0
  206. package/dist/src/ui/hooks/useKeypress.d.ts +4 -24
  207. package/dist/src/ui/hooks/useKeypress.js +9 -330
  208. package/dist/src/ui/hooks/useKeypress.js.map +1 -1
  209. package/dist/src/ui/hooks/useLoadingIndicator.test.d.ts +6 -0
  210. package/dist/src/ui/hooks/useLoadingIndicator.test.js +91 -0
  211. package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -0
  212. package/dist/src/ui/hooks/useMessageQueue.d.ts +22 -0
  213. package/dist/src/ui/hooks/useMessageQueue.js +49 -0
  214. package/dist/src/ui/hooks/useMessageQueue.js.map +1 -0
  215. package/dist/src/ui/hooks/useMessageQueue.test.d.ts +6 -0
  216. package/dist/src/ui/hooks/useMessageQueue.test.js +158 -0
  217. package/dist/src/ui/hooks/useMessageQueue.test.js.map +1 -0
  218. package/dist/src/ui/hooks/usePrivacySettings.js +6 -2
  219. package/dist/src/ui/hooks/usePrivacySettings.js.map +1 -1
  220. package/dist/src/ui/hooks/usePrivacySettings.test.d.ts +6 -0
  221. package/dist/src/ui/hooks/usePrivacySettings.test.js +154 -0
  222. package/dist/src/ui/hooks/usePrivacySettings.test.js.map +1 -0
  223. package/dist/src/ui/hooks/useReverseSearchCompletion.test.d.ts +6 -0
  224. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js +163 -0
  225. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js.map +1 -0
  226. package/dist/src/ui/hooks/useShellHistory.test.d.ts +6 -0
  227. package/dist/src/ui/hooks/useShellHistory.test.js +162 -0
  228. package/dist/src/ui/hooks/useShellHistory.test.js.map +1 -0
  229. package/dist/src/ui/hooks/useSlashCompletion.test.d.ts +6 -0
  230. package/dist/src/ui/hooks/useSlashCompletion.test.js +272 -0
  231. package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -0
  232. package/dist/src/ui/hooks/useThemeCommand.js +1 -1
  233. package/dist/src/ui/hooks/useThemeCommand.js.map +1 -1
  234. package/dist/src/ui/hooks/useTimer.test.d.ts +6 -0
  235. package/dist/src/ui/hooks/useTimer.test.js +90 -0
  236. package/dist/src/ui/hooks/useTimer.test.js.map +1 -0
  237. package/dist/src/ui/hooks/useToolScheduler.test.d.ts +6 -0
  238. package/dist/src/ui/hooks/useToolScheduler.test.js +846 -0
  239. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -0
  240. package/dist/src/ui/keyMatchers.test.d.ts +6 -0
  241. package/dist/src/ui/keyMatchers.test.js +276 -0
  242. package/dist/src/ui/keyMatchers.test.js.map +1 -0
  243. package/dist/src/ui/themes/color-utils.test.d.ts +6 -0
  244. package/dist/src/ui/themes/color-utils.test.js +197 -0
  245. package/dist/src/ui/themes/color-utils.test.js.map +1 -0
  246. package/dist/src/ui/themes/theme-manager.js +1 -1
  247. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  248. package/dist/src/ui/themes/theme-manager.test.d.ts +6 -0
  249. package/dist/src/ui/themes/theme-manager.test.js +83 -0
  250. package/dist/src/ui/themes/theme-manager.test.js.map +1 -0
  251. package/dist/src/ui/types.d.ts +2 -0
  252. package/dist/src/ui/types.js.map +1 -1
  253. package/dist/src/ui/utils/CodeColorizer.js +1 -1
  254. package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
  255. package/dist/src/ui/utils/InlineMarkdownRenderer.js +8 -1
  256. package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +1 -1
  257. package/dist/src/ui/utils/MarkdownDisplay.test.d.ts +6 -0
  258. package/dist/src/ui/utils/MarkdownDisplay.test.js +151 -0
  259. package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -0
  260. package/dist/src/ui/utils/clipboardUtils.test.d.ts +6 -0
  261. package/dist/src/ui/utils/clipboardUtils.test.js +65 -0
  262. package/dist/src/ui/utils/clipboardUtils.test.js.map +1 -0
  263. package/dist/src/ui/utils/commandUtils.test.d.ts +6 -0
  264. package/dist/src/ui/utils/commandUtils.test.js +294 -0
  265. package/dist/src/ui/utils/commandUtils.test.js.map +1 -0
  266. package/dist/src/ui/utils/computeStats.js +3 -1
  267. package/dist/src/ui/utils/computeStats.js.map +1 -1
  268. package/dist/src/ui/utils/displayUtils.test.d.ts +6 -0
  269. package/dist/src/ui/utils/displayUtils.test.js +42 -0
  270. package/dist/src/ui/utils/displayUtils.test.js.map +1 -0
  271. package/dist/src/ui/utils/formatters.test.d.ts +6 -0
  272. package/dist/src/ui/utils/formatters.test.js +56 -0
  273. package/dist/src/ui/utils/formatters.test.js.map +1 -0
  274. package/dist/src/ui/utils/markdownUtilities.test.d.ts +6 -0
  275. package/dist/src/ui/utils/markdownUtilities.test.js +42 -0
  276. package/dist/src/ui/utils/markdownUtilities.test.js.map +1 -0
  277. package/dist/src/ui/utils/platformConstants.d.ts +5 -0
  278. package/dist/src/ui/utils/platformConstants.js +5 -0
  279. package/dist/src/ui/utils/platformConstants.js.map +1 -1
  280. package/dist/src/ui/utils/terminalSetup.js +7 -7
  281. package/dist/src/ui/utils/terminalSetup.js.map +1 -1
  282. package/dist/src/ui/utils/updateCheck.js +1 -1
  283. package/dist/src/ui/utils/updateCheck.js.map +1 -1
  284. package/dist/src/ui/utils/updateCheck.test.d.ts +6 -0
  285. package/dist/src/ui/utils/updateCheck.test.js +145 -0
  286. package/dist/src/ui/utils/updateCheck.test.js.map +1 -0
  287. package/dist/src/utils/gitUtils.test.d.ts +6 -0
  288. package/dist/src/utils/gitUtils.test.js +113 -0
  289. package/dist/src/utils/gitUtils.test.js.map +1 -0
  290. package/dist/src/utils/installationInfo.test.d.ts +6 -0
  291. package/dist/src/utils/installationInfo.test.js +242 -0
  292. package/dist/src/utils/installationInfo.test.js.map +1 -0
  293. package/dist/src/utils/readStdin.js +10 -0
  294. package/dist/src/utils/readStdin.js.map +1 -1
  295. package/dist/src/utils/sandbox.js +62 -60
  296. package/dist/src/utils/sandbox.js.map +1 -1
  297. package/dist/src/utils/settingsUtils.d.ts +8 -0
  298. package/dist/src/utils/settingsUtils.js +16 -7
  299. package/dist/src/utils/settingsUtils.js.map +1 -1
  300. package/dist/src/utils/settingsUtils.test.d.ts +6 -0
  301. package/dist/src/utils/settingsUtils.test.js +514 -0
  302. package/dist/src/utils/settingsUtils.test.js.map +1 -0
  303. package/dist/src/utils/userStartupWarnings.test.d.ts +6 -0
  304. package/dist/src/utils/userStartupWarnings.test.js +67 -0
  305. package/dist/src/utils/userStartupWarnings.test.js.map +1 -0
  306. package/dist/src/utils/version.js +1 -1
  307. package/dist/src/utils/version.js.map +1 -1
  308. package/dist/src/validateNonInterActiveAuth.js +3 -3
  309. package/dist/src/validateNonInterActiveAuth.js.map +1 -1
  310. package/dist/src/zed-integration/fileSystemService.d.ts +19 -0
  311. package/dist/src/zed-integration/fileSystemService.js +43 -0
  312. package/dist/src/zed-integration/fileSystemService.js.map +1 -0
  313. package/dist/src/zed-integration/schema.d.ts +322 -322
  314. package/dist/src/zed-integration/zedIntegration.js +17 -4
  315. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  316. package/dist/tsconfig.tsbuildinfo +1 -1
  317. package/package.json +3 -3
@@ -10,9 +10,11 @@ import { Colors } from '../colors.js';
10
10
  import { SettingScope, } from '../../config/settings.js';
11
11
  import { getScopeItems, getScopeMessageForSetting, } from '../../utils/dialogScopeUtils.js';
12
12
  import { RadioButtonSelect } from './shared/RadioButtonSelect.js';
13
- import { getDialogSettingKeys, getSettingValue, setPendingSettingValue, getDisplayValue, hasRestartRequiredSettings, saveModifiedSettings, getSettingDefinition, isDefaultValue, requiresRestart, getRestartRequiredFromModified, getDefaultValue, } from '../../utils/settingsUtils.js';
13
+ import { getDialogSettingKeys, getSettingValue, setPendingSettingValue, getDisplayValue, hasRestartRequiredSettings, saveModifiedSettings, getSettingDefinition, isDefaultValue, requiresRestart, getRestartRequiredFromModified, getDefaultValue, setPendingSettingValueAny, getNestedValue, } from '../../utils/settingsUtils.js';
14
14
  import { useVimMode } from '../contexts/VimModeContext.js';
15
15
  import { useKeypress } from '../hooks/useKeypress.js';
16
+ import chalk from 'chalk';
17
+ import { cpSlice, cpLen } from '../utils/textUtils.js';
16
18
  const maxItemsToShow = 8;
17
19
  export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
18
20
  // Get vim mode context to sync vim mode changes
@@ -32,48 +34,51 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
32
34
  structuredClone(settings.forScope(selectedScope).settings));
33
35
  // Track which settings have been modified by the user
34
36
  const [modifiedSettings, setModifiedSettings] = useState(new Set());
35
- // Track the intended values for modified settings
36
- const [modifiedValues, setModifiedValues] = useState(new Map());
37
+ const [globalPendingChanges, setGlobalPendingChanges] = useState(new Map());
37
38
  // Track restart-required settings across scope changes
38
- const [restartRequiredSettings, setRestartRequiredSettings] = useState(new Set());
39
+ const [_restartRequiredSettings, setRestartRequiredSettings] = useState(new Set());
39
40
  useEffect(() => {
40
- setPendingSettings(structuredClone(settings.forScope(selectedScope).settings));
41
- // Don't reset modifiedSettings when scope changes - preserve user's pending changes
42
- if (restartRequiredSettings.size === 0) {
43
- setShowRestartPrompt(false);
44
- }
45
- }, [selectedScope, settings, restartRequiredSettings]);
46
- // Preserve pending changes when scope changes
47
- useEffect(() => {
48
- if (modifiedSettings.size > 0) {
49
- setPendingSettings((prevPending) => {
50
- let updatedPending = { ...prevPending };
51
- // Reapply all modified settings to the new pending settings using stored values
52
- modifiedSettings.forEach((key) => {
53
- const storedValue = modifiedValues.get(key);
54
- if (storedValue !== undefined) {
55
- updatedPending = setPendingSettingValue(key, storedValue, updatedPending);
56
- }
57
- });
58
- return updatedPending;
59
- });
41
+ // Base settings for selected scope
42
+ let updated = structuredClone(settings.forScope(selectedScope).settings);
43
+ // Overlay globally pending (unsaved) changes so user sees their modifications in any scope
44
+ const newModified = new Set();
45
+ const newRestartRequired = new Set();
46
+ for (const [key, value] of globalPendingChanges.entries()) {
47
+ const def = getSettingDefinition(key);
48
+ if (def?.type === 'boolean' && typeof value === 'boolean') {
49
+ updated = setPendingSettingValue(key, value, updated);
50
+ }
51
+ else if (def?.type === 'number' && typeof value === 'number') {
52
+ updated = setPendingSettingValueAny(key, value, updated);
53
+ }
54
+ newModified.add(key);
55
+ if (requiresRestart(key))
56
+ newRestartRequired.add(key);
60
57
  }
61
- }, [selectedScope, modifiedSettings, modifiedValues, settings]);
58
+ setPendingSettings(updated);
59
+ setModifiedSettings(newModified);
60
+ setRestartRequiredSettings(newRestartRequired);
61
+ setShowRestartPrompt(newRestartRequired.size > 0);
62
+ }, [selectedScope, settings, globalPendingChanges]);
62
63
  const generateSettingsItems = () => {
63
64
  const settingKeys = getDialogSettingKeys();
64
65
  return settingKeys.map((key) => {
65
- const currentValue = getSettingValue(key, pendingSettings, {});
66
66
  const definition = getSettingDefinition(key);
67
67
  return {
68
68
  label: definition?.label || key,
69
69
  value: key,
70
- checked: currentValue,
70
+ type: definition?.type,
71
71
  toggle: () => {
72
+ if (definition?.type !== 'boolean') {
73
+ // For non-boolean (e.g., number) items, toggle will be handled via edit mode.
74
+ return;
75
+ }
76
+ const currentValue = getSettingValue(key, pendingSettings, {});
72
77
  const newValue = !currentValue;
73
78
  setPendingSettings((prev) => setPendingSettingValue(key, newValue, prev));
74
79
  if (!requiresRestart(key)) {
75
80
  const immediateSettings = new Set([key]);
76
- const immediateSettingsObject = setPendingSettingValue(key, newValue, {});
81
+ const immediateSettingsObject = setPendingSettingValueAny(key, newValue, {});
77
82
  console.log(`[DEBUG SettingsDialog] Saving ${key} immediately with value:`, newValue);
78
83
  saveModifiedSettings(immediateSettings, immediateSettingsObject, settings, selectedScope);
79
84
  // Special handling for vim mode to sync with VimModeContext
@@ -83,46 +88,31 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
83
88
  console.error('Failed to toggle vim mode:', error);
84
89
  });
85
90
  }
86
- // Capture the current modified settings before updating state
87
- const currentModifiedSettings = new Set(modifiedSettings);
88
- // Remove the saved setting from modifiedSettings since it's now saved
91
+ // Remove from modifiedSettings since it's now saved
89
92
  setModifiedSettings((prev) => {
90
93
  const updated = new Set(prev);
91
94
  updated.delete(key);
92
95
  return updated;
93
96
  });
94
- // Remove from modifiedValues as well
95
- setModifiedValues((prev) => {
96
- const updated = new Map(prev);
97
- updated.delete(key);
98
- return updated;
99
- });
100
97
  // Also remove from restart-required settings if it was there
101
98
  setRestartRequiredSettings((prev) => {
102
99
  const updated = new Set(prev);
103
100
  updated.delete(key);
104
101
  return updated;
105
102
  });
106
- setPendingSettings((_prevPending) => {
107
- let updatedPending = structuredClone(settings.forScope(selectedScope).settings);
108
- currentModifiedSettings.forEach((modifiedKey) => {
109
- if (modifiedKey !== key) {
110
- const modifiedValue = modifiedValues.get(modifiedKey);
111
- if (modifiedValue !== undefined) {
112
- updatedPending = setPendingSettingValue(modifiedKey, modifiedValue, updatedPending);
113
- }
114
- }
115
- });
116
- return updatedPending;
103
+ // Remove from global pending changes if present
104
+ setGlobalPendingChanges((prev) => {
105
+ if (!prev.has(key))
106
+ return prev;
107
+ const next = new Map(prev);
108
+ next.delete(key);
109
+ return next;
117
110
  });
111
+ // Refresh pending settings from the saved state
112
+ setPendingSettings(structuredClone(settings.forScope(selectedScope).settings));
118
113
  }
119
114
  else {
120
- // For restart-required settings, store the actual value
121
- setModifiedValues((prev) => {
122
- const updated = new Map(prev);
123
- updated.set(key, newValue);
124
- return updated;
125
- });
115
+ // For restart-required settings, track as modified
126
116
  setModifiedSettings((prev) => {
127
117
  const updated = new Set(prev).add(key);
128
118
  const needsRestart = hasRestartRequiredSettings(updated);
@@ -133,12 +123,101 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
133
123
  }
134
124
  return updated;
135
125
  });
126
+ // Add/update pending change globally so it persists across scopes
127
+ setGlobalPendingChanges((prev) => {
128
+ const next = new Map(prev);
129
+ next.set(key, newValue);
130
+ return next;
131
+ });
136
132
  }
137
133
  },
138
134
  };
139
135
  });
140
136
  };
141
137
  const items = generateSettingsItems();
138
+ // Number edit state
139
+ const [editingKey, setEditingKey] = useState(null);
140
+ const [editBuffer, setEditBuffer] = useState('');
141
+ const [editCursorPos, setEditCursorPos] = useState(0); // Cursor position within edit buffer
142
+ const [cursorVisible, setCursorVisible] = useState(true);
143
+ useEffect(() => {
144
+ if (!editingKey) {
145
+ setCursorVisible(true);
146
+ return;
147
+ }
148
+ const id = setInterval(() => setCursorVisible((v) => !v), 500);
149
+ return () => clearInterval(id);
150
+ }, [editingKey]);
151
+ const startEditingNumber = (key, initial) => {
152
+ setEditingKey(key);
153
+ const initialValue = initial ?? '';
154
+ setEditBuffer(initialValue);
155
+ setEditCursorPos(cpLen(initialValue)); // Position cursor at end of initial value
156
+ };
157
+ const commitNumberEdit = (key) => {
158
+ if (editBuffer.trim() === '') {
159
+ // Nothing entered; cancel edit
160
+ setEditingKey(null);
161
+ setEditBuffer('');
162
+ setEditCursorPos(0);
163
+ return;
164
+ }
165
+ const parsed = Number(editBuffer.trim());
166
+ if (Number.isNaN(parsed)) {
167
+ // Invalid number; cancel edit
168
+ setEditingKey(null);
169
+ setEditBuffer('');
170
+ setEditCursorPos(0);
171
+ return;
172
+ }
173
+ // Update pending
174
+ setPendingSettings((prev) => setPendingSettingValueAny(key, parsed, prev));
175
+ if (!requiresRestart(key)) {
176
+ const immediateSettings = new Set([key]);
177
+ const immediateSettingsObject = setPendingSettingValueAny(key, parsed, {});
178
+ saveModifiedSettings(immediateSettings, immediateSettingsObject, settings, selectedScope);
179
+ // Remove from modified sets if present
180
+ setModifiedSettings((prev) => {
181
+ const updated = new Set(prev);
182
+ updated.delete(key);
183
+ return updated;
184
+ });
185
+ setRestartRequiredSettings((prev) => {
186
+ const updated = new Set(prev);
187
+ updated.delete(key);
188
+ return updated;
189
+ });
190
+ // Remove from global pending since it's immediately saved
191
+ setGlobalPendingChanges((prev) => {
192
+ if (!prev.has(key))
193
+ return prev;
194
+ const next = new Map(prev);
195
+ next.delete(key);
196
+ return next;
197
+ });
198
+ }
199
+ else {
200
+ // Mark as modified and needing restart
201
+ setModifiedSettings((prev) => {
202
+ const updated = new Set(prev).add(key);
203
+ const needsRestart = hasRestartRequiredSettings(updated);
204
+ if (needsRestart) {
205
+ setShowRestartPrompt(true);
206
+ setRestartRequiredSettings((prevRestart) => new Set(prevRestart).add(key));
207
+ }
208
+ return updated;
209
+ });
210
+ // Record pending change globally for persistence across scopes
211
+ setGlobalPendingChanges((prev) => {
212
+ const next = new Map(prev);
213
+ next.set(key, parsed);
214
+ return next;
215
+ });
216
+ }
217
+ setEditingKey(null);
218
+ setEditBuffer('');
219
+ setEditCursorPos(0);
220
+ };
142
221
  // Scope selector items
143
222
  const scopeItems = getScopeItems();
144
223
  const handleScopeHighlight = (scope) => {
@@ -159,7 +238,84 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
159
238
  setFocusSection((prev) => (prev === 'settings' ? 'scope' : 'settings'));
160
239
  }
161
240
  if (focusSection === 'settings') {
241
+ // If editing a number, capture numeric input and control keys
242
+ if (editingKey) {
243
+ if (key.paste && key.sequence) {
244
+ const pasted = key.sequence.replace(/[^0-9\-+.]/g, '');
245
+ if (pasted) {
246
+ setEditBuffer((b) => {
247
+ const before = cpSlice(b, 0, editCursorPos);
248
+ const after = cpSlice(b, editCursorPos);
249
+ return before + pasted + after;
250
+ });
251
+ setEditCursorPos((pos) => pos + cpLen(pasted));
252
+ }
253
+ return;
254
+ }
255
+ if (name === 'backspace' || name === 'delete') {
256
+ if (name === 'backspace' && editCursorPos > 0) {
257
+ setEditBuffer((b) => {
258
+ const before = cpSlice(b, 0, editCursorPos - 1);
259
+ const after = cpSlice(b, editCursorPos);
260
+ return before + after;
261
+ });
262
+ setEditCursorPos((pos) => pos - 1);
263
+ }
264
+ else if (name === 'delete' && editCursorPos < cpLen(editBuffer)) {
265
+ setEditBuffer((b) => {
266
+ const before = cpSlice(b, 0, editCursorPos);
267
+ const after = cpSlice(b, editCursorPos + 1);
268
+ return before + after;
269
+ });
270
+ // Cursor position stays the same for delete
271
+ }
272
+ return;
273
+ }
274
+ if (name === 'escape') {
275
+ commitNumberEdit(editingKey);
276
+ return;
277
+ }
278
+ if (name === 'return') {
279
+ commitNumberEdit(editingKey);
280
+ return;
281
+ }
282
+ // Allow digits, minus, plus, and dot
283
+ const ch = key.sequence;
284
+ if (/[0-9\-+.]/.test(ch)) {
285
+ setEditBuffer((currentBuffer) => {
286
+ const beforeCursor = cpSlice(currentBuffer, 0, editCursorPos);
287
+ const afterCursor = cpSlice(currentBuffer, editCursorPos);
288
+ return beforeCursor + ch + afterCursor;
289
+ });
290
+ setEditCursorPos((pos) => pos + 1);
291
+ return;
292
+ }
293
+ // Arrow key navigation
294
+ if (name === 'left') {
295
+ setEditCursorPos((pos) => Math.max(0, pos - 1));
296
+ return;
297
+ }
298
+ if (name === 'right') {
299
+ setEditCursorPos((pos) => Math.min(cpLen(editBuffer), pos + 1));
300
+ return;
301
+ }
302
+ // Home and End keys
303
+ if (name === 'home') {
304
+ setEditCursorPos(0);
305
+ return;
306
+ }
307
+ if (name === 'end') {
308
+ setEditCursorPos(cpLen(editBuffer));
309
+ return;
310
+ }
311
+ // Block other keys while editing
312
+ return;
313
+ }
162
314
  if (name === 'up' || name === 'k') {
315
+ // If editing, commit first
316
+ if (editingKey) {
317
+ commitNumberEdit(editingKey);
318
+ }
163
319
  const newIndex = activeSettingIndex > 0 ? activeSettingIndex - 1 : items.length - 1;
164
320
  setActiveSettingIndex(newIndex);
165
321
  // Adjust scroll offset for wrap-around
@@ -171,6 +327,10 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
171
327
  }
172
328
  }
173
329
  else if (name === 'down' || name === 'j') {
330
+ // If editing, commit first
331
+ if (editingKey) {
332
+ commitNumberEdit(editingKey);
333
+ }
174
334
  const newIndex = activeSettingIndex < items.length - 1 ? activeSettingIndex + 1 : 0;
175
335
  setActiveSettingIndex(newIndex);
176
336
  // Adjust scroll offset for wrap-around
@@ -182,17 +342,35 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
182
342
  }
183
343
  }
184
344
  else if (name === 'return' || name === 'space') {
185
- items[activeSettingIndex]?.toggle();
345
+ const currentItem = items[activeSettingIndex];
346
+ if (currentItem?.type === 'number') {
347
+ startEditingNumber(currentItem.value);
348
+ }
349
+ else {
350
+ currentItem?.toggle();
351
+ }
352
+ }
353
+ else if (/^[0-9]$/.test(key.sequence || '') && !editingKey) {
354
+ const currentItem = items[activeSettingIndex];
355
+ if (currentItem?.type === 'number') {
356
+ startEditingNumber(currentItem.value, key.sequence);
357
+ }
186
358
  }
187
359
  else if (ctrl && (name === 'c' || name === 'l')) {
188
360
  // Ctrl+C or Ctrl+L: Clear current setting and reset to default
189
361
  const currentSetting = items[activeSettingIndex];
190
362
  if (currentSetting) {
191
363
  const defaultValue = getDefaultValue(currentSetting.value);
192
- // Ensure defaultValue is a boolean for setPendingSettingValue
193
- const booleanDefaultValue = typeof defaultValue === 'boolean' ? defaultValue : false;
194
- // Update pending settings to default value
195
- setPendingSettings((prev) => setPendingSettingValue(currentSetting.value, booleanDefaultValue, prev));
364
+ const defType = currentSetting.type;
365
+ if (defType === 'boolean') {
366
+ const booleanDefaultValue = typeof defaultValue === 'boolean' ? defaultValue : false;
367
+ setPendingSettings((prev) => setPendingSettingValue(currentSetting.value, booleanDefaultValue, prev));
368
+ }
369
+ else if (defType === 'number') {
370
+ if (typeof defaultValue === 'number') {
371
+ setPendingSettings((prev) => setPendingSettingValueAny(currentSetting.value, defaultValue, prev));
372
+ }
373
+ }
196
374
  // Remove from modified settings since it's now at default
197
375
  setModifiedSettings((prev) => {
198
376
  const updated = new Set(prev);
@@ -208,8 +386,38 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
208
386
  // If this setting doesn't require restart, save it immediately
209
387
  if (!requiresRestart(currentSetting.value)) {
210
388
  const immediateSettings = new Set([currentSetting.value]);
211
- const immediateSettingsObject = setPendingSettingValue(currentSetting.value, booleanDefaultValue, {});
389
+ const toSaveValue = currentSetting.type === 'boolean'
390
+ ? typeof defaultValue === 'boolean'
391
+ ? defaultValue
392
+ : false
393
+ : typeof defaultValue === 'number'
394
+ ? defaultValue
395
+ : undefined;
396
+ const immediateSettingsObject = toSaveValue !== undefined
397
+ ? setPendingSettingValueAny(currentSetting.value, toSaveValue, {})
398
+ : {};
212
399
  saveModifiedSettings(immediateSettings, immediateSettingsObject, settings, selectedScope);
400
+ // Remove from global pending changes if present
401
+ setGlobalPendingChanges((prev) => {
402
+ if (!prev.has(currentSetting.value))
403
+ return prev;
404
+ const next = new Map(prev);
405
+ next.delete(currentSetting.value);
406
+ return next;
407
+ });
408
+ }
409
+ else {
410
+ // Track default reset as a pending change if restart required
411
+ if ((currentSetting.type === 'boolean' &&
412
+ typeof defaultValue === 'boolean') ||
413
+ (currentSetting.type === 'number' &&
414
+ typeof defaultValue === 'number')) {
415
+ setGlobalPendingChanges((prev) => {
416
+ const next = new Map(prev);
417
+ next.set(currentSetting.value, defaultValue);
418
+ return next;
419
+ });
420
+ }
213
421
  }
214
422
  }
215
423
  }
@@ -220,6 +428,16 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
220
428
  const restartRequiredSet = new Set(restartRequiredSettings);
221
429
  if (restartRequiredSet.size > 0) {
222
430
  saveModifiedSettings(restartRequiredSet, pendingSettings, settings, selectedScope);
431
+ // Remove saved keys from global pending changes
432
+ setGlobalPendingChanges((prev) => {
433
+ if (prev.size === 0)
434
+ return prev;
435
+ const next = new Map(prev);
436
+ for (const key of restartRequiredSet) {
437
+ next.delete(key);
438
+ }
439
+ return next;
440
+ });
223
441
  }
224
442
  setShowRestartPrompt(false);
225
443
  setRestartRequiredSettings(new Set()); // Clear restart-required settings
@@ -227,7 +445,12 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
227
445
  onRestartRequest();
228
446
  }
229
447
  if (name === 'escape') {
230
- onSelect(undefined, selectedScope);
448
+ if (editingKey) {
449
+ commitNumberEdit(editingKey);
450
+ }
451
+ else {
452
+ onSelect(undefined, selectedScope);
453
+ }
231
454
  }
232
455
  }, { isActive: true });
233
456
  return (_jsx(Box, { borderStyle: "round", borderColor: Colors.Gray, flexDirection: "row", padding: 1, width: "100%", height: "100%", children: _jsxs(Box, { flexDirection: "column", flexGrow: 1, children: [_jsx(Text, { bold: true, color: Colors.AccentBlue, children: "Settings" }), _jsx(Box, { height: 1 }), showScrollUp && _jsx(Text, { color: Colors.Gray, children: "\u25B2" }), visibleItems.map((item, idx) => {
@@ -235,7 +458,54 @@ export function SettingsDialog({ settings, onSelect, onRestartRequest, }) {
235
458
  activeSettingIndex === idx + scrollOffset;
236
459
  const scopeSettings = settings.forScope(selectedScope).settings;
237
460
  const mergedSettings = settings.merged;
238
- const displayValue = getDisplayValue(item.value, scopeSettings, mergedSettings, modifiedSettings, pendingSettings);
461
+ let displayValue;
462
+ if (editingKey === item.value) {
463
+ // Show edit buffer with advanced cursor highlighting
464
+ if (cursorVisible && editCursorPos < cpLen(editBuffer)) {
465
+ // Cursor is in the middle or at start of text
466
+ const beforeCursor = cpSlice(editBuffer, 0, editCursorPos);
467
+ const atCursor = cpSlice(editBuffer, editCursorPos, editCursorPos + 1);
468
+ const afterCursor = cpSlice(editBuffer, editCursorPos + 1);
469
+ displayValue =
470
+ beforeCursor + chalk.inverse(atCursor) + afterCursor;
471
+ }
472
+ else if (cursorVisible && editCursorPos >= cpLen(editBuffer)) {
473
+ // Cursor is at the end - show inverted space
474
+ displayValue = editBuffer + chalk.inverse(' ');
475
+ }
476
+ else {
477
+ // Cursor not visible
478
+ displayValue = editBuffer;
479
+ }
480
+ }
481
+ else if (item.type === 'number') {
482
+ // For numbers, get the actual current value from pending settings
483
+ const path = item.value.split('.');
484
+ const currentValue = getNestedValue(pendingSettings, path);
485
+ const defaultValue = getDefaultValue(item.value);
486
+ if (currentValue !== undefined && currentValue !== null) {
487
+ displayValue = String(currentValue);
488
+ }
489
+ else {
490
+ displayValue =
491
+ defaultValue !== undefined && defaultValue !== null
492
+ ? String(defaultValue)
493
+ : '';
494
+ }
495
+ // Add * if value differs from default OR if currently being modified
496
+ const isModified = modifiedSettings.has(item.value);
497
+ const effectiveCurrentValue = currentValue !== undefined && currentValue !== null
498
+ ? currentValue
499
+ : defaultValue;
500
+ const isDifferentFromDefault = effectiveCurrentValue !== defaultValue;
501
+ if (isDifferentFromDefault || isModified) {
502
+ displayValue += '*';
503
+ }
504
+ }
505
+ else {
506
+ // For booleans and other types, use existing logic
507
+ displayValue = getDisplayValue(item.value, scopeSettings, mergedSettings, modifiedSettings, pendingSettings);
508
+ }
239
509
  const shouldBeGreyedOut = isDefaultValue(item.value, scopeSettings);
240
510
  // Generate scope message for this setting
241
511
  const scopeMessage = getScopeMessageForSetting(item.value, selectedScope, settings);
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsDialog.js","sourceRoot":"","sources":["../../../../src/ui/components/SettingsDialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SettingsDialog.js","sourceRoot":"","sources":["../../../../src/ui/components/SettingsDialog.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 {};