fss-link 1.0.27 → 1.0.29

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 (879) hide show
  1. package/README.md +25 -8
  2. package/bundle/fss-link.js +27930 -0
  3. package/package.json +100 -47
  4. package/dist/.last_build +0 -0
  5. package/dist/index.d.ts +0 -7
  6. package/dist/index.js +0 -20
  7. package/dist/index.js.map +0 -1
  8. package/dist/package.json +0 -90
  9. package/dist/src/commands/mcp/add.d.ts +0 -7
  10. package/dist/src/commands/mcp/add.js +0 -166
  11. package/dist/src/commands/mcp/add.js.map +0 -1
  12. package/dist/src/commands/mcp/list.d.ts +0 -8
  13. package/dist/src/commands/mcp/list.js +0 -110
  14. package/dist/src/commands/mcp/list.js.map +0 -1
  15. package/dist/src/commands/mcp/remove.d.ts +0 -7
  16. package/dist/src/commands/mcp/remove.js +0 -44
  17. package/dist/src/commands/mcp/remove.js.map +0 -1
  18. package/dist/src/commands/mcp.d.ts +0 -7
  19. package/dist/src/commands/mcp.js +0 -23
  20. package/dist/src/commands/mcp.js.map +0 -1
  21. package/dist/src/config/auth.d.ts +0 -13
  22. package/dist/src/config/auth.js +0 -78
  23. package/dist/src/config/auth.js.map +0 -1
  24. package/dist/src/config/auth.test.d.ts +0 -6
  25. package/dist/src/config/auth.test.js +0 -61
  26. package/dist/src/config/auth.test.js.map +0 -1
  27. package/dist/src/config/config.d.ts +0 -45
  28. package/dist/src/config/config.js +0 -490
  29. package/dist/src/config/config.js.map +0 -1
  30. package/dist/src/config/database.d.ts +0 -101
  31. package/dist/src/config/database.js +0 -345
  32. package/dist/src/config/database.js.map +0 -1
  33. package/dist/src/config/extension.d.ts +0 -23
  34. package/dist/src/config/extension.js +0 -126
  35. package/dist/src/config/extension.js.map +0 -1
  36. package/dist/src/config/keyBindings.d.ts +0 -66
  37. package/dist/src/config/keyBindings.js +0 -141
  38. package/dist/src/config/keyBindings.js.map +0 -1
  39. package/dist/src/config/keyBindings.test.d.ts +0 -6
  40. package/dist/src/config/keyBindings.test.js +0 -51
  41. package/dist/src/config/keyBindings.test.js.map +0 -1
  42. package/dist/src/config/modelManager.d.ts +0 -84
  43. package/dist/src/config/modelManager.js +0 -234
  44. package/dist/src/config/modelManager.js.map +0 -1
  45. package/dist/src/config/sandboxConfig.d.ts +0 -13
  46. package/dist/src/config/sandboxConfig.js +0 -75
  47. package/dist/src/config/sandboxConfig.js.map +0 -1
  48. package/dist/src/config/settings.d.ts +0 -56
  49. package/dist/src/config/settings.js +0 -407
  50. package/dist/src/config/settings.js.map +0 -1
  51. package/dist/src/config/settingsSchema.d.ts +0 -694
  52. package/dist/src/config/settingsSchema.js +0 -670
  53. package/dist/src/config/settingsSchema.js.map +0 -1
  54. package/dist/src/config/settingsSchema.test.d.ts +0 -6
  55. package/dist/src/config/settingsSchema.test.js +0 -195
  56. package/dist/src/config/settingsSchema.test.js.map +0 -1
  57. package/dist/src/config/trustedFolders.d.ts +0 -37
  58. package/dist/src/config/trustedFolders.js +0 -118
  59. package/dist/src/config/trustedFolders.js.map +0 -1
  60. package/dist/src/config/trustedFolders.test.d.ts +0 -6
  61. package/dist/src/config/trustedFolders.test.js +0 -160
  62. package/dist/src/config/trustedFolders.test.js.map +0 -1
  63. package/dist/src/gemini.d.ts +0 -9
  64. package/dist/src/gemini.js +0 -263
  65. package/dist/src/gemini.js.map +0 -1
  66. package/dist/src/gemini.test.d.ts +0 -6
  67. package/dist/src/gemini.test.js +0 -193
  68. package/dist/src/gemini.test.js.map +0 -1
  69. package/dist/src/generated/git-commit.d.ts +0 -7
  70. package/dist/src/generated/git-commit.js +0 -10
  71. package/dist/src/generated/git-commit.js.map +0 -1
  72. package/dist/src/nonInteractiveCli.d.ts +0 -7
  73. package/dist/src/nonInteractiveCli.js +0 -103
  74. package/dist/src/nonInteractiveCli.js.map +0 -1
  75. package/dist/src/patches/is-in-ci.d.ts +0 -7
  76. package/dist/src/patches/is-in-ci.js +0 -15
  77. package/dist/src/patches/is-in-ci.js.map +0 -1
  78. package/dist/src/services/BuiltinCommandLoader.d.ts +0 -24
  79. package/dist/src/services/BuiltinCommandLoader.js +0 -90
  80. package/dist/src/services/BuiltinCommandLoader.js.map +0 -1
  81. package/dist/src/services/BuiltinCommandLoader.test.d.ts +0 -6
  82. package/dist/src/services/BuiltinCommandLoader.test.js +0 -108
  83. package/dist/src/services/BuiltinCommandLoader.test.js.map +0 -1
  84. package/dist/src/services/CommandService.d.ts +0 -55
  85. package/dist/src/services/CommandService.js +0 -90
  86. package/dist/src/services/CommandService.js.map +0 -1
  87. package/dist/src/services/CommandService.test.d.ts +0 -6
  88. package/dist/src/services/CommandService.test.js +0 -232
  89. package/dist/src/services/CommandService.test.js.map +0 -1
  90. package/dist/src/services/FileCommandLoader.d.ts +0 -49
  91. package/dist/src/services/FileCommandLoader.js +0 -210
  92. package/dist/src/services/FileCommandLoader.js.map +0 -1
  93. package/dist/src/services/McpPromptLoader.d.ts +0 -25
  94. package/dist/src/services/McpPromptLoader.js +0 -192
  95. package/dist/src/services/McpPromptLoader.js.map +0 -1
  96. package/dist/src/services/SearchEngineConfigProvider.d.ts +0 -33
  97. package/dist/src/services/SearchEngineConfigProvider.js +0 -82
  98. package/dist/src/services/SearchEngineConfigProvider.js.map +0 -1
  99. package/dist/src/services/prompt-processors/argumentProcessor.d.ts +0 -16
  100. package/dist/src/services/prompt-processors/argumentProcessor.js +0 -20
  101. package/dist/src/services/prompt-processors/argumentProcessor.js.map +0 -1
  102. package/dist/src/services/prompt-processors/shellProcessor.d.ts +0 -35
  103. package/dist/src/services/prompt-processors/shellProcessor.js +0 -162
  104. package/dist/src/services/prompt-processors/shellProcessor.js.map +0 -1
  105. package/dist/src/services/prompt-processors/types.d.ts +0 -40
  106. package/dist/src/services/prompt-processors/types.js +0 -16
  107. package/dist/src/services/prompt-processors/types.js.map +0 -1
  108. package/dist/src/services/types.d.ts +0 -22
  109. package/dist/src/services/types.js +0 -7
  110. package/dist/src/services/types.js.map +0 -1
  111. package/dist/src/test-utils/customMatchers.d.ts +0 -14
  112. package/dist/src/test-utils/customMatchers.js +0 -46
  113. package/dist/src/test-utils/customMatchers.js.map +0 -1
  114. package/dist/src/test-utils/mockCommandContext.d.ts +0 -18
  115. package/dist/src/test-utils/mockCommandContext.js +0 -87
  116. package/dist/src/test-utils/mockCommandContext.js.map +0 -1
  117. package/dist/src/test-utils/mockCommandContext.test.d.ts +0 -6
  118. package/dist/src/test-utils/mockCommandContext.test.js +0 -51
  119. package/dist/src/test-utils/mockCommandContext.test.js.map +0 -1
  120. package/dist/src/test-utils/render.d.ts +0 -8
  121. package/dist/src/test-utils/render.js +0 -10
  122. package/dist/src/test-utils/render.js.map +0 -1
  123. package/dist/src/ui/App.d.ts +0 -15
  124. package/dist/src/ui/App.js +0 -703
  125. package/dist/src/ui/App.js.map +0 -1
  126. package/dist/src/ui/IdeIntegrationNudge.d.ts +0 -16
  127. package/dist/src/ui/IdeIntegrationNudge.js +0 -52
  128. package/dist/src/ui/IdeIntegrationNudge.js.map +0 -1
  129. package/dist/src/ui/colors.d.ts +0 -7
  130. package/dist/src/ui/colors.js +0 -54
  131. package/dist/src/ui/colors.js.map +0 -1
  132. package/dist/src/ui/commands/aboutCommand.d.ts +0 -7
  133. package/dist/src/ui/commands/aboutCommand.js +0 -43
  134. package/dist/src/ui/commands/aboutCommand.js.map +0 -1
  135. package/dist/src/ui/commands/authCommand.d.ts +0 -7
  136. package/dist/src/ui/commands/authCommand.js +0 -16
  137. package/dist/src/ui/commands/authCommand.js.map +0 -1
  138. package/dist/src/ui/commands/bugCommand.d.ts +0 -7
  139. package/dist/src/ui/commands/bugCommand.js +0 -71
  140. package/dist/src/ui/commands/bugCommand.js.map +0 -1
  141. package/dist/src/ui/commands/chatCommand.d.ts +0 -7
  142. package/dist/src/ui/commands/chatCommand.js +0 -234
  143. package/dist/src/ui/commands/chatCommand.js.map +0 -1
  144. package/dist/src/ui/commands/clearCommand.d.ts +0 -7
  145. package/dist/src/ui/commands/clearCommand.js +0 -27
  146. package/dist/src/ui/commands/clearCommand.js.map +0 -1
  147. package/dist/src/ui/commands/compressCommand.d.ts +0 -7
  148. package/dist/src/ui/commands/compressCommand.js +0 -64
  149. package/dist/src/ui/commands/compressCommand.js.map +0 -1
  150. package/dist/src/ui/commands/copyCommand.d.ts +0 -7
  151. package/dist/src/ui/commands/copyCommand.js +0 -59
  152. package/dist/src/ui/commands/copyCommand.js.map +0 -1
  153. package/dist/src/ui/commands/corgiCommand.d.ts +0 -7
  154. package/dist/src/ui/commands/corgiCommand.js +0 -15
  155. package/dist/src/ui/commands/corgiCommand.js.map +0 -1
  156. package/dist/src/ui/commands/directoryCommand.d.ts +0 -8
  157. package/dist/src/ui/commands/directoryCommand.js +0 -133
  158. package/dist/src/ui/commands/directoryCommand.js.map +0 -1
  159. package/dist/src/ui/commands/docsCommand.d.ts +0 -7
  160. package/dist/src/ui/commands/docsCommand.js +0 -31
  161. package/dist/src/ui/commands/docsCommand.js.map +0 -1
  162. package/dist/src/ui/commands/editorCommand.d.ts +0 -7
  163. package/dist/src/ui/commands/editorCommand.js +0 -16
  164. package/dist/src/ui/commands/editorCommand.js.map +0 -1
  165. package/dist/src/ui/commands/extensionsCommand.d.ts +0 -7
  166. package/dist/src/ui/commands/extensionsCommand.js +0 -31
  167. package/dist/src/ui/commands/extensionsCommand.js.map +0 -1
  168. package/dist/src/ui/commands/helpCommand.d.ts +0 -7
  169. package/dist/src/ui/commands/helpCommand.js +0 -21
  170. package/dist/src/ui/commands/helpCommand.js.map +0 -1
  171. package/dist/src/ui/commands/ideCommand.d.ts +0 -8
  172. package/dist/src/ui/commands/ideCommand.js +0 -218
  173. package/dist/src/ui/commands/ideCommand.js.map +0 -1
  174. package/dist/src/ui/commands/initCommand.d.ts +0 -7
  175. package/dist/src/ui/commands/initCommand.js +0 -105
  176. package/dist/src/ui/commands/initCommand.js.map +0 -1
  177. package/dist/src/ui/commands/mcpCommand.d.ts +0 -7
  178. package/dist/src/ui/commands/mcpCommand.js +0 -424
  179. package/dist/src/ui/commands/mcpCommand.js.map +0 -1
  180. package/dist/src/ui/commands/memoryCommand.d.ts +0 -7
  181. package/dist/src/ui/commands/memoryCommand.js +0 -224
  182. package/dist/src/ui/commands/memoryCommand.js.map +0 -1
  183. package/dist/src/ui/commands/privacyCommand.d.ts +0 -7
  184. package/dist/src/ui/commands/privacyCommand.js +0 -16
  185. package/dist/src/ui/commands/privacyCommand.js.map +0 -1
  186. package/dist/src/ui/commands/quitCommand.d.ts +0 -7
  187. package/dist/src/ui/commands/quitCommand.js +0 -34
  188. package/dist/src/ui/commands/quitCommand.js.map +0 -1
  189. package/dist/src/ui/commands/restoreCommand.d.ts +0 -8
  190. package/dist/src/ui/commands/restoreCommand.js +0 -128
  191. package/dist/src/ui/commands/restoreCommand.js.map +0 -1
  192. package/dist/src/ui/commands/searchEngineSetupCommand.d.ts +0 -7
  193. package/dist/src/ui/commands/searchEngineSetupCommand.js +0 -17
  194. package/dist/src/ui/commands/searchEngineSetupCommand.js.map +0 -1
  195. package/dist/src/ui/commands/settingsCommand.d.ts +0 -7
  196. package/dist/src/ui/commands/settingsCommand.js +0 -16
  197. package/dist/src/ui/commands/settingsCommand.js.map +0 -1
  198. package/dist/src/ui/commands/setupGithubCommand.d.ts +0 -9
  199. package/dist/src/ui/commands/setupGithubCommand.js +0 -154
  200. package/dist/src/ui/commands/setupGithubCommand.js.map +0 -1
  201. package/dist/src/ui/commands/setupGithubCommand.test.d.ts +0 -6
  202. package/dist/src/ui/commands/setupGithubCommand.test.js +0 -167
  203. package/dist/src/ui/commands/setupGithubCommand.test.js.map +0 -1
  204. package/dist/src/ui/commands/speakCommand.d.ts +0 -7
  205. package/dist/src/ui/commands/speakCommand.js +0 -136
  206. package/dist/src/ui/commands/speakCommand.js.map +0 -1
  207. package/dist/src/ui/commands/statsCommand.d.ts +0 -7
  208. package/dist/src/ui/commands/statsCommand.js +0 -54
  209. package/dist/src/ui/commands/statsCommand.js.map +0 -1
  210. package/dist/src/ui/commands/terminalSetupCommand.d.ts +0 -13
  211. package/dist/src/ui/commands/terminalSetupCommand.js +0 -41
  212. package/dist/src/ui/commands/terminalSetupCommand.js.map +0 -1
  213. package/dist/src/ui/commands/themeCommand.d.ts +0 -7
  214. package/dist/src/ui/commands/themeCommand.js +0 -16
  215. package/dist/src/ui/commands/themeCommand.js.map +0 -1
  216. package/dist/src/ui/commands/toolsCommand.d.ts +0 -7
  217. package/dist/src/ui/commands/toolsCommand.js +0 -56
  218. package/dist/src/ui/commands/toolsCommand.js.map +0 -1
  219. package/dist/src/ui/commands/ttsCommand.d.ts +0 -7
  220. package/dist/src/ui/commands/ttsCommand.js +0 -122
  221. package/dist/src/ui/commands/ttsCommand.js.map +0 -1
  222. package/dist/src/ui/commands/types.d.ts +0 -157
  223. package/dist/src/ui/commands/types.js +0 -12
  224. package/dist/src/ui/commands/types.js.map +0 -1
  225. package/dist/src/ui/commands/vimCommand.d.ts +0 -7
  226. package/dist/src/ui/commands/vimCommand.js +0 -23
  227. package/dist/src/ui/commands/vimCommand.js.map +0 -1
  228. package/dist/src/ui/commands/voiceCommand.d.ts +0 -7
  229. package/dist/src/ui/commands/voiceCommand.js +0 -95
  230. package/dist/src/ui/commands/voiceCommand.js.map +0 -1
  231. package/dist/src/ui/components/AboutBox.d.ts +0 -17
  232. package/dist/src/ui/components/AboutBox.js +0 -6
  233. package/dist/src/ui/components/AboutBox.js.map +0 -1
  234. package/dist/src/ui/components/AsciiArt.d.ts +0 -8
  235. package/dist/src/ui/components/AsciiArt.js +0 -53
  236. package/dist/src/ui/components/AsciiArt.js.map +0 -1
  237. package/dist/src/ui/components/AuthDialog.d.ts +0 -15
  238. package/dist/src/ui/components/AuthDialog.js +0 -151
  239. package/dist/src/ui/components/AuthDialog.js.map +0 -1
  240. package/dist/src/ui/components/AuthDialog.test.d.ts +0 -6
  241. package/dist/src/ui/components/AuthDialog.test.js +0 -220
  242. package/dist/src/ui/components/AuthDialog.test.js.map +0 -1
  243. package/dist/src/ui/components/AuthInProgress.d.ts +0 -11
  244. package/dist/src/ui/components/AuthInProgress.js +0 -28
  245. package/dist/src/ui/components/AuthInProgress.js.map +0 -1
  246. package/dist/src/ui/components/AutoAcceptIndicator.d.ts +0 -12
  247. package/dist/src/ui/components/AutoAcceptIndicator.js +0 -26
  248. package/dist/src/ui/components/AutoAcceptIndicator.js.map +0 -1
  249. package/dist/src/ui/components/ConsoleSummaryDisplay.d.ts +0 -11
  250. package/dist/src/ui/components/ConsoleSummaryDisplay.js +0 -11
  251. package/dist/src/ui/components/ConsoleSummaryDisplay.js.map +0 -1
  252. package/dist/src/ui/components/ContextSummaryDisplay.d.ts +0 -20
  253. package/dist/src/ui/components/ContextSummaryDisplay.js +0 -65
  254. package/dist/src/ui/components/ContextSummaryDisplay.js.map +0 -1
  255. package/dist/src/ui/components/ContextUsageDisplay.d.ts +0 -9
  256. package/dist/src/ui/components/ContextUsageDisplay.js +0 -14
  257. package/dist/src/ui/components/ContextUsageDisplay.js.map +0 -1
  258. package/dist/src/ui/components/DebugProfiler.d.ts +0 -6
  259. package/dist/src/ui/components/DebugProfiler.js +0 -27
  260. package/dist/src/ui/components/DebugProfiler.js.map +0 -1
  261. package/dist/src/ui/components/DetailedMessagesDisplay.d.ts +0 -14
  262. package/dist/src/ui/components/DetailedMessagesDisplay.js +0 -34
  263. package/dist/src/ui/components/DetailedMessagesDisplay.js.map +0 -1
  264. package/dist/src/ui/components/EditorSettingsDialog.d.ts +0 -15
  265. package/dist/src/ui/components/EditorSettingsDialog.js +0 -74
  266. package/dist/src/ui/components/EditorSettingsDialog.js.map +0 -1
  267. package/dist/src/ui/components/FolderTrustDialog.d.ts +0 -16
  268. package/dist/src/ui/components/FolderTrustDialog.js +0 -39
  269. package/dist/src/ui/components/FolderTrustDialog.js.map +0 -1
  270. package/dist/src/ui/components/FolderTrustDialog.test.d.ts +0 -6
  271. package/dist/src/ui/components/FolderTrustDialog.test.js +0 -26
  272. package/dist/src/ui/components/FolderTrustDialog.test.js.map +0 -1
  273. package/dist/src/ui/components/Footer.d.ts +0 -23
  274. package/dist/src/ui/components/Footer.js +0 -25
  275. package/dist/src/ui/components/Footer.js.map +0 -1
  276. package/dist/src/ui/components/GeminiRespondingSpinner.d.ts +0 -17
  277. package/dist/src/ui/components/GeminiRespondingSpinner.js +0 -16
  278. package/dist/src/ui/components/GeminiRespondingSpinner.js.map +0 -1
  279. package/dist/src/ui/components/Header.d.ts +0 -13
  280. package/dist/src/ui/components/Header.js +0 -28
  281. package/dist/src/ui/components/Header.js.map +0 -1
  282. package/dist/src/ui/components/Header.test.d.ts +0 -6
  283. package/dist/src/ui/components/Header.test.js +0 -37
  284. package/dist/src/ui/components/Header.test.js.map +0 -1
  285. package/dist/src/ui/components/Help.d.ts +0 -12
  286. package/dist/src/ui/components/Help.js +0 -10
  287. package/dist/src/ui/components/Help.js.map +0 -1
  288. package/dist/src/ui/components/HistoryItemDisplay.d.ts +0 -20
  289. package/dist/src/ui/components/HistoryItemDisplay.js +0 -18
  290. package/dist/src/ui/components/HistoryItemDisplay.js.map +0 -1
  291. package/dist/src/ui/components/HistoryItemDisplay.test.d.ts +0 -6
  292. package/dist/src/ui/components/HistoryItemDisplay.test.js +0 -91
  293. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +0 -1
  294. package/dist/src/ui/components/InputPrompt.d.ts +0 -28
  295. package/dist/src/ui/components/InputPrompt.js +0 -440
  296. package/dist/src/ui/components/InputPrompt.js.map +0 -1
  297. package/dist/src/ui/components/LMStudioModelPrompt.d.ts +0 -12
  298. package/dist/src/ui/components/LMStudioModelPrompt.js +0 -100
  299. package/dist/src/ui/components/LMStudioModelPrompt.js.map +0 -1
  300. package/dist/src/ui/components/LoadingIndicator.d.ts +0 -15
  301. package/dist/src/ui/components/LoadingIndicator.js +0 -25
  302. package/dist/src/ui/components/LoadingIndicator.js.map +0 -1
  303. package/dist/src/ui/components/LoadingIndicator.test.d.ts +0 -6
  304. package/dist/src/ui/components/LoadingIndicator.test.js +0 -190
  305. package/dist/src/ui/components/LoadingIndicator.test.js.map +0 -1
  306. package/dist/src/ui/components/MemoryUsageDisplay.d.ts +0 -7
  307. package/dist/src/ui/components/MemoryUsageDisplay.js +0 -27
  308. package/dist/src/ui/components/MemoryUsageDisplay.js.map +0 -1
  309. package/dist/src/ui/components/ModelStatsDisplay.d.ts +0 -7
  310. package/dist/src/ui/components/ModelStatsDisplay.js +0 -33
  311. package/dist/src/ui/components/ModelStatsDisplay.js.map +0 -1
  312. package/dist/src/ui/components/OllamaModelPrompt.d.ts +0 -12
  313. package/dist/src/ui/components/OllamaModelPrompt.js +0 -94
  314. package/dist/src/ui/components/OllamaModelPrompt.js.map +0 -1
  315. package/dist/src/ui/components/OpenAIKeyPrompt.d.ts +0 -12
  316. package/dist/src/ui/components/OpenAIKeyPrompt.js +0 -118
  317. package/dist/src/ui/components/OpenAIKeyPrompt.js.map +0 -1
  318. package/dist/src/ui/components/OpenAIKeyPrompt.test.d.ts +0 -6
  319. package/dist/src/ui/components/OpenAIKeyPrompt.test.js +0 -44
  320. package/dist/src/ui/components/OpenAIKeyPrompt.test.js.map +0 -1
  321. package/dist/src/ui/components/PrepareLabel.d.ts +0 -15
  322. package/dist/src/ui/components/PrepareLabel.js +0 -16
  323. package/dist/src/ui/components/PrepareLabel.js.map +0 -1
  324. package/dist/src/ui/components/QwenOAuthProgress.d.ts +0 -16
  325. package/dist/src/ui/components/QwenOAuthProgress.js +0 -108
  326. package/dist/src/ui/components/QwenOAuthProgress.js.map +0 -1
  327. package/dist/src/ui/components/QwenOAuthProgress.test.d.ts +0 -6
  328. package/dist/src/ui/components/QwenOAuthProgress.test.js +0 -290
  329. package/dist/src/ui/components/QwenOAuthProgress.test.js.map +0 -1
  330. package/dist/src/ui/components/SearchEngineConfigDialog.d.ts +0 -18
  331. package/dist/src/ui/components/SearchEngineConfigDialog.js +0 -148
  332. package/dist/src/ui/components/SearchEngineConfigDialog.js.map +0 -1
  333. package/dist/src/ui/components/SessionSummaryDisplay.d.ts +0 -11
  334. package/dist/src/ui/components/SessionSummaryDisplay.js +0 -4
  335. package/dist/src/ui/components/SessionSummaryDisplay.js.map +0 -1
  336. package/dist/src/ui/components/SettingsDialog.d.ts +0 -14
  337. package/dist/src/ui/components/SettingsDialog.js +0 -519
  338. package/dist/src/ui/components/SettingsDialog.js.map +0 -1
  339. package/dist/src/ui/components/SettingsDialog.test.d.ts +0 -6
  340. package/dist/src/ui/components/SettingsDialog.test.js +0 -568
  341. package/dist/src/ui/components/SettingsDialog.test.js.map +0 -1
  342. package/dist/src/ui/components/ShellConfirmationDialog.d.ts +0 -15
  343. package/dist/src/ui/components/ShellConfirmationDialog.js +0 -46
  344. package/dist/src/ui/components/ShellConfirmationDialog.js.map +0 -1
  345. package/dist/src/ui/components/ShellConfirmationDialog.test.d.ts +0 -6
  346. package/dist/src/ui/components/ShellConfirmationDialog.test.js +0 -40
  347. package/dist/src/ui/components/ShellConfirmationDialog.test.js.map +0 -1
  348. package/dist/src/ui/components/ShellModeIndicator.d.ts +0 -7
  349. package/dist/src/ui/components/ShellModeIndicator.js +0 -5
  350. package/dist/src/ui/components/ShellModeIndicator.js.map +0 -1
  351. package/dist/src/ui/components/ShowMoreLines.d.ts +0 -10
  352. package/dist/src/ui/components/ShowMoreLines.js +0 -24
  353. package/dist/src/ui/components/ShowMoreLines.js.map +0 -1
  354. package/dist/src/ui/components/StatsDisplay.d.ts +0 -12
  355. package/dist/src/ui/components/StatsDisplay.js +0 -43
  356. package/dist/src/ui/components/StatsDisplay.js.map +0 -1
  357. package/dist/src/ui/components/SuggestionsDisplay.d.ts +0 -22
  358. package/dist/src/ui/components/SuggestionsDisplay.js +0 -32
  359. package/dist/src/ui/components/SuggestionsDisplay.js.map +0 -1
  360. package/dist/src/ui/components/ThemeDialog.d.ts +0 -19
  361. package/dist/src/ui/components/ThemeDialog.js +0 -143
  362. package/dist/src/ui/components/ThemeDialog.js.map +0 -1
  363. package/dist/src/ui/components/Tips.d.ts +0 -12
  364. package/dist/src/ui/components/Tips.js +0 -8
  365. package/dist/src/ui/components/Tips.js.map +0 -1
  366. package/dist/src/ui/components/TodoDisplay.d.ts +0 -16
  367. package/dist/src/ui/components/TodoDisplay.js +0 -27
  368. package/dist/src/ui/components/TodoDisplay.js.map +0 -1
  369. package/dist/src/ui/components/TodoDisplay.test.d.ts +0 -6
  370. package/dist/src/ui/components/TodoDisplay.test.js +0 -77
  371. package/dist/src/ui/components/TodoDisplay.test.js.map +0 -1
  372. package/dist/src/ui/components/ToolStatsDisplay.d.ts +0 -7
  373. package/dist/src/ui/components/ToolStatsDisplay.js +0 -41
  374. package/dist/src/ui/components/ToolStatsDisplay.js.map +0 -1
  375. package/dist/src/ui/components/UpdateNotification.d.ts +0 -10
  376. package/dist/src/ui/components/UpdateNotification.js +0 -10
  377. package/dist/src/ui/components/UpdateNotification.js.map +0 -1
  378. package/dist/src/ui/components/messages/CompressionMessage.d.ts +0 -11
  379. package/dist/src/ui/components/messages/CompressionMessage.js +0 -16
  380. package/dist/src/ui/components/messages/CompressionMessage.js.map +0 -1
  381. package/dist/src/ui/components/messages/DiffRenderer.d.ts +0 -16
  382. package/dist/src/ui/components/messages/DiffRenderer.js +0 -222
  383. package/dist/src/ui/components/messages/DiffRenderer.js.map +0 -1
  384. package/dist/src/ui/components/messages/DiffRenderer.test.d.ts +0 -6
  385. package/dist/src/ui/components/messages/DiffRenderer.test.js +0 -239
  386. package/dist/src/ui/components/messages/DiffRenderer.test.js.map +0 -1
  387. package/dist/src/ui/components/messages/ErrorMessage.d.ts +0 -11
  388. package/dist/src/ui/components/messages/ErrorMessage.js +0 -9
  389. package/dist/src/ui/components/messages/ErrorMessage.js.map +0 -1
  390. package/dist/src/ui/components/messages/GeminiMessage.d.ts +0 -14
  391. package/dist/src/ui/components/messages/GeminiMessage.js +0 -10
  392. package/dist/src/ui/components/messages/GeminiMessage.js.map +0 -1
  393. package/dist/src/ui/components/messages/GeminiMessageContent.d.ts +0 -14
  394. package/dist/src/ui/components/messages/GeminiMessageContent.js +0 -15
  395. package/dist/src/ui/components/messages/GeminiMessageContent.js.map +0 -1
  396. package/dist/src/ui/components/messages/InfoMessage.d.ts +0 -11
  397. package/dist/src/ui/components/messages/InfoMessage.js +0 -10
  398. package/dist/src/ui/components/messages/InfoMessage.js.map +0 -1
  399. package/dist/src/ui/components/messages/ToolConfirmationMessage.d.ts +0 -15
  400. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +0 -145
  401. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +0 -1
  402. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.d.ts +0 -6
  403. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +0 -37
  404. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +0 -1
  405. package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +0 -18
  406. package/dist/src/ui/components/messages/ToolGroupMessage.js +0 -55
  407. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +0 -1
  408. package/dist/src/ui/components/messages/ToolMessage.d.ts +0 -15
  409. package/dist/src/ui/components/messages/ToolMessage.js +0 -111
  410. package/dist/src/ui/components/messages/ToolMessage.js.map +0 -1
  411. package/dist/src/ui/components/messages/ToolMessage.test.d.ts +0 -6
  412. package/dist/src/ui/components/messages/ToolMessage.test.js +0 -118
  413. package/dist/src/ui/components/messages/ToolMessage.test.js.map +0 -1
  414. package/dist/src/ui/components/messages/UserMessage.d.ts +0 -11
  415. package/dist/src/ui/components/messages/UserMessage.js +0 -12
  416. package/dist/src/ui/components/messages/UserMessage.js.map +0 -1
  417. package/dist/src/ui/components/messages/UserShellMessage.d.ts +0 -11
  418. package/dist/src/ui/components/messages/UserShellMessage.js +0 -9
  419. package/dist/src/ui/components/messages/UserShellMessage.js.map +0 -1
  420. package/dist/src/ui/components/shared/MaxSizedBox.d.ts +0 -61
  421. package/dist/src/ui/components/shared/MaxSizedBox.js +0 -451
  422. package/dist/src/ui/components/shared/MaxSizedBox.js.map +0 -1
  423. package/dist/src/ui/components/shared/MaxSizedBox.test.d.ts +0 -6
  424. package/dist/src/ui/components/shared/MaxSizedBox.test.js +0 -154
  425. package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +0 -1
  426. package/dist/src/ui/components/shared/RadioButtonSelect.d.ts +0 -46
  427. package/dist/src/ui/components/shared/RadioButtonSelect.js +0 -121
  428. package/dist/src/ui/components/shared/RadioButtonSelect.js.map +0 -1
  429. package/dist/src/ui/components/shared/RadioButtonSelect.test.d.ts +0 -6
  430. package/dist/src/ui/components/shared/RadioButtonSelect.test.js +0 -111
  431. package/dist/src/ui/components/shared/RadioButtonSelect.test.js.map +0 -1
  432. package/dist/src/ui/components/shared/text-buffer.d.ts +0 -467
  433. package/dist/src/ui/components/shared/text-buffer.js +0 -1533
  434. package/dist/src/ui/components/shared/text-buffer.js.map +0 -1
  435. package/dist/src/ui/components/shared/vim-buffer-actions.d.ts +0 -72
  436. package/dist/src/ui/components/shared/vim-buffer-actions.js +0 -552
  437. package/dist/src/ui/components/shared/vim-buffer-actions.js.map +0 -1
  438. package/dist/src/ui/constants.d.ts +0 -9
  439. package/dist/src/ui/constants.js +0 -13
  440. package/dist/src/ui/constants.js.map +0 -1
  441. package/dist/src/ui/contexts/KeypressContext.d.ts +0 -30
  442. package/dist/src/ui/contexts/KeypressContext.js +0 -331
  443. package/dist/src/ui/contexts/KeypressContext.js.map +0 -1
  444. package/dist/src/ui/contexts/KeypressContext.test.d.ts +0 -6
  445. package/dist/src/ui/contexts/KeypressContext.test.js +0 -275
  446. package/dist/src/ui/contexts/KeypressContext.test.js.map +0 -1
  447. package/dist/src/ui/contexts/OverflowContext.d.ts +0 -19
  448. package/dist/src/ui/contexts/OverflowContext.js +0 -43
  449. package/dist/src/ui/contexts/OverflowContext.js.map +0 -1
  450. package/dist/src/ui/contexts/SessionContext.d.ts +0 -39
  451. package/dist/src/ui/contexts/SessionContext.js +0 -60
  452. package/dist/src/ui/contexts/SessionContext.js.map +0 -1
  453. package/dist/src/ui/contexts/SettingsContext.d.ts +0 -9
  454. package/dist/src/ui/contexts/SettingsContext.js +0 -15
  455. package/dist/src/ui/contexts/SettingsContext.js.map +0 -1
  456. package/dist/src/ui/contexts/StreamingContext.d.ts +0 -9
  457. package/dist/src/ui/contexts/StreamingContext.js +0 -15
  458. package/dist/src/ui/contexts/StreamingContext.js.map +0 -1
  459. package/dist/src/ui/contexts/VimModeContext.d.ts +0 -19
  460. package/dist/src/ui/contexts/VimModeContext.js +0 -48
  461. package/dist/src/ui/contexts/VimModeContext.js.map +0 -1
  462. package/dist/src/ui/editors/editorSettingsManager.d.ts +0 -19
  463. package/dist/src/ui/editors/editorSettingsManager.js +0 -47
  464. package/dist/src/ui/editors/editorSettingsManager.js.map +0 -1
  465. package/dist/src/ui/hooks/atCommandProcessor.d.ts +0 -31
  466. package/dist/src/ui/hooks/atCommandProcessor.js +0 -365
  467. package/dist/src/ui/hooks/atCommandProcessor.js.map +0 -1
  468. package/dist/src/ui/hooks/atCommandProcessor.test.d.ts +0 -6
  469. package/dist/src/ui/hooks/atCommandProcessor.test.js +0 -824
  470. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +0 -1
  471. package/dist/src/ui/hooks/shellCommandProcessor.d.ts +0 -17
  472. package/dist/src/ui/hooks/shellCommandProcessor.js +0 -233
  473. package/dist/src/ui/hooks/shellCommandProcessor.js.map +0 -1
  474. package/dist/src/ui/hooks/shellCommandProcessor.test.d.ts +0 -6
  475. package/dist/src/ui/hooks/shellCommandProcessor.test.js +0 -328
  476. package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +0 -1
  477. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +0 -28
  478. package/dist/src/ui/hooks/slashCommandProcessor.js +0 -459
  479. package/dist/src/ui/hooks/slashCommandProcessor.js.map +0 -1
  480. package/dist/src/ui/hooks/useAtCompletion.d.ts +0 -23
  481. package/dist/src/ui/hooks/useAtCompletion.js +0 -179
  482. package/dist/src/ui/hooks/useAtCompletion.js.map +0 -1
  483. package/dist/src/ui/hooks/useAuthCommand.d.ts +0 -14
  484. package/dist/src/ui/hooks/useAuthCommand.js +0 -100
  485. package/dist/src/ui/hooks/useAuthCommand.js.map +0 -1
  486. package/dist/src/ui/hooks/useAutoAcceptIndicator.d.ts +0 -10
  487. package/dist/src/ui/hooks/useAutoAcceptIndicator.js +0 -37
  488. package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +0 -1
  489. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.d.ts +0 -6
  490. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +0 -190
  491. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +0 -1
  492. package/dist/src/ui/hooks/useBracketedPaste.d.ts +0 -12
  493. package/dist/src/ui/hooks/useBracketedPaste.js +0 -32
  494. package/dist/src/ui/hooks/useBracketedPaste.js.map +0 -1
  495. package/dist/src/ui/hooks/useCommandCompletion.d.ts +0 -29
  496. package/dist/src/ui/hooks/useCommandCompletion.js +0 -165
  497. package/dist/src/ui/hooks/useCommandCompletion.js.map +0 -1
  498. package/dist/src/ui/hooks/useCompletion.d.ts +0 -24
  499. package/dist/src/ui/hooks/useCompletion.js +0 -88
  500. package/dist/src/ui/hooks/useCompletion.js.map +0 -1
  501. package/dist/src/ui/hooks/useConsoleMessages.d.ts +0 -12
  502. package/dist/src/ui/hooks/useConsoleMessages.js +0 -76
  503. package/dist/src/ui/hooks/useConsoleMessages.js.map +0 -1
  504. package/dist/src/ui/hooks/useEditorSettings.d.ts +0 -16
  505. package/dist/src/ui/hooks/useEditorSettings.js +0 -43
  506. package/dist/src/ui/hooks/useEditorSettings.js.map +0 -1
  507. package/dist/src/ui/hooks/useEditorSettings.test.d.ts +0 -6
  508. package/dist/src/ui/hooks/useEditorSettings.test.js +0 -164
  509. package/dist/src/ui/hooks/useEditorSettings.test.js.map +0 -1
  510. package/dist/src/ui/hooks/useFocus.d.ts +0 -10
  511. package/dist/src/ui/hooks/useFocus.js +0 -41
  512. package/dist/src/ui/hooks/useFocus.js.map +0 -1
  513. package/dist/src/ui/hooks/useFolderTrust.d.ts +0 -12
  514. package/dist/src/ui/hooks/useFolderTrust.js +0 -55
  515. package/dist/src/ui/hooks/useFolderTrust.js.map +0 -1
  516. package/dist/src/ui/hooks/useGeminiStream.d.ts +0 -24
  517. package/dist/src/ui/hooks/useGeminiStream.js +0 -653
  518. package/dist/src/ui/hooks/useGeminiStream.js.map +0 -1
  519. package/dist/src/ui/hooks/useGitBranchName.d.ts +0 -6
  520. package/dist/src/ui/hooks/useGitBranchName.js +0 -61
  521. package/dist/src/ui/hooks/useGitBranchName.js.map +0 -1
  522. package/dist/src/ui/hooks/useGitBranchName.test.d.ts +0 -6
  523. package/dist/src/ui/hooks/useGitBranchName.test.js +0 -215
  524. package/dist/src/ui/hooks/useGitBranchName.test.js.map +0 -1
  525. package/dist/src/ui/hooks/useHistoryManager.d.ts +0 -22
  526. package/dist/src/ui/hooks/useHistoryManager.js +0 -72
  527. package/dist/src/ui/hooks/useHistoryManager.js.map +0 -1
  528. package/dist/src/ui/hooks/useHistoryManager.test.d.ts +0 -6
  529. package/dist/src/ui/hooks/useHistoryManager.test.js +0 -171
  530. package/dist/src/ui/hooks/useHistoryManager.test.js.map +0 -1
  531. package/dist/src/ui/hooks/useInputHistory.d.ts +0 -19
  532. package/dist/src/ui/hooks/useInputHistory.js +0 -84
  533. package/dist/src/ui/hooks/useInputHistory.js.map +0 -1
  534. package/dist/src/ui/hooks/useInputHistory.test.d.ts +0 -6
  535. package/dist/src/ui/hooks/useInputHistory.test.js +0 -207
  536. package/dist/src/ui/hooks/useInputHistory.test.js.map +0 -1
  537. package/dist/src/ui/hooks/useKeypress.d.ts +0 -17
  538. package/dist/src/ui/hooks/useKeypress.js +0 -27
  539. package/dist/src/ui/hooks/useKeypress.js.map +0 -1
  540. package/dist/src/ui/hooks/useKittyKeyboardProtocol.d.ts +0 -15
  541. package/dist/src/ui/hooks/useKittyKeyboardProtocol.js +0 -20
  542. package/dist/src/ui/hooks/useKittyKeyboardProtocol.js.map +0 -1
  543. package/dist/src/ui/hooks/useLoadingIndicator.d.ts +0 -10
  544. package/dist/src/ui/hooks/useLoadingIndicator.js +0 -44
  545. package/dist/src/ui/hooks/useLoadingIndicator.js.map +0 -1
  546. package/dist/src/ui/hooks/useLoadingIndicator.test.d.ts +0 -6
  547. package/dist/src/ui/hooks/useLoadingIndicator.test.js +0 -91
  548. package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +0 -1
  549. package/dist/src/ui/hooks/useLogger.d.ts +0 -10
  550. package/dist/src/ui/hooks/useLogger.js +0 -29
  551. package/dist/src/ui/hooks/useLogger.js.map +0 -1
  552. package/dist/src/ui/hooks/useMessageQueue.d.ts +0 -22
  553. package/dist/src/ui/hooks/useMessageQueue.js +0 -49
  554. package/dist/src/ui/hooks/useMessageQueue.js.map +0 -1
  555. package/dist/src/ui/hooks/useMessageQueue.test.d.ts +0 -6
  556. package/dist/src/ui/hooks/useMessageQueue.test.js +0 -158
  557. package/dist/src/ui/hooks/useMessageQueue.test.js.map +0 -1
  558. package/dist/src/ui/hooks/usePhraseCycler.d.ts +0 -14
  559. package/dist/src/ui/hooks/usePhraseCycler.js +0 -187
  560. package/dist/src/ui/hooks/usePhraseCycler.js.map +0 -1
  561. package/dist/src/ui/hooks/usePrivacySettings.d.ts +0 -16
  562. package/dist/src/ui/hooks/usePrivacySettings.js +0 -119
  563. package/dist/src/ui/hooks/usePrivacySettings.js.map +0 -1
  564. package/dist/src/ui/hooks/usePrivacySettings.test.d.ts +0 -6
  565. package/dist/src/ui/hooks/usePrivacySettings.test.js +0 -154
  566. package/dist/src/ui/hooks/usePrivacySettings.test.js.map +0 -1
  567. package/dist/src/ui/hooks/useQwenAuth.d.ts +0 -20
  568. package/dist/src/ui/hooks/useQwenAuth.js +0 -78
  569. package/dist/src/ui/hooks/useQwenAuth.js.map +0 -1
  570. package/dist/src/ui/hooks/useQwenAuth.test.d.ts +0 -6
  571. package/dist/src/ui/hooks/useQwenAuth.test.js +0 -288
  572. package/dist/src/ui/hooks/useQwenAuth.test.js.map +0 -1
  573. package/dist/src/ui/hooks/useReactToolScheduler.d.ts +0 -33
  574. package/dist/src/ui/hooks/useReactToolScheduler.js +0 -187
  575. package/dist/src/ui/hooks/useReactToolScheduler.js.map +0 -1
  576. package/dist/src/ui/hooks/useRefreshMemoryCommand.d.ts +0 -6
  577. package/dist/src/ui/hooks/useRefreshMemoryCommand.js +0 -7
  578. package/dist/src/ui/hooks/useRefreshMemoryCommand.js.map +0 -1
  579. package/dist/src/ui/hooks/useReverseSearchCompletion.d.ts +0 -19
  580. package/dist/src/ui/hooks/useReverseSearchCompletion.js +0 -56
  581. package/dist/src/ui/hooks/useReverseSearchCompletion.js.map +0 -1
  582. package/dist/src/ui/hooks/useReverseSearchCompletion.test.d.ts +0 -6
  583. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js +0 -163
  584. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js.map +0 -1
  585. package/dist/src/ui/hooks/useSettingsCommand.d.ts +0 -10
  586. package/dist/src/ui/hooks/useSettingsCommand.js +0 -21
  587. package/dist/src/ui/hooks/useSettingsCommand.js.map +0 -1
  588. package/dist/src/ui/hooks/useShellHistory.d.ts +0 -13
  589. package/dist/src/ui/hooks/useShellHistory.js +0 -112
  590. package/dist/src/ui/hooks/useShellHistory.js.map +0 -1
  591. package/dist/src/ui/hooks/useShellHistory.test.d.ts +0 -6
  592. package/dist/src/ui/hooks/useShellHistory.test.js +0 -162
  593. package/dist/src/ui/hooks/useShellHistory.test.js.map +0 -1
  594. package/dist/src/ui/hooks/useShowMemoryCommand.d.ts +0 -9
  595. package/dist/src/ui/hooks/useShowMemoryCommand.js +0 -58
  596. package/dist/src/ui/hooks/useShowMemoryCommand.js.map +0 -1
  597. package/dist/src/ui/hooks/useSlashCompletion.d.ts +0 -20
  598. package/dist/src/ui/hooks/useSlashCompletion.js +0 -135
  599. package/dist/src/ui/hooks/useSlashCompletion.js.map +0 -1
  600. package/dist/src/ui/hooks/useSlashCompletion.test.d.ts +0 -6
  601. package/dist/src/ui/hooks/useSlashCompletion.test.js +0 -272
  602. package/dist/src/ui/hooks/useSlashCompletion.test.js.map +0 -1
  603. package/dist/src/ui/hooks/useStateAndRef.d.ts +0 -7
  604. package/dist/src/ui/hooks/useStateAndRef.js +0 -26
  605. package/dist/src/ui/hooks/useStateAndRef.js.map +0 -1
  606. package/dist/src/ui/hooks/useTerminalSize.d.ts +0 -9
  607. package/dist/src/ui/hooks/useTerminalSize.js +0 -27
  608. package/dist/src/ui/hooks/useTerminalSize.js.map +0 -1
  609. package/dist/src/ui/hooks/useThemeCommand.d.ts +0 -15
  610. package/dist/src/ui/hooks/useThemeCommand.js +0 -79
  611. package/dist/src/ui/hooks/useThemeCommand.js.map +0 -1
  612. package/dist/src/ui/hooks/useTimer.d.ts +0 -12
  613. package/dist/src/ui/hooks/useTimer.js +0 -58
  614. package/dist/src/ui/hooks/useTimer.js.map +0 -1
  615. package/dist/src/ui/hooks/useTimer.test.d.ts +0 -6
  616. package/dist/src/ui/hooks/useTimer.test.js +0 -90
  617. package/dist/src/ui/hooks/useTimer.test.js.map +0 -1
  618. package/dist/src/ui/hooks/useToolScheduler.test.d.ts +0 -6
  619. package/dist/src/ui/hooks/useToolScheduler.test.js +0 -845
  620. package/dist/src/ui/hooks/useToolScheduler.test.js.map +0 -1
  621. package/dist/src/ui/hooks/vim.d.ts +0 -28
  622. package/dist/src/ui/hooks/vim.js +0 -639
  623. package/dist/src/ui/hooks/vim.js.map +0 -1
  624. package/dist/src/ui/keyMatchers.d.ts +0 -26
  625. package/dist/src/ui/keyMatchers.js +0 -68
  626. package/dist/src/ui/keyMatchers.js.map +0 -1
  627. package/dist/src/ui/keyMatchers.test.d.ts +0 -6
  628. package/dist/src/ui/keyMatchers.test.js +0 -276
  629. package/dist/src/ui/keyMatchers.test.js.map +0 -1
  630. package/dist/src/ui/privacy/CloudFreePrivacyNotice.d.ts +0 -12
  631. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +0 -41
  632. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +0 -1
  633. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.d.ts +0 -10
  634. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js +0 -18
  635. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js.map +0 -1
  636. package/dist/src/ui/privacy/GeminiPrivacyNotice.d.ts +0 -10
  637. package/dist/src/ui/privacy/GeminiPrivacyNotice.js +0 -18
  638. package/dist/src/ui/privacy/GeminiPrivacyNotice.js.map +0 -1
  639. package/dist/src/ui/privacy/PrivacyNotice.d.ts +0 -12
  640. package/dist/src/ui/privacy/PrivacyNotice.js +0 -25
  641. package/dist/src/ui/privacy/PrivacyNotice.js.map +0 -1
  642. package/dist/src/ui/semantic-colors.d.ts +0 -7
  643. package/dist/src/ui/semantic-colors.js +0 -24
  644. package/dist/src/ui/semantic-colors.js.map +0 -1
  645. package/dist/src/ui/themes/ansi-light.d.ts +0 -7
  646. package/dist/src/ui/themes/ansi-light.js +0 -142
  647. package/dist/src/ui/themes/ansi-light.js.map +0 -1
  648. package/dist/src/ui/themes/ansi.d.ts +0 -7
  649. package/dist/src/ui/themes/ansi.js +0 -152
  650. package/dist/src/ui/themes/ansi.js.map +0 -1
  651. package/dist/src/ui/themes/atom-one-dark.d.ts +0 -7
  652. package/dist/src/ui/themes/atom-one-dark.js +0 -139
  653. package/dist/src/ui/themes/atom-one-dark.js.map +0 -1
  654. package/dist/src/ui/themes/ayu-light.d.ts +0 -7
  655. package/dist/src/ui/themes/ayu-light.js +0 -131
  656. package/dist/src/ui/themes/ayu-light.js.map +0 -1
  657. package/dist/src/ui/themes/ayu.d.ts +0 -7
  658. package/dist/src/ui/themes/ayu.js +0 -105
  659. package/dist/src/ui/themes/ayu.js.map +0 -1
  660. package/dist/src/ui/themes/color-utils.d.ts +0 -21
  661. package/dist/src/ui/themes/color-utils.js +0 -221
  662. package/dist/src/ui/themes/color-utils.js.map +0 -1
  663. package/dist/src/ui/themes/color-utils.test.d.ts +0 -6
  664. package/dist/src/ui/themes/color-utils.test.js +0 -197
  665. package/dist/src/ui/themes/color-utils.test.js.map +0 -1
  666. package/dist/src/ui/themes/default-light.d.ts +0 -7
  667. package/dist/src/ui/themes/default-light.js +0 -101
  668. package/dist/src/ui/themes/default-light.js.map +0 -1
  669. package/dist/src/ui/themes/default.d.ts +0 -7
  670. package/dist/src/ui/themes/default.js +0 -144
  671. package/dist/src/ui/themes/default.js.map +0 -1
  672. package/dist/src/ui/themes/dracula.d.ts +0 -7
  673. package/dist/src/ui/themes/dracula.js +0 -116
  674. package/dist/src/ui/themes/dracula.js.map +0 -1
  675. package/dist/src/ui/themes/fss-code-dark.d.ts +0 -7
  676. package/dist/src/ui/themes/fss-code-dark.js +0 -148
  677. package/dist/src/ui/themes/fss-code-dark.js.map +0 -1
  678. package/dist/src/ui/themes/fss-dark.d.ts +0 -7
  679. package/dist/src/ui/themes/fss-dark.js +0 -105
  680. package/dist/src/ui/themes/fss-dark.js.map +0 -1
  681. package/dist/src/ui/themes/fss-light.d.ts +0 -7
  682. package/dist/src/ui/themes/fss-light.js +0 -131
  683. package/dist/src/ui/themes/fss-light.js.map +0 -1
  684. package/dist/src/ui/themes/github-dark.d.ts +0 -7
  685. package/dist/src/ui/themes/github-dark.js +0 -139
  686. package/dist/src/ui/themes/github-dark.js.map +0 -1
  687. package/dist/src/ui/themes/github-light.d.ts +0 -7
  688. package/dist/src/ui/themes/github-light.js +0 -141
  689. package/dist/src/ui/themes/github-light.js.map +0 -1
  690. package/dist/src/ui/themes/googlecode.d.ts +0 -7
  691. package/dist/src/ui/themes/googlecode.js +0 -138
  692. package/dist/src/ui/themes/googlecode.js.map +0 -1
  693. package/dist/src/ui/themes/no-color.d.ts +0 -7
  694. package/dist/src/ui/themes/no-color.js +0 -115
  695. package/dist/src/ui/themes/no-color.js.map +0 -1
  696. package/dist/src/ui/themes/qwen-dark.d.ts +0 -7
  697. package/dist/src/ui/themes/qwen-dark.js +0 -105
  698. package/dist/src/ui/themes/qwen-dark.js.map +0 -1
  699. package/dist/src/ui/themes/qwen-light.d.ts +0 -7
  700. package/dist/src/ui/themes/qwen-light.js +0 -131
  701. package/dist/src/ui/themes/qwen-light.js.map +0 -1
  702. package/dist/src/ui/themes/semantic-tokens.d.ts +0 -37
  703. package/dist/src/ui/themes/semantic-tokens.js +0 -94
  704. package/dist/src/ui/themes/semantic-tokens.js.map +0 -1
  705. package/dist/src/ui/themes/shades-of-purple.d.ts +0 -11
  706. package/dist/src/ui/themes/shades-of-purple.js +0 -305
  707. package/dist/src/ui/themes/shades-of-purple.js.map +0 -1
  708. package/dist/src/ui/themes/theme-manager.d.ts +0 -64
  709. package/dist/src/ui/themes/theme-manager.js +0 -209
  710. package/dist/src/ui/themes/theme-manager.js.map +0 -1
  711. package/dist/src/ui/themes/theme-manager.test.d.ts +0 -6
  712. package/dist/src/ui/themes/theme-manager.test.js +0 -83
  713. package/dist/src/ui/themes/theme-manager.test.js.map +0 -1
  714. package/dist/src/ui/themes/theme.d.ts +0 -130
  715. package/dist/src/ui/themes/theme.js +0 -351
  716. package/dist/src/ui/themes/theme.js.map +0 -1
  717. package/dist/src/ui/themes/xcode.d.ts +0 -7
  718. package/dist/src/ui/themes/xcode.js +0 -146
  719. package/dist/src/ui/themes/xcode.js.map +0 -1
  720. package/dist/src/ui/types.d.ts +0 -191
  721. package/dist/src/ui/types.js +0 -44
  722. package/dist/src/ui/types.js.map +0 -1
  723. package/dist/src/ui/utils/CodeColorizer.d.ts +0 -17
  724. package/dist/src/ui/utils/CodeColorizer.js +0 -110
  725. package/dist/src/ui/utils/CodeColorizer.js.map +0 -1
  726. package/dist/src/ui/utils/ConsolePatcher.d.ts +0 -25
  727. package/dist/src/ui/utils/ConsolePatcher.js +0 -52
  728. package/dist/src/ui/utils/ConsolePatcher.js.map +0 -1
  729. package/dist/src/ui/utils/InlineMarkdownRenderer.d.ts +0 -16
  730. package/dist/src/ui/utils/InlineMarkdownRenderer.js +0 -111
  731. package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +0 -1
  732. package/dist/src/ui/utils/MarkdownDisplay.d.ts +0 -14
  733. package/dist/src/ui/utils/MarkdownDisplay.js +0 -207
  734. package/dist/src/ui/utils/MarkdownDisplay.js.map +0 -1
  735. package/dist/src/ui/utils/MarkdownDisplay.test.d.ts +0 -6
  736. package/dist/src/ui/utils/MarkdownDisplay.test.js +0 -151
  737. package/dist/src/ui/utils/MarkdownDisplay.test.js.map +0 -1
  738. package/dist/src/ui/utils/TableRenderer.d.ts +0 -17
  739. package/dist/src/ui/utils/TableRenderer.js +0 -84
  740. package/dist/src/ui/utils/TableRenderer.js.map +0 -1
  741. package/dist/src/ui/utils/clipboardUtils.d.ts +0 -22
  742. package/dist/src/ui/utils/clipboardUtils.js +0 -127
  743. package/dist/src/ui/utils/clipboardUtils.js.map +0 -1
  744. package/dist/src/ui/utils/clipboardUtils.test.d.ts +0 -6
  745. package/dist/src/ui/utils/clipboardUtils.test.js +0 -65
  746. package/dist/src/ui/utils/clipboardUtils.test.js.map +0 -1
  747. package/dist/src/ui/utils/commandUtils.d.ts +0 -24
  748. package/dist/src/ui/utils/commandUtils.js +0 -93
  749. package/dist/src/ui/utils/commandUtils.js.map +0 -1
  750. package/dist/src/ui/utils/commandUtils.test.d.ts +0 -6
  751. package/dist/src/ui/utils/commandUtils.test.js +0 -294
  752. package/dist/src/ui/utils/commandUtils.test.js.map +0 -1
  753. package/dist/src/ui/utils/computeStats.d.ts +0 -10
  754. package/dist/src/ui/utils/computeStats.js +0 -57
  755. package/dist/src/ui/utils/computeStats.js.map +0 -1
  756. package/dist/src/ui/utils/displayUtils.d.ts +0 -17
  757. package/dist/src/ui/utils/displayUtils.js +0 -24
  758. package/dist/src/ui/utils/displayUtils.js.map +0 -1
  759. package/dist/src/ui/utils/displayUtils.test.d.ts +0 -6
  760. package/dist/src/ui/utils/displayUtils.test.js +0 -42
  761. package/dist/src/ui/utils/displayUtils.test.js.map +0 -1
  762. package/dist/src/ui/utils/formatters.d.ts +0 -13
  763. package/dist/src/ui/utils/formatters.js +0 -56
  764. package/dist/src/ui/utils/formatters.js.map +0 -1
  765. package/dist/src/ui/utils/formatters.test.d.ts +0 -6
  766. package/dist/src/ui/utils/formatters.test.js +0 -56
  767. package/dist/src/ui/utils/formatters.test.js.map +0 -1
  768. package/dist/src/ui/utils/isNarrowWidth.d.ts +0 -6
  769. package/dist/src/ui/utils/isNarrowWidth.js +0 -9
  770. package/dist/src/ui/utils/isNarrowWidth.js.map +0 -1
  771. package/dist/src/ui/utils/kittyProtocolDetector.d.ts +0 -13
  772. package/dist/src/ui/utils/kittyProtocolDetector.js +0 -88
  773. package/dist/src/ui/utils/kittyProtocolDetector.js.map +0 -1
  774. package/dist/src/ui/utils/markdownUtilities.d.ts +0 -6
  775. package/dist/src/ui/utils/markdownUtilities.js +0 -110
  776. package/dist/src/ui/utils/markdownUtilities.js.map +0 -1
  777. package/dist/src/ui/utils/markdownUtilities.test.d.ts +0 -6
  778. package/dist/src/ui/utils/markdownUtilities.test.js +0 -42
  779. package/dist/src/ui/utils/markdownUtilities.test.js.map +0 -1
  780. package/dist/src/ui/utils/platformConstants.d.ts +0 -45
  781. package/dist/src/ui/utils/platformConstants.js +0 -46
  782. package/dist/src/ui/utils/platformConstants.js.map +0 -1
  783. package/dist/src/ui/utils/terminalSetup.d.ts +0 -30
  784. package/dist/src/ui/utils/terminalSetup.js +0 -281
  785. package/dist/src/ui/utils/terminalSetup.js.map +0 -1
  786. package/dist/src/ui/utils/textUtils.d.ts +0 -14
  787. package/dist/src/ui/utils/textUtils.js +0 -36
  788. package/dist/src/ui/utils/textUtils.js.map +0 -1
  789. package/dist/src/ui/utils/updateCheck.d.ts +0 -12
  790. package/dist/src/ui/utils/updateCheck.js +0 -78
  791. package/dist/src/ui/utils/updateCheck.js.map +0 -1
  792. package/dist/src/ui/utils/updateCheck.test.d.ts +0 -6
  793. package/dist/src/ui/utils/updateCheck.test.js +0 -145
  794. package/dist/src/ui/utils/updateCheck.test.js.map +0 -1
  795. package/dist/src/utils/checks.d.ts +0 -19
  796. package/dist/src/utils/checks.js +0 -24
  797. package/dist/src/utils/checks.js.map +0 -1
  798. package/dist/src/utils/cleanup.d.ts +0 -8
  799. package/dist/src/utils/cleanup.js +0 -34
  800. package/dist/src/utils/cleanup.js.map +0 -1
  801. package/dist/src/utils/dialogScopeUtils.d.ts +0 -31
  802. package/dist/src/utils/dialogScopeUtils.js +0 -48
  803. package/dist/src/utils/dialogScopeUtils.js.map +0 -1
  804. package/dist/src/utils/events.d.ts +0 -11
  805. package/dist/src/utils/events.js +0 -13
  806. package/dist/src/utils/events.js.map +0 -1
  807. package/dist/src/utils/gitUtils.d.ts +0 -30
  808. package/dist/src/utils/gitUtils.js +0 -89
  809. package/dist/src/utils/gitUtils.js.map +0 -1
  810. package/dist/src/utils/gitUtils.test.d.ts +0 -6
  811. package/dist/src/utils/gitUtils.test.js +0 -113
  812. package/dist/src/utils/gitUtils.test.js.map +0 -1
  813. package/dist/src/utils/handleAutoUpdate.d.ts +0 -11
  814. package/dist/src/utils/handleAutoUpdate.js +0 -101
  815. package/dist/src/utils/handleAutoUpdate.js.map +0 -1
  816. package/dist/src/utils/installationInfo.d.ts +0 -23
  817. package/dist/src/utils/installationInfo.js +0 -153
  818. package/dist/src/utils/installationInfo.js.map +0 -1
  819. package/dist/src/utils/installationInfo.test.d.ts +0 -6
  820. package/dist/src/utils/installationInfo.test.js +0 -242
  821. package/dist/src/utils/installationInfo.test.js.map +0 -1
  822. package/dist/src/utils/package.d.ts +0 -12
  823. package/dist/src/utils/package.js +0 -24
  824. package/dist/src/utils/package.js.map +0 -1
  825. package/dist/src/utils/readStdin.d.ts +0 -6
  826. package/dist/src/utils/readStdin.js +0 -44
  827. package/dist/src/utils/readStdin.js.map +0 -1
  828. package/dist/src/utils/resolvePath.d.ts +0 -6
  829. package/dist/src/utils/resolvePath.js +0 -21
  830. package/dist/src/utils/resolvePath.js.map +0 -1
  831. package/dist/src/utils/sandbox.d.ts +0 -7
  832. package/dist/src/utils/sandbox.js +0 -745
  833. package/dist/src/utils/sandbox.js.map +0 -1
  834. package/dist/src/utils/settingsUtils.d.ts +0 -134
  835. package/dist/src/utils/settingsUtils.js +0 -336
  836. package/dist/src/utils/settingsUtils.js.map +0 -1
  837. package/dist/src/utils/settingsUtils.test.d.ts +0 -6
  838. package/dist/src/utils/settingsUtils.test.js +0 -514
  839. package/dist/src/utils/settingsUtils.test.js.map +0 -1
  840. package/dist/src/utils/spawnWrapper.d.ts +0 -7
  841. package/dist/src/utils/spawnWrapper.js +0 -8
  842. package/dist/src/utils/spawnWrapper.js.map +0 -1
  843. package/dist/src/utils/startupWarnings.d.ts +0 -6
  844. package/dist/src/utils/startupWarnings.js +0 -40
  845. package/dist/src/utils/startupWarnings.js.map +0 -1
  846. package/dist/src/utils/updateEventEmitter.d.ts +0 -11
  847. package/dist/src/utils/updateEventEmitter.js +0 -12
  848. package/dist/src/utils/updateEventEmitter.js.map +0 -1
  849. package/dist/src/utils/userStartupWarnings.d.ts +0 -6
  850. package/dist/src/utils/userStartupWarnings.js +0 -54
  851. package/dist/src/utils/userStartupWarnings.js.map +0 -1
  852. package/dist/src/utils/userStartupWarnings.test.d.ts +0 -6
  853. package/dist/src/utils/userStartupWarnings.test.js +0 -67
  854. package/dist/src/utils/userStartupWarnings.test.js.map +0 -1
  855. package/dist/src/utils/version.d.ts +0 -6
  856. package/dist/src/utils/version.js +0 -11
  857. package/dist/src/utils/version.js.map +0 -1
  858. package/dist/src/validateNonInterActiveAuth.d.ts +0 -7
  859. package/dist/src/validateNonInterActiveAuth.js +0 -40
  860. package/dist/src/validateNonInterActiveAuth.js.map +0 -1
  861. package/dist/src/zed-integration/acp.d.ts +0 -63
  862. package/dist/src/zed-integration/acp.js +0 -225
  863. package/dist/src/zed-integration/acp.js.map +0 -1
  864. package/dist/src/zed-integration/fileSystemService.d.ts +0 -19
  865. package/dist/src/zed-integration/fileSystemService.js +0 -43
  866. package/dist/src/zed-integration/fileSystemService.js.map +0 -1
  867. package/dist/src/zed-integration/schema.d.ts +0 -11782
  868. package/dist/src/zed-integration/schema.js +0 -311
  869. package/dist/src/zed-integration/schema.js.map +0 -1
  870. package/dist/src/zed-integration/zedIntegration.d.ts +0 -10
  871. package/dist/src/zed-integration/zedIntegration.js +0 -765
  872. package/dist/src/zed-integration/zedIntegration.js.map +0 -1
  873. package/dist/tsconfig.tsbuildinfo +0 -1
  874. /package/{dist/src/utils → bundle}/sandbox-macos-permissive-closed.sb +0 -0
  875. /package/{dist/src/utils → bundle}/sandbox-macos-permissive-open.sb +0 -0
  876. /package/{dist/src/utils → bundle}/sandbox-macos-permissive-proxied.sb +0 -0
  877. /package/{dist/src/utils → bundle}/sandbox-macos-restrictive-closed.sb +0 -0
  878. /package/{dist/src/utils → bundle}/sandbox-macos-restrictive-open.sb +0 -0
  879. /package/{dist/src/utils → bundle}/sandbox-macos-restrictive-proxied.sb +0 -0
