@akiojin/gwt 4.10.0 → 4.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (630) hide show
  1. package/README.ja.md +4 -4
  2. package/README.md +4 -4
  3. package/bin/gwt.js +1 -1
  4. package/dist/claude.d.ts +2 -0
  5. package/dist/claude.d.ts.map +1 -1
  6. package/dist/claude.js +97 -68
  7. package/dist/claude.js.map +1 -1
  8. package/dist/cli/ui/App.solid.d.ts +29 -0
  9. package/dist/cli/ui/App.solid.d.ts.map +1 -0
  10. package/dist/cli/ui/App.solid.js +1395 -0
  11. package/dist/cli/ui/App.solid.js.map +1 -0
  12. package/dist/cli/ui/components/solid/Footer.d.ts +10 -0
  13. package/dist/cli/ui/components/solid/Footer.d.ts.map +1 -0
  14. package/dist/cli/ui/components/solid/Footer.js +10 -0
  15. package/dist/cli/ui/components/solid/Footer.js.map +1 -0
  16. package/dist/cli/ui/components/{parts → solid}/Header.d.ts +1 -6
  17. package/dist/cli/ui/components/solid/Header.d.ts.map +1 -0
  18. package/dist/cli/ui/components/solid/Header.js +13 -0
  19. package/dist/cli/ui/components/solid/Header.js.map +1 -0
  20. package/dist/cli/ui/components/solid/HelpOverlay.d.ts +8 -0
  21. package/dist/cli/ui/components/solid/HelpOverlay.d.ts.map +1 -0
  22. package/dist/cli/ui/components/solid/HelpOverlay.js +118 -0
  23. package/dist/cli/ui/components/solid/HelpOverlay.js.map +1 -0
  24. package/dist/cli/ui/components/solid/QuickStartStep.d.ts +17 -0
  25. package/dist/cli/ui/components/solid/QuickStartStep.d.ts.map +1 -0
  26. package/dist/cli/ui/components/solid/QuickStartStep.js +152 -0
  27. package/dist/cli/ui/components/solid/QuickStartStep.js.map +1 -0
  28. package/dist/cli/ui/components/solid/SelectInput.d.ts +22 -0
  29. package/dist/cli/ui/components/solid/SelectInput.d.ts.map +1 -0
  30. package/dist/cli/ui/components/solid/SelectInput.js +45 -0
  31. package/dist/cli/ui/components/solid/SelectInput.js.map +1 -0
  32. package/dist/cli/ui/components/solid/TextInput.d.ts +12 -0
  33. package/dist/cli/ui/components/solid/TextInput.d.ts.map +1 -0
  34. package/dist/cli/ui/components/solid/TextInput.js +9 -0
  35. package/dist/cli/ui/components/solid/TextInput.js.map +1 -0
  36. package/dist/cli/ui/components/solid/WizardController.d.ts +34 -0
  37. package/dist/cli/ui/components/solid/WizardController.d.ts.map +1 -0
  38. package/dist/cli/ui/components/solid/WizardController.js +223 -0
  39. package/dist/cli/ui/components/solid/WizardController.js.map +1 -0
  40. package/dist/cli/ui/components/solid/WizardPopup.d.ts +26 -0
  41. package/dist/cli/ui/components/solid/WizardPopup.d.ts.map +1 -0
  42. package/dist/cli/ui/components/solid/WizardPopup.js +68 -0
  43. package/dist/cli/ui/components/solid/WizardPopup.js.map +1 -0
  44. package/dist/cli/ui/components/solid/WizardSteps.d.ts +52 -0
  45. package/dist/cli/ui/components/solid/WizardSteps.d.ts.map +1 -0
  46. package/dist/cli/ui/components/solid/WizardSteps.js +419 -0
  47. package/dist/cli/ui/components/solid/WizardSteps.js.map +1 -0
  48. package/dist/cli/ui/core/index.d.ts +12 -0
  49. package/dist/cli/ui/core/index.d.ts.map +1 -0
  50. package/dist/cli/ui/core/index.js +15 -0
  51. package/dist/cli/ui/core/index.js.map +1 -0
  52. package/dist/cli/ui/core/keybindings.d.ts +106 -0
  53. package/dist/cli/ui/core/keybindings.d.ts.map +1 -0
  54. package/dist/cli/ui/core/keybindings.js +270 -0
  55. package/dist/cli/ui/core/keybindings.js.map +1 -0
  56. package/dist/cli/ui/core/theme.d.ts +123 -0
  57. package/dist/cli/ui/core/theme.d.ts.map +1 -0
  58. package/dist/cli/ui/core/theme.js +191 -0
  59. package/dist/cli/ui/core/theme.js.map +1 -0
  60. package/dist/cli/ui/core/types.d.ts +156 -0
  61. package/dist/cli/ui/core/types.d.ts.map +1 -0
  62. package/dist/cli/ui/core/types.js +10 -0
  63. package/dist/cli/ui/core/types.js.map +1 -0
  64. package/dist/cli/ui/hooks/solid/useScrollableList.d.ts +26 -0
  65. package/dist/cli/ui/hooks/solid/useScrollableList.d.ts.map +1 -0
  66. package/dist/cli/ui/hooks/solid/useScrollableList.js +89 -0
  67. package/dist/cli/ui/hooks/solid/useScrollableList.js.map +1 -0
  68. package/dist/cli/ui/hooks/solid/useTerminalSize.d.ts +10 -0
  69. package/dist/cli/ui/hooks/solid/useTerminalSize.d.ts.map +1 -0
  70. package/dist/cli/ui/hooks/solid/useTerminalSize.js +16 -0
  71. package/dist/cli/ui/hooks/solid/useTerminalSize.js.map +1 -0
  72. package/dist/cli/ui/index.solid.d.ts +5 -0
  73. package/dist/cli/ui/index.solid.d.ts.map +1 -0
  74. package/dist/cli/ui/index.solid.js +21 -0
  75. package/dist/cli/ui/index.solid.js.map +1 -0
  76. package/dist/cli/ui/screens/solid/BranchListScreen.d.ts +53 -0
  77. package/dist/cli/ui/screens/solid/BranchListScreen.d.ts.map +1 -0
  78. package/dist/cli/ui/screens/solid/BranchListScreen.js +829 -0
  79. package/dist/cli/ui/screens/solid/BranchListScreen.js.map +1 -0
  80. package/dist/cli/ui/screens/solid/ConfirmScreen.d.ts +11 -0
  81. package/dist/cli/ui/screens/solid/ConfirmScreen.d.ts.map +1 -0
  82. package/dist/cli/ui/screens/solid/ConfirmScreen.js +45 -0
  83. package/dist/cli/ui/screens/solid/ConfirmScreen.js.map +1 -0
  84. package/dist/cli/ui/screens/solid/EnvironmentScreen.d.ts +14 -0
  85. package/dist/cli/ui/screens/solid/EnvironmentScreen.d.ts.map +1 -0
  86. package/dist/cli/ui/screens/solid/EnvironmentScreen.js +90 -0
  87. package/dist/cli/ui/screens/solid/EnvironmentScreen.js.map +1 -0
  88. package/dist/cli/ui/screens/solid/ErrorScreen.d.ts +8 -0
  89. package/dist/cli/ui/screens/solid/ErrorScreen.d.ts.map +1 -0
  90. package/dist/cli/ui/screens/solid/ErrorScreen.js +18 -0
  91. package/dist/cli/ui/screens/solid/ErrorScreen.js.map +1 -0
  92. package/dist/cli/ui/screens/solid/InputScreen.d.ts +13 -0
  93. package/dist/cli/ui/screens/solid/InputScreen.d.ts.map +1 -0
  94. package/dist/cli/ui/screens/solid/InputScreen.js +17 -0
  95. package/dist/cli/ui/screens/solid/InputScreen.js.map +1 -0
  96. package/dist/cli/ui/screens/solid/LoadingIndicator.d.ts +9 -0
  97. package/dist/cli/ui/screens/solid/LoadingIndicator.d.ts.map +1 -0
  98. package/dist/cli/ui/screens/solid/LoadingIndicator.js +43 -0
  99. package/dist/cli/ui/screens/solid/LoadingIndicator.js.map +1 -0
  100. package/dist/cli/ui/{components/screens → screens/solid}/LogDetailScreen.d.ts +2 -2
  101. package/dist/cli/ui/screens/solid/LogDetailScreen.d.ts.map +1 -0
  102. package/dist/cli/ui/screens/solid/LogDetailScreen.js +34 -0
  103. package/dist/cli/ui/screens/solid/LogDetailScreen.js.map +1 -0
  104. package/dist/cli/ui/{components/screens/LogListScreen.d.ts → screens/solid/LogScreen.d.ts} +10 -4
  105. package/dist/cli/ui/screens/solid/LogScreen.d.ts.map +1 -0
  106. package/dist/cli/ui/screens/solid/LogScreen.js +333 -0
  107. package/dist/cli/ui/screens/solid/LogScreen.js.map +1 -0
  108. package/dist/cli/ui/screens/solid/ProfileEnvScreen.d.ts +17 -0
  109. package/dist/cli/ui/screens/solid/ProfileEnvScreen.d.ts.map +1 -0
  110. package/dist/cli/ui/screens/solid/ProfileEnvScreen.js +115 -0
  111. package/dist/cli/ui/screens/solid/ProfileEnvScreen.js.map +1 -0
  112. package/dist/cli/ui/screens/solid/ProfileScreen.d.ts +17 -0
  113. package/dist/cli/ui/screens/solid/ProfileScreen.d.ts.map +1 -0
  114. package/dist/cli/ui/screens/solid/ProfileScreen.js +50 -0
  115. package/dist/cli/ui/screens/solid/ProfileScreen.js.map +1 -0
  116. package/dist/cli/ui/screens/solid/SelectorScreen.d.ts +20 -0
  117. package/dist/cli/ui/screens/solid/SelectorScreen.d.ts.map +1 -0
  118. package/dist/cli/ui/screens/solid/SelectorScreen.js +98 -0
  119. package/dist/cli/ui/screens/solid/SelectorScreen.js.map +1 -0
  120. package/dist/cli/ui/screens/solid/WorktreeCreateScreen.d.ts +13 -0
  121. package/dist/cli/ui/screens/solid/WorktreeCreateScreen.d.ts.map +1 -0
  122. package/dist/cli/ui/screens/solid/WorktreeCreateScreen.js +59 -0
  123. package/dist/cli/ui/screens/solid/WorktreeCreateScreen.js.map +1 -0
  124. package/dist/cli/ui/stores/appStore.d.ts +143 -0
  125. package/dist/cli/ui/stores/appStore.d.ts.map +1 -0
  126. package/dist/cli/ui/stores/appStore.js +158 -0
  127. package/dist/cli/ui/stores/appStore.js.map +1 -0
  128. package/dist/cli/ui/stores/branchStore.d.ts +159 -0
  129. package/dist/cli/ui/stores/branchStore.d.ts.map +1 -0
  130. package/dist/cli/ui/stores/branchStore.js +275 -0
  131. package/dist/cli/ui/stores/branchStore.js.map +1 -0
  132. package/dist/cli/ui/stores/index.d.ts +11 -0
  133. package/dist/cli/ui/stores/index.d.ts.map +1 -0
  134. package/dist/cli/ui/stores/index.js +14 -0
  135. package/dist/cli/ui/stores/index.js.map +1 -0
  136. package/dist/cli/ui/stores/uiStore.d.ts +146 -0
  137. package/dist/cli/ui/stores/uiStore.d.ts.map +1 -0
  138. package/dist/cli/ui/stores/uiStore.js +166 -0
  139. package/dist/cli/ui/stores/uiStore.js.map +1 -0
  140. package/dist/cli/ui/types.d.ts +17 -1
  141. package/dist/cli/ui/types.d.ts.map +1 -1
  142. package/dist/cli/ui/utils/branchFormatter.d.ts +1 -0
  143. package/dist/cli/ui/utils/branchFormatter.d.ts.map +1 -1
  144. package/dist/cli/ui/utils/branchFormatter.js +36 -217
  145. package/dist/cli/ui/utils/branchFormatter.js.map +1 -1
  146. package/dist/cli/ui/utils/continueSession.d.ts +18 -0
  147. package/dist/cli/ui/utils/continueSession.d.ts.map +1 -1
  148. package/dist/cli/ui/utils/continueSession.js +90 -2
  149. package/dist/cli/ui/utils/continueSession.js.map +1 -1
  150. package/dist/cli/ui/utils/versionCache.d.ts +37 -0
  151. package/dist/cli/ui/utils/versionCache.d.ts.map +1 -0
  152. package/dist/cli/ui/utils/versionCache.js +70 -0
  153. package/dist/cli/ui/utils/versionCache.js.map +1 -0
  154. package/dist/cli/ui/utils/versionFetcher.d.ts +41 -0
  155. package/dist/cli/ui/utils/versionFetcher.d.ts.map +1 -0
  156. package/dist/cli/ui/utils/versionFetcher.js +89 -0
  157. package/dist/cli/ui/utils/versionFetcher.js.map +1 -0
  158. package/dist/client/assets/{index-ChHC-Puh.css → index-BbfV7Wuj.css} +1 -1
  159. package/dist/client/assets/index-CoAyq5x1.js +78 -0
  160. package/dist/client/index.html +2 -2
  161. package/dist/codex.d.ts +2 -0
  162. package/dist/codex.d.ts.map +1 -1
  163. package/dist/codex.js +109 -39
  164. package/dist/codex.js.map +1 -1
  165. package/dist/config/builtin-coding-agents.js +4 -4
  166. package/dist/config/builtin-coding-agents.js.map +1 -1
  167. package/dist/config/index.d.ts +2 -0
  168. package/dist/config/index.d.ts.map +1 -1
  169. package/dist/config/index.js +11 -0
  170. package/dist/config/index.js.map +1 -1
  171. package/dist/gemini.d.ts +2 -0
  172. package/dist/gemini.d.ts.map +1 -1
  173. package/dist/gemini.js +77 -39
  174. package/dist/gemini.js.map +1 -1
  175. package/dist/index.d.ts +1 -1
  176. package/dist/index.d.ts.map +1 -1
  177. package/dist/index.js +153 -103
  178. package/dist/index.js.map +1 -1
  179. package/dist/launcher.d.ts.map +1 -1
  180. package/dist/launcher.js +56 -6
  181. package/dist/launcher.js.map +1 -1
  182. package/dist/logging/agentOutput.d.ts +21 -0
  183. package/dist/logging/agentOutput.d.ts.map +1 -0
  184. package/dist/logging/agentOutput.js +164 -0
  185. package/dist/logging/agentOutput.js.map +1 -0
  186. package/dist/logging/formatter.d.ts.map +1 -1
  187. package/dist/logging/formatter.js +18 -4
  188. package/dist/logging/formatter.js.map +1 -1
  189. package/dist/logging/logger.d.ts.map +1 -1
  190. package/dist/logging/logger.js +28 -9
  191. package/dist/logging/logger.js.map +1 -1
  192. package/dist/logging/reader.d.ts +21 -0
  193. package/dist/logging/reader.d.ts.map +1 -1
  194. package/dist/logging/reader.js +79 -0
  195. package/dist/logging/reader.js.map +1 -1
  196. package/dist/opentui/highlights-eq9cgrbb.scm +604 -0
  197. package/dist/opentui/highlights-ghv9g403.scm +205 -0
  198. package/dist/opentui/highlights-hk7bwhj4.scm +284 -0
  199. package/dist/opentui/highlights-r812a2qc.scm +150 -0
  200. package/dist/opentui/highlights-x6tmsnaa.scm +115 -0
  201. package/dist/opentui/index.solid.d.ts +2 -0
  202. package/dist/opentui/index.solid.d.ts.map +1 -0
  203. package/dist/opentui/index.solid.js +53687 -0
  204. package/dist/opentui/index.solid.js.map +1 -0
  205. package/dist/opentui/injections-73j83es3.scm +27 -0
  206. package/dist/opentui/tree-sitter-javascript-nd0q4pe9.wasm +0 -0
  207. package/dist/opentui/tree-sitter-markdown-411r6y9b.wasm +0 -0
  208. package/dist/opentui/tree-sitter-markdown_inline-j5349f42.wasm +0 -0
  209. package/dist/opentui/tree-sitter-typescript-zxjzwt75.wasm +0 -0
  210. package/dist/opentui/tree-sitter-zig-e78zbjpm.wasm +0 -0
  211. package/dist/repositories/worktree.repository.d.ts +1 -0
  212. package/dist/repositories/worktree.repository.d.ts.map +1 -1
  213. package/dist/repositories/worktree.repository.js +7 -0
  214. package/dist/repositories/worktree.repository.js.map +1 -1
  215. package/dist/services/codingAgentResolver.d.ts +2 -0
  216. package/dist/services/codingAgentResolver.d.ts.map +1 -1
  217. package/dist/services/codingAgentResolver.js +30 -4
  218. package/dist/services/codingAgentResolver.js.map +1 -1
  219. package/dist/services/dependency-installer.d.ts.map +1 -1
  220. package/dist/services/dependency-installer.js +2 -7
  221. package/dist/services/dependency-installer.js.map +1 -1
  222. package/dist/types/api.d.ts +3 -0
  223. package/dist/types/api.d.ts.map +1 -1
  224. package/dist/types/coding-agent.d.ts +62 -0
  225. package/dist/types/coding-agent.d.ts.map +1 -0
  226. package/dist/types/coding-agent.js +29 -0
  227. package/dist/types/coding-agent.js.map +1 -0
  228. package/dist/types/tools.d.ts +17 -0
  229. package/dist/types/tools.d.ts.map +1 -1
  230. package/dist/utils/coding-agent-colors.d.ts +88 -0
  231. package/dist/utils/coding-agent-colors.d.ts.map +1 -0
  232. package/dist/utils/coding-agent-colors.js +137 -0
  233. package/dist/utils/coding-agent-colors.js.map +1 -0
  234. package/dist/utils/command.d.ts +1 -1
  235. package/dist/utils/command.js +1 -1
  236. package/dist/utils/error-utils.d.ts +27 -0
  237. package/dist/utils/error-utils.d.ts.map +1 -0
  238. package/dist/utils/error-utils.js +98 -0
  239. package/dist/utils/error-utils.js.map +1 -0
  240. package/dist/utils/npmRegistry.d.ts +61 -0
  241. package/dist/utils/npmRegistry.d.ts.map +1 -0
  242. package/dist/utils/npmRegistry.js +180 -0
  243. package/dist/utils/npmRegistry.js.map +1 -0
  244. package/dist/utils/prompt.d.ts +1 -1
  245. package/dist/utils/prompt.js +1 -1
  246. package/dist/utils/session/common.d.ts +8 -0
  247. package/dist/utils/session/common.d.ts.map +1 -1
  248. package/dist/utils/session/common.js +22 -0
  249. package/dist/utils/session/common.js.map +1 -1
  250. package/dist/utils/session/parsers/claude.d.ts +10 -4
  251. package/dist/utils/session/parsers/claude.d.ts.map +1 -1
  252. package/dist/utils/session/parsers/claude.js +64 -18
  253. package/dist/utils/session/parsers/claude.js.map +1 -1
  254. package/dist/utils/session/parsers/codex.d.ts.map +1 -1
  255. package/dist/utils/session/parsers/codex.js +47 -20
  256. package/dist/utils/session/parsers/codex.js.map +1 -1
  257. package/dist/utils/session/parsers/gemini.d.ts.map +1 -1
  258. package/dist/utils/session/parsers/gemini.js +43 -6
  259. package/dist/utils/session/parsers/gemini.js.map +1 -1
  260. package/dist/utils/session/parsers/opencode.d.ts.map +1 -1
  261. package/dist/utils/session/parsers/opencode.js +43 -6
  262. package/dist/utils/session/parsers/opencode.js.map +1 -1
  263. package/dist/utils/session/types.d.ts +7 -0
  264. package/dist/utils/session/types.d.ts.map +1 -1
  265. package/dist/utils/terminal.d.ts +1 -0
  266. package/dist/utils/terminal.d.ts.map +1 -1
  267. package/dist/utils/terminal.js +20 -0
  268. package/dist/utils/terminal.js.map +1 -1
  269. package/dist/utils.d.ts +9 -0
  270. package/dist/utils.d.ts.map +1 -1
  271. package/dist/utils.js +33 -2
  272. package/dist/utils.js.map +1 -1
  273. package/dist/web/client/src/components/CodingAgentLaunchModal.d.ts.map +1 -1
  274. package/dist/web/client/src/components/CodingAgentLaunchModal.js +7 -16
  275. package/dist/web/client/src/components/CodingAgentLaunchModal.js.map +1 -1
  276. package/dist/web/client/src/components/branch-detail/BranchInfoCards.d.ts.map +1 -1
  277. package/dist/web/client/src/components/branch-detail/BranchInfoCards.js +7 -2
  278. package/dist/web/client/src/components/branch-detail/BranchInfoCards.js.map +1 -1
  279. package/dist/web/client/src/components/branch-detail/SessionHistoryTable.d.ts.map +1 -1
  280. package/dist/web/client/src/components/branch-detail/SessionHistoryTable.js +2 -1
  281. package/dist/web/client/src/components/branch-detail/SessionHistoryTable.js.map +1 -1
  282. package/dist/web/client/src/components/branch-detail/ToolLauncher.d.ts +2 -2
  283. package/dist/web/client/src/components/branch-detail/ToolLauncher.d.ts.map +1 -1
  284. package/dist/web/client/src/components/branch-detail/ToolLauncher.js +5 -5
  285. package/dist/web/client/src/components/branch-detail/ToolLauncher.js.map +1 -1
  286. package/dist/web/client/src/components/ui/alert.d.ts +1 -1
  287. package/dist/web/client/src/lib/coding-agent-colors.d.ts +86 -0
  288. package/dist/web/client/src/lib/coding-agent-colors.d.ts.map +1 -0
  289. package/dist/web/client/src/lib/coding-agent-colors.js +135 -0
  290. package/dist/web/client/src/lib/coding-agent-colors.js.map +1 -0
  291. package/dist/web/client/src/pages/BranchDetailPage.js +10 -10
  292. package/dist/web/client/src/pages/BranchDetailPage.js.map +1 -1
  293. package/dist/web/server/pty/manager.d.ts +2 -0
  294. package/dist/web/server/pty/manager.d.ts.map +1 -1
  295. package/dist/web/server/pty/manager.js +104 -0
  296. package/dist/web/server/pty/manager.js.map +1 -1
  297. package/dist/web/server/routes/sessions.d.ts.map +1 -1
  298. package/dist/web/server/routes/sessions.js +5 -1
  299. package/dist/web/server/routes/sessions.js.map +1 -1
  300. package/dist/web/server/services/branches.d.ts.map +1 -1
  301. package/dist/web/server/services/branches.js +10 -8
  302. package/dist/web/server/services/branches.js.map +1 -1
  303. package/dist/web/server/services/worktrees.js +2 -2
  304. package/dist/web/server/services/worktrees.js.map +1 -1
  305. package/dist/worktree.d.ts +50 -1
  306. package/dist/worktree.d.ts.map +1 -1
  307. package/dist/worktree.js +292 -100
  308. package/dist/worktree.js.map +1 -1
  309. package/package.json +13 -14
  310. package/src/claude.ts +129 -95
  311. package/src/cli/ui/App.solid.tsx +2096 -0
  312. package/src/cli/ui/__tests__/solid/AppSolid.cleanup.test.tsx +1084 -0
  313. package/src/cli/ui/__tests__/solid/BranchListScreen.test.tsx +343 -0
  314. package/src/cli/ui/__tests__/solid/ConfirmScreen.test.tsx +77 -0
  315. package/src/cli/ui/__tests__/solid/LogScreen.test.tsx +351 -0
  316. package/src/cli/ui/__tests__/solid/components/QuickStartStep.test.tsx +308 -0
  317. package/src/cli/ui/__tests__/solid/components/WizardPopup.test.tsx +231 -0
  318. package/src/cli/ui/__tests__/solid/components/WizardSteps.test.tsx +241 -0
  319. package/src/cli/ui/__tests__/utils/branchFormatter.test.ts +79 -334
  320. package/src/cli/ui/__tests__/utils/clipboard.test.ts +3 -3
  321. package/src/cli/ui/__tests__/utils/statisticsCalculator.test.ts +1 -1
  322. package/src/cli/ui/components/solid/Footer.tsx +36 -0
  323. package/src/cli/ui/components/{parts → solid}/Header.tsx +17 -28
  324. package/src/cli/ui/components/solid/HelpOverlay.tsx +194 -0
  325. package/src/cli/ui/components/solid/QuickStartStep.tsx +209 -0
  326. package/src/cli/ui/components/{parts → solid}/ScrollableList.tsx +7 -8
  327. package/src/cli/ui/components/solid/SearchInput.tsx +42 -0
  328. package/src/cli/ui/components/solid/SelectInput.tsx +88 -0
  329. package/src/cli/ui/components/solid/Stats.tsx +92 -0
  330. package/src/cli/ui/components/solid/TextInput.tsx +49 -0
  331. package/src/cli/ui/components/solid/WizardController.tsx +393 -0
  332. package/src/cli/ui/components/solid/WizardPopup.tsx +135 -0
  333. package/src/cli/ui/components/solid/WizardSteps.tsx +736 -0
  334. package/src/cli/ui/core/index.ts +17 -0
  335. package/src/cli/ui/core/keybindings.ts +367 -0
  336. package/src/cli/ui/core/theme.ts +266 -0
  337. package/src/cli/ui/core/types.ts +235 -0
  338. package/src/cli/ui/hooks/solid/useAsyncOperation.ts +78 -0
  339. package/src/cli/ui/hooks/solid/useFilter.ts +86 -0
  340. package/src/cli/ui/hooks/solid/useGitOperations.ts +81 -0
  341. package/src/cli/ui/hooks/solid/useKeyHandler.ts +103 -0
  342. package/src/cli/ui/hooks/solid/useScrollableList.ts +149 -0
  343. package/src/cli/ui/hooks/solid/useSelection.ts +77 -0
  344. package/src/cli/ui/hooks/solid/useTerminalSize.ts +22 -0
  345. package/src/cli/ui/index.solid.ts +28 -0
  346. package/src/cli/ui/screens/solid/BranchListScreen.tsx +1153 -0
  347. package/src/cli/ui/screens/solid/ConfirmScreen.tsx +86 -0
  348. package/src/cli/ui/screens/solid/EnvironmentScreen.tsx +161 -0
  349. package/src/cli/ui/screens/solid/ErrorScreen.tsx +42 -0
  350. package/src/cli/ui/screens/solid/InputScreen.tsx +55 -0
  351. package/src/cli/ui/screens/solid/LoadingIndicator.tsx +77 -0
  352. package/src/cli/ui/screens/solid/LogDetailScreen.tsx +75 -0
  353. package/src/cli/ui/screens/solid/LogScreen.tsx +504 -0
  354. package/src/cli/ui/screens/solid/ProfileEnvScreen.tsx +196 -0
  355. package/src/cli/ui/screens/solid/ProfileScreen.tsx +98 -0
  356. package/src/cli/ui/screens/solid/SelectorScreen.tsx +181 -0
  357. package/src/cli/ui/screens/solid/SettingsScreen.tsx +52 -0
  358. package/src/cli/ui/screens/solid/WorktreeCreateScreen.tsx +136 -0
  359. package/src/cli/ui/screens/solid/WorktreeDeleteScreen.tsx +40 -0
  360. package/src/cli/ui/stores/appStore.ts +208 -0
  361. package/src/cli/ui/stores/branchStore.ts +357 -0
  362. package/src/cli/ui/stores/index.ts +31 -0
  363. package/src/cli/ui/stores/uiStore.ts +226 -0
  364. package/src/cli/ui/types.ts +21 -3
  365. package/src/cli/ui/utils/__tests__/branchFormatter.test.ts +227 -0
  366. package/src/cli/ui/utils/branchFormatter.ts +43 -222
  367. package/src/cli/ui/utils/continueSession.ts +133 -2
  368. package/src/cli/ui/utils/modelOptions.test.ts +1 -1
  369. package/src/cli/ui/utils/versionCache.ts +93 -0
  370. package/src/cli/ui/utils/versionFetcher.ts +120 -0
  371. package/src/codex.ts +138 -39
  372. package/src/config/__tests__/saveSession.test.ts +143 -0
  373. package/src/config/builtin-coding-agents.ts +4 -4
  374. package/src/config/index.ts +14 -0
  375. package/src/gemini.ts +107 -46
  376. package/src/index.test.ts +25 -19
  377. package/src/index.ts +202 -143
  378. package/src/launcher.ts +66 -6
  379. package/src/logging/agentOutput.ts +216 -0
  380. package/src/logging/formatter.ts +23 -4
  381. package/src/logging/logger.ts +34 -10
  382. package/src/logging/reader.ts +117 -0
  383. package/src/opentui/index.solid.ts +1 -0
  384. package/src/repositories/worktree.repository.ts +8 -0
  385. package/src/services/__tests__/BatchMergeService.test.ts +83 -67
  386. package/src/services/__tests__/WorktreeOrchestrator.test.ts +8 -7
  387. package/src/services/codingAgentResolver.ts +30 -4
  388. package/src/services/dependency-installer.ts +2 -9
  389. package/src/types/api.ts +3 -0
  390. package/src/types/coding-agent.ts +85 -0
  391. package/src/types/tools.ts +19 -0
  392. package/src/utils/__tests__/npmRegistry.test.ts +250 -0
  393. package/src/utils/__tests__/prompt.test.ts +4 -5
  394. package/src/utils/coding-agent-colors.ts +165 -0
  395. package/src/utils/command.ts +1 -1
  396. package/src/utils/error-utils.ts +133 -0
  397. package/src/utils/npmRegistry.ts +249 -0
  398. package/src/utils/prompt.ts +1 -1
  399. package/src/utils/session/common.ts +28 -0
  400. package/src/utils/session/parsers/claude.ts +79 -29
  401. package/src/utils/session/parsers/codex.ts +50 -18
  402. package/src/utils/session/parsers/gemini.ts +46 -5
  403. package/src/utils/session/parsers/opencode.ts +46 -5
  404. package/src/utils/session/types.ts +4 -0
  405. package/src/utils/terminal.ts +24 -0
  406. package/src/utils.test.ts +1 -1
  407. package/src/utils.ts +37 -4
  408. package/src/web/client/src/components/CodingAgentLaunchModal.tsx +12 -21
  409. package/src/web/client/src/components/branch-detail/BranchInfoCards.tsx +16 -1
  410. package/src/web/client/src/components/branch-detail/SessionHistoryTable.tsx +7 -1
  411. package/src/web/client/src/components/branch-detail/ToolLauncher.tsx +11 -6
  412. package/src/web/client/src/lib/coding-agent-colors.ts +149 -0
  413. package/src/web/client/src/pages/BranchDetailPage.tsx +11 -11
  414. package/src/web/server/pty/manager.ts +139 -0
  415. package/src/web/server/routes/sessions.ts +6 -0
  416. package/src/web/server/services/branches.ts +11 -8
  417. package/src/web/server/services/worktrees.ts +2 -2
  418. package/src/worktree.ts +386 -114
  419. package/dist/cli/ui/components/App.d.ts +0 -25
  420. package/dist/cli/ui/components/App.d.ts.map +0 -1
  421. package/dist/cli/ui/components/App.js +0 -1006
  422. package/dist/cli/ui/components/App.js.map +0 -1
  423. package/dist/cli/ui/components/common/Confirm.d.ts +0 -13
  424. package/dist/cli/ui/components/common/Confirm.d.ts.map +0 -1
  425. package/dist/cli/ui/components/common/Confirm.js +0 -20
  426. package/dist/cli/ui/components/common/Confirm.js.map +0 -1
  427. package/dist/cli/ui/components/common/ErrorBoundary.d.ts +0 -23
  428. package/dist/cli/ui/components/common/ErrorBoundary.d.ts.map +0 -1
  429. package/dist/cli/ui/components/common/ErrorBoundary.js +0 -37
  430. package/dist/cli/ui/components/common/ErrorBoundary.js.map +0 -1
  431. package/dist/cli/ui/components/common/Input.d.ts +0 -19
  432. package/dist/cli/ui/components/common/Input.d.ts.map +0 -1
  433. package/dist/cli/ui/components/common/Input.js +0 -22
  434. package/dist/cli/ui/components/common/Input.js.map +0 -1
  435. package/dist/cli/ui/components/common/LoadingIndicator.d.ts +0 -19
  436. package/dist/cli/ui/components/common/LoadingIndicator.d.ts.map +0 -1
  437. package/dist/cli/ui/components/common/LoadingIndicator.js +0 -61
  438. package/dist/cli/ui/components/common/LoadingIndicator.js.map +0 -1
  439. package/dist/cli/ui/components/common/Select.d.ts +0 -38
  440. package/dist/cli/ui/components/common/Select.d.ts.map +0 -1
  441. package/dist/cli/ui/components/common/Select.js +0 -151
  442. package/dist/cli/ui/components/common/Select.js.map +0 -1
  443. package/dist/cli/ui/components/common/SpinnerIcon.d.ts +0 -20
  444. package/dist/cli/ui/components/common/SpinnerIcon.d.ts.map +0 -1
  445. package/dist/cli/ui/components/common/SpinnerIcon.js +0 -61
  446. package/dist/cli/ui/components/common/SpinnerIcon.js.map +0 -1
  447. package/dist/cli/ui/components/parts/Footer.d.ts +0 -15
  448. package/dist/cli/ui/components/parts/Footer.d.ts.map +0 -1
  449. package/dist/cli/ui/components/parts/Footer.js +0 -20
  450. package/dist/cli/ui/components/parts/Footer.js.map +0 -1
  451. package/dist/cli/ui/components/parts/Header.d.ts.map +0 -1
  452. package/dist/cli/ui/components/parts/Header.js +0 -24
  453. package/dist/cli/ui/components/parts/Header.js.map +0 -1
  454. package/dist/cli/ui/components/parts/MergeStatusList.d.ts +0 -13
  455. package/dist/cli/ui/components/parts/MergeStatusList.d.ts.map +0 -1
  456. package/dist/cli/ui/components/parts/MergeStatusList.js +0 -52
  457. package/dist/cli/ui/components/parts/MergeStatusList.js.map +0 -1
  458. package/dist/cli/ui/components/parts/ProgressBar.d.ts +0 -13
  459. package/dist/cli/ui/components/parts/ProgressBar.d.ts.map +0 -1
  460. package/dist/cli/ui/components/parts/ProgressBar.js +0 -53
  461. package/dist/cli/ui/components/parts/ProgressBar.js.map +0 -1
  462. package/dist/cli/ui/components/parts/ScrollableList.d.ts +0 -12
  463. package/dist/cli/ui/components/parts/ScrollableList.d.ts.map +0 -1
  464. package/dist/cli/ui/components/parts/ScrollableList.js +0 -11
  465. package/dist/cli/ui/components/parts/ScrollableList.js.map +0 -1
  466. package/dist/cli/ui/components/parts/Stats.d.ts +0 -10
  467. package/dist/cli/ui/components/parts/Stats.d.ts.map +0 -1
  468. package/dist/cli/ui/components/parts/Stats.js +0 -55
  469. package/dist/cli/ui/components/parts/Stats.js.map +0 -1
  470. package/dist/cli/ui/components/screens/BatchMergeProgressScreen.d.ts +0 -17
  471. package/dist/cli/ui/components/screens/BatchMergeProgressScreen.d.ts.map +0 -1
  472. package/dist/cli/ui/components/screens/BatchMergeProgressScreen.js +0 -42
  473. package/dist/cli/ui/components/screens/BatchMergeProgressScreen.js.map +0 -1
  474. package/dist/cli/ui/components/screens/BatchMergeResultScreen.d.ts +0 -17
  475. package/dist/cli/ui/components/screens/BatchMergeResultScreen.d.ts.map +0 -1
  476. package/dist/cli/ui/components/screens/BatchMergeResultScreen.js +0 -72
  477. package/dist/cli/ui/components/screens/BatchMergeResultScreen.js.map +0 -1
  478. package/dist/cli/ui/components/screens/BranchCreatorScreen.d.ts +0 -18
  479. package/dist/cli/ui/components/screens/BranchCreatorScreen.d.ts.map +0 -1
  480. package/dist/cli/ui/components/screens/BranchCreatorScreen.js +0 -151
  481. package/dist/cli/ui/components/screens/BranchCreatorScreen.js.map +0 -1
  482. package/dist/cli/ui/components/screens/BranchListScreen.d.ts +0 -60
  483. package/dist/cli/ui/components/screens/BranchListScreen.d.ts.map +0 -1
  484. package/dist/cli/ui/components/screens/BranchListScreen.js +0 -476
  485. package/dist/cli/ui/components/screens/BranchListScreen.js.map +0 -1
  486. package/dist/cli/ui/components/screens/BranchQuickStartScreen.d.ts +0 -30
  487. package/dist/cli/ui/components/screens/BranchQuickStartScreen.d.ts.map +0 -1
  488. package/dist/cli/ui/components/screens/BranchQuickStartScreen.js +0 -148
  489. package/dist/cli/ui/components/screens/BranchQuickStartScreen.js.map +0 -1
  490. package/dist/cli/ui/components/screens/CodingAgentSelectorScreen.d.ts +0 -27
  491. package/dist/cli/ui/components/screens/CodingAgentSelectorScreen.d.ts.map +0 -1
  492. package/dist/cli/ui/components/screens/CodingAgentSelectorScreen.js +0 -93
  493. package/dist/cli/ui/components/screens/CodingAgentSelectorScreen.js.map +0 -1
  494. package/dist/cli/ui/components/screens/EnvironmentProfileScreen.d.ts +0 -19
  495. package/dist/cli/ui/components/screens/EnvironmentProfileScreen.d.ts.map +0 -1
  496. package/dist/cli/ui/components/screens/EnvironmentProfileScreen.js +0 -577
  497. package/dist/cli/ui/components/screens/EnvironmentProfileScreen.js.map +0 -1
  498. package/dist/cli/ui/components/screens/ExecutionModeSelectorScreen.d.ts +0 -45
  499. package/dist/cli/ui/components/screens/ExecutionModeSelectorScreen.d.ts.map +0 -1
  500. package/dist/cli/ui/components/screens/ExecutionModeSelectorScreen.js +0 -95
  501. package/dist/cli/ui/components/screens/ExecutionModeSelectorScreen.js.map +0 -1
  502. package/dist/cli/ui/components/screens/LogDatePickerScreen.d.ts +0 -10
  503. package/dist/cli/ui/components/screens/LogDatePickerScreen.d.ts.map +0 -1
  504. package/dist/cli/ui/components/screens/LogDatePickerScreen.js +0 -44
  505. package/dist/cli/ui/components/screens/LogDatePickerScreen.js.map +0 -1
  506. package/dist/cli/ui/components/screens/LogDetailScreen.d.ts.map +0 -1
  507. package/dist/cli/ui/components/screens/LogDetailScreen.js +0 -34
  508. package/dist/cli/ui/components/screens/LogDetailScreen.js.map +0 -1
  509. package/dist/cli/ui/components/screens/LogListScreen.d.ts.map +0 -1
  510. package/dist/cli/ui/components/screens/LogListScreen.js +0 -107
  511. package/dist/cli/ui/components/screens/LogListScreen.js.map +0 -1
  512. package/dist/cli/ui/components/screens/ModelSelectorScreen.d.ts +0 -24
  513. package/dist/cli/ui/components/screens/ModelSelectorScreen.d.ts.map +0 -1
  514. package/dist/cli/ui/components/screens/ModelSelectorScreen.js +0 -197
  515. package/dist/cli/ui/components/screens/ModelSelectorScreen.js.map +0 -1
  516. package/dist/cli/ui/components/screens/PRCleanupScreen.d.ts +0 -29
  517. package/dist/cli/ui/components/screens/PRCleanupScreen.d.ts.map +0 -1
  518. package/dist/cli/ui/components/screens/PRCleanupScreen.js +0 -92
  519. package/dist/cli/ui/components/screens/PRCleanupScreen.js.map +0 -1
  520. package/dist/cli/ui/components/screens/SessionSelectorScreen.d.ts +0 -31
  521. package/dist/cli/ui/components/screens/SessionSelectorScreen.d.ts.map +0 -1
  522. package/dist/cli/ui/components/screens/SessionSelectorScreen.js +0 -67
  523. package/dist/cli/ui/components/screens/SessionSelectorScreen.js.map +0 -1
  524. package/dist/cli/ui/hooks/useAppInput.d.ts +0 -21
  525. package/dist/cli/ui/hooks/useAppInput.d.ts.map +0 -1
  526. package/dist/cli/ui/hooks/useAppInput.js +0 -138
  527. package/dist/cli/ui/hooks/useAppInput.js.map +0 -1
  528. package/dist/cli/ui/hooks/useBatchMerge.d.ts +0 -17
  529. package/dist/cli/ui/hooks/useBatchMerge.d.ts.map +0 -1
  530. package/dist/cli/ui/hooks/useBatchMerge.js +0 -77
  531. package/dist/cli/ui/hooks/useBatchMerge.js.map +0 -1
  532. package/dist/cli/ui/hooks/useGitData.d.ts +0 -21
  533. package/dist/cli/ui/hooks/useGitData.d.ts.map +0 -1
  534. package/dist/cli/ui/hooks/useGitData.js +0 -229
  535. package/dist/cli/ui/hooks/useGitData.js.map +0 -1
  536. package/dist/cli/ui/hooks/useProfiles.d.ts +0 -41
  537. package/dist/cli/ui/hooks/useProfiles.d.ts.map +0 -1
  538. package/dist/cli/ui/hooks/useProfiles.js +0 -136
  539. package/dist/cli/ui/hooks/useProfiles.js.map +0 -1
  540. package/dist/cli/ui/hooks/useScreenState.d.ts +0 -12
  541. package/dist/cli/ui/hooks/useScreenState.d.ts.map +0 -1
  542. package/dist/cli/ui/hooks/useScreenState.js +0 -30
  543. package/dist/cli/ui/hooks/useScreenState.js.map +0 -1
  544. package/dist/cli/ui/hooks/useTerminalSize.d.ts +0 -9
  545. package/dist/cli/ui/hooks/useTerminalSize.d.ts.map +0 -1
  546. package/dist/cli/ui/hooks/useTerminalSize.js +0 -24
  547. package/dist/cli/ui/hooks/useTerminalSize.js.map +0 -1
  548. package/dist/cli/ui/hooks/useToolStatus.d.ts +0 -30
  549. package/dist/cli/ui/hooks/useToolStatus.d.ts.map +0 -1
  550. package/dist/cli/ui/hooks/useToolStatus.js +0 -49
  551. package/dist/cli/ui/hooks/useToolStatus.js.map +0 -1
  552. package/dist/cli/ui/screens/BranchActionSelectorScreen.d.ts +0 -24
  553. package/dist/cli/ui/screens/BranchActionSelectorScreen.d.ts.map +0 -1
  554. package/dist/cli/ui/screens/BranchActionSelectorScreen.js +0 -65
  555. package/dist/cli/ui/screens/BranchActionSelectorScreen.js.map +0 -1
  556. package/dist/client/assets/index-LNPtOrn3.js +0 -78
  557. package/src/cli/ui/__tests__/SKIPPED_TESTS.md +0 -119
  558. package/src/cli/ui/__tests__/acceptance/branchList.acceptance.test.tsx.skip +0 -239
  559. package/src/cli/ui/__tests__/acceptance/navigation.acceptance.test.tsx +0 -225
  560. package/src/cli/ui/__tests__/acceptance/realtimeUpdate.acceptance.test.tsx.skip +0 -219
  561. package/src/cli/ui/__tests__/components/App.protected-branch.test.tsx +0 -212
  562. package/src/cli/ui/__tests__/components/App.shortcuts.test.tsx +0 -440
  563. package/src/cli/ui/__tests__/components/App.test.tsx +0 -365
  564. package/src/cli/ui/__tests__/components/ModelSelectorScreen.initial.test.tsx +0 -91
  565. package/src/cli/ui/__tests__/components/common/Confirm.test.tsx +0 -80
  566. package/src/cli/ui/__tests__/components/common/ErrorBoundary.test.tsx +0 -104
  567. package/src/cli/ui/__tests__/components/common/Input.test.tsx +0 -100
  568. package/src/cli/ui/__tests__/components/common/LoadingIndicator.test.tsx +0 -148
  569. package/src/cli/ui/__tests__/components/common/Select.memo.test.tsx +0 -255
  570. package/src/cli/ui/__tests__/components/common/Select.test.tsx +0 -335
  571. package/src/cli/ui/__tests__/components/parts/Footer.test.tsx +0 -65
  572. package/src/cli/ui/__tests__/components/parts/Header.test.tsx +0 -55
  573. package/src/cli/ui/__tests__/components/parts/ScrollableList.test.tsx +0 -69
  574. package/src/cli/ui/__tests__/components/parts/Stats.test.tsx +0 -148
  575. package/src/cli/ui/__tests__/components/screens/BranchCreatorScreen.test.tsx +0 -253
  576. package/src/cli/ui/__tests__/components/screens/BranchListScreen.test.tsx +0 -1070
  577. package/src/cli/ui/__tests__/components/screens/BranchQuickStartScreen.test.tsx +0 -142
  578. package/src/cli/ui/__tests__/components/screens/CodingAgentSelectorScreen.test.tsx +0 -174
  579. package/src/cli/ui/__tests__/components/screens/ExecutionModeSelectorScreen.test.tsx +0 -182
  580. package/src/cli/ui/__tests__/components/screens/LogDetailScreen.test.tsx +0 -57
  581. package/src/cli/ui/__tests__/components/screens/LogListScreen.test.tsx +0 -102
  582. package/src/cli/ui/__tests__/components/screens/PRCleanupScreen.test.tsx +0 -216
  583. package/src/cli/ui/__tests__/components/screens/SessionSelectorScreen.test.tsx +0 -147
  584. package/src/cli/ui/__tests__/hooks/useGitData.nonblocking.test.tsx +0 -206
  585. package/src/cli/ui/__tests__/hooks/useGitData.test.ts +0 -197
  586. package/src/cli/ui/__tests__/hooks/useGitData.test.ts.skip +0 -228
  587. package/src/cli/ui/__tests__/hooks/useScreenState.test.ts +0 -147
  588. package/src/cli/ui/__tests__/hooks/useTerminalSize.test.ts +0 -99
  589. package/src/cli/ui/__tests__/integration/branchList.test.tsx.skip +0 -253
  590. package/src/cli/ui/__tests__/integration/edgeCases.test.tsx +0 -436
  591. package/src/cli/ui/__tests__/integration/navigation.test.tsx +0 -514
  592. package/src/cli/ui/__tests__/integration/realtimeUpdate.test.tsx +0 -509
  593. package/src/cli/ui/__tests__/integration/realtimeUpdate.test.tsx.skip +0 -216
  594. package/src/cli/ui/__tests__/performance/branchList.performance.test.tsx +0 -193
  595. package/src/cli/ui/__tests__/performance/useMemoOptimization.test.tsx +0 -234
  596. package/src/cli/ui/components/App.tsx +0 -1478
  597. package/src/cli/ui/components/common/Confirm.tsx +0 -44
  598. package/src/cli/ui/components/common/ErrorBoundary.tsx +0 -60
  599. package/src/cli/ui/components/common/Input.tsx +0 -58
  600. package/src/cli/ui/components/common/LoadingIndicator.tsx +0 -98
  601. package/src/cli/ui/components/common/Select.tsx +0 -247
  602. package/src/cli/ui/components/common/SpinnerIcon.tsx +0 -86
  603. package/src/cli/ui/components/parts/Footer.tsx +0 -41
  604. package/src/cli/ui/components/parts/Header.test.tsx +0 -75
  605. package/src/cli/ui/components/parts/MergeStatusList.tsx +0 -75
  606. package/src/cli/ui/components/parts/ProgressBar.tsx +0 -73
  607. package/src/cli/ui/components/parts/Stats.tsx +0 -88
  608. package/src/cli/ui/components/screens/BatchMergeProgressScreen.tsx +0 -74
  609. package/src/cli/ui/components/screens/BatchMergeResultScreen.tsx +0 -108
  610. package/src/cli/ui/components/screens/BranchCreatorScreen.tsx +0 -242
  611. package/src/cli/ui/components/screens/BranchListScreen.tsx +0 -744
  612. package/src/cli/ui/components/screens/BranchQuickStartScreen.tsx +0 -244
  613. package/src/cli/ui/components/screens/CodingAgentSelectorScreen.tsx +0 -159
  614. package/src/cli/ui/components/screens/EnvironmentProfileScreen.tsx +0 -928
  615. package/src/cli/ui/components/screens/ExecutionModeSelectorScreen.tsx +0 -176
  616. package/src/cli/ui/components/screens/LogDatePickerScreen.tsx +0 -83
  617. package/src/cli/ui/components/screens/LogDetailScreen.tsx +0 -67
  618. package/src/cli/ui/components/screens/LogListScreen.tsx +0 -192
  619. package/src/cli/ui/components/screens/ModelSelectorScreen.tsx +0 -320
  620. package/src/cli/ui/components/screens/PRCleanupScreen.tsx +0 -171
  621. package/src/cli/ui/components/screens/SessionSelectorScreen.tsx +0 -135
  622. package/src/cli/ui/hooks/useAppInput.ts +0 -172
  623. package/src/cli/ui/hooks/useBatchMerge.ts +0 -96
  624. package/src/cli/ui/hooks/useGitData.ts +0 -347
  625. package/src/cli/ui/hooks/useProfiles.ts +0 -211
  626. package/src/cli/ui/hooks/useScreenState.ts +0 -44
  627. package/src/cli/ui/hooks/useTerminalSize.ts +0 -33
  628. package/src/cli/ui/hooks/useToolStatus.ts +0 -68
  629. package/src/cli/ui/screens/BranchActionSelectorScreen.tsx +0 -111
  630. package/src/cli/ui/screens/__tests__/BranchActionSelectorScreen.test.tsx +0 -264
