@akiojin/gwt 4.12.1 → 6.0.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 (860) hide show
  1. package/README.ja.md +173 -203
  2. package/README.md +170 -212
  3. package/bin/gwt +0 -0
  4. package/bin/gwt.js +42 -33
  5. package/package.json +20 -107
  6. package/scripts/postinstall.js +152 -0
  7. package/dist/claude-history.d.ts +0 -60
  8. package/dist/claude-history.d.ts.map +0 -1
  9. package/dist/claude-history.js +0 -606
  10. package/dist/claude-history.js.map +0 -1
  11. package/dist/claude.d.ts +0 -42
  12. package/dist/claude.d.ts.map +0 -1
  13. package/dist/claude.js +0 -429
  14. package/dist/claude.js.map +0 -1
  15. package/dist/cli/ui/App.solid.d.ts +0 -29
  16. package/dist/cli/ui/App.solid.d.ts.map +0 -1
  17. package/dist/cli/ui/App.solid.js +0 -1427
  18. package/dist/cli/ui/App.solid.js.map +0 -1
  19. package/dist/cli/ui/components/solid/Footer.d.ts +0 -10
  20. package/dist/cli/ui/components/solid/Footer.d.ts.map +0 -1
  21. package/dist/cli/ui/components/solid/Footer.js +0 -10
  22. package/dist/cli/ui/components/solid/Footer.js.map +0 -1
  23. package/dist/cli/ui/components/solid/Header.d.ts +0 -32
  24. package/dist/cli/ui/components/solid/Header.d.ts.map +0 -1
  25. package/dist/cli/ui/components/solid/Header.js +0 -13
  26. package/dist/cli/ui/components/solid/Header.js.map +0 -1
  27. package/dist/cli/ui/components/solid/HelpOverlay.d.ts +0 -8
  28. package/dist/cli/ui/components/solid/HelpOverlay.d.ts.map +0 -1
  29. package/dist/cli/ui/components/solid/HelpOverlay.js +0 -118
  30. package/dist/cli/ui/components/solid/HelpOverlay.js.map +0 -1
  31. package/dist/cli/ui/components/solid/QuickStartStep.d.ts +0 -17
  32. package/dist/cli/ui/components/solid/QuickStartStep.d.ts.map +0 -1
  33. package/dist/cli/ui/components/solid/QuickStartStep.js +0 -152
  34. package/dist/cli/ui/components/solid/QuickStartStep.js.map +0 -1
  35. package/dist/cli/ui/components/solid/SelectInput.d.ts +0 -22
  36. package/dist/cli/ui/components/solid/SelectInput.d.ts.map +0 -1
  37. package/dist/cli/ui/components/solid/SelectInput.js +0 -45
  38. package/dist/cli/ui/components/solid/SelectInput.js.map +0 -1
  39. package/dist/cli/ui/components/solid/TextInput.d.ts +0 -12
  40. package/dist/cli/ui/components/solid/TextInput.d.ts.map +0 -1
  41. package/dist/cli/ui/components/solid/TextInput.js +0 -9
  42. package/dist/cli/ui/components/solid/TextInput.js.map +0 -1
  43. package/dist/cli/ui/components/solid/WizardController.d.ts +0 -34
  44. package/dist/cli/ui/components/solid/WizardController.d.ts.map +0 -1
  45. package/dist/cli/ui/components/solid/WizardController.js +0 -269
  46. package/dist/cli/ui/components/solid/WizardController.js.map +0 -1
  47. package/dist/cli/ui/components/solid/WizardPopup.d.ts +0 -26
  48. package/dist/cli/ui/components/solid/WizardPopup.d.ts.map +0 -1
  49. package/dist/cli/ui/components/solid/WizardPopup.js +0 -68
  50. package/dist/cli/ui/components/solid/WizardPopup.js.map +0 -1
  51. package/dist/cli/ui/components/solid/WizardSteps.d.ts +0 -57
  52. package/dist/cli/ui/components/solid/WizardSteps.d.ts.map +0 -1
  53. package/dist/cli/ui/components/solid/WizardSteps.js +0 -442
  54. package/dist/cli/ui/components/solid/WizardSteps.js.map +0 -1
  55. package/dist/cli/ui/core/index.d.ts +0 -12
  56. package/dist/cli/ui/core/index.d.ts.map +0 -1
  57. package/dist/cli/ui/core/index.js +0 -15
  58. package/dist/cli/ui/core/index.js.map +0 -1
  59. package/dist/cli/ui/core/keybindings.d.ts +0 -106
  60. package/dist/cli/ui/core/keybindings.d.ts.map +0 -1
  61. package/dist/cli/ui/core/keybindings.js +0 -270
  62. package/dist/cli/ui/core/keybindings.js.map +0 -1
  63. package/dist/cli/ui/core/theme.d.ts +0 -123
  64. package/dist/cli/ui/core/theme.d.ts.map +0 -1
  65. package/dist/cli/ui/core/theme.js +0 -191
  66. package/dist/cli/ui/core/theme.js.map +0 -1
  67. package/dist/cli/ui/core/types.d.ts +0 -156
  68. package/dist/cli/ui/core/types.d.ts.map +0 -1
  69. package/dist/cli/ui/core/types.js +0 -10
  70. package/dist/cli/ui/core/types.js.map +0 -1
  71. package/dist/cli/ui/hooks/solid/useScrollableList.d.ts +0 -26
  72. package/dist/cli/ui/hooks/solid/useScrollableList.d.ts.map +0 -1
  73. package/dist/cli/ui/hooks/solid/useScrollableList.js +0 -89
  74. package/dist/cli/ui/hooks/solid/useScrollableList.js.map +0 -1
  75. package/dist/cli/ui/hooks/solid/useTerminalSize.d.ts +0 -10
  76. package/dist/cli/ui/hooks/solid/useTerminalSize.d.ts.map +0 -1
  77. package/dist/cli/ui/hooks/solid/useTerminalSize.js +0 -16
  78. package/dist/cli/ui/hooks/solid/useTerminalSize.js.map +0 -1
  79. package/dist/cli/ui/index.solid.d.ts +0 -5
  80. package/dist/cli/ui/index.solid.d.ts.map +0 -1
  81. package/dist/cli/ui/index.solid.js +0 -21
  82. package/dist/cli/ui/index.solid.js.map +0 -1
  83. package/dist/cli/ui/screens/solid/BranchListScreen.d.ts +0 -53
  84. package/dist/cli/ui/screens/solid/BranchListScreen.d.ts.map +0 -1
  85. package/dist/cli/ui/screens/solid/BranchListScreen.js +0 -829
  86. package/dist/cli/ui/screens/solid/BranchListScreen.js.map +0 -1
  87. package/dist/cli/ui/screens/solid/ConfirmScreen.d.ts +0 -11
  88. package/dist/cli/ui/screens/solid/ConfirmScreen.d.ts.map +0 -1
  89. package/dist/cli/ui/screens/solid/ConfirmScreen.js +0 -45
  90. package/dist/cli/ui/screens/solid/ConfirmScreen.js.map +0 -1
  91. package/dist/cli/ui/screens/solid/EnvironmentScreen.d.ts +0 -14
  92. package/dist/cli/ui/screens/solid/EnvironmentScreen.d.ts.map +0 -1
  93. package/dist/cli/ui/screens/solid/EnvironmentScreen.js +0 -90
  94. package/dist/cli/ui/screens/solid/EnvironmentScreen.js.map +0 -1
  95. package/dist/cli/ui/screens/solid/ErrorScreen.d.ts +0 -8
  96. package/dist/cli/ui/screens/solid/ErrorScreen.d.ts.map +0 -1
  97. package/dist/cli/ui/screens/solid/ErrorScreen.js +0 -18
  98. package/dist/cli/ui/screens/solid/ErrorScreen.js.map +0 -1
  99. package/dist/cli/ui/screens/solid/InputScreen.d.ts +0 -13
  100. package/dist/cli/ui/screens/solid/InputScreen.d.ts.map +0 -1
  101. package/dist/cli/ui/screens/solid/InputScreen.js +0 -17
  102. package/dist/cli/ui/screens/solid/InputScreen.js.map +0 -1
  103. package/dist/cli/ui/screens/solid/LoadingIndicator.d.ts +0 -9
  104. package/dist/cli/ui/screens/solid/LoadingIndicator.d.ts.map +0 -1
  105. package/dist/cli/ui/screens/solid/LoadingIndicator.js +0 -43
  106. package/dist/cli/ui/screens/solid/LoadingIndicator.js.map +0 -1
  107. package/dist/cli/ui/screens/solid/LogDetailScreen.d.ts +0 -14
  108. package/dist/cli/ui/screens/solid/LogDetailScreen.d.ts.map +0 -1
  109. package/dist/cli/ui/screens/solid/LogDetailScreen.js +0 -34
  110. package/dist/cli/ui/screens/solid/LogDetailScreen.js.map +0 -1
  111. package/dist/cli/ui/screens/solid/LogScreen.d.ts +0 -25
  112. package/dist/cli/ui/screens/solid/LogScreen.d.ts.map +0 -1
  113. package/dist/cli/ui/screens/solid/LogScreen.js +0 -333
  114. package/dist/cli/ui/screens/solid/LogScreen.js.map +0 -1
  115. package/dist/cli/ui/screens/solid/ProfileEnvScreen.d.ts +0 -17
  116. package/dist/cli/ui/screens/solid/ProfileEnvScreen.d.ts.map +0 -1
  117. package/dist/cli/ui/screens/solid/ProfileEnvScreen.js +0 -115
  118. package/dist/cli/ui/screens/solid/ProfileEnvScreen.js.map +0 -1
  119. package/dist/cli/ui/screens/solid/ProfileScreen.d.ts +0 -17
  120. package/dist/cli/ui/screens/solid/ProfileScreen.d.ts.map +0 -1
  121. package/dist/cli/ui/screens/solid/ProfileScreen.js +0 -50
  122. package/dist/cli/ui/screens/solid/ProfileScreen.js.map +0 -1
  123. package/dist/cli/ui/screens/solid/SelectorScreen.d.ts +0 -20
  124. package/dist/cli/ui/screens/solid/SelectorScreen.d.ts.map +0 -1
  125. package/dist/cli/ui/screens/solid/SelectorScreen.js +0 -98
  126. package/dist/cli/ui/screens/solid/SelectorScreen.js.map +0 -1
  127. package/dist/cli/ui/screens/solid/WorktreeCreateScreen.d.ts +0 -13
  128. package/dist/cli/ui/screens/solid/WorktreeCreateScreen.d.ts.map +0 -1
  129. package/dist/cli/ui/screens/solid/WorktreeCreateScreen.js +0 -59
  130. package/dist/cli/ui/screens/solid/WorktreeCreateScreen.js.map +0 -1
  131. package/dist/cli/ui/stores/appStore.d.ts +0 -143
  132. package/dist/cli/ui/stores/appStore.d.ts.map +0 -1
  133. package/dist/cli/ui/stores/appStore.js +0 -158
  134. package/dist/cli/ui/stores/appStore.js.map +0 -1
  135. package/dist/cli/ui/stores/branchStore.d.ts +0 -159
  136. package/dist/cli/ui/stores/branchStore.d.ts.map +0 -1
  137. package/dist/cli/ui/stores/branchStore.js +0 -275
  138. package/dist/cli/ui/stores/branchStore.js.map +0 -1
  139. package/dist/cli/ui/stores/index.d.ts +0 -11
  140. package/dist/cli/ui/stores/index.d.ts.map +0 -1
  141. package/dist/cli/ui/stores/index.js +0 -14
  142. package/dist/cli/ui/stores/index.js.map +0 -1
  143. package/dist/cli/ui/stores/uiStore.d.ts +0 -146
  144. package/dist/cli/ui/stores/uiStore.d.ts.map +0 -1
  145. package/dist/cli/ui/stores/uiStore.js +0 -166
  146. package/dist/cli/ui/stores/uiStore.js.map +0 -1
  147. package/dist/cli/ui/types.d.ts +0 -293
  148. package/dist/cli/ui/types.d.ts.map +0 -1
  149. package/dist/cli/ui/types.js +0 -2
  150. package/dist/cli/ui/types.js.map +0 -1
  151. package/dist/cli/ui/utils/baseBranch.d.ts +0 -4
  152. package/dist/cli/ui/utils/baseBranch.d.ts.map +0 -1
  153. package/dist/cli/ui/utils/baseBranch.js +0 -17
  154. package/dist/cli/ui/utils/baseBranch.js.map +0 -1
  155. package/dist/cli/ui/utils/branchFormatter.d.ts +0 -19
  156. package/dist/cli/ui/utils/branchFormatter.d.ts.map +0 -1
  157. package/dist/cli/ui/utils/branchFormatter.js +0 -199
  158. package/dist/cli/ui/utils/branchFormatter.js.map +0 -1
  159. package/dist/cli/ui/utils/clipboard.d.ts +0 -7
  160. package/dist/cli/ui/utils/clipboard.d.ts.map +0 -1
  161. package/dist/cli/ui/utils/clipboard.js +0 -21
  162. package/dist/cli/ui/utils/clipboard.js.map +0 -1
  163. package/dist/cli/ui/utils/continueSession.d.ts +0 -36
  164. package/dist/cli/ui/utils/continueSession.d.ts.map +0 -1
  165. package/dist/cli/ui/utils/continueSession.js +0 -155
  166. package/dist/cli/ui/utils/continueSession.js.map +0 -1
  167. package/dist/cli/ui/utils/installedVersionCache.d.ts +0 -33
  168. package/dist/cli/ui/utils/installedVersionCache.d.ts.map +0 -1
  169. package/dist/cli/ui/utils/installedVersionCache.js +0 -59
  170. package/dist/cli/ui/utils/installedVersionCache.js.map +0 -1
  171. package/dist/cli/ui/utils/modelOptions.d.ts +0 -10
  172. package/dist/cli/ui/utils/modelOptions.d.ts.map +0 -1
  173. package/dist/cli/ui/utils/modelOptions.js +0 -155
  174. package/dist/cli/ui/utils/modelOptions.js.map +0 -1
  175. package/dist/cli/ui/utils/statisticsCalculator.d.ts +0 -9
  176. package/dist/cli/ui/utils/statisticsCalculator.d.ts.map +0 -1
  177. package/dist/cli/ui/utils/statisticsCalculator.js +0 -37
  178. package/dist/cli/ui/utils/statisticsCalculator.js.map +0 -1
  179. package/dist/cli/ui/utils/versionCache.d.ts +0 -37
  180. package/dist/cli/ui/utils/versionCache.d.ts.map +0 -1
  181. package/dist/cli/ui/utils/versionCache.js +0 -70
  182. package/dist/cli/ui/utils/versionCache.js.map +0 -1
  183. package/dist/cli/ui/utils/versionFetcher.d.ts +0 -41
  184. package/dist/cli/ui/utils/versionFetcher.d.ts.map +0 -1
  185. package/dist/cli/ui/utils/versionFetcher.js +0 -89
  186. package/dist/cli/ui/utils/versionFetcher.js.map +0 -1
  187. package/dist/client/assets/index-BbfV7Wuj.css +0 -1
  188. package/dist/client/assets/index-CoAyq5x1.js +0 -78
  189. package/dist/client/index.html +0 -13
  190. package/dist/codex.d.ts +0 -55
  191. package/dist/codex.d.ts.map +0 -1
  192. package/dist/codex.js +0 -329
  193. package/dist/codex.js.map +0 -1
  194. package/dist/config/builtin-coding-agents.d.ts +0 -27
  195. package/dist/config/builtin-coding-agents.d.ts.map +0 -1
  196. package/dist/config/builtin-coding-agents.js +0 -78
  197. package/dist/config/builtin-coding-agents.js.map +0 -1
  198. package/dist/config/constants.d.ts +0 -76
  199. package/dist/config/constants.d.ts.map +0 -1
  200. package/dist/config/constants.js +0 -92
  201. package/dist/config/constants.js.map +0 -1
  202. package/dist/config/env-history.d.ts +0 -4
  203. package/dist/config/env-history.d.ts.map +0 -1
  204. package/dist/config/env-history.js +0 -34
  205. package/dist/config/env-history.js.map +0 -1
  206. package/dist/config/index.d.ts +0 -51
  207. package/dist/config/index.d.ts.map +0 -1
  208. package/dist/config/index.js +0 -225
  209. package/dist/config/index.js.map +0 -1
  210. package/dist/config/profiles.d.ts +0 -94
  211. package/dist/config/profiles.d.ts.map +0 -1
  212. package/dist/config/profiles.js +0 -284
  213. package/dist/config/profiles.js.map +0 -1
  214. package/dist/config/shared-env.d.ts +0 -41
  215. package/dist/config/shared-env.d.ts.map +0 -1
  216. package/dist/config/shared-env.js +0 -114
  217. package/dist/config/shared-env.js.map +0 -1
  218. package/dist/config/tools.d.ts +0 -50
  219. package/dist/config/tools.d.ts.map +0 -1
  220. package/dist/config/tools.js +0 -239
  221. package/dist/config/tools.js.map +0 -1
  222. package/dist/gemini.d.ts +0 -35
  223. package/dist/gemini.d.ts.map +0 -1
  224. package/dist/gemini.js +0 -299
  225. package/dist/gemini.js.map +0 -1
  226. package/dist/git.d.ts +0 -154
  227. package/dist/git.d.ts.map +0 -1
  228. package/dist/git.js +0 -1012
  229. package/dist/git.js.map +0 -1
  230. package/dist/github.d.ts +0 -14
  231. package/dist/github.d.ts.map +0 -1
  232. package/dist/github.js +0 -123
  233. package/dist/github.js.map +0 -1
  234. package/dist/index.d.ts +0 -16
  235. package/dist/index.d.ts.map +0 -1
  236. package/dist/index.js +0 -782
  237. package/dist/index.js.map +0 -1
  238. package/dist/launcher.d.ts +0 -30
  239. package/dist/launcher.d.ts.map +0 -1
  240. package/dist/launcher.js +0 -185
  241. package/dist/launcher.js.map +0 -1
  242. package/dist/logging/agentOutput.d.ts +0 -21
  243. package/dist/logging/agentOutput.d.ts.map +0 -1
  244. package/dist/logging/agentOutput.js +0 -164
  245. package/dist/logging/agentOutput.js.map +0 -1
  246. package/dist/logging/formatter.d.ts +0 -15
  247. package/dist/logging/formatter.d.ts.map +0 -1
  248. package/dist/logging/formatter.js +0 -95
  249. package/dist/logging/formatter.js.map +0 -1
  250. package/dist/logging/logger.d.ts +0 -24
  251. package/dist/logging/logger.d.ts.map +0 -1
  252. package/dist/logging/logger.js +0 -79
  253. package/dist/logging/logger.js.map +0 -1
  254. package/dist/logging/reader.d.ts +0 -34
  255. package/dist/logging/reader.d.ts.map +0 -1
  256. package/dist/logging/reader.js +0 -178
  257. package/dist/logging/reader.js.map +0 -1
  258. package/dist/logging/rotation.d.ts +0 -6
  259. package/dist/logging/rotation.d.ts.map +0 -1
  260. package/dist/logging/rotation.js +0 -26
  261. package/dist/logging/rotation.js.map +0 -1
  262. package/dist/opentui/highlights-eq9cgrbb.scm +0 -604
  263. package/dist/opentui/highlights-ghv9g403.scm +0 -205
  264. package/dist/opentui/highlights-hk7bwhj4.scm +0 -284
  265. package/dist/opentui/highlights-r812a2qc.scm +0 -150
  266. package/dist/opentui/highlights-x6tmsnaa.scm +0 -115
  267. package/dist/opentui/index.solid.d.ts +0 -2
  268. package/dist/opentui/index.solid.d.ts.map +0 -1
  269. package/dist/opentui/index.solid.js +0 -53721
  270. package/dist/opentui/index.solid.js.map +0 -1
  271. package/dist/opentui/injections-73j83es3.scm +0 -27
  272. package/dist/opentui/tree-sitter-javascript-nd0q4pe9.wasm +0 -0
  273. package/dist/opentui/tree-sitter-markdown-411r6y9b.wasm +0 -0
  274. package/dist/opentui/tree-sitter-markdown_inline-j5349f42.wasm +0 -0
  275. package/dist/opentui/tree-sitter-typescript-zxjzwt75.wasm +0 -0
  276. package/dist/opentui/tree-sitter-zig-e78zbjpm.wasm +0 -0
  277. package/dist/repositories/git.repository.d.ts +0 -38
  278. package/dist/repositories/git.repository.d.ts.map +0 -1
  279. package/dist/repositories/git.repository.js +0 -117
  280. package/dist/repositories/git.repository.js.map +0 -1
  281. package/dist/repositories/github.repository.d.ts +0 -16
  282. package/dist/repositories/github.repository.d.ts.map +0 -1
  283. package/dist/repositories/github.repository.js +0 -61
  284. package/dist/repositories/github.repository.js.map +0 -1
  285. package/dist/repositories/worktree.repository.d.ts +0 -19
  286. package/dist/repositories/worktree.repository.d.ts.map +0 -1
  287. package/dist/repositories/worktree.repository.js +0 -64
  288. package/dist/repositories/worktree.repository.js.map +0 -1
  289. package/dist/services/BatchMergeService.d.ts +0 -45
  290. package/dist/services/BatchMergeService.d.ts.map +0 -1
  291. package/dist/services/BatchMergeService.js +0 -197
  292. package/dist/services/BatchMergeService.js.map +0 -1
  293. package/dist/services/WorktreeOrchestrator.d.ts +0 -37
  294. package/dist/services/WorktreeOrchestrator.d.ts.map +0 -1
  295. package/dist/services/WorktreeOrchestrator.js +0 -74
  296. package/dist/services/WorktreeOrchestrator.js.map +0 -1
  297. package/dist/services/codingAgentCommandResolver.d.ts +0 -10
  298. package/dist/services/codingAgentCommandResolver.d.ts.map +0 -1
  299. package/dist/services/codingAgentCommandResolver.js +0 -81
  300. package/dist/services/codingAgentCommandResolver.js.map +0 -1
  301. package/dist/services/codingAgentResolver.d.ts +0 -43
  302. package/dist/services/codingAgentResolver.d.ts.map +0 -1
  303. package/dist/services/codingAgentResolver.js +0 -269
  304. package/dist/services/codingAgentResolver.js.map +0 -1
  305. package/dist/services/dependency-installer.d.ts +0 -26
  306. package/dist/services/dependency-installer.d.ts.map +0 -1
  307. package/dist/services/dependency-installer.js +0 -134
  308. package/dist/services/dependency-installer.js.map +0 -1
  309. package/dist/services/git.service.d.ts +0 -27
  310. package/dist/services/git.service.d.ts.map +0 -1
  311. package/dist/services/git.service.js +0 -97
  312. package/dist/services/git.service.js.map +0 -1
  313. package/dist/services/github.service.d.ts +0 -14
  314. package/dist/services/github.service.d.ts.map +0 -1
  315. package/dist/services/github.service.js +0 -52
  316. package/dist/services/github.service.js.map +0 -1
  317. package/dist/services/worktree.service.d.ts +0 -20
  318. package/dist/services/worktree.service.d.ts.map +0 -1
  319. package/dist/services/worktree.service.js +0 -52
  320. package/dist/services/worktree.service.js.map +0 -1
  321. package/dist/shared/codingAgentConstants.d.ts +0 -12
  322. package/dist/shared/codingAgentConstants.d.ts.map +0 -1
  323. package/dist/shared/codingAgentConstants.js +0 -95
  324. package/dist/shared/codingAgentConstants.js.map +0 -1
  325. package/dist/types/api.d.ts +0 -225
  326. package/dist/types/api.d.ts.map +0 -1
  327. package/dist/types/api.js +0 -8
  328. package/dist/types/api.js.map +0 -1
  329. package/dist/types/coding-agent.d.ts +0 -62
  330. package/dist/types/coding-agent.d.ts.map +0 -1
  331. package/dist/types/coding-agent.js +0 -29
  332. package/dist/types/coding-agent.js.map +0 -1
  333. package/dist/types/profiles.d.ts +0 -54
  334. package/dist/types/profiles.d.ts.map +0 -1
  335. package/dist/types/profiles.js +0 -33
  336. package/dist/types/profiles.js.map +0 -1
  337. package/dist/types/tools.d.ts +0 -230
  338. package/dist/types/tools.d.ts.map +0 -1
  339. package/dist/types/tools.js +0 -8
  340. package/dist/types/tools.js.map +0 -1
  341. package/dist/utils/bun-runtime.d.ts +0 -12
  342. package/dist/utils/bun-runtime.d.ts.map +0 -1
  343. package/dist/utils/bun-runtime.js +0 -13
  344. package/dist/utils/bun-runtime.js.map +0 -1
  345. package/dist/utils/coding-agent-colors.d.ts +0 -88
  346. package/dist/utils/coding-agent-colors.d.ts.map +0 -1
  347. package/dist/utils/coding-agent-colors.js +0 -137
  348. package/dist/utils/coding-agent-colors.js.map +0 -1
  349. package/dist/utils/command.d.ts +0 -62
  350. package/dist/utils/command.d.ts.map +0 -1
  351. package/dist/utils/command.js +0 -186
  352. package/dist/utils/command.js.map +0 -1
  353. package/dist/utils/error-utils.d.ts +0 -27
  354. package/dist/utils/error-utils.d.ts.map +0 -1
  355. package/dist/utils/error-utils.js +0 -98
  356. package/dist/utils/error-utils.js.map +0 -1
  357. package/dist/utils/npmRegistry.d.ts +0 -61
  358. package/dist/utils/npmRegistry.d.ts.map +0 -1
  359. package/dist/utils/npmRegistry.js +0 -180
  360. package/dist/utils/npmRegistry.js.map +0 -1
  361. package/dist/utils/prompt.d.ts +0 -18
  362. package/dist/utils/prompt.d.ts.map +0 -1
  363. package/dist/utils/prompt.js +0 -107
  364. package/dist/utils/prompt.js.map +0 -1
  365. package/dist/utils/session/common.d.ts +0 -108
  366. package/dist/utils/session/common.d.ts.map +0 -1
  367. package/dist/utils/session/common.js +0 -439
  368. package/dist/utils/session/common.js.map +0 -1
  369. package/dist/utils/session/index.d.ts +0 -16
  370. package/dist/utils/session/index.d.ts.map +0 -1
  371. package/dist/utils/session/index.js +0 -20
  372. package/dist/utils/session/index.js.map +0 -1
  373. package/dist/utils/session/parsers/claude.d.ts +0 -62
  374. package/dist/utils/session/parsers/claude.d.ts.map +0 -1
  375. package/dist/utils/session/parsers/claude.js +0 -224
  376. package/dist/utils/session/parsers/claude.js.map +0 -1
  377. package/dist/utils/session/parsers/codex.d.ts +0 -37
  378. package/dist/utils/session/parsers/codex.d.ts.map +0 -1
  379. package/dist/utils/session/parsers/codex.js +0 -139
  380. package/dist/utils/session/parsers/codex.js.map +0 -1
  381. package/dist/utils/session/parsers/gemini.d.ts +0 -22
  382. package/dist/utils/session/parsers/gemini.d.ts.map +0 -1
  383. package/dist/utils/session/parsers/gemini.js +0 -118
  384. package/dist/utils/session/parsers/gemini.js.map +0 -1
  385. package/dist/utils/session/parsers/index.d.ts +0 -8
  386. package/dist/utils/session/parsers/index.d.ts.map +0 -1
  387. package/dist/utils/session/parsers/index.js +0 -12
  388. package/dist/utils/session/parsers/index.js.map +0 -1
  389. package/dist/utils/session/parsers/opencode.d.ts +0 -23
  390. package/dist/utils/session/parsers/opencode.d.ts.map +0 -1
  391. package/dist/utils/session/parsers/opencode.js +0 -126
  392. package/dist/utils/session/parsers/opencode.js.map +0 -1
  393. package/dist/utils/session/types.d.ts +0 -49
  394. package/dist/utils/session/types.d.ts.map +0 -1
  395. package/dist/utils/session/types.js +0 -5
  396. package/dist/utils/session/types.js.map +0 -1
  397. package/dist/utils/session.d.ts +0 -16
  398. package/dist/utils/session.d.ts.map +0 -1
  399. package/dist/utils/session.js +0 -16
  400. package/dist/utils/session.js.map +0 -1
  401. package/dist/utils/spinner.d.ts +0 -6
  402. package/dist/utils/spinner.d.ts.map +0 -1
  403. package/dist/utils/spinner.js +0 -47
  404. package/dist/utils/spinner.js.map +0 -1
  405. package/dist/utils/terminal.d.ts +0 -64
  406. package/dist/utils/terminal.d.ts.map +0 -1
  407. package/dist/utils/terminal.js +0 -270
  408. package/dist/utils/terminal.js.map +0 -1
  409. package/dist/utils/webui.d.ts +0 -8
  410. package/dist/utils/webui.d.ts.map +0 -1
  411. package/dist/utils/webui.js +0 -35
  412. package/dist/utils/webui.js.map +0 -1
  413. package/dist/utils.d.ts +0 -18
  414. package/dist/utils.d.ts.map +0 -1
  415. package/dist/utils.js +0 -79
  416. package/dist/utils.js.map +0 -1
  417. package/dist/web/client/src/components/BranchGraph.d.ts +0 -13
  418. package/dist/web/client/src/components/BranchGraph.d.ts.map +0 -1
  419. package/dist/web/client/src/components/BranchGraph.js +0 -49
  420. package/dist/web/client/src/components/BranchGraph.js.map +0 -1
  421. package/dist/web/client/src/components/CodingAgentLaunchModal.d.ts +0 -9
  422. package/dist/web/client/src/components/CodingAgentLaunchModal.d.ts.map +0 -1
  423. package/dist/web/client/src/components/CodingAgentLaunchModal.js +0 -354
  424. package/dist/web/client/src/components/CodingAgentLaunchModal.js.map +0 -1
  425. package/dist/web/client/src/components/CustomCodingAgentForm.d.ts +0 -23
  426. package/dist/web/client/src/components/CustomCodingAgentForm.d.ts.map +0 -1
  427. package/dist/web/client/src/components/CustomCodingAgentForm.js +0 -209
  428. package/dist/web/client/src/components/CustomCodingAgentForm.js.map +0 -1
  429. package/dist/web/client/src/components/CustomCodingAgentList.d.ts +0 -10
  430. package/dist/web/client/src/components/CustomCodingAgentList.d.ts.map +0 -1
  431. package/dist/web/client/src/components/CustomCodingAgentList.js +0 -57
  432. package/dist/web/client/src/components/CustomCodingAgentList.js.map +0 -1
  433. package/dist/web/client/src/components/EnvEditor.d.ts +0 -20
  434. package/dist/web/client/src/components/EnvEditor.d.ts.map +0 -1
  435. package/dist/web/client/src/components/EnvEditor.js +0 -75
  436. package/dist/web/client/src/components/EnvEditor.js.map +0 -1
  437. package/dist/web/client/src/components/EnvironmentEditor.d.ts +0 -17
  438. package/dist/web/client/src/components/EnvironmentEditor.d.ts.map +0 -1
  439. package/dist/web/client/src/components/EnvironmentEditor.js +0 -22
  440. package/dist/web/client/src/components/EnvironmentEditor.js.map +0 -1
  441. package/dist/web/client/src/components/Terminal.d.ts +0 -15
  442. package/dist/web/client/src/components/Terminal.d.ts.map +0 -1
  443. package/dist/web/client/src/components/Terminal.js +0 -119
  444. package/dist/web/client/src/components/Terminal.js.map +0 -1
  445. package/dist/web/client/src/components/branch-detail/BranchInfoCards.d.ts +0 -10
  446. package/dist/web/client/src/components/branch-detail/BranchInfoCards.d.ts.map +0 -1
  447. package/dist/web/client/src/components/branch-detail/BranchInfoCards.js +0 -107
  448. package/dist/web/client/src/components/branch-detail/BranchInfoCards.js.map +0 -1
  449. package/dist/web/client/src/components/branch-detail/SessionHistoryTable.d.ts +0 -22
  450. package/dist/web/client/src/components/branch-detail/SessionHistoryTable.d.ts.map +0 -1
  451. package/dist/web/client/src/components/branch-detail/SessionHistoryTable.js +0 -80
  452. package/dist/web/client/src/components/branch-detail/SessionHistoryTable.js.map +0 -1
  453. package/dist/web/client/src/components/branch-detail/TerminalPanel.d.ts +0 -11
  454. package/dist/web/client/src/components/branch-detail/TerminalPanel.d.ts.map +0 -1
  455. package/dist/web/client/src/components/branch-detail/TerminalPanel.js +0 -32
  456. package/dist/web/client/src/components/branch-detail/TerminalPanel.js.map +0 -1
  457. package/dist/web/client/src/components/branch-detail/ToolLauncher.d.ts +0 -40
  458. package/dist/web/client/src/components/branch-detail/ToolLauncher.d.ts.map +0 -1
  459. package/dist/web/client/src/components/branch-detail/ToolLauncher.js +0 -147
  460. package/dist/web/client/src/components/branch-detail/ToolLauncher.js.map +0 -1
  461. package/dist/web/client/src/components/branch-detail/index.d.ts +0 -5
  462. package/dist/web/client/src/components/branch-detail/index.d.ts.map +0 -1
  463. package/dist/web/client/src/components/branch-detail/index.js +0 -5
  464. package/dist/web/client/src/components/branch-detail/index.js.map +0 -1
  465. package/dist/web/client/src/components/common/BranchCard.d.ts +0 -17
  466. package/dist/web/client/src/components/common/BranchCard.d.ts.map +0 -1
  467. package/dist/web/client/src/components/common/BranchCard.js +0 -36
  468. package/dist/web/client/src/components/common/BranchCard.js.map +0 -1
  469. package/dist/web/client/src/components/common/MetricCard.d.ts +0 -10
  470. package/dist/web/client/src/components/common/MetricCard.d.ts.map +0 -1
  471. package/dist/web/client/src/components/common/MetricCard.js +0 -10
  472. package/dist/web/client/src/components/common/MetricCard.js.map +0 -1
  473. package/dist/web/client/src/components/common/PageHeader.d.ts +0 -12
  474. package/dist/web/client/src/components/common/PageHeader.d.ts.map +0 -1
  475. package/dist/web/client/src/components/common/PageHeader.js +0 -14
  476. package/dist/web/client/src/components/common/PageHeader.js.map +0 -1
  477. package/dist/web/client/src/components/common/SearchInput.d.ts +0 -14
  478. package/dist/web/client/src/components/common/SearchInput.d.ts.map +0 -1
  479. package/dist/web/client/src/components/common/SearchInput.js +0 -15
  480. package/dist/web/client/src/components/common/SearchInput.js.map +0 -1
  481. package/dist/web/client/src/components/common/StatusBadge.d.ts +0 -10
  482. package/dist/web/client/src/components/common/StatusBadge.d.ts.map +0 -1
  483. package/dist/web/client/src/components/common/StatusBadge.js +0 -15
  484. package/dist/web/client/src/components/common/StatusBadge.js.map +0 -1
  485. package/dist/web/client/src/components/common/index.d.ts +0 -6
  486. package/dist/web/client/src/components/common/index.d.ts.map +0 -1
  487. package/dist/web/client/src/components/common/index.js +0 -6
  488. package/dist/web/client/src/components/common/index.js.map +0 -1
  489. package/dist/web/client/src/components/graph/BranchDetailPanel.d.ts +0 -15
  490. package/dist/web/client/src/components/graph/BranchDetailPanel.d.ts.map +0 -1
  491. package/dist/web/client/src/components/graph/BranchDetailPanel.js +0 -57
  492. package/dist/web/client/src/components/graph/BranchDetailPanel.js.map +0 -1
  493. package/dist/web/client/src/components/graph/BranchNode.d.ts +0 -13
  494. package/dist/web/client/src/components/graph/BranchNode.d.ts.map +0 -1
  495. package/dist/web/client/src/components/graph/BranchNode.js +0 -103
  496. package/dist/web/client/src/components/graph/BranchNode.js.map +0 -1
  497. package/dist/web/client/src/components/graph/ClusterNode.d.ts +0 -13
  498. package/dist/web/client/src/components/graph/ClusterNode.d.ts.map +0 -1
  499. package/dist/web/client/src/components/graph/ClusterNode.js +0 -109
  500. package/dist/web/client/src/components/graph/ClusterNode.js.map +0 -1
  501. package/dist/web/client/src/components/graph/SynapticCanvas.d.ts +0 -17
  502. package/dist/web/client/src/components/graph/SynapticCanvas.d.ts.map +0 -1
  503. package/dist/web/client/src/components/graph/SynapticCanvas.js +0 -94
  504. package/dist/web/client/src/components/graph/SynapticCanvas.js.map +0 -1
  505. package/dist/web/client/src/components/graph/SynapticEdge.d.ts +0 -13
  506. package/dist/web/client/src/components/graph/SynapticEdge.d.ts.map +0 -1
  507. package/dist/web/client/src/components/graph/SynapticEdge.js +0 -113
  508. package/dist/web/client/src/components/graph/SynapticEdge.js.map +0 -1
  509. package/dist/web/client/src/components/graph/graphUtils.d.ts +0 -67
  510. package/dist/web/client/src/components/graph/graphUtils.d.ts.map +0 -1
  511. package/dist/web/client/src/components/graph/graphUtils.js +0 -175
  512. package/dist/web/client/src/components/graph/graphUtils.js.map +0 -1
  513. package/dist/web/client/src/components/graph/index.d.ts +0 -10
  514. package/dist/web/client/src/components/graph/index.d.ts.map +0 -1
  515. package/dist/web/client/src/components/graph/index.js +0 -10
  516. package/dist/web/client/src/components/graph/index.js.map +0 -1
  517. package/dist/web/client/src/components/ui/alert.d.ts +0 -9
  518. package/dist/web/client/src/components/ui/alert.d.ts.map +0 -1
  519. package/dist/web/client/src/components/ui/alert.js +0 -25
  520. package/dist/web/client/src/components/ui/alert.js.map +0 -1
  521. package/dist/web/client/src/components/ui/badge.d.ts +0 -10
  522. package/dist/web/client/src/components/ui/badge.d.ts.map +0 -1
  523. package/dist/web/client/src/components/ui/badge.js +0 -25
  524. package/dist/web/client/src/components/ui/badge.js.map +0 -1
  525. package/dist/web/client/src/components/ui/button.d.ts +0 -12
  526. package/dist/web/client/src/components/ui/button.d.ts.map +0 -1
  527. package/dist/web/client/src/components/ui/button.js +0 -33
  528. package/dist/web/client/src/components/ui/button.js.map +0 -1
  529. package/dist/web/client/src/components/ui/card.d.ts +0 -9
  530. package/dist/web/client/src/components/ui/card.d.ts.map +0 -1
  531. package/dist/web/client/src/components/ui/card.js +0 -16
  532. package/dist/web/client/src/components/ui/card.js.map +0 -1
  533. package/dist/web/client/src/components/ui/index.d.ts +0 -8
  534. package/dist/web/client/src/components/ui/index.d.ts.map +0 -1
  535. package/dist/web/client/src/components/ui/index.js +0 -8
  536. package/dist/web/client/src/components/ui/index.js.map +0 -1
  537. package/dist/web/client/src/components/ui/input.d.ts +0 -4
  538. package/dist/web/client/src/components/ui/input.d.ts.map +0 -1
  539. package/dist/web/client/src/components/ui/input.js +0 -8
  540. package/dist/web/client/src/components/ui/input.js.map +0 -1
  541. package/dist/web/client/src/components/ui/select.d.ts +0 -14
  542. package/dist/web/client/src/components/ui/select.d.ts.map +0 -1
  543. package/dist/web/client/src/components/ui/select.js +0 -39
  544. package/dist/web/client/src/components/ui/select.js.map +0 -1
  545. package/dist/web/client/src/components/ui/table.d.ts +0 -11
  546. package/dist/web/client/src/components/ui/table.d.ts.map +0 -1
  547. package/dist/web/client/src/components/ui/table.js +0 -21
  548. package/dist/web/client/src/components/ui/table.js.map +0 -1
  549. package/dist/web/client/src/hooks/useBranches.d.ts +0 -16
  550. package/dist/web/client/src/hooks/useBranches.d.ts.map +0 -1
  551. package/dist/web/client/src/hooks/useBranches.js +0 -35
  552. package/dist/web/client/src/hooks/useBranches.js.map +0 -1
  553. package/dist/web/client/src/hooks/useConfig.d.ts +0 -13
  554. package/dist/web/client/src/hooks/useConfig.d.ts.map +0 -1
  555. package/dist/web/client/src/hooks/useConfig.js +0 -27
  556. package/dist/web/client/src/hooks/useConfig.js.map +0 -1
  557. package/dist/web/client/src/hooks/useSessions.d.ts +0 -21
  558. package/dist/web/client/src/hooks/useSessions.d.ts.map +0 -1
  559. package/dist/web/client/src/hooks/useSessions.js +0 -54
  560. package/dist/web/client/src/hooks/useSessions.js.map +0 -1
  561. package/dist/web/client/src/hooks/useWorktrees.d.ts +0 -17
  562. package/dist/web/client/src/hooks/useWorktrees.d.ts.map +0 -1
  563. package/dist/web/client/src/hooks/useWorktrees.js +0 -41
  564. package/dist/web/client/src/hooks/useWorktrees.js.map +0 -1
  565. package/dist/web/client/src/lib/api.d.ts +0 -82
  566. package/dist/web/client/src/lib/api.d.ts.map +0 -1
  567. package/dist/web/client/src/lib/api.js +0 -147
  568. package/dist/web/client/src/lib/api.js.map +0 -1
  569. package/dist/web/client/src/lib/coding-agent-colors.d.ts +0 -86
  570. package/dist/web/client/src/lib/coding-agent-colors.d.ts.map +0 -1
  571. package/dist/web/client/src/lib/coding-agent-colors.js +0 -135
  572. package/dist/web/client/src/lib/coding-agent-colors.js.map +0 -1
  573. package/dist/web/client/src/lib/utils.d.ts +0 -7
  574. package/dist/web/client/src/lib/utils.d.ts.map +0 -1
  575. package/dist/web/client/src/lib/utils.js +0 -10
  576. package/dist/web/client/src/lib/utils.js.map +0 -1
  577. package/dist/web/client/src/lib/websocket.d.ts +0 -59
  578. package/dist/web/client/src/lib/websocket.d.ts.map +0 -1
  579. package/dist/web/client/src/lib/websocket.js +0 -182
  580. package/dist/web/client/src/lib/websocket.js.map +0 -1
  581. package/dist/web/client/src/main.d.ts +0 -2
  582. package/dist/web/client/src/main.d.ts.map +0 -1
  583. package/dist/web/client/src/main.js +0 -23
  584. package/dist/web/client/src/main.js.map +0 -1
  585. package/dist/web/client/src/pages/BranchDetailPage.d.ts +0 -3
  586. package/dist/web/client/src/pages/BranchDetailPage.d.ts.map +0 -1
  587. package/dist/web/client/src/pages/BranchDetailPage.js +0 -365
  588. package/dist/web/client/src/pages/BranchDetailPage.js.map +0 -1
  589. package/dist/web/client/src/pages/BranchListPage.d.ts +0 -3
  590. package/dist/web/client/src/pages/BranchListPage.d.ts.map +0 -1
  591. package/dist/web/client/src/pages/BranchListPage.js +0 -118
  592. package/dist/web/client/src/pages/BranchListPage.js.map +0 -1
  593. package/dist/web/client/src/pages/ConfigManagementPage.d.ts +0 -3
  594. package/dist/web/client/src/pages/ConfigManagementPage.d.ts.map +0 -1
  595. package/dist/web/client/src/pages/ConfigManagementPage.js +0 -132
  596. package/dist/web/client/src/pages/ConfigManagementPage.js.map +0 -1
  597. package/dist/web/client/src/pages/ConfigPage.d.ts +0 -3
  598. package/dist/web/client/src/pages/ConfigPage.d.ts.map +0 -1
  599. package/dist/web/client/src/pages/ConfigPage.js +0 -220
  600. package/dist/web/client/src/pages/ConfigPage.js.map +0 -1
  601. package/dist/web/client/src/router.d.ts +0 -9
  602. package/dist/web/client/src/router.d.ts.map +0 -1
  603. package/dist/web/client/src/router.js +0 -27
  604. package/dist/web/client/src/router.js.map +0 -1
  605. package/dist/web/client/vite.config.d.ts +0 -3
  606. package/dist/web/client/vite.config.d.ts.map +0 -1
  607. package/dist/web/client/vite.config.js +0 -28
  608. package/dist/web/client/vite.config.js.map +0 -1
  609. package/dist/web/server/env/importer.d.ts +0 -3
  610. package/dist/web/server/env/importer.d.ts.map +0 -1
  611. package/dist/web/server/env/importer.js +0 -51
  612. package/dist/web/server/env/importer.js.map +0 -1
  613. package/dist/web/server/index.d.ts +0 -33
  614. package/dist/web/server/index.d.ts.map +0 -1
  615. package/dist/web/server/index.js +0 -102
  616. package/dist/web/server/index.js.map +0 -1
  617. package/dist/web/server/pty/manager.d.ts +0 -54
  618. package/dist/web/server/pty/manager.d.ts.map +0 -1
  619. package/dist/web/server/pty/manager.js +0 -303
  620. package/dist/web/server/pty/manager.js.map +0 -1
  621. package/dist/web/server/routes/branches.d.ts +0 -11
  622. package/dist/web/server/routes/branches.d.ts.map +0 -1
  623. package/dist/web/server/routes/branches.js +0 -97
  624. package/dist/web/server/routes/branches.js.map +0 -1
  625. package/dist/web/server/routes/config.d.ts +0 -6
  626. package/dist/web/server/routes/config.d.ts.map +0 -1
  627. package/dist/web/server/routes/config.js +0 -162
  628. package/dist/web/server/routes/config.js.map +0 -1
  629. package/dist/web/server/routes/index.d.ts +0 -13
  630. package/dist/web/server/routes/index.d.ts.map +0 -1
  631. package/dist/web/server/routes/index.js +0 -29
  632. package/dist/web/server/routes/index.js.map +0 -1
  633. package/dist/web/server/routes/sessions.d.ts +0 -12
  634. package/dist/web/server/routes/sessions.d.ts.map +0 -1
  635. package/dist/web/server/routes/sessions.js +0 -176
  636. package/dist/web/server/routes/sessions.js.map +0 -1
  637. package/dist/web/server/routes/worktrees.d.ts +0 -11
  638. package/dist/web/server/routes/worktrees.d.ts.map +0 -1
  639. package/dist/web/server/routes/worktrees.js +0 -80
  640. package/dist/web/server/routes/worktrees.js.map +0 -1
  641. package/dist/web/server/services/branches.d.ts +0 -17
  642. package/dist/web/server/services/branches.d.ts.map +0 -1
  643. package/dist/web/server/services/branches.js +0 -275
  644. package/dist/web/server/services/branches.js.map +0 -1
  645. package/dist/web/server/services/worktrees.d.ts +0 -24
  646. package/dist/web/server/services/worktrees.d.ts.map +0 -1
  647. package/dist/web/server/services/worktrees.js +0 -66
  648. package/dist/web/server/services/worktrees.js.map +0 -1
  649. package/dist/web/server/tray.d.ts +0 -25
  650. package/dist/web/server/tray.d.ts.map +0 -1
  651. package/dist/web/server/tray.js +0 -116
  652. package/dist/web/server/tray.js.map +0 -1
  653. package/dist/web/server/types.d.ts +0 -4
  654. package/dist/web/server/types.d.ts.map +0 -1
  655. package/dist/web/server/types.js +0 -2
  656. package/dist/web/server/types.js.map +0 -1
  657. package/dist/web/server/websocket/handler.d.ts +0 -57
  658. package/dist/web/server/websocket/handler.d.ts.map +0 -1
  659. package/dist/web/server/websocket/handler.js +0 -220
  660. package/dist/web/server/websocket/handler.js.map +0 -1
  661. package/dist/worktree.d.ts +0 -117
  662. package/dist/worktree.d.ts.map +0 -1
  663. package/dist/worktree.js +0 -788
  664. package/dist/worktree.js.map +0 -1
  665. package/src/claude-history.ts +0 -717
  666. package/src/claude.ts +0 -557
  667. package/src/cli/ui/App.solid.tsx +0 -2145
  668. package/src/cli/ui/__tests__/solid/AppSolid.cleanup.test.tsx +0 -1175
  669. package/src/cli/ui/__tests__/solid/BranchListScreen.test.tsx +0 -343
  670. package/src/cli/ui/__tests__/solid/ConfirmScreen.test.tsx +0 -77
  671. package/src/cli/ui/__tests__/solid/LogScreen.test.tsx +0 -351
  672. package/src/cli/ui/__tests__/solid/components/QuickStartStep.test.tsx +0 -308
  673. package/src/cli/ui/__tests__/solid/components/WizardController.test.tsx +0 -71
  674. package/src/cli/ui/__tests__/solid/components/WizardPopup.test.tsx +0 -231
  675. package/src/cli/ui/__tests__/solid/components/WizardSteps.test.tsx +0 -331
  676. package/src/cli/ui/__tests__/utils/branchFormatter.test.ts +0 -702
  677. package/src/cli/ui/__tests__/utils/clipboard.test.ts +0 -65
  678. package/src/cli/ui/__tests__/utils/statisticsCalculator.test.ts +0 -243
  679. package/src/cli/ui/components/solid/Footer.tsx +0 -36
  680. package/src/cli/ui/components/solid/Header.tsx +0 -67
  681. package/src/cli/ui/components/solid/HelpOverlay.tsx +0 -194
  682. package/src/cli/ui/components/solid/QuickStartStep.tsx +0 -209
  683. package/src/cli/ui/components/solid/ScrollableList.tsx +0 -23
  684. package/src/cli/ui/components/solid/SearchInput.tsx +0 -42
  685. package/src/cli/ui/components/solid/SelectInput.tsx +0 -88
  686. package/src/cli/ui/components/solid/Stats.tsx +0 -92
  687. package/src/cli/ui/components/solid/TextInput.tsx +0 -49
  688. package/src/cli/ui/components/solid/WizardController.tsx +0 -457
  689. package/src/cli/ui/components/solid/WizardPopup.tsx +0 -135
  690. package/src/cli/ui/components/solid/WizardSteps.tsx +0 -781
  691. package/src/cli/ui/core/index.ts +0 -17
  692. package/src/cli/ui/core/keybindings.ts +0 -367
  693. package/src/cli/ui/core/theme.ts +0 -266
  694. package/src/cli/ui/core/types.ts +0 -235
  695. package/src/cli/ui/hooks/solid/useAsyncOperation.ts +0 -78
  696. package/src/cli/ui/hooks/solid/useFilter.ts +0 -86
  697. package/src/cli/ui/hooks/solid/useGitOperations.ts +0 -81
  698. package/src/cli/ui/hooks/solid/useKeyHandler.ts +0 -103
  699. package/src/cli/ui/hooks/solid/useScrollableList.ts +0 -149
  700. package/src/cli/ui/hooks/solid/useSelection.ts +0 -77
  701. package/src/cli/ui/hooks/solid/useTerminalSize.ts +0 -22
  702. package/src/cli/ui/index.solid.ts +0 -28
  703. package/src/cli/ui/screens/solid/BranchListScreen.tsx +0 -1153
  704. package/src/cli/ui/screens/solid/ConfirmScreen.tsx +0 -86
  705. package/src/cli/ui/screens/solid/EnvironmentScreen.tsx +0 -161
  706. package/src/cli/ui/screens/solid/ErrorScreen.tsx +0 -42
  707. package/src/cli/ui/screens/solid/InputScreen.tsx +0 -55
  708. package/src/cli/ui/screens/solid/LoadingIndicator.tsx +0 -77
  709. package/src/cli/ui/screens/solid/LogDetailScreen.tsx +0 -75
  710. package/src/cli/ui/screens/solid/LogScreen.tsx +0 -504
  711. package/src/cli/ui/screens/solid/ProfileEnvScreen.tsx +0 -196
  712. package/src/cli/ui/screens/solid/ProfileScreen.tsx +0 -98
  713. package/src/cli/ui/screens/solid/SelectorScreen.tsx +0 -181
  714. package/src/cli/ui/screens/solid/SettingsScreen.tsx +0 -52
  715. package/src/cli/ui/screens/solid/WorktreeCreateScreen.tsx +0 -136
  716. package/src/cli/ui/screens/solid/WorktreeDeleteScreen.tsx +0 -40
  717. package/src/cli/ui/stores/appStore.ts +0 -208
  718. package/src/cli/ui/stores/branchStore.ts +0 -357
  719. package/src/cli/ui/stores/index.ts +0 -31
  720. package/src/cli/ui/stores/uiStore.ts +0 -226
  721. package/src/cli/ui/types.ts +0 -371
  722. package/src/cli/ui/utils/__tests__/branchFormatter.test.ts +0 -227
  723. package/src/cli/ui/utils/__tests__/installedVersionCache.test.ts +0 -46
  724. package/src/cli/ui/utils/baseBranch.ts +0 -34
  725. package/src/cli/ui/utils/branchFormatter.ts +0 -222
  726. package/src/cli/ui/utils/clipboard.ts +0 -31
  727. package/src/cli/ui/utils/continueSession.ts +0 -231
  728. package/src/cli/ui/utils/installedVersionCache.ts +0 -84
  729. package/src/cli/ui/utils/modelOptions.test.ts +0 -98
  730. package/src/cli/ui/utils/modelOptions.ts +0 -169
  731. package/src/cli/ui/utils/statisticsCalculator.ts +0 -44
  732. package/src/cli/ui/utils/versionCache.ts +0 -93
  733. package/src/cli/ui/utils/versionFetcher.ts +0 -120
  734. package/src/codex.ts +0 -445
  735. package/src/config/__tests__/saveSession.test.ts +0 -143
  736. package/src/config/builtin-coding-agents.ts +0 -87
  737. package/src/config/constants.ts +0 -102
  738. package/src/config/env-history.ts +0 -45
  739. package/src/config/index.ts +0 -311
  740. package/src/config/profiles.ts +0 -359
  741. package/src/config/shared-env.ts +0 -139
  742. package/src/config/tools.ts +0 -319
  743. package/src/gemini.ts +0 -405
  744. package/src/git.ts +0 -1263
  745. package/src/github.ts +0 -158
  746. package/src/index.test.ts +0 -93
  747. package/src/index.ts +0 -1024
  748. package/src/launcher.ts +0 -235
  749. package/src/logging/agentOutput.ts +0 -216
  750. package/src/logging/formatter.ts +0 -125
  751. package/src/logging/logger.ts +0 -106
  752. package/src/logging/reader.ts +0 -240
  753. package/src/logging/rotation.ts +0 -25
  754. package/src/opentui/index.solid.ts +0 -1
  755. package/src/repositories/git.repository.ts +0 -129
  756. package/src/repositories/github.repository.ts +0 -83
  757. package/src/repositories/worktree.repository.ts +0 -77
  758. package/src/services/BatchMergeService.ts +0 -251
  759. package/src/services/WorktreeOrchestrator.ts +0 -115
  760. package/src/services/__tests__/BatchMergeService.test.ts +0 -534
  761. package/src/services/__tests__/WorktreeOrchestrator.test.ts +0 -259
  762. package/src/services/codingAgentCommandResolver.ts +0 -118
  763. package/src/services/codingAgentResolver.ts +0 -375
  764. package/src/services/dependency-installer.ts +0 -192
  765. package/src/services/git.service.ts +0 -115
  766. package/src/services/github.service.ts +0 -61
  767. package/src/services/worktree.service.ts +0 -66
  768. package/src/shared/codingAgentConstants.ts +0 -103
  769. package/src/trayicon.d.ts +0 -30
  770. package/src/types/api.ts +0 -256
  771. package/src/types/coding-agent.ts +0 -85
  772. package/src/types/profiles.ts +0 -64
  773. package/src/types/tools.ts +0 -269
  774. package/src/utils/__tests__/npmRegistry.test.ts +0 -250
  775. package/src/utils/__tests__/prompt.test.ts +0 -125
  776. package/src/utils/bun-runtime.ts +0 -29
  777. package/src/utils/coding-agent-colors.ts +0 -165
  778. package/src/utils/command.ts +0 -234
  779. package/src/utils/error-utils.ts +0 -133
  780. package/src/utils/npmRegistry.ts +0 -249
  781. package/src/utils/prompt.ts +0 -149
  782. package/src/utils/session/common.ts +0 -474
  783. package/src/utils/session/index.ts +0 -50
  784. package/src/utils/session/parsers/claude.ts +0 -283
  785. package/src/utils/session/parsers/codex.ts +0 -166
  786. package/src/utils/session/parsers/gemini.ts +0 -135
  787. package/src/utils/session/parsers/index.ts +0 -31
  788. package/src/utils/session/parsers/opencode.ts +0 -151
  789. package/src/utils/session/types.ts +0 -51
  790. package/src/utils/session.ts +0 -16
  791. package/src/utils/spinner.ts +0 -54
  792. package/src/utils/terminal.ts +0 -327
  793. package/src/utils/webui.ts +0 -43
  794. package/src/utils.test.ts +0 -43
  795. package/src/utils.ts +0 -93
  796. package/src/web/client/components.json +0 -21
  797. package/src/web/client/index.html +0 -12
  798. package/src/web/client/src/components/BranchGraph.tsx +0 -95
  799. package/src/web/client/src/components/CodingAgentLaunchModal.tsx +0 -570
  800. package/src/web/client/src/components/CustomCodingAgentForm.tsx +0 -386
  801. package/src/web/client/src/components/CustomCodingAgentList.tsx +0 -119
  802. package/src/web/client/src/components/EnvEditor.tsx +0 -188
  803. package/src/web/client/src/components/EnvironmentEditor.tsx +0 -97
  804. package/src/web/client/src/components/Terminal.tsx +0 -145
  805. package/src/web/client/src/components/branch-detail/BranchInfoCards.tsx +0 -193
  806. package/src/web/client/src/components/branch-detail/SessionHistoryTable.tsx +0 -187
  807. package/src/web/client/src/components/branch-detail/TerminalPanel.tsx +0 -92
  808. package/src/web/client/src/components/branch-detail/ToolLauncher.tsx +0 -332
  809. package/src/web/client/src/components/branch-detail/index.ts +0 -4
  810. package/src/web/client/src/components/common/BranchCard.tsx +0 -117
  811. package/src/web/client/src/components/common/MetricCard.tsx +0 -22
  812. package/src/web/client/src/components/common/PageHeader.tsx +0 -44
  813. package/src/web/client/src/components/common/SearchInput.tsx +0 -40
  814. package/src/web/client/src/components/common/StatusBadge.tsx +0 -37
  815. package/src/web/client/src/components/common/index.ts +0 -5
  816. package/src/web/client/src/components/graph/BranchDetailPanel.tsx +0 -152
  817. package/src/web/client/src/components/graph/BranchNode.tsx +0 -200
  818. package/src/web/client/src/components/graph/ClusterNode.tsx +0 -211
  819. package/src/web/client/src/components/graph/SynapticCanvas.tsx +0 -171
  820. package/src/web/client/src/components/graph/SynapticEdge.tsx +0 -311
  821. package/src/web/client/src/components/graph/graphUtils.ts +0 -265
  822. package/src/web/client/src/components/graph/index.ts +0 -10
  823. package/src/web/client/src/components/ui/alert.tsx +0 -63
  824. package/src/web/client/src/components/ui/badge.tsx +0 -44
  825. package/src/web/client/src/components/ui/button.tsx +0 -57
  826. package/src/web/client/src/components/ui/card.tsx +0 -82
  827. package/src/web/client/src/components/ui/index.ts +0 -32
  828. package/src/web/client/src/components/ui/input.tsx +0 -21
  829. package/src/web/client/src/components/ui/select.tsx +0 -156
  830. package/src/web/client/src/components/ui/table.tsx +0 -119
  831. package/src/web/client/src/hooks/useBranches.ts +0 -41
  832. package/src/web/client/src/hooks/useConfig.ts +0 -31
  833. package/src/web/client/src/hooks/useSessions.ts +0 -68
  834. package/src/web/client/src/hooks/useWorktrees.ts +0 -47
  835. package/src/web/client/src/index.css +0 -349
  836. package/src/web/client/src/lib/api.ts +0 -184
  837. package/src/web/client/src/lib/coding-agent-colors.ts +0 -149
  838. package/src/web/client/src/lib/utils.ts +0 -10
  839. package/src/web/client/src/lib/websocket.ts +0 -222
  840. package/src/web/client/src/main.tsx +0 -29
  841. package/src/web/client/src/pages/BranchDetailPage.tsx +0 -555
  842. package/src/web/client/src/pages/BranchListPage.tsx +0 -242
  843. package/src/web/client/src/pages/ConfigManagementPage.tsx +0 -248
  844. package/src/web/client/src/pages/ConfigPage.tsx +0 -368
  845. package/src/web/client/src/router.tsx +0 -27
  846. package/src/web/client/vite.config.ts +0 -28
  847. package/src/web/server/env/importer.ts +0 -62
  848. package/src/web/server/index.ts +0 -143
  849. package/src/web/server/pty/manager.ts +0 -443
  850. package/src/web/server/routes/branches.ts +0 -126
  851. package/src/web/server/routes/config.ts +0 -226
  852. package/src/web/server/routes/index.ts +0 -37
  853. package/src/web/server/routes/sessions.ts +0 -252
  854. package/src/web/server/routes/worktrees.ts +0 -108
  855. package/src/web/server/services/branches.ts +0 -387
  856. package/src/web/server/services/worktrees.ts +0 -93
  857. package/src/web/server/tray.ts +0 -136
  858. package/src/web/server/types.ts +0 -14
  859. package/src/web/server/websocket/handler.ts +0 -299
  860. package/src/worktree.ts +0 -1109
