@akiojin/gwt 4.11.6 → 4.12.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 (199) hide show
  1. package/bin/gwt.js +36 -10
  2. package/dist/claude.d.ts +1 -0
  3. package/dist/claude.d.ts.map +1 -1
  4. package/dist/claude.js +81 -24
  5. package/dist/claude.js.map +1 -1
  6. package/dist/cli/ui/App.solid.d.ts.map +1 -1
  7. package/dist/cli/ui/App.solid.js +280 -50
  8. package/dist/cli/ui/App.solid.js.map +1 -1
  9. package/dist/cli/ui/components/solid/QuickStartStep.d.ts.map +1 -1
  10. package/dist/cli/ui/components/solid/QuickStartStep.js +35 -22
  11. package/dist/cli/ui/components/solid/QuickStartStep.js.map +1 -1
  12. package/dist/cli/ui/components/solid/SelectInput.d.ts.map +1 -1
  13. package/dist/cli/ui/components/solid/SelectInput.js +2 -1
  14. package/dist/cli/ui/components/solid/SelectInput.js.map +1 -1
  15. package/dist/cli/ui/components/solid/WizardController.d.ts.map +1 -1
  16. package/dist/cli/ui/components/solid/WizardController.js +67 -13
  17. package/dist/cli/ui/components/solid/WizardController.js.map +1 -1
  18. package/dist/cli/ui/components/solid/WizardSteps.d.ts +5 -0
  19. package/dist/cli/ui/components/solid/WizardSteps.d.ts.map +1 -1
  20. package/dist/cli/ui/components/solid/WizardSteps.js +50 -70
  21. package/dist/cli/ui/components/solid/WizardSteps.js.map +1 -1
  22. package/dist/cli/ui/core/theme.d.ts +9 -0
  23. package/dist/cli/ui/core/theme.d.ts.map +1 -1
  24. package/dist/cli/ui/core/theme.js +21 -0
  25. package/dist/cli/ui/core/theme.js.map +1 -1
  26. package/dist/cli/ui/screens/solid/BranchListScreen.d.ts +9 -2
  27. package/dist/cli/ui/screens/solid/BranchListScreen.d.ts.map +1 -1
  28. package/dist/cli/ui/screens/solid/BranchListScreen.js +101 -28
  29. package/dist/cli/ui/screens/solid/BranchListScreen.js.map +1 -1
  30. package/dist/cli/ui/screens/solid/ConfirmScreen.d.ts +2 -1
  31. package/dist/cli/ui/screens/solid/ConfirmScreen.d.ts.map +1 -1
  32. package/dist/cli/ui/screens/solid/ConfirmScreen.js +11 -3
  33. package/dist/cli/ui/screens/solid/ConfirmScreen.js.map +1 -1
  34. package/dist/cli/ui/screens/solid/EnvironmentScreen.d.ts.map +1 -1
  35. package/dist/cli/ui/screens/solid/EnvironmentScreen.js +9 -10
  36. package/dist/cli/ui/screens/solid/EnvironmentScreen.js.map +1 -1
  37. package/dist/cli/ui/screens/solid/LogScreen.d.ts +7 -1
  38. package/dist/cli/ui/screens/solid/LogScreen.d.ts.map +1 -1
  39. package/dist/cli/ui/screens/solid/LogScreen.js +254 -16
  40. package/dist/cli/ui/screens/solid/LogScreen.js.map +1 -1
  41. package/dist/cli/ui/screens/solid/ProfileEnvScreen.d.ts.map +1 -1
  42. package/dist/cli/ui/screens/solid/ProfileEnvScreen.js +8 -5
  43. package/dist/cli/ui/screens/solid/ProfileEnvScreen.js.map +1 -1
  44. package/dist/cli/ui/screens/solid/SelectorScreen.d.ts.map +1 -1
  45. package/dist/cli/ui/screens/solid/SelectorScreen.js +12 -4
  46. package/dist/cli/ui/screens/solid/SelectorScreen.js.map +1 -1
  47. package/dist/cli/ui/types.d.ts +1 -0
  48. package/dist/cli/ui/types.d.ts.map +1 -1
  49. package/dist/cli/ui/utils/branchFormatter.d.ts +1 -0
  50. package/dist/cli/ui/utils/branchFormatter.d.ts.map +1 -1
  51. package/dist/cli/ui/utils/branchFormatter.js +29 -7
  52. package/dist/cli/ui/utils/branchFormatter.js.map +1 -1
  53. package/dist/cli/ui/utils/continueSession.d.ts +14 -0
  54. package/dist/cli/ui/utils/continueSession.d.ts.map +1 -1
  55. package/dist/cli/ui/utils/continueSession.js +61 -3
  56. package/dist/cli/ui/utils/continueSession.js.map +1 -1
  57. package/dist/cli/ui/utils/installedVersionCache.d.ts +33 -0
  58. package/dist/cli/ui/utils/installedVersionCache.d.ts.map +1 -0
  59. package/dist/cli/ui/utils/installedVersionCache.js +59 -0
  60. package/dist/cli/ui/utils/installedVersionCache.js.map +1 -0
  61. package/dist/cli/ui/utils/modelOptions.d.ts.map +1 -1
  62. package/dist/cli/ui/utils/modelOptions.js +16 -0
  63. package/dist/cli/ui/utils/modelOptions.js.map +1 -1
  64. package/dist/cli/ui/utils/versionCache.d.ts +37 -0
  65. package/dist/cli/ui/utils/versionCache.d.ts.map +1 -0
  66. package/dist/cli/ui/utils/versionCache.js +70 -0
  67. package/dist/cli/ui/utils/versionCache.js.map +1 -0
  68. package/dist/cli/ui/utils/versionFetcher.d.ts +41 -0
  69. package/dist/cli/ui/utils/versionFetcher.d.ts.map +1 -0
  70. package/dist/cli/ui/utils/versionFetcher.js +89 -0
  71. package/dist/cli/ui/utils/versionFetcher.js.map +1 -0
  72. package/dist/codex.d.ts +1 -0
  73. package/dist/codex.d.ts.map +1 -1
  74. package/dist/codex.js +95 -25
  75. package/dist/codex.js.map +1 -1
  76. package/dist/config/index.d.ts.map +1 -1
  77. package/dist/config/index.js +10 -1
  78. package/dist/config/index.js.map +1 -1
  79. package/dist/gemini.d.ts +1 -0
  80. package/dist/gemini.d.ts.map +1 -1
  81. package/dist/gemini.js +36 -3
  82. package/dist/gemini.js.map +1 -1
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +35 -2
  85. package/dist/index.js.map +1 -1
  86. package/dist/launcher.d.ts.map +1 -1
  87. package/dist/launcher.js +43 -8
  88. package/dist/launcher.js.map +1 -1
  89. package/dist/logging/agentOutput.d.ts +21 -0
  90. package/dist/logging/agentOutput.d.ts.map +1 -0
  91. package/dist/logging/agentOutput.js +164 -0
  92. package/dist/logging/agentOutput.js.map +1 -0
  93. package/dist/logging/formatter.d.ts.map +1 -1
  94. package/dist/logging/formatter.js +18 -4
  95. package/dist/logging/formatter.js.map +1 -1
  96. package/dist/logging/logger.d.ts.map +1 -1
  97. package/dist/logging/logger.js +2 -0
  98. package/dist/logging/logger.js.map +1 -1
  99. package/dist/logging/reader.d.ts +22 -0
  100. package/dist/logging/reader.d.ts.map +1 -1
  101. package/dist/logging/reader.js +116 -1
  102. package/dist/logging/reader.js.map +1 -1
  103. package/dist/opentui/index.solid.js +2575 -888
  104. package/dist/services/codingAgentResolver.d.ts.map +1 -1
  105. package/dist/services/codingAgentResolver.js +8 -6
  106. package/dist/services/codingAgentResolver.js.map +1 -1
  107. package/dist/services/dependency-installer.js +2 -2
  108. package/dist/services/dependency-installer.js.map +1 -1
  109. package/dist/shared/codingAgentConstants.d.ts +3 -0
  110. package/dist/shared/codingAgentConstants.d.ts.map +1 -1
  111. package/dist/shared/codingAgentConstants.js +66 -0
  112. package/dist/shared/codingAgentConstants.js.map +1 -1
  113. package/dist/utils/bun-runtime.d.ts +12 -0
  114. package/dist/utils/bun-runtime.d.ts.map +1 -0
  115. package/dist/utils/bun-runtime.js +13 -0
  116. package/dist/utils/bun-runtime.js.map +1 -0
  117. package/dist/utils/session/common.d.ts +8 -0
  118. package/dist/utils/session/common.d.ts.map +1 -1
  119. package/dist/utils/session/common.js +22 -0
  120. package/dist/utils/session/common.js.map +1 -1
  121. package/dist/utils/session/parsers/claude.d.ts +10 -4
  122. package/dist/utils/session/parsers/claude.d.ts.map +1 -1
  123. package/dist/utils/session/parsers/claude.js +64 -18
  124. package/dist/utils/session/parsers/claude.js.map +1 -1
  125. package/dist/utils/session/parsers/codex.d.ts.map +1 -1
  126. package/dist/utils/session/parsers/codex.js +47 -28
  127. package/dist/utils/session/parsers/codex.js.map +1 -1
  128. package/dist/utils/session/parsers/gemini.d.ts.map +1 -1
  129. package/dist/utils/session/parsers/gemini.js +43 -6
  130. package/dist/utils/session/parsers/gemini.js.map +1 -1
  131. package/dist/utils/session/parsers/opencode.d.ts.map +1 -1
  132. package/dist/utils/session/parsers/opencode.js +43 -6
  133. package/dist/utils/session/parsers/opencode.js.map +1 -1
  134. package/dist/utils/session/types.d.ts +7 -0
  135. package/dist/utils/session/types.d.ts.map +1 -1
  136. package/dist/web/client/src/components/ui/alert.d.ts +1 -1
  137. package/dist/worktree.d.ts +4 -1
  138. package/dist/worktree.d.ts.map +1 -1
  139. package/dist/worktree.js +21 -15
  140. package/dist/worktree.js.map +1 -1
  141. package/package.json +2 -1
  142. package/src/claude.ts +99 -28
  143. package/src/cli/ui/App.solid.tsx +373 -51
  144. package/src/cli/ui/__tests__/solid/AppSolid.cleanup.test.tsx +921 -1
  145. package/src/cli/ui/__tests__/solid/BranchListScreen.test.tsx +105 -5
  146. package/src/cli/ui/__tests__/solid/ConfirmScreen.test.tsx +77 -0
  147. package/src/cli/ui/__tests__/solid/LogScreen.test.tsx +351 -0
  148. package/src/cli/ui/__tests__/solid/components/QuickStartStep.test.tsx +73 -2
  149. package/src/cli/ui/__tests__/solid/components/WizardController.test.tsx +71 -0
  150. package/src/cli/ui/__tests__/solid/components/WizardSteps.test.tsx +95 -2
  151. package/src/cli/ui/__tests__/utils/branchFormatter.test.ts +72 -45
  152. package/src/cli/ui/components/solid/QuickStartStep.tsx +35 -23
  153. package/src/cli/ui/components/solid/SearchInput.tsx +1 -1
  154. package/src/cli/ui/components/solid/SelectInput.tsx +4 -0
  155. package/src/cli/ui/components/solid/WizardController.tsx +85 -12
  156. package/src/cli/ui/components/solid/WizardSteps.tsx +78 -90
  157. package/src/cli/ui/core/theme.ts +32 -0
  158. package/src/cli/ui/hooks/solid/useAsyncOperation.ts +8 -6
  159. package/src/cli/ui/hooks/solid/useGitOperations.ts +6 -5
  160. package/src/cli/ui/screens/solid/BranchListScreen.tsx +135 -32
  161. package/src/cli/ui/screens/solid/ConfirmScreen.tsx +20 -8
  162. package/src/cli/ui/screens/solid/EnvironmentScreen.tsx +22 -20
  163. package/src/cli/ui/screens/solid/LogScreen.tsx +364 -35
  164. package/src/cli/ui/screens/solid/ProfileEnvScreen.tsx +19 -15
  165. package/src/cli/ui/screens/solid/SelectorScreen.tsx +25 -14
  166. package/src/cli/ui/screens/solid/SettingsScreen.tsx +5 -3
  167. package/src/cli/ui/types.ts +1 -0
  168. package/src/cli/ui/utils/__tests__/branchFormatter.test.ts +53 -6
  169. package/src/cli/ui/utils/__tests__/installedVersionCache.test.ts +46 -0
  170. package/src/cli/ui/utils/branchFormatter.ts +35 -7
  171. package/src/cli/ui/utils/continueSession.ts +90 -3
  172. package/src/cli/ui/utils/installedVersionCache.ts +84 -0
  173. package/src/cli/ui/utils/modelOptions.test.ts +6 -0
  174. package/src/cli/ui/utils/modelOptions.ts +16 -0
  175. package/src/cli/ui/utils/versionCache.ts +93 -0
  176. package/src/cli/ui/utils/versionFetcher.ts +120 -0
  177. package/src/codex.ts +124 -26
  178. package/src/config/__tests__/saveSession.test.ts +2 -2
  179. package/src/config/index.ts +11 -1
  180. package/src/gemini.ts +50 -4
  181. package/src/index.test.ts +16 -10
  182. package/src/index.ts +41 -1
  183. package/src/launcher.ts +49 -8
  184. package/src/logging/agentOutput.ts +216 -0
  185. package/src/logging/formatter.ts +23 -4
  186. package/src/logging/logger.ts +2 -0
  187. package/src/logging/reader.ts +165 -1
  188. package/src/services/__tests__/BatchMergeService.test.ts +34 -14
  189. package/src/services/codingAgentResolver.ts +12 -5
  190. package/src/services/dependency-installer.ts +2 -2
  191. package/src/shared/codingAgentConstants.ts +73 -0
  192. package/src/utils/bun-runtime.ts +29 -0
  193. package/src/utils/session/common.ts +28 -0
  194. package/src/utils/session/parsers/claude.ts +79 -29
  195. package/src/utils/session/parsers/codex.ts +49 -26
  196. package/src/utils/session/parsers/gemini.ts +46 -5
  197. package/src/utils/session/parsers/opencode.ts +46 -5
  198. package/src/utils/session/types.ts +4 -0
  199. package/src/worktree.ts +28 -15
