spec-cat 0.1.62 → 0.1.64

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 (272) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/BOa_3MnO.js +1 -0
  3. package/.output/public/_nuxt/{FfyCVKRU.js → Be7Q-KZm.js} +1 -1
  4. package/.output/public/_nuxt/{DPOGSCeV.js → C0xGK0_5.js} +1 -1
  5. package/.output/public/_nuxt/{Su-Cl_JF.js → C5uvKiQJ.js} +1 -1
  6. package/.output/public/_nuxt/{DIOhMCOf.js → CJOi1pKi.js} +3 -3
  7. package/.output/public/_nuxt/{D4LyIv_t.js → Cqzfu4b1.js} +1 -1
  8. package/.output/public/_nuxt/CrxPmt5A.js +1 -0
  9. package/.output/public/_nuxt/D0ZHasco.js +105 -0
  10. package/.output/public/_nuxt/DIUADCOG.js +1 -0
  11. package/.output/public/_nuxt/DaYnMifu.js +43 -0
  12. package/.output/public/_nuxt/DhK8N2yk.js +58 -0
  13. package/.output/public/_nuxt/{Bz2rU2zs.js → DntGb46R.js} +1 -1
  14. package/.output/public/_nuxt/{DwpuOtAP.js → FCWUBLV4.js} +1 -1
  15. package/.output/public/_nuxt/builds/latest.json +1 -1
  16. package/.output/public/_nuxt/builds/meta/39e9ce1e-ba3f-4066-8a58-66dfecfe2817.json +1 -0
  17. package/.output/public/_nuxt/builds/meta/dev.json +1 -0
  18. package/.output/public/_nuxt/default.DKcvUy2t.css +1 -0
  19. package/.output/public/_nuxt/entry.uBSFaL6A.css +1 -0
  20. package/.output/public/_nuxt/{useTheme.Cny4Z64J.css → useTheme.B4wINCoW.css} +1 -1
  21. package/.output/server/chunks/_/aiProviderRegistry.mjs +1 -2
  22. package/.output/server/chunks/_/aiProviderRegistry.mjs.map +1 -1
  23. package/.output/server/chunks/_/aiProviderSelection.mjs +2 -2
  24. package/.output/server/chunks/_/chatGit.mjs +5 -3
  25. package/.output/server/chunks/_/chatGit.mjs.map +1 -1
  26. package/.output/server/chunks/_/claudeProvider.mjs +1 -215
  27. package/.output/server/chunks/_/claudeProvider.mjs.map +1 -1
  28. package/.output/server/chunks/_/claudeService.mjs +50 -54
  29. package/.output/server/chunks/_/claudeService.mjs.map +1 -1
  30. package/.output/server/chunks/_/codexProvider.mjs +47 -812
  31. package/.output/server/chunks/_/codexProvider.mjs.map +1 -1
  32. package/.output/server/chunks/_/git.mjs +1 -2
  33. package/.output/server/chunks/_/git.mjs.map +1 -1
  34. package/.output/server/chunks/_/gitApiHelpers.mjs +1 -1
  35. package/.output/server/chunks/_/gitBranchOperations.mjs +1 -1
  36. package/.output/server/chunks/_/interactiveProviderQuery.mjs +160 -0
  37. package/.output/server/chunks/_/interactiveProviderQuery.mjs.map +1 -0
  38. package/.output/server/chunks/_/jobPersister.mjs +37 -6
  39. package/.output/server/chunks/_/jobPersister.mjs.map +1 -1
  40. package/.output/server/chunks/_/jobQueue.mjs +430 -278
  41. package/.output/server/chunks/_/jobQueue.mjs.map +1 -1
  42. package/.output/server/chunks/_/terminalSessions.mjs +582 -0
  43. package/.output/server/chunks/_/terminalSessions.mjs.map +1 -0
  44. package/.output/server/chunks/_/worktreeSetup.mjs +98 -0
  45. package/.output/server/chunks/_/worktreeSetup.mjs.map +1 -0
  46. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  47. package/.output/server/chunks/build/client.precomputed.mjs.map +1 -1
  48. package/.output/server/chunks/nitro/nitro.mjs +1198 -584
  49. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  50. package/.output/server/chunks/routes/_ws.mjs +21 -111
  51. package/.output/server/chunks/routes/_ws.mjs.map +1 -1
  52. package/.output/server/chunks/routes/api/ai/providers.get.mjs +3 -1
  53. package/.output/server/chunks/routes/api/ai/providers.get.mjs.map +1 -1
  54. package/.output/server/chunks/routes/api/chat/compare.get.mjs +4 -5
  55. package/.output/server/chunks/routes/api/chat/compare.get.mjs.map +1 -1
  56. package/.output/server/chunks/routes/api/chat/context.get.mjs +4 -2
  57. package/.output/server/chunks/routes/api/chat/context.get.mjs.map +1 -1
  58. package/.output/server/chunks/routes/api/chat/finalize.post.mjs +17 -13
  59. package/.output/server/chunks/routes/api/chat/finalize.post.mjs.map +1 -1
  60. package/.output/server/chunks/routes/api/chat/generate-commit-message.post.mjs +26 -29
  61. package/.output/server/chunks/routes/api/chat/generate-commit-message.post.mjs.map +1 -1
  62. package/.output/server/chunks/routes/api/chat/preview-sync.post.mjs +4 -5
  63. package/.output/server/chunks/routes/api/chat/preview-sync.post.mjs.map +1 -1
  64. package/.output/server/chunks/routes/api/chat/preview.delete.mjs +4 -5
  65. package/.output/server/chunks/routes/api/chat/preview.delete.mjs.map +1 -1
  66. package/.output/server/chunks/routes/api/chat/preview.post.mjs +4 -6
  67. package/.output/server/chunks/routes/api/chat/preview.post.mjs.map +1 -1
  68. package/.output/server/chunks/routes/api/chat/rebase.post.mjs +4 -7
  69. package/.output/server/chunks/routes/api/chat/rebase.post.mjs.map +1 -1
  70. package/.output/server/chunks/routes/api/chat/worktree-commit.post.mjs +4 -6
  71. package/.output/server/chunks/routes/api/chat/worktree-commit.post.mjs.map +1 -1
  72. package/.output/server/chunks/routes/api/chat/worktree.delete.mjs +11 -4
  73. package/.output/server/chunks/routes/api/chat/worktree.delete.mjs.map +1 -1
  74. package/.output/server/chunks/routes/api/chat/worktree.post.mjs +4 -6
  75. package/.output/server/chunks/routes/api/chat/worktree.post.mjs.map +1 -1
  76. package/.output/server/chunks/routes/api/conversations/_conversationId/archive.post.mjs +10 -9
  77. package/.output/server/chunks/routes/api/conversations/_conversationId/archive.post.mjs.map +1 -1
  78. package/.output/server/chunks/routes/api/conversations/archives/_archiveId/restore.post.mjs +4 -7
  79. package/.output/server/chunks/routes/api/conversations/archives/_archiveId/restore.post.mjs.map +1 -1
  80. package/.output/server/chunks/routes/api/conversations/archives/_archiveId_.delete.mjs +4 -7
  81. package/.output/server/chunks/routes/api/conversations/archives/_archiveId_.delete.mjs.map +1 -1
  82. package/.output/server/chunks/routes/api/conversations/archives.delete.mjs +40 -0
  83. package/.output/server/chunks/routes/api/conversations/archives.delete.mjs.map +1 -0
  84. package/.output/server/chunks/routes/api/conversations/archives.get.mjs +4 -7
  85. package/.output/server/chunks/routes/api/conversations/archives.get.mjs.map +1 -1
  86. package/.output/server/chunks/routes/api/conversations/update.post.mjs +4 -7
  87. package/.output/server/chunks/routes/api/conversations/update.post.mjs.map +1 -1
  88. package/.output/server/chunks/routes/api/conversations.get.mjs +4 -7
  89. package/.output/server/chunks/routes/api/conversations.get.mjs.map +1 -1
  90. package/.output/server/chunks/routes/api/conversations.post.mjs +4 -7
  91. package/.output/server/chunks/routes/api/conversations.post.mjs.map +1 -1
  92. package/.output/server/chunks/routes/api/cwd.get.mjs +4 -2
  93. package/.output/server/chunks/routes/api/cwd.get.mjs.map +1 -1
  94. package/.output/server/chunks/routes/api/git/branch-rename.post.mjs +3 -4
  95. package/.output/server/chunks/routes/api/git/branch-rename.post.mjs.map +1 -1
  96. package/.output/server/chunks/routes/api/git/branch.delete.mjs +4 -5
  97. package/.output/server/chunks/routes/api/git/branch.delete.mjs.map +1 -1
  98. package/.output/server/chunks/routes/api/git/branches.get.mjs +4 -6
  99. package/.output/server/chunks/routes/api/git/branches.get.mjs.map +1 -1
  100. package/.output/server/chunks/routes/api/git/checkout.post.mjs +4 -5
  101. package/.output/server/chunks/routes/api/git/checkout.post.mjs.map +1 -1
  102. package/.output/server/chunks/routes/api/git/cherry-pick.post.mjs +3 -4
  103. package/.output/server/chunks/routes/api/git/cherry-pick.post.mjs.map +1 -1
  104. package/.output/server/chunks/routes/api/git/clean.post.mjs +3 -4
  105. package/.output/server/chunks/routes/api/git/clean.post.mjs.map +1 -1
  106. package/.output/server/chunks/routes/api/git/commit/_id_.get.mjs +3 -4
  107. package/.output/server/chunks/routes/api/git/commit/_id_.get.mjs.map +1 -1
  108. package/.output/server/chunks/routes/api/git/commit.post.mjs +4 -5
  109. package/.output/server/chunks/routes/api/git/commit.post.mjs.map +1 -1
  110. package/.output/server/chunks/routes/api/git/diff.get.mjs +4 -5
  111. package/.output/server/chunks/routes/api/git/diff.get.mjs.map +1 -1
  112. package/.output/server/chunks/routes/api/git/fetch.post.mjs +3 -4
  113. package/.output/server/chunks/routes/api/git/fetch.post.mjs.map +1 -1
  114. package/.output/server/chunks/routes/api/git/file-diff.get.mjs +4 -5
  115. package/.output/server/chunks/routes/api/git/file-diff.get.mjs.map +1 -1
  116. package/.output/server/chunks/routes/api/git/graph.get.mjs +4 -5
  117. package/.output/server/chunks/routes/api/git/graph.get.mjs.map +1 -1
  118. package/.output/server/chunks/routes/api/git/log.get.mjs +4 -5
  119. package/.output/server/chunks/routes/api/git/log.get.mjs.map +1 -1
  120. package/.output/server/chunks/routes/api/git/merge-base.get.mjs +4 -5
  121. package/.output/server/chunks/routes/api/git/merge-base.get.mjs.map +1 -1
  122. package/.output/server/chunks/routes/api/git/merge.post.mjs +3 -4
  123. package/.output/server/chunks/routes/api/git/merge.post.mjs.map +1 -1
  124. package/.output/server/chunks/routes/api/git/pull.post.mjs +3 -4
  125. package/.output/server/chunks/routes/api/git/pull.post.mjs.map +1 -1
  126. package/.output/server/chunks/routes/api/git/push.post.mjs +3 -4
  127. package/.output/server/chunks/routes/api/git/push.post.mjs.map +1 -1
  128. package/.output/server/chunks/routes/api/git/rebase.post.mjs +3 -4
  129. package/.output/server/chunks/routes/api/git/rebase.post.mjs.map +1 -1
  130. package/.output/server/chunks/routes/api/git/remote.delete.mjs +3 -4
  131. package/.output/server/chunks/routes/api/git/remote.delete.mjs.map +1 -1
  132. package/.output/server/chunks/routes/api/git/remote.post.mjs +3 -4
  133. package/.output/server/chunks/routes/api/git/remote.post.mjs.map +1 -1
  134. package/.output/server/chunks/routes/api/git/remote.put.mjs +3 -4
  135. package/.output/server/chunks/routes/api/git/remote.put.mjs.map +1 -1
  136. package/.output/server/chunks/routes/api/git/remotes.get.mjs +3 -4
  137. package/.output/server/chunks/routes/api/git/remotes.get.mjs.map +1 -1
  138. package/.output/server/chunks/routes/api/git/reset.post.mjs +3 -4
  139. package/.output/server/chunks/routes/api/git/reset.post.mjs.map +1 -1
  140. package/.output/server/chunks/routes/api/git/revert.post.mjs +3 -4
  141. package/.output/server/chunks/routes/api/git/revert.post.mjs.map +1 -1
  142. package/.output/server/chunks/routes/api/git/show.get.mjs +4 -5
  143. package/.output/server/chunks/routes/api/git/show.get.mjs.map +1 -1
  144. package/.output/server/chunks/routes/api/git/stage.post.mjs +4 -5
  145. package/.output/server/chunks/routes/api/git/stage.post.mjs.map +1 -1
  146. package/.output/server/chunks/routes/api/git/stash-apply.post.mjs +3 -4
  147. package/.output/server/chunks/routes/api/git/stash-apply.post.mjs.map +1 -1
  148. package/.output/server/chunks/routes/api/git/stash-branch.post.mjs +3 -4
  149. package/.output/server/chunks/routes/api/git/stash-branch.post.mjs.map +1 -1
  150. package/.output/server/chunks/routes/api/git/stash-drop.post.mjs +3 -4
  151. package/.output/server/chunks/routes/api/git/stash-drop.post.mjs.map +1 -1
  152. package/.output/server/chunks/routes/api/git/stash-pop.post.mjs +3 -4
  153. package/.output/server/chunks/routes/api/git/stash-pop.post.mjs.map +1 -1
  154. package/.output/server/chunks/routes/api/git/stash.get.mjs +3 -4
  155. package/.output/server/chunks/routes/api/git/stash.get.mjs.map +1 -1
  156. package/.output/server/chunks/routes/api/git/stash.post.mjs +3 -4
  157. package/.output/server/chunks/routes/api/git/stash.post.mjs.map +1 -1
  158. package/.output/server/chunks/routes/api/git/state.get.mjs +3 -4
  159. package/.output/server/chunks/routes/api/git/state.get.mjs.map +1 -1
  160. package/.output/server/chunks/routes/api/git/status.get.mjs +4 -5
  161. package/.output/server/chunks/routes/api/git/status.get.mjs.map +1 -1
  162. package/.output/server/chunks/routes/api/git/tag/_name_.get.mjs +3 -4
  163. package/.output/server/chunks/routes/api/git/tag/_name_.get.mjs.map +1 -1
  164. package/.output/server/chunks/routes/api/git/tag-push.post.mjs +3 -4
  165. package/.output/server/chunks/routes/api/git/tag-push.post.mjs.map +1 -1
  166. package/.output/server/chunks/routes/api/git/tag.delete.mjs +3 -4
  167. package/.output/server/chunks/routes/api/git/tag.delete.mjs.map +1 -1
  168. package/.output/server/chunks/routes/api/git/tag.post.mjs +3 -4
  169. package/.output/server/chunks/routes/api/git/tag.post.mjs.map +1 -1
  170. package/.output/server/chunks/routes/api/git/unstage.post.mjs +4 -5
  171. package/.output/server/chunks/routes/api/git/unstage.post.mjs.map +1 -1
  172. package/.output/server/chunks/routes/api/index.get.mjs +7 -4
  173. package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
  174. package/.output/server/chunks/routes/api/index.get2.mjs +4 -2
  175. package/.output/server/chunks/routes/api/index.get2.mjs.map +1 -1
  176. package/.output/server/chunks/routes/api/index.get3.mjs +4 -2
  177. package/.output/server/chunks/routes/api/index.get3.mjs.map +1 -1
  178. package/.output/server/chunks/routes/api/index.post.mjs +19 -16
  179. package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
  180. package/.output/server/chunks/routes/api/index.post2.mjs +4 -6
  181. package/.output/server/chunks/routes/api/index.post2.mjs.map +1 -1
  182. package/.output/server/chunks/routes/api/jobs/_id/cancel.post.mjs +6 -3
  183. package/.output/server/chunks/routes/api/jobs/_id/cancel.post.mjs.map +1 -1
  184. package/.output/server/chunks/routes/api/jobs/_id_.get.mjs +7 -4
  185. package/.output/server/chunks/routes/api/jobs/_id_.get.mjs.map +1 -1
  186. package/.output/server/chunks/routes/api/rebase/abort.post.mjs +4 -2
  187. package/.output/server/chunks/routes/api/rebase/abort.post.mjs.map +1 -1
  188. package/.output/server/chunks/routes/api/rebase/ai-resolve.post.mjs +19 -105
  189. package/.output/server/chunks/routes/api/rebase/ai-resolve.post.mjs.map +1 -1
  190. package/.output/server/chunks/routes/api/rebase/conflicts.get.mjs +3 -1
  191. package/.output/server/chunks/routes/api/rebase/conflicts.get.mjs.map +1 -1
  192. package/.output/server/chunks/routes/api/rebase/continue-sync.post.mjs +4 -2
  193. package/.output/server/chunks/routes/api/rebase/continue-sync.post.mjs.map +1 -1
  194. package/.output/server/chunks/routes/api/rebase/continue.post.mjs +71 -73
  195. package/.output/server/chunks/routes/api/rebase/continue.post.mjs.map +1 -1
  196. package/.output/server/chunks/routes/api/rebase/resolve.put.mjs +3 -1
  197. package/.output/server/chunks/routes/api/rebase/resolve.put.mjs.map +1 -1
  198. package/.output/server/chunks/routes/api/repository/status.get.mjs +4 -5
  199. package/.output/server/chunks/routes/api/repository/status.get.mjs.map +1 -1
  200. package/.output/server/chunks/routes/api/settings.get.mjs +6 -5
  201. package/.output/server/chunks/routes/api/settings.get.mjs.map +1 -1
  202. package/.output/server/chunks/routes/api/settings.post.mjs +5 -3
  203. package/.output/server/chunks/routes/api/settings.post.mjs.map +1 -1
  204. package/.output/server/chunks/routes/api/skills/_skillId/prompt.post.mjs +3 -1
  205. package/.output/server/chunks/routes/api/skills/_skillId/prompt.post.mjs.map +1 -1
  206. package/.output/server/chunks/routes/api/specs/_featureId/_...filename_.get.mjs +3 -1
  207. package/.output/server/chunks/routes/api/specs/_featureId/_...filename_.get.mjs.map +1 -1
  208. package/.output/server/chunks/routes/api/specs/_featureId/_...filename_.put.mjs +3 -1
  209. package/.output/server/chunks/routes/api/specs/_featureId/_...filename_.put.mjs.map +1 -1
  210. package/.output/server/chunks/routes/api/specs/features.get.mjs +3 -1
  211. package/.output/server/chunks/routes/api/specs/features.get.mjs.map +1 -1
  212. package/.output/server/chunks/routes/api/specs/reindex.post.mjs +4 -2
  213. package/.output/server/chunks/routes/api/specs/reindex.post.mjs.map +1 -1
  214. package/.output/server/chunks/routes/api/specs/search.get.mjs +4 -2
  215. package/.output/server/chunks/routes/api/specs/search.get.mjs.map +1 -1
  216. package/.output/server/chunks/routes/api/specs/status.get.mjs +4 -2
  217. package/.output/server/chunks/routes/api/specs/status.get.mjs.map +1 -1
  218. package/.output/server/chunks/routes/api/specs/traceability/_featureId_.get.mjs +4 -2
  219. package/.output/server/chunks/routes/api/specs/traceability/_featureId_.get.mjs.map +1 -1
  220. package/.output/server/chunks/routes/api/worktrees/_name/switch.post.mjs +4 -2
  221. package/.output/server/chunks/routes/api/worktrees/_name/switch.post.mjs.map +1 -1
  222. package/.output/server/chunks/routes/api/worktrees/_name_.delete.mjs +3 -1
  223. package/.output/server/chunks/routes/api/worktrees/_name_.delete.mjs.map +1 -1
  224. package/.output/server/chunks/routes/git-watcher-ws.mjs +4 -2
  225. package/.output/server/chunks/routes/git-watcher-ws.mjs.map +1 -1
  226. package/.output/server/chunks/routes/renderer.mjs +4 -2
  227. package/.output/server/chunks/routes/terminal-ws.mjs +230 -0
  228. package/.output/server/chunks/routes/terminal-ws.mjs.map +1 -0
  229. package/.output/server/index.mjs +4 -2
  230. package/.output/server/index.mjs.map +1 -1
  231. package/.output/server/node_modules/node-pty/build/Makefile +369 -0
  232. package/.output/server/node_modules/node-pty/build/Release/pty.node +0 -0
  233. package/.output/server/node_modules/node-pty/build/binding.Makefile +6 -0
  234. package/.output/server/node_modules/node-pty/build/config.gypi +513 -0
  235. package/.output/server/node_modules/node-pty/build/pty.target.mk +168 -0
  236. package/.output/server/node_modules/node-pty/lib/eventEmitter2.js +47 -0
  237. package/.output/server/node_modules/node-pty/lib/index.js +52 -0
  238. package/.output/server/node_modules/node-pty/lib/shared/conout.js +11 -0
  239. package/.output/server/node_modules/node-pty/lib/terminal.js +190 -0
  240. package/.output/server/node_modules/node-pty/lib/unixTerminal.js +346 -0
  241. package/.output/server/node_modules/node-pty/lib/utils.js +39 -0
  242. package/.output/server/node_modules/node-pty/lib/windowsConoutConnection.js +125 -0
  243. package/.output/server/node_modules/node-pty/lib/windowsPtyAgent.js +320 -0
  244. package/.output/server/node_modules/node-pty/lib/windowsTerminal.js +199 -0
  245. package/.output/server/node_modules/node-pty/package.json +64 -0
  246. package/.output/server/package.json +2 -1
  247. package/package.json +4 -1
  248. package/.output/public/_nuxt/2zamijve.js +0 -1
  249. package/.output/public/_nuxt/BEjIzkrM.js +0 -85
  250. package/.output/public/_nuxt/BaSsfm-t.js +0 -36
  251. package/.output/public/_nuxt/BjdLSVUw.js +0 -1
  252. package/.output/public/_nuxt/DeqM2TrP.js +0 -1
  253. package/.output/public/_nuxt/builds/meta/df07a2f8-c6d6-420d-a863-ac6e0e7673e0.json +0 -1
  254. package/.output/public/_nuxt/default.DKSPicGu.css +0 -1
  255. package/.output/public/_nuxt/entry.BUDfUMkE.css +0 -1
  256. package/.output/public/_nuxt/zrVRZSxq.js +0 -64
  257. package/.output/server/chunks/_/baseBranch.mjs +0 -137
  258. package/.output/server/chunks/_/baseBranch.mjs.map +0 -1
  259. package/.output/server/chunks/_/claude.mjs +0 -164
  260. package/.output/server/chunks/_/claude.mjs.map +0 -1
  261. package/.output/server/chunks/_/conversationStore.mjs +0 -257
  262. package/.output/server/chunks/_/conversationStore.mjs.map +0 -1
  263. package/.output/server/chunks/_/geminiProvider.mjs +0 -372
  264. package/.output/server/chunks/_/geminiProvider.mjs.map +0 -1
  265. package/.output/server/chunks/_/gitExec.mjs +0 -48
  266. package/.output/server/chunks/_/gitExec.mjs.map +0 -1
  267. package/.output/server/chunks/_/providerProcessError.mjs +0 -163
  268. package/.output/server/chunks/_/providerProcessError.mjs.map +0 -1
  269. package/.output/server/chunks/_/uiAdapter.mjs +0 -421
  270. package/.output/server/chunks/_/uiAdapter.mjs.map +0 -1
  271. package/.output/server/chunks/routes/api/chat.post.mjs +0 -276
  272. package/.output/server/chunks/routes/api/chat.post.mjs.map +0 -1