package/README.ja.md CHANGED
@@ -10,7 +10,7 @@ Claude Code / Codex CLI / Gemini CLI åÆ¾åæœć®åÆ¾č©±åž‹GitćƒÆćƒ¼ć‚Æćƒ„ćƒŖćƒ¼ćƒž
10
10
 
11
11
  ## ✨ 主要機能
12
12
 
13
- - šŸŽÆ **ćƒ¢ćƒ€ćƒ³Reactćƒ™ćƒ¼ć‚¹UI**: Ink.jsć«ć‚ˆć‚‹ć‚¹ćƒ ćƒ¼ć‚ŗć§ćƒ¬ć‚¹ćƒćƒ³ć‚·ćƒ–ćŖć‚æćƒ¼ćƒŸćƒŠćƒ«ć‚¤ćƒ³ć‚æćƒ¼ćƒ•ć‚§ćƒ¼ć‚¹ćØćƒŖć‚¢ćƒ«ć‚æć‚¤ćƒ ę›“ę–°
13
+ - šŸŽÆ **ćƒ¢ćƒ€ćƒ³OpenTUIćƒ™ćƒ¼ć‚¹UI**: OpenTUI + SolidJSć«ć‚ˆć‚‹ć‚¹ćƒ ćƒ¼ć‚ŗć§ćƒ¬ć‚¹ćƒćƒ³ć‚·ćƒ–ćŖć‚æćƒ¼ćƒŸćƒŠćƒ«ć‚¤ćƒ³ć‚æćƒ¼ćƒ•ć‚§ćƒ¼ć‚¹ćØćƒŖć‚¢ćƒ«ć‚æć‚¤ćƒ ę›“ę–°
14
14
  - šŸ–¼ļø **ćƒ•ćƒ«ć‚¹ć‚ÆćƒŖćƒ¼ćƒ³ćƒ¬ć‚¤ć‚¢ć‚¦ćƒˆ**: ēµ±čØˆęƒ…å ±ä»˜ćć®å›ŗå®šćƒ˜ćƒƒćƒ€ćƒ¼ć€ć‚¹ć‚Æćƒ­ćƒ¼ćƒ«åÆčƒ½ćŖćƒ–ćƒ©ćƒ³ćƒćƒŖć‚¹ćƒˆć€ć‚­ćƒ¼ćƒœćƒ¼ćƒ‰ć‚·ćƒ§ćƒ¼ćƒˆć‚«ćƒƒćƒˆä»˜ćć®åøøę™‚č”Øē¤ŗćƒ•ćƒƒć‚æćƒ¼
