@machina.ai/cell-cli 1.41.1-rc2 → 1.45.1-rc2

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 (560) hide show
  1. package/dist/index.js +17 -17
  2. package/dist/index.js.map +1 -1
  3. package/dist/package.json +4 -4
  4. package/dist/src/acp/README.md +81 -0
  5. package/dist/src/acp/{commandHandler.d.ts → acpCommandHandler.d.ts} +1 -1
  6. package/dist/src/acp/{commandHandler.js → acpCommandHandler.js} +2 -2
  7. package/dist/src/acp/acpCommandHandler.js.map +1 -0
  8. package/dist/src/acp/{commandHandler.test.js → acpCommandHandler.test.js} +4 -5
  9. package/dist/src/acp/acpCommandHandler.test.js.map +1 -0
  10. package/dist/src/acp/acpErrors.d.ts +1 -1
  11. package/dist/src/acp/acpErrors.js +1 -1
  12. package/dist/src/acp/acpErrors.test.d.ts +1 -1
  13. package/dist/src/acp/acpErrors.test.js +1 -1
  14. package/dist/src/acp/{fileSystemService.d.ts → acpFileSystemService.d.ts} +1 -1
  15. package/dist/src/acp/{fileSystemService.js → acpFileSystemService.js} +7 -4
  16. package/dist/src/acp/acpFileSystemService.js.map +1 -0
  17. package/dist/src/acp/{fileSystemService.test.js → acpFileSystemService.test.js} +3 -3
  18. package/dist/src/acp/acpFileSystemService.test.js.map +1 -0
  19. package/dist/src/acp/acpResume.test.d.ts +1 -1
  20. package/dist/src/acp/acpResume.test.js +12 -7
  21. package/dist/src/acp/acpResume.test.js.map +1 -1
  22. package/dist/src/acp/acpRpcDispatcher.d.ts +28 -0
  23. package/dist/src/acp/acpRpcDispatcher.js +177 -0
  24. package/dist/src/acp/acpRpcDispatcher.js.map +1 -0
  25. package/dist/src/acp/acpRpcDispatcher.test.d.ts +6 -0
  26. package/dist/src/acp/acpRpcDispatcher.test.js +238 -0
  27. package/dist/src/acp/acpRpcDispatcher.test.js.map +1 -0
  28. package/dist/src/acp/acpSession.d.ts +36 -0
  29. package/dist/src/acp/{acpClient.js → acpSession.js} +333 -781
  30. package/dist/src/acp/acpSession.js.map +1 -0
  31. package/dist/src/acp/acpSession.test.d.ts +6 -0
  32. package/dist/src/acp/acpSession.test.js +739 -0
  33. package/dist/src/acp/acpSession.test.js.map +1 -0
  34. package/dist/src/acp/acpSessionManager.d.ts +30 -0
  35. package/dist/src/acp/acpSessionManager.js +206 -0
  36. package/dist/src/acp/acpSessionManager.js.map +1 -0
  37. package/dist/src/acp/acpSessionManager.test.d.ts +6 -0
  38. package/dist/src/acp/acpSessionManager.test.js +283 -0
  39. package/dist/src/acp/acpSessionManager.test.js.map +1 -0
  40. package/dist/src/acp/acpStdioTransport.d.ts +9 -0
  41. package/dist/src/acp/acpStdioTransport.js +23 -0
  42. package/dist/src/acp/acpStdioTransport.js.map +1 -0
  43. package/dist/src/acp/acpUtils.d.ts +56 -0
  44. package/dist/src/acp/acpUtils.js +288 -0
  45. package/dist/src/acp/acpUtils.js.map +1 -0
  46. package/dist/src/acp/commands/commandRegistry.d.ts +1 -1
  47. package/dist/src/acp/commands/commandRegistry.js +1 -1
  48. package/dist/src/acp/commands/extensions.d.ts +1 -1
  49. package/dist/src/acp/commands/extensions.js +1 -1
  50. package/dist/src/acp/commands/extensions.test.d.ts +6 -0
  51. package/dist/src/acp/commands/extensions.test.js +70 -0
  52. package/dist/src/acp/commands/extensions.test.js.map +1 -0
  53. package/dist/src/acp/commands/init.d.ts +1 -1
  54. package/dist/src/acp/commands/init.js +1 -1
  55. package/dist/src/acp/commands/memory.d.ts +3 -8
  56. package/dist/src/acp/commands/memory.js +18 -47
  57. package/dist/src/acp/commands/memory.js.map +1 -1
  58. package/dist/src/acp/commands/restore.d.ts +1 -1
  59. package/dist/src/acp/commands/restore.js +1 -1
  60. package/dist/src/acp/commands/restore.test.js +7 -13
  61. package/dist/src/acp/commands/restore.test.js.map +1 -1
  62. package/dist/src/acp/commands/types.d.ts +1 -1
  63. package/dist/src/acp/commands/types.js +1 -1
  64. package/dist/src/commands/extensions/configure.test.js +6 -2
  65. package/dist/src/commands/extensions/configure.test.js.map +1 -1
  66. package/dist/src/commands/extensions/utils.d.ts +1 -1
  67. package/dist/src/commands/extensions/utils.js +1 -2
  68. package/dist/src/commands/extensions/utils.js.map +1 -1
  69. package/dist/src/commands/mcp/list.js +19 -5
  70. package/dist/src/commands/mcp/list.js.map +1 -1
  71. package/dist/src/commands/mcp/list.test.js +285 -100
  72. package/dist/src/commands/mcp/list.test.js.map +1 -1
  73. package/dist/src/config/auth.d.ts +1 -1
  74. package/dist/src/config/auth.js +4 -3
  75. package/dist/src/config/auth.js.map +1 -1
  76. package/dist/src/config/auth.test.js +11 -4
  77. package/dist/src/config/auth.test.js.map +1 -1
  78. package/dist/src/config/config.d.ts +4 -0
  79. package/dist/src/config/config.js +65 -47
  80. package/dist/src/config/config.js.map +1 -1
  81. package/dist/src/config/config.test.js +25 -106
  82. package/dist/src/config/config.test.js.map +1 -1
  83. package/dist/src/config/extension-manager-agents.test.js +2 -0
  84. package/dist/src/config/extension-manager-agents.test.js.map +1 -1
  85. package/dist/src/config/extension-manager-hydration.test.js +2 -0
  86. package/dist/src/config/extension-manager-hydration.test.js.map +1 -1
  87. package/dist/src/config/extension-manager-scope.test.js +4 -2
  88. package/dist/src/config/extension-manager-scope.test.js.map +1 -1
  89. package/dist/src/config/extension-manager-themes.spec.js +2 -0
  90. package/dist/src/config/extension-manager-themes.spec.js.map +1 -1
  91. package/dist/src/config/extension-manager.d.ts +2 -2
  92. package/dist/src/config/extension-manager.js +2 -1
  93. package/dist/src/config/extension-manager.js.map +1 -1
  94. package/dist/src/config/extensionRegistryClient.js +0 -1
  95. package/dist/src/config/extensionRegistryClient.js.map +1 -1
  96. package/dist/src/config/extensions/consent.d.ts +1 -1
  97. package/dist/src/config/extensions/consent.js +5 -4
  98. package/dist/src/config/extensions/consent.js.map +1 -1
  99. package/dist/src/config/extensions/consent.test.js +22 -0
  100. package/dist/src/config/extensions/consent.test.js.map +1 -1
  101. package/dist/src/config/extensions/extensionEnablement.js +4 -2
  102. package/dist/src/config/extensions/extensionEnablement.js.map +1 -1
  103. package/dist/src/config/extensions/extensionSettings.d.ts +3 -3
  104. package/dist/src/config/extensions/extensionSettings.js +7 -3
  105. package/dist/src/config/extensions/extensionSettings.js.map +1 -1
  106. package/dist/src/config/extensions/variables.js +1 -3
  107. package/dist/src/config/extensions/variables.js.map +1 -1
  108. package/dist/src/config/footerItems.d.ts +4 -0
  109. package/dist/src/config/footerItems.js +6 -0
  110. package/dist/src/config/footerItems.js.map +1 -1
  111. package/dist/src/config/footerItems.test.js +1 -0
  112. package/dist/src/config/footerItems.test.js.map +1 -1
  113. package/dist/src/config/mcp/mcpServerEnablement.js +1 -1
  114. package/dist/src/config/mcp/mcpServerEnablement.js.map +1 -1
  115. package/dist/src/config/mutual-exclusivity.test.js +33 -0
  116. package/dist/src/config/mutual-exclusivity.test.js.map +1 -0
  117. package/dist/src/config/settings-env-isolation.test.d.ts +6 -0
  118. package/dist/src/config/settings-env-isolation.test.js +188 -0
  119. package/dist/src/config/settings-env-isolation.test.js.map +1 -0
  120. package/dist/src/config/settings.d.ts +15 -1
  121. package/dist/src/config/settings.js +85 -10
  122. package/dist/src/config/settings.js.map +1 -1
  123. package/dist/src/config/settings.test.js +167 -0
  124. package/dist/src/config/settings.test.js.map +1 -1
  125. package/dist/src/config/settingsSchema.d.ts +56 -25
  126. package/dist/src/config/settingsSchema.js +66 -27
  127. package/dist/src/config/settingsSchema.js.map +1 -1
  128. package/dist/src/config/settingsSchema.test.js +8 -0
  129. package/dist/src/config/settingsSchema.test.js.map +1 -1
  130. package/dist/src/config/skipExtensions.test.d.ts +6 -0
  131. package/dist/src/config/skipExtensions.test.js +49 -0
  132. package/dist/src/config/skipExtensions.test.js.map +1 -0
  133. package/dist/src/config/workspace-policy-cli.test.js +0 -5
  134. package/dist/src/config/workspace-policy-cli.test.js.map +1 -1
  135. package/dist/src/gemini.d.ts +2 -2
  136. package/dist/src/gemini.js +108 -30
  137. package/dist/src/gemini.js.map +1 -1
  138. package/dist/src/gemini.test.js +147 -16
  139. package/dist/src/gemini.test.js.map +1 -1
  140. package/dist/src/gemini_cleanup.test.js +1 -1
  141. package/dist/src/gemini_cleanup.test.js.map +1 -1
  142. package/dist/src/generated/git-commit.d.ts +2 -2
  143. package/dist/src/generated/git-commit.js +2 -2
  144. package/dist/src/interactiveCli.js +1 -1
  145. package/dist/src/interactiveCli.js.map +1 -1
  146. package/dist/src/nonInteractiveCli.d.ts +7 -0
  147. package/dist/src/nonInteractiveCli.js +56 -6
  148. package/dist/src/nonInteractiveCli.js.map +1 -1
  149. package/dist/src/nonInteractiveCli.test.js +253 -18
  150. package/dist/src/nonInteractiveCli.test.js.map +1 -1
  151. package/dist/src/nonInteractiveCliAgentSession.d.ts +7 -0
  152. package/dist/src/nonInteractiveCliAgentSession.js +22 -3
  153. package/dist/src/nonInteractiveCliAgentSession.js.map +1 -1
  154. package/dist/src/nonInteractiveCliAgentSession.test.js +200 -20
  155. package/dist/src/nonInteractiveCliAgentSession.test.js.map +1 -1
  156. package/dist/src/output-redirection.test.d.ts +6 -0
  157. package/dist/src/output-redirection.test.js +77 -0
  158. package/dist/src/output-redirection.test.js.map +1 -0
  159. package/dist/src/patches/http-proxy-agent.d.ts +6 -0
  160. package/dist/src/patches/http-proxy-agent.js +8 -0
  161. package/dist/src/patches/http-proxy-agent.js.map +1 -0
  162. package/dist/src/patches/https-proxy-agent.d.ts +6 -0
  163. package/dist/src/patches/https-proxy-agent.js +8 -0
  164. package/dist/src/patches/https-proxy-agent.js.map +1 -0
  165. package/dist/src/services/BuiltinCommandLoader.js +5 -1
  166. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  167. package/dist/src/services/BuiltinCommandLoader.test.js +6 -1
  168. package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
  169. package/dist/src/services/FileCommandLoader.d.ts +21 -0
  170. package/dist/src/services/FileCommandLoader.js +58 -6
  171. package/dist/src/services/FileCommandLoader.js.map +1 -1
  172. package/dist/src/services/FileCommandLoader.test.js +27 -1
  173. package/dist/src/services/FileCommandLoader.test.js.map +1 -1
  174. package/dist/src/test-utils/mockCommandContext.js +6 -1
  175. package/dist/src/test-utils/mockCommandContext.js.map +1 -1
  176. package/dist/src/test-utils/mockConfig.js +0 -3
  177. package/dist/src/test-utils/mockConfig.js.map +1 -1
  178. package/dist/src/test-utils/render.js +1 -0
  179. package/dist/src/test-utils/render.js.map +1 -1
  180. package/dist/src/test-utils/settings.d.ts +1 -0
  181. package/dist/src/test-utils/settings.js.map +1 -1
  182. package/dist/src/ui/AppContainer.js +60 -73
  183. package/dist/src/ui/AppContainer.js.map +1 -1
  184. package/dist/src/ui/AppContainer.test.js +101 -1
  185. package/dist/src/ui/AppContainer.test.js.map +1 -1
  186. package/dist/src/ui/auth/AuthDialog.js +6 -3
  187. package/dist/src/ui/auth/AuthDialog.js.map +1 -1
  188. package/dist/src/ui/auth/AuthDialog.test.js +33 -10
  189. package/dist/src/ui/auth/AuthDialog.test.js.map +1 -1
  190. package/dist/src/ui/auth/LoginRestartDialog.d.ts +13 -0
  191. package/dist/src/ui/auth/{LoginWithGoogleRestartDialog.js → LoginRestartDialog.js} +7 -6
  192. package/dist/src/ui/auth/LoginRestartDialog.js.map +1 -0
  193. package/dist/src/ui/auth/LoginRestartDialog.test.d.ts +6 -0
  194. package/dist/src/ui/auth/{LoginWithGoogleRestartDialog.test.js → LoginRestartDialog.test.js} +13 -8
  195. package/dist/src/ui/auth/LoginRestartDialog.test.js.map +1 -0
  196. package/dist/src/ui/auth/useAuth.d.ts +1 -1
  197. package/dist/src/ui/auth/useAuth.js +2 -2
  198. package/dist/src/ui/auth/useAuth.js.map +1 -1
  199. package/dist/src/ui/auth/useAuth.test.js +10 -10
  200. package/dist/src/ui/auth/useAuth.test.js.map +1 -1
  201. package/dist/src/ui/commands/agentsCommand.js +19 -2
  202. package/dist/src/ui/commands/agentsCommand.js.map +1 -1
  203. package/dist/src/ui/commands/agentsCommand.test.js +34 -3
  204. package/dist/src/ui/commands/agentsCommand.test.js.map +1 -1
  205. package/dist/src/ui/commands/bugCommand.js +36 -0
  206. package/dist/src/ui/commands/bugCommand.js.map +1 -1
  207. package/dist/src/ui/commands/bugCommand.test.js +106 -1
  208. package/dist/src/ui/commands/bugCommand.test.js.map +1 -1
  209. package/dist/src/ui/commands/bugMemoryCommand.d.ts +7 -0
  210. package/dist/src/ui/commands/bugMemoryCommand.js +62 -0
  211. package/dist/src/ui/commands/bugMemoryCommand.js.map +1 -0
  212. package/dist/src/ui/commands/bugMemoryCommand.test.js +100 -0
  213. package/dist/src/ui/commands/bugMemoryCommand.test.js.map +1 -0
  214. package/dist/src/ui/commands/commandsCommand.js +52 -4
  215. package/dist/src/ui/commands/commandsCommand.js.map +1 -1
  216. package/dist/src/ui/commands/commandsCommand.test.js +75 -2
  217. package/dist/src/ui/commands/commandsCommand.test.js.map +1 -1
  218. package/dist/src/ui/commands/compressCommand.js +28 -26
  219. package/dist/src/ui/commands/compressCommand.js.map +1 -1
  220. package/dist/src/ui/commands/compressCommand.test.js +5 -0
  221. package/dist/src/ui/commands/compressCommand.test.js.map +1 -1
  222. package/dist/src/ui/commands/directoryCommand.js +2 -2
  223. package/dist/src/ui/commands/directoryCommand.js.map +1 -1
  224. package/dist/src/ui/commands/directoryCommand.test.js +1 -0
  225. package/dist/src/ui/commands/directoryCommand.test.js.map +1 -1
  226. package/dist/src/ui/commands/exportSessionCommand.d.ts +7 -0
  227. package/dist/src/ui/commands/exportSessionCommand.js +74 -0
  228. package/dist/src/ui/commands/exportSessionCommand.js.map +1 -0
  229. package/dist/src/ui/commands/exportSessionCommand.test.js +100 -0
  230. package/dist/src/ui/commands/exportSessionCommand.test.js.map +1 -0
  231. package/dist/src/ui/commands/extensionsCommand.js +1 -0
  232. package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
  233. package/dist/src/ui/commands/extensionsCommand.test.js +4 -0
  234. package/dist/src/ui/commands/extensionsCommand.test.js.map +1 -1
  235. package/dist/src/ui/commands/memoryCommand.d.ts +2 -1
  236. package/dist/src/ui/commands/memoryCommand.js +110 -117
  237. package/dist/src/ui/commands/memoryCommand.js.map +1 -1
  238. package/dist/src/ui/commands/memoryCommand.test.js +18 -71
  239. package/dist/src/ui/commands/memoryCommand.test.js.map +1 -1
  240. package/dist/src/ui/commands/quitCommand.js +3 -1
  241. package/dist/src/ui/commands/quitCommand.js.map +1 -1
  242. package/dist/src/ui/commands/quitCommand.test.js +46 -1
  243. package/dist/src/ui/commands/quitCommand.test.js.map +1 -1
  244. package/dist/src/ui/commands/rewindCommand.js.map +1 -1
  245. package/dist/src/ui/commands/skillsCommand.js +1 -1
  246. package/dist/src/ui/commands/skillsCommand.js.map +1 -1
  247. package/dist/src/ui/commands/skillsCommand.test.js +19 -0
  248. package/dist/src/ui/commands/skillsCommand.test.js.map +1 -1
  249. package/dist/src/ui/commands/types.d.ts +3 -1
  250. package/dist/src/ui/commands/types.js.map +1 -1
  251. package/dist/src/ui/components/AsciiArt.d.ts +6 -6
  252. package/dist/src/ui/components/AsciiArt.js +6 -6
  253. package/dist/src/ui/components/AskUserDialog.js +3 -1
  254. package/dist/src/ui/components/AskUserDialog.js.map +1 -1
  255. package/dist/src/ui/components/AskUserDialog.test.js +43 -0
  256. package/dist/src/ui/components/AskUserDialog.test.js.map +1 -1
  257. package/dist/src/ui/components/Composer.js +1 -1
  258. package/dist/src/ui/components/Composer.js.map +1 -1
  259. package/dist/src/ui/components/DialogManager.js +4 -0
  260. package/dist/src/ui/components/DialogManager.js.map +1 -1
  261. package/dist/src/ui/components/EditorSettingsDialog.js +3 -6
  262. package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -1
  263. package/dist/src/ui/components/Footer.js +6 -0
  264. package/dist/src/ui/components/Footer.js.map +1 -1
  265. package/dist/src/ui/components/FooterConfigDialog.js +1 -0
  266. package/dist/src/ui/components/FooterConfigDialog.js.map +1 -1
  267. package/dist/src/ui/components/FooterConfigDialog.test.js +1 -1
  268. package/dist/src/ui/components/FooterConfigDialog.test.js.map +1 -1
  269. package/dist/src/ui/components/HistoryItemDisplay.js +3 -1
  270. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  271. package/dist/src/ui/components/HistoryItemDisplay.test.js +15 -0
  272. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -1
  273. package/dist/src/ui/components/{SkillInboxDialog.d.ts → InboxDialog.d.ts} +3 -2
  274. package/dist/src/ui/components/InboxDialog.js +756 -0
  275. package/dist/src/ui/components/InboxDialog.js.map +1 -0
  276. package/dist/src/ui/components/InboxDialog.test.d.ts +6 -0
  277. package/dist/src/ui/components/InboxDialog.test.js +824 -0
  278. package/dist/src/ui/components/InboxDialog.test.js.map +1 -0
  279. package/dist/src/ui/components/InputPrompt.d.ts +3 -0
  280. package/dist/src/ui/components/InputPrompt.js +35 -17
  281. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  282. package/dist/src/ui/components/InputPrompt.test.js +95 -46
  283. package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  284. package/dist/src/ui/components/ListeningIndicator.d.ts +10 -0
  285. package/dist/src/ui/components/ListeningIndicator.js +30 -0
  286. package/dist/src/ui/components/ListeningIndicator.js.map +1 -0
  287. package/dist/src/ui/components/MainContent.test.js +23 -3
  288. package/dist/src/ui/components/MainContent.test.js.map +1 -1
  289. package/dist/src/ui/components/ModelDialog.js +32 -37
  290. package/dist/src/ui/components/ModelDialog.js.map +1 -1
  291. package/dist/src/ui/components/ModelDialog.test.js +30 -27
  292. package/dist/src/ui/components/ModelDialog.test.js.map +1 -1
  293. package/dist/src/ui/components/ModelStatsDisplay.js +1 -1
  294. package/dist/src/ui/components/ModelStatsDisplay.js.map +1 -1
  295. package/dist/src/ui/components/ModelStatsDisplay.test.js +41 -0
  296. package/dist/src/ui/components/ModelStatsDisplay.test.js.map +1 -1
  297. package/dist/src/ui/components/SessionBrowser.js +7 -0
  298. package/dist/src/ui/components/SessionBrowser.js.map +1 -1
  299. package/dist/src/ui/components/SessionSummaryDisplay.js +9 -4
  300. package/dist/src/ui/components/SessionSummaryDisplay.js.map +1 -1
  301. package/dist/src/ui/components/SessionSummaryDisplay.test.js +12 -23
  302. package/dist/src/ui/components/SessionSummaryDisplay.test.js.map +1 -1
  303. package/dist/src/ui/components/SettingsDialog.js +37 -17
  304. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  305. package/dist/src/ui/components/SettingsDialog.test.js +83 -1
  306. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  307. package/dist/src/ui/components/StatsDisplay.js +2 -2
  308. package/dist/src/ui/components/StatsDisplay.js.map +1 -1
  309. package/dist/src/ui/components/StatsDisplay.test.js +24 -0
  310. package/dist/src/ui/components/StatsDisplay.test.js.map +1 -1
  311. package/dist/src/ui/components/ThemeDialog.constants.d.ts +26 -0
  312. package/dist/src/ui/components/ThemeDialog.constants.js +27 -0
  313. package/dist/src/ui/components/ThemeDialog.constants.js.map +1 -0
  314. package/dist/src/ui/components/ThemeDialog.js +5 -15
  315. package/dist/src/ui/components/ThemeDialog.js.map +1 -1
  316. package/dist/src/ui/components/ToolConfirmationQueue.test.js +1 -1
  317. package/dist/src/ui/components/ToolConfirmationQueue.test.js.map +1 -1
  318. package/dist/src/ui/components/VoiceModelDialog.js +7 -2
  319. package/dist/src/ui/components/VoiceModelDialog.js.map +1 -1
  320. package/dist/src/ui/components/VoiceModelDialog.test.d.ts +6 -0
  321. package/dist/src/ui/components/VoiceModelDialog.test.js +68 -0
  322. package/dist/src/ui/components/VoiceModelDialog.test.js.map +1 -0
  323. package/dist/src/ui/components/messages/ExportSessionMessage.d.ts +11 -0
  324. package/dist/src/ui/components/messages/ExportSessionMessage.js +15 -0
  325. package/dist/src/ui/components/messages/ExportSessionMessage.js.map +1 -0
  326. package/dist/src/ui/components/messages/ExportSessionMessage.test.d.ts +6 -0
  327. package/dist/src/ui/components/messages/ExportSessionMessage.test.js +31 -0
  328. package/dist/src/ui/components/messages/ExportSessionMessage.test.js.map +1 -0
  329. package/dist/src/ui/components/messages/ShellToolMessage.js +6 -2
  330. package/dist/src/ui/components/messages/ShellToolMessage.js.map +1 -1
  331. package/dist/src/ui/components/messages/ShellToolMessage.test.js +33 -0
  332. package/dist/src/ui/components/messages/ShellToolMessage.test.js.map +1 -1
  333. package/dist/src/ui/components/messages/SubagentGroupDisplay.js +13 -13
  334. package/dist/src/ui/components/messages/SubagentGroupDisplay.js.map +1 -1
  335. package/dist/src/ui/components/messages/SubagentGroupDisplay.test.js +5 -5
  336. package/dist/src/ui/components/messages/SubagentGroupDisplay.test.js.map +1 -1
  337. package/dist/src/ui/components/messages/SubagentHistoryMessage.test.js +4 -3
  338. package/dist/src/ui/components/messages/SubagentHistoryMessage.test.js.map +1 -1
  339. package/dist/src/ui/components/messages/SubagentProgressDisplay.d.ts +1 -1
  340. package/dist/src/ui/components/messages/SubagentProgressDisplay.js +7 -6
  341. package/dist/src/ui/components/messages/SubagentProgressDisplay.js.map +1 -1
  342. package/dist/src/ui/components/messages/SubagentProgressDisplay.test.js +10 -9
  343. package/dist/src/ui/components/messages/SubagentProgressDisplay.test.js.map +1 -1
  344. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +3 -9
  345. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  346. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +60 -0
  347. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
  348. package/dist/src/ui/components/messages/ToolGroupDisplay.d.ts +13 -0
  349. package/dist/src/ui/components/messages/ToolGroupDisplay.js +78 -0
  350. package/dist/src/ui/components/messages/ToolGroupDisplay.js.map +1 -0
  351. package/dist/src/ui/components/messages/ToolGroupDisplay.test.d.ts +6 -0
  352. package/dist/src/ui/components/messages/ToolGroupDisplay.test.js +210 -0
  353. package/dist/src/ui/components/messages/ToolGroupDisplay.test.js.map +1 -0
  354. package/dist/src/ui/components/messages/ToolGroupMessage.js +4 -2
  355. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
  356. package/dist/src/ui/components/messages/ToolGroupMessage.test.js +28 -0
  357. package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -1
  358. package/dist/src/ui/components/messages/ToolGroupMessageRegression.test.js +3 -3
  359. package/dist/src/ui/components/messages/ToolGroupMessageRegression.test.js.map +1 -1
  360. package/dist/src/ui/components/messages/ToolMessage.js +6 -2
  361. package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
  362. package/dist/src/ui/components/messages/ToolShared.d.ts +1 -0
  363. package/dist/src/ui/components/messages/ToolShared.js +5 -3
  364. package/dist/src/ui/components/messages/ToolShared.js.map +1 -1
  365. package/dist/src/ui/components/messages/ToolShared.test.js +18 -1
  366. package/dist/src/ui/components/messages/ToolShared.test.js.map +1 -1
  367. package/dist/src/ui/components/shared/BaseSettingsDialog.d.ts +6 -1
  368. package/dist/src/ui/components/shared/BaseSettingsDialog.js +8 -8
  369. package/dist/src/ui/components/shared/BaseSettingsDialog.js.map +1 -1
  370. package/dist/src/ui/components/shared/performance.test.js +9 -0
  371. package/dist/src/ui/components/shared/performance.test.js.map +1 -1
  372. package/dist/src/ui/components/shared/text-buffer.js +22 -5
  373. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  374. package/dist/src/ui/components/shared/text-buffer.test.js +211 -0
  375. package/dist/src/ui/components/shared/text-buffer.test.js.map +1 -1
  376. package/dist/src/ui/constants/tips.js +0 -1
  377. package/dist/src/ui/constants/tips.js.map +1 -1
  378. package/dist/src/ui/contexts/UIActionsContext.d.ts +1 -0
  379. package/dist/src/ui/contexts/UIActionsContext.js.map +1 -1
  380. package/dist/src/ui/contexts/UIStateContext.d.ts +2 -0
  381. package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
  382. package/dist/src/ui/hooks/atCommandProcessor.js +78 -69
  383. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  384. package/dist/src/ui/hooks/atCommandProcessor.test.js +128 -18
  385. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
  386. package/dist/src/ui/hooks/slashCommandProcessor.js +13 -0
  387. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  388. package/dist/src/ui/hooks/slashCommandProcessor.test.js +85 -0
  389. package/dist/src/ui/hooks/slashCommandProcessor.test.js.map +1 -1
  390. package/dist/src/ui/hooks/useAgentStream.d.ts +2 -2
  391. package/dist/src/ui/hooks/useAgentStream.js +63 -30
  392. package/dist/src/ui/hooks/useAgentStream.js.map +1 -1
  393. package/dist/src/ui/hooks/useAgentStream.test.js +1 -1
  394. package/dist/src/ui/hooks/useAgentStream.test.js.map +1 -1
  395. package/dist/src/ui/hooks/useAtCompletion.js +0 -2
  396. package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
  397. package/dist/src/ui/hooks/useGeminiStream.d.ts +2 -2
  398. package/dist/src/ui/hooks/useGeminiStream.js +48 -29
  399. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  400. package/dist/src/ui/hooks/useGeminiStream.test.js +44 -82
  401. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  402. package/dist/src/ui/hooks/useGitBranchName.js +29 -16
  403. package/dist/src/ui/hooks/useGitBranchName.js.map +1 -1
  404. package/dist/src/ui/hooks/useGitBranchName.test.js +102 -51
  405. package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -1
  406. package/dist/src/ui/hooks/useIncludeDirsTrust.js +2 -2
  407. package/dist/src/ui/hooks/useIncludeDirsTrust.js.map +1 -1
  408. package/dist/src/ui/hooks/useIncludeDirsTrust.test.js +2 -0
  409. package/dist/src/ui/hooks/useIncludeDirsTrust.test.js.map +1 -1
  410. package/dist/src/ui/hooks/useMessageQueue.d.ts +2 -1
  411. package/dist/src/ui/hooks/useMessageQueue.js +3 -1
  412. package/dist/src/ui/hooks/useMessageQueue.js.map +1 -1
  413. package/dist/src/ui/hooks/useMessageQueue.test.js +38 -0
  414. package/dist/src/ui/hooks/useMessageQueue.test.js.map +1 -1
  415. package/dist/src/ui/hooks/useSessionBrowser.d.ts +3 -3
  416. package/dist/src/ui/hooks/useSessionBrowser.js.map +1 -1
  417. package/dist/src/ui/hooks/useSessionBrowser.test.js +44 -38
  418. package/dist/src/ui/hooks/useSessionBrowser.test.js.map +1 -1
  419. package/dist/src/ui/hooks/useSessionResume.d.ts +3 -3
  420. package/dist/src/ui/hooks/useSessionResume.js.map +1 -1
  421. package/dist/src/ui/hooks/useSessionResume.test.js +6 -4
  422. package/dist/src/ui/hooks/useSessionResume.test.js.map +1 -1
  423. package/dist/src/ui/hooks/useSuspend.d.ts +1 -3
  424. package/dist/src/ui/hooks/useSuspend.js +3 -17
  425. package/dist/src/ui/hooks/useSuspend.js.map +1 -1
  426. package/dist/src/ui/hooks/useSuspend.test.js +0 -14
  427. package/dist/src/ui/hooks/useSuspend.test.js.map +1 -1
  428. package/dist/src/ui/hooks/useToolScheduler.test.js +6 -6
  429. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  430. package/dist/src/ui/hooks/useVoiceMode.js +25 -19
  431. package/dist/src/ui/hooks/useVoiceMode.js.map +1 -1
  432. package/dist/src/ui/hooks/vim-passthrough.test.js +10 -0
  433. package/dist/src/ui/hooks/vim-passthrough.test.js.map +1 -1
  434. package/dist/src/ui/hooks/vim.js +8 -0
  435. package/dist/src/ui/hooks/vim.js.map +1 -1
  436. package/dist/src/ui/hooks/vim.test.js +61 -0
  437. package/dist/src/ui/hooks/vim.test.js.map +1 -1
  438. package/dist/src/ui/key/keyBindings.d.ts +2 -0
  439. package/dist/src/ui/key/keyBindings.js +26 -9
  440. package/dist/src/ui/key/keyBindings.js.map +1 -1
  441. package/dist/src/ui/key/keyBindings.test.js +24 -0
  442. package/dist/src/ui/key/keyBindings.test.js.map +1 -1
  443. package/dist/src/ui/key/keyMatchers.test.js +26 -5
  444. package/dist/src/ui/key/keyMatchers.test.js.map +1 -1
  445. package/dist/src/ui/themes/theme-manager.js +0 -2
  446. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  447. package/dist/src/ui/types.d.ts +23 -2
  448. package/dist/src/ui/types.js +3 -2
  449. package/dist/src/ui/types.js.map +1 -1
  450. package/dist/src/ui/utils/TableRenderer.js +6 -6
  451. package/dist/src/ui/utils/TableRenderer.js.map +1 -1
  452. package/dist/src/ui/utils/TableRenderer.test.js +10 -0
  453. package/dist/src/ui/utils/TableRenderer.test.js.map +1 -1
  454. package/dist/src/ui/utils/directoryUtils.test.js +0 -5
  455. package/dist/src/ui/utils/directoryUtils.test.js.map +1 -1
  456. package/dist/src/ui/utils/editorUtils.d.ts +2 -1
  457. package/dist/src/ui/utils/editorUtils.js +75 -28
  458. package/dist/src/ui/utils/editorUtils.js.map +1 -1
  459. package/dist/src/ui/utils/latexToUnicode.d.ts +21 -0
  460. package/dist/src/ui/utils/latexToUnicode.js +538 -0
  461. package/dist/src/ui/utils/latexToUnicode.js.map +1 -0
  462. package/dist/src/ui/utils/latexToUnicode.test.d.ts +6 -0
  463. package/dist/src/ui/utils/latexToUnicode.test.js +222 -0
  464. package/dist/src/ui/utils/latexToUnicode.test.js.map +1 -0
  465. package/dist/src/ui/utils/markdownParsingUtils.d.ts +1 -5
  466. package/dist/src/ui/utils/markdownParsingUtils.js +36 -1
  467. package/dist/src/ui/utils/markdownParsingUtils.js.map +1 -1
  468. package/dist/src/ui/utils/markdownParsingUtils.test.js +35 -0
  469. package/dist/src/ui/utils/markdownParsingUtils.test.js.map +1 -1
  470. package/dist/src/ui/utils/memorySnapshot.d.ts +19 -0
  471. package/dist/src/ui/utils/memorySnapshot.js +28 -0
  472. package/dist/src/ui/utils/memorySnapshot.js.map +1 -0
  473. package/dist/src/ui/utils/memorySnapshot.test.d.ts +6 -0
  474. package/dist/src/ui/utils/memorySnapshot.test.js +62 -0
  475. package/dist/src/ui/utils/memorySnapshot.test.js.map +1 -0
  476. package/dist/src/ui/utils/updateCheck.js +11 -2
  477. package/dist/src/ui/utils/updateCheck.js.map +1 -1
  478. package/dist/src/ui/utils/updateCheck.test.js +73 -0
  479. package/dist/src/ui/utils/updateCheck.test.js.map +1 -1
  480. package/dist/src/utils/commands.d.ts +1 -1
  481. package/dist/src/utils/commands.js +1 -1
  482. package/dist/src/utils/commands.test.js +14 -14
  483. package/dist/src/utils/commands.test.js.map +1 -1
  484. package/dist/src/utils/envVarResolver.js +10 -7
  485. package/dist/src/utils/envVarResolver.js.map +1 -1
  486. package/dist/src/utils/gitUtils.js +1 -2
  487. package/dist/src/utils/gitUtils.js.map +1 -1
  488. package/dist/src/utils/handleAutoUpdate.d.ts +1 -1
  489. package/dist/src/utils/handleAutoUpdate.js +15 -3
  490. package/dist/src/utils/handleAutoUpdate.js.map +1 -1
  491. package/dist/src/utils/handleAutoUpdate.test.js +45 -16
  492. package/dist/src/utils/handleAutoUpdate.test.js.map +1 -1
  493. package/dist/src/utils/installationInfo.d.ts +1 -0
  494. package/dist/src/utils/installationInfo.js +16 -1
  495. package/dist/src/utils/installationInfo.js.map +1 -1
  496. package/dist/src/utils/installationInfo.test.js +16 -0
  497. package/dist/src/utils/installationInfo.test.js.map +1 -1
  498. package/dist/src/utils/jsonoutput.js +0 -2
  499. package/dist/src/utils/jsonoutput.js.map +1 -1
  500. package/dist/src/utils/processUtils.d.ts +28 -0
  501. package/dist/src/utils/processUtils.js +71 -0
  502. package/dist/src/utils/processUtils.js.map +1 -1
  503. package/dist/src/utils/processUtils.test.js +122 -1
  504. package/dist/src/utils/processUtils.test.js.map +1 -1
  505. package/dist/src/utils/readStdin.js +22 -4
  506. package/dist/src/utils/readStdin.js.map +1 -1
  507. package/dist/src/utils/readStdin.test.js +32 -0
  508. package/dist/src/utils/readStdin.test.js.map +1 -1
  509. package/dist/src/utils/relaunch.js +6 -13
  510. package/dist/src/utils/relaunch.js.map +1 -1
  511. package/dist/src/utils/relaunch.test.js +82 -86
  512. package/dist/src/utils/relaunch.test.js.map +1 -1
  513. package/dist/src/utils/sandbox.js +34 -24
  514. package/dist/src/utils/sandbox.js.map +1 -1
  515. package/dist/src/utils/sandbox.test.js +108 -9
  516. package/dist/src/utils/sandbox.test.js.map +1 -1
  517. package/dist/src/utils/sandboxUtils.js +12 -7
  518. package/dist/src/utils/sandboxUtils.js.map +1 -1
  519. package/dist/src/utils/sandboxUtils.test.js +68 -0
  520. package/dist/src/utils/sandboxUtils.test.js.map +1 -1
  521. package/dist/src/utils/sessionCleanup.js +49 -14
  522. package/dist/src/utils/sessionCleanup.js.map +1 -1
  523. package/dist/src/utils/sessionCleanup.test.js +63 -0
  524. package/dist/src/utils/sessionCleanup.test.js.map +1 -1
  525. package/dist/src/utils/sessionUtils.js +22 -7
  526. package/dist/src/utils/sessionUtils.js.map +1 -1
  527. package/dist/src/utils/sessionUtils.test.js +99 -0
  528. package/dist/src/utils/sessionUtils.test.js.map +1 -1
  529. package/dist/src/utils/sessions.js +2 -4
  530. package/dist/src/utils/sessions.js.map +1 -1
  531. package/dist/src/utils/sessions.test.js +9 -12
  532. package/dist/src/utils/sessions.test.js.map +1 -1
  533. package/dist/src/utils/userStartupWarnings.js +4 -3
  534. package/dist/src/utils/userStartupWarnings.js.map +1 -1
  535. package/dist/src/utils/userStartupWarnings.test.js +40 -3
  536. package/dist/src/utils/userStartupWarnings.test.js.map +1 -1
  537. package/dist/src/validateNonInterActiveAuth.js +1 -1
  538. package/dist/src/validateNonInterActiveAuth.js.map +1 -1
  539. package/dist/tsconfig.tsbuildinfo +1 -1
  540. package/package.json +4 -4
  541. package/dist/src/acp/acpClient.d.ts +0 -56
  542. package/dist/src/acp/acpClient.js.map +0 -1
  543. package/dist/src/acp/acpClient.test.js +0 -1816
  544. package/dist/src/acp/acpClient.test.js.map +0 -1
  545. package/dist/src/acp/commandHandler.js.map +0 -1
  546. package/dist/src/acp/commandHandler.test.js.map +0 -1
  547. package/dist/src/acp/fileSystemService.js.map +0 -1
  548. package/dist/src/acp/fileSystemService.test.js.map +0 -1
  549. package/dist/src/ui/auth/LoginWithGoogleRestartDialog.d.ts +0 -12
  550. package/dist/src/ui/auth/LoginWithGoogleRestartDialog.js.map +0 -1
  551. package/dist/src/ui/auth/LoginWithGoogleRestartDialog.test.js.map +0 -1
  552. package/dist/src/ui/components/SkillInboxDialog.js +0 -420
  553. package/dist/src/ui/components/SkillInboxDialog.js.map +0 -1
  554. package/dist/src/ui/components/SkillInboxDialog.test.js +0 -467
  555. package/dist/src/ui/components/SkillInboxDialog.test.js.map +0 -1
  556. /package/dist/src/acp/{commandHandler.test.d.ts → acpCommandHandler.test.d.ts} +0 -0
  557. /package/dist/src/{ui/components/SkillInboxDialog.test.d.ts → acp/acpFileSystemService.test.d.ts} +0 -0
  558. /package/dist/src/{acp/acpClient.test.d.ts → config/mutual-exclusivity.test.d.ts} +0 -0
  559. /package/dist/src/{acp/fileSystemService.test.d.ts → ui/commands/bugMemoryCommand.test.d.ts} +0 -0
  560. /package/dist/src/ui/{auth/LoginWithGoogleRestartDialog.test.d.ts → commands/exportSessionCommand.test.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"relaunch.js","sourceRoot":"","sources":["../../../src/utils/relaunch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relaunch.js","sourceRoot":"","sources":["../../../src/utils/relaunch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,aAAa,GAEd,MAAM,yBAAyB,CAAC;AAEjC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAA6B;IACpE,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,EAAE,CAAC;YAEhC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;gBACtE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1E,aAAa,CACX,qDAAqD,YAAY,IAAI,CACtE,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,kBAA4B,EAC5B,oBAA8B,EAC9B,mBAA2C;IAE3C,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC;QACxC,OAAO;IACT,CAAC;IAED,IAAI,mBAAmB,GAAG,mBAAmB,CAAC;IAE9C,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QACnC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,kBAAkB,EAAE;YACpE,GAAG,oBAAoB;YACvB,GAAG,UAAU;SACd,CAAC,CAAC;QAEH,kFAAkF;QAClF,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAEtB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE;YAC/C,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC;YAC/C,GAAG,EAAE,MAAM;SACZ,CAAC,CAAC;QAEH,IAAI,mBAAmB,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAA0C,EAAE,EAAE;YACjE,IAAI,GAAG,CAAC,IAAI,KAAK,uBAAuB,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACzD,mBAAmB,GAAG,GAAG,CAAC,QAAiC,CAAC;YAC9D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC1B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,gDAAgD;gBAChD,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACvB,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC"}
@@ -30,6 +30,13 @@ import { relaunchAppInChildProcess, relaunchOnExitCode } from './relaunch.js';
30
30
  describe('relaunchOnExitCode', () => {
31
31
  let processExitSpy;
32
32
  let stdinResumeSpy;
33
+ const originalPlatform = process.platform;
34
+ const setPlatform = (platform) => {
35
+ Object.defineProperty(process, 'platform', {
36
+ value: platform,
37
+ configurable: true,
38
+ });
39
+ };
33
40
  beforeEach(() => {
34
41
  processExitSpy = vi.spyOn(process, 'exit').mockImplementation(() => {
35
42
  throw new Error('PROCESS_EXIT_CALLED');
@@ -41,6 +48,8 @@ describe('relaunchOnExitCode', () => {
41
48
  mocks.writeToStderr.mockClear();
42
49
  });
43
50
  afterEach(() => {
51
+ vi.unstubAllEnvs();
52
+ setPlatform(originalPlatform);
44
53
  processExitSpy.mockRestore();
45
54
  stdinResumeSpy.mockRestore();
46
55
  });
@@ -64,6 +73,13 @@ describe('relaunchOnExitCode', () => {
64
73
  expect(runner).toHaveBeenCalledTimes(3);
65
74
  expect(processExitSpy).toHaveBeenCalledWith(0);
66
75
  });
76
+ it('should not relaunch on Android when RELAUNCH_EXIT_CODE is returned', async () => {
77
+ setPlatform('android');
78
+ const runner = vi.fn().mockResolvedValue(RELAUNCH_EXIT_CODE);
79
+ await expect(relaunchOnExitCode(runner)).rejects.toThrow('PROCESS_EXIT_CALLED');
80
+ expect(runner).toHaveBeenCalledTimes(1);
81
+ expect(processExitSpy).toHaveBeenCalledWith(RELAUNCH_EXIT_CODE);
82
+ });
67
83
  it('should handle runner errors', async () => {
68
84
  const error = new Error('Runner failed');
69
85
  const runner = vi.fn().mockRejectedValue(error);
@@ -79,15 +95,15 @@ describe('relaunchAppInChildProcess', () => {
79
95
  let stdinPauseSpy;
80
96
  let stdinResumeSpy;
81
97
  // Store original values to restore later
82
- const originalEnv = { ...process.env };
83
98
  const originalExecArgv = [...process.execArgv];
84
99
  const originalArgv = [...process.argv];
85
100
  const originalExecPath = process.execPath;
86
101
  beforeEach(() => {
87
102
  vi.clearAllMocks();
88
103
  mocks.writeToStderr.mockClear();
89
- process.env = { ...originalEnv };
90
- delete process.env['CELL_CLI_NO_RELAUNCH'];
104
+ vi.stubEnv('CELL_CLI_NO_RELAUNCH', '');
105
+ vi.stubEnv('IS_BINARY', '');
106
+ vi.stubEnv('NODE_OPTIONS', '');
91
107
  process.execArgv = [...originalExecArgv];
92
108
  process.argv = [...originalArgv];
93
109
  process.execPath = '/usr/bin/node';
@@ -102,7 +118,7 @@ describe('relaunchAppInChildProcess', () => {
102
118
  .mockImplementation(() => process.stdin);
103
119
  });
104
120
  afterEach(() => {
105
- process.env = { ...originalEnv };
121
+ vi.unstubAllEnvs();
106
122
  process.execArgv = [...originalExecArgv];
107
123
  process.argv = [...originalArgv];
108
124
  process.execPath = originalExecPath;
@@ -112,7 +128,7 @@ describe('relaunchAppInChildProcess', () => {
112
128
  });
113
129
  describe('when CELL_CLI_NO_RELAUNCH is set', () => {
114
130
  it('should return early without spawning a child process', async () => {
115
- process.env['CELL_CLI_NO_RELAUNCH'] = 'true';
131
+ vi.stubEnv('CELL_CLI_NO_RELAUNCH', 'true');
116
132
  await relaunchAppInChildProcess(['--test'], ['--verbose']);
117
133
  expect(mockedSpawn).not.toHaveBeenCalled();
118
134
  expect(processExitSpy).not.toHaveBeenCalled();
@@ -120,14 +136,11 @@ describe('relaunchAppInChildProcess', () => {
120
136
  });
121
137
  describe('when CELL_CLI_NO_RELAUNCH is not set', () => {
122
138
  beforeEach(() => {
123
- delete process.env['CELL_CLI_NO_RELAUNCH'];
139
+ vi.stubEnv('CELL_CLI_NO_RELAUNCH', '');
124
140
  });
125
- it('should construct correct node arguments from execArgv, additionalNodeArgs, script, additionalScriptArgs, and argv', () => {
126
- // Test the argument construction logic directly by extracting it into a testable function
127
- // This tests the same logic that's used in relaunchAppInChildProcess
128
- // Setup test data to verify argument ordering
129
- const mockExecArgv = ['--inspect=9229', '--trace-warnings'];
130
- const mockArgv = [
141
+ it('should construct correct spawn arguments and use command line for node arguments in standard Node mode', async () => {
142
+ process.execArgv = ['--inspect=9229', '--trace-warnings'];
143
+ process.argv = [
131
144
  '/usr/bin/node',
132
145
  '/path/to/cli.js',
133
146
  'command',
@@ -139,96 +152,77 @@ describe('relaunchAppInChildProcess', () => {
139
152
  '--experimental-modules',
140
153
  ];
141
154
  const additionalScriptArgs = ['--model', 'gemini-1.5-pro', '--debug'];
142
- // Extract the argument construction logic from relaunchAppInChildProcess
143
- const script = mockArgv[1];
144
- const scriptArgs = mockArgv.slice(2);
145
- const nodeArgs = [
146
- ...mockExecArgv,
147
- ...additionalNodeArgs,
148
- script,
149
- ...additionalScriptArgs,
150
- ...scriptArgs,
151
- ];
152
- // Verify the argument construction follows the expected pattern:
153
- // [...process.execArgv, ...additionalNodeArgs, script, ...additionalScriptArgs, ...scriptArgs]
154
- const expectedArgs = [
155
- // Original node execution arguments
155
+ const mockChild = createMockChildProcess(0, true);
156
+ mockedSpawn.mockReturnValue(mockChild);
157
+ await expect(relaunchAppInChildProcess(additionalNodeArgs, additionalScriptArgs)).rejects.toThrow('PROCESS_EXIT_CALLED');
158
+ expect(mockedSpawn).toHaveBeenCalledWith(process.execPath, [
156
159
  '--inspect=9229',
157
160
  '--trace-warnings',
158
- // Additional node arguments passed to function
159
161
  '--max-old-space-size=4096',
160
162
  '--experimental-modules',
161
- // The script path
162
163
  '/path/to/cli.js',
163
- // Additional script arguments passed to function
164
164
  '--model',
165
165
  'gemini-1.5-pro',
166
166
  '--debug',
167
- // Original script arguments (everything after the script in process.argv)
168
167
  'command',
169
168
  '--flag=value',
170
169
  '--verbose',
170
+ ], expect.objectContaining({
171
+ env: expect.objectContaining({
172
+ CELL_CLI_NO_RELAUNCH: 'true',
173
+ }),
174
+ }));
175
+ const lastCall = mockedSpawn.mock.calls[0];
176
+ const env = lastCall[2].env;
177
+ expect(env['NODE_OPTIONS']).toBeFalsy();
178
+ });
179
+ it('should handle SEA binary mode (IS_BINARY=true) correctly using NODE_OPTIONS', async () => {
180
+ vi.stubEnv('IS_BINARY', 'true');
181
+ // execArgv should be inherited, not duplicated in NODE_OPTIONS
182
+ process.execArgv = ['--inspect=9229'];
183
+ process.argv = [
184
+ '/usr/bin/gemini',
185
+ '/usr/bin/gemini',
186
+ 'command',
187
+ '--verbose',
171
188
  ];
172
- expect(nodeArgs).toEqual(expectedArgs);
189
+ const additionalNodeArgs = ['--max-old-space-size=8192'];
190
+ const additionalScriptArgs = [];
191
+ const mockChild = createMockChildProcess(0, true);
192
+ mockedSpawn.mockReturnValue(mockChild);
193
+ await expect(relaunchAppInChildProcess(additionalNodeArgs, additionalScriptArgs)).rejects.toThrow('PROCESS_EXIT_CALLED');
194
+ expect(mockedSpawn).toHaveBeenCalledWith(process.execPath, ['/usr/bin/node', 'command', '--verbose'], expect.objectContaining({
195
+ env: expect.objectContaining({
196
+ CELL_CLI_NO_RELAUNCH: 'true',
197
+ NODE_OPTIONS: '--max-old-space-size=8192',
198
+ }),
199
+ }));
173
200
  });
174
- it('should handle empty additional arguments correctly', () => {
175
- // Test edge cases with empty arrays
176
- const mockExecArgv = ['--trace-warnings'];
177
- const mockArgv = ['/usr/bin/node', '/app/cli.js', 'start'];
178
- const additionalNodeArgs = [];
201
+ it('should append new nodeArgs to NODE_OPTIONS in SEA mode without escaping', async () => {
202
+ vi.stubEnv('IS_BINARY', 'true');
203
+ vi.stubEnv('NODE_OPTIONS', '--existing-flag');
204
+ process.execArgv = ['--inspect']; // inherited from env/binary, should not be duplicated
205
+ process.argv = ['/usr/bin/gemini', '/usr/bin/gemini', 'command'];
206
+ // In our use case, these are simple flags like --max-old-space-size=X
207
+ const additionalNodeArgs = ['--max-old-space-size=8192'];
179
208
  const additionalScriptArgs = [];
180
- // Extract the argument construction logic
181
- const script = mockArgv[1];
182
- const scriptArgs = mockArgv.slice(2);
183
- const nodeArgs = [
184
- ...mockExecArgv,
185
- ...additionalNodeArgs,
186
- script,
187
- ...additionalScriptArgs,
188
- ...scriptArgs,
189
- ];
190
- const expectedArgs = ['--trace-warnings', '/app/cli.js', 'start'];
191
- expect(nodeArgs).toEqual(expectedArgs);
209
+ const mockChild = createMockChildProcess(0, true);
210
+ mockedSpawn.mockReturnValue(mockChild);
211
+ await expect(relaunchAppInChildProcess(additionalNodeArgs, additionalScriptArgs)).rejects.toThrow('PROCESS_EXIT_CALLED');
212
+ expect(mockedSpawn).toHaveBeenCalledWith(process.execPath, ['/usr/bin/node', 'command'], expect.objectContaining({
213
+ env: expect.objectContaining({
214
+ NODE_OPTIONS: '--existing-flag --max-old-space-size=8192',
215
+ }),
216
+ }));
192
217
  });
193
- it('should handle complex argument patterns', () => {
194
- // Test with various argument types including flags with values, boolean flags, etc.
195
- const mockExecArgv = ['--max-old-space-size=8192'];
196
- const mockArgv = [
197
- '/usr/bin/node',
198
- '/cli.js',
199
- '--config=/path/to/config.json',
200
- '--verbose',
201
- 'subcommand',
202
- '--output',
203
- 'file.txt',
204
- ];
205
- const additionalNodeArgs = ['--inspect-brk=9230'];
206
- const additionalScriptArgs = ['--model=gpt-4', '--temperature=0.7'];
207
- const script = mockArgv[1];
208
- const scriptArgs = mockArgv.slice(2);
209
- const nodeArgs = [
210
- ...mockExecArgv,
211
- ...additionalNodeArgs,
212
- script,
213
- ...additionalScriptArgs,
214
- ...scriptArgs,
215
- ];
216
- const expectedArgs = [
217
- '--max-old-space-size=8192',
218
- '--inspect-brk=9230',
219
- '/cli.js',
220
- '--model=gpt-4',
221
- '--temperature=0.7',
222
- '--config=/path/to/config.json',
223
- '--verbose',
224
- 'subcommand',
225
- '--output',
226
- 'file.txt',
227
- ];
228
- expect(nodeArgs).toEqual(expectedArgs);
218
+ it('should handle empty additional arguments correctly in Node mode', async () => {
219
+ process.execArgv = ['--trace-warnings'];
220
+ process.argv = ['/usr/bin/node', '/app/cli.js', 'start'];
221
+ const mockChild = createMockChildProcess(0, true);
222
+ mockedSpawn.mockReturnValue(mockChild);
223
+ await expect(relaunchAppInChildProcess([], [])).rejects.toThrow('PROCESS_EXIT_CALLED');
224
+ expect(mockedSpawn).toHaveBeenCalledWith(process.execPath, ['--trace-warnings', '/app/cli.js', 'start'], expect.anything());
229
225
  });
230
- // Note: Additional integration tests for spawn behavior are complex due to module mocking
231
- // limitations with ES modules. The core logic is tested in relaunchOnExitCode tests.
232
226
  it('should handle null exit code from child process', async () => {
233
227
  process.argv = ['/usr/bin/node', '/app/cli.js'];
234
228
  const mockChild = createMockChildProcess(0, false); // Don't auto-close
@@ -268,6 +262,8 @@ function createMockChildProcess(exitCode = 0, autoClose = false) {
268
262
  disconnect: vi.fn(),
269
263
  unref: vi.fn(),
270
264
  ref: vi.fn(),
265
+ on: mockChild.on.bind(mockChild),
266
+ emit: mockChild.emit.bind(mockChild),
271
267
  });
272
268
  if (autoClose) {
273
269
  setImmediate(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"relaunch.test.js","sourceRoot":"","sources":["../../../src/utils/relaunch.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relaunch.test.js","sourceRoot":"","sources":["../../../src/utils/relaunch.test.ts"],"names":[],"mappings":"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"}
@@ -229,6 +229,9 @@ export async function start_sandbox(config, nodeArgs = [], cliConfig, cliArgs =
229
229
  // use interactive mode and auto-remove container on exit
230
230
  // run init binary inside container to forward signals & reap zombies
231
231
  const args = ['run', '-i', '--rm', '--init', '--workdir', containerWorkdir];
232
+ // explicitly clear the entrypoint to prevent the container's default
233
+ // entrypoint from interfering with the CLI's spawn command.
234
+ args.push('--entrypoint', '');
232
235
  // add runsc runtime if using runsc
233
236
  if (config.command === 'runsc') {
234
237
  args.push('--runtime=runsc');
@@ -355,23 +358,15 @@ export async function start_sandbox(config, nodeArgs = [], cliConfig, cliArgs =
355
358
  execSync(`${command} network inspect ${SANDBOX_PROXY_NAME} || ${command} network create ${SANDBOX_PROXY_NAME}`, { stdio: 'ignore' });
356
359
  }
357
360
  }
358
- // name container after image, plus random suffix to avoid conflicts
361
+ // Use a random suffix instead of probing existing containers so concurrent
362
+ // CLI starts cannot race on the same sequential name.
359
363
  const imageName = parseImageName(image);
360
364
  const isIntegrationTest = process.env['CELL_CLI_INTEGRATION_TEST'] === 'true';
361
- let containerName;
362
- if (isIntegrationTest) {
363
- containerName = `gemini-cli-integration-test-${randomBytes(4).toString('hex')}`;
364
- debugLogger.log(`ContainerName: ${containerName}`);
365
- }
366
- else {
367
- let index = 0;
368
- const containerNameCheck = (await execAsync(`${command} ps -a --format "{{.Names}}"`)).stdout.trim();
369
- while (containerNameCheck.includes(`${imageName}-${index}`)) {
370
- index++;
371
- }
372
- containerName = `${imageName}-${index}`;
373
- debugLogger.log(`ContainerName (regular): ${containerName}`);
374
- }
365
+ const containerNamePrefix = isIntegrationTest
366
+ ? 'gemini-cli-integration-test'
367
+ : imageName;
368
+ const containerName = `${containerNamePrefix}-${randomBytes(6).toString('hex')}`;
369
+ debugLogger.log(`ContainerName: ${containerName}`);
375
370
  args.push('--name', containerName, '--hostname', containerName);
376
371
  // copy CELL_CLI_TEST_VAR for integration tests
377
372
  if (process.env['CELL_CLI_TEST_VAR']) {
@@ -494,18 +489,31 @@ export async function start_sandbox(config, nodeArgs = [], cliConfig, cliArgs =
494
489
  // container's /etc/passwd file, which is required by os.userInfo().
495
490
  const username = 'gemini';
496
491
  const homeDir = getContainerPath(homedir());
497
- const setupUserCommands = [
498
- // Use -f with groupadd to avoid errors if the group already exists.
499
- `groupadd -f -g ${gid} ${username}`,
500
- // Create user only if it doesn't exist. Use -o for non-unique UID.
501
- `id -u ${username} &>/dev/null || useradd -o -u ${uid} -g ${gid} -d ${homeDir} -s /bin/bash ${username}`,
502
- ].join(' && ');
492
+ const quotedHomeDir = quote([homeDir]);
503
493
  const originalCommand = finalEntrypoint[2];
504
494
  const escapedOriginalCommand = originalCommand.replace(/'/g, "'\\''");
505
- // Use `su -p` to preserve the environment.
506
- const suCommand = `su -p ${username} -c '${escapedOriginalCommand}'`;
495
+ // Use defensive entrypoint logic that checks for useradd availability.
496
+ // This ensures we can support UID/GID mapping on distros that have these
497
+ // tools. If useradd is missing (e.g. on minimal images), we fail explicitly
498
+ // to avoid insecurely falling back to root execution with host mounts.
499
+ const defensiveEntrypoint = [
500
+ `if command -v useradd >/dev/null 2>&1; then`,
501
+ ` (groupadd -g ${gid} -o ${username} 2>/dev/null || true) &&`,
502
+ ` (id ${uid} >/dev/null 2>&1 || useradd -o -u ${uid} -g ${gid} -d ${quotedHomeDir} -s /bin/bash ${username} 2>/dev/null || true) &&`,
503
+ ` USER_NAME=$(id -nu ${uid} 2>/dev/null);`,
504
+ ` if [ -n "$USER_NAME" ]; then`,
505
+ ` su -p "$USER_NAME" -c '${escapedOriginalCommand}';`,
506
+ ` else`,
507
+ ` echo "Error: Failed to map host UID ${uid} to a user in the container." >&2;`,
508
+ ` exit 1;`,
509
+ ` fi`,
510
+ `else`,
511
+ ` echo "Error: 'useradd' not found in container. UID/GID mapping is required for Linux distros like NixOS/Arch to avoid permission issues. Please use a container image that includes standard user management tools (like 'ubuntu' or 'debian')." >&2;`,
512
+ ` exit 1;`,
513
+ `fi`,
514
+ ].join('\n');
507
515
  // The entrypoint is always `['bash', '-c', '<command>']`, so we modify the command part.
508
- finalEntrypoint[2] = `${setupUserCommands} && ${suCommand}`;
516
+ finalEntrypoint[2] = defensiveEntrypoint;
509
517
  // We still need userFlag for the simpler proxy container, which does not have this issue.
510
518
  userFlag = `--user ${uid}:${gid}`;
511
519
  // When forcing a UID in the sandbox, $HOME can be reset to '/', so we copy $HOME as well.
@@ -525,6 +533,8 @@ export async function start_sandbox(config, nodeArgs = [], cliConfig, cliArgs =
525
533
  'run',
526
534
  '--rm',
527
535
  '--init',
536
+ '--entrypoint',
537
+ '',
528
538
  ...(userFlag ? userFlag.split(' ') : []),
529
539
  '--name',
530
540
  SANDBOX_PROXY_NAME,
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../../src/utils/sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../../src/utils/sandbox.ts"],"names":[],"mappings":"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"}