@@ -1 +1 @@
1
- import{d as j,u as N,a as L,o as T,b as B,r as E,c as O,e as H,h as R,f as q,p as I,s as U,g as V,i as A,j as D,n as F,k as g,l as M,m as z,q as $,w as W,t as G,v as K,x as Q,y as J,z as X,A as S,B as _,C as Y,D as Z,E as ee}from"./DIOhMCOf.js";import{_ as te}from"./DlAUqK2U.js";const re=(...t)=>t.find(o=>o!==void 0);function ne(t){const o=t.componentName||"NuxtLink";function f(e){return typeof e=="string"&&e.startsWith("#")}function b(e,l,d){const n=d??t.trailingSlash;if(!e||n!=="append"&&n!=="remove")return e;if(typeof e=="string")return C(e,n);const i="path"in e&&e.path!==void 0?e.path:l(e).path;return{...e,name:void 0,path:C(i,n)}}function w(e){const l=N(),d=$(),n=g(()=>!!e.target&&e.target!=="_self"),i=g(()=>{const s=e.to||e.href||"";return typeof s=="string"&&z(s,{acceptRelative:!0})}),y=q("RouterLink"),h=typeof y!="string"?y.useLink:void 0,c=g(()=>{if(e.external)return!0;const s=e.to||e.href||"";return typeof s=="object"?!1:s===""||i.value}),a=g(()=>{const s=e.to||e.href||"";return c.value?s:b(s,l.resolve,e.trailingSlash)}),p=c.value?void 0:h?.({...e,to:a}),m=g(()=>{const s=e.trailingSlash??t.trailingSlash;if(!a.value||i.value||f(a.value))return a.value;if(c.value){const x=typeof a.value=="object"&&"path"in a.value?A(a.value):a.value,k=typeof x=="object"?l.resolve(x).href:x;return C(k,s)}return typeof a.value=="object"?l.resolve(a.value)?.href??null:C(M(d.app.baseURL,a.value),s)});return{to:a,hasTarget:n,isAbsoluteUrl:i,isExternal:c,href:m,isActive:p?.isActive??g(()=>a.value===l.currentRoute.value.path),isExactActive:p?.isExactActive??g(()=>a.value===l.currentRoute.value.path),route:p?.route??g(()=>l.resolve(a.value)),async navigate(s){await F(m.value,{replace:e.replace,external:c.value||n.value})}}}return j({name:o,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1},trailingSlash:{type:String,default:void 0,required:!1}},useLink:w,setup(e,{slots:l}){const d=N(),{to:n,href:i,navigate:y,isExternal:h,hasTarget:c,isAbsoluteUrl:a}=w(e),p=U(!1),m=V(null),s=u=>{m.value=e.custom?u?.$el?.nextElementSibling:u?.$el};function x(u){return!p.value&&(typeof e.prefetchOn=="string"?e.prefetchOn===u:e.prefetchOn?.[u]??t.prefetchOn?.[u])&&(e.prefetch??t.prefetch)!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!le()}async function k(u=L()){if(p.value)return;p.value=!0;const v=typeof n.value=="string"?n.value:h.value?A(n.value):d.resolve(n.value).fullPath,r=h.value?new URL(v,window.location.href).href:v;await Promise.all([u.hooks.callHook("link:prefetch",r).catch(()=>{}),!h.value&&!c.value&&D(n.value,d).catch(()=>{})])}if(x("visibility")){const u=L();let v,r=null;T(()=>{const P=ie();B(()=>{v=E(()=>{m?.value?.tagName&&(r=P.observe(m.value,async()=>{r?.(),r=null,await k(u)}))})})}),O(()=>{v&&H(v),r?.(),r=null})}return()=>{if(!h.value&&!c.value&&!f(n.value)){const r={ref:s,to:n.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(x("interaction")&&(r.onPointerenter=k.bind(null,void 0),r.onFocus=k.bind(null,void 0)),p.value&&(r.class=e.prefetchedClass||t.prefetchedClass),r.rel=e.rel||void 0),R(q("RouterLink"),r,l.default)}const u=e.target||null,v=re(e.noRel?"":e.rel,t.externalRelAttribute,a.value||c.value?"noopener noreferrer":"")||null;return e.custom?l.default?l.default({href:i.value,navigate:y,prefetch:k,get route(){if(!i.value)return;const r=new URL(i.value,window.location.href);return{path:r.pathname,fullPath:r.pathname,get query(){return I(r.search)},hash:r.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:i.value}},rel:v,target:u,isExternal:h.value||c.value,isActive:!1,isExactActive:!1}):null:R("a",{ref:m,href:i.value||null,rel:v,target:u,onClick:r=>{if(!(h.value||c.value))return r.preventDefault(),e.replace?d.replace(i.value):d.push(i.value)}},l.default?.())}}})}const ae=ne(K);function C(t,o){const f=o==="append"?W:G;return z(t)&&!t.startsWith("http")?t:f(t,!0)}function ie(){const t=L();if(t._observer)return t._observer;let o=null;const f=new Map,b=(e,l)=>(o||=new IntersectionObserver(d=>{for(const n of d){const i=f.get(n.target);(n.isIntersecting||n.intersectionRatio>0)&&i&&i()}}),f.set(e,l),o.observe(e),()=>{f.delete(e),o?.unobserve(e),f.size===0&&(o?.disconnect(),o=null)});return t._observer={observe:b}}const oe=/2g/;function le(){const t=navigator.connection;return!!(t&&(t.saveData||oe.test(t.effectiveType)))}const se={class:"antialiased bg-white dark:bg-black dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-black"},ue={class:"max-w-520px text-center z-20"},ce=["textContent"],fe=["textContent"],de={class:"flex items-center justify-center w-full"},ve={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},status:{type:Number,default:404},statusText:{type:String,default:"Not Found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(t){const o=t;return Q({title:`${o.status} - ${o.statusText} | ${o.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(f,b)=>{const w=ae;return J(),X("div",se,[b[0]||(b[0]=S("div",{class:"fixed left-0 right-0 spotlight z-10"},null,-1)),S("div",ue,[S("h1",{class:"font-medium mb-8 sm:text-10xl text-8xl",textContent:_(t.status)},null,8,ce),S("p",{class:"font-light leading-tight mb-16 px-8 sm:px-0 sm:text-4xl text-xl",textContent:_(t.description)},null,8,fe),S("div",de,[Y(w,{to:"/",class:"cursor-pointer gradient-border px-4 py-2 sm:px-6 sm:py-3 sm:text-xl text-md"},{default:Z(()=>[ee(_(t.backHome),1)]),_:1})])])])}}},ge=te(ve,[["__scopeId","data-v-5b1d1387"]]);export{ge as default};
1
+ import{d as j,u as N,a as L,o as T,b as B,r as E,c as O,e as H,h as R,f as q,p as I,s as U,g as V,i as A,j as D,n as F,k as g,l as M,m as z,q as $,w as W,t as G,v as K,x as Q,y as J,z as X,A as S,B as _,C as Y,D as Z,E as ee}from"./CJOi1pKi.js";import{_ as te}from"./DlAUqK2U.js";const re=(...t)=>t.find(o=>o!==void 0);function ne(t){const o=t.componentName||"NuxtLink";function f(e){return typeof e=="string"&&e.startsWith("#")}function b(e,l,d){const n=d??t.trailingSlash;if(!e||n!=="append"&&n!=="remove")return e;if(typeof e=="string")return C(e,n);const i="path"in e&&e.path!==void 0?e.path:l(e).path;return{...e,name:void 0,path:C(i,n)}}function w(e){const l=N(),d=$(),n=g(()=>!!e.target&&e.target!=="_self"),i=g(()=>{const s=e.to||e.href||"";return typeof s=="string"&&z(s,{acceptRelative:!0})}),y=q("RouterLink"),h=typeof y!="string"?y.useLink:void 0,c=g(()=>{if(e.external)return!0;const s=e.to||e.href||"";return typeof s=="object"?!1:s===""||i.value}),a=g(()=>{const s=e.to||e.href||"";return c.value?s:b(s,l.resolve,e.trailingSlash)}),p=c.value?void 0:h?.({...e,to:a}),m=g(()=>{const s=e.trailingSlash??t.trailingSlash;if(!a.value||i.value||f(a.value))return a.value;if(c.value){const x=typeof a.value=="object"&&"path"in a.value?A(a.value):a.value,k=typeof x=="object"?l.resolve(x).href:x;return C(k,s)}return typeof a.value=="object"?l.resolve(a.value)?.href??null:C(M(d.app.baseURL,a.value),s)});return{to:a,hasTarget:n,isAbsoluteUrl:i,isExternal:c,href:m,isActive:p?.isActive??g(()=>a.value===l.currentRoute.value.path),isExactActive:p?.isExactActive??g(()=>a.value===l.currentRoute.value.path),route:p?.route??g(()=>l.resolve(a.value)),async navigate(s){await F(m.value,{replace:e.replace,external:c.value||n.value})}}}return j({name:o,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1},trailingSlash:{type:String,default:void 0,required:!1}},useLink:w,setup(e,{slots:l}){const d=N(),{to:n,href:i,navigate:y,isExternal:h,hasTarget:c,isAbsoluteUrl:a}=w(e),p=U(!1),m=V(null),s=u=>{m.value=e.custom?u?.$el?.nextElementSibling:u?.$el};function x(u){return!p.value&&(typeof e.prefetchOn=="string"?e.prefetchOn===u:e.prefetchOn?.[u]??t.prefetchOn?.[u])&&(e.prefetch??t.prefetch)!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!le()}async function k(u=L()){if(p.value)return;p.value=!0;const v=typeof n.value=="string"?n.value:h.value?A(n.value):d.resolve(n.value).fullPath,r=h.value?new URL(v,window.location.href).href:v;await Promise.all([u.hooks.callHook("link:prefetch",r).catch(()=>{}),!h.value&&!c.value&&D(n.value,d).catch(()=>{})])}if(x("visibility")){const u=L();let v,r=null;T(()=>{const P=ie();B(()=>{v=E(()=>{m?.value?.tagName&&(r=P.observe(m.value,async()=>{r?.(),r=null,await k(u)}))})})}),O(()=>{v&&H(v),r?.(),r=null})}return()=>{if(!h.value&&!c.value&&!f(n.value)){const r={ref:s,to:n.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(x("interaction")&&(r.onPointerenter=k.bind(null,void 0),r.onFocus=k.bind(null,void 0)),p.value&&(r.class=e.prefetchedClass||t.prefetchedClass),r.rel=e.rel||void 0),R(q("RouterLink"),r,l.default)}const u=e.target||null,v=re(e.noRel?"":e.rel,t.externalRelAttribute,a.value||c.value?"noopener noreferrer":"")||null;return e.custom?l.default?l.default({href:i.value,navigate:y,prefetch:k,get route(){if(!i.value)return;const r=new URL(i.value,window.location.href);return{path:r.pathname,fullPath:r.pathname,get query(){return I(r.search)},hash:r.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:i.value}},rel:v,target:u,isExternal:h.value||c.value,isActive:!1,isExactActive:!1}):null:R("a",{ref:m,href:i.value||null,rel:v,target:u,onClick:r=>{if(!(h.value||c.value))return r.preventDefault(),e.replace?d.replace(i.value):d.push(i.value)}},l.default?.())}}})}const ae=ne(K);function C(t,o){const f=o==="append"?W:G;return z(t)&&!t.startsWith("http")?t:f(t,!0)}function ie(){const t=L();if(t._observer)return t._observer;let o=null;const f=new Map,b=(e,l)=>(o||=new IntersectionObserver(d=>{for(const n of d){const i=f.get(n.target);(n.isIntersecting||n.intersectionRatio>0)&&i&&i()}}),f.set(e,l),o.observe(e),()=>{f.delete(e),o?.unobserve(e),f.size===0&&(o?.disconnect(),o=null)});return t._observer={observe:b}}const oe=/2g/;function le(){const t=navigator.connection;return!!(t&&(t.saveData||oe.test(t.effectiveType)))}const se={class:"antialiased bg-white dark:bg-black dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-black"},ue={class:"max-w-520px text-center z-20"},ce=["textContent"],fe=["textContent"],de={class:"flex items-center justify-center w-full"},ve={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},status:{type:Number,default:404},statusText:{type:String,default:"Not Found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(t){const o=t;return Q({title:`${o.status} - ${o.statusText} | ${o.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(f,b)=>{const w=ae;return J(),X("div",se,[b[0]||(b[0]=S("div",{class:"fixed left-0 right-0 spotlight z-10"},null,-1)),S("div",ue,[S("h1",{class:"font-medium mb-8 sm:text-10xl text-8xl",textContent:_(t.status)},null,8,ce),S("p",{class:"font-light leading-tight mb-16 px-8 sm:px-0 sm:text-4xl text-xl",textContent:_(t.description)},null,8,fe),S("div",de,[Y(w,{to:"/",class:"cursor-pointer gradient-border px-4 py-2 sm:px-6 sm:py-3 sm:text-xl text-md"},{default:Z(()=>[ee(_(t.backHome),1)]),_:1})])])])}}},ge=te(ve,[["__scopeId","data-v-5b1d1387"]]);export{ge as default};
@@ -0,0 +1 @@
1
+ import{d as _,y as i,z as l,J as w,G as n,B as p,k as V,P as B,Q as F,M as T,H as S,T as z,C as x,R as N,D as j,O as v,A as o,I as u,E as W,S as $,U as C,V as D,g as k,o as q,K as L,L as P}from"./CJOi1pKi.js";import{r as O,a as M,b as R,c as U}from"./DntGb46R.js";const A=_({__name:"WorktreeStatusBadge",props:{status:{}},setup(t){const e=t,s=V(()=>({clean:{label:"clean",color:"text-retro-green bg-retro-green/20"},dirty:{label:"dirty",color:"text-retro-yellow bg-retro-yellow/20"},ahead:{label:"ahead",color:"text-retro-cyan bg-retro-cyan/20"},behind:{label:"behind",color:"text-retro-orange bg-retro-orange/20"},diverged:{label:"diverged",color:"text-retro-red bg-retro-red/20"}})[e.status]);return(a,h)=>(i(),l("span",{class:w(["px-1.5 py-0.5 text-[10px] font-mono uppercase rounded",n(s).color])},p(n(s).label),3))}}),E=B("worktree",{state:()=>({worktrees:[],currentBranch:"",mainWorktree:"",workingDirectory:"",loading:!1,error:null}),getters:{activeWorktree:t=>t.worktrees.find(e=>e.isCurrent),featureWorktrees:t=>t.worktrees.filter(e=>!e.isMain),mainWorktreeInfo:t=>t.worktrees.find(e=>e.isMain),hasWorktrees:t=>t.worktrees.length>1,dirtyWorktrees:t=>t.worktrees.filter(e=>e.status==="dirty")},actions:{async initialize(){if(!this.workingDirectory)try{const{cwd:t}=await $fetch("/api/cwd");this.workingDirectory=t}catch(t){console.error("Failed to get working directory:",t),this.workingDirectory=""}},async fetchWorktrees(){await this.initialize(),this.loading=!0,this.error=null;try{const t=await $fetch("/api/worktrees",{query:{workingDirectory:this.workingDirectory}});this.worktrees=t.worktrees,this.currentBranch=t.currentBranch,this.mainWorktree=t.mainWorktree}catch(t){this.error=t instanceof Error?t.message:"Failed to fetch worktrees",console.error("Failed to fetch worktrees:",t)}finally{this.loading=!1}},async createWorktree(t){await this.initialize(),this.loading=!0,this.error=null;try{const e=await $fetch("/api/worktrees",{method:"POST",query:{workingDirectory:this.workingDirectory},body:t});return e.success&&e.worktree?this.worktrees.push(e.worktree):e.error&&(this.error=e.error),e}catch(e){const s=e instanceof Error?e.message:"Failed to create worktree";return this.error=s,{success:!1,error:s}}finally{this.loading=!1}},async deleteWorktree(t,e=!1){await this.initialize(),this.loading=!0,this.error=null;try{const s=await $fetch(`/api/worktrees/${t}`,{method:"DELETE",query:{workingDirectory:this.workingDirectory,deleteBranch:e.toString()}});return s.success?this.worktrees=this.worktrees.filter(a=>a.name!==t):s.error&&(this.error=s.error),s}catch(s){const a=s instanceof Error?s.message:"Failed to delete worktree";return this.error=a,{success:!1,error:a}}finally{this.loading=!1}},async switchWorktree(t){await this.initialize(),this.loading=!0,this.error=null;try{const e=await $fetch(`/api/worktrees/${t}/switch`,{method:"POST",query:{workingDirectory:this.workingDirectory}});return e.success?(this.worktrees=this.worktrees.map(s=>({...s,isCurrent:s.name===t})),this.currentBranch=t):e.error&&(this.error=e.error),e}catch(e){const s=e instanceof Error?e.message:"Failed to switch worktree";return this.error=s,{success:!1,error:s}}finally{this.loading=!1}},clearError(){this.error=null}}}),H={class:"w-full max-w-md mx-4 bg-retro-dark border border-retro-border rounded-lg shadow-xl"},I={class:"flex items-center justify-between px-4 py-3 border-b border-retro-border"},K={key:0,class:"p-2 text-xs font-mono text-retro-red bg-retro-red/10 border border-retro-red/30 rounded"},G=["disabled"],J=["disabled"],Q={class:"flex justify-end gap-2 pt-2"},X=["disabled"],Y=["disabled"],Z=_({__name:"WorktreeCreateModal",props:{modelValue:{type:Boolean,default:!1},modelModifiers:{}},emits:["update:modelValue"],setup(t){const e=F(t,"modelValue"),s=E(),a=k(""),h=k(""),m=k(!1),f=k(""),b=async()=>{if(!a.value.trim()){f.value="Description is required";return}m.value=!0,f.value="";try{const d=await s.createWorktree({description:a.value.trim(),shortName:h.value.trim()||void 0});d.success?(a.value="",h.value="",e.value=!1):f.value=d.error||"Failed to create worktree"}catch(d){f.value=d instanceof Error?d.message:"Failed to create worktree"}finally{m.value=!1}},c=()=>{e.value=!1,a.value="",h.value="",f.value=""},g=d=>{d.key==="Escape"&&c()};return T(e,d=>{d?document.addEventListener("keydown",g):document.removeEventListener("keydown",g)}),(d,r)=>(i(),S(z,{to:"body"},[x(N,{"enter-active-class":"transition-opacity duration-200","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"transition-opacity duration-200","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:j(()=>[e.value?(i(),l("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 backdrop-blur-sm",onClick:v(c,["self"])},[o("div",H,[o("div",I,[r[2]||(r[2]=o("h3",{class:"text-sm font-mono text-retro-text"},"Create Worktree",-1)),o("button",{type:"button",class:"p-1 rounded text-retro-muted hover:text-retro-text hover:bg-retro-panel transition-colors",onClick:c},[x(n(O),{class:"h-4 w-4"})])]),o("form",{class:"p-4 space-y-4",onSubmit:v(b,["prevent"])},[n(f)?(i(),l("div",K,p(n(f)),1)):u("",!0),o("div",null,[r[3]||(r[3]=o("label",{class:"block text-xs font-mono text-retro-muted mb-1"},[W(" Feature Description "),o("span",{class:"text-retro-red"},"*")],-1)),$(o("input",{"onUpdate:modelValue":r[0]||(r[0]=y=>C(a)?a.value=y:null),type:"text",placeholder:"e.g., Add user authentication",class:"w-full px-3 py-2 text-sm font-mono bg-retro-black border border-retro-border rounded text-retro-text placeholder-retro-subtle focus:outline-none focus:border-retro-cyan",disabled:n(m)},null,8,G),[[D,n(a)]]),r[4]||(r[4]=o("p",{class:"mt-1 text-[10px] font-mono text-retro-subtle"}," A brief description of what this feature does ",-1))]),o("div",null,[r[5]||(r[5]=o("label",{class:"block text-xs font-mono text-retro-muted mb-1"},[W(" Short Name "),o("span",{class:"text-retro-subtle"},"(optional)")],-1)),$(o("input",{"onUpdate:modelValue":r[1]||(r[1]=y=>C(h)?h.value=y:null),type:"text",placeholder:"e.g., auth",class:"w-full px-3 py-2 text-sm font-mono bg-retro-black border border-retro-border rounded text-retro-text placeholder-retro-subtle focus:outline-none focus:border-retro-cyan",disabled:n(m)},null,8,J),[[D,n(h)]]),r[6]||(r[6]=o("p",{class:"mt-1 text-[10px] font-mono text-retro-subtle"}," Override the auto-generated branch name (e.g., 001-auth instead of 001-add-user-authentication) ",-1))]),o("div",Q,[o("button",{type:"button",class:"px-3 py-1.5 text-xs font-mono text-retro-muted hover:text-retro-text bg-retro-panel hover:bg-retro-border rounded transition-colors",disabled:n(m),onClick:c}," Cancel ",8,X),o("button",{type:"submit",class:"px-3 py-1.5 text-xs font-mono text-retro-black bg-retro-cyan hover:bg-retro-cyan/80 rounded transition-colors disabled:opacity-50 disabled:cursor-not-allowed",disabled:n(m)||!n(a).trim()},p(n(m)?"Creating...":"Create"),9,Y)])],32)])])):u("",!0)]),_:1})]))}}),ee={class:"h-full flex flex-col bg-retro-black"},te={class:"flex-shrink-0 h-12 flex items-center justify-between px-4 border-b border-retro-border bg-retro-dark"},re={class:"flex items-center gap-2"},oe={key:0,class:"px-4 py-2 bg-retro-red/20 border-b border-retro-red/50"},se={class:"text-xs font-mono text-retro-red"},ne={class:"flex-1 overflow-y-auto p-2 space-y-1"},ae={class:"flex items-start justify-between gap-2"},ie={class:"flex-1 min-w-0"},le={class:"flex items-center gap-2"},ce={key:0,class:"px-1.5 py-0.5 text-[10px] font-mono uppercase bg-retro-yellow/20 text-retro-yellow rounded"},de={key:1,class:"px-1.5 py-0.5 text-[10px] font-mono uppercase bg-retro-cyan/20 text-retro-cyan rounded"},ue={key:0,class:"mt-1 text-xs font-mono text-retro-muted truncate"},pe={class:"text-retro-subtle"},he={class:"mt-1 text-[10px] font-mono text-retro-subtle truncate"},me={class:"flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity"},fe=["onClick"],xe=["onClick"],be={key:0,class:"mt-2 text-[10px] font-mono text-retro-green"},ye={key:0,class:"flex flex-col items-center justify-center py-8 text-center"},ke=_({__name:"WorktreePanel",setup(t){const e=E(),s=k(!1);q(()=>{e.fetchWorktrees()});const a=()=>{e.fetchWorktrees()},h=()=>{s.value=!0},m=async b=>{await e.switchWorktree(b)},f=async b=>{confirm(`Delete worktree "${b}"? This will remove the worktree directory.`)&&await e.deleteWorktree(b,!1)};return(b,c)=>{const g=A,d=Z;return i(),l("div",ee,[o("div",te,[c[1]||(c[1]=o("h2",{class:"text-sm font-mono text-retro-text"},"Worktrees",-1)),o("div",re,[o("button",{type:"button",class:"p-1.5 rounded text-retro-muted hover:text-retro-cyan hover:bg-retro-panel transition-colors",title:"Refresh",onClick:a},[x(n(M),{class:w(["h-4 w-4",{"animate-spin":n(e).loading}])},null,8,["class"])]),o("button",{type:"button",class:"p-1.5 rounded text-retro-muted hover:text-retro-green hover:bg-retro-panel transition-colors",title:"Create worktree",onClick:h},[x(n(R),{class:"h-4 w-4"})])])]),n(e).error?(i(),l("div",oe,[o("p",se,p(n(e).error),1)])):u("",!0),o("div",ne,[(i(!0),l(L,null,P(n(e).worktrees,r=>(i(),l("div",{key:r.name,class:w(["group p-3 rounded-md border transition-colors",[r.isCurrent?"bg-retro-cyan/10 border-retro-cyan":"bg-retro-panel border-retro-border hover:border-retro-muted"]])},[o("div",ae,[o("div",ie,[o("div",le,[o("span",{class:w(["font-mono text-sm truncate",r.isCurrent?"text-retro-cyan":"text-retro-text"])},p(r.name),3),x(g,{status:r.status},null,8,["status"]),r.isMain?(i(),l("span",ce," main ")):u("",!0),r.isCurrent?(i(),l("span",de," current ")):u("",!0)]),r.lastCommit?(i(),l("div",ue,[o("span",pe,p(r.lastCommit.shortHash),1),c[2]||(c[2]=o("span",{class:"mx-1"},"·",-1)),o("span",null,p(r.lastCommit.message),1)])):u("",!0),o("div",he,p(r.path),1)]),o("div",me,[!r.isCurrent&&!r.isMain?(i(),l("button",{key:0,type:"button",class:"p-1 rounded text-retro-muted hover:text-retro-cyan hover:bg-retro-dark transition-colors",title:"Switch to this worktree",onClick:v(y=>m(r.name),["stop"])},[x(n(M),{class:"h-3.5 w-3.5"})],8,fe)):u("",!0),r.isMain?u("",!0):(i(),l("button",{key:1,type:"button",class:"p-1 rounded text-retro-muted hover:text-retro-red hover:bg-retro-dark transition-colors",title:"Delete worktree",onClick:v(y=>f(r.name),["stop"])},[x(n(U),{class:"h-3.5 w-3.5"})],8,xe))])]),r.commitCount>0?(i(),l("div",be,p(r.commitCount)+" commit"+p(r.commitCount>1?"s":"")+" ahead ",1)):u("",!0)],2))),128)),!n(e).loading&&n(e).worktrees.length===0?(i(),l("div",ye,[...c[3]||(c[3]=[o("p",{class:"text-sm font-mono text-retro-muted"},"No worktrees found",-1),o("p",{class:"mt-1 text-xs font-mono text-retro-subtle"},"Create a new worktree to start working on a feature",-1)])])):u("",!0)]),x(d,{modelValue:n(s),"onUpdate:modelValue":c[0]||(c[0]=r=>C(s)?s.value=r:null)},null,8,["modelValue"])])}}}),ve=_({__name:"index",setup(t){return(e,s)=>{const a=ke;return i(),S(a)}}});export{ve as default};