@@ -1,829 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "@opentui/solid/jsx-runtime";
2
- /** @jsxImportSource @opentui/solid */
3
- import { createEffect, createMemo, createSignal, on } from "solid-js";
4
- import { useKeyboard, useTerminalDimensions } from "@opentui/solid";
5
- import { TextAttributes } from "@opentui/core";
6
- import { formatLocalDateTime, getLatestActivityTimestamp, } from "../../utils/branchFormatter.js";
7
- import stringWidth from "string-width";
8
- import { getAgentTerminalColor } from "../../../../utils/coding-agent-colors.js";
9
- import { Header } from "../../components/solid/Header.js";
10
- import { selectionStyle } from "../../core/theme.js";
11
- const VIEW_MODES = ["all", "local", "remote"];
12
- const getCharWidth = (char) => stringWidth(char);
13
- const measureDisplayWidth = (value) => stringWidth(value);
14
- const truncateToWidth = (value, maxWidth) => {
15
- if (maxWidth <= 0) {
16
- return "";
17
- }
18
- if (measureDisplayWidth(value) <= maxWidth) {
19
- return value;
20
- }
21
- const ellipsis = "...";
22
- const ellipsisWidth = measureDisplayWidth(ellipsis);
23
- if (ellipsisWidth >= maxWidth) {
24
- return ellipsis;
25
- }
26
- let currentWidth = 0;
27
- let result = "";
28
- for (const char of Array.from(value)) {
29
- const charWidth = getCharWidth(char);
30
- if (currentWidth + charWidth + ellipsisWidth > maxWidth) {
31
- break;
32
- }
33
- result += char;
34
- currentWidth += charWidth;
35
- }
36
- return result + ellipsis;
37
- };
38
- const padLine = (value, width) => {
39
- let line = value;
40
- if (measureDisplayWidth(line) > width) {
41
- line = truncateToWidth(line, width);
42
- }
43
- const padding = Math.max(0, width - measureDisplayWidth(line));
44
- return line + " ".repeat(padding);
45
- };
46
- const segmentStyleKey = (segment) => `${segment.fg ?? ""}|${segment.bg ?? ""}|${segment.attributes ?? ""}`;
47
- const appendSegment = (segments, segment) => {
48
- if (!segment.text) {
49
- return;
50
- }
51
- const last = segments[segments.length - 1];
52
- if (last && segmentStyleKey(last) === segmentStyleKey(segment)) {
53
- last.text += segment.text;
54
- return;
55
- }
56
- segments.push({ ...segment });
57
- };
58
- const measureSegmentsWidth = (segments) => segments.reduce((total, segment) => total + measureDisplayWidth(segment.text), 0);
59
- const truncateSegmentsToWidth = (segments, maxWidth) => {
60
- if (maxWidth <= 0) {
61
- return [];
62
- }
63
- const ellipsis = "...";
64
- const ellipsisWidth = measureDisplayWidth(ellipsis);
65
- if (ellipsisWidth >= maxWidth) {
66
- return [{ text: ellipsis }];
67
- }
68
- const targetWidth = maxWidth - ellipsisWidth;
69
- const result = [];
70
- let currentWidth = 0;
71
- let truncated = false;
72
- for (const segment of segments) {
73
- for (const char of Array.from(segment.text)) {
74
- const charWidth = getCharWidth(char);
75
- if (currentWidth + charWidth > targetWidth) {
76
- truncated = true;
77
- break;
78
- }
79
- appendSegment(result, {
80
- text: char,
81
- fg: segment.fg,
82
- bg: segment.bg,
83
- attributes: segment.attributes,
84
- });
85
- currentWidth += charWidth;
86
- }
87
- if (truncated) {
88
- break;
89
- }
90
- }
91
- appendSegment(result, { text: ellipsis });
92
- return result;
93
- };
94
- const fitSegmentsToWidth = (segments, width) => {
95
- const totalWidth = measureSegmentsWidth(segments);
96
- if (totalWidth === width) {
97
- return segments;
98
- }
99
- if (totalWidth > width) {
100
- return truncateSegmentsToWidth(segments, width);
101
- }
102
- const padding = " ".repeat(Math.max(0, width - totalWidth));
103
- if (padding) {
104
- return [...segments, { text: padding }];
105
- }
106
- return segments;
107
- };
108
- const applySelectionStyle = (segments) => segments.map((segment) => ({
109
- text: segment.text,
110
- fg: selectionStyle.fg,
111
- bg: selectionStyle.bg,
112
- }));
113
- const CLEANUP_SPINNER_FRAMES = ["-", "\\", "|", "/"];
114
- const CURSOR_FRAMES = ["|", " "];
115
- const formatRelativeTime = (date) => {
116
- const now = new Date();
117
- const diffMs = now.getTime() - date.getTime();
118
- const diffSec = Math.floor(diffMs / 1000);
119
- if (diffSec < 60) {
120
- return `${diffSec}s ago`;
121
- }
122
- const diffMin = Math.floor(diffSec / 60);
123
- if (diffMin < 60) {
124
- return `${diffMin}m ago`;
125
- }
126
- const diffHour = Math.floor(diffMin / 60);
127
- return `${diffHour}h ago`;
128
- };
129
- const formatViewModeLabel = (mode) => {
130
- switch (mode) {
131
- case "all":
132
- return "All";
133
- case "local":
134
- return "Local";
135
- case "remote":
136
- return "Remote";
137
- }
138
- };
139
- // Use shared color utility for consistent agent colors (SPEC-3b0ed29b FR-024~FR-027)
140
- const getToolColor = (label, toolId) => {
141
- return getAgentTerminalColor(toolId, label);
142
- };
143
- function LoadingIndicator(props) {
144
- const frames = ["|", "/", "-", "\\"];
145
- const delay = props.delay ?? 300;
146
- const [visible, setVisible] = createSignal(props.isLoading && delay <= 0);
147
- const [frameIndex, setFrameIndex] = createSignal(0);
148
- createEffect(() => {
149
- let delayTimer;
150
- let intervalTimer;
151
- if (props.isLoading) {
152
- if (delay <= 0) {
153
- setVisible(true);
154
- }
155
- else {
156
- delayTimer = setTimeout(() => {
157
- setVisible(true);
158
- }, delay);
159
- }
160
- }
161
- else {
162
- setVisible(false);
163
- setFrameIndex(0);
164
- }
165
- if (visible() && props.isLoading) {
166
- intervalTimer = setInterval(() => {
167
- setFrameIndex((current) => (current + 1) % frames.length);
168
- }, 80);
169
- }
170
- return () => {
171
- if (delayTimer) {
172
- clearTimeout(delayTimer);
173
- }
174
- if (intervalTimer) {
175
- clearInterval(intervalTimer);
176
- }
177
- };
178
- });
179
- if (!props.isLoading || !visible()) {
180
- return null;
181
- }
182
- return (_jsx("text", { fg: "yellow", children: padLine(`${frames[frameIndex()]} ${props.message ?? "Loading... please wait"}`, props.width) }));
183
- }
184
- export function BranchListScreen(props) {
185
- const terminal = useTerminalDimensions();
186
- const [filterQuery, setFilterQuery] = createSignal("");
187
- const [filterMode, setFilterMode] = createSignal(false);
188
- const [viewMode, setViewMode] = createSignal("all");
189
- // カーソル位置: 外部制御(props.cursorPosition)が優先、なければ内部状態を使用
190
- const [internalSelectedIndex, setInternalSelectedIndex] = createSignal(props.cursorPosition ?? 0);
191
- const selectedIndex = () => props.cursorPosition ?? internalSelectedIndex();
192
- const setSelectedIndex = (value) => {
193
- const newValue = typeof value === "function" ? value(selectedIndex()) : value;
194
- setInternalSelectedIndex(newValue);
195
- props.onCursorPositionChange?.(newValue);
196
- };
197
- const [scrollOffset, setScrollOffset] = createSignal(0);
198
- const [cleanupSpinnerIndex, setCleanupSpinnerIndex] = createSignal(0);
199
- const [cursorIndex, setCursorIndex] = createSignal(0);
200
- const layoutWidth = createMemo(() => Math.max(20, terminal().width || 80));
201
- const listWidth = createMemo(() => Math.max(20, layoutWidth()));
202
- const fixedLines = createMemo(() => {
203
- const headerLines = 2 + (props.workingDirectory ? 1 : 0);
204
- const filterLines = 1;
205
- const statsLines = 1;
206
- const loadingLines = 1;
207
- const footerMessageLines = props.cleanupUI?.footerMessage ? 1 : 0;
208
- const branchLines = 1;
209
- const footerLines = 1;
210
- return (headerLines +
211
- filterLines +
212
- statsLines +
213
- loadingLines +
214
- footerMessageLines +
215
- branchLines +
216
- footerLines);
217
- });
218
- const contentHeight = createMemo(() => {
219
- const height = terminal().height || 24;
220
- return Math.max(3, height - fixedLines());
221
- });
222
- const selectedSet = createMemo(() => new Set(props.selectedBranches ?? []));
223
- const hasSpinningIndicator = createMemo(() => {
224
- if (!props.cleanupUI?.indicators) {
225
- return false;
226
- }
227
- return Object.values(props.cleanupUI.indicators).some((indicator) => indicator.isSpinning);
228
- });
229
- const hasSpinningFooter = createMemo(() => props.cleanupUI?.footerMessage?.isSpinning ?? false);
230
- const safetyPendingActive = createMemo(() => {
231
- const pending = props.cleanupUI?.safetyPendingBranches;
232
- if (pending) {
233
- return pending.size > 0;
234
- }
235
- return props.cleanupUI?.safetyLoading === true;
236
- });
237
- const cleanupSpinnerActive = createMemo(() => hasSpinningIndicator() || hasSpinningFooter() || safetyPendingActive());
238
- createEffect(() => {
239
- let intervalTimer;
240
- if (cleanupSpinnerActive()) {
241
- intervalTimer = setInterval(() => {
242
- setCleanupSpinnerIndex((current) => (current + 1) % CLEANUP_SPINNER_FRAMES.length);
243
- }, 120);
244
- }
245
- else {
246
- setCleanupSpinnerIndex(0);
247
- }
248
- return () => {
249
- if (intervalTimer) {
250
- clearInterval(intervalTimer);
251
- }
252
- };
253
- });
254
- const cleanupSpinnerFrame = createMemo(() => cleanupSpinnerActive()
255
- ? (CLEANUP_SPINNER_FRAMES[cleanupSpinnerIndex()] ??
256
- CLEANUP_SPINNER_FRAMES[0])
257
- : null);
258
- const filteredBranches = createMemo(() => {
259
- let result = props.branches;
260
- const mode = viewMode();
261
- if (mode === "local") {
262
- result = result.filter((branch) => branch.type === "local");
263
- }
264
- else if (mode === "remote") {
265
- result = result.filter((branch) => branch.type === "remote" || branch.hasRemoteCounterpart === true);
266
- }
267
- const query = filterQuery().trim().toLowerCase();
268
- if (query) {
269
- result = result.filter((branch) => {
270
- if (branch.name.toLowerCase().includes(query)) {
271
- return true;
272
- }
273
- if (branch.openPR?.title?.toLowerCase().includes(query)) {
274
- return true;
275
- }
276
- return false;
277
- });
278
- }
279
- return result;
280
- });
281
- // ツールラベルの最大幅を動的に計算
282
- const maxToolWidth = createMemo(() => {
283
- const MIN_TOOL_WIDTH = 7; // "Unknown" の幅
284
- let maxWidth = MIN_TOOL_WIDTH;
285
- for (const branch of filteredBranches()) {
286
- const toolLabel = branch.lastToolUsageLabel?.split("|")?.[0]?.trim() ??
287
- branch.lastToolUsage?.toolId ??
288
- "Unknown";
289
- const width = stringWidth(toolLabel);
290
- if (width > maxWidth) {
291
- maxWidth = width;
292
- }
293
- }
294
- return maxWidth;
295
- });
296
- // FR-037 / FR-037a: filterQueryまたはviewModeが実際に変更されたときのみカーソルをリセット
297
- // defer: true により初回実行をスキップし、安全状態更新時のリセットを防止
298
- createEffect(on(() => [filterQuery(), viewMode()], () => {
299
- setSelectedIndex(0);
300
- setScrollOffset(0);
301
- }, { defer: true }));
302
- createEffect(() => {
303
- const total = filteredBranches().length;
304
- if (total === 0) {
305
- setSelectedIndex(0);
306
- setScrollOffset(0);
307
- return;
308
- }
309
- setSelectedIndex((prev) => Math.min(prev, total - 1));
310
- });
311
- createEffect(() => {
312
- const total = filteredBranches().length;
313
- const limit = contentHeight();
314
- const index = selectedIndex();
315
- setScrollOffset((prev) => {
316
- if (total === 0) {
317
- return 0;
318
- }
319
- let next = prev;
320
- if (index < prev) {
321
- next = index;
322
- }
323
- else if (index >= prev + limit) {
324
- next = index - limit + 1;
325
- }
326
- const maxOffset = Math.max(0, total - limit);
327
- return Math.min(Math.max(0, next), maxOffset);
328
- });
329
- });
330
- createEffect(() => {
331
- let intervalTimer;
332
- if (filterMode()) {
333
- intervalTimer = setInterval(() => {
334
- setCursorIndex((current) => (current + 1) % CURSOR_FRAMES.length);
335
- }, 500);
336
- }
337
- else {
338
- setCursorIndex(0);
339
- }
340
- return () => {
341
- if (intervalTimer) {
342
- clearInterval(intervalTimer);
343
- }
344
- };
345
- });
346
- const cursorFrame = createMemo(() => filterMode()
347
- ? (CURSOR_FRAMES[cursorIndex()] ?? CURSOR_FRAMES[0] ?? "")
348
- : "");
349
- const formatLatestCommit = (timestamp) => {
350
- if (!timestamp || Number.isNaN(timestamp)) {
351
- return "---";
352
- }
353
- const formatted = formatLocalDateTime(timestamp * 1000);
354
- return formatted || "---";
355
- };
356
- useKeyboard((key) => {
357
- // FR-044: ウィザードポップアップ表示中は入力を無効化
358
- if (props.wizardVisible) {
359
- return;
360
- }
361
- if (props.confirmVisible) {
362
- return;
363
- }
364
- if (props.helpVisible) {
365
- return;
366
- }
367
- if (props.cleanupUI?.inputLocked) {
368
- return;
369
- }
370
- if (filterMode()) {
371
- if (key.name === "down") {
372
- const total = filteredBranches().length;
373
- if (total > 0) {
374
- setSelectedIndex((prev) => Math.min(prev + 1, total - 1));
375
- }
376
- return;
377
- }
378
- if (key.name === "up") {
379
- const total = filteredBranches().length;
380
- if (total > 0) {
381
- setSelectedIndex((prev) => Math.max(prev - 1, 0));
382
- }
383
- return;
384
- }
385
- if (key.name === "escape") {
386
- if (filterQuery()) {
387
- setFilterQuery("");
388
- }
389
- else {
390
- setFilterMode(false);
391
- }
392
- return;
393
- }
394
- if (key.name === "backspace") {
395
- setFilterQuery((prev) => prev.slice(0, -1));
396
- return;
397
- }
398
- if (key.name === "return" || key.name === "linefeed") {
399
- setFilterMode(false);
400
- return;
401
- }
402
- if (key.sequence &&
403
- key.sequence.length === 1 &&
404
- !key.ctrl &&
405
- !key.meta &&
406
- !key.super &&
407
- !key.hyper) {
408
- setFilterQuery((prev) => prev + key.sequence);
409
- }
410
- return;
411
- }
412
- if (key.ctrl && key.name === "c") {
413
- props.onQuit?.();
414
- return;
415
- }
416
- if (key.name === "escape" && filterQuery()) {
417
- setFilterQuery("");
418
- return;
419
- }
420
- if (key.name === "f" || key.sequence === "f") {
421
- setFilterMode(true);
422
- return;
423
- }
424
- if (key.name === "tab") {
425
- const currentIndex = VIEW_MODES.indexOf(viewMode());
426
- const nextIndex = (currentIndex + 1) % VIEW_MODES.length;
427
- setViewMode(VIEW_MODES[nextIndex] ?? "all");
428
- setSelectedIndex(0);
429
- return;
430
- }
431
- if (key.name === "down") {
432
- const total = filteredBranches().length;
433
- if (total > 0) {
434
- setSelectedIndex((prev) => Math.min(prev + 1, total - 1));
435
- }
436
- return;
437
- }
438
- if (key.name === "up") {
439
- const total = filteredBranches().length;
440
- if (total > 0) {
441
- setSelectedIndex((prev) => Math.max(prev - 1, 0));
442
- }
443
- return;
444
- }
445
- if (key.name === "return" || key.name === "linefeed") {
446
- key.preventDefault();
447
- const selected = filteredBranches()[selectedIndex()];
448
- if (selected) {
449
- props.onSelect(selected);
450
- }
451
- return;
452
- }
453
- if (key.sequence === " " || key.name === "space") {
454
- const selected = filteredBranches()[selectedIndex()];
455
- if (selected) {
456
- props.onToggleSelect?.(selected.name);
457
- }
458
- return;
459
- }
460
- if (key.name === "n" || key.sequence === "n") {
461
- key.preventDefault();
462
- const selected = filteredBranches()[selectedIndex()] ?? null;
463
- props.onCreateBranch?.(selected);
464
- return;
465
- }
466
- if (key.name === "c" || key.sequence === "c") {
467
- props.onCleanupCommand?.();
468
- }
469
- else if (key.name === "x" || key.sequence === "x") {
470
- props.onRepairWorktrees?.();
471
- }
472
- else if (key.name === "r" || key.sequence === "r") {
473
- props.onRefresh?.();
474
- }
475
- else if (key.name === "p" || key.sequence === "p") {
476
- props.onOpenProfiles?.();
477
- }
478
- else if (key.name === "l" || key.sequence === "l") {
479
- const selected = filteredBranches()[selectedIndex()] ?? null;
480
- props.onOpenLogs?.(selected);
481
- }
482
- });
483
- const visibleBranches = createMemo(() => {
484
- const start = scrollOffset();
485
- const limit = contentHeight();
486
- return filteredBranches().slice(start, start + limit);
487
- });
488
- const renderBranchLine = (branch, index) => {
489
- const absoluteIndex = scrollOffset() + index;
490
- const isSelected = absoluteIndex === selectedIndex();
491
- const columns = listWidth();
492
- const indicatorInfo = props.cleanupUI?.indicators?.[branch.name];
493
- let leadingIndicator = "";
494
- if (indicatorInfo) {
495
- leadingIndicator = indicatorInfo.isSpinning
496
- ? (CLEANUP_SPINNER_FRAMES[0] ?? "-")
497
- : indicatorInfo.icon;
498
- }
499
- const indicatorColor = !isSelected && indicatorInfo?.color ? indicatorInfo.color : undefined;
500
- const isChecked = selectedSet().has(branch.name);
501
- const hasUncommitted = branch.worktree?.hasUncommittedChanges === true;
502
- const hasUnpushed = branch.hasUnpushedCommits === true;
503
- const isWarning = hasUnpushed || hasUncommitted;
504
- const selectionIcon = isChecked ? "[*]" : "[ ]";
505
- const selectionColor = isChecked && isWarning ? "red" : undefined;
506
- let worktreeIcon = ".";
507
- let worktreeColor = "gray";
508
- if (branch.worktreeStatus === "active") {
509
- worktreeIcon = "w";
510
- worktreeColor = "brightGreen";
511
- }
512
- else if (branch.worktreeStatus === "inaccessible") {
513
- worktreeIcon = "x";
514
- worktreeColor = "red";
515
- }
516
- const isRemoteBranch = branch.type === "remote";
517
- const safetyLoading = props.cleanupUI?.safetyLoading === true;
518
- const safetyPendingBranches = props.cleanupUI?.safetyPendingBranches;
519
- const isSafetyPending = safetyPendingBranches
520
- ? safetyPendingBranches.has(branch.name)
521
- : safetyLoading;
522
- const spinnerFrame = cleanupSpinnerFrame();
523
- let safeIcon = " ";
524
- let safeColor;
525
- if (isRemoteBranch) {
526
- safeIcon = " ";
527
- safeColor = undefined;
528
- }
529
- else if (isSafetyPending) {
530
- safeIcon = spinnerFrame ?? "-";
531
- safeColor = undefined;
532
- }
533
- else if (hasUncommitted) {
534
- safeIcon = "!";
535
- safeColor = "red";
536
- }
537
- else if (hasUnpushed) {
538
- safeIcon = "!";
539
- safeColor = "yellow";
540
- }
541
- else if (branch.isUnmerged) {
542
- safeIcon = "*";
543
- safeColor = "yellow";
544
- }
545
- else if (branch.safeToCleanup === true) {
546
- safeIcon = "o";
547
- safeColor = "brightGreen";
548
- }
549
- else {
550
- safeIcon = "!";
551
- safeColor = "red";
552
- }
553
- let commitText = "---";
554
- const latestActivitySec = getLatestActivityTimestamp(branch);
555
- if (latestActivitySec > 0) {
556
- commitText = formatLatestCommit(latestActivitySec);
557
- }
558
- const toolLabelRaw = branch.lastToolUsageLabel?.split("|")?.[0]?.trim() ??
559
- branch.lastToolUsage?.toolId ??
560
- "Unknown";
561
- const formatFixedWidth = (value, targetWidth) => {
562
- let v = value;
563
- if (measureDisplayWidth(v) > targetWidth) {
564
- v = truncateToWidth(v, targetWidth);
565
- }
566
- const padding = Math.max(0, targetWidth - measureDisplayWidth(v));
567
- return v + " ".repeat(padding);
568
- };
569
- const toolWidth = maxToolWidth();
570
- const DATE_WIDTH = 16;
571
- const paddedTool = formatFixedWidth(toolLabelRaw, toolWidth);
572
- const paddedDate = commitText === "---"
573
- ? " ".repeat(DATE_WIDTH)
574
- : commitText.padStart(DATE_WIDTH, " ");
575
- const timestampText = `${paddedTool} | ${paddedDate}`;
576
- const timestampWidth = measureDisplayWidth(timestampText);
577
- const toolColor = getToolColor(paddedTool, branch.lastToolUsage?.toolId);
578
- const displayLabel = branch.type === "remote" && branch.remoteName
579
- ? branch.remoteName
580
- : branch.name;
581
- const staticPrefix = `${leadingIndicator}${selectionIcon} ${worktreeIcon} ${safeIcon} `;
582
- const staticPrefixWidth = measureDisplayWidth(staticPrefix);
583
- const maxLeftDisplayWidth = Math.max(0, columns - timestampWidth - 1);
584
- const maxLabelWidth = Math.max(0, maxLeftDisplayWidth - staticPrefixWidth);
585
- let truncatedLabel = truncateToWidth(displayLabel, maxLabelWidth);
586
- let leftText = `${staticPrefix}${truncatedLabel}`;
587
- let leftDisplayWidth = measureDisplayWidth(leftText);
588
- let gapWidth = Math.max(1, columns - leftDisplayWidth - timestampWidth);
589
- const buildLine = () => `${leftText}${" ".repeat(gapWidth)}${timestampText}`;
590
- let line = buildLine();
591
- if (measureDisplayWidth(line) > columns) {
592
- const overflow = measureDisplayWidth(line) - columns;
593
- gapWidth = Math.max(1, gapWidth - overflow);
594
- line = buildLine();
595
- if (measureDisplayWidth(line) > columns) {
596
- const extra = measureDisplayWidth(line) - columns;
597
- const newLabelWidth = Math.max(0, measureDisplayWidth(truncatedLabel) - extra);
598
- truncatedLabel = truncateToWidth(displayLabel, newLabelWidth);
599
- leftText = `${staticPrefix}${truncatedLabel}`;
600
- leftDisplayWidth = measureDisplayWidth(leftText);
601
- gapWidth = Math.max(1, columns - leftDisplayWidth - timestampWidth);
602
- }
603
- }
604
- const segments = [];
605
- if (leadingIndicator) {
606
- appendSegment(segments, { text: leadingIndicator, fg: indicatorColor });
607
- }
608
- appendSegment(segments, { text: selectionIcon, fg: selectionColor });
609
- appendSegment(segments, { text: " " });
610
- appendSegment(segments, { text: worktreeIcon, fg: worktreeColor });
611
- appendSegment(segments, { text: " " });
612
- appendSegment(segments, { text: safeIcon, fg: safeColor });
613
- appendSegment(segments, { text: " " });
614
- appendSegment(segments, { text: truncatedLabel });
615
- appendSegment(segments, { text: " ".repeat(gapWidth) });
616
- appendSegment(segments, { text: paddedTool, fg: toolColor });
617
- appendSegment(segments, { text: " | " });
618
- appendSegment(segments, { text: paddedDate });
619
- const lineSegments = fitSegmentsToWidth(segments, columns);
620
- return isSelected ? applySelectionStyle(lineSegments) : lineSegments;
621
- };
622
- const footerActions = [
623
- { key: "r", description: "Refresh" },
624
- { key: "c", description: "Cleanup" },
625
- { key: "x", description: "Repair" },
626
- { key: "l", description: "Logs" },
627
- ];
628
- const filterLineSegments = createMemo(() => {
629
- const segments = [];
630
- const query = filterQuery();
631
- appendSegment(segments, {
632
- text: "Filter(f): ",
633
- attributes: TextAttributes.DIM,
634
- });
635
- if (filterMode()) {
636
- if (query) {
637
- appendSegment(segments, { text: query });
638
- }
639
- else {
640
- appendSegment(segments, {
641
- text: "Type to search...",
642
- attributes: TextAttributes.DIM,
643
- });
644
- }
645
- appendSegment(segments, { text: cursorFrame() });
646
- }
647
- else {
648
- appendSegment(segments, {
649
- text: query || "(press f to filter)",
650
- attributes: TextAttributes.DIM,
651
- });
652
- }
653
- if (query) {
654
- appendSegment(segments, {
655
- text: ` (Showing ${filteredBranches().length} of ${props.branches.length})`,
656
- attributes: TextAttributes.DIM,
657
- });
658
- }
659
- return fitSegmentsToWidth(segments, layoutWidth());
660
- });
661
- const statsSegments = createMemo(() => {
662
- const segments = [];
663
- const separator = " ";
664
- appendSegment(segments, {
665
- text: "Mode(tab): ",
666
- attributes: TextAttributes.DIM,
667
- });
668
- appendSegment(segments, {
669
- text: formatViewModeLabel(viewMode()),
670
- fg: "white",
671
- attributes: TextAttributes.BOLD,
672
- });
673
- appendSegment(segments, {
674
- text: separator,
675
- attributes: TextAttributes.DIM,
676
- });
677
- const statsItems = [
678
- { label: "Local", value: props.stats.localCount, color: "cyan" },
679
- { label: "Remote", value: props.stats.remoteCount, color: "green" },
680
- { label: "Worktrees", value: props.stats.worktreeCount, color: "yellow" },
681
- { label: "Changes", value: props.stats.changesCount, color: "magenta" },
682
- ];
683
- statsItems.forEach((item, index) => {
684
- appendSegment(segments, {
685
- text: `${item.label}: `,
686
- attributes: TextAttributes.DIM,
687
- });
688
- appendSegment(segments, {
689
- text: String(item.value),
690
- fg: item.color,
691
- attributes: TextAttributes.BOLD,
692
- });
693
- if (index < statsItems.length - 1 || props.lastUpdated) {
694
- appendSegment(segments, {
695
- text: separator,
696
- attributes: TextAttributes.DIM,
697
- });
698
- }
699
- });
700
- if (props.lastUpdated) {
701
- appendSegment(segments, {
702
- text: "Updated: ",
703
- attributes: TextAttributes.DIM,
704
- });
705
- appendSegment(segments, {
706
- text: formatRelativeTime(props.lastUpdated),
707
- fg: "gray",
708
- });
709
- }
710
- return fitSegmentsToWidth(segments, layoutWidth());
711
- });
712
- const statusLegendSegments = createMemo(() => {
713
- const segments = [];
714
- const separator = " ";
715
- appendSegment(segments, {
716
- text: "Legend: ",
717
- attributes: TextAttributes.DIM,
718
- });
719
- appendSegment(segments, {
720
- text: "o",
721
- fg: "brightGreen",
722
- attributes: TextAttributes.BOLD,
723
- });
724
- appendSegment(segments, {
725
- text: " Safe",
726
- fg: "brightGreen",
727
- });
728
- appendSegment(segments, {
729
- text: separator,
730
- attributes: TextAttributes.DIM,
731
- });
732
- appendSegment(segments, {
733
- text: "!",
734
- fg: "red",
735
- attributes: TextAttributes.BOLD,
736
- });
737
- appendSegment(segments, {
738
- text: " Uncommitted",
739
- fg: "red",
740
- });
741
- appendSegment(segments, {
742
- text: separator,
743
- attributes: TextAttributes.DIM,
744
- });
745
- appendSegment(segments, {
746
- text: "!",
747
- fg: "yellow",
748
- attributes: TextAttributes.BOLD,
749
- });
750
- appendSegment(segments, {
751
- text: " Unpushed",
752
- fg: "yellow",
753
- });
754
- appendSegment(segments, {
755
- text: separator,
756
- attributes: TextAttributes.DIM,
757
- });
758
- appendSegment(segments, {
759
- text: "*",
760
- fg: "yellow",
761
- attributes: TextAttributes.BOLD,
762
- });
763
- appendSegment(segments, {
764
- text: " Unmerged",
765
- fg: "yellow",
766
- });
767
- return fitSegmentsToWidth(segments, layoutWidth());
768
- });
769
- const footerSegments = createMemo(() => {
770
- const segments = [];
771
- const separator = " ";
772
- footerActions.forEach((action, index) => {
773
- appendSegment(segments, { text: "[", attributes: TextAttributes.DIM });
774
- appendSegment(segments, {
775
- text: action.key,
776
- fg: "cyan",
777
- attributes: TextAttributes.BOLD,
778
- });
779
- appendSegment(segments, { text: "]", attributes: TextAttributes.DIM });
780
- appendSegment(segments, { text: ` ${action.description}` });
781
- if (index < footerActions.length - 1) {
782
- appendSegment(segments, {
783
- text: separator,
784
- attributes: TextAttributes.DIM,
785
- });
786
- }
787
- });
788
- return fitSegmentsToWidth(segments, layoutWidth());
789
- });
790
- const renderSegmentLine = (segments) => (_jsx("box", { flexDirection: "row", children: segments.map((segment) => (_jsx("text", { ...(segment.fg ? { fg: segment.fg } : {}), ...(segment.bg ? { bg: segment.bg } : {}), ...(segment.attributes ? { attributes: segment.attributes } : {}), children: segment.text }))) }));
791
- const selectedWorktreeLabel = createMemo(() => {
792
- const branches = filteredBranches();
793
- if (branches.length === 0) {
794
- return "(none)";
795
- }
796
- const selected = branches[selectedIndex()];
797
- if (!selected) {
798
- return "(none)";
799
- }
800
- if (selected.worktree?.path) {
801
- return selected.worktree.path;
802
- }
803
- if (selected.isCurrent && props.workingDirectory) {
804
- return props.workingDirectory;
805
- }
806
- return "(none)";
807
- });
808
- return (_jsxs("box", { flexDirection: "column", height: terminal().height || 24, children: [_jsx(Header, { title: "gwt - Branch Selection", titleColor: "cyan", width: layoutWidth(), ...(props.version !== undefined ? { version: props.version } : {}), ...(props.workingDirectory
809
- ? { workingDirectory: props.workingDirectory }
810
- : {}), ...(props.activeProfile !== undefined
811
- ? { activeProfile: props.activeProfile }
812
- : {}) }), renderSegmentLine(filterLineSegments()), renderSegmentLine(statsSegments()), _jsxs("box", { flexDirection: "column", flexGrow: 1, children: [Boolean(props.loading) && props.branches.length === 0 ? (_jsx(LoadingIndicator, { isLoading: true, message: "Loading Git information...", width: layoutWidth(), ...(props.loadingIndicatorDelay !== undefined
813
- ? { delay: props.loadingIndicatorDelay }
814
- : {}) })) : (renderSegmentLine(statusLegendSegments())), props.error && (_jsxs(_Fragment, { children: [_jsx("text", { fg: "red", attributes: TextAttributes.BOLD, children: padLine(`Error: ${props.error.message}`, layoutWidth()) }), process.env.DEBUG && props.error.stack && (_jsxs(_Fragment, { children: [_jsx("text", { attributes: TextAttributes.DIM, children: padLine("", layoutWidth()) }), props.error.stack.split("\n").map((line) => (_jsx("text", { fg: "gray", attributes: TextAttributes.DIM, children: padLine(line, layoutWidth()) })))] }))] })), !props.loading && !props.error && props.branches.length === 0 && (_jsx("text", { attributes: TextAttributes.DIM, children: padLine("No branches found", layoutWidth()) })), !props.loading &&
815
- !props.error &&
816
- props.branches.length > 0 &&
817
- filteredBranches().length === 0 &&
818
- filterQuery() && (_jsx("text", { attributes: TextAttributes.DIM, children: padLine("No branches match your filter", layoutWidth()) })), !props.loading && !props.error && filteredBranches().length > 0 && (_jsxs(_Fragment, { children: [visibleBranches().map((branch, index) => {
819
- const rowSegments = renderBranchLine(branch, index);
820
- return renderSegmentLine(rowSegments);
821
- }), Array.from({
822
- length: Math.max(0, contentHeight() - visibleBranches().length),
823
- }).map(() => (_jsx("text", { children: padLine("", listWidth()) })))] }))] }), props.cleanupUI?.footerMessage && (_jsx("text", { ...(props.cleanupUI.footerMessage.color
824
- ? { fg: props.cleanupUI.footerMessage.color }
825
- : {}), children: padLine(props.cleanupUI.footerMessage.isSpinning && cleanupSpinnerFrame()
826
- ? `${cleanupSpinnerFrame()} ${props.cleanupUI.footerMessage.text}`
827
- : props.cleanupUI.footerMessage.text, layoutWidth()) })), _jsx("text", { attributes: TextAttributes.DIM, children: padLine(`Worktree: ${selectedWorktreeLabel()}`, layoutWidth()) }), renderSegmentLine(footerSegments())] }));
828
- }
829
- //# sourceMappingURL=BranchListScreen.js.map