@@ -1 +1 @@
1
- {"version":3,"file":"branchFormatter.js","sourceRoot":"","sources":["../../../../src/cli/ui/utils/branchFormatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"branchFormatter.js","sourceRoot":"","sources":["../../../../src/cli/ui/utils/branchFormatter.ts"],"names":[],"mappings":"AAWA,SAAS,YAAY,CAAC,MAAc,EAAE,SAAkB;IACtD,IAAI,MAAM,KAAK,aAAa;QAAE,OAAO,QAAQ,CAAC;IAC9C,IAAI,MAAM,KAAK,WAAW;QAAE,OAAO,OAAO,CAAC;IAC3C,IAAI,MAAM,KAAK,YAAY;QAAE,OAAO,QAAQ,CAAC;IAC7C,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAChC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,yBAAyB,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;IACnE,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;IAChB,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,KAAK;CACd,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,CAAC,IAAU,EAAU,EAAE;IACtD,MAAM,KAAK,GAAG,yBAAyB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,CAAC,IAAkC,EAAE,EAAE,CACjD,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,KAAK,CAAC;IAClD,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3B,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE7B,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChD,OAAO,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IACnC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,eAAe,CAAC,EAAU;IACjC,OAAO,mBAAmB,CAAC,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAA0C;IAE1C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7D,8BAA8B;IAC9B,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,MAAM,gBAAgB,GAAG,GAAG,QAAQ,GAAG,aAAa,EAAE,CAAC;IACvD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5E,MAAM,KAAK,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACjC,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAAkB;IAC3D,MAAM,eAAe,GAAG,MAAM,CAAC,qBAAqB,IAAI,CAAC,CAAC;IAC1D,iEAAiE;IACjE,MAAM,gBAAgB,GAAG,MAAM,CAAC,aAAa,EAAE,SAAS;QACtD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC;QACnD,CAAC,CAAC,CAAC,CAAC;IACN,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAkB,EAClB,UAAyB,EAAE;IAE3B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC;IAC/C,IAAI,cAA0C,CAAC;IAC/C,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,cAAc;YACZ,MAAM,CAAC,QAAQ,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC;IACvE,CAAC;IAED,sCAAsC;IACtC,qBAAqB;IACrB,0BAA0B;IAC1B,IAAI,WAAmB,CAAC;IACxB,IAAI,UAAU,GAAkB,IAAI,CAAC;IAErC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,+BAA+B;QAC/B,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa;QACxC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,qBAAqB;QACrB,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC;IAC1B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,uCAAuC;IACvC,IAAI,UAAoC,CAAC;IACzC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,UAAU,GAAG,aAAa,CAAC;IAC7B,CAAC;SAAM,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;QACxC,UAAU,GAAG,aAAa,CAAC;IAC7B,CAAC;SAAM,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAC7B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;QACtD,IAAI,QAAQ,EAAE,CAAC;YACb,UAAU,GAAG,YAAY,CAAC;QAC5B,CAAC;aAAM,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,UAAU,GAAG,UAAU,CAAC;QAC1B,CAAC;aAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACrB,UAAU,GAAG,OAAO,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,QAAQ,CAAC;QACxB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,aAAa,CAAC;IAC7B,CAAC;IAED,OAAO;QACL,sCAAsC;QACtC,GAAG,MAAM;QACT,yBAAyB;QACzB,KAAK;QACL,cAAc;QACd,UAAU;QACV,KAAK;QACL,KAAK,EAAE,MAAM,CAAC,IAAI;QAClB,kBAAkB,EAAE,uBAAuB,CAAC,MAAM,CAAC,aAAa,CAAC;QACjE,UAAU;QACV,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,UAAU,IAAI,SAAS;KACpC,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,YAAY,CACnB,QAAsB,EACtB,WAAsC;IAEtC,8BAA8B;IAC9B,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC;IAEpE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACjC,wCAAwC;QACxC,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS;YAAE,OAAO,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS;YAAE,OAAO,CAAC,CAAC;QAE1C,oCAAoC;QACpC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM;YAAE,OAAO,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM;YAAE,OAAO,CAAC,CAAC;QAEjE,4DAA4D;QAC5D,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS;gBAAE,OAAO,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS;gBAAE,OAAO,CAAC,CAAC;QACzE,CAAC;QAED,4CAA4C;QAC5C,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7D,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7D,IAAI,YAAY,IAAI,CAAC,YAAY;YAAE,OAAO,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,IAAI,YAAY;YAAE,OAAO,CAAC,CAAC;QAE5C,iEAAiE;QACjE,yDAAyD;QACzD,MAAM,OAAO,GAAG,0BAA0B,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,0BAA0B,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,OAAO,OAAO,GAAG,OAAO,CAAC;QAC3B,CAAC;QAED,qDAAqD;QACrD,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;QACpC,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;QACpC,IAAI,QAAQ,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,IAAI,QAAQ;YAAE,OAAO,CAAC,CAAC;QAEpC,gCAAgC;QAChC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAsB,EACtB,cAAyC,IAAI,GAAG,EAAE;IAElD,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC3D,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;AAClE,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import type { SessionData, ToolSessionEntry } from "../../../config/index.js";
2
+ import { findLatestClaudeSession, findLatestCodexSession, findLatestGeminiSession, findLatestOpenCodeSession } from "../../../utils/session/index.js";
3
+ import { listAllWorktrees } from "../../../worktree.js";
2
4
  export interface ContinueSessionContext {
3
5
  history: ToolSessionEntry[];
4
6
  sessionData: SessionData | null;
@@ -19,4 +21,16 @@ export interface ContinueSessionContext {
19
21
  export declare function resolveContinueSessionId(context: ContinueSessionContext): Promise<string | null>;
20
22
  export declare function findLatestBranchSession(history: ToolSessionEntry[], branch: string, toolId?: string | null): ToolSessionEntry | null;
21
23
  export declare function findLatestBranchSessionsByTool(history: ToolSessionEntry[], branch: string, worktreePath?: string | null): ToolSessionEntry[];
24
+ export interface QuickStartRefreshContext {
25
+ branch: string;
26
+ worktreePath?: string | null;
27
+ }
28
+ export interface QuickStartSessionLookups {
29
+ findLatestCodexSession?: typeof findLatestCodexSession;
30
+ findLatestClaudeSession?: typeof findLatestClaudeSession;
31
+ findLatestGeminiSession?: typeof findLatestGeminiSession;
32
+ findLatestOpenCodeSession?: typeof findLatestOpenCodeSession;
33
+ listAllWorktrees?: typeof listAllWorktrees;
34
+ }
35
+ export declare function refreshQuickStartEntries(entries: ToolSessionEntry[], context: QuickStartRefreshContext, lookups?: QuickStartSessionLookups): Promise<ToolSessionEntry[]>;
22
36
  //# sourceMappingURL=continueSession.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"continueSession.d.ts","sourceRoot":"","sources":["../../../../src/cli/ui/utils/continueSession.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAO9E,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE;QAC/B,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;KACtB,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC9B;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAwCxB;AAuBD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,gBAAgB,EAAE,EAC3B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GACrB,gBAAgB,GAAG,IAAI,CAoBzB;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,gBAAgB,EAAE,EAC3B,MAAM,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAC3B,gBAAgB,EAAE,CAuBpB"}
1
+ {"version":3,"file":"continueSession.d.ts","sourceRoot":"","sources":["../../../../src/cli/ui/utils/continueSession.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE9E,OAAO,EACL,uBAAuB,EAEvB,sBAAsB,EAEtB,uBAAuB,EAEvB,yBAAyB,EAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE;QAC/B,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;KACtB,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC9B;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAwCxB;AAuBD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,gBAAgB,EAAE,EAC3B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GACrB,gBAAgB,GAAG,IAAI,CAoBzB;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,gBAAgB,EAAE,EAC3B,MAAM,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAC3B,gBAAgB,EAAE,CAuBpB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,wBAAwB;IACvC,sBAAsB,CAAC,EAAE,OAAO,sBAAsB,CAAC;IACvD,uBAAuB,CAAC,EAAE,OAAO,uBAAuB,CAAC;IACzD,uBAAuB,CAAC,EAAE,OAAO,uBAAuB,CAAC;IACzD,yBAAyB,CAAC,EAAE,OAAO,yBAAyB,CAAC;IAC7D,gBAAgB,CAAC,EAAE,OAAO,gBAAgB,CAAC;CAC5C;AAED,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,gBAAgB,EAAE,EAC3B,OAAO,EAAE,wBAAwB,EACjC,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA8D7B"}
@@ -1,4 +1,5 @@
1
- import { findLatestClaudeSessionId, findLatestCodexSessionId, findLatestGeminiSessionId, } from "../../../utils/session.js";
1
+ import { findLatestClaudeSession, findLatestClaudeSessionId, findLatestCodexSession, findLatestCodexSessionId, findLatestGeminiSession, findLatestGeminiSessionId, findLatestOpenCodeSession, } from "../../../utils/session/index.js";
2
+ import { listAllWorktrees } from "../../../worktree.js";
2
3
  /**
3
4
  * 指定されたブランチ/ツールに紐づく最新セッションIDを解決する。
4
5
  * 1. 履歴(history)の最新マッチを優先
@@ -77,10 +78,11 @@ export function findLatestBranchSessionsByTool(history, branch, worktreePath) {
77
78
  const byBranch = history.filter((entry) => entry && entry.branch === branch);
78
79
  if (!byBranch.length)
79
80
  return [];
80
- const scoped = worktreePath
81
+ const source = worktreePath
81
82
  ? byBranch.filter((entry) => entry.worktreePath === worktreePath)
82
83
  : byBranch;
83
- const source = scoped.length ? scoped : byBranch;
84
+ if (!source.length)
85
+ return [];
84
86
  const latestByTool = new Map();
85
87
  for (const entry of source) {
86
88
  if (!entry.toolId)
@@ -94,4 +96,60 @@ export function findLatestBranchSessionsByTool(history, branch, worktreePath) {
94
96
  }
95
97
  return Array.from(latestByTool.values()).sort((a, b) => (b.timestamp ?? 0) - (a.timestamp ?? 0));
96
98
  }
99
+ export async function refreshQuickStartEntries(entries, context, lookups = {}) {
100
+ if (!entries.length)
101
+ return entries;
102
+ const worktreePath = context.worktreePath ?? null;
103
+ if (!worktreePath)
104
+ return entries;
105
+ const lookupWorktrees = lookups.listAllWorktrees ?? listAllWorktrees;
106
+ let resolvedWorktrees = null;
107
+ try {
108
+ const allWorktrees = await lookupWorktrees();
109
+ resolvedWorktrees = allWorktrees
110
+ .filter((entry) => entry?.path && entry?.branch)
111
+ .map((entry) => ({ path: entry.path, branch: entry.branch }));
112
+ }
113
+ catch {
114
+ resolvedWorktrees = null;
115
+ }
116
+ const searchOptions = {
117
+ branch: context.branch,
118
+ ...(resolvedWorktrees && resolvedWorktrees.length > 0
119
+ ? { worktrees: resolvedWorktrees }
120
+ : {}),
121
+ };
122
+ const lookupCodex = lookups.findLatestCodexSession ?? findLatestCodexSession;
123
+ const lookupClaude = lookups.findLatestClaudeSession ?? findLatestClaudeSession;
124
+ const lookupGemini = lookups.findLatestGeminiSession ?? findLatestGeminiSession;
125
+ const lookupOpenCode = lookups.findLatestOpenCodeSession ?? findLatestOpenCodeSession;
126
+ const updated = await Promise.all(entries.map(async (entry) => {
127
+ let latest = null;
128
+ switch (entry.toolId) {
129
+ case "codex-cli":
130
+ latest = await lookupCodex(searchOptions);
131
+ break;
132
+ case "claude-code":
133
+ latest = await lookupClaude(worktreePath, searchOptions);
134
+ break;
135
+ case "gemini-cli":
136
+ latest = await lookupGemini(searchOptions);
137
+ break;
138
+ case "opencode":
139
+ latest = await lookupOpenCode(searchOptions);
140
+ break;
141
+ default:
142
+ return entry;
143
+ }
144
+ if (!latest?.id)
145
+ return entry;
146
+ const updatedTimestamp = Math.max(entry.timestamp ?? 0, latest.mtime);
147
+ return {
148
+ ...entry,
149
+ sessionId: latest.id,
150
+ timestamp: updatedTimestamp,
151
+ };
152
+ }));
153
+ return updated.sort((a, b) => (b.timestamp ?? 0) - (a.timestamp ?? 0));
154
+ }
97
155
  //# sourceMappingURL=continueSession.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"continueSession.js","sourceRoot":"","sources":["../../../../src/cli/ui/utils/continueSession.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"continueSession.js","sourceRoot":"","sources":["../../../../src/cli/ui/utils/continueSession.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAcxD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAA+B;IAE/B,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAE9E,0BAA0B;IAC1B,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,IACE,KAAK;YACL,KAAK,CAAC,MAAM,KAAK,MAAM;YACvB,KAAK,CAAC,MAAM,KAAK,MAAM;YACvB,KAAK,CAAC,SAAS,EACf,CAAC;YACD,OAAO,KAAK,CAAC,SAAS,CAAC;QACzB,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,IACE,WAAW,EAAE,aAAa;QAC1B,WAAW,CAAC,UAAU,KAAK,MAAM;QACjC,WAAW,CAAC,YAAY,KAAK,MAAM,EACnC,CAAC;QACD,OAAO,WAAW,CAAC,aAAa,CAAC;IACnC,CAAC;IAED,MAAM,WAAW,GAAG,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACrE,MAAM,YAAY,GAAG,WAAW,EAAE,YAAY,IAAI,IAAI,CAAC;IACvD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC;YACvD,MAAM;YACN,YAAY;SACb,CAAC,CAAC;QACH,OAAO,YAAY,IAAI,IAAI,CAAC;IAC9B,CAAC;IAED,OAAO,4BAA4B,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAC5D,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,MAAc,EACd,YAAoB;IAEpB,IAAI,CAAC;QACH,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;YAC7B,OAAO,MAAM,yBAAyB,CAAC,YAAY,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,OAAO,MAAM,wBAAwB,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,OAAO,MAAM,yBAAyB,CAAC,YAAY,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,OAA2B,EAC3B,MAAc,EACd,MAAsB;IAEtB,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAC7E,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAElC,MAAM,UAAU,GAAG,CAAC,OAA2B,EAAE,EAAE,CACjD,OAAO,CAAC,MAAM,CAA0B,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACxD,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1B,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;QACvC,OAAO,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAChD,CAAC,EAAE,IAAI,CAAC,CAAC;IAEX,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACnE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,OAA2B,EAC3B,MAAc,EACd,YAA4B;IAE5B,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAC7E,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEhC,MAAM,MAAM,GAAG,YAAY;QACzB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,KAAK,YAAY,CAAC;QACjE,CAAC,CAAC,QAAQ,CAAC;IACb,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAE9B,MAAM,YAAY,GAAG,IAAI,GAAG,EAA4B,CAAC;IACzD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,SAAS;QAC5B,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;YACrC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAC3C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAClD,CAAC;AACJ,CAAC;AAeD,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAA2B,EAC3B,OAAiC,EACjC,UAAoC,EAAE;IAEtC,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC;IACpC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC;IAClD,IAAI,CAAC,YAAY;QAAE,OAAO,OAAO,CAAC;IAElC,MAAM,eAAe,GAAG,OAAO,CAAC,gBAAgB,IAAI,gBAAgB,CAAC;IACrE,IAAI,iBAAiB,GAA8C,IAAI,CAAC;IACxE,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,eAAe,EAAE,CAAC;QAC7C,iBAAiB,GAAG,YAAY;aAC7B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,CAAC;aAC/C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,iBAAiB,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED,MAAM,aAAa,GAAyB;QAC1C,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACnD,CAAC,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE;YAClC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,MAAM,WAAW,GAAG,OAAO,CAAC,sBAAsB,IAAI,sBAAsB,CAAC;IAC7E,MAAM,YAAY,GAChB,OAAO,CAAC,uBAAuB,IAAI,uBAAuB,CAAC;IAC7D,MAAM,YAAY,GAChB,OAAO,CAAC,uBAAuB,IAAI,uBAAuB,CAAC;IAC7D,MAAM,cAAc,GAClB,OAAO,CAAC,yBAAyB,IAAI,yBAAyB,CAAC;IAEjE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC1B,IAAI,MAAM,GAAyC,IAAI,CAAC;QACxD,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;YACrB,KAAK,WAAW;gBACd,MAAM,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,CAAC;gBAC1C,MAAM;YACR,KAAK,aAAa;gBAChB,MAAM,GAAG,MAAM,YAAY,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;gBACzD,MAAM;YACR,KAAK,YAAY;gBACf,MAAM,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC,CAAC;gBAC3C,MAAM;YACR,KAAK,UAAU;gBACb,MAAM,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC,CAAC;gBAC7C,MAAM;YACR;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,EAAE;YAAE,OAAO,KAAK,CAAC;QAC9B,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,OAAO;YACL,GAAG,KAAK;YACR,SAAS,EAAE,MAAM,CAAC,EAAE;YACpB,SAAS,EAAE,gBAAgB;SAC5B,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Installed version cache for coding agents (FR-017)
3
+ *
4
+ * Caches locally installed agent versions detected at startup
5
+ * to avoid async fetch during wizard navigation.
6
+ */
7
+ import type { InstalledVersionInfo } from "./versionFetcher.js";
8
+ /**
9
+ * Type for installed version fetch function (injectable for testing)
10
+ */
11
+ export type InstalledVersionFetcher = (agentId: string) => Promise<InstalledVersionInfo | null>;
12
+ /**
13
+ * Get cached installed version for an agent
14
+ * @returns Cached info or null if not installed/unknown
15
+ */
16
+ export declare function getInstalledVersionCache(agentId: string): InstalledVersionInfo | null;
17
+ /**
18
+ * Set installed version cache (for testing or direct population)
19
+ */
20
+ export declare function setInstalledVersionCache(agentId: string, installed: InstalledVersionInfo | null): void;
21
+ /**
22
+ * Clear installed version cache
23
+ */
24
+ export declare function clearInstalledVersionCache(): void;
25
+ /**
26
+ * Prefetch installed versions for multiple agents in parallel
27
+ * This should be called at application startup
28
+ *
29
+ * @param agentIds - List of agent IDs to prefetch
30
+ * @param fetchFn - Optional custom fetch function (for testing)
31
+ */
32
+ export declare function prefetchInstalledVersions(agentIds: string[], fetchFn?: InstalledVersionFetcher): Promise<void>;
33
+ //# sourceMappingURL=installedVersionCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installedVersionCache.d.ts","sourceRoot":"","sources":["../../../../src/cli/ui/utils/installedVersionCache.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAShE;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,CACpC,OAAO,EAAE,MAAM,KACZ,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;AAE1C;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,GACd,oBAAoB,GAAG,IAAI,CAG7B;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,oBAAoB,GAAG,IAAI,GACrC,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,IAAI,CAAC,CAsBf"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Installed version cache for coding agents (FR-017)
3
+ *
4
+ * Caches locally installed agent versions detected at startup
5
+ * to avoid async fetch during wizard navigation.
6
+ */
7
+ import { fetchInstalledVersionForAgent } from "./versionFetcher.js";
8
+ /**
9
+ * In-memory cache for installed versions
10
+ * Maps agentId -> InstalledVersionInfo | null
11
+ */
12
+ const installedVersionCache = new Map();
13
+ /**
14
+ * Get cached installed version for an agent
15
+ * @returns Cached info or null if not installed/unknown
16
+ */
17
+ export function getInstalledVersionCache(agentId) {
18
+ const cached = installedVersionCache.get(agentId);
19
+ return cached ?? null;
20
+ }
21
+ /**
22
+ * Set installed version cache (for testing or direct population)
23
+ */
24
+ export function setInstalledVersionCache(agentId, installed) {
25
+ installedVersionCache.set(agentId, installed);
26
+ }
27
+ /**
28
+ * Clear installed version cache
29
+ */
30
+ export function clearInstalledVersionCache() {
31
+ installedVersionCache.clear();
32
+ }
33
+ /**
34
+ * Prefetch installed versions for multiple agents in parallel
35
+ * This should be called at application startup
36
+ *
37
+ * @param agentIds - List of agent IDs to prefetch
38
+ * @param fetchFn - Optional custom fetch function (for testing)
39
+ */
40
+ export async function prefetchInstalledVersions(agentIds, fetchFn) {
41
+ const fetcher = fetchFn ??
42
+ (async (agentId) => fetchInstalledVersionForAgent(agentId));
43
+ const results = await Promise.allSettled(agentIds.map(async (agentId) => {
44
+ try {
45
+ const installed = await fetcher(agentId);
46
+ setInstalledVersionCache(agentId, installed);
47
+ }
48
+ catch {
49
+ setInstalledVersionCache(agentId, null);
50
+ }
51
+ }));
52
+ // Swallow any rejections to keep startup non-blocking
53
+ for (const result of results) {
54
+ if (result.status === "rejected") {
55
+ // no-op
56
+ }
57
+ }
58
+ }
59
+ //# sourceMappingURL=installedVersionCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installedVersionCache.js","sourceRoot":"","sources":["../../../../src/cli/ui/utils/installedVersionCache.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAEpE;;;GAGG;AACH,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAuC,CAAC;AAS7E;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAe;IAEf,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClD,OAAO,MAAM,IAAI,IAAI,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAe,EACf,SAAsC;IAEtC,qBAAqB,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B;IACxC,qBAAqB,CAAC,KAAK,EAAE,CAAC;AAChC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,QAAkB,EAClB,OAAiC;IAEjC,MAAM,OAAO,GACX,OAAO;QACP,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC,CAAC;IAEtE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;YACzC,wBAAwB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IAEF,sDAAsD;IACtD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,QAAQ;QACV,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"modelOptions.d.ts","sourceRoot":"","sources":["../../../../src/cli/ui/utils/modelOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA2G9E,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,WAAW,EAAE,CAElE;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,aAAa,GAClB,WAAW,GAAG,SAAS,CAGzB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,CAAC,EAAE,WAAW,GAClB,cAAc,EAAE,CAKlB;AAED,wBAAgB,2BAA2B,CACzC,KAAK,CAAC,EAAE,WAAW,GAClB,cAAc,GAAG,SAAS,CAK5B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,aAAa,EACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GACpB,MAAM,GAAG,IAAI,CAUf"}
1
+ {"version":3,"file":"modelOptions.d.ts","sourceRoot":"","sources":["../../../../src/cli/ui/utils/modelOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAwH9E,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,WAAW,EAAE,CAElE;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,aAAa,GAClB,WAAW,GAAG,SAAS,CAGzB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,CAAC,EAAE,WAAW,GAClB,cAAc,EAAE,CAKlB;AAED,wBAAgB,2BAA2B,CACzC,KAAK,CAAC,EAAE,WAAW,GAClB,cAAc,GAAG,SAAS,CAK5B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,aAAa,EACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GACpB,MAAM,GAAG,IAAI,CAaf"}
@@ -96,6 +96,19 @@ const MODEL_OPTIONS = {
96
96
  description: "Fastest for simple tasks",
97
97
  },
98
98
  ],
99
+ opencode: [
100
+ {
101
+ id: "",
102
+ label: "Default (Auto)",
103
+ description: "Use OpenCode default model",
104
+ isDefault: true,
105
+ },
106
+ {
107
+ id: "__custom__",
108
+ label: "Custom (provider/model)",
109
+ description: "Enter a provider/model identifier",
110
+ },
111
+ ],
99
112
  };
100
113
  export function getModelOptions(tool) {
101
114
  return MODEL_OPTIONS[tool] ?? [];
@@ -127,6 +140,9 @@ export function normalizeModelId(tool, model) {
127
140
  const trimmed = model.trim();
128
141
  if (!trimmed)
129
142
  return null;
143
+ if (tool === "opencode" && trimmed === "__custom__") {
144
+ return null;
145
+ }
130
146
  if (tool === "claude-code") {
131
147
  const lower = trimmed.toLowerCase();
132
148
  if (lower === "opuss")
@@ -1 +1 @@
1
- {"version":3,"file":"modelOptions.js","sourceRoot":"","sources":["../../../../src/cli/ui/utils/modelOptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"modelOptions.js","sourceRoot":"","sources":["../../../../src/cli/ui/utils/modelOptions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Version cache for coding agents (FR-028 ~ FR-031)
3
+ *
4
+ * Provides caching mechanism for npm package versions to avoid
5
+ * repeated API calls during wizard navigation.
6
+ */
7
+ import type { VersionInfo } from "../../../utils/npmRegistry.js";
8
+ /**
9
+ * Type for version fetch function (injectable for testing)
10
+ */
11
+ export type VersionFetcher = (agentId: string) => Promise<VersionInfo[]>;
12
+ /**
13
+ * Get cached versions for an agent
14
+ * @returns Cached versions or null if not cached
15
+ */
16
+ export declare function getVersionCache(agentId: string): VersionInfo[] | null;
17
+ /**
18
+ * Check if versions are cached for an agent
19
+ */
20
+ export declare function isVersionCachePopulated(agentId: string): boolean;
21
+ /**
22
+ * Clear all cached versions
23
+ */
24
+ export declare function clearVersionCache(): void;
25
+ /**
26
+ * Prefetch versions for multiple agents in parallel
27
+ * This should be called at application startup
28
+ *
29
+ * @param agentIds - List of agent IDs to prefetch versions for
30
+ * @param fetchFn - Optional custom fetch function (for testing)
31
+ */
32
+ export declare function prefetchAgentVersions(agentIds: string[], fetchFn?: VersionFetcher): Promise<void>;
33
+ /**
34
+ * Set versions in cache (for testing or direct population)
35
+ */
36
+ export declare function setVersionCache(agentId: string, versions: VersionInfo[]): void;
37
+ //# sourceMappingURL=versionCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versionCache.d.ts","sourceRoot":"","sources":["../../../../src/cli/ui/utils/versionCache.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAQjE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;AAEzE;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,IAAI,CAGrE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC,CA6Bf;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,WAAW,EAAE,GACtB,IAAI,CAEN"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Version cache for coding agents (FR-028 ~ FR-031)
3
+ *
4
+ * Provides caching mechanism for npm package versions to avoid
5
+ * repeated API calls during wizard navigation.
6
+ */
7
+ /**
8
+ * In-memory cache for agent versions
9
+ * Maps agentId -> VersionInfo[]
10
+ */
11
+ const versionCache = new Map();
12
+ /**
13
+ * Get cached versions for an agent
14
+ * @returns Cached versions or null if not cached
15
+ */
16
+ export function getVersionCache(agentId) {
17
+ const cached = versionCache.get(agentId);
18
+ return cached !== undefined ? cached : null;
19
+ }
20
+ /**
21
+ * Check if versions are cached for an agent
22
+ */
23
+ export function isVersionCachePopulated(agentId) {
24
+ return versionCache.has(agentId);
25
+ }
26
+ /**
27
+ * Clear all cached versions
28
+ */
29
+ export function clearVersionCache() {
30
+ versionCache.clear();
31
+ }
32
+ /**
33
+ * Prefetch versions for multiple agents in parallel
34
+ * This should be called at application startup
35
+ *
36
+ * @param agentIds - List of agent IDs to prefetch versions for
37
+ * @param fetchFn - Optional custom fetch function (for testing)
38
+ */
39
+ export async function prefetchAgentVersions(agentIds, fetchFn) {
40
+ // Import default fetcher if not provided
41
+ const fetcher = fetchFn ??
42
+ (async (agentId) => {
43
+ const { fetchVersionOptionsForAgent } = await import("./versionFetcher.js");
44
+ return fetchVersionOptionsForAgent(agentId);
45
+ });
46
+ // Fetch all versions in parallel
47
+ const results = await Promise.allSettled(agentIds.map(async (agentId) => {
48
+ try {
49
+ const versions = await fetcher(agentId);
50
+ versionCache.set(agentId, versions);
51
+ }
52
+ catch {
53
+ // On error, don't set cache (getVersionCache will return null)
54
+ }
55
+ }));
56
+ // Log any failures for debugging (silently handled)
57
+ for (let i = 0; i < results.length; i++) {
58
+ const result = results[i];
59
+ if (result && result.status === "rejected") {
60
+ // Silently handle - cache will return null for this agent
61
+ }
62
+ }
63
+ }
64
+ /**
65
+ * Set versions in cache (for testing or direct population)
66
+ */
67
+ export function setVersionCache(agentId, versions) {
68
+ versionCache.set(agentId, versions);
69
+ }
70
+ //# sourceMappingURL=versionCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versionCache.js","sourceRoot":"","sources":["../../../../src/cli/ui/utils/versionCache.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;GAGG;AACH,MAAM,YAAY,GAAG,IAAI,GAAG,EAAyB,CAAC;AAOtD;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe;IACrD,OAAO,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,YAAY,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAkB,EAClB,OAAwB;IAExB,yCAAyC;IACzC,MAAM,OAAO,GACX,OAAO;QACP,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE;YACzB,MAAM,EAAE,2BAA2B,EAAE,GACnC,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;YACtC,OAAO,2BAA2B,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IAEL,iCAAiC;IACjC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;YACxC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;QACjE,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IAEF,oDAAoD;IACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC3C,0DAA0D;QAC5D,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAe,EACf,QAAuB;IAEvB,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Version fetcher for coding agents
3
+ *
4
+ * Provides functions to fetch version information from npm registry
5
+ * and local installations.
6
+ */
7
+ import type { VersionInfo } from "../../../utils/npmRegistry.js";
8
+ import type { SelectInputItem } from "../components/solid/SelectInput.js";
9
+ /**
10
+ * Get package name for an agent ID (only for bunx-type agents)
11
+ */
12
+ export declare function getPackageNameForAgent(agentId: string): string | null;
13
+ /**
14
+ * Fetch version options for an agent from npm registry
15
+ */
16
+ export declare function fetchVersionOptionsForAgent(agentId: string): Promise<VersionInfo[]>;
17
+ /**
18
+ * Installed version information
19
+ */
20
+ export interface InstalledVersionInfo {
21
+ version: string;
22
+ path: string;
23
+ }
24
+ /**
25
+ * Fetch installed version information for an agent
26
+ * Returns null if not installed locally
27
+ */
28
+ export declare function fetchInstalledVersionForAgent(agentId: string): Promise<InstalledVersionInfo | null>;
29
+ /**
30
+ * Convert VersionInfo to SelectInputItem for UI
31
+ */
32
+ export declare function versionInfoToSelectItem(v: VersionInfo): SelectInputItem;
33
+ /**
34
+ * Create installed option for SelectInput
35
+ */
36
+ export declare function createInstalledOption(installed: InstalledVersionInfo): SelectInputItem;
37
+ /**
38
+ * Get all bunx-type agent IDs
39
+ */
40
+ export declare function getBunxAgentIds(): string[];
41
+ //# sourceMappingURL=versionFetcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versionFetcher.d.ts","sourceRoot":"","sources":["../../../../src/cli/ui/utils/versionFetcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAOjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAE1E;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOrE;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,EAAE,CAAC,CAMxB;AAYD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAkBtC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,WAAW,GAAG,eAAe,CASvE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,oBAAoB,GAC9B,eAAe,CAMjB;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAI1C"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Version fetcher for coding agents
3
+ *
4
+ * Provides functions to fetch version information from npm registry
5
+ * and local installations.
6
+ */
7
+ import { fetchPackageVersions, parsePackageCommand, } from "../../../utils/npmRegistry.js";
8
+ import { BUILTIN_CODING_AGENTS } from "../../../config/builtin-coding-agents.js";
9
+ import { findCommand } from "../../../utils/command.js";
10
+ /**
11
+ * Get package name for an agent ID (only for bunx-type agents)
12
+ */
13
+ export function getPackageNameForAgent(agentId) {
14
+ const agent = BUILTIN_CODING_AGENTS.find((a) => a.id === agentId);
15
+ if (!agent || agent.type !== "bunx") {
16
+ return null;
17
+ }
18
+ const { packageName } = parsePackageCommand(agent.command);
19
+ return packageName;
20
+ }
21
+ /**
22
+ * Fetch version options for an agent from npm registry
23
+ */
24
+ export async function fetchVersionOptionsForAgent(agentId) {
25
+ const packageName = getPackageNameForAgent(agentId);
26
+ if (!packageName) {
27
+ return [];
28
+ }
29
+ return fetchPackageVersions(packageName);
30
+ }
31
+ /**
32
+ * Agent ID to command name mapping
33
+ */
34
+ const AGENT_COMMAND_MAP = {
35
+ "claude-code": "claude",
36
+ "codex-cli": "codex",
37
+ "gemini-cli": "gemini",
38
+ opencode: "opencode",
39
+ };
40
+ /**
41
+ * Fetch installed version information for an agent
42
+ * Returns null if not installed locally
43
+ */
44
+ export async function fetchInstalledVersionForAgent(agentId) {
45
+ const commandName = AGENT_COMMAND_MAP[agentId];
46
+ if (!commandName) {
47
+ return null;
48
+ }
49
+ const result = await findCommand(commandName);
50
+ if (result.source !== "installed" || !result.path) {
51
+ return null;
52
+ }
53
+ // Version format: v1.0.3 -> 1.0.3
54
+ const version = result.version?.replace(/^v/, "") ?? "unknown";
55
+ return {
56
+ version,
57
+ path: result.path,
58
+ };
59
+ }
60
+ /**
61
+ * Convert VersionInfo to SelectInputItem for UI
62
+ */
63
+ export function versionInfoToSelectItem(v) {
64
+ const item = {
65
+ label: v.isPrerelease ? `${v.version} (pre)` : v.version,
66
+ value: v.version,
67
+ };
68
+ if (v.publishedAt) {
69
+ item.description = new Date(v.publishedAt).toLocaleDateString();
70
+ }
71
+ return item;
72
+ }
73
+ /**
74
+ * Create installed option for SelectInput
75
+ */
76
+ export function createInstalledOption(installed) {
77
+ return {
78
+ label: `installed@${installed.version}`,
79
+ value: "installed",
80
+ description: installed.path,
81
+ };
82
+ }
83
+ /**
84
+ * Get all bunx-type agent IDs
85
+ */
86
+ export function getBunxAgentIds() {
87
+ return BUILTIN_CODING_AGENTS.filter((a) => a.type === "bunx").map((a) => a.id);
88
+ }
89
+ //# sourceMappingURL=versionFetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"versionFetcher.js","sourceRoot":"","sources":["../../../../src/cli/ui/utils/versionFetcher.ts"],"names":[],"mappings":"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"}
package/dist/codex.d.ts CHANGED
@@ -43,6 +43,7 @@ export declare function launchCodexCLI(worktreePath: string, options?: {
43
43
  model?: string;
44
44
  reasoningEffort?: CodexReasoningEffort;
45
45
  sessionId?: string | null;
46
+ branch?: string | null;
46
47
  version?: string | null;
47
48
  }): Promise<{
48
49
  sessionId?: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../src/codex.ts"],"names":[],"mappings":"AAkBA;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAEvE;;GAEG;AACH,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,oBAA6B,CAAC;AAE3E;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAO,MAA4B,EACnC,kBAAiB,oBAAqD,KACrE,MAAM,EAoBR,CAAC;AAEF;;;GAGG;AACH,qBAAa,UAAW,SAAQ,KAAK;IAG1B,KAAK,CAAC,EAAE,OAAO;gBADtB,OAAO,EAAE,MAAM,EACR,KAAK,CAAC,EAAE,OAAO,YAAA;CAKzB;AAED;;;;;;;;;GASG;AACH,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;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,oBAAoB,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB,GACL,OAAO,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAsOxC;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAWzD"}
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../src/codex.ts"],"names":[],"mappings":"AA4BA;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAEvE;;GAEG;AACH,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AAEnD;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,oBAA6B,CAAC;AAE3E;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAO,MAA4B,EACnC,kBAAiB,oBAAqD,KACrE,MAAM,EAkBR,CAAC;AAEF;;;GAGG;AACH,qBAAa,UAAW,SAAQ,KAAK;IAG1B,KAAK,CAAC,EAAE,OAAO;gBADtB,OAAO,EAAE,MAAM,EACR,KAAK,CAAC,EAAE,OAAO,YAAA;CAKzB;AAED;;;;;;;;;GASG;AACH,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;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,oBAAoB,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB,GACL,OAAO,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CA+TxC;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAWzD"}