15
15
  - 🌟 **ć‚¹ćƒžćƒ¼ćƒˆćƒ–ćƒ©ćƒ³ćƒä½œęˆ**: ć‚¬ć‚¤ćƒ‰ä»˜ććƒ—ćƒ­ćƒ³ćƒ—ćƒˆćØč‡Ŗå‹•ćƒ™ćƒ¼ć‚¹ćƒ–ćƒ©ćƒ³ćƒéøęŠžć§feature态bugfix态hotfix态releasećƒ–ćƒ©ćƒ³ćƒć‚’ä½œęˆ
16
16
  - šŸ”„ **é«˜åŗ¦ćŖćƒÆćƒ¼ć‚Æćƒ„ćƒŖćƒ¼ē®”ē†**: ä½œęˆć€ć‚ÆćƒŖćƒ¼ćƒ³ć‚¢ćƒƒćƒ—ć€ćƒ‘ć‚¹ęœ€é©åŒ–ć‚’å«ć‚€å®Œå…ØćŖćƒ©ć‚¤ćƒ•ć‚µć‚¤ć‚Æćƒ«ē®”ē†
@@ -183,7 +183,7 @@ gwt
183
183
  - ćƒ‰ćƒ©ćƒ•ćƒˆPRćØć—ć¦ä½œęˆć™ć‚‹ćØč‡Ŗå‹•ćƒžćƒ¼ć‚øć‚’é˜²ć’ć¾ć™: `gh pr create --draft`