@@ -1,272 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- /** @vitest-environment jsdom */
7
- import { describe, it, expect, vi } from 'vitest';
8
- import { renderHook, waitFor } from '@testing-library/react';
9
- import { useSlashCompletion } from './useSlashCompletion.js';
10
- import { useState } from 'react';
11
- // Test harness to capture the state from the hook's callbacks.
12
- function useTestHarnessForSlashCompletion(enabled, query, slashCommands, commandContext) {
13
- const [suggestions, setSuggestions] = useState([]);
14
- const [isLoadingSuggestions, setIsLoadingSuggestions] = useState(false);
15
- const [isPerfectMatch, setIsPerfectMatch] = useState(false);
16
- const { completionStart, completionEnd } = useSlashCompletion({
17
- enabled,
18
- query,
19
- slashCommands,
20
- commandContext,
21
- setSuggestions,
22
- setIsLoadingSuggestions,
23
- setIsPerfectMatch,
24
- });
25
- return {
26
- suggestions,
27
- isLoadingSuggestions,
28
- isPerfectMatch,
29
- completionStart,
30
- completionEnd,
31
- };
32
- }
33
- describe('useSlashCompletion', () => {
34
- // A minimal mock is sufficient for these tests.
35
- const mockCommandContext = {};
36
- describe('Top-Level Commands', () => {
37
- it('should suggest all top-level commands for the root slash', async () => {
38
- const slashCommands = [
39
- { name: 'help', altNames: ['?'], description: 'Show help' },
40
- {
41
- name: 'stats',
42
- altNames: ['usage'],
43
- description: 'check session stats. Usage: /stats [model|tools]',
44
- },
45
- { name: 'clear', description: 'Clear the screen' },
46
- {
47
- name: 'memory',
48
- description: 'Manage memory',
49
- subCommands: [{ name: 'show', description: 'Show memory' }],
50
- },
51
- { name: 'chat', description: 'Manage chat history' },
52
- ];
53
- const { result } = renderHook(() => useTestHarnessForSlashCompletion(true, '/', slashCommands, mockCommandContext));
54
- expect(result.current.suggestions.length).toBe(slashCommands.length);
55
- expect(result.current.suggestions.map((s) => s.label)).toEqual(expect.arrayContaining(['help', 'clear', 'memory', 'chat', 'stats']));
56
- });
57
- it('should filter commands based on partial input', async () => {
58
- const slashCommands = [
59
- { name: 'memory', description: 'Manage memory' },
60
- ];
61
- const { result } = renderHook(() => useTestHarnessForSlashCompletion(true, '/mem', slashCommands, mockCommandContext));
62
- expect(result.current.suggestions).toEqual([
63
- { label: 'memory', value: 'memory', description: 'Manage memory' },
64
- ]);
65
- });
66
- it('should suggest commands based on partial altNames', async () => {
67
- const slashCommands = [
68
- {
69
- name: 'stats',
70
- altNames: ['usage'],
71
- description: 'check session stats. Usage: /stats [model|tools]',
72
- },
73
- ];
74
- const { result } = renderHook(() => useTestHarnessForSlashCompletion(true, '/usag', slashCommands, mockCommandContext));
75
- expect(result.current.suggestions).toEqual([
76
- {
77
- label: 'stats',
78
- value: 'stats',
79
- description: 'check session stats. Usage: /stats [model|tools]',
80
- },
81
- ]);
82
- });
83
- it('should NOT provide suggestions for a perfectly typed command that is a leaf node', async () => {
84
- const slashCommands = [
85
- { name: 'clear', description: 'Clear the screen', action: vi.fn() },
86
- ];
87
- const { result } = renderHook(() => useTestHarnessForSlashCompletion(true, '/clear', slashCommands, mockCommandContext));
88
- expect(result.current.suggestions).toHaveLength(0);
89
- });
90
- it.each([['/?'], ['/usage']])('should not suggest commands when altNames is fully typed', async (query) => {
91
- const mockSlashCommands = [
92
- {
93
- name: 'help',
94
- altNames: ['?'],
95
- description: 'Show help',
96
- action: vi.fn(),
97
- },
98
- {
99
- name: 'stats',
100
- altNames: ['usage'],
101
- description: 'check session stats. Usage: /stats [model|tools]',
102
- action: vi.fn(),
103
- },
104
- ];
105
- const { result } = renderHook(() => useTestHarnessForSlashCompletion(true, query, mockSlashCommands, mockCommandContext));
106
- expect(result.current.suggestions).toHaveLength(0);
107
- });
108
- it('should not provide suggestions for a fully typed command that has no sub-commands or argument completion', async () => {
109
- const slashCommands = [
110
- { name: 'clear', description: 'Clear the screen' },
111
- ];
112
- const { result } = renderHook(() => useTestHarnessForSlashCompletion(true, '/clear ', slashCommands, mockCommandContext));
113
- expect(result.current.suggestions).toHaveLength(0);
114
- });
115
- it('should not provide suggestions for an unknown command', async () => {
116
- const slashCommands = [
117
- { name: 'help', description: 'Show help' },
118
- ];
119
- const { result } = renderHook(() => useTestHarnessForSlashCompletion(true, '/unknown-command', slashCommands, mockCommandContext));
120
- expect(result.current.suggestions).toHaveLength(0);
121
- });
122
- });
123
- describe('Sub-Commands', () => {
124
- it('should suggest sub-commands for a parent command', async () => {
125
- const slashCommands = [
126
- {
127
- name: 'memory',
128
- description: 'Manage memory',
129
- subCommands: [
130
- { name: 'show', description: 'Show memory' },
131
- { name: 'add', description: 'Add to memory' },
132
- ],
133
- },
134
- ];
135
- const { result } = renderHook(() => useTestHarnessForSlashCompletion(true, '/memory', slashCommands, mockCommandContext));
136
- expect(result.current.suggestions).toHaveLength(2);
137
- expect(result.current.suggestions).toEqual(expect.arrayContaining([
138
- { label: 'show', value: 'show', description: 'Show memory' },
139
- { label: 'add', value: 'add', description: 'Add to memory' },
140
- ]));
141
- });
142
- it('should suggest all sub-commands when the query ends with the parent command and a space', async () => {
143
- const slashCommands = [
144
- {
145
- name: 'memory',
146
- description: 'Manage memory',
147
- subCommands: [
148
- { name: 'show', description: 'Show memory' },
149
- { name: 'add', description: 'Add to memory' },
150
- ],
151
- },
152
- ];
153
- const { result } = renderHook(() => useTestHarnessForSlashCompletion(true, '/memory ', slashCommands, mockCommandContext));
154
- expect(result.current.suggestions).toHaveLength(2);
155
- expect(result.current.suggestions).toEqual(expect.arrayContaining([
156
- { label: 'show', value: 'show', description: 'Show memory' },
157
- { label: 'add', value: 'add', description: 'Add to memory' },
158
- ]));
159
- });
160
- it('should filter sub-commands by prefix', async () => {
161
- const slashCommands = [
162
- {
163
- name: 'memory',
164
- description: 'Manage memory',
165
- subCommands: [
166
- { name: 'show', description: 'Show memory' },
167
- { name: 'add', description: 'Add to memory' },
168
- ],
169
- },
170
- ];
171
- const { result } = renderHook(() => useTestHarnessForSlashCompletion(true, '/memory a', slashCommands, mockCommandContext));
172
- expect(result.current.suggestions).toEqual([
173
- { label: 'add', value: 'add', description: 'Add to memory' },
174
- ]);
175
- });
176
- it('should provide no suggestions for an invalid sub-command', async () => {
177
- const slashCommands = [
178
- {
179
- name: 'memory',
180
- description: 'Manage memory',
181
- subCommands: [
182
- { name: 'show', description: 'Show memory' },
183
- { name: 'add', description: 'Add to memory' },
184
- ],
185
- },
186
- ];
187
- const { result } = renderHook(() => useTestHarnessForSlashCompletion(true, '/memory dothisnow', slashCommands, mockCommandContext));
188
- expect(result.current.suggestions).toHaveLength(0);
189
- });
190
- });
191
- describe('Argument Completion', () => {
192
- it('should call the command.completion function for argument suggestions', async () => {
193
- const availableTags = [
194
- 'my-chat-tag-1',
195
- 'my-chat-tag-2',
196
- 'another-channel',
197
- ];
198
- const mockCompletionFn = vi
199
- .fn()
200
- .mockImplementation(async (_context, partialArg) => availableTags.filter((tag) => tag.startsWith(partialArg)));
201
- const slashCommands = [
202
- {
203
- name: 'chat',
204
- description: 'Manage chat history',
205
- subCommands: [
206
- {
207
- name: 'resume',
208
- description: 'Resume a saved chat',
209
- completion: mockCompletionFn,
210
- },
211
- ],
212
- },
213
- ];
214
- const { result } = renderHook(() => useTestHarnessForSlashCompletion(true, '/chat resume my-ch', slashCommands, mockCommandContext));
215
- await waitFor(() => {
216
- expect(mockCompletionFn).toHaveBeenCalledWith(mockCommandContext, 'my-ch');
217
- });
218
- await waitFor(() => {
219
- expect(result.current.suggestions).toEqual([
220
- { label: 'my-chat-tag-1', value: 'my-chat-tag-1' },
221
- { label: 'my-chat-tag-2', value: 'my-chat-tag-2' },
222
- ]);
223
- });
224
- });
225
- it('should call command.completion with an empty string when args start with a space', async () => {
226
- const mockCompletionFn = vi
227
- .fn()
228
- .mockResolvedValue(['my-chat-tag-1', 'my-chat-tag-2', 'my-channel']);
229
- const slashCommands = [
230
- {
231
- name: 'chat',
232
- description: 'Manage chat history',
233
- subCommands: [
234
- {
235
- name: 'resume',
236
- description: 'Resume a saved chat',
237
- completion: mockCompletionFn,
238
- },
239
- ],
240
- },
241
- ];
242
- const { result } = renderHook(() => useTestHarnessForSlashCompletion(true, '/chat resume ', slashCommands, mockCommandContext));
243
- await waitFor(() => {
244
- expect(mockCompletionFn).toHaveBeenCalledWith(mockCommandContext, '');
245
- });
246
- await waitFor(() => {
247
- expect(result.current.suggestions).toHaveLength(3);
248
- });
249
- });
250
- it('should handle completion function that returns null', async () => {
251
- const completionFn = vi.fn().mockResolvedValue(null);
252
- const slashCommands = [
253
- {
254
- name: 'chat',
255
- description: 'Manage chat history',
256
- subCommands: [
257
- {
258
- name: 'resume',
259
- description: 'Resume a saved chat',
260
- completion: completionFn,
261
- },
262
- ],
263
- },
264
- ];
265
- const { result } = renderHook(() => useTestHarnessForSlashCompletion(true, '/chat resume ', slashCommands, mockCommandContext));
266
- await waitFor(() => {
267
- expect(result.current.suggestions).toHaveLength(0);
268
- });
269
- });
270
- });
271
- });
272
- //# sourceMappingURL=useSlashCompletion.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSlashCompletion.test.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useSlashCompletion.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import React from 'react';
7
- export declare const useStateAndRef: <T extends object | null | undefined | number | string>(initialValue: T) => readonly [React.RefObject<T>, React.Dispatch<React.SetStateAction<T>>];
@@ -1,26 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import React from 'react';
7
- // Hook to return state, state setter, and ref to most up-to-date value of state.
8
- // We need this in order to setState and reference the updated state multiple
9
- // times in the same function.
10
- export const useStateAndRef = (initialValue) => {
11
- const [_, setState] = React.useState(initialValue);
12
- const ref = React.useRef(initialValue);
13
- const setStateInternal = React.useCallback((newStateOrCallback) => {
14
- let newValue;
15
- if (typeof newStateOrCallback === 'function') {
16
- newValue = newStateOrCallback(ref.current);
17
- }
18
- else {
19
- newValue = newStateOrCallback;
20
- }
21
- setState(newValue);
22
- ref.current = newValue;
23
- }, []);
24
- return [ref, setStateInternal];
25
- };
26
- //# sourceMappingURL=useStateAndRef.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useStateAndRef.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useStateAndRef.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,iFAAiF;AACjF,6EAA6E;AAC7E,8BAA8B;AAC9B,MAAM,CAAC,MAAM,cAAc,GAAG,CAI5B,YAAe,EACf,EAAE;IACF,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAI,YAAY,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAI,YAAY,CAAC,CAAC;IAE1C,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CACxC,CAAC,kBAAkB,EAAE,EAAE;QACrB,IAAI,QAAW,CAAC;QAChB,IAAI,OAAO,kBAAkB,KAAK,UAAU,EAAE,CAAC;YAC7C,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,kBAAkB,CAAC;QAChC,CAAC;QACD,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnB,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC;IACzB,CAAC,EACD,EAAE,CACH,CAAC;IAEF,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAU,CAAC;AAC1C,CAAC,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export declare function useTerminalSize(): {
7
- columns: number;
8
- rows: number;
9
- };
@@ -1,27 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { useEffect, useState } from 'react';
7
- const TERMINAL_PADDING_X = 8;
8
- export function useTerminalSize() {
9
- const [size, setSize] = useState({
10
- columns: (process.stdout.columns || 60) - TERMINAL_PADDING_X,
11
- rows: process.stdout.rows || 20,
12
- });
13
- useEffect(() => {
14
- function updateSize() {
15
- setSize({
16
- columns: (process.stdout.columns || 60) - TERMINAL_PADDING_X,
17
- rows: process.stdout.rows || 20,
18
- });
19
- }
20
- process.stdout.on('resize', updateSize);
21
- return () => {
22
- process.stdout.off('resize', updateSize);
23
- };
24
- }, []);
25
- return size;
26
- }
27
- //# sourceMappingURL=useTerminalSize.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTerminalSize.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useTerminalSize.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAE7B,MAAM,UAAU,eAAe;IAC7B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC;QAC/B,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,kBAAkB;QAC5D,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;KAChC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,UAAU;YACjB,OAAO,CAAC;gBACN,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,kBAAkB;gBAC5D,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;aAChC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACxC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC3C,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,15 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { LoadedSettings, SettingScope } from '../../config/settings.js';
7
- import { type HistoryItem } from '../types.js';
8
- interface UseThemeCommandReturn {
9
- isThemeDialogOpen: boolean;
10
- openThemeDialog: () => void;
11
- handleThemeSelect: (themeName: string | undefined, scope: SettingScope) => void;
12
- handleThemeHighlight: (themeName: string | undefined) => void;
13
- }
14
- export declare const useThemeCommand: (loadedSettings: LoadedSettings, setThemeError: (error: string | null) => void, addItem: (item: Omit<HistoryItem, "id">, timestamp: number) => void) => UseThemeCommandReturn;
15
- export {};
@@ -1,79 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { useState, useCallback, useEffect } from 'react';
7
- import { themeManager } from '../themes/theme-manager.js';
8
- import { MessageType } from '../types.js';
9
- import process from 'node:process';
10
- export const useThemeCommand = (loadedSettings, setThemeError, addItem) => {
11
- const [isThemeDialogOpen, setIsThemeDialogOpen] = useState(false);
12
- // Check for invalid theme configuration on startup
13
- useEffect(() => {
14
- const effectiveTheme = loadedSettings.merged.theme;
15
- if (effectiveTheme && !themeManager.findThemeByName(effectiveTheme)) {
16
- setIsThemeDialogOpen(true);
17
- setThemeError(`Theme "${effectiveTheme}" not found.`);
18
- }
19
- else {
20
- setThemeError(null);
21
- }
22
- }, [loadedSettings.merged.theme, setThemeError]);
23
- const openThemeDialog = useCallback(() => {
24
- if (process.env['NO_COLOR']) {
25
- addItem({
26
- type: MessageType.INFO,
27
- text: 'Theme configuration unavailable due to NO_COLOR env variable.',
28
- }, Date.now());
29
- return;
30
- }
31
- setIsThemeDialogOpen(true);
32
- }, [addItem]);
33
- const applyTheme = useCallback((themeName) => {
34
- if (!themeManager.setActiveTheme(themeName)) {
35
- // If theme is not found, open the theme selection dialog and set error message
36
- setIsThemeDialogOpen(true);
37
- setThemeError(`Theme "${themeName}" not found.`);
38
- }
39
- else {
40
- setThemeError(null); // Clear any previous theme error on success
41
- }
42
- }, [setThemeError]);
43
- const handleThemeHighlight = useCallback((themeName) => {
44
- applyTheme(themeName);
45
- }, [applyTheme]);
46
- const handleThemeSelect = useCallback((themeName, scope) => {
47
- try {
48
- // Merge user and workspace custom themes (workspace takes precedence)
49
- const mergedCustomThemes = {
50
- ...(loadedSettings.user.settings.customThemes || {}),
51
- ...(loadedSettings.workspace.settings.customThemes || {}),
52
- };
53
- // Only allow selecting themes available in the merged custom themes or built-in themes
54
- const isBuiltIn = themeManager.findThemeByName(themeName);
55
- const isCustom = themeName && mergedCustomThemes[themeName];
56
- if (!isBuiltIn && !isCustom) {
57
- setThemeError(`Theme "${themeName}" not found in selected scope.`);
58
- setIsThemeDialogOpen(true);
59
- return;
60
- }
61
- loadedSettings.setValue(scope, 'theme', themeName); // Update the merged settings
62
- if (loadedSettings.merged.customThemes) {
63
- themeManager.loadCustomThemes(loadedSettings.merged.customThemes);
64
- }
65
- applyTheme(loadedSettings.merged.theme); // Apply the current theme
66
- setThemeError(null);
67
- }
68
- finally {
69
- setIsThemeDialogOpen(false); // Close the dialog
70
- }
71
- }, [applyTheme, loadedSettings, setThemeError]);
72
- return {
73
- isThemeDialogOpen,
74
- openThemeDialog,
75
- handleThemeSelect,
76
- handleThemeHighlight,
77
- };
78
- };
79
- //# sourceMappingURL=useThemeCommand.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useThemeCommand.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useThemeCommand.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- /**
7
- * Custom hook to manage a timer that increments every second.
8
- * @param isActive Whether the timer should be running.
9
- * @param resetKey A key that, when changed, will reset the timer to 0 and restart the interval.
10
- * @returns The elapsed time in seconds.
11
- */
12
- export declare const useTimer: (isActive: boolean, resetKey: unknown) => number;
@@ -1,58 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { useState, useEffect, useRef } from 'react';
7
- /**
8
- * Custom hook to manage a timer that increments every second.
9
- * @param isActive Whether the timer should be running.
10
- * @param resetKey A key that, when changed, will reset the timer to 0 and restart the interval.
11
- * @returns The elapsed time in seconds.
12
- */
13
- export const useTimer = (isActive, resetKey) => {
14
- const [elapsedTime, setElapsedTime] = useState(0);
15
- const timerRef = useRef(null);
16
- const prevResetKeyRef = useRef(resetKey);
17
- const prevIsActiveRef = useRef(isActive);
18
- useEffect(() => {
19
- let shouldResetTime = false;
20
- if (prevResetKeyRef.current !== resetKey) {
21
- shouldResetTime = true;
22
- prevResetKeyRef.current = resetKey;
23
- }
24
- if (prevIsActiveRef.current === false && isActive) {
25
- // Transitioned from inactive to active
26
- shouldResetTime = true;
27
- }
28
- if (shouldResetTime) {
29
- setElapsedTime(0);
30
- }
31
- prevIsActiveRef.current = isActive;
32
- // Manage interval
33
- if (isActive) {
34
- // Clear previous interval unconditionally before starting a new one
35
- // This handles resetKey changes while active, ensuring a fresh interval start.
36
- if (timerRef.current) {
37
- clearInterval(timerRef.current);
38
- }
39
- timerRef.current = setInterval(() => {
40
- setElapsedTime((prev) => prev + 1);
41
- }, 1000);
42
- }
43
- else {
44
- if (timerRef.current) {
45
- clearInterval(timerRef.current);
46
- timerRef.current = null;
47
- }
48
- }
49
- return () => {
50
- if (timerRef.current) {
51
- clearInterval(timerRef.current);
52
- timerRef.current = null;
53
- }
54
- };
55
- }, [isActive, resetKey]);
56
- return elapsedTime;
57
- };
58
- //# sourceMappingURL=useTimer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTimer.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useTimer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAiB,EAAE,QAAiB,EAAE,EAAE;IAC/D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACrD,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEzC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,eAAe,GAAG,KAAK,CAAC;QAE5B,IAAI,eAAe,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzC,eAAe,GAAG,IAAI,CAAC;YACvB,eAAe,CAAC,OAAO,GAAG,QAAQ,CAAC;QACrC,CAAC;QAED,IAAI,eAAe,CAAC,OAAO,KAAK,KAAK,IAAI,QAAQ,EAAE,CAAC;YAClD,uCAAuC;YACvC,eAAe,GAAG,IAAI,CAAC;QACzB,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YACpB,cAAc,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,eAAe,CAAC,OAAO,GAAG,QAAQ,CAAC;QAEnC,kBAAkB;QAClB,IAAI,QAAQ,EAAE,CAAC;YACb,oEAAoE;YACpE,+EAA+E;YAC/E,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClC,CAAC;YACD,QAAQ,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;gBAClC,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACrC,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC;aAAM,CAAC;YACN,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAChC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,OAAO,GAAG,EAAE;YACV,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAChC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEzB,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export {};
@@ -1,90 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
7
- import { renderHook, act } from '@testing-library/react';
8
- import { useTimer } from './useTimer.js';
9
- describe('useTimer', () => {
10
- beforeEach(() => {
11
- vi.useFakeTimers();
12
- });
13
- afterEach(() => {
14
- vi.restoreAllMocks();
15
- });
16
- it('should initialize with 0', () => {
17
- const { result } = renderHook(() => useTimer(false, 0));
18
- expect(result.current).toBe(0);
19
- });
20
- it('should not increment time if isActive is false', () => {
21
- const { result } = renderHook(() => useTimer(false, 0));
22
- act(() => {
23
- vi.advanceTimersByTime(5000);
24
- });
25
- expect(result.current).toBe(0);
26
- });
27
- it('should increment time every second if isActive is true', () => {
28
- const { result } = renderHook(() => useTimer(true, 0));
29
- act(() => {
30
- vi.advanceTimersByTime(1000);
31
- });
32
- expect(result.current).toBe(1);
33
- act(() => {
34
- vi.advanceTimersByTime(2000);
35
- });
36
- expect(result.current).toBe(3);
37
- });
38
- it('should reset to 0 and start incrementing when isActive becomes true from false', () => {
39
- const { result, rerender } = renderHook(({ isActive, resetKey }) => useTimer(isActive, resetKey), { initialProps: { isActive: false, resetKey: 0 } });
40
- expect(result.current).toBe(0);
41
- rerender({ isActive: true, resetKey: 0 });
42
- expect(result.current).toBe(0); // Should reset to 0 upon becoming active
43
- act(() => {
44
- vi.advanceTimersByTime(1000);
45
- });
46
- expect(result.current).toBe(1);
47
- });
48
- it('should reset to 0 when resetKey changes while active', () => {
49
- const { result, rerender } = renderHook(({ isActive, resetKey }) => useTimer(isActive, resetKey), { initialProps: { isActive: true, resetKey: 0 } });
50
- act(() => {
51
- vi.advanceTimersByTime(3000); // 3s
52
- });
53
- expect(result.current).toBe(3);
54
- rerender({ isActive: true, resetKey: 1 }); // Change resetKey
55
- expect(result.current).toBe(0); // Should reset to 0
56
- act(() => {
57
- vi.advanceTimersByTime(1000);
58
- });
59
- expect(result.current).toBe(1); // Starts incrementing from 0
60
- });
61
- it('should be 0 if isActive is false, regardless of resetKey changes', () => {
62
- const { result, rerender } = renderHook(({ isActive, resetKey }) => useTimer(isActive, resetKey), { initialProps: { isActive: false, resetKey: 0 } });
63
- expect(result.current).toBe(0);
64
- rerender({ isActive: false, resetKey: 1 });
65
- expect(result.current).toBe(0);
66
- });
67
- it('should clear timer on unmount', () => {
68
- const { unmount } = renderHook(() => useTimer(true, 0));
69
- const clearIntervalSpy = vi.spyOn(global, 'clearInterval');
70
- unmount();
71
- expect(clearIntervalSpy).toHaveBeenCalledOnce();
72
- });
73
- it('should preserve elapsedTime when isActive becomes false, and reset to 0 when it becomes active again', () => {
74
- const { result, rerender } = renderHook(({ isActive, resetKey }) => useTimer(isActive, resetKey), { initialProps: { isActive: true, resetKey: 0 } });
75
- act(() => {
76
- vi.advanceTimersByTime(3000); // Advance to 3 seconds
77
- });
78
- expect(result.current).toBe(3);
79
- rerender({ isActive: false, resetKey: 0 });
80
- expect(result.current).toBe(3); // Time should be preserved when timer becomes inactive
81
- // Now make it active again, it should reset to 0
82
- rerender({ isActive: true, resetKey: 0 });
83
- expect(result.current).toBe(0);
84
- act(() => {
85
- vi.advanceTimersByTime(1000);
86
- });
87
- expect(result.current).toBe(1);
88
- });
89
- });
90
- //# sourceMappingURL=useTimer.test.js.map