@akiojin/gwt 2.0.0 → 2.0.1

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 (336) hide show
  1. package/dist/claude-history.d.ts +60 -0
  2. package/dist/claude-history.d.ts.map +1 -0
  3. package/dist/claude-history.js +606 -0
  4. package/dist/claude-history.js.map +1 -0
  5. package/dist/claude.d.ts +12 -0
  6. package/dist/claude.d.ts.map +1 -0
  7. package/dist/claude.js +222 -0
  8. package/dist/claude.js.map +1 -0
  9. package/dist/cli/ui/components/App.d.ts +22 -0
  10. package/dist/cli/ui/components/App.d.ts.map +1 -0
  11. package/dist/cli/ui/components/App.js +557 -0
  12. package/dist/cli/ui/components/App.js.map +1 -0
  13. package/dist/cli/ui/components/common/Confirm.d.ts +13 -0
  14. package/dist/cli/ui/components/common/Confirm.d.ts.map +1 -0
  15. package/dist/cli/ui/components/common/Confirm.js +20 -0
  16. package/dist/cli/ui/components/common/Confirm.js.map +1 -0
  17. package/dist/cli/ui/components/common/ErrorBoundary.d.ts +23 -0
  18. package/dist/cli/ui/components/common/ErrorBoundary.d.ts.map +1 -0
  19. package/dist/cli/ui/components/common/ErrorBoundary.js +37 -0
  20. package/dist/cli/ui/components/common/ErrorBoundary.js.map +1 -0
  21. package/dist/cli/ui/components/common/Input.d.ts +14 -0
  22. package/dist/cli/ui/components/common/Input.d.ts.map +1 -0
  23. package/dist/cli/ui/components/common/Input.js +14 -0
  24. package/dist/cli/ui/components/common/Input.js.map +1 -0
  25. package/dist/cli/ui/components/common/LoadingIndicator.d.ts +19 -0
  26. package/dist/cli/ui/components/common/LoadingIndicator.d.ts.map +1 -0
  27. package/dist/cli/ui/components/common/LoadingIndicator.js +61 -0
  28. package/dist/cli/ui/components/common/LoadingIndicator.js.map +1 -0
  29. package/dist/cli/ui/components/common/Select.d.ts +30 -0
  30. package/dist/cli/ui/components/common/Select.d.ts.map +1 -0
  31. package/dist/cli/ui/components/common/Select.js +140 -0
  32. package/dist/cli/ui/components/common/Select.js.map +1 -0
  33. package/dist/cli/ui/components/parts/Footer.d.ts +15 -0
  34. package/dist/cli/ui/components/parts/Footer.d.ts.map +1 -0
  35. package/dist/cli/ui/components/parts/Footer.js +20 -0
  36. package/dist/cli/ui/components/parts/Footer.js.map +1 -0
  37. package/dist/cli/ui/components/parts/Header.d.ts +29 -0
  38. package/dist/cli/ui/components/parts/Header.d.ts.map +1 -0
  39. package/dist/cli/ui/components/parts/Header.js +19 -0
  40. package/dist/cli/ui/components/parts/Header.js.map +1 -0
  41. package/dist/cli/ui/components/parts/MergeStatusList.d.ts +13 -0
  42. package/dist/cli/ui/components/parts/MergeStatusList.d.ts.map +1 -0
  43. package/dist/cli/ui/components/parts/MergeStatusList.js +52 -0
  44. package/dist/cli/ui/components/parts/MergeStatusList.js.map +1 -0
  45. package/dist/cli/ui/components/parts/ProgressBar.d.ts +13 -0
  46. package/dist/cli/ui/components/parts/ProgressBar.d.ts.map +1 -0
  47. package/dist/cli/ui/components/parts/ProgressBar.js +53 -0
  48. package/dist/cli/ui/components/parts/ProgressBar.js.map +1 -0
  49. package/dist/cli/ui/components/parts/ScrollableList.d.ts +12 -0
  50. package/dist/cli/ui/components/parts/ScrollableList.d.ts.map +1 -0
  51. package/dist/cli/ui/components/parts/ScrollableList.js +11 -0
  52. package/dist/cli/ui/components/parts/ScrollableList.js.map +1 -0
  53. package/dist/cli/ui/components/parts/Stats.d.ts +13 -0
  54. package/dist/cli/ui/components/parts/Stats.d.ts.map +1 -0
  55. package/dist/cli/ui/components/parts/Stats.js +42 -0
  56. package/dist/cli/ui/components/parts/Stats.js.map +1 -0
  57. package/dist/cli/ui/components/screens/AIToolSelectorScreen.d.ts +20 -0
  58. package/dist/cli/ui/components/screens/AIToolSelectorScreen.d.ts.map +1 -0
  59. package/dist/cli/ui/components/screens/AIToolSelectorScreen.js +77 -0
  60. package/dist/cli/ui/components/screens/AIToolSelectorScreen.js.map +1 -0
  61. package/dist/cli/ui/components/screens/BatchMergeProgressScreen.d.ts +14 -0
  62. package/dist/cli/ui/components/screens/BatchMergeProgressScreen.d.ts.map +1 -0
  63. package/dist/cli/ui/components/screens/BatchMergeProgressScreen.js +41 -0
  64. package/dist/cli/ui/components/screens/BatchMergeProgressScreen.js.map +1 -0
  65. package/dist/cli/ui/components/screens/BatchMergeResultScreen.d.ts +14 -0
  66. package/dist/cli/ui/components/screens/BatchMergeResultScreen.d.ts.map +1 -0
  67. package/dist/cli/ui/components/screens/BatchMergeResultScreen.js +71 -0
  68. package/dist/cli/ui/components/screens/BatchMergeResultScreen.js.map +1 -0
  69. package/dist/cli/ui/components/screens/BranchCreatorScreen.d.ts +15 -0
  70. package/dist/cli/ui/components/screens/BranchCreatorScreen.d.ts.map +1 -0
  71. package/dist/cli/ui/components/screens/BranchCreatorScreen.js +142 -0
  72. package/dist/cli/ui/components/screens/BranchCreatorScreen.js.map +1 -0
  73. package/dist/cli/ui/components/screens/BranchListScreen.d.ts +39 -0
  74. package/dist/cli/ui/components/screens/BranchListScreen.d.ts.map +1 -0
  75. package/dist/cli/ui/components/screens/BranchListScreen.js +172 -0
  76. package/dist/cli/ui/components/screens/BranchListScreen.js.map +1 -0
  77. package/dist/cli/ui/components/screens/ExecutionModeSelectorScreen.d.ts +29 -0
  78. package/dist/cli/ui/components/screens/ExecutionModeSelectorScreen.d.ts.map +1 -0
  79. package/dist/cli/ui/components/screens/ExecutionModeSelectorScreen.js +92 -0
  80. package/dist/cli/ui/components/screens/ExecutionModeSelectorScreen.js.map +1 -0
  81. package/dist/cli/ui/components/screens/PRCleanupScreen.d.ts +23 -0
  82. package/dist/cli/ui/components/screens/PRCleanupScreen.d.ts.map +1 -0
  83. package/dist/cli/ui/components/screens/PRCleanupScreen.js +94 -0
  84. package/dist/cli/ui/components/screens/PRCleanupScreen.js.map +1 -0
  85. package/dist/cli/ui/components/screens/SessionSelectorScreen.d.ts +17 -0
  86. package/dist/cli/ui/components/screens/SessionSelectorScreen.d.ts.map +1 -0
  87. package/dist/cli/ui/components/screens/SessionSelectorScreen.js +55 -0
  88. package/dist/cli/ui/components/screens/SessionSelectorScreen.js.map +1 -0
  89. package/dist/cli/ui/components/screens/WorktreeManagerScreen.d.ts +20 -0
  90. package/dist/cli/ui/components/screens/WorktreeManagerScreen.d.ts.map +1 -0
  91. package/dist/cli/ui/components/screens/WorktreeManagerScreen.js +65 -0
  92. package/dist/cli/ui/components/screens/WorktreeManagerScreen.js.map +1 -0
  93. package/dist/cli/ui/hooks/useBatchMerge.d.ts +17 -0
  94. package/dist/cli/ui/hooks/useBatchMerge.d.ts.map +1 -0
  95. package/dist/cli/ui/hooks/useBatchMerge.js +77 -0
  96. package/dist/cli/ui/hooks/useBatchMerge.js.map +1 -0
  97. package/dist/cli/ui/hooks/useGitData.d.ts +20 -0
  98. package/dist/cli/ui/hooks/useGitData.d.ts.map +1 -0
  99. package/dist/cli/ui/hooks/useGitData.js +116 -0
  100. package/dist/cli/ui/hooks/useGitData.js.map +1 -0
  101. package/dist/cli/ui/hooks/useScreenState.d.ts +12 -0
  102. package/dist/cli/ui/hooks/useScreenState.d.ts.map +1 -0
  103. package/dist/cli/ui/hooks/useScreenState.js +30 -0
  104. package/dist/cli/ui/hooks/useScreenState.js.map +1 -0
  105. package/dist/cli/ui/hooks/useTerminalSize.d.ts +9 -0
  106. package/dist/cli/ui/hooks/useTerminalSize.d.ts.map +1 -0
  107. package/dist/cli/ui/hooks/useTerminalSize.js +24 -0
  108. package/dist/cli/ui/hooks/useTerminalSize.js.map +1 -0
  109. package/dist/cli/ui/screens/BranchActionSelectorScreen.d.ts +21 -0
  110. package/dist/cli/ui/screens/BranchActionSelectorScreen.d.ts.map +1 -0
  111. package/dist/cli/ui/screens/BranchActionSelectorScreen.js +61 -0
  112. package/dist/cli/ui/screens/BranchActionSelectorScreen.js.map +1 -0
  113. package/dist/cli/ui/types.d.ts +245 -0
  114. package/dist/cli/ui/types.d.ts.map +1 -0
  115. package/dist/cli/ui/types.js +2 -0
  116. package/dist/cli/ui/types.js.map +1 -0
  117. package/dist/cli/ui/utils/baseBranch.d.ts +4 -0
  118. package/dist/cli/ui/utils/baseBranch.d.ts.map +1 -0
  119. package/dist/cli/ui/utils/baseBranch.js +17 -0
  120. package/dist/cli/ui/utils/baseBranch.js.map +1 -0
  121. package/dist/cli/ui/utils/branchFormatter.d.ts +13 -0
  122. package/dist/cli/ui/utils/branchFormatter.d.ts.map +1 -0
  123. package/dist/cli/ui/utils/branchFormatter.js +202 -0
  124. package/dist/cli/ui/utils/branchFormatter.js.map +1 -0
  125. package/dist/cli/ui/utils/statisticsCalculator.d.ts +9 -0
  126. package/dist/cli/ui/utils/statisticsCalculator.d.ts.map +1 -0
  127. package/dist/cli/ui/utils/statisticsCalculator.js +37 -0
  128. package/dist/cli/ui/utils/statisticsCalculator.js.map +1 -0
  129. package/dist/client/assets/index-CqaYsI0z.js +81 -0
  130. package/dist/client/assets/index-Dy3OxWpP.css +32 -0
  131. package/dist/client/index.html +13 -0
  132. package/dist/codex.d.ts +12 -0
  133. package/dist/codex.d.ts.map +1 -0
  134. package/dist/codex.js +106 -0
  135. package/dist/codex.js.map +1 -0
  136. package/dist/config/builtin-tools.d.ts +19 -0
  137. package/dist/config/builtin-tools.d.ts.map +1 -0
  138. package/dist/config/builtin-tools.js +40 -0
  139. package/dist/config/builtin-tools.js.map +1 -0
  140. package/dist/config/constants.d.ts +74 -0
  141. package/dist/config/constants.d.ts.map +1 -0
  142. package/dist/config/constants.js +90 -0
  143. package/dist/config/constants.js.map +1 -0
  144. package/dist/config/env-history.d.ts +4 -0
  145. package/dist/config/env-history.d.ts.map +1 -0
  146. package/dist/config/env-history.js +34 -0
  147. package/dist/config/env-history.js.map +1 -0
  148. package/dist/config/index.d.ts +24 -0
  149. package/dist/config/index.d.ts.map +1 -0
  150. package/dist/config/index.js +144 -0
  151. package/dist/config/index.js.map +1 -0
  152. package/dist/config/tools.d.ts +40 -0
  153. package/dist/config/tools.d.ts.map +1 -0
  154. package/dist/config/tools.js +238 -0
  155. package/dist/config/tools.js.map +1 -0
  156. package/dist/git.d.ts +145 -0
  157. package/dist/git.d.ts.map +1 -0
  158. package/dist/git.js +871 -0
  159. package/dist/git.js.map +1 -0
  160. package/dist/github.d.ts +14 -0
  161. package/dist/github.d.ts.map +1 -0
  162. package/dist/github.js +123 -0
  163. package/dist/github.js.map +1 -0
  164. package/dist/index.d.ts +15 -0
  165. package/dist/index.d.ts.map +1 -0
  166. package/dist/index.js +510 -0
  167. package/dist/index.js.map +1 -0
  168. package/dist/launcher.d.ts +30 -0
  169. package/dist/launcher.d.ts.map +1 -0
  170. package/dist/launcher.js +116 -0
  171. package/dist/launcher.js.map +1 -0
  172. package/dist/repositories/git.repository.d.ts +38 -0
  173. package/dist/repositories/git.repository.d.ts.map +1 -0
  174. package/dist/repositories/git.repository.js +117 -0
  175. package/dist/repositories/git.repository.js.map +1 -0
  176. package/dist/repositories/github.repository.d.ts +16 -0
  177. package/dist/repositories/github.repository.d.ts.map +1 -0
  178. package/dist/repositories/github.repository.js +61 -0
  179. package/dist/repositories/github.repository.js.map +1 -0
  180. package/dist/repositories/worktree.repository.d.ts +18 -0
  181. package/dist/repositories/worktree.repository.d.ts.map +1 -0
  182. package/dist/repositories/worktree.repository.js +57 -0
  183. package/dist/repositories/worktree.repository.js.map +1 -0
  184. package/dist/services/BatchMergeService.d.ts +45 -0
  185. package/dist/services/BatchMergeService.d.ts.map +1 -0
  186. package/dist/services/BatchMergeService.js +197 -0
  187. package/dist/services/BatchMergeService.js.map +1 -0
  188. package/dist/services/WorktreeOrchestrator.d.ts +37 -0
  189. package/dist/services/WorktreeOrchestrator.d.ts.map +1 -0
  190. package/dist/services/WorktreeOrchestrator.js +74 -0
  191. package/dist/services/WorktreeOrchestrator.js.map +1 -0
  192. package/dist/services/dependency-installer.d.ts +26 -0
  193. package/dist/services/dependency-installer.d.ts.map +1 -0
  194. package/dist/services/dependency-installer.js +139 -0
  195. package/dist/services/dependency-installer.js.map +1 -0
  196. package/dist/services/git.service.d.ts +27 -0
  197. package/dist/services/git.service.d.ts.map +1 -0
  198. package/dist/services/git.service.js +95 -0
  199. package/dist/services/git.service.js.map +1 -0
  200. package/dist/services/github.service.d.ts +14 -0
  201. package/dist/services/github.service.d.ts.map +1 -0
  202. package/dist/services/github.service.js +52 -0
  203. package/dist/services/github.service.js.map +1 -0
  204. package/dist/services/worktree.service.d.ts +20 -0
  205. package/dist/services/worktree.service.d.ts.map +1 -0
  206. package/dist/services/worktree.service.js +52 -0
  207. package/dist/services/worktree.service.js.map +1 -0
  208. package/dist/types/api.d.ts +211 -0
  209. package/dist/types/api.d.ts.map +1 -0
  210. package/dist/types/api.js +8 -0
  211. package/dist/types/api.js.map +1 -0
  212. package/dist/types/tools.d.ts +201 -0
  213. package/dist/types/tools.d.ts.map +1 -0
  214. package/dist/types/tools.js +8 -0
  215. package/dist/types/tools.js.map +1 -0
  216. package/dist/utils/spinner.d.ts +6 -0
  217. package/dist/utils/spinner.d.ts.map +1 -0
  218. package/dist/utils/spinner.js +47 -0
  219. package/dist/utils/spinner.js.map +1 -0
  220. package/dist/utils/terminal.d.ts +20 -0
  221. package/dist/utils/terminal.d.ts.map +1 -0
  222. package/dist/utils/terminal.js +232 -0
  223. package/dist/utils/terminal.js.map +1 -0
  224. package/dist/utils.d.ts +9 -0
  225. package/dist/utils.d.ts.map +1 -0
  226. package/dist/utils.js +48 -0
  227. package/dist/utils.js.map +1 -0
  228. package/dist/web/client/src/components/BranchGraph.d.ts +8 -0
  229. package/dist/web/client/src/components/BranchGraph.d.ts.map +1 -0
  230. package/dist/web/client/src/components/BranchGraph.js +125 -0
  231. package/dist/web/client/src/components/BranchGraph.js.map +1 -0
  232. package/dist/web/client/src/components/EnvEditor.d.ts +20 -0
  233. package/dist/web/client/src/components/EnvEditor.d.ts.map +1 -0
  234. package/dist/web/client/src/components/EnvEditor.js +65 -0
  235. package/dist/web/client/src/components/EnvEditor.js.map +1 -0
  236. package/dist/web/client/src/components/Terminal.d.ts +15 -0
  237. package/dist/web/client/src/components/Terminal.d.ts.map +1 -0
  238. package/dist/web/client/src/components/Terminal.js +112 -0
  239. package/dist/web/client/src/components/Terminal.js.map +1 -0
  240. package/dist/web/client/src/hooks/useBranches.d.ts +16 -0
  241. package/dist/web/client/src/hooks/useBranches.d.ts.map +1 -0
  242. package/dist/web/client/src/hooks/useBranches.js +35 -0
  243. package/dist/web/client/src/hooks/useBranches.js.map +1 -0
  244. package/dist/web/client/src/hooks/useConfig.d.ts +13 -0
  245. package/dist/web/client/src/hooks/useConfig.d.ts.map +1 -0
  246. package/dist/web/client/src/hooks/useConfig.js +27 -0
  247. package/dist/web/client/src/hooks/useConfig.js.map +1 -0
  248. package/dist/web/client/src/hooks/useSessions.d.ts +21 -0
  249. package/dist/web/client/src/hooks/useSessions.d.ts.map +1 -0
  250. package/dist/web/client/src/hooks/useSessions.js +49 -0
  251. package/dist/web/client/src/hooks/useSessions.js.map +1 -0
  252. package/dist/web/client/src/hooks/useWorktrees.d.ts +17 -0
  253. package/dist/web/client/src/hooks/useWorktrees.d.ts.map +1 -0
  254. package/dist/web/client/src/hooks/useWorktrees.js +41 -0
  255. package/dist/web/client/src/hooks/useWorktrees.js.map +1 -0
  256. package/dist/web/client/src/lib/api.d.ts +82 -0
  257. package/dist/web/client/src/lib/api.d.ts.map +1 -0
  258. package/dist/web/client/src/lib/api.js +147 -0
  259. package/dist/web/client/src/lib/api.js.map +1 -0
  260. package/dist/web/client/src/lib/websocket.d.ts +52 -0
  261. package/dist/web/client/src/lib/websocket.d.ts.map +1 -0
  262. package/dist/web/client/src/lib/websocket.js +137 -0
  263. package/dist/web/client/src/lib/websocket.js.map +1 -0
  264. package/dist/web/client/src/main.d.ts +2 -0
  265. package/dist/web/client/src/main.d.ts.map +1 -0
  266. package/dist/web/client/src/main.js +23 -0
  267. package/dist/web/client/src/main.js.map +1 -0
  268. package/dist/web/client/src/pages/BranchDetailPage.d.ts +3 -0
  269. package/dist/web/client/src/pages/BranchDetailPage.d.ts.map +1 -0
  270. package/dist/web/client/src/pages/BranchDetailPage.js +519 -0
  271. package/dist/web/client/src/pages/BranchDetailPage.js.map +1 -0
  272. package/dist/web/client/src/pages/BranchListPage.d.ts +3 -0
  273. package/dist/web/client/src/pages/BranchListPage.d.ts.map +1 -0
  274. package/dist/web/client/src/pages/BranchListPage.js +150 -0
  275. package/dist/web/client/src/pages/BranchListPage.js.map +1 -0
  276. package/dist/web/client/src/pages/ConfigManagementPage.d.ts +3 -0
  277. package/dist/web/client/src/pages/ConfigManagementPage.d.ts.map +1 -0
  278. package/dist/web/client/src/pages/ConfigManagementPage.js +125 -0
  279. package/dist/web/client/src/pages/ConfigManagementPage.js.map +1 -0
  280. package/dist/web/client/src/router.d.ts +9 -0
  281. package/dist/web/client/src/router.d.ts.map +1 -0
  282. package/dist/web/client/src/router.js +27 -0
  283. package/dist/web/client/src/router.js.map +1 -0
  284. package/dist/web/client/vite.config.d.ts +3 -0
  285. package/dist/web/client/vite.config.d.ts.map +1 -0
  286. package/dist/web/client/vite.config.js +21 -0
  287. package/dist/web/client/vite.config.js.map +1 -0
  288. package/dist/web/server/env/importer.d.ts +3 -0
  289. package/dist/web/server/env/importer.d.ts.map +1 -0
  290. package/dist/web/server/env/importer.js +47 -0
  291. package/dist/web/server/env/importer.js.map +1 -0
  292. package/dist/web/server/index.d.ts +11 -0
  293. package/dist/web/server/index.d.ts.map +1 -0
  294. package/dist/web/server/index.js +62 -0
  295. package/dist/web/server/index.js.map +1 -0
  296. package/dist/web/server/pty/manager.d.ts +50 -0
  297. package/dist/web/server/pty/manager.d.ts.map +1 -0
  298. package/dist/web/server/pty/manager.js +143 -0
  299. package/dist/web/server/pty/manager.js.map +1 -0
  300. package/dist/web/server/routes/branches.d.ts +11 -0
  301. package/dist/web/server/routes/branches.d.ts.map +1 -0
  302. package/dist/web/server/routes/branches.js +97 -0
  303. package/dist/web/server/routes/branches.js.map +1 -0
  304. package/dist/web/server/routes/config.d.ts +6 -0
  305. package/dist/web/server/routes/config.d.ts.map +1 -0
  306. package/dist/web/server/routes/config.js +162 -0
  307. package/dist/web/server/routes/config.js.map +1 -0
  308. package/dist/web/server/routes/index.d.ts +13 -0
  309. package/dist/web/server/routes/index.d.ts.map +1 -0
  310. package/dist/web/server/routes/index.js +29 -0
  311. package/dist/web/server/routes/index.js.map +1 -0
  312. package/dist/web/server/routes/sessions.d.ts +12 -0
  313. package/dist/web/server/routes/sessions.d.ts.map +1 -0
  314. package/dist/web/server/routes/sessions.js +95 -0
  315. package/dist/web/server/routes/sessions.js.map +1 -0
  316. package/dist/web/server/routes/worktrees.d.ts +11 -0
  317. package/dist/web/server/routes/worktrees.d.ts.map +1 -0
  318. package/dist/web/server/routes/worktrees.js +80 -0
  319. package/dist/web/server/routes/worktrees.js.map +1 -0
  320. package/dist/web/server/services/branches.d.ts +17 -0
  321. package/dist/web/server/services/branches.d.ts.map +1 -0
  322. package/dist/web/server/services/branches.js +262 -0
  323. package/dist/web/server/services/branches.js.map +1 -0
  324. package/dist/web/server/services/worktrees.d.ts +24 -0
  325. package/dist/web/server/services/worktrees.d.ts.map +1 -0
  326. package/dist/web/server/services/worktrees.js +60 -0
  327. package/dist/web/server/services/worktrees.js.map +1 -0
  328. package/dist/web/server/websocket/handler.d.ts +41 -0
  329. package/dist/web/server/websocket/handler.d.ts.map +1 -0
  330. package/dist/web/server/websocket/handler.js +143 -0
  331. package/dist/web/server/websocket/handler.js.map +1 -0
  332. package/dist/worktree.d.ts +53 -0
  333. package/dist/worktree.d.ts.map +1 -0
  334. package/dist/worktree.js +489 -0
  335. package/dist/worktree.js.map +1 -0
  336. package/package.json +1 -1
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Copyright (c) 2014 The xterm.js authors. All rights reserved.
3
+ * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
4
+ * https://github.com/chjj/term.js
5
+ * @license MIT
6
+ *
7
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ * of this software and associated documentation files (the "Software"), to deal
9
+ * in the Software without restriction, including without limitation the rights
10
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ * copies of the Software, and to permit persons to whom the Software is
12
+ * furnished to do so, subject to the following conditions:
13
+ *
14
+ * The above copyright notice and this permission notice shall be included in
15
+ * all copies or substantial portions of the Software.
16
+ *
17
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
+ * THE SOFTWARE.
24
+ *
25
+ * Originally forked from (with the author's permission):
26
+ * Fabrice Bellard's javascript vt100 for jslinux:
27
+ * http://bellard.org/jslinux/
28
+ * Copyright (c) 2011 Fabrice Bellard
29
+ * The original design remains. The terminal itself
30
+ * has been extended to include xterm CSI codes, among
31
+ * other features.
32
+ */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility,.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}:root{--color-background: #050912;--color-surface: #0f172a;--color-surface-muted: #111c30;--color-card: rgba(15, 23, 42, .92);--color-border: rgba(148, 163, 184, .2);--color-border-strong: rgba(148, 163, 184, .45);--color-text: #e2e8f0;--color-muted: #94a3b8;--color-accent: #5eead4;--color-accent-strong: #2dd4bf;--color-warning: #fbbf24;--color-error: #fb7185;--color-success: #34d399;--color-remote: #60a5fa;--color-local: #c084fc;--shadow-card: 0 20px 45px rgba(2, 6, 23, .55);--shadow-soft: 0 10px 25px rgba(15, 23, 42, .45);--radius-lg: 24px;--radius-md: 16px;--radius-pill: 999px;font-family:Inter,Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;background:radial-gradient(circle at top,#0b1221,#050912 55%);color:var(--color-text);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-strong)}button{font:inherit}.app-shell{min-height:100vh;padding:2.5rem 1.75rem 3rem;background:linear-gradient(135deg,#17255473,#0891b214)}@media(max-width:768px){.app-shell{padding:1.5rem 1rem 2rem}}.page-hero{background:radial-gradient(circle at 15% 20%,rgba(94,234,212,.25),transparent 55%),radial-gradient(circle at 80% 0%,rgba(14,165,233,.2),transparent 45%),var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;margin-bottom:2rem;box-shadow:var(--shadow-card)}.page-hero--compact{padding:1.75rem 2rem}.page-hero__eyebrow{letter-spacing:.3em;text-transform:uppercase;color:var(--color-muted);font-size:.8rem;margin-bottom:.75rem}.page-hero h1{font-size:clamp(1.8rem,3vw,2.8rem);margin-bottom:.5rem}.page-hero__subtitle,.page-hero__meta{color:var(--color-muted);margin-top:.5rem;font-size:.95rem}.page-hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}.page-content{width:min(1400px,100%);margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.page-content--wide{width:min(1600px,100%)}.page-content--narrow{max-width:960px}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.metric-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem;box-shadow:var(--shadow-soft)}.metric-card__label{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-muted)}.metric-card__value{font-size:2rem;font-weight:600;margin-top:.25rem}.metric-card__hint{margin-top:.35rem;color:var(--color-muted);font-size:.85rem}.page-layout{display:flex;flex-direction:column;gap:1rem}.page-layout--split{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:1.5rem;align-items:start}@media(max-width:1024px){.page-layout--split{grid-template-columns:1fr}}.info-stack{display:flex;flex-direction:column;gap:1rem}.terminal-column{position:relative;min-height:100%}.toolbar{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.toolbar__field{flex:1;display:flex;align-items:center;gap:.5rem;background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:.75rem 1rem;color:var(--color-muted)}.toolbar__icon{font-size:1rem}.search-input{flex:1;border:none;background:transparent;color:var(--color-text);font-size:1rem}.search-input:focus{outline:none}.toolbar__count{color:var(--color-muted);font-size:.9rem}.page-state{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-soft)}.page-state h1,.page-state h2,.page-state h3{margin-bottom:.5rem}.page-state--card{text-align:left}.page-state--centered{text-align:center}.empty-state{text-align:center;padding:2.5rem 2rem;border-radius:var(--radius-lg);border:1px dashed var(--color-border-strong);background:#0f172ab3}.branch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem}.branch-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;display:flex;flex-direction:column;gap:1rem;box-shadow:var(--shadow-soft)}.branch-card__header{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.branch-card__header h2{font-size:1.2rem;word-break:break-all}.branch-card__eyebrow{color:var(--color-muted);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;margin-bottom:.35rem}.branch-card__commit{color:var(--color-muted);line-height:1.5}.branch-card__actions{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap;align-items:center}.badge-group{display:flex;gap:.4rem;flex-wrap:wrap}.status-badge{padding:.25rem .75rem;border-radius:var(--radius-pill);font-size:.8rem;font-weight:600;border:1px solid transparent}.status-badge--local{color:#fdf4ff;background:#c084fc26;border-color:#c084fc59}.status-badge--remote{color:#dbeafe;background:#60a5fa1f;border-color:#60a5fa59}.status-badge--success{color:#042f2e;background:#34d399d9;border:none}.status-badge--warning{color:#451a03;background:#fbbf24e6;border:none}.status-badge--muted{color:var(--color-muted);background:#94a3b826;border-color:#94a3b866}.pill-group{display:flex;gap:.5rem;flex-wrap:wrap}.pill{padding:.25rem .85rem;border-radius:var(--radius-pill);background:#94a3b81f;color:var(--color-muted);font-size:.85rem}.pill--success{background:#34d39926;color:var(--color-success)}.pill--warning{background:#fbbf242e;color:var(--color-warning)}.info-pill{font-size:.85rem;padding:.3rem .85rem;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:#0f172aa6;color:var(--color-muted)}.info-pill--success{border-color:#34d39973;color:var(--color-success)}.info-pill--warning{border-color:#fbbf2473;color:var(--color-warning)}.section-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.75rem;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:.85rem}.section-card__body{color:var(--color-muted);line-height:1.6}.metadata-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.metadata-grid--compact{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.metadata-grid dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted)}.metadata-grid dd{font-weight:600;margin-top:.25rem}.list-muted{list-style:none;color:var(--color-muted);line-height:1.7}.inline-banner{margin-top:1rem;padding:.85rem 1.25rem;border-radius:var(--radius-md);font-weight:500}.inline-banner--success{background:#34d39926;color:var(--color-success)}.inline-banner--error{background:#fb71852e;color:var(--color-error)}.inline-banner--info{background:#5eead41f;color:var(--color-accent)}.terminal-section{gap:1rem}.terminal-surface{border-radius:var(--radius-md);border:1px solid var(--color-border);background:#050912;min-height:clamp(380px,70vh,85vh);height:clamp(380px,70vh,85vh);overflow:hidden}.button{border-radius:var(--radius-pill);padding:.65rem 1.5rem;border:1px solid transparent;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.button--primary{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-strong));color:#04121a;box-shadow:0 10px 25px #2dd4bf66}.button--secondary{border-color:#5eead480;color:var(--color-accent);background:transparent}.button--ghost{border-color:var(--color-border);background:transparent;color:var(--color-text)}.button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.button:not(:disabled):hover{transform:translateY(-1px)}.link-back{display:inline-flex;align-items:center;font-size:.9rem;color:var(--color-muted);margin-bottom:.75rem}.session-hint{border-style:dashed;border-color:#5eead459}.terminal-section__header{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:flex-start}.terminal-section__controls{display:flex;gap:.5rem}.terminal-overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#020617bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:900}.terminal-section--fullscreen{position:fixed;top:2rem;right:2rem;bottom:2rem;left:2rem;z-index:1000;width:calc(100vw - 4rem);max-width:calc(100vw - 4rem);height:calc(100vh - 4rem);box-shadow:0 30px 60px #020617b3;display:flex;flex-direction:column}@media(max-width:768px){.terminal-section--fullscreen{top:1rem;right:1rem;bottom:1rem;left:1rem;width:calc(100vw - 2rem);max-width:calc(100vw - 2rem);height:calc(100vh - 2rem)}}.terminal-section--fullscreen .terminal-surface{flex:1;height:auto;min-height:unset}.terminal-section__close{position:absolute;top:1rem;right:1rem;width:2.5rem;height:2.5rem;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#0f172acc;color:var(--color-text);font-size:1.25rem;cursor:pointer}.terminal-section__close:hover{background:#0f172af2}.branch-graph-panel{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.75rem 2rem;box-shadow:var(--shadow-card)}.branch-graph-panel+.metrics-grid{margin-top:1.5rem}.branch-graph-panel__header{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.branch-graph-panel__eyebrow{letter-spacing:.3em;text-transform:uppercase;color:var(--color-muted);font-size:.8rem;margin-bottom:.25rem}.branch-graph-panel__legend{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.branch-graph-panel__empty{text-align:center;color:var(--color-muted)}.graph-chip{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .75rem;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:#0f172ab3}.graph-chip--base{border-color:var(--color-accent);color:var(--color-accent)}.graph-chip--local{border-color:var(--color-local);color:var(--color-local)}.graph-chip--remote{border-color:var(--color-remote);color:var(--color-remote)}.graph-chip--worktree{border-color:var(--color-success);color:var(--color-success)}.branch-graph{display:flex;flex-direction:column;gap:1.25rem}.branch-graph__lane{display:flex;flex-direction:column;gap:.75rem;padding-bottom:.75rem;border-bottom:1px solid rgba(148,163,184,.2)}.branch-graph__lane:last-child{border-bottom:none;padding-bottom:0}.branch-graph__lane-heading{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}.branch-graph__lane-label{font-weight:600}.branch-graph__lane-meta{margin-left:.5rem;font-size:.75rem;letter-spacing:.1em;color:var(--color-muted)}.lane-meta--muted{color:#94a3b899}.branch-graph__lane-count{color:var(--color-muted);font-size:.85rem}.branch-graph__track{display:flex;align-items:center;gap:1rem;overflow-x:auto;padding-bottom:.5rem}.branch-graph__node-link{position:relative;text-decoration:none;min-width:180px;flex-shrink:0}.branch-graph__node{position:relative;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.85rem 1rem;background:var(--color-surface-muted);box-shadow:var(--shadow-soft)}.branch-graph__node:before{content:"";position:absolute;width:28px;height:2px;background:var(--color-border-strong);left:-22px;top:50%;transform:translateY(-50%);opacity:.6}.branch-graph__node--base:before{display:none}.branch-graph__node--local{border-color:#c084fccc;box-shadow:0 15px 35px #9449ff40}.branch-graph__node--remote{border-color:#60a5facc;box-shadow:0 15px 35px #0ea5e940}.branch-graph__node--merged{background:#2563eb40}.branch-graph__node--active{background:#0891b240}.branch-graph__node-label{font-weight:600;display:block}.branch-graph__node-meta{font-size:.75rem;color:var(--color-muted)}.branch-graph__tooltip{position:absolute;bottom:calc(100% + .5rem);left:0;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);padding:.75rem;width:min(260px,60vw);box-shadow:var(--shadow-card);opacity:0;pointer-events:none;transform:translateY(.4rem);transition:opacity .15s ease,transform .15s ease;z-index:5}.branch-graph__tooltip p{font-size:.8rem;color:var(--color-text)}.branch-graph__tooltip p+p{margin-top:.25rem;color:var(--color-muted)}.branch-graph__node:hover .branch-graph__tooltip,.branch-graph__node:focus-within .branch-graph__tooltip{opacity:1;transform:translateY(0)}@media(max-width:768px){.branch-graph__track{flex-direction:column;align-items:flex-start}.branch-graph__node:before{width:2px;height:24px;left:50%;top:-18px}.branch-graph__node-link{width:100%}}
@@ -0,0 +1,13 @@
1
+ <!doctype html>
2
+ <html lang="ja">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>gwt - Web UI</title>
7
+ <script type="module" crossorigin src="/assets/index-CqaYsI0z.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/assets/index-Dy3OxWpP.css">
9
+ </head>
10
+ <body>
11
+ <div id="root"></div>
12
+ </body>
13
+ </html>
@@ -0,0 +1,12 @@
1
+ export declare class CodexError extends Error {
2
+ cause?: unknown | undefined;
3
+ constructor(message: string, cause?: unknown | undefined);
4
+ }
5
+ export declare function launchCodexCLI(worktreePath: string, options?: {
6
+ mode?: "normal" | "continue" | "resume";
7
+ extraArgs?: string[];
8
+ bypassApprovals?: boolean;
9
+ envOverrides?: Record<string, string>;
10
+ }): Promise<void>;
11
+ export declare function isCodexAvailable(): Promise<boolean>;
12
+ //# sourceMappingURL=codex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../src/codex.ts"],"names":[],"mappings":"AA2BA,qBAAa,UAAW,SAAQ,KAAK;IAG1B,KAAK,CAAC,EAAE,OAAO;gBADtB,OAAO,EAAE,MAAM,EACR,KAAK,CAAC,EAAE,OAAO,YAAA;CAKzB;AAED,wBAAsB,cAAc,CAClC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE;IACP,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,GACL,OAAO,CAAC,IAAI,CAAC,CAiFf;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAUzD"}
package/dist/codex.js ADDED
@@ -0,0 +1,106 @@
1
+ import { execa } from "execa";
2
+ import chalk from "chalk";
3
+ import { platform } from "os";
4
+ import { existsSync } from "fs";
5
+ import { createChildStdio, getTerminalStreams } from "./utils/terminal.js";
6
+ const CODEX_CLI_PACKAGE = "@openai/codex@latest";
7
+ const DEFAULT_CODEX_ARGS = [
8
+ "--enable",
9
+ "web_search_request",
10
+ "--model=gpt-5.1-codex",
11
+ "--sandbox",
12
+ "workspace-write",
13
+ "-c",
14
+ "model_reasoning_effort=high",
15
+ "-c",
16
+ "model_reasoning_summaries=detailed",
17
+ "-c",
18
+ "sandbox_workspace_write.network_access=true",
19
+ "-c",
20
+ "shell_environment_policy.inherit=all",
21
+ "-c",
22
+ "shell_environment_policy.ignore_default_excludes=true",
23
+ "-c",
24
+ "shell_environment_policy.experimental_use_profile=true",
25
+ ];
26
+ export class CodexError extends Error {
27
+ cause;
28
+ constructor(message, cause) {
29
+ super(message);
30
+ this.cause = cause;
31
+ this.name = "CodexError";
32
+ }
33
+ }
34
+ export async function launchCodexCLI(worktreePath, options = {}) {
35
+ const terminal = getTerminalStreams();
36
+ try {
37
+ if (!existsSync(worktreePath)) {
38
+ throw new Error(`Worktree path does not exist: ${worktreePath}`);
39
+ }
40
+ console.log(chalk.blue("🚀 Launching Codex CLI..."));
41
+ console.log(chalk.gray(` Working directory: ${worktreePath}`));
42
+ const args = [];
43
+ switch (options.mode) {
44
+ case "continue":
45
+ args.push("resume", "--last");
46
+ console.log(chalk.cyan(" ⏭️ Resuming last Codex session"));
47
+ break;
48
+ case "resume":
49
+ args.push("resume");
50
+ console.log(chalk.cyan(" 🔄 Resume command"));
51
+ break;
52
+ case "normal":
53
+ default:
54
+ console.log(chalk.green(" ✨ Starting new session"));
55
+ break;
56
+ }
57
+ if (options.bypassApprovals) {
58
+ args.push("--yolo");
59
+ console.log(chalk.yellow(" ⚠️ Bypassing approvals and sandbox"));
60
+ }
61
+ if (options.extraArgs && options.extraArgs.length > 0) {
62
+ args.push(...options.extraArgs);
63
+ }
64
+ args.push(...DEFAULT_CODEX_ARGS);
65
+ terminal.exitRawMode();
66
+ const childStdio = createChildStdio();
67
+ const env = { ...process.env, ...(options.envOverrides ?? {}) };
68
+ try {
69
+ await execa("bunx", [CODEX_CLI_PACKAGE, ...args], {
70
+ cwd: worktreePath,
71
+ stdin: childStdio.stdin,
72
+ stdout: childStdio.stdout,
73
+ stderr: childStdio.stderr,
74
+ env,
75
+ });
76
+ }
77
+ finally {
78
+ childStdio.cleanup();
79
+ }
80
+ }
81
+ catch (error) {
82
+ const errorMessage = error.code === "ENOENT"
83
+ ? "bunx command not found. Please ensure Bun is installed so Codex CLI can run via bunx."
84
+ : `Failed to launch Codex CLI: ${error.message || "Unknown error"}`;
85
+ if (platform() === "win32") {
86
+ console.error(chalk.red("\n💡 Windows troubleshooting tips:"));
87
+ console.error(chalk.yellow(" 1. Confirm that Bun is installed and bunx is available"));
88
+ console.error(chalk.yellow(' 2. Run "bunx @openai/codex@latest -- --help" to verify the setup'));
89
+ console.error(chalk.yellow(" 3. Restart your terminal or IDE to refresh PATH"));
90
+ }
91
+ throw new CodexError(errorMessage, error);
92
+ }
93
+ }
94
+ export async function isCodexAvailable() {
95
+ try {
96
+ await execa("bunx", [CODEX_CLI_PACKAGE, "--help"]);
97
+ return true;
98
+ }
99
+ catch (error) {
100
+ if (error.code === "ENOENT") {
101
+ console.error(chalk.yellow("\n⚠️ bunx command not found"));
102
+ }
103
+ return false;
104
+ }
105
+ }
106
+ //# sourceMappingURL=codex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../src/codex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * ビルトインAIツール定義
3
+ *
4
+ * Claude Code と Codex CLI の CustomAITool 形式定義
5
+ */
6
+ import type { CustomAITool } from "../types/tools.js";
7
+ /**
8
+ * Claude Code のビルトイン定義
9
+ */
10
+ export declare const CLAUDE_CODE_TOOL: CustomAITool;
11
+ /**
12
+ * Codex CLI のビルトイン定義
13
+ */
14
+ export declare const CODEX_CLI_TOOL: CustomAITool;
15
+ /**
16
+ * すべてのビルトインツール
17
+ */
18
+ export declare const BUILTIN_TOOLS: CustomAITool[];
19
+ //# sourceMappingURL=builtin-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtin-tools.d.ts","sourceRoot":"","sources":["../../src/config/builtin-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,YAW9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,YAW5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,YAAY,EAAuC,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * ビルトインAIツール定義
3
+ *
4
+ * Claude Code と Codex CLI の CustomAITool 形式定義
5
+ */
6
+ /**
7
+ * Claude Code のビルトイン定義
8
+ */
9
+ export const CLAUDE_CODE_TOOL = {
10
+ id: "claude-code",
11
+ displayName: "Claude Code",
12
+ type: "bunx",
13
+ command: "@anthropic-ai/claude-code@latest",
14
+ modeArgs: {
15
+ normal: [],
16
+ continue: ["-c"],
17
+ resume: ["-r"],
18
+ },
19
+ permissionSkipArgs: ["--yes"],
20
+ };
21
+ /**
22
+ * Codex CLI のビルトイン定義
23
+ */
24
+ export const CODEX_CLI_TOOL = {
25
+ id: "codex-cli",
26
+ displayName: "Codex CLI",
27
+ type: "bunx",
28
+ command: "@openai/codex@latest",
29
+ defaultArgs: ["--auto-approve", "--verbose"],
30
+ modeArgs: {
31
+ normal: [],
32
+ continue: ["resume", "--last"],
33
+ resume: ["resume"],
34
+ },
35
+ };
36
+ /**
37
+ * すべてのビルトインツール
38
+ */
39
+ export const BUILTIN_TOOLS = [CLAUDE_CODE_TOOL, CODEX_CLI_TOOL];
40
+ //# sourceMappingURL=builtin-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtin-tools.js","sourceRoot":"","sources":["../../src/config/builtin-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAiB;IAC5C,EAAE,EAAE,aAAa;IACjB,WAAW,EAAE,aAAa;IAC1B,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,kCAAkC;IAC3C,QAAQ,EAAE;QACR,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,IAAI,CAAC;QAChB,MAAM,EAAE,CAAC,IAAI,CAAC;KACf;IACD,kBAAkB,EAAE,CAAC,OAAO,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAiB;IAC1C,EAAE,EAAE,WAAW;IACf,WAAW,EAAE,WAAW;IACxB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,sBAAsB;IAC/B,WAAW,EAAE,CAAC,gBAAgB,EAAE,WAAW,CAAC;IAC5C,QAAQ,EAAE;QACR,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAC9B,MAAM,EAAE,CAAC,QAAQ,CAAC;KACnB;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAmB,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * アプリケーション全体で使用する定数
3
+ */
4
+ export declare const BRANCH_TYPES: {
5
+ readonly FEATURE: "feature";
6
+ readonly HOTFIX: "hotfix";
7
+ readonly RELEASE: "release";
8
+ readonly MAIN: "main";
9
+ readonly DEVELOP: "develop";
10
+ readonly OTHER: "other";
11
+ };
12
+ export declare const BRANCH_PREFIXES: {
13
+ readonly FEATURE: "feature/";
14
+ readonly HOTFIX: "hotfix/";
15
+ readonly RELEASE: "release/";
16
+ };
17
+ export declare const MAIN_BRANCHES: readonly ["main", "master"];
18
+ export declare const DEVELOP_BRANCHES: readonly ["develop", "dev"];
19
+ export declare const DISPLAY_CONFIG: {
20
+ readonly MAX_BRANCH_NAME_LENGTH: 50;
21
+ readonly TABLE_PADDING: 2;
22
+ readonly CHANGES_COLUMN_WIDTH: 10;
23
+ };
24
+ export declare const PROMPT_CONFIG: {
25
+ readonly PAGE_SIZE: 15;
26
+ readonly SEARCH_ENABLED: true;
27
+ };
28
+ export declare const GIT_CONFIG: {
29
+ readonly DEFAULT_BASE_BRANCH: "main";
30
+ readonly FETCH_TIMEOUT: 30000;
31
+ readonly PUSH_RETRY_COUNT: 3;
32
+ };
33
+ export declare const GITHUB_CONFIG: {
34
+ readonly PR_FETCH_LIMIT: 100;
35
+ readonly DEBUG_ENV_VAR: "DEBUG_CLEANUP";
36
+ };
37
+ export declare const MESSAGE_KEYS: {
38
+ readonly ERROR: {
39
+ readonly NOT_GIT_REPO: "error.not_git_repo";
40
+ readonly GIT_COMMAND_FAILED: "error.git_command_failed";
41
+ readonly WORKTREE_CREATE_FAILED: "error.worktree_create_failed";
42
+ readonly GITHUB_CLI_NOT_AVAILABLE: "error.github_cli_not_available";
43
+ readonly GITHUB_AUTH_REQUIRED: "error.github_auth_required";
44
+ };
45
+ readonly SUCCESS: {
46
+ readonly WORKTREE_CREATED: "success.worktree_created";
47
+ readonly BRANCH_CREATED: "success.branch_created";
48
+ readonly CHANGES_COMMITTED: "success.changes_committed";
49
+ readonly CHANGES_PUSHED: "success.changes_pushed";
50
+ readonly CLEANUP_COMPLETED: "success.cleanup_completed";
51
+ };
52
+ readonly INFO: {
53
+ readonly LOADING: "info.loading";
54
+ readonly PROCESSING: "info.processing";
55
+ readonly FETCHING_DATA: "info.fetching_data";
56
+ };
57
+ };
58
+ export declare const MESSAGES_EN: {
59
+ readonly "error.not_git_repo": "This directory is not a Git repository";
60
+ readonly "error.git_command_failed": "Failed to run the Git command";
61
+ readonly "error.worktree_create_failed": "Failed to create the worktree";
62
+ readonly "error.github_cli_not_available": "GitHub CLI is not installed";
63
+ readonly "error.github_auth_required": "GitHub authentication is required. Please run 'gh auth login'";
64
+ readonly "success.worktree_created": "Worktree created";
65
+ readonly "success.branch_created": "Branch created";
66
+ readonly "success.changes_committed": "Changes committed";
67
+ readonly "success.changes_pushed": "Changes pushed";
68
+ readonly "success.cleanup_completed": "Cleanup completed";
69
+ readonly "info.loading": "Loading...";
70
+ readonly "info.processing": "Processing...";
71
+ readonly "info.fetching_data": "Fetching data...";
72
+ };
73
+ export declare function getMessage(key: string): string;
74
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,YAAY;;;;;;;CAOf,CAAC;AAGX,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAGX,eAAO,MAAM,aAAa,6BAA8B,CAAC;AACzD,eAAO,MAAM,gBAAgB,6BAA8B,CAAC;AAG5D,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AAGX,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AAGX,eAAO,MAAM,UAAU;;;;CAIb,CAAC;AAGX,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AAGX,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;CAuBf,CAAC;AAGX,eAAO,MAAM,WAAW;;;;;;;;;;;;;;CAed,CAAC;AAGX,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG9C"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * アプリケーション全体で使用する定数
3
+ */
4
+ // ブランチタイプ
5
+ export const BRANCH_TYPES = {
6
+ FEATURE: "feature",
7
+ HOTFIX: "hotfix",
8
+ RELEASE: "release",
9
+ MAIN: "main",
10
+ DEVELOP: "develop",
11
+ OTHER: "other",
12
+ };
13
+ // ブランチプレフィックス
14
+ export const BRANCH_PREFIXES = {
15
+ FEATURE: "feature/",
16
+ HOTFIX: "hotfix/",
17
+ RELEASE: "release/",
18
+ };
19
+ // メインブランチ名
20
+ export const MAIN_BRANCHES = ["main", "master"];
21
+ export const DEVELOP_BRANCHES = ["develop", "dev"];
22
+ // 表示設定
23
+ export const DISPLAY_CONFIG = {
24
+ MAX_BRANCH_NAME_LENGTH: 50,
25
+ TABLE_PADDING: 2,
26
+ CHANGES_COLUMN_WIDTH: 10,
27
+ };
28
+ // プロンプト設定
29
+ export const PROMPT_CONFIG = {
30
+ PAGE_SIZE: 15,
31
+ SEARCH_ENABLED: true,
32
+ };
33
+ // Git設定
34
+ export const GIT_CONFIG = {
35
+ DEFAULT_BASE_BRANCH: "main",
36
+ FETCH_TIMEOUT: 30000, // 30秒
37
+ PUSH_RETRY_COUNT: 3,
38
+ };
39
+ // GitHub設定
40
+ export const GITHUB_CONFIG = {
41
+ PR_FETCH_LIMIT: 100,
42
+ DEBUG_ENV_VAR: "DEBUG_CLEANUP",
43
+ };
44
+ // メッセージキー(国際化対応の基盤)
45
+ export const MESSAGE_KEYS = {
46
+ // エラーメッセージ
47
+ ERROR: {
48
+ NOT_GIT_REPO: "error.not_git_repo",
49
+ GIT_COMMAND_FAILED: "error.git_command_failed",
50
+ WORKTREE_CREATE_FAILED: "error.worktree_create_failed",
51
+ GITHUB_CLI_NOT_AVAILABLE: "error.github_cli_not_available",
52
+ GITHUB_AUTH_REQUIRED: "error.github_auth_required",
53
+ },
54
+ // 成功メッセージ
55
+ SUCCESS: {
56
+ WORKTREE_CREATED: "success.worktree_created",
57
+ BRANCH_CREATED: "success.branch_created",
58
+ CHANGES_COMMITTED: "success.changes_committed",
59
+ CHANGES_PUSHED: "success.changes_pushed",
60
+ CLEANUP_COMPLETED: "success.cleanup_completed",
61
+ },
62
+ // 情報メッセージ
63
+ INFO: {
64
+ LOADING: "info.loading",
65
+ PROCESSING: "info.processing",
66
+ FETCHING_DATA: "info.fetching_data",
67
+ },
68
+ };
69
+ // English messages (default)
70
+ export const MESSAGES_EN = {
71
+ [MESSAGE_KEYS.ERROR.NOT_GIT_REPO]: "This directory is not a Git repository",
72
+ [MESSAGE_KEYS.ERROR.GIT_COMMAND_FAILED]: "Failed to run the Git command",
73
+ [MESSAGE_KEYS.ERROR.WORKTREE_CREATE_FAILED]: "Failed to create the worktree",
74
+ [MESSAGE_KEYS.ERROR.GITHUB_CLI_NOT_AVAILABLE]: "GitHub CLI is not installed",
75
+ [MESSAGE_KEYS.ERROR.GITHUB_AUTH_REQUIRED]: "GitHub authentication is required. Please run 'gh auth login'",
76
+ [MESSAGE_KEYS.SUCCESS.WORKTREE_CREATED]: "Worktree created",
77
+ [MESSAGE_KEYS.SUCCESS.BRANCH_CREATED]: "Branch created",
78
+ [MESSAGE_KEYS.SUCCESS.CHANGES_COMMITTED]: "Changes committed",
79
+ [MESSAGE_KEYS.SUCCESS.CHANGES_PUSHED]: "Changes pushed",
80
+ [MESSAGE_KEYS.SUCCESS.CLEANUP_COMPLETED]: "Cleanup completed",
81
+ [MESSAGE_KEYS.INFO.LOADING]: "Loading...",
82
+ [MESSAGE_KEYS.INFO.PROCESSING]: "Processing...",
83
+ [MESSAGE_KEYS.INFO.FETCHING_DATA]: "Fetching data...",
84
+ };
85
+ // Message lookup helper (multi-language ready)
86
+ export function getMessage(key) {
87
+ // Currently only English is provided
88
+ return MESSAGES_EN[key] || key;
89
+ }
90
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/config/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { EnvironmentHistoryEntry } from "../types/api.js";
2
+ export declare function loadEnvHistory(): Promise<EnvironmentHistoryEntry[]>;
3
+ export declare function recordEnvHistory(entries: EnvironmentHistoryEntry[]): Promise<void>;
4
+ //# sourceMappingURL=env-history.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-history.d.ts","sourceRoot":"","sources":["../../src/config/env-history.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAU/D,wBAAsB,cAAc,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAWzE;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,uBAAuB,EAAE,GACjC,OAAO,CAAC,IAAI,CAAC,CAiBf"}
@@ -0,0 +1,34 @@
1
+ import { mkdir, readFile, writeFile } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { CONFIG_DIR } from "./tools.js";
4
+ const HISTORY_PATH = path.join(CONFIG_DIR, "env-history.json");
5
+ const HISTORY_LIMIT = 200;
6
+ export async function loadEnvHistory() {
7
+ try {
8
+ const raw = await readFile(HISTORY_PATH, "utf8");
9
+ const parsed = JSON.parse(raw);
10
+ return parsed.entries ?? [];
11
+ }
12
+ catch (error) {
13
+ if (error instanceof Error && "code" in error && error.code === "ENOENT") {
14
+ return [];
15
+ }
16
+ throw error;
17
+ }
18
+ }
19
+ export async function recordEnvHistory(entries) {
20
+ if (!entries.length) {
21
+ return;
22
+ }
23
+ const existing = await loadEnvHistory();
24
+ const updated = [...existing, ...entries];
25
+ const trimmed = updated.length > HISTORY_LIMIT
26
+ ? updated.slice(updated.length - HISTORY_LIMIT)
27
+ : updated;
28
+ await mkdir(CONFIG_DIR, { recursive: true });
29
+ const payload = { entries: trimmed };
30
+ await writeFile(HISTORY_PATH, JSON.stringify(payload, null, 2), {
31
+ mode: 0o600,
32
+ });
33
+ }
34
+ //# sourceMappingURL=env-history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-history.js","sourceRoot":"","sources":["../../src/config/env-history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;AAC/D,MAAM,aAAa,GAAG,GAAG,CAAC;AAM1B,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAgB,CAAC;QAC9C,OAAO,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzE,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAkC;IAElC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,cAAc,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC;IAC1C,MAAM,OAAO,GACX,OAAO,CAAC,MAAM,GAAG,aAAa;QAC5B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC;QAC/C,CAAC,CAAC,OAAO,CAAC;IAEd,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAClD,MAAM,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;QAC9D,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,24 @@
1
+ export interface AppConfig {
2
+ defaultBaseBranch: string;
3
+ skipPermissions: boolean;
4
+ enableGitHubIntegration: boolean;
5
+ enableDebugMode: boolean;
6
+ worktreeNamingPattern: string;
7
+ }
8
+ export interface SessionData {
9
+ lastWorktreePath: string | null;
10
+ lastBranch: string | null;
11
+ lastUsedTool?: string;
12
+ timestamp: number;
13
+ repositoryRoot: string;
14
+ }
15
+ /**
16
+ * 設定ファイルを読み込む
17
+ */
18
+ export declare function loadConfig(): Promise<AppConfig>;
19
+ export declare function getConfig(): Promise<AppConfig>;
20
+ export declare function resetConfigCache(): void;
21
+ export declare function saveSession(sessionData: SessionData): Promise<void>;
22
+ export declare function loadSession(repositoryRoot: string): Promise<SessionData | null>;
23
+ export declare function getAllSessions(): Promise<SessionData[]>;
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,uBAAuB,EAAE,OAAO,CAAC;IACjC,eAAe,EAAE,OAAO,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB;AAUD;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC,CAqCrD;AAOD,wBAAsB,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,CAKpD;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAmBD,wBAAsB,WAAW,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBzE;AAED,wBAAsB,WAAW,CAC/B,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAyB7B;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAmD7D"}