184
184
  - č‡Ŗå‹•ćƒžćƒ¼ć‚øćƒÆćƒ¼ć‚Æćƒ•ćƒ­ćƒ¼ćÆć“ć®čØ­å®šć‚’å°Šé‡ć—ć€ćƒ‰ćƒ©ćƒ•ćƒˆPRćÆć‚¹ć‚­ćƒƒćƒ—ć—ć¾ć™
185
185
 
186
- ęŠ€č”“ēš„ćŖč©³ē“°ć«ć¤ć„ć¦ćÆć€[specs/SPEC-cff08403/](specs/SPEC-cff08403/)ć‚’å‚ē…§ć—ć¦ćć ć•ć„ć€‚
186
+ ęŠ€č”“ēš„ćŖč©³ē“°ć«ć¤ć„ć¦ćÆć€`.github/workflows/auto-merge.yml` ćƒÆćƒ¼ć‚Æćƒ•ćƒ­ćƒ¼ćƒ•ć‚”ć‚¤ćƒ«ć‚’å‚ē…§ć—ć¦ćć ć•ć„ć€‚
187
187
 
188
188
  ## ć‚·ć‚¹ćƒ†ćƒ č¦ä»¶
189
189
 
@@ -243,7 +243,7 @@ Claude Code ć§ä»„äø‹ć®ć‚³ćƒžćƒ³ćƒ‰ć‚’å®Ÿč”Œć—ć¦ć€ä»•ę§˜é§†å‹•é–‹ē™ŗć‚’ę“»
243
243
  @akiojin/gwt/
244
244
  ā”œā”€ā”€ src/
245
245
  │ ā”œā”€ā”€ cli/
246
- │ │ └── ui/ # Ink.js Reactć‚³ćƒ³ćƒćƒ¼ćƒćƒ³ćƒˆć«ć‚ˆć‚‹ć‚æćƒ¼ćƒŸćƒŠćƒ«UI
246
+ │ │ └── ui/ # OpenTUI + SolidJSć‚³ćƒ³ćƒćƒ¼ćƒćƒ³ćƒˆć«ć‚ˆć‚‹ć‚æćƒ¼ćƒŸćƒŠćƒ«UI
247
247
  │ ā”œā”€ā”€ web/ # Web UIć‚µćƒ¼ćƒćƒ¼ļ¼ˆExpress + React)
248
248
  │ ā”œā”€ā”€ services/ # ć‚³ć‚¢ćƒ“ć‚øćƒć‚¹ćƒ­ć‚øćƒƒć‚Æ
249
249
  │ ā”œā”€ā”€ repositories/ # ćƒ‡ćƒ¼ć‚æć‚¢ć‚Æć‚»ć‚¹å±¤
@@ -338,7 +338,7 @@ bun run start
338
338
 
339
339
  ## ćƒŖćƒŖćƒ¼ć‚¹ćƒ—ćƒ­ć‚»ć‚¹
340
340
 
341
- åˆ©ē”Øč€…ć®ę–¹ćÆ GitHub Releases ć‚‚ć—ććÆ npm ć§å…¬é–‹ć•ć‚Œć‚‹ęœ€ę–°ē‰ˆć‚’ć”åˆ©ē”Øćć ć•ć„ć€‚ćƒŖćƒŖćƒ¼ć‚¹č‡Ŗå‹•åŒ–ć®ę¦‚č¦ćÆ [docs/release-guide.md](./docs/release-guide.md)ļ¼ˆę—„ęœ¬čŖžē‰ˆ: [docs/release-guide.ja.md](./docs/release-guide.ja.md)ļ¼‰ć«ć¾ćØć‚ć¦ćŠć‚Šć€č©³ē“°čØ­čØˆćÆ `specs/SPEC-57fde06f/` ć‚’å‚ē…§ć—ć¦ćć ć•ć„ć€‚
341
+ åˆ©ē”Øč€…ć®ę–¹ćÆ GitHub Releases ć‚‚ć—ććÆ npm ć§å…¬é–‹ć•ć‚Œć‚‹ęœ€ę–°ē‰ˆć‚’ć”åˆ©ē”Øćć ć•ć„ć€‚ćƒŖćƒŖćƒ¼ć‚¹č‡Ŗå‹•åŒ–ć®ę¦‚č¦ćÆ [docs/release-guide.md](./docs/release-guide.md)ļ¼ˆę—„ęœ¬čŖžē‰ˆ: [docs/release-guide.ja.md](./docs/release-guide.ja.md))にまとめています。
342
342
 
343
343
  ## ćƒˆćƒ©ćƒ–ćƒ«ć‚·ćƒ„ćƒ¼ćƒ†ć‚£ćƒ³ć‚°
344
344
 
package/README.md CHANGED
@@ -10,7 +10,7 @@ Interactive Git worktree manager with Coding Agent selection (Claude Code / Code
10
10
 
11
11
  ## ✨ Key Features
12
12
 
13
- - šŸŽÆ **Modern React-based UI**: Built with Ink.js for a smooth, responsive terminal interface with real-time updates
13
+ - šŸŽÆ **Modern OpenTUI-based UI**: Built with OpenTUI + SolidJS for a smooth, responsive terminal interface with real-time updates
14
14
  - šŸ–¼ļø **Full-screen Layout**: Persistent header with statistics, scrollable branch list, and always-visible footer with keyboard shortcuts
15
15
  - 🌟 **Smart Branch Creation**: Create feature, bugfix, hotfix, or release branches with guided prompts and automatic base branch selection
16
16
  - šŸ”„ **Advanced Worktree Management**: Complete lifecycle management including creation, cleanup, and path optimization
@@ -183,7 +183,7 @@ The repository includes an automated PR merge workflow that streamlines the deve
183
183
  - Create PRs as drafts to prevent auto-merge: `gh pr create --draft`
184
184
  - The auto-merge workflow respects this setting and will skip draft PRs
185
185
 
186
- For technical details, see [specs/SPEC-cff08403/](specs/SPEC-cff08403/).
186
+ For technical details, see the `.github/workflows/auto-merge.yml` workflow file.
187
187
 
188
188
  ## System Requirements
189
189
 
@@ -243,7 +243,7 @@ For more details, see the [Spec Kit documentation](https://github.com/akiojin/sp
243
243
  @akiojin/gwt/
244
244
  ā”œā”€ā”€ src/
245
245
  │ ā”œā”€ā”€ cli/
246
- │ │ └── ui/ # Ink.js React components for terminal UI
246
+ │ │ └── ui/ # OpenTUI + SolidJS components for terminal UI
247
247
  │ ā”œā”€ā”€ web/ # Web UI server (Express + React)
248
248
  │ ā”œā”€ā”€ services/ # Core business logic
249
249
  │ ā”œā”€ā”€ repositories/ # Data access layer
@@ -338,7 +338,7 @@ bun run start
338
338
 
339
339
  ## Release Process
340
340
 
341
- We ship releases through release-please. End users can simply install the latest published package (via npm or the GitHub Releases tab) and rely on versioned artifacts. Maintainers who need the full workflow should read [docs/release-guide.md](./docs/release-guide.md) (ę—„ęœ¬čŖžē‰ˆ: [docs/release-guide.ja.md](./docs/release-guide.ja.md)) and the in-depth specs under `specs/SPEC-57fde06f/`.
341
+ We ship releases through release-please. End users can simply install the latest published package (via npm or the GitHub Releases tab) and rely on versioned artifacts. Maintainers who need the full workflow should read [docs/release-guide.md](./docs/release-guide.md) (ę—„ęœ¬čŖžē‰ˆ: [docs/release-guide.ja.md](./docs/release-guide.ja.md)).
342
342
 
343
343
  ## Troubleshooting
344
344
 
package/bin/gwt.js CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env bun
2
2
  import('../dist/index.js').then(module => {
3
3
  if (module.main) {
4
4
  return module.main();
package/dist/claude.d.ts CHANGED
@@ -28,6 +28,8 @@ export declare function launchClaudeCode(worktreePath: string, options?: {
28
28
  model?: string;
29
29
  sessionId?: string | null;
30
30
  chrome?: boolean;
31
+ branch?: string | null;
32
+ version?: string | null;
31
33
  }): Promise<{
32
34
  sessionId?: string | null;
33
35
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"AAaA;;;GAGG;AACH,qBAAa,WAAY,SAAQ,KAAK;IAG3B,KAAK,CAAC,EAAE,OAAO;gBADtB,OAAO,EAAE,MAAM,EACR,KAAK,CAAC,EAAE,OAAO,YAAA;CAKzB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE;IACP,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;CACb,GACL,OAAO,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAuXxC;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAgB9D"}
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"AAkBA;;;GAGG;AACH,qBAAa,WAAY,SAAQ,KAAK;IAG3B,KAAK,CAAC,EAAE,OAAO;gBADtB,OAAO,EAAE,MAAM,EACR,KAAK,CAAC,EAAE,OAAO,YAAA;CAKzB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE;IACP,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB,GACL,OAAO,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAiZxC;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAiB9D"}
package/dist/claude.js CHANGED
@@ -1,9 +1,10 @@
1
1
  import { execa } from "execa";
2
2
  import chalk from "chalk";
3
3
  import { existsSync, readFileSync } from "fs";
4
- import { createChildStdio, getTerminalStreams, resetTerminalModes, } from "./utils/terminal.js";
4
+ import { createChildStdio, getTerminalStreams, resetTerminalModes, writeTerminalLine, } from "./utils/terminal.js";
5
5
  import { findCommand } from "./utils/command.js";
6
6
  import { findLatestClaudeSession } from "./utils/session.js";
7
+ import { runAgentWithPty, shouldCaptureAgentOutput, } from "./logging/agentOutput.js";
7
8
  const CLAUDE_CLI_PACKAGE = "@anthropic-ai/claude-code@latest";
8
9
  /**
9
10
  * Error wrapper used by `launchClaudeCode` to preserve the original failure
@@ -39,15 +40,15 @@ export async function launchClaudeCode(worktreePath, options = {}) {
39
40
  if (!existsSync(worktreePath)) {
40
41
  throw new Error(`Worktree path does not exist: ${worktreePath}`);
41
42
  }
42
- console.log(chalk.blue("šŸš€ Launching Claude Code..."));
43
- console.log(chalk.gray(` Working directory: ${worktreePath}`));
43
+ writeTerminalLine(chalk.blue("šŸš€ Launching Claude Code..."));
44
+ writeTerminalLine(chalk.gray(` Working directory: ${worktreePath}`));
44
45
  const args = [];
45
46
  if (options.model && options.model !== "opus") {
46
47
  args.push("--model", options.model);
47
- console.log(chalk.green(` šŸŽÆ Model: ${options.model}`));
48
+ writeTerminalLine(chalk.green(` šŸŽÆ Model: ${options.model}`));
48
49
  }
49
50
  else if (options.model === "opus") {
50
- console.log(chalk.green(` šŸŽÆ Model: ${options.model} (Default)`));
51
+ writeTerminalLine(chalk.green(` šŸŽÆ Model: ${options.model} (Default)`));
51
52
  }
52
53
  const resumeSessionId = options.sessionId && options.sessionId.trim().length > 0
53
54
  ? options.sessionId.trim()
@@ -59,17 +60,17 @@ export async function launchClaudeCode(worktreePath, options = {}) {
59
60
  case "continue":
60
61
  if (resumeSessionId) {
61
62
  args.push("--resume", resumeSessionId);
62
- console.log(chalk.cyan(` šŸ“± Continuing specific session: ${resumeSessionId}`));
63
+ writeTerminalLine(chalk.cyan(` šŸ“± Continuing specific session: ${resumeSessionId}`));
63
64
  }
64
65
  else {
65
- console.log(chalk.yellow(" ā„¹ļø No saved session ID for this branch/tool. Starting new session."));
66
+ writeTerminalLine(chalk.yellow(" ā„¹ļø No saved session ID for this branch/tool. Starting new session."));
66
67
  }
67
68
  break;
68
69
  case "resume":
69
- // TODO: Implement conversation selection with Ink UI
70
+ // TODO: Implement conversation selection in the OpenTUI UI
70
71
  // Legacy UI removed - this feature needs to be reimplemented
71
- console.log(chalk.yellow(" āš ļø Resume conversation feature temporarily disabled (Ink UI migration)"));
72
- console.log(chalk.cyan(" ā„¹ļø Using default Claude Code resume behavior"));
72
+ writeTerminalLine(chalk.yellow(" āš ļø Resume conversation feature temporarily disabled (UI migration)"));
73
+ writeTerminalLine(chalk.cyan(" ā„¹ļø Using default Claude Code resume behavior"));
73
74
  // Fallback to default Claude Code resume
74
75
  /*
75
76
  try {
@@ -78,14 +79,14 @@ export async function launchClaudeCode(worktreePath, options = {}) {
78
79
  await selectClaudeConversation(worktreePath);
79
80
 
80
81
  if (selectedConversation) {
81
- console.log(
82
+ writeTerminalLine(
82
83
  chalk.green(` ✨ Resuming: ${selectedConversation.title}`),
83
84
  );
84
85
 
85
86
  // Use specific session ID if available
86
87
  if (selectedConversation.sessionId) {
87
88
  args.push("--resume", selectedConversation.sessionId);
88
- console.log(
89
+ writeTerminalLine(
89
90
  chalk.cyan(
90
91
  ` šŸ†” Using session ID: ${selectedConversation.sessionId}`,
91
92
  ),
@@ -93,7 +94,7 @@ export async function launchClaudeCode(worktreePath, options = {}) {
93
94
  } else {
94
95
  // Fallback: try to use filename as session identifier
95
96
  const fileName = selectedConversation.id;
96
- console.log(
97
+ writeTerminalLine(
97
98
  chalk.yellow(
98
99
  ` āš ļø No session ID found, trying filename: ${fileName}`,
99
100
  ),
@@ -102,7 +103,7 @@ export async function launchClaudeCode(worktreePath, options = {}) {
102
103
  }
103
104
  } else {
104
105
  // User cancelled - return without launching Claude
105
- console.log(
106
+ writeTerminalLine(
106
107
  chalk.gray(" ā†©ļø Selection cancelled, returning to menu"),
107
108
  );
108
109
  return;
@@ -119,7 +120,7 @@ export async function launchClaudeCode(worktreePath, options = {}) {
119
120
  // Use standard Claude Code resume for now
120
121
  if (resumeSessionId) {
121
122
  args.push("--resume", resumeSessionId);
122
- console.log(chalk.cyan(` šŸ”„ Resuming Claude session: ${resumeSessionId}`));
123
+ writeTerminalLine(chalk.cyan(` šŸ”„ Resuming Claude session: ${resumeSessionId}`));
123
124
  }
124
125
  else {
125
126
  args.push("-r");
@@ -127,16 +128,16 @@ export async function launchClaudeCode(worktreePath, options = {}) {
127
128
  break;
128
129
  case "normal":
129
130
  default:
130
- console.log(chalk.green(" ✨ Starting new session"));
131
+ writeTerminalLine(chalk.green(" ✨ Starting new session"));
131
132
  break;
132
133
  }
133
134
  // Handle Chrome extension integration
134
135
  if (options.chrome && isChromeIntegrationSupported()) {
135
136
  args.push("--chrome");
136
- console.log(chalk.green(" 🌐 Chrome integration enabled"));
137
+ writeTerminalLine(chalk.green(" 🌐 Chrome integration enabled"));
137
138
  }
138
139
  else if (options.chrome) {
139
- console.log(chalk.yellow(" āš ļø Chrome integration is not supported on this platform. Skipping --chrome."));
140
+ writeTerminalLine(chalk.yellow(" āš ļø Chrome integration is not supported on this platform. Skipping --chrome."));
140
141
  }
141
142
  // Detect root user for Docker/sandbox environments
142
143
  let isRoot = false;
@@ -149,17 +150,17 @@ export async function launchClaudeCode(worktreePath, options = {}) {
149
150
  // Handle skip permissions
150
151
  if (options.skipPermissions) {
151
152
  args.push("--dangerously-skip-permissions");
152
- console.log(chalk.yellow(" āš ļø Skipping permissions check"));
153
+ writeTerminalLine(chalk.yellow(" āš ļø Skipping permissions check"));
153
154
  // Show additional warning for root users in Docker/sandbox environments
154
155
  if (isRoot) {
155
- console.log(chalk.yellow(" āš ļø Running as Docker/sandbox environment (IS_SANDBOX=1)"));
156
+ writeTerminalLine(chalk.yellow(" āš ļø Running as Docker/sandbox environment (IS_SANDBOX=1)"));
156
157
  }
157
158
  }
158
159
  // Append any pass-through arguments after our flags
159
160
  if (options.extraArgs && options.extraArgs.length > 0) {
160
161
  args.push(...options.extraArgs);
161
162
  }
162
- console.log(chalk.gray(` šŸ“‹ Args: ${args.join(" ")}`));
163
+ writeTerminalLine(chalk.gray(` šŸ“‹ Args: ${args.join(" ")}`));
163
164
  terminal.exitRawMode();
164
165
  resetTerminalModes(terminal.stdout);
165
166
  const baseEnv = {
@@ -171,7 +172,8 @@ export async function launchClaudeCode(worktreePath, options = {}) {
171
172
  ? { ...baseEnv, IS_SANDBOX: "1" }
172
173
  : baseEnv;
173
174
  const launchEnv = Object.fromEntries(Object.entries(launchEnvSource).filter((entry) => typeof entry[1] === "string"));
174
- const childStdio = createChildStdio();
175
+ const captureOutput = shouldCaptureAgentOutput(launchEnv);
176
+ const childStdio = captureOutput ? null : createChildStdio();
175
177
  // Auto-detect locally installed claude command
176
178
  const claudeLookup = await findCommand("claude");
177
179
  const npxLookup = process.platform === "win32" ? await findCommand("npx") : null;
@@ -193,69 +195,96 @@ export async function launchClaudeCode(worktreePath, options = {}) {
193
195
  throw error;
194
196
  }
195
197
  };
196
- try {
197
- if (claudeLookup.source === "installed" && claudeLookup.path) {
198
- // Use the full path to avoid PATH issues in non-interactive shells
199
- console.log(chalk.green(" ✨ Using locally installed claude command"));
200
- await execInteractive(claudeLookup.path, args, {
198
+ // Treat SIGHUP (1), SIGINT (2), SIGTERM (15) as normal exit signals
199
+ // SIGHUP can occur when the PTY closes, SIGINT/SIGTERM are user interrupts
200
+ const isNormalExitSignal = (signal) => signal === 1 || signal === 2 || signal === 15;
201
+ const runCommand = async (file, fileArgs) => {
202
+ if (captureOutput) {
203
+ const result = await runAgentWithPty({
204
+ command: file,
205
+ args: fileArgs,
201
206
  cwd: worktreePath,
202
- stdin: childStdio.stdin,
203
- stdout: childStdio.stdout,
204
- stderr: childStdio.stderr,
205
207
  env: launchEnv,
208
+ agentId: "claude-code",
206
209
  });
210
+ // Treat normal exit signals (SIGHUP, SIGINT, SIGTERM) as successful exit
211
+ if (isNormalExitSignal(result.signal)) {
212
+ return;
213
+ }
214
+ if (result.exitCode !== null && result.exitCode !== 0) {
215
+ throw new Error(`Claude Code exited with code ${result.exitCode}`);
216
+ }
217
+ return;
218
+ }
219
+ if (!childStdio) {
220
+ return;
221
+ }
222
+ await execInteractive(file, fileArgs, {
223
+ cwd: worktreePath,
224
+ stdin: childStdio.stdin,
225
+ stdout: childStdio.stdout,
226
+ stderr: childStdio.stderr,
227
+ env: launchEnv,
228
+ });
229
+ };
230
+ // Determine execution strategy based on version selection
231
+ // FR-063b: "installed" option only appears when local command exists
232
+ const requestedVersion = options.version ?? "latest";
233
+ let selectedVersion = requestedVersion;
234
+ if (requestedVersion === "installed" && !claudeLookup.path) {
235
+ writeTerminalLine(chalk.yellow(" āš ļø Installed claude command not found. Falling back to latest."));
236
+ selectedVersion = "latest";
237
+ }
238
+ // Log version information (FR-072)
239
+ if (selectedVersion === "installed") {
240
+ writeTerminalLine(chalk.green(` šŸ“¦ Version: installed`));
241
+ }
242
+ else {
243
+ writeTerminalLine(chalk.green(` šŸ“¦ Version: @${selectedVersion}`));
244
+ }
245
+ try {
246
+ if (selectedVersion === "installed" && claudeLookup.path) {
247
+ // FR-066: Use locally installed command when "installed" is selected
248
+ // FR-063b guarantees local command exists when this option is shown
249
+ writeTerminalLine(chalk.green(" ✨ Using locally installed claude command"));
250
+ await runCommand(claudeLookup.path, args);
207
251
  }
208
252
  else {
253
+ // FR-067, FR-068: Use bunx with version suffix for latest/specific versions
254
+ const packageWithVersion = `@anthropic-ai/claude-code@${selectedVersion}`;
209
255
  const useNpx = npxLookup?.source === "installed" && npxLookup?.path;
210
256
  if (useNpx) {
211
- console.log(chalk.cyan(" šŸ”„ Falling back to npx @anthropic-ai/claude-code@latest"));
257
+ writeTerminalLine(chalk.cyan(` šŸ”„ Using npx ${packageWithVersion}`));
212
258
  }
213
259
  else {
214
- console.log(chalk.cyan(" šŸ”„ Falling back to bunx @anthropic-ai/claude-code@latest"));
215
- }
216
- console.log(chalk.yellow(" šŸ’” Recommended: Install Claude Code via official method for faster startup"));
217
- console.log(chalk.yellow(" macOS/Linux: brew install --cask claude-code"));
218
- console.log(chalk.yellow(" or: curl -fsSL https://claude.ai/install.sh | bash"));
219
- console.log(chalk.yellow(" Windows: irm https://claude.ai/install.ps1 | iex"));
220
- console.log("");
221
- const shouldSkipDelay = typeof process !== "undefined" &&
222
- (process.env?.NODE_ENV === "test" || Boolean(process.env?.VITEST));
223
- if (!shouldSkipDelay) {
224
- await new Promise((resolve) => setTimeout(resolve, 2000));
260
+ writeTerminalLine(chalk.cyan(` šŸ”„ Using bunx ${packageWithVersion}`));
225
261
  }
226
262
  if (useNpx && npxLookup?.path) {
227
- await execInteractive(npxLookup.path, ["-y", CLAUDE_CLI_PACKAGE, ...args], {
228
- cwd: worktreePath,
229
- stdin: childStdio.stdin,
230
- stdout: childStdio.stdout,
231
- stderr: childStdio.stderr,
232
- env: launchEnv,
233
- });
263
+ await runCommand(npxLookup.path, ["-y", packageWithVersion, ...args]);
234
264
  }
235
265
  else {
236
- await execInteractive("bunx", [CLAUDE_CLI_PACKAGE, ...args], {
237
- cwd: worktreePath,
238
- stdin: childStdio.stdin,
239
- stdout: childStdio.stdout,
240
- stderr: childStdio.stderr,
241
- env: launchEnv,
242
- });
266
+ await runCommand("bunx", [packageWithVersion, ...args]);
243
267
  }
244
268
  }
245
269
  }
246
270
  finally {
247
- childStdio.cleanup();
271
+ childStdio?.cleanup();
248
272
  }
249
273
  // File-based session detection only - no stdout capture
250
274
  // Use only findLatestClaudeSession with short timeout, skip sessionProbe to avoid hanging
251
275
  let capturedSessionId = null;
252
276
  const finishedAt = Date.now();
277
+ const branchWorktrees = options.branch
278
+ ? [{ path: worktreePath, branch: options.branch }]
279
+ : null;
253
280
  try {
254
281
  const latest = await findLatestClaudeSession(worktreePath, {
255
282
  since: startedAt,
256
283
  until: finishedAt + 30_000,
257
284
  preferClosestTo: finishedAt,
258
285
  windowMs: 10 * 60 * 1000,
286
+ branch: options.branch ?? null,
287
+ worktrees: branchWorktrees,
259
288
  });
260
289
  const detectedSessionId = latest?.id ?? null;
261
290
  // When we explicitly resumed a specific session, keep that ID as the source of truth.
@@ -267,11 +296,11 @@ export async function launchClaudeCode(worktreePath, options = {}) {
267
296
  capturedSessionId = usedExplicitSessionId ? resumeSessionId : null;
268
297
  }
269
298
  if (capturedSessionId) {
270
- console.log(chalk.cyan(`\n šŸ†” Session ID: ${capturedSessionId}`));
271
- console.log(chalk.gray(` Resume command: claude --resume ${capturedSessionId}`));
299
+ writeTerminalLine(chalk.cyan(`\n šŸ†” Session ID: ${capturedSessionId}`));
300
+ writeTerminalLine(chalk.gray(` Resume command: claude --resume ${capturedSessionId}`));
272
301
  }
273
302
  else {
274
- console.log(chalk.yellow("\n ā„¹ļø Could not determine Claude session ID automatically."));
303
+ writeTerminalLine(chalk.yellow("\n ā„¹ļø Could not determine Claude session ID automatically."));
275
304
  }
276
305
  return capturedSessionId ? { sessionId: capturedSessionId } : {};
277
306
  }
@@ -295,16 +324,16 @@ export async function launchClaudeCode(worktreePath, options = {}) {
295
324
  errorMessage = `Failed to launch Claude Code: ${details || "Unknown error"}`;
296
325
  }
297
326
  if (process.platform === "win32") {
298
- console.error(chalk.red("\nšŸ’” Windows troubleshooting tips:"));
327
+ writeTerminalLine(chalk.red("\nšŸ’” Windows troubleshooting tips:"), "stderr");
299
328
  if (hasLocalClaude) {
300
- console.error(chalk.yellow(" 1. Confirm that Claude Code is installed and the 'claude' command is on PATH"));
301
- console.error(chalk.yellow(' 2. Run "claude --version" to verify the setup'));
329
+ writeTerminalLine(chalk.yellow(" 1. Confirm that Claude Code is installed and the 'claude' command is on PATH"), "stderr");
330
+ writeTerminalLine(chalk.yellow(' 2. Run "claude --version" to verify the setup'), "stderr");
302
331
  }
303
332
  else {
304
- console.error(chalk.yellow(" 1. Confirm that Bun is installed and bunx is available"));
305
- console.error(chalk.yellow(' 2. Run "bunx @anthropic-ai/claude-code@latest -- --version" to verify the setup'));
333
+ writeTerminalLine(chalk.yellow(" 1. Confirm that Bun is installed and bunx is available"), "stderr");
334
+ writeTerminalLine(chalk.yellow(' 2. Run "bunx @anthropic-ai/claude-code@latest -- --version" to verify the setup'), "stderr");
306
335
  }
307
- console.error(chalk.yellow(" 3. Restart your terminal or IDE to refresh PATH"));
336
+ writeTerminalLine(chalk.yellow(" 3. Restart your terminal or IDE to refresh PATH"), "stderr");
308
337
  }
309
338
  throw new ClaudeError(errorMessage, error);
310
339
  }
@@ -326,8 +355,8 @@ export async function isClaudeCodeAvailable() {
326
355
  catch (error) {
327
356
  const err = error;
328
357
  if (err.code === "ENOENT") {
329
- console.error(chalk.yellow("\nāš ļø bunx command not found"));
330
- console.error(chalk.gray(" Install Bun and confirm that bunx is available before continuing"));
358
+ writeTerminalLine(chalk.yellow("\nāš ļø bunx command not found"), "stderr");
359
+ writeTerminalLine(chalk.gray(" Install Bun and confirm that bunx is available before continuing"), "stderr");
331
360
  }
332
361
  return false;
333
362
  }
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAgC,MAAM,OAAO,CAAC;AAC5D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EACL,eAAe,EACf,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAElC,MAAM,kBAAkB,GAAG,kCAAkC,CAAC;AAE9D;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IAG3B;IAFT,YACE,OAAe,EACR,KAAe;QAEtB,KAAK,CAAC,OAAO,CAAC,CAAC;QAFR,UAAK,GAAL,KAAK,CAAU;QAGtB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,YAAoB,EACpB,UAUI,EAAE;IAEN,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,oCAAoC;QACpC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAC7D,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC,CAAC;QAEvE,MAAM,IAAI,GAAa,EAAE,CAAC;QAE1B,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACpC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAClE,CAAC;aAAM,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YACpC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,OAAO,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,eAAe,GACnB,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YACtD,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE;YAC1B,CAAC,CAAC,IAAI,CAAC;QACX,MAAM,qBAAqB,GACzB,OAAO,CAAC,eAAe,CAAC;YACxB,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAE7D,wBAAwB;QACxB,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,UAAU;gBACb,IAAI,eAAe,EAAE,CAAC;oBACpB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;oBACvC,iBAAiB,CACf,KAAK,CAAC,IAAI,CAAC,sCAAsC,eAAe,EAAE,CAAC,CACpE,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,iBAAiB,CACf,KAAK,CAAC,MAAM,CACV,wEAAwE,CACzE,CACF,CAAC;gBACJ,CAAC;gBACD,MAAM;YACR,KAAK,QAAQ;gBACX,2DAA2D;gBAC3D,6DAA6D;gBAC7D,iBAAiB,CACf,KAAK,CAAC,MAAM,CACV,wEAAwE,CACzE,CACF,CAAC;gBACF,iBAAiB,CACf,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAC/D,CAAC;gBAEF,yCAAyC;gBACzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA4CE;gBACF,0CAA0C;gBAC1C,IAAI,eAAe,EAAE,CAAC;oBACpB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;oBACvC,iBAAiB,CACf,KAAK,CAAC,IAAI,CAAC,kCAAkC,eAAe,EAAE,CAAC,CAChE,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;gBACD,MAAM;YACR,KAAK,QAAQ,CAAC;YACd;gBACE,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;gBAC5D,MAAM;QACV,CAAC;QAED,sCAAsC;QACtC,IAAI,OAAO,CAAC,MAAM,IAAI,4BAA4B,EAAE,EAAE,CAAC;YACrD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtB,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;QACrE,CAAC;aAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAC1B,iBAAiB,CACf,KAAK,CAAC,MAAM,CACV,iFAAiF,CAClF,CACF,CAAC;QACJ,CAAC;QAED,mDAAmD;QACnD,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;QACtE,CAAC;QAED,0BAA0B;QAC1B,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAC5C,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC;YAErE,wEAAwE;YACxE,IAAI,MAAM,EAAE,CAAC;gBACX,iBAAiB,CACf,KAAK,CAAC,MAAM,CACV,6DAA6D,CAC9D,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,oDAAoD;QACpD,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;QAED,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAE/D,QAAQ,CAAC,WAAW,EAAE,CAAC;QACvB,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEpC,MAAM,OAAO,GAAuC;YAClD,GAAG,OAAO,CAAC,GAAG;YACd,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;YAC/B,eAAe,EAAE,MAAM,EAAE,+CAA+C;SACzE,CAAC;QACF,MAAM,eAAe,GACnB,OAAO,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,UAAU;YAC5C,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE;YACjC,CAAC,CAAC,OAAO,CAAC;QACd,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAClC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,MAAM,CACpC,CAAC,KAAK,EAA6B,EAAE,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CACnE,CACF,CAAC;QAEF,MAAM,aAAa,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAE7D,+CAA+C;QAC/C,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,SAAS,GACb,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEjE,MAAM,eAAe,GAAG,KAAK,EAC3B,IAAY,EACZ,QAAkB,EAClB,WAAwC,EACxC,EAAE;YACF,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACjC,MAAM,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,GAAG,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7D,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,GAAG,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9D,OAAO;YACT,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAG,KAA8B,CAAC;gBAC3C,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ,IAAI,GAAG,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACrD,MAAM,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,GAAG,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC7D,OAAO;gBACT,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QAEF,oEAAoE;QACpE,2EAA2E;QAC3E,MAAM,kBAAkB,GAAG,CAAC,MAAsB,EAAE,EAAE,CACpD,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,EAAE,CAAC;QAEhD,MAAM,UAAU,GAAG,KAAK,EAAE,IAAY,EAAE,QAAkB,EAAE,EAAE;YAC5D,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;oBACnC,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,QAAQ;oBACd,GAAG,EAAE,YAAY;oBACjB,GAAG,EAAE,SAAS;oBACd,OAAO,EAAE,aAAa;iBACvB,CAAC,CAAC;gBACH,yEAAyE;gBACzE,IAAI,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;oBACtC,OAAO;gBACT,CAAC;gBACD,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;oBACtD,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACrE,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO;YACT,CAAC;YAED,MAAM,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE;gBACpC,GAAG,EAAE,YAAY;gBACjB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,GAAG,EAAE,SAAS;aACf,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,0DAA0D;QAC1D,qEAAqE;QACrE,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,IAAI,QAAQ,CAAC;QACrD,IAAI,eAAe,GAAG,gBAAgB,CAAC;QAEvC,IAAI,gBAAgB,KAAK,WAAW,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC3D,iBAAiB,CACf,KAAK,CAAC,MAAM,CACV,oEAAoE,CACrE,CACF,CAAC;YACF,eAAe,GAAG,QAAQ,CAAC;QAC7B,CAAC;QAED,mCAAmC;QACnC,IAAI,eAAe,KAAK,WAAW,EAAE,CAAC;YACpC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,eAAe,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,CAAC;YACH,IAAI,eAAe,KAAK,WAAW,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;gBACzD,qEAAqE;gBACrE,oEAAoE;gBACpE,iBAAiB,CACf,KAAK,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAC3D,CAAC;gBACF,MAAM,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACN,4EAA4E;gBAC5E,MAAM,kBAAkB,GAAG,6BAA6B,eAAe,EAAE,CAAC;gBAE1E,MAAM,MAAM,GAAG,SAAS,EAAE,MAAM,KAAK,WAAW,IAAI,SAAS,EAAE,IAAI,CAAC;gBACpE,IAAI,MAAM,EAAE,CAAC;oBACX,iBAAiB,CACf,KAAK,CAAC,IAAI,CAAC,mBAAmB,kBAAkB,EAAE,CAAC,CACpD,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,iBAAiB,CACf,KAAK,CAAC,IAAI,CAAC,oBAAoB,kBAAkB,EAAE,CAAC,CACrD,CAAC;gBACJ,CAAC;gBAED,IAAI,MAAM,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC;oBAC9B,MAAM,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;gBACxE,CAAC;qBAAM,CAAC;oBACN,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,UAAU,EAAE,OAAO,EAAE,CAAC;QACxB,CAAC;QAED,wDAAwD;QACxD,0FAA0F;QAC1F,IAAI,iBAAiB,GAAkB,IAAI,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM;YACpC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YAClD,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,YAAY,EAAE;gBACzD,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,UAAU,GAAG,MAAM;gBAC1B,eAAe,EAAE,UAAU;gBAC3B,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;gBACxB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI;gBAC9B,SAAS,EAAE,eAAe;aAC3B,CAAC,CAAC;YACH,MAAM,iBAAiB,GAAG,MAAM,EAAE,EAAE,IAAI,IAAI,CAAC;YAC7C,sFAAsF;YACtF,iBAAiB,GAAG,qBAAqB;gBACvC,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,iBAAiB,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB,GAAG,qBAAqB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,CAAC;QAED,IAAI,iBAAiB,EAAE,CAAC;YACtB,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,iBAAiB,EAAE,CAAC,CAAC,CAAC;YAC1E,iBAAiB,CACf,KAAK,CAAC,IAAI,CAAC,sCAAsC,iBAAiB,EAAE,CAAC,CACtE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,iBAAiB,CACf,KAAK,CAAC,MAAM,CACV,+DAA+D,CAChE,CACF,CAAC;QACJ,CAAC;QAED,OAAO,iBAAiB,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,cAAc,GAClB,WAAW,CAAC,MAAM,KAAK,WAAW,IAAI,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC;QAClE,IAAI,YAAoB,CAAC;QACzB,MAAM,GAAG,GAAG,KAA8B,CAAC;QAE3C,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,IAAI,cAAc,EAAE,CAAC;gBACnB,YAAY;oBACV,4EAA4E,CAAC;YACjF,CAAC;iBAAM,CAAC;gBACN,YAAY;oBACV,yFAAyF,CAAC;YAC9F,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,YAAY,GAAG,iCAAiC,OAAO,IAAI,eAAe,EAAE,CAAC;QAC/E,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,iBAAiB,CACf,KAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,EAC/C,QAAQ,CACT,CAAC;YACF,IAAI,cAAc,EAAE,CAAC;gBACnB,iBAAiB,CACf,KAAK,CAAC,MAAM,CACV,iFAAiF,CAClF,EACD,QAAQ,CACT,CAAC;gBACF,iBAAiB,CACf,KAAK,CAAC,MAAM,CAAC,kDAAkD,CAAC,EAChE,QAAQ,CACT,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,iBAAiB,CACf,KAAK,CAAC,MAAM,CACV,2DAA2D,CAC5D,EACD,QAAQ,CACT,CAAC;gBACF,iBAAiB,CACf,KAAK,CAAC,MAAM,CACV,oFAAoF,CACrF,EACD,QAAQ,CACT,CAAC;YACJ,CAAC;YACD,iBAAiB,CACf,KAAK,CAAC,MAAM,CAAC,oDAAoD,CAAC,EAClE,QAAQ,CACT,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;YAAS,CAAC;QACT,QAAQ,CAAC,WAAW,EAAE,CAAC;QACvB,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,KAA8B,CAAC;QAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,8BAA8B,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC1E,iBAAiB,CACf,KAAK,CAAC,IAAI,CACR,qEAAqE,CACtE,EACD,QAAQ,CACT,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,4BAA4B;IACnC,QAAQ,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzB,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC;QACd,KAAK,OAAO;YACV,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB;IACvB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC1D,OAAO,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { BranchItem, CodingAgentId, InferenceLevel, Statistics } from "./types.js";
2
+ export type ExecutionMode = "normal" | "continue" | "resume";
3
+ export interface SelectionResult {
4
+ branch: string;
5
+ displayName: string;
6
+ branchType: "local" | "remote";
7
+ remoteBranch?: string;
8
+ baseBranch?: string;
9
+ isNewBranch?: boolean;
10
+ tool: CodingAgentId;
11
+ mode: ExecutionMode;
12
+ skipPermissions: boolean;
13
+ model?: string | null;
14
+ inferenceLevel?: InferenceLevel;
15
+ sessionId?: string | null;
16
+ toolVersion?: string | null;
17
+ }
18
+ export type AppScreen = "branch-list" | "tool-select" | "mode-select" | "skip-permissions" | "log-list" | "log-detail" | "profile" | "profile-env" | "profile-input" | "profile-confirm" | "profile-os-env" | "profile-error" | "worktree-create" | "loading" | "error";
19
+ export interface AppSolidProps {
20
+ onExit?: (result?: SelectionResult) => void;
21
+ loadingIndicatorDelay?: number;
22
+ initialScreen?: AppScreen;
23
+ version?: string | null;
24
+ workingDirectory?: string;
25
+ branches?: BranchItem[];
26
+ stats?: Statistics;
27
+ }
28
+ export declare function AppSolid(props: AppSolidProps): any;
29
+ //# sourceMappingURL=App.solid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.solid.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/App.solid.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,UAAU,EAEV,aAAa,EAEb,cAAc,EAEd,UAAU,EAEX,MAAM,YAAY,CAAC;AAuFpB,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;AAI7D,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,aAAa,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,MAAM,SAAS,GACjB,aAAa,GACb,aAAa,GACb,aAAa,GACb,kBAAkB,GAClB,UAAU,GACV,YAAY,GACZ,SAAS,GACT,aAAa,GACb,eAAe,GACf,iBAAiB,GACjB,gBAAgB,GAChB,eAAe,GACf,iBAAiB,GACjB,SAAS,GACT,OAAO,CAAC;AAmBZ,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AA2ED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,OA2vD5C"}