commandmate 0.30.2 → 0.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (440) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +160 -160
  3. package/.next/app-path-routes-manifest.json +27 -27
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/prerender-manifest.json +9 -9
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -1
  9. package/.next/server/app/api/agents/versions/route_client-reference-manifest.js +1 -1
  10. package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
  11. package/.next/server/app/api/app/update-check/route.js +1 -1
  12. package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/assistant/conversation/route.js +1 -1
  14. package/.next/server/app/api/assistant/conversation/route.js.nft.json +1 -1
  15. package/.next/server/app/api/assistant/conversation/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/assistant/current-output/route.js +1 -1
  17. package/.next/server/app/api/assistant/current-output/route.js.nft.json +1 -1
  18. package/.next/server/app/api/assistant/current-output/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/assistant/messages/route.js +1 -1
  20. package/.next/server/app/api/assistant/messages/route.js.nft.json +1 -1
  21. package/.next/server/app/api/assistant/messages/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/assistant/session/route.js +1 -1
  23. package/.next/server/app/api/assistant/session/route.js.nft.json +1 -1
  24. package/.next/server/app/api/assistant/session/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/assistant/start/route.js +3 -3
  26. package/.next/server/app/api/assistant/start/route.js.nft.json +1 -1
  27. package/.next/server/app/api/assistant/start/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/assistant/terminal/route.js +4 -4
  29. package/.next/server/app/api/assistant/terminal/route.js.nft.json +1 -1
  30. package/.next/server/app/api/assistant/terminal/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/assistant/tools/route.js +1 -1
  32. package/.next/server/app/api/assistant/tools/route.js.nft.json +1 -1
  33. package/.next/server/app/api/assistant/tools/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/capabilities/route.js +1 -1
  38. package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
  45. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/hooks/agent-event/route.js +1 -1
  47. package/.next/server/app/api/hooks/agent-event/route.js.nft.json +1 -1
  48. package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/api/hooks/claude-done/route.js +1 -1
  50. package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
  51. package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/hooks/permission-request/route.js +1 -1
  53. package/.next/server/app/api/hooks/permission-request/route.js.nft.json +1 -1
  54. package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
  56. package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  57. package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  60. package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
  61. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/repositories/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/repositories/[id]/todos/route_client-reference-manifest.js +1 -1
  64. package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
  65. package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
  66. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  67. package/.next/server/app/api/repositories/clone/route.js +1 -1
  68. package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
  69. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  70. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/repositories/restore/route.js +1 -1
  72. package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
  73. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/repositories/route.js +1 -1
  75. package/.next/server/app/api/repositories/route.js.nft.json +1 -1
  76. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/repositories/scan/route.js +1 -1
  78. package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
  79. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/repositories/sync/route.js +1 -1
  81. package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
  82. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
  84. package/.next/server/app/api/settings/default-agents/route.js +1 -1
  85. package/.next/server/app/api/settings/default-agents/route.js.nft.json +1 -1
  86. package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
  88. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/skills/[id]/route.js +1 -1
  90. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
  92. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
  94. package/.next/server/app/api/skills/route.js +1 -1
  95. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/slash-commands/route.js +1 -1
  97. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  98. package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  100. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  102. package/.next/server/app/api/todos/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
  104. package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
  106. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
  107. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -1
  109. package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
  110. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  111. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js +1 -1
  112. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js.nft.json +1 -1
  113. package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
  114. package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
  115. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  116. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
  118. package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
  119. package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
  121. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js +1 -1
  122. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
  123. package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
  124. package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js +1 -1
  125. package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
  126. package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
  127. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
  128. package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
  129. package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
  130. package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
  131. package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
  133. package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
  134. package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
  135. package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
  136. package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
  137. package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
  138. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
  139. package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
  140. package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
  141. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
  142. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
  143. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
  145. package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
  146. package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
  147. package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
  148. package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
  149. package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js.nft.json +1 -1
  150. package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
  151. package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
  152. package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
  153. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  154. package/.next/server/app/api/worktrees/[id]/kill-session/route.js +1 -1
  155. package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
  156. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  157. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  158. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  159. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  160. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  161. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  162. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  163. package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
  164. package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
  165. package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
  166. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
  167. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
  168. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  169. package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
  170. package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
  171. package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
  172. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  173. package/.next/server/app/api/worktrees/[id]/route.js +1 -1
  174. package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
  175. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  176. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +4 -3
  177. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  178. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  179. package/.next/server/app/api/worktrees/[id]/schedules/route.js +4 -3
  180. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  181. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  182. package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
  183. package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
  184. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  185. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js +2 -2
  186. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
  187. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
  188. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  189. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  190. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  191. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  192. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
  193. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
  194. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  195. package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
  196. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  197. package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
  198. package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
  199. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  200. package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
  201. package/.next/server/app/api/worktrees/[id]/terminal/route.js +1 -1
  202. package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
  203. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  204. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  205. package/.next/server/app/api/worktrees/[id]/timers/route.js +1 -1
  206. package/.next/server/app/api/worktrees/[id]/timers/route.js.nft.json +1 -1
  207. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  208. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  209. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  210. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  211. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  212. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  213. package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
  214. package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
  215. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
  216. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
  217. package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
  218. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  219. package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
  220. package/.next/server/app/api/worktrees/route.js +1 -1
  221. package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
  222. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  223. package/.next/server/app/chat/page.js +2 -2
  224. package/.next/server/app/chat/page.js.nft.json +1 -1
  225. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  226. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  227. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  228. package/.next/server/app/more/page.js +2 -2
  229. package/.next/server/app/more/page.js.nft.json +1 -1
  230. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  231. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  232. package/.next/server/app/page.js +1 -1
  233. package/.next/server/app/page.js.nft.json +1 -1
  234. package/.next/server/app/page_client-reference-manifest.js +1 -1
  235. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  236. package/.next/server/app/repositories/page.js +2 -2
  237. package/.next/server/app/repositories/page.js.nft.json +1 -1
  238. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  239. package/.next/server/app/review/page.js +1 -1
  240. package/.next/server/app/review/page.js.nft.json +1 -1
  241. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  242. package/.next/server/app/sessions/page.js +1 -1
  243. package/.next/server/app/sessions/page.js.nft.json +1 -1
  244. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  245. package/.next/server/app/skills/[skillId]/page.js +2 -2
  246. package/.next/server/app/skills/[skillId]/page.js.nft.json +1 -1
  247. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  248. package/.next/server/app/skills/installed/page.js +2 -2
  249. package/.next/server/app/skills/installed/page.js.nft.json +1 -1
  250. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
  251. package/.next/server/app/skills/page.js +1 -1
  252. package/.next/server/app/skills/page.js.nft.json +1 -1
  253. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  254. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  255. package/.next/server/app/worktrees/[id]/page.js +10 -10
  256. package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
  257. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  258. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  259. package/.next/server/app-paths-manifest.json +27 -27
  260. package/.next/server/chunks/1058.js +1 -1
  261. package/.next/server/chunks/1068.js +1 -1
  262. package/.next/server/chunks/1262.js +1 -1
  263. package/.next/server/chunks/1886.js +3 -3
  264. package/.next/server/chunks/1990.js +103 -0
  265. package/.next/server/chunks/2119.js +1 -1
  266. package/.next/server/chunks/2328.js +1 -1
  267. package/.next/server/chunks/2404.js +1 -1
  268. package/.next/server/chunks/2445.js +1 -1
  269. package/.next/server/chunks/261.js +1 -1
  270. package/.next/server/chunks/3123.js +1 -1
  271. package/.next/server/chunks/3241.js +1 -1
  272. package/.next/server/chunks/3480.js +5 -4
  273. package/.next/server/chunks/4299.js +1 -1
  274. package/.next/server/chunks/4393.js +1 -1
  275. package/.next/server/chunks/4443.js +1 -5
  276. package/.next/server/chunks/5017.js +1 -1
  277. package/.next/server/chunks/5043.js +1 -1
  278. package/.next/server/chunks/5164.js +1 -1
  279. package/.next/server/chunks/552.js +2 -2
  280. package/.next/server/chunks/6072.js +1 -1
  281. package/.next/server/chunks/6130.js +1 -1
  282. package/.next/server/chunks/663.js +4 -3
  283. package/.next/server/chunks/6894.js +2 -2
  284. package/.next/server/chunks/7187.js +1 -0
  285. package/.next/server/chunks/7472.js +1 -1
  286. package/.next/server/chunks/{880.js → 7859.js} +6 -6
  287. package/.next/server/chunks/7905.js +1 -1
  288. package/.next/server/chunks/8800.js +2 -2
  289. package/.next/server/chunks/8918.js +7 -0
  290. package/.next/server/chunks/9123.js +2 -2
  291. package/.next/server/chunks/9130.js +4 -4
  292. package/.next/server/chunks/9627.js +1 -1
  293. package/.next/server/chunks/9696.js +1 -1
  294. package/.next/server/chunks/9798.js +1 -1
  295. package/.next/server/middleware-manifest.json +5 -5
  296. package/.next/server/pages/500.html +1 -1
  297. package/.next/server/pages-manifest.json +1 -1
  298. package/.next/server/server-reference-manifest.json +1 -1
  299. package/.next/static/chunks/1783-11c9b4d8a52ebd91.js +1 -0
  300. package/.next/static/chunks/4718-de1224c9e8a6e7fc.js +1 -0
  301. package/.next/static/chunks/6022-2fa0b5a82d4ce7b6.js +1 -0
  302. package/.next/static/chunks/{5229-6c89475b61bd2c8b.js → 6170-951b9f5fe6b4b3b5.js} +1 -1
  303. package/.next/static/chunks/app/chat/{page-9aa2011410895b0d.js → page-37d7615d17d7e2a0.js} +1 -1
  304. package/.next/static/chunks/app/layout-4c2f21e3f653ee4c.js +1 -0
  305. package/.next/static/chunks/app/more/{page-333bba1c8bbc9c11.js → page-353a3924e6d7968e.js} +1 -1
  306. package/.next/static/chunks/app/{page-214f7ffa13a0cf10.js → page-c2bf871d953a1d6f.js} +1 -1
  307. package/.next/static/chunks/app/repositories/{page-4951cac905e50224.js → page-7d0f26df0537254c.js} +1 -1
  308. package/.next/static/chunks/app/review/{page-a0899b2d285318c3.js → page-e3f141b2829973e9.js} +1 -1
  309. package/.next/static/chunks/app/sessions/{page-fb36145ec732092a.js → page-53f188ed9ca49e5f.js} +1 -1
  310. package/.next/static/chunks/app/skills/[skillId]/{page-9099e26b60442873.js → page-80569b720aea59cc.js} +1 -1
  311. package/.next/static/chunks/app/skills/installed/{page-182e32368696d824.js → page-dbd2690ad72da95b.js} +1 -1
  312. package/.next/static/chunks/app/skills/{page-d3fdc88239ebe0ab.js → page-dacd36f9c11aa7da.js} +1 -1
  313. package/.next/static/chunks/app/worktrees/[id]/page-97205088520255a5.js +1 -0
  314. package/.next/static/css/5c13ea243dfdcb66.css +1 -0
  315. package/.next/trace +13 -13
  316. package/README.md +37 -11
  317. package/dist/cli/commands/attach.d.ts +50 -0
  318. package/dist/cli/commands/attach.d.ts.map +1 -0
  319. package/dist/cli/commands/attach.js +204 -0
  320. package/dist/cli/commands/capture.d.ts.map +1 -1
  321. package/dist/cli/commands/capture.js +114 -0
  322. package/dist/cli/commands/instances.d.ts.map +1 -1
  323. package/dist/cli/commands/instances.js +23 -2
  324. package/dist/cli/commands/ls.d.ts.map +1 -1
  325. package/dist/cli/commands/ls.js +41 -1
  326. package/dist/cli/config/cli-dependencies.d.ts.map +1 -1
  327. package/dist/cli/config/cli-dependencies.js +34 -0
  328. package/dist/cli/program.d.ts.map +1 -1
  329. package/dist/cli/program.js +5 -0
  330. package/dist/cli/types/index.d.ts +36 -0
  331. package/dist/cli/types/index.d.ts.map +1 -1
  332. package/dist/config/tmux-pane-config.d.ts +153 -0
  333. package/dist/config/tmux-pane-config.d.ts.map +1 -0
  334. package/dist/config/tmux-pane-config.js +172 -0
  335. package/dist/lib/cli-tools/session-name.d.ts +44 -0
  336. package/dist/lib/cli-tools/session-name.d.ts.map +1 -0
  337. package/dist/lib/cli-tools/session-name.js +57 -0
  338. package/dist/lib/cli-tools/types.d.ts +1 -1
  339. package/dist/lib/cli-tools/types.d.ts.map +1 -1
  340. package/dist/lib/cli-tools/types.js +6 -1
  341. package/dist/lib/cli-tools/validation.d.ts +34 -0
  342. package/dist/lib/cli-tools/validation.d.ts.map +1 -0
  343. package/dist/lib/cli-tools/validation.js +41 -0
  344. package/dist/lib/detection/status-reason.d.ts +18 -0
  345. package/dist/lib/detection/status-reason.d.ts.map +1 -1
  346. package/dist/lib/detection/status-reason.js +18 -0
  347. package/dist/lib/detection/tools/verified-against.d.ts +57 -7
  348. package/dist/lib/detection/tools/verified-against.d.ts.map +1 -1
  349. package/dist/lib/detection/tools/verified-against.js +59 -8
  350. package/dist/lib/detection/version-probes.d.ts +26 -5
  351. package/dist/lib/detection/version-probes.d.ts.map +1 -1
  352. package/dist/lib/detection/version-probes.js +28 -6
  353. package/dist/lib/session/tmux-session-surface.d.ts +369 -0
  354. package/dist/lib/session/tmux-session-surface.d.ts.map +1 -0
  355. package/dist/lib/session/tmux-session-surface.js +525 -0
  356. package/dist/server/src/config/cli-tool-timing-config.js +12 -1
  357. package/dist/server/src/config/detection-evidence-config.js +5 -0
  358. package/dist/server/src/config/schedule-config.js +28 -1
  359. package/dist/server/src/lib/cli-tools/antigravity.js +2 -2
  360. package/dist/server/src/lib/cli-tools/base.js +13 -8
  361. package/dist/server/src/lib/cli-tools/claude.js +20 -0
  362. package/dist/server/src/lib/cli-tools/codex.js +205 -61
  363. package/dist/server/src/lib/cli-tools/command-code.js +349 -0
  364. package/dist/server/src/lib/cli-tools/composer-spec.js +6 -0
  365. package/dist/server/src/lib/cli-tools/copilot.js +2 -2
  366. package/dist/server/src/lib/cli-tools/gemini.js +2 -2
  367. package/dist/server/src/lib/cli-tools/graceful-exit.js +16 -1
  368. package/dist/server/src/lib/cli-tools/index.js +4 -1
  369. package/dist/server/src/lib/cli-tools/install-hints.js +131 -0
  370. package/dist/server/src/lib/cli-tools/liveness-spec.js +18 -0
  371. package/dist/server/src/lib/cli-tools/manager.js +2 -0
  372. package/dist/server/src/lib/cli-tools/opencode.js +2 -2
  373. package/dist/server/src/lib/cli-tools/start-availability.js +18 -11
  374. package/dist/server/src/lib/cli-tools/types.js +6 -1
  375. package/dist/server/src/lib/cli-tools/vibe-local.js +2 -2
  376. package/dist/server/src/lib/cmate-parser.js +6 -0
  377. package/dist/server/src/lib/detection/cli-patterns.js +441 -8
  378. package/dist/server/src/lib/detection/opencode-modal-overlay.js +66 -100
  379. package/dist/server/src/lib/detection/selection-shape.js +341 -0
  380. package/dist/server/src/lib/detection/sgr-background.js +210 -0
  381. package/dist/server/src/lib/detection/status-detector.js +6 -0
  382. package/dist/server/src/lib/detection/status-reason.js +18 -0
  383. package/dist/server/src/lib/detection/tools/antigravity/detect.js +38 -15
  384. package/dist/server/src/lib/detection/tools/codex/cli-patterns.js +392 -0
  385. package/dist/server/src/lib/detection/tools/codex/detect.js +83 -2
  386. package/dist/server/src/lib/detection/tools/command-code/detect.js +159 -0
  387. package/dist/server/src/lib/detection/tools/registry.js +6 -4
  388. package/dist/server/src/lib/detection/tools/verified-against.js +59 -8
  389. package/dist/server/src/lib/detection/version-probes.js +28 -6
  390. package/dist/server/src/lib/hooks/sources/antigravity/history.js +77 -16
  391. package/dist/server/src/lib/hooks/sources/claude/history.js +94 -18
  392. package/dist/server/src/lib/hooks/sources/codex/history.js +84 -15
  393. package/dist/server/src/lib/hooks/sources/codex/hooks-config.js +130 -17
  394. package/dist/server/src/lib/hooks/sources/codex/relay-install.js +145 -0
  395. package/dist/server/src/lib/hooks/sources/command-code/history.js +865 -0
  396. package/dist/server/src/lib/hooks/sources/command-code/hooks-config.js +390 -0
  397. package/dist/server/src/lib/hooks/sources/command-code/source.js +290 -0
  398. package/dist/server/src/lib/hooks/sources/command-code/tool-id.js +18 -0
  399. package/dist/server/src/lib/hooks/sources/command-code/transcript.js +604 -0
  400. package/dist/server/src/lib/hooks/sources/index.js +3 -1
  401. package/dist/server/src/lib/hooks/sources/opencode/history.js +57 -3
  402. package/dist/server/src/lib/hooks/sources/opencode/transcript.js +24 -28
  403. package/dist/server/src/lib/hooks/sources/registry.js +4 -0
  404. package/dist/server/src/lib/hooks/sources/turn-body.js +77 -19
  405. package/dist/server/src/lib/job-executor.js +12 -0
  406. package/dist/server/src/lib/polling/auto-yes-dialog-gate.js +6 -0
  407. package/dist/server/src/lib/polling/response-checker.js +112 -7
  408. package/dist/server/src/lib/polling/structured-history-gate.js +15 -8
  409. package/dist/server/src/lib/realtime/types.js +15 -5
  410. package/dist/server/src/lib/response-cleaner.js +24 -1
  411. package/dist/server/src/lib/response-extractor.js +11 -0
  412. package/dist/server/src/lib/session/claude-executor.js +223 -4
  413. package/dist/server/src/lib/session/cli-session.js +52 -0
  414. package/dist/server/src/lib/session/tmux-session-surface.js +525 -0
  415. package/dist/server/src/lib/skills/compatibility-matrix.js +117 -1
  416. package/dist/server/src/lib/tmux/geometry-delegation.js +143 -0
  417. package/dist/server/src/lib/tmux/read-mode-pager.js +76 -10
  418. package/dist/server/src/lib/tmux/read-mode.js +44 -2
  419. package/dist/server/src/lib/tmux/session-hook-scripts.js +249 -0
  420. package/dist/server/src/lib/tmux/session-hooks.js +122 -0
  421. package/dist/server/src/lib/tmux/session-status-options.js +213 -0
  422. package/dist/server/src/lib/tmux/tmux.js +79 -2
  423. package/dist/server/src/lib/version-checker.js +110 -0
  424. package/dist/server/src/lib/ws-server.js +16 -10
  425. package/dist/server/src/types/agent-transcript.js +73 -1
  426. package/dist/server/src/types/terminal-keys.js +131 -3
  427. package/dist/types/terminal-keys.d.ts +100 -3
  428. package/dist/types/terminal-keys.d.ts.map +1 -1
  429. package/dist/types/terminal-keys.js +131 -3
  430. package/package.json +1 -1
  431. package/.next/server/chunks/3099.js +0 -5
  432. package/.next/server/chunks/7824.js +0 -1
  433. package/.next/static/chunks/3916-0e929d089282dc5d.js +0 -1
  434. package/.next/static/chunks/6022-7a7d1760fc9814c7.js +0 -1
  435. package/.next/static/chunks/6381-147dde2a967e9458.js +0 -1
  436. package/.next/static/chunks/app/layout-6a26ea22d5cf03dc.js +0 -1
  437. package/.next/static/chunks/app/worktrees/[id]/page-2f73d69187936627.js +0 -1
  438. package/.next/static/css/23f9c40ecc458c77.css +0 -1
  439. /package/.next/static/{QXxQbXWoo7ldUyOcv7PCZ → nXW4dPkpE_9xUf_9ySRff}/_buildManifest.js +0 -0
  440. /package/.next/static/{QXxQbXWoo7ldUyOcv7PCZ → nXW4dPkpE_9xUf_9ySRff}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6022],{17683:(e,t,a)=>{a.d(t,{$2:()=>d,B1:()=>x,If:()=>u,NP:()=>i,TR:()=>c,wp:()=>l});var s=a(75676);let n="commandmate.worktree.surfaceMode-",r="commandmate.settings.defaultSurfaceMode",l="/api/settings/default-surface-mode";function d(e,t){return"".concat(n).concat(e,"-split-").concat(t)}function i(e){return"".concat(n).concat(e,"-mobile")}function o(e){try{let t=window.localStorage.getItem(e);return(0,s.jg)(t)?t:null}catch(e){return null}}function u(e,t){try{window.localStorage.setItem(e,t)}catch(e){}}function c(e,t){var a;let n=void 0===t?function(){try{var e=window.location.search;if(!e)return null;try{let t=new URLSearchParams(e).get("view");return(0,s.jg)(t)?t:null}catch(e){return null}}catch(e){return null}}():t;return n?(u(e,n),n):(v||(v=!0,j()),null!=(a=o(e))?a:m())}let f=s.wf,g=new Set;function m(){var e;return null!=(e=o(r))?e:f}function x(e){if(!(0,s.jg)(e))return!1;let t=m()!==e;if(f=e,u(r,e),t)for(let e of g)e();return t}let p=null,h=!1,v=!1;async function j(){return h?m():p||("function"!=typeof fetch?m():p=(async()=>{try{let e=await fetch(l);if(e.ok){let t=await e.json();x(null==t?void 0:t.defaultSurfaceMode),h=!0}}catch(e){}finally{p=null}return m()})())}},46022:(e,t,a)=>{a.d(t,{uN:()=>S,he:()=>x,$8:()=>j});var s=a(95155),n=a(12115),r=a(18955),l=a(5917),d=a(20562),i=a(8803),o=a(65229),u=a(6191),c=a(28019),f=a(54014),g=a(55449);function m(e){return!!e&&"object"==typeof e&&Array.isArray(e.defaultSelectedAgents)&&e.defaultSelectedAgents.length>0&&Array.isArray(e.available)&&e.available.length>0&&"number"==typeof e.minAgents&&"number"==typeof e.maxAgents}function x(){var e;let t=(0,r.c)("common"),[a,x]=(0,n.useState)(null),[p,h]=(0,n.useState)([]),[v,j]=(0,n.useState)(!0),[b,y]=(0,n.useState)("idle"),[N,w]=(0,n.useState)(null),S=(0,n.useCallback)(async()=>{try{let e=await fetch("".concat(g.zk,"?include=installed"));if(!e.ok)throw Error(String(e.status));let t=await e.json();if(!m(t))throw Error("unexpected body");x(t),h(t.defaultSelectedAgents),(0,g.IK)(t.defaultSelectedAgents)}catch(e){w(t("settings.defaultAgents.loadError"))}finally{j(!1)}},[t]);(0,n.useEffect)(()=>{S()},[S]);let A=(0,n.useCallback)(e=>{h(e),y("idle"),w(null)},[]),k=(0,n.useCallback)((e,t)=>{let a=e+t;if(a<0||a>=p.length)return;let s=[...p];[s[e],s[a]]=[s[a],s[e]],A(s)},[p,A]),C=(0,n.useCallback)(async e=>{y("saving"),w(null);try{let s=await fetch(g.zk,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({agents:e})}),n=await s.json().catch(()=>null);if(!s.ok||!m(n)){var a;y("error"),w(null!=(a=null==n?void 0:n.error)?a:t("settings.defaultAgents.saveError"));return}x(e=>({...n,installed:null==e?void 0:e.installed})),h(n.defaultSelectedAgents),(0,g.IK)(n.defaultSelectedAgents),y("saved")}catch(e){y("error"),w(t("settings.defaultAgents.saveError"))}},[t]);if(v)return(0,s.jsx)(c.Zp,{children:(0,s.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,s.jsx)(c.y$,{size:"sm"}),t("loadingPage")]})});if(!a)return(0,s.jsx)(c.Zp,{children:(0,s.jsx)("div",{className:"text-sm text-danger-foreground","data-testid":"default-agents-load-error",children:null!=N?N:t("settings.defaultAgents.loadError")})});let E=null!=(e=a.installed)?e:[],M=a.available.filter(e=>!p.includes(e)),U=p.length<a.minAgents,T=p.length>a.maxAgents,P=!U&&!T&&"saving"!==b,I=e=>E.includes(e)?(0,s.jsxs)("span",{className:"inline-flex items-center gap-1 rounded bg-success-subtle px-1.5 py-0.5 text-xs text-success-foreground","data-testid":"default-agents-installed-".concat(e),children:[(0,s.jsx)(l.A,{className:"h-3 w-3","aria-hidden":"true"}),t("settings.defaultAgents.installed")]}):(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:t("settings.defaultAgents.notInstalled")});return(0,s.jsx)(c.Zp,{children:(0,s.jsxs)("div",{className:"space-y-4","data-testid":"default-agents-settings",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"text-sm font-medium text-foreground",children:t("settings.defaultAgents.title")}),(0,s.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:t("settings.defaultAgents.description")}),(0,s.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:t("settings.defaultAgents.appliesToNew")})]}),(0,s.jsx)("ul",{className:"space-y-2","data-testid":"default-agents-selected",children:p.map((e,n)=>(0,s.jsxs)("li",{className:"flex items-center gap-2 rounded-md border border-border bg-surface px-3 py-2","data-testid":"default-agents-row-".concat(e),children:[(0,s.jsx)("span",{className:"w-6 text-xs text-muted-foreground",children:n+1}),(0,s.jsx)("span",{className:"text-sm text-foreground",children:(0,f.oo)(e)}),0===n&&(0,s.jsx)("span",{className:"rounded bg-info-subtle px-1.5 py-0.5 text-xs text-info-foreground","data-testid":"default-agents-primary-badge",children:t("settings.defaultAgents.primary")}),(0,s.jsx)("span",{className:"ml-auto",children:I(e)}),(0,s.jsx)("button",{type:"button",className:"rounded p-1 text-muted-foreground hover:bg-muted disabled:opacity-40",onClick:()=>k(n,-1),disabled:0===n,"aria-label":t("settings.defaultAgents.moveUp"),"data-testid":"default-agents-up-".concat(e),children:(0,s.jsx)(d.A,{className:"h-4 w-4","aria-hidden":"true"})}),(0,s.jsx)("button",{type:"button",className:"rounded p-1 text-muted-foreground hover:bg-muted disabled:opacity-40",onClick:()=>k(n,1),disabled:n===p.length-1,"aria-label":t("settings.defaultAgents.moveDown"),"data-testid":"default-agents-down-".concat(e),children:(0,s.jsx)(i.A,{className:"h-4 w-4","aria-hidden":"true"})}),(0,s.jsx)("button",{type:"button",className:"rounded p-1 text-muted-foreground hover:bg-muted disabled:opacity-40",onClick:()=>A(p.filter(t=>t!==e)),disabled:p.length<=a.minAgents,"aria-label":t("settings.defaultAgents.remove"),"data-testid":"default-agents-remove-".concat(e),children:(0,s.jsx)(o.A,{className:"h-4 w-4","aria-hidden":"true"})})]},e))}),M.length>0&&(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"mb-2 text-xs text-muted-foreground",children:t("settings.defaultAgents.addLabel")}),(0,s.jsx)("ul",{className:"space-y-2","data-testid":"default-agents-available",children:M.map(e=>(0,s.jsxs)("li",{className:"flex items-center gap-2 rounded-md border border-border px-3 py-2",children:[(0,s.jsx)("span",{className:"text-sm text-foreground",children:(0,f.oo)(e)}),(0,s.jsx)("span",{className:"ml-auto",children:I(e)}),(0,s.jsx)("button",{type:"button",className:"rounded p-1 text-muted-foreground hover:bg-muted disabled:opacity-40",onClick:()=>A([...p,e]),disabled:p.length>=a.maxAgents,"aria-label":t("settings.defaultAgents.add"),"data-testid":"default-agents-add-".concat(e),children:(0,s.jsx)(u.A,{className:"h-4 w-4","aria-hidden":"true"})})]},e))})]}),(U||T)&&(0,s.jsx)("div",{className:"text-xs text-danger-foreground","data-testid":"default-agents-range-error",children:t("settings.defaultAgents.range",{min:a.minAgents,max:a.maxAgents})}),N&&(0,s.jsx)("div",{className:"text-xs text-danger-foreground","data-testid":"default-agents-error",children:N}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(c.$n,{size:"sm",onClick:()=>void C(p),disabled:!P,"data-testid":"default-agents-save",children:"saving"===b?t("settings.defaultAgents.saving"):t("settings.defaultAgents.save")}),(0,s.jsx)(c.$n,{size:"sm",variant:"ghost",onClick:()=>void C(null),disabled:!a.configured||"saving"===b,"data-testid":"default-agents-reset",children:t("settings.defaultAgents.reset")}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground","data-testid":"default-agents-state",children:"saved"===b?t("settings.defaultAgents.saved"):a.configured?t("settings.defaultAgents.configured"):t("settings.defaultAgents.usingBuiltIn")})]}),a.configured&&(0,s.jsx)("div",{className:"text-xs text-muted-foreground","data-testid":"default-agents-builtin",children:t("settings.defaultAgents.builtIn",{agents:a.constantDefault.map(f.oo).join(", ")})})]})})}var p=a(17683),h=a(75676);function v(e){return!!e&&"object"==typeof e&&(0,h.jg)(e.defaultSurfaceMode)&&(0,h.jg)(e.constantDefault)&&Array.isArray(e.available)&&e.available.length>0&&e.available.every(h.jg)}function j(){var e;let t=(0,r.c)("common"),[a,l]=(0,n.useState)(null),[d,i]=(0,n.useState)(!0),[o,u]=(0,n.useState)("idle"),[f,g]=(0,n.useState)(null),m=(0,n.useCallback)(async()=>{try{let e=await fetch(p.wp);if(!e.ok)throw Error(String(e.status));let t=await e.json();if(!v(t))throw Error("unexpected body");l(t),(0,p.B1)(t.defaultSurfaceMode)}catch(e){g({kind:"load"})}finally{i(!1)}},[]);(0,n.useEffect)(()=>{m()},[m]);let x=(0,n.useCallback)(async e=>{u("saving"),g(null),l(t=>t?{...t,defaultSurfaceMode:e}:t);try{let t=await fetch(p.wp,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:e})}),a=await t.json().catch(()=>null);if(!t.ok||!v(a)){u("error"),g({kind:"save",detail:null==a?void 0:a.error}),m();return}l(a),(0,p.B1)(a.defaultSurfaceMode),u("saved")}catch(e){u("error"),g({kind:"save"}),m()}},[m]),h=f?null!=(e=f.detail)?e:t("load"===f.kind?"settings.defaultSurfaceMode.loadError":"settings.defaultSurfaceMode.saveError"):null;return d?(0,s.jsx)(c.Zp,{children:(0,s.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,s.jsx)(c.y$,{size:"sm"}),t("loadingPage")]})}):a?(0,s.jsx)(c.Zp,{children:(0,s.jsxs)("div",{className:"space-y-4","data-testid":"default-surface-mode-settings",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"text-sm font-medium text-foreground",children:t("settings.defaultSurfaceMode.title")}),(0,s.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:t("settings.defaultSurfaceMode.description")}),(0,s.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:t("settings.defaultSurfaceMode.appliesToNew")})]}),(0,s.jsx)("div",{role:"radiogroup","aria-label":t("settings.defaultSurfaceMode.title"),className:"space-y-2","data-selected":a.defaultSurfaceMode,children:a.available.map(e=>(0,s.jsxs)("label",{className:"flex cursor-pointer items-start gap-2 rounded-md border border-border bg-surface px-3 py-2","data-testid":"default-surface-mode-option-".concat(e),children:[(0,s.jsx)("input",{type:"radio",name:"default-surface-mode",value:e,className:"mt-0.5",checked:a.defaultSurfaceMode===e,disabled:"saving"===o,onChange:()=>void x(e),"data-testid":"default-surface-mode-radio-".concat(e)}),(0,s.jsxs)("span",{children:[(0,s.jsx)("span",{className:"block text-sm text-foreground",children:t("settings.defaultSurfaceMode.mode.".concat(e))}),(0,s.jsx)("span",{className:"block text-xs text-muted-foreground",children:t("settings.defaultSurfaceMode.hint.".concat(e))})]})]},e))}),h&&(0,s.jsx)("div",{className:"text-xs text-danger-foreground","data-testid":"default-surface-mode-error",children:h}),(0,s.jsx)("div",{className:"text-xs text-muted-foreground","data-testid":"default-surface-mode-state",children:"saving"===o?t("settings.defaultSurfaceMode.saving"):"saved"===o?t("settings.defaultSurfaceMode.saved"):a.configured?t("settings.defaultSurfaceMode.configured"):t("settings.defaultSurfaceMode.usingBuiltIn")})]})}):(0,s.jsx)(c.Zp,{children:(0,s.jsx)("div",{className:"text-sm text-danger-foreground","data-testid":"default-surface-mode-load-error",children:null!=h?h:t("settings.defaultSurfaceMode.loadError")})})}var b=a(68695),y=a(52056),N=a(48314);function w(e){let t=e.trim();if(!t)return null;try{let e=JSON.parse(t);if(!e||"object"!=typeof e)return null;let a=e.type;if("plan"!==a&&"output"!==a&&"done"!==a)return null;return e}catch(e){return null}}function S(e){var t,a,l;let{worktreeId:d,instances:i,variant:o="card"}=e,u=(0,r.c)("common"),{versions:g,isLoading:m,loadError:x,run:p,isUpdating:h,update:v}=function(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],[t,a]=(0,n.useState)(null),[s,r]=(0,n.useState)(!1),[l,d]=(0,n.useState)(e),[i,o]=(0,n.useState)(null),[u,c]=(0,n.useState)(!1),f=(0,n.useRef)(!0);(0,n.useEffect)(()=>(f.current=!0,()=>{f.current=!1}),[]);let g=(0,n.useCallback)(async function(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(e){d(!0);try{let e=await fetch("/api/agents/versions".concat(t?"?refresh=1":""));if(!e.ok)throw Error(String(e.status));let s=await e.json();if(!(s&&"object"==typeof s&&Array.isArray(s.tools)&&Array.isArray(s.updatable)))throw Error("unexpected body");if(!f.current)return;a(s.tools),r(!1)}catch(e){if(!f.current)return;r(!0)}finally{f.current&&d(!1)}}},[e]);(0,n.useEffect)(()=>{g(!1)},[g]);let m=(0,n.useCallback)(async e=>{if(u)return;c(!0),o({tool:e,command:null,output:"",ok:null,previousVersion:null,installed:null,error:null});let t=e=>{f.current&&o(t=>t?{...t,ok:!1,error:e}:t)};try{var a,s;let n=await fetch("/api/agents/update",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tool:e})});if(!n.ok||!n.body){let e=await n.json().catch(()=>null);t(null!=(a=null==e?void 0:e.error)?a:"Request failed (".concat(n.status,")"));return}let r=n.body.getReader(),l=new TextDecoder,d="",i=e=>{f.current&&o(t=>{var a;return t?"plan"===e.type?{...t,command:e.command}:"output"===e.type?{...t,output:t.output+e.text}:{...t,ok:e.ok,previousVersion:e.previousVersion,installed:e.installed,error:null!=(a=e.error)?a:null}:t})};for(;;){let{done:e,value:t}=await r.read();if(e)break;let a=(d+=l.decode(t,{stream:!0})).split("\n");for(let e of(d=null!=(s=a.pop())?s:"",a)){let t=w(e);t&&i(t)}}let u=w(d);u&&i(u)}catch(e){t(e instanceof Error?e.message:String(e))}finally{f.current&&c(!1),await g(!0)}},[u,g]);return{versions:t,isLoading:l,loadError:s,run:i,isUpdating:u,reload:g,update:m}}(!0),[j,S]=(0,n.useState)(0),A=function(e,t,a){let[s,r]=(0,n.useState)({});return(0,n.useEffect)(()=>{if(!e||!t||0===t.length)return void r({});let a=!1;return(async()=>{try{let t=await fetch("/api/worktrees/".concat(e));if(!t.ok)return;let s=await t.json();if(a)return;let n=s.sessionStatusByInstance,l={};for(let[e,t]of Object.entries(null!=n?n:{}))(null==t?void 0:t.isRunning)&&(l[e]=!0);r(l)}catch(e){}})(),()=>{a=!0}},[e,t,a]),s}(d,i,j),[k,C]=(0,n.useState)({}),[E,M]=(0,n.useState)(null),U=(0,n.useRef)(null);(0,n.useEffect)(()=>{U.current&&(U.current.scrollTop=U.current.scrollHeight)},[null==p?void 0:p.output]);let T=(null==p?void 0:p.ok)===!0;(0,n.useEffect)(()=>{T&&S(e=>e+1)},[T]);let P=(0,n.useCallback)(e=>(null!=i?i:[]).filter(t=>t.cliTool===e&&A[t.id]),[i,A]),I=(0,n.useCallback)(async e=>{if(d){M(null);try{let t=new URLSearchParams({cliTool:e.cliTool,instance:e.id}),a=await fetch("/api/worktrees/".concat(d,"/kill-session?").concat(t.toString()),{method:"POST"});if(!a.ok&&404!==a.status)throw Error(String(a.status));C(t=>({...t,[e.id]:!0})),S(e=>e+1)}catch(e){M(u("agentUpdates.restartError"))}}},[d,u]),R=m&&!g?(0,s.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,s.jsx)(c.y$,{size:"sm"}),u("loadingPage")]}):x&&!g?(0,s.jsx)("div",{className:"text-sm text-danger-foreground","data-testid":"agent-updates-load-error",children:u("agentUpdates.loadError")}):(0,s.jsxs)("div",{className:"space-y-3","data-testid":"agent-updates",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"text-sm font-medium text-foreground",children:u("agentUpdates.title")}),(0,s.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:u("agentUpdates.description")})]}),(0,s.jsx)("ul",{className:"space-y-2","data-testid":"agent-updates-rows",children:(null!=g?g:[]).map(e=>{var t,a;let n=P(e.tool),r=e.updatable&&null!==e.installed;return(0,s.jsxs)("li",{className:"rounded-md border border-border bg-surface px-3 py-2","data-testid":"agent-updates-row-".concat(e.tool),children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,s.jsx)("span",{className:"text-sm text-foreground",children:(a=e.tool,(0,f.oo)(a)||a)}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground","data-testid":"agent-updates-installed-".concat(e.tool),children:e.installed?u("agentUpdates.installed",{version:e.installed}):u("agentUpdates.notInstalled")}),e.updateAvailable&&(0,s.jsx)("span",{className:"rounded bg-info-subtle px-1.5 py-0.5 text-xs text-info-foreground","data-testid":"agent-updates-available-".concat(e.tool),children:u("agentUpdates.available",{version:null!=(t=e.latestVersion)?t:""})}),e.dismissedInCodex&&(0,s.jsx)("span",{className:"text-xs text-muted-foreground","data-testid":"agent-updates-dismissed-".concat(e.tool),children:u("agentUpdates.dismissed")}),r&&(0,s.jsxs)(c.$n,{size:"sm",className:"ml-auto",disabled:h,onClick:()=>void v(e.tool),"data-testid":"agent-updates-update-".concat(e.tool),children:[(0,s.jsx)(b.A,{className:"h-4 w-4","aria-hidden":"true"}),h&&(null==p?void 0:p.tool)===e.tool?u("agentUpdates.updating"):u("agentUpdates.update")]})]}),r&&n.length>0&&(0,s.jsxs)("div",{className:"mt-2 flex items-start gap-1 text-xs text-warning-foreground","data-testid":"agent-updates-restart-warning-".concat(e.tool),children:[(0,s.jsx)(y.A,{className:"mt-0.5 h-3 w-3 shrink-0","aria-hidden":"true"}),(0,s.jsx)("span",{children:u("agentUpdates.restartWarning",{sessions:n.map(e=>e.alias).join(", ")})})]}),r&&0===n.length&&void 0===d&&(0,s.jsx)("p",{className:"mt-2 text-xs text-muted-foreground","data-testid":"agent-updates-restart-notice-".concat(e.tool),children:u("agentUpdates.restartNotice")}),T&&(null==p?void 0:p.tool)===e.tool&&n.map(e=>(0,s.jsxs)("div",{className:"mt-2 flex items-center gap-2",children:[(0,s.jsxs)(c.$n,{size:"sm",variant:"ghost",disabled:k[e.id],onClick:()=>void I(e),"data-testid":"agent-updates-restart-".concat(e.id),children:[(0,s.jsx)(N.A,{className:"h-4 w-4","aria-hidden":"true"}),u("agentUpdates.restart",{alias:e.alias})]}),k[e.id]&&(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:u("agentUpdates.restarted")})]},e.id))]},e.tool)})}),p&&(0,s.jsxs)("div",{className:"space-y-2","data-testid":"agent-updates-run",children:[p.command&&(0,s.jsx)("div",{className:"text-xs text-muted-foreground","data-testid":"agent-updates-command",children:u("agentUpdates.running",{command:p.command})}),p.output&&(0,s.jsx)("pre",{ref:U,"data-testid":"agent-updates-output",className:"max-h-48 overflow-auto whitespace-pre-wrap rounded-md bg-terminal-surface p-2 text-xs text-terminal-foreground",children:p.output}),!0===p.ok&&(0,s.jsx)("div",{className:"text-xs text-success-foreground","data-testid":"agent-updates-success",children:u("agentUpdates.succeeded",{from:null!=(t=p.previousVersion)?t:"?",to:null!=(a=p.installed)?a:"?"})}),!1===p.ok&&(0,s.jsx)("div",{className:"text-xs text-danger-foreground","data-testid":"agent-updates-failure",children:u("agentUpdates.failed",{error:null!=(l=p.error)?l:""})})]}),E&&(0,s.jsx)("div",{className:"text-xs text-danger-foreground","data-testid":"agent-updates-restart-error",children:E})]});return"plain"===o?R:(0,s.jsx)(c.Zp,{children:R})}},75676:(e,t,a)=>{a.d(t,{jg:()=>r,kQ:()=>l,mR:()=>o,mS:()=>i,wf:()=>s});let s="terminal",n=new Set(["terminal","chat"]);function r(e){return"string"==typeof e&&n.has(e)}let l={data:null,messageId:null,visible:!1,answering:!1},d={mode:"split",mobileActivePane:"terminal",leftPaneTab:"history",splitRatio:.5,leftPaneCollapsed:!1,activityBar:{active:"files"},historyPane:{visible:!0,width:25,collapsed:!1}},i={type:null,message:null,retryable:!1,retryCount:0};function o(){return{phase:"idle",prompt:{...l},layout:{...d},error:{...i},messages:[],wsConnected:!1}}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6381],{2317:(e,t,n)=>{n.d(t,{V:()=>i});var r=n(12115);function o(){try{let e="__localStorage_test__";return window.localStorage.setItem(e,"test"),window.localStorage.removeItem(e),!0}catch(e){return!1}}function i(e){let{key:t,defaultValue:n,validate:i,serialize:a=JSON.stringify,deserialize:s=JSON.parse}=e,l=(0,r.useRef)(n),c=(0,r.useRef)(i),u=(0,r.useRef)(a),d=(0,r.useRef)(s);l.current=n,c.current=i,u.current=a,d.current=s;let[f,p]=(0,r.useState)(!1),[g,y]=(0,r.useState)(n),m=(0,r.useCallback)(()=>{if(!o())return l.current;try{let e=window.localStorage.getItem(t);if(null===e)return l.current;let n=d.current(e);if(c.current)return c.current(n)?n:l.current;return n}catch(e){return l.current}},[t]),h=(0,r.useCallback)(e=>{if(o())try{let n=u.current(e);window.localStorage.setItem(t,n)}catch(e){}},[t]),w=(0,r.useCallback)(e=>{y(t=>{let n="function"==typeof e?e(t):e;return h(n),n})},[h]),S=(0,r.useCallback)(()=>{if(o())try{window.localStorage.removeItem(t)}catch(e){}y(l.current)},[t]);return(0,r.useEffect)(()=>{p(o()),y(m())},[m]),{value:g,setValue:w,removeValue:S,isAvailable:f}}},7636:(e,t,n)=>{n.d(t,{LV:()=>c,Si:()=>i,UZ:()=>s,Xn:()=>f,_s:()=>p,nO:()=>u,s6:()=>l});var r=n(38606);let o=["updatedAt","repositoryName","branchName","status","lastSent"],i=e=>o.includes(e),a={waiting:0,ready:1,running:2,generating:3,idle:4};function s(e){let t=new Set;for(let n of e)!1===n.visible&&t.add(n.path);return t}function l(e,t){return 0===t.size?e.slice():e.filter(e=>{let n=e.repositoryPath;return!n||!t.has(n)})}function c(e){let t=function(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)|0;return Math.abs(t)}(e)%360;return"hsl(".concat(t,", ").concat(65,"%, ").concat(60,"%)")}function u(e,t){if(!e&&!t)return 0;if(!e)return 1;if(!t)return -1;let n=e instanceof Date?e.getTime():new Date(e).getTime();return(t instanceof Date?t.getTime():new Date(t).getTime())-n}function d(e){return"waiting"===(e.cliStatus&&Object.keys(e.cliStatus).length>0?(0,r.A7)(e.cliStatus):e.status)}function f(e,t,n){let r=[...e],o="status"!==t;return r.sort((e,r)=>{if(o){let t=Number(d(r))-Number(d(e));if(0!==t)return t}let i=0;switch(t){case"updatedAt":{let t=e=>e?e instanceof Date?e.getTime():new Date(e).getTime():0,n=t(e.lastActivity);i=t(r.lastActivity)-n;break}case"repositoryName":{let t=e.repositoryName.toLowerCase(),n=r.repositoryName.toLowerCase();i=t.localeCompare(n);break}case"branchName":{let t=e.name.toLowerCase(),n=r.name.toLowerCase();i=t.localeCompare(n);break}case"status":i=a[e.status]-a[r.status];break;case"lastSent":{let t=u(e.lastActivity,r.lastActivity);if(!e.lastActivity&&!r.lastActivity){i=0;break}if(!e.lastActivity)return 1;if(!r.lastActivity)return -1;i=t;break}default:i=0}return("updatedAt"===t||"lastSent"===t?"desc"===n:"asc"===n)?i:-i}),r}function p(e,t,n){let r=new Map;for(let t of e){let e=t.repositoryName;r.has(e)||r.set(e,[]),r.get(e).push(t)}return[...r.keys()].sort((e,t)=>e.toLowerCase().localeCompare(t.toLowerCase())).map(e=>({repositoryName:e,branches:f(r.get(e),t,n)}))}},22592:(e,t,n)=>{n.d(t,{Ps:()=>d,W5:()=>u});var r=n(95155),o=n(12115),i=n(38218),a=n(68704);let s="data-pc-size",l={size:a.r5,setSize:()=>{},isMobile:!1,factor:a.d8[a.r5].factor,isAvailable:!1},c=(0,o.createContext)(l);function u(e){let{children:t}=e,{size:n,setSize:l,isAvailable:u}=(0,a.of)(),d=(0,i.a)();(0,o.useEffect)(()=>{if("undefined"==typeof document)return;let e=document.documentElement;return d?void e.removeAttribute(s):(e.setAttribute(s,n),()=>{e.removeAttribute(s)})},[n,d]);let f=(0,o.useMemo)(()=>({size:n,setSize:l,isMobile:d,factor:a.d8[n].factor,isAvailable:u}),[n,l,d,u]);return(0,r.jsx)(c.Provider,{value:f,children:t})}function d(){return(0,o.useContext)(c)}},24373:(e,t,n)=>{n.d(t,{Kg:()=>i,Lv:()=>a});var r=n(12115),o=n(66966);function i(e){let t=0;for(let n of e)!0===n.isWaitingForResponse&&t++;return t}function a(){let e=(0,o.rC)(),t=null==e?void 0:e.worktrees;return(0,r.useMemo)(()=>{let e=t?t.filter(e=>!0===e.isWaitingForResponse):[];return{count:e.length,worktrees:e}},[t])}n(44308)},32916:(e,t,n)=>{n.d(t,{GB:()=>u,VF:()=>d});var r=n(95155),o=n(12115),i=n(7636);let a="updatedAt",s=(0,o.createContext)(null);function l(e,t,n,r){let i=(0,o.useRef)(!0);(0,o.useEffect)(()=>{try{let t=localStorage.getItem(e);t&&r(t)}catch(e){}},[]),(0,o.useEffect)(()=>{if(i.current){i.current=!1;return}try{localStorage.setItem(e,n())}catch(e){}},[t])}function c(e,t){switch(t.type){case"TOGGLE":return{...e,isOpen:!e.isOpen};case"SET_WIDTH":return{...e,width:t.width};case"OPEN_MOBILE_DRAWER":return{...e,isMobileDrawerOpen:!0};case"CLOSE_MOBILE_DRAWER":return{...e,isMobileDrawerOpen:!1};case"SET_SORT_KEY":return{...e,sortKey:t.sortKey};case"SET_SORT_DIRECTION":return{...e,sortDirection:t.sortDirection};case"LOAD_SORT_SETTINGS":return{...e,sortKey:t.sortKey,sortDirection:t.sortDirection};case"SET_VIEW_MODE":return{...e,viewMode:t.viewMode};default:return e}}function u(e){let{children:t,initialOpen:n=!0,initialWidth:u=224}=e,[d,f]=(0,o.useReducer)(c,{isOpen:n,width:u,isMobileDrawerOpen:!1,sortKey:a,sortDirection:"desc",viewMode:"grouped"});l("mcbd-sidebar-sort","".concat(d.sortKey,":").concat(d.sortDirection),()=>JSON.stringify({sortKey:d.sortKey,sortDirection:d.sortDirection}),e=>{try{let t=JSON.parse(e),n=t.sortDirection,r=(0,i.Si)(t.sortKey)?t.sortKey:a;r&&("asc"===n||"desc"===n)&&f({type:"LOAD_SORT_SETTINGS",sortKey:r,sortDirection:n})}catch(e){}}),l("mcbd-sidebar-view-mode",d.viewMode,()=>d.viewMode,e=>{("grouped"===e||"flat"===e)&&f({type:"SET_VIEW_MODE",viewMode:e})}),l("mcbd-sidebar-width",d.width,()=>String(d.width),e=>{let t=Number(e);!isNaN(t)&&t>0&&f({type:"SET_WIDTH",width:288===t?224:t})});let p=(0,o.useCallback)(()=>{f({type:"TOGGLE"})},[]),g=(0,o.useCallback)(e=>{f({type:"SET_WIDTH",width:e})},[]),y=(0,o.useCallback)(()=>{f({type:"OPEN_MOBILE_DRAWER"})},[]),m=(0,o.useCallback)(()=>{f({type:"CLOSE_MOBILE_DRAWER"})},[]),h=(0,o.useCallback)(e=>{f({type:"SET_SORT_KEY",sortKey:e})},[]),w=(0,o.useCallback)(e=>{f({type:"SET_SORT_DIRECTION",sortDirection:e})},[]),S=(0,o.useCallback)(e=>{f({type:"SET_VIEW_MODE",viewMode:e})},[]),v=(0,o.useMemo)(()=>({isOpen:d.isOpen,width:d.width,isMobileDrawerOpen:d.isMobileDrawerOpen,sortKey:d.sortKey,sortDirection:d.sortDirection,toggle:p,setWidth:g,openMobileDrawer:y,closeMobileDrawer:m,setSortKey:h,setSortDirection:w,viewMode:d.viewMode,setViewMode:S}),[d.isOpen,d.width,d.isMobileDrawerOpen,d.sortKey,d.sortDirection,d.viewMode,p,g,y,m,h,w,S]);return(0,r.jsx)(s.Provider,{value:v,children:t})}function d(){let e=(0,o.useContext)(s);if(!e)throw Error("useSidebarContext must be used within a SidebarProvider");return e}},38218:(e,t,n)=>{n.d(t,{D:()=>i,a:()=>a});var r=n(12115);let o=r.useLayoutEffect,i=768;function a(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{breakpoint:t=i}=e,[n,a]=(0,r.useState)(!1);return o(()=>{let e=window.matchMedia("(max-width: ".concat(t-1,"px)"));a(e.matches);let n=e=>{a(e.matches)};return e.addEventListener("change",n),()=>{e.removeEventListener("change",n)}},[t]),n}},38606:(e,t,n)=>{n.d(t,{A7:()=>c,kA:()=>i,f_:()=>f,dw:()=>u,XK:()=>p});var r=n(54014),o=n(55449);function i(e){return e?e.isWaitingForResponse?"waiting":e.isProcessing?"running":e.isRunning?"ready":"idle":"idle"}let a={start:"nextAction.start",sendMessage:"nextAction.sendMessage",approveReject:"nextAction.approveReject",replyToPrompt:"nextAction.replyToPrompt",checkStalled:"nextAction.checkStalled",running:"nextAction.running"};Object.values(a);let s="exited",l={idle:null,ready:"ready",running:"running",generating:"running",waiting:"waiting"};function c(e){if(!e)return"idle";let t=Object.values(e).filter(e=>void 0!==e);return 0===t.length?"idle":t.includes("waiting")?"waiting":t.includes("running")?"running":t.includes("generating")?"generating":t.includes("ready")?"ready":"idle"}function u(e,t,n){return e?Object.entries(e).map(e=>{var o;let[i,a]=e,s=null!=(o=null==t?void 0:t[i])?o:(0,r.f_)(i,i),l=null==n?void 0:n(i);return"".concat(s,": ").concat(null!=a?a:"idle").concat(l?" (".concat(l,")"):"")}).join(", "):""}let d=["prompt","menu","unclassified"];function f(e){var t,n,r;let o=Object.values(null!=(n=null!=(t=e.sessionStatusByInstance)?t:e.sessionStatusByCli)?n:{}).filter(e=>void 0!==e),i=!1,a=new Set;for(let e of o)e.awaitingInstruction&&(i=!0),e.waitingKind&&a.add(e.waitingKind);return{waitingKind:null!=(r=d.find(e=>a.has(e)))?r:null,awaitingInstruction:i}}function p(e){var t,n,u,d,p,g;let y=i(void 0!==e.isSessionRunning?{isRunning:null!=(t=e.isSessionRunning)&&t,isWaitingForResponse:null!=(n=e.isWaitingForResponse)&&n,isProcessing:null!=(u=e.isProcessing)&&u}:void 0),m=!!e.lastAssistantMessageAt&&(!e.lastViewedAt||new Date(e.lastAssistantMessageAt)>new Date(e.lastViewedAt)),{cliStatus:h,cliStatusLabels:w,exitedInstanceIds:S}=function(e){var t,n,a,l,c,u;let d={},f={},p=[],g=e.sessionStatusByInstance;if(!g){for(let c of null!=(t=e.selectedAgents)?t:(0,o.sA)())d[c]=i(null==(n=e.sessionStatusByCli)?void 0:n[c]),f[c]=(0,r.oo)(c),(null==(l=e.sessionStatusByCli)||null==(a=l[c])?void 0:a.sessionStatusReason)===s&&p.push(c);return{cliStatus:d,cliStatusLabels:f,exitedInstanceIds:p}}let y=e.agentInstances&&e.agentInstances.length>0?e.agentInstances:(0,r.lu)(null!=(c=e.selectedAgents)?c:(0,o.sA)()),m=new Set;for(let e of y)m.add(e.id),d[e.id]=i(g[e.id]),f[e.id]=(0,r.sw)(e),(null==(u=g[e.id])?void 0:u.sessionStatusReason)===s&&p.push(e.id);for(let[e,t]of Object.entries(g)){if(m.has(e))continue;let n=i(t);"idle"!==n&&(d[e]=n,f[e]=function(e){let t=r.XH.find(t=>e.startsWith("".concat(t,"-")));if(t){let n=e.slice(t.length+1);return"".concat((0,r.oo)(t)," ").concat(n)}return(0,r.f_)(e,e)}(e))}return{cliStatus:d,cliStatusLabels:f,exitedInstanceIds:p}}(e),v=c(h),{waitingKind:b,awaitingInstruction:E}=f(e);return{id:e.id,name:e.name,repositoryName:null!=(d=e.repositoryDisplayName)?d:e.repositoryName,status:y,hasUnread:m,lastActivity:e.updatedAt,description:e.description,cliStatus:h,cliStatusLabels:w,exitedInstanceIds:S,worktreePath:e.path,waitingKind:b,awaitingInstruction:E,nextActionKey:(p=l[v],g="waiting"===v?"approval":null,p&&"idle"!==p?"ready"===p?a.sendMessage:"waiting"===p&&"approval"===g?a.approveReject:"waiting"===p?a.replyToPrompt:(0,a.running):a.start)}}},39649:(e,t,n)=>{n.d(t,{$f:()=>d,H8:()=>u});var r=n(95155),o=n(12115),i=n(80344);let a={PROCESSING:2e3,SESSION_RUNNING:5e3,IDLE:1e4},s=(0,o.createContext)(null),l={selectedWorktreeId:null,worktrees:[],repositories:[],selectedWorktreeDetail:null,isLoading:!0,isLoadingDetail:!1,error:null};function c(e,t){switch(t.type){case"SET_WORKTREES":return{...e,worktrees:t.worktrees,isLoading:!1};case"SET_REPOSITORIES":return{...e,repositories:t.repositories};case"SELECT_WORKTREE":{var n;let r=null!=(n=e.worktrees.find(e=>e.id===t.id))?n:null;return{...e,selectedWorktreeId:t.id,selectedWorktreeDetail:null!=r?r:e.selectedWorktreeDetail,isLoadingDetail:null===r}}case"SET_WORKTREE_DETAIL":return{...e,selectedWorktreeDetail:t.detail};case"SET_LOADING":return{...e,isLoading:t.isLoading};case"SET_LOADING_DETAIL":return{...e,isLoadingDetail:t.isLoadingDetail};case"SET_ERROR":return{...e,error:t.error,isLoading:!1};default:return e}}function u(e){let{children:t,externalWorktrees:n,externalRepositories:u,externalIsLoading:d,externalError:f,externalRefresh:p}=e,g=void 0!==n,[y,m]=(0,o.useReducer)(c,l);(0,o.useEffect)(()=>{g&&n&&m({type:"SET_WORKTREES",worktrees:n})},[g,n]),(0,o.useEffect)(()=>{g&&u&&m({type:"SET_REPOSITORIES",repositories:u})},[g,u]);let h=(0,o.useCallback)(async()=>{if(!g){m({type:"SET_LOADING",isLoading:!0}),m({type:"SET_ERROR",error:null});try{var e;let t=await i.y.getAll();m({type:"SET_WORKTREES",worktrees:t.worktrees}),m({type:"SET_REPOSITORIES",repositories:null!=(e=t.repositories)?e:[]})}catch(e){m({type:"SET_ERROR",error:e instanceof Error?e.message:"Failed to fetch worktrees"})}}},[g]),w=(0,o.useCallback)(async e=>{m({type:"SELECT_WORKTREE",id:e}),m({type:"SET_ERROR",error:null});try{i.y.markAsViewed(e).catch(e=>{console.warn("[WorktreeSelectionContext] Failed to mark as viewed:",e)});let t=await i.y.getById(e);m({type:"SET_WORKTREE_DETAIL",detail:t})}catch(e){m({type:"SET_ERROR",error:e instanceof Error?e.message:"Failed to fetch worktree detail"})}finally{m({type:"SET_LOADING_DETAIL",isLoadingDetail:!1})}},[]),S=(0,o.useCallback)(async()=>{if(g&&p)return void await p();await h()},[g,p,h]);(0,o.useEffect)(()=>{g||h()},[h,g]),(0,o.useEffect)(()=>{if(g)return;let e=null,t=!0,n=async()=>{if(t)try{var r,o;let s=await i.y.getAll();m({type:"SET_WORKTREES",worktrees:s.worktrees}),m({type:"SET_REPOSITORIES",repositories:null!=(r=s.repositories)?r:[]});let l=(o=s.worktrees).some(e=>e.isProcessing||e.isWaitingForResponse)?a.PROCESSING:o.some(e=>e.isSessionRunning)?a.SESSION_RUNNING:a.IDLE;t&&(e=setTimeout(n,l))}catch(r){if(r instanceof i.hD&&401===r.status)return;console.error("[WorktreeSelectionContext] Polling error:",r),t&&(e=setTimeout(n,a.SESSION_RUNNING))}};return n(),()=>{t=!1,e&&clearTimeout(e)}},[g]);let v=g&&void 0!==d?d:y.isLoading,b=g&&f?f.message:null,E={selectedWorktreeId:y.selectedWorktreeId,worktrees:y.worktrees,repositories:y.repositories,selectedWorktreeDetail:y.selectedWorktreeDetail,isLoading:v,isLoadingDetail:y.isLoadingDetail,error:null!=b?b:y.error,selectWorktree:w,refreshWorktrees:S};return(0,r.jsx)(s.Provider,{value:E,children:t})}function d(){let e=(0,o.useContext)(s);if(!e)throw Error("useWorktreeSelection must be used within a WorktreeSelectionProvider");return e}},44308:(e,t,n)=>{n.d(t,{$h:()=>d,DR:()=>o,IH:()=>c,Iu:()=>r,Nb:()=>f,SD:()=>i,_d:()=>l,bm:()=>p,ks:()=>s,t7:()=>u,z7:()=>a});let r=7e3,o=["in_review","approval","stalled"],i="in_review",a="filter",s="/review?".concat(a,"=approval");function l(e){return e&&o.includes(e)?e:null}let c=["claude","codex","copilot","antigravity","opencode"],u=1e3,d=5,f=100,p=1e3},52703:(e,t,n)=>{n.d(t,{Oo:()=>o,ST:()=>r,dz:()=>a,rz:()=>i,zS:()=>s});let r="client_version",o="version_mismatch",i="chat_turn_progress",a="messages_invalidated";function s(e){let t;try{t=JSON.parse(e)}catch(e){return null}if(!t||"object"!=typeof t)return null;let n=t;if("broadcast"===n.type){let e=n.data;return e&&"object"==typeof e?"string"!=typeof e.type?null:(void 0===e.worktreeId&&"string"==typeof n.worktreeId&&(e.worktreeId=n.worktreeId),e):null}return"string"==typeof n.type?n:null}},54014:(e,t,n)=>{n.d(t,{Ab:()=>o,NL:()=>m,O6:()=>p,XH:()=>r,f_:()=>d,hR:()=>c,lu:()=>g,n6:()=>s,oo:()=>u,pQ:()=>i,sw:()=>f,vz:()=>y});let r=["claude","codex","gemini","vibe-local","opencode","copilot","antigravity"],o=10,i=50,a=/^[a-zA-Z0-9_-]+$/;function s(e){return"string"==typeof e&&e.length>0&&e.length<=64&&a.test(e)}let l={claude:"Claude",codex:"Codex",gemini:"Gemini","vibe-local":"Vibe Local",opencode:"OpenCode",copilot:"Copilot",antigravity:"Antigravity"};function c(e){return r.includes(e)}function u(e){var t;return null!=(t=l[e])?t:e}function d(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Assistant";return e&&c(e)?u(e):t}function f(e){let t=e.alias;return"string"==typeof t&&t.trim().length>0?t:u(e.cliTool)}function p(e,t,n){let r=e.find(e=>e.id===t);return r?f(r):u(n)}function g(e){return e.map((e,t)=>({id:e,cliTool:e,alias:u(e),order:t}))}let y=128,m=2097152},55449:(e,t,n)=>{n.d(t,{IK:()=>l,qD:()=>d,sA:()=>s,zk:()=>o});var r=n(63001);let o="/api/settings/default-agents",i=r.fJ,a=new Set;function s(){return i}function l(e){if(!Array.isArray(e))return!1;let t=(0,r.Lt)(e);if(!t.valid)return!1;let n=t.value;if(n.length===i.length&&n.every((e,t)=>e===i[t]))return!1;for(let e of(i=n,a))e();return!0}let c=null,u=!1;async function d(){return u?i:c||("function"!=typeof fetch?i:c=(async()=>{try{let e=await fetch(o);if(e.ok){let t=await e.json();l(null==t?void 0:t.defaultSelectedAgents),u=!0}}catch(e){}finally{c=null}return i})())}},63001:(e,t,n)=>{n.d(t,{Lt:()=>s,Wj:()=>i,eu:()=>o,fJ:()=>a});var r=n(54014);let o=2,i=6,a=["claude","codex","antigravity"];function s(e){return e.length<o||e.length>i?{valid:!1,error:"Must be ".concat(o,"-").concat(i," elements")}:e.every(e=>"string"==typeof e&&r.XH.includes(e))?new Set(e).size!==e.length?{valid:!1,error:"Duplicate tool IDs not allowed"}:{valid:!0,value:e}:{valid:!1,error:"Invalid CLI tool ID"}}},63365:(e,t,n)=>{n.d(t,{tS:()=>u,xM:()=>d,T3:()=>f});var r=n(95155),o=n(12115),i=n(52703);function a(){return"undefined"!=typeof globalThis&&"function"==typeof globalThis.WebSocket?globalThis.WebSocket:null}let s=()=>{},l={status:"disconnected",connected:!1,subscribe:s,unsubscribe:s,addListener:()=>s},c=(0,o.createContext)(null);function u(e){let{children:t,enabled:n=!0}=e,s=(0,o.useRef)(new Set),l=(0,o.useRef)(new Map),{status:u,subscribe:d,unsubscribe:f}=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{onEvent:t,onStatusChange:n,autoReconnect:r=!0,reconnectBaseDelay:s=1e3,reconnectMaxDelay:l=3e4,enabled:c=!0}=e,[u,d]=(0,o.useState)("disconnected"),f=(0,o.useRef)(null),p=(0,o.useRef)(null),g=(0,o.useRef)(0),y=(0,o.useRef)(new Set),m=(0,o.useRef)(!1),h=(0,o.useRef)(t);h.current=t;let w=(0,o.useRef)(n);w.current=n;let S=(0,o.useCallback)(e=>{var t;d(e),null==(t=w.current)||t.call(w,e)},[]),v=(0,o.useCallback)(()=>{null!==p.current&&(clearTimeout(p.current),p.current=null)},[]),b=(0,o.useCallback)(()=>{if(!c)return;let e=a();if(!e||f.current&&(f.current.readyState===e.OPEN||f.current.readyState===e.CONNECTING))return;v(),m.current=!1,S("connecting");let t="https:"===window.location.protocol?"wss:":"ws:",n=new e("".concat(t,"//").concat(window.location.host));f.current=n,n.onopen=()=>{g.current=0,S("connected");try{n.send(JSON.stringify({type:i.ST,version:"0.30.2"}))}catch(e){}y.current.forEach(e=>{try{n.send(JSON.stringify({type:"subscribe",worktreeId:e}))}catch(e){}})},n.onmessage=e=>{var t;let n="string"==typeof e.data?e.data:String(e.data),r=(0,i.zS)(n);r&&(null==(t=h.current)||t.call(h,r))},n.onerror=()=>{S("error")},n.onclose=()=>{var e;if(f.current=null,S("disconnected"),m.current||!r||"undefined"!=typeof document&&"hidden"===document.visibilityState)return;let t=(e=g.current,Math.min(s*2**Math.max(0,e),l));g.current+=1,p.current=setTimeout(()=>{p.current=null,b()},t)}},[c,r,s,l,S,v]),E=(0,o.useCallback)(()=>{if(v(),m.current=!0,f.current){try{f.current.close(1e3,"Client disconnect")}catch(e){}f.current=null}},[v]),k=(0,o.useCallback)(e=>{let t=f.current,n=a();if(t&&n&&t.readyState===n.OPEN)try{t.send(JSON.stringify(e))}catch(e){}},[]),C=(0,o.useCallback)(e=>{y.current.has(e)||(y.current.add(e),k({type:"subscribe",worktreeId:e}))},[k]),T=(0,o.useCallback)(e=>{y.current.has(e)&&(y.current.delete(e),k({type:"unsubscribe",worktreeId:e}))},[k]);return(0,o.useEffect)(()=>{if(c)return b(),()=>{E()}},[c,b,E]),(0,o.useEffect)(()=>{if(!c||"undefined"==typeof document)return;let e=()=>{"visible"===document.visibilityState&&(f.current||(g.current=0,b()))};return document.addEventListener("visibilitychange",e),()=>document.removeEventListener("visibilitychange",e)},[c,b]),{status:u,subscribe:C,unsubscribe:T,send:k}}({enabled:n,onEvent:(0,o.useCallback)(e=>{s.current.forEach(t=>{try{t(e)}catch(e){}})},[])}),p=(0,o.useCallback)(e=>{var t;let n=l.current,r=null!=(t=n.get(e))?t:0;n.set(e,r+1),0===r&&d(e)},[d]),g=(0,o.useCallback)(e=>{var t;let n=l.current,r=null!=(t=n.get(e))?t:0;r<=1?(n.delete(e),f(e)):n.set(e,r-1)},[f]),y=(0,o.useCallback)(e=>(s.current.add(e),()=>{s.current.delete(e)}),[]),m=(0,o.useMemo)(()=>({status:u,connected:"connected"===u,subscribe:p,unsubscribe:g,addListener:y}),[u,p,g,y]);return(0,r.jsx)(c.Provider,{value:m,children:t})}function d(){var e;return null!=(e=(0,o.useContext)(c))?e:l}function f(e){let{addListener:t}=d(),n=(0,o.useRef)(e);n.current=e,(0,o.useEffect)(()=>t(e=>n.current(e)),[t])}},65380:(e,t,n)=>{n.d(t,{H:()=>s,O:()=>a});var r=n(95155),o=n(12115);let i=(0,o.createContext)(!1);function a(e){let{children:t,authEnabled:n}=e;return(0,r.jsx)(i.Provider,{value:n,children:t})}function s(){return(0,o.useContext)(i)}},66966:(e,t,n)=>{n.d(t,{g7:()=>u,rC:()=>f,Fn:()=>d});var r=n(95155),o=n(12115),i=n(80344),a=n(63365);let s=[2e3,5e3,1e4];var l=n(39649);let c=(0,o.createContext)(null);function u(e){let{children:t}=e,{worktrees:n,repositories:u,isLoading:d,error:f,refresh:p}=function(){let[e,t]=(0,o.useState)([]),[n,r]=(0,o.useState)([]),[l,c]=(0,o.useState)(!0),[u,d]=(0,o.useState)(null),f=(0,o.useRef)(null),p=(0,o.useRef)([]),g=(0,o.useRef)(null),y=(0,o.useRef)(0),m=(0,o.useRef)(null),h=(0,o.useRef)(async()=>{}),w=(0,o.useCallback)(()=>{null!==m.current&&(clearTimeout(m.current),m.current=null)},[]),{connected:S,subscribe:v,unsubscribe:b,addListener:E}=(0,a.xM)(),k=(0,o.useRef)(S);k.current=S;let C=(0,o.useCallback)(async()=>{try{var e,n;d(null);let a=await fetch("/api/worktrees"),s=(0,i.O0)(a);if(s)throw s;if(!a.ok)throw Error("Failed to fetch worktrees: ".concat(a.status));let l=(0,i.xd)(a);if(l)throw l;let c=await a.json(),u=null!=(e=c.worktrees)?e:[],f=null!=(n=c.repositories)?n:[];(0,o.startTransition)(()=>{t(u),r(f)}),p.current=u,y.current=0,w()}catch(n){let e=n instanceof Error?n:Error(String(n));console.error("[useWorktreesCache] Failed to fetch worktrees:",e),d(e);let t=y.current;0===p.current.length&&t<s.length&&(y.current=t+1,w(),m.current=setTimeout(()=>{m.current=null,h.current()},s[t]))}finally{c(!1)}},[w]);h.current=C,(0,o.useEffect)(()=>{C()},[C]),(0,o.useEffect)(()=>w,[w]);let T=(0,o.useCallback)(()=>p.current.some(e=>!0===e.isSessionRunning),[]),R=(0,o.useCallback)(()=>{let e=T();return k.current?e?2e4:6e4:e?5e3:3e4},[T]),O=(0,o.useCallback)(()=>{null!==f.current&&(clearInterval(f.current),f.current=null),g.current=null},[]),x=(0,o.useCallback)(()=>{O();let e=R();g.current=e,f.current=setInterval(()=>{C()},e)},[R,C,O]);(0,o.useEffect)(()=>{let e=()=>{document.hidden?O():(C(),x())},t=setTimeout(()=>{x()},0);return document.addEventListener("visibilitychange",e),()=>{clearTimeout(t),O(),document.removeEventListener("visibilitychange",e)}},[C,x,O]),(0,o.useEffect)(()=>{if(p.current=e,"undefined"!=typeof document&&document.hidden||null===g.current)return;let t=R();g.current!==t&&x()},[e,S,R,x]);let I=e.map(e=>e.id).sort().join(" ");return(0,o.useEffect)(()=>{let e=I.length>0?I.split(" "):[];return e.forEach(e=>v(e)),()=>{e.forEach(e=>b(e))}},[I,v,b]),(0,o.useEffect)(()=>E(e=>{if("session_status_changed"===e.type&&"string"==typeof e.worktreeId){let i=e.worktreeId,a=e.isWaitingForResponse;if("boolean"==typeof a){var n,r;let s=null!=(n=e.instance)?n:null,l=null!=(r=e.waitingKind)?r:null;(0,o.startTransition)(()=>{t(e=>{let t=!1,n=e.map(e=>{if(e.id!==i)return e;let n=function(e,t){var n,r,o;let i,a=null!=(r=t.instance)?r:null,s=a?null==(n=e.sessionStatusByInstance)?void 0:n[a]:void 0,l=e.sessionStatusByInstance;if(a&&s&&s.isWaitingForResponse!==t.waiting&&(l={...e.sessionStatusByInstance,[a]:{...s,isWaitingForResponse:t.waiting,waitingKind:null!=(o=t.waitingKind)?o:null}}),t.waiting)i=!0;else{let e=l?Object.values(l):[];i=e.length>0&&e.some(e=>(null==e?void 0:e.isWaitingForResponse)===!0)}return l===e.sessionStatusByInstance&&i===e.isWaitingForResponse?e:{...e,sessionStatusByInstance:l,isWaitingForResponse:i}}(e,{waiting:a,instance:s,waitingKind:l});return n!==e&&(t=!0),n});return t?n:e})});return}let s=e.isRunning;if("boolean"==typeof s){if((null!=e.cliTool||null!=e.instance)&&!1===s)return void C();(0,o.startTransition)(()=>{t(e=>{let t=!1,n=e.map(e=>e.id===i&&e.isSessionRunning!==s?(t=!0,{...e,isSessionRunning:s}):e);return t?n:e})})}}else("message"===e.type||"message_updated"===e.type)&&C()}),[E,C]),{worktrees:e,repositories:n,isLoading:l,error:u,refresh:C}}(),g=(0,o.useMemo)(()=>({worktrees:n,repositories:u,isLoading:d,error:f,refresh:p}),[n,u,d,f,p]);return(0,r.jsx)(c.Provider,{value:g,children:(0,r.jsx)(l.H8,{externalWorktrees:n,externalRepositories:u,externalIsLoading:d,externalError:f,externalRefresh:p,children:t})})}function d(){let e=(0,o.useContext)(c);if(null===e)throw Error("useWorktreesCacheContext must be used within a WorktreesCacheProvider");return e}function f(){return(0,o.useContext)(c)}},68704:(e,t,n)=>{n.d(t,{Uf:()=>i,d8:()=>a,fM:()=>s,of:()=>c,r5:()=>o,rq:()=>l});var r=n(2317);let o="medium",i=["large","medium","small","xsmall"],a={large:{value:"large",rootFontSizePx:18,factor:1.125,terminalFontSize:16},medium:{value:"medium",rootFontSizePx:16,factor:1,terminalFontSize:14},small:{value:"small",rootFontSizePx:14,factor:.875,terminalFontSize:12},xsmall:{value:"xsmall",rootFontSizePx:12.5,factor:.78,terminalFontSize:11}};function s(e){return"string"==typeof e&&Object.prototype.hasOwnProperty.call(a,e)}function l(e){return a[e].terminalFontSize}function c(){let{value:e,setValue:t,isAvailable:n}=(0,r.V)({key:"mcbd-pc-display-size",defaultValue:o,validate:s});return{size:e,setSize:t,isAvailable:n}}},70628:(e,t,n)=>{n.d(t,{K:()=>s,S:()=>a});var r=n(95155),o=n(12115);let i=(0,o.createContext)({open:!1,setOpen:()=>{},toggle:()=>{}});function a(e){let{children:t}=e,[n,a]=(0,o.useState)(!1),s=(0,o.useCallback)(()=>a(e=>!e),[]),l=(0,o.useMemo)(()=>({open:n,setOpen:a,toggle:s}),[n,s]);return(0,r.jsx)(i.Provider,{value:l,children:t})}function s(){return(0,o.useContext)(i)}},80344:(e,t,n)=>{n.d(t,{$T:()=>d,GQ:()=>p,O0:()=>i,Rx:()=>c,gC:()=>u,hD:()=>r,hS:()=>f,xd:()=>a,y:()=>l});class r extends Error{constructor(e,t,n){super(e),this.status=t,this.data=n,this.name="ApiError"}}async function o(e,t,n){if(!(e.headers.get("content-type")||"").includes("application/json"))return t;try{return await e.json()}catch(e){return t}}function i(e){var t;return e.redirected&&(null!=(t=e.url)?t:"").includes("/login")?new r("Authentication required",401):null}function a(e){return e.headers?(e.headers.get("content-type")||"").includes("application/json")?null:new r("Unexpected response format",e.status):null}async function s(e,t){try{let n=new Headers(null==t?void 0:t.headers);n.set("Content-Type","application/json");let s=await fetch(e,{...t,headers:n}),l=i(s);if(l)throw l;if(!s.ok){let e=await o(s,{},"error-body");throw new r(e.error||"HTTP error ".concat(s.status),s.status,e)}let c=a(s);if(c)throw c;return s.json()}catch(e){if(e instanceof r)throw e;throw new r(e instanceof Error?e.message:"Unknown error",0,e)}}let l={getAll:async()=>s("/api/worktrees"),getById:async e=>s("/api/worktrees/".concat(e)),updateDescription:async(e,t)=>s("/api/worktrees/".concat(e),{method:"PATCH",body:JSON.stringify({description:t})}),updateLink:async(e,t)=>s("/api/worktrees/".concat(e),{method:"PATCH",body:JSON.stringify({link:t})}),toggleFavorite:async(e,t)=>s("/api/worktrees/".concat(e),{method:"PATCH",body:JSON.stringify({favorite:t})}),updateStatus:async(e,t)=>s("/api/worktrees/".concat(e),{method:"PATCH",body:JSON.stringify({status:t})}),updateCliTool:async(e,t)=>s("/api/worktrees/".concat(e),{method:"PATCH",body:JSON.stringify({cliToolId:t})}),markAsViewed:async e=>s("/api/worktrees/".concat(e,"/viewed"),{method:"PATCH"}),async getMessages(e,t,n,r){let o=new URLSearchParams;return t&&o.append("cliTool",t),n&&o.append("includeArchived","true"),"number"==typeof r&&Number.isFinite(r)&&o.append("limit",String(r)),s("/api/worktrees/".concat(e,"/messages").concat(o.toString()?"?".concat(o.toString()):""))},async sendMessage(e,t,n){var r;let o={content:t};return(null==n?void 0:n.cliToolId)&&(o.cliToolId=n.cliToolId),(null==n?void 0:n.instanceId)&&(o.instanceId=n.instanceId),(null==n?void 0:n.imagePath)&&(o.imagePath=n.imagePath),null===(r=await s("/api/worktrees/".concat(e,"/send"),{method:"POST",body:JSON.stringify(o)}))||"object"!=typeof r||r.timestamp instanceof Date?r:{...r,timestamp:new Date(r.timestamp)}},async uploadImageFile(e,t){let n=Date.now(),r="".concat(n,"-").concat(t.name),i=".commandmate/attachments",a=new FormData;a.append("file",new File([t],r,{type:t.type}));let s=await fetch("/api/worktrees/".concat(e,"/upload/").concat(i),{method:"POST",body:a});if(!s.ok){var l;let e=await o(s,{},"error-body");throw Error((null==e||null==(l=e.error)?void 0:l.message)||"Upload failed (HTTP ".concat(s.status,")"))}return{path:(await o(s,{},"response-body")).path||"".concat(i,"/").concat(r)}},getLogs:async e=>s("/api/worktrees/".concat(e,"/logs")),async getLogFile(e,t,n){let r=(null==n?void 0:n.sanitize)?"?sanitize=true":"";return s("/api/worktrees/".concat(e,"/logs/").concat(t).concat(r))},async killSession(e,t,n){let r=new URLSearchParams;t&&r.set("cliTool",t),n&&r.set("instance",n);let o=r.toString();return s("/api/worktrees/".concat(e,"/kill-session").concat(o?"?".concat(o):""),{method:"POST"})}},c={scan:async e=>s("/api/repositories/scan",{method:"POST",body:JSON.stringify({repositoryPath:e})}),sync:async()=>s("/api/repositories/sync",{method:"POST"}),delete:async e=>s("/api/repositories",{method:"DELETE",body:JSON.stringify({repositoryPath:e})}),async clone(e,t){var n;return s("/api/repositories/clone",{method:"POST",body:JSON.stringify({cloneUrl:e,fork:null!=(n=null==t?void 0:t.fork)&&n})})},getCloneStatus:async e=>s("/api/repositories/clone/".concat(e)),getExcluded:async()=>s("/api/repositories/excluded"),restore:async e=>s("/api/repositories/restore",{method:"PUT",body:JSON.stringify({repositoryPath:e})}),list:async()=>s("/api/repositories"),updateDisplayName:async(e,t)=>s("/api/repositories/".concat(encodeURIComponent(e)),{method:"PUT",body:JSON.stringify({displayName:t})}),updateVisibility:async(e,t)=>s("/api/repositories/".concat(encodeURIComponent(e)),{method:"PUT",body:JSON.stringify({visible:t})}),updateEnabled:async(e,t)=>s("/api/repositories/".concat(encodeURIComponent(e)),{method:"PUT",body:JSON.stringify({enabled:t})}),validatePath:async e=>s("/api/repositories/validate-path",{method:"POST",body:JSON.stringify({repositoryPath:e})})},u={async browse(e){let t=e?"?path=".concat(encodeURIComponent(e)):"";return s("/api/fs/browse".concat(t))},addRecentPath:async e=>s("/api/fs/recent-paths",{method:"POST",body:JSON.stringify({path:e})})},d={getAll:async e=>(await s("/api/worktrees/".concat(e,"/memos"))).memos,create:async(e,t)=>(await s("/api/worktrees/".concat(e,"/memos"),{method:"POST",body:JSON.stringify(t||{})})).memo,update:async(e,t,n)=>(await s("/api/worktrees/".concat(e,"/memos/").concat(t),{method:"PUT",body:JSON.stringify(n)})).memo,delete:async(e,t)=>s("/api/worktrees/".concat(e,"/memos/").concat(t),{method:"DELETE"}),async reorder(e,t){await s("/api/worktrees/".concat(e,"/memos"),{method:"PATCH",body:JSON.stringify({memoIds:t})})}};function f(e){return e instanceof r||e instanceof Error?e.message:"An unknown error occurred"}let p={checkForUpdate:async()=>s("/api/app/update-check",{method:"GET"}),startUpdate:async()=>s("/api/app/update",{method:"POST"}),async ping(){try{return(await fetch("/api/auth/status",{cache:"no-store"})).ok}catch(e){return!1}}}},89275:(e,t,n)=>{n.d(t,{Bo:()=>u,Hq:()=>l});var r=n(95155),o=n(12115),i=n(20063);let a={startTransition:e=>e()},s=(0,o.createContext)(null);function l(){var e;let t=(0,i.useRouter)(),{startTransition:n}=null!=(e=(0,o.useContext)(s))?e:a;return(0,o.useMemo)(()=>({push:e=>n(()=>t.push(e)),replace:e=>n(()=>t.replace(e))}),[t,n])}function c(e){let{onCommit:t}=e,n=(0,i.usePathname)(),r=(0,o.useRef)(!1);return(0,o.useEffect)(()=>{if(!r.current){r.current=!0;return}t()},[n,t]),null}function u(e){let{children:t}=e,n=(0,o.useRef)(null),i=(0,o.useCallback)(()=>{var e;null==(e=n.current)||e.call(n)},[]),a=(0,o.useCallback)(e=>{var t;t=()=>new Promise(t=>{let r=!1,o=()=>{r||(r=!0,t())};n.current=o,e(),window.setTimeout(o,500)}),"undefined"==typeof document||"function"!=typeof document.startViewTransition||"function"==typeof window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches?t():document.startViewTransition(t)},[]),l=(0,o.useMemo)(()=>({startTransition:a}),[a]);return(0,r.jsxs)(s.Provider,{value:l,children:[(0,r.jsx)(c,{onCommit:i}),t]})}},92614:(e,t,n)=>{n.d(t,{C:()=>s,E:()=>a});var r=n(95155),o=n(12115);let i=(0,o.createContext)({open:!1,setOpen:()=>{},toggle:()=>{}});function a(e){let{children:t}=e,[n,a]=(0,o.useState)(!1),s=(0,o.useCallback)(()=>a(e=>!e),[]),l=(0,o.useMemo)(()=>({open:n,setOpen:a,toggle:s}),[n,s]);return(0,r.jsx)(i.Provider,{value:l,children:t})}function s(){return(0,o.useContext)(i)}},94442:(e,t,n)=>{n.d(t,{dj:()=>b,tE:()=>v});var r=n(95155),o=n(12115),i=n(47650),a=n(18955),s=n(42529),l=n(78874),c=n(52056),u=n(23327),d=n(65229),f=n(59854),p=n(9900),g=n(9286);function y(e){let{type:t,iconColor:n}=e,o="h-5 w-5 ".concat(n);switch(t){case"success":return(0,r.jsx)(s.A,{className:o,"data-testid":"toast-icon-success"});case"error":return(0,r.jsx)(l.A,{className:o,"data-testid":"toast-icon-error"});case"warning":return(0,r.jsx)(c.A,{className:o,"data-testid":"toast-icon-warning"});default:return(0,r.jsx)(u.A,{className:o,"data-testid":"toast-icon-info"})}}function m(e){let{id:t,message:n,type:i,onClose:s,duration:l=3e3,onClick:c}=e,u=(0,a.c)("common"),f=(0,o.useRef)(null),m=function(e){switch(e){case"success":return{bgColor:"bg-success-subtle",borderColor:"border-success-border",textColor:"text-success-foreground",iconColor:"text-success-foreground"};case"error":return{bgColor:"bg-danger-subtle",borderColor:"border-danger-border",textColor:"text-danger-foreground",iconColor:"text-danger-foreground"};case"warning":return{bgColor:"bg-warning-subtle",borderColor:"border-warning-border",textColor:"text-warning-foreground",iconColor:"text-warning-foreground"};default:return{bgColor:"bg-info-subtle",borderColor:"border-info-border",textColor:"text-info-foreground",iconColor:"text-info-foreground"}}}(i),[h,w]=(0,o.useState)(!0),{shouldRender:S,isExiting:v}=(0,g.O)(h,p.Ys),b=(0,o.useRef)(s);b.current=s,(0,o.useEffect)(()=>{S||b.current(t)},[S,t]),(0,o.useEffect)(()=>(l>0&&(f.current=setTimeout(()=>{w(!1)},l)),()=>{f.current&&clearTimeout(f.current)}),[l]);let E=(0,o.useCallback)(()=>{f.current&&clearTimeout(f.current),w(!1)},[]);return(0,r.jsxs)("div",{"data-testid":"toast-".concat(t),role:"alert",className:"\n ".concat(m.bgColor,"\n ").concat(m.borderColor,"\n ").concat(m.textColor,"\n border rounded-lg shadow-lg p-4 min-w-[300px] max-w-[400px]\n flex items-start gap-3\n ").concat(v?"animate-out fade-out-0 slide-out-to-right-full duration-200 fill-mode-forwards pointer-events-none":"animate-slide-in","\n "),children:[(0,r.jsx)(y,{type:i,iconColor:m.iconColor}),c?(0,r.jsx)("button",{type:"button","data-testid":"toast-action-button",onClick:()=>{c(),E()},className:"flex-1 text-left text-sm font-medium underline-offset-2 hover:underline focus:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded-sm",children:n}):(0,r.jsx)("p",{className:"flex-1 text-sm font-medium",children:n}),(0,r.jsx)("button",{"data-testid":"toast-close-button",onClick:E,"aria-label":u("closeNotification"),className:"\n ".concat(m.textColor,"\n hover:opacity-70\n focus:outline-none focus:ring-2 focus:ring-offset-2\n transition-opacity\n "),children:(0,r.jsx)(d.A,{className:"h-4 w-4"})})]})}function h(e){let{toasts:t,onClose:n}=e,[a,s]=(0,o.useState)(!1);(0,o.useEffect)(()=>{s(!0)},[]);let l=(0,r.jsx)("div",{"data-testid":"toast-container","aria-live":"polite",className:"fixed bottom-4 right-4 flex flex-col gap-2",style:{zIndex:f.M.TOAST},children:t.map(e=>(0,r.jsx)(m,{id:e.id,message:e.message,type:e.type,onClose:n,duration:e.duration,onClick:e.onClick},e.id))});return a?(0,i.createPortal)(l,document.body):null}function w(){let[e,t]=(0,o.useState)([]),n=(0,o.useRef)(0),r=(0,o.useCallback)(function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"info",o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:3e3,i=arguments.length>3?arguments[3]:void 0,a="toast-".concat(++n.current,"-").concat(Date.now()),s={id:a,message:e,type:r,duration:o,...(null==i?void 0:i.onClick)?{onClick:i.onClick}:{}};return t(e=>[...e,s]),a},[]),i=(0,o.useCallback)(e=>{t(t=>t.filter(t=>t.id!==e))},[]),a=(0,o.useCallback)(()=>{t([])},[]);return(0,o.useMemo)(()=>({toasts:e,showToast:r,removeToast:i,clearToasts:a}),[e,r,i,a])}let S=(0,o.createContext)(null);function v(e){let{children:t}=e,n=w();return(0,r.jsxs)(S.Provider,{value:n,children:[t,(0,r.jsx)(h,{toasts:n.toasts,onClose:n.removeToast})]})}function b(){let e=(0,o.useContext)(S),t=w();return null!=e?e:t}}}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{3809:(e,t,r)=>{"use strict";r.d(t,{default:()=>n});var a=r(36809),s=r(95155);function n(e){let{locale:t,...r}=e;if(!t)throw Error(void 0);return(0,s.jsx)(a.Dk,{locale:t,...r})}},5379:(e,t,r)=>{"use strict";r.d(t,{D:()=>c,N:()=>u});var a=r(12115),s=(e,t,r,a,s,n,l,o)=>{let i=document.documentElement,c=["light","dark"];function u(t){var r;(Array.isArray(e)?e:[e]).forEach(e=>{let r="class"===e,a=r&&n?s.map(e=>n[e]||e):s;r?(i.classList.remove(...a),i.classList.add(n&&n[t]?n[t]:t)):i.setAttribute(e,t)}),r=t,o&&c.includes(r)&&(i.style.colorScheme=r)}if(a)u(a);else try{let e=localStorage.getItem(t)||r,a=l&&"system"===e?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e;u(a)}catch(e){}},n=["light","dark"],l="(prefers-color-scheme: dark)",o=a.createContext(void 0),i={setTheme:e=>{},themes:[]},c=()=>{var e;return null!=(e=a.useContext(o))?e:i},u=e=>a.useContext(o)?a.createElement(a.Fragment,null,e.children):a.createElement(m,{...e}),d=["light","dark"],m=e=>{let{forcedTheme:t,disableTransitionOnChange:r=!1,enableSystem:s=!0,enableColorScheme:i=!0,storageKey:c="theme",themes:u=d,defaultTheme:m=s?"system":"light",attribute:y="data-theme",value:g,children:b,nonce:k,scriptProps:x}=e,[w,A]=a.useState(()=>v(c,m)),[j,E]=a.useState(()=>"system"===w?p():w),S=g?Object.values(g):u,N=a.useCallback(e=>{let t=e;if(!t)return;"system"===e&&s&&(t=p());let a=g?g[t]:t,l=r?f(k):null,o=document.documentElement,c=e=>{"class"===e?(o.classList.remove(...S),a&&o.classList.add(a)):e.startsWith("data-")&&(a?o.setAttribute(e,a):o.removeAttribute(e))};if(Array.isArray(y)?y.forEach(c):c(y),i){let e=n.includes(m)?m:null,r=n.includes(t)?t:e;o.style.colorScheme=r}null==l||l()},[k]),M=a.useCallback(e=>{let t="function"==typeof e?e(w):e;A(t);try{localStorage.setItem(c,t)}catch(e){}},[w]),C=a.useCallback(e=>{E(p(e)),"system"===w&&s&&!t&&N("system")},[w,t]);a.useEffect(()=>{let e=window.matchMedia(l);return e.addListener(C),C(e),()=>e.removeListener(C)},[C]),a.useEffect(()=>{let e=e=>{e.key===c&&(e.newValue?A(e.newValue):M(m))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[M]),a.useEffect(()=>{N(null!=t?t:w)},[t,w]);let _=a.useMemo(()=>({theme:w,setTheme:M,forcedTheme:t,resolvedTheme:"system"===w?j:w,themes:s?[...u,"system"]:u,systemTheme:s?j:void 0}),[w,M,t,j,s,u]);return a.createElement(o.Provider,{value:_},a.createElement(h,{forcedTheme:t,storageKey:c,attribute:y,enableSystem:s,enableColorScheme:i,defaultTheme:m,value:g,themes:u,nonce:k,scriptProps:x}),b)},h=a.memo(e=>{let{forcedTheme:t,storageKey:r,attribute:n,enableSystem:l,enableColorScheme:o,defaultTheme:i,value:c,themes:u,nonce:d,scriptProps:m}=e,h=JSON.stringify([n,r,i,t,u,c,l,o]).slice(1,-1);return a.createElement("script",{...m,suppressHydrationWarning:!0,nonce:"",dangerouslySetInnerHTML:{__html:"(".concat(s.toString(),")(").concat(h,")")}})}),v=(e,t)=>{let r;try{r=localStorage.getItem(e)||void 0}catch(e){}return r||t},f=e=>{let t=document.createElement("style");return e&&t.setAttribute("nonce",e),t.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),document.head.appendChild(t),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(t)},1)}},p=e=>(e||(e=window.matchMedia(l)),e.matches?"dark":"light")},7183:e=>{e.exports={style:{fontFamily:"'GeistMono', ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace"},className:"__className_46451f",variable:"__variable_46451f"}},13673:()=>{},18955:(e,t,r)=>{"use strict";r.d(t,{c:()=>n});var a=r(36809);function s(e,t){return(...e)=>{try{return t(...e)}catch{throw Error(void 0)}}}let n=s(0,a.c3);s(0,a.kc)},20063:(e,t,r)=>{"use strict";var a=r(47260);r.o(a,"useParams")&&r.d(t,{useParams:function(){return a.useParams}}),r.o(a,"usePathname")&&r.d(t,{usePathname:function(){return a.usePathname}}),r.o(a,"useRouter")&&r.d(t,{useRouter:function(){return a.useRouter}}),r.o(a,"useSearchParams")&&r.d(t,{useSearchParams:function(){return a.useSearchParams}})},22311:e=>{e.exports={style:{fontFamily:"'GeistSans', 'GeistSans Fallback'"},className:"__className_8adcd2",variable:"__variable_8adcd2"}},22464:(e,t,r)=>{Promise.resolve().then(r.t.bind(r,22311,23)),Promise.resolve().then(r.t.bind(r,7183,23)),Promise.resolve().then(r.t.bind(r,13673,23)),Promise.resolve().then(r.bind(r,25772))},23327:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(71847).A)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},25772:(e,t,r)=>{"use strict";r.d(t,{AppProviders:()=>j});var a=r(95155),s=r(3809),n=r(5379),l=r(32916),o=r(65380),i=r(22592),c=r(92614),u=r(70628),d=r(66966),m=r(89275),h=r(63365),v=r(36402),f=r(94442),p=r(72604),y=r(95275),g=r(79832),b=r(12115),k=r(18955),x=r(89559),w=r(59854);function A(){let e=(0,k.c)("pwa"),[t,r]=(0,b.useState)(null),s=(0,b.useRef)(!1);return((0,b.useEffect)(()=>{if("undefined"==typeof navigator||!("serviceWorker"in navigator))return;let e=!1,t=t=>{e||r(t)};navigator.serviceWorker.register("/sw.js").then(e=>{e.waiting&&navigator.serviceWorker.controller&&t(e.waiting),e.addEventListener("updatefound",()=>{let r=e.installing;r&&r.addEventListener("statechange",()=>{"installed"===r.state&&navigator.serviceWorker.controller&&t(r)})})}).catch(()=>{});let a=()=>{s.current||(s.current=!0,window.location.reload())};return navigator.serviceWorker.addEventListener("controllerchange",a),()=>{e=!0,navigator.serviceWorker.removeEventListener("controllerchange",a)}},[]),t)?(0,a.jsx)("div",{role:"status","aria-live":"polite",className:"fixed inset-x-0 bottom-0 flex justify-center px-4 pb-safe",style:{zIndex:w.M.TOAST},children:(0,a.jsxs)("div",{className:"mb-4 flex items-center gap-3 rounded-lg border border-border bg-surface px-4 py-3 shadow-lg",children:[(0,a.jsx)("span",{className:"text-sm font-medium text-foreground",children:e("update.available")}),(0,a.jsxs)("button",{type:"button",onClick:()=>{t.postMessage({type:"SKIP_WAITING"})},className:"inline-flex items-center gap-1.5 rounded-md bg-accent-600 px-3 py-1.5 text-sm font-medium text-white transition-colors hover:bg-accent-700 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 ring-offset-background dark:bg-accent-500 dark:hover:bg-accent-600",children:[(0,a.jsx)(x.A,{className:"h-4 w-4"}),e("update.reload")]})]})}):null}function j(e){let{children:t,locale:r,messages:b,timeZone:k,authEnabled:x=!1}=e;return(0,a.jsx)(s.default,{locale:r,messages:b,timeZone:k,children:(0,a.jsx)(f.tE,{children:(0,a.jsx)(n.N,{attribute:"class",defaultTheme:"system",enableSystem:!0,children:(0,a.jsx)(o.O,{authEnabled:x,children:(0,a.jsx)(i.W5,{children:(0,a.jsx)(l.GB,{children:(0,a.jsx)(h.tS,{children:(0,a.jsxs)(d.g7,{children:[(0,a.jsx)(p.rM,{}),(0,a.jsx)(g.o,{}),(0,a.jsx)(y.H,{}),(0,a.jsx)(c.E,{children:(0,a.jsx)(u.S,{children:(0,a.jsxs)(v.aF,{children:[(0,a.jsx)(m.Bo,{children:t}),(0,a.jsx)(A,{})]})})})]})})})})})})})})}},42529:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(71847).A)("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])},52056:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(71847).A)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},65229:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(71847).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},71847:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var a=r(12115);let s=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)},n=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()};var l={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let o=(0,a.forwardRef)((e,t)=>{let{color:r="currentColor",size:s=24,strokeWidth:o=2,absoluteStrokeWidth:i,className:c="",children:u,iconNode:d,...m}=e;return(0,a.createElement)("svg",{ref:t,...l,width:s,height:s,stroke:r,strokeWidth:i?24*Number(o)/Number(s):o,className:n("lucide",c),...!u&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0})(m)&&{"aria-hidden":"true"},...m},[...d.map(e=>{let[t,r]=e;return(0,a.createElement)(t,r)}),...Array.isArray(u)?u:[u]])}),i=(e,t)=>{let r=(0,a.forwardRef)((r,l)=>{let{className:i,...c}=r;return(0,a.createElement)(o,{ref:l,iconNode:t,className:n("lucide-".concat(s(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),"lucide-".concat(e),i),...c})});return r.displayName=s(e),r}},78874:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(71847).A)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]])},83101:(e,t,r)=>{"use strict";r.d(t,{F:()=>l});var a=r(2821);let s=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,n=a.$,l=(e,t)=>r=>{var a;if((null==t?void 0:t.variants)==null)return n(e,null==r?void 0:r.class,null==r?void 0:r.className);let{variants:l,defaultVariants:o}=t,i=Object.keys(l).map(e=>{let t=null==r?void 0:r[e],a=null==o?void 0:o[e];if(null===t)return null;let n=s(t)||s(a);return l[e][n]}),c=r&&Object.entries(r).reduce((e,t)=>{let[r,a]=t;return void 0===a||(e[r]=a),e},{});return n(e,i,null==t||null==(a=t.compoundVariants)?void 0:a.reduce((e,t)=>{let{class:r,className:a,...s}=t;return Object.entries(s).every(e=>{let[t,r]=e;return Array.isArray(r)?r.includes({...o,...c}[t]):({...o,...c})[t]===r})?[...e,r,a]:e},[]),null==r?void 0:r.class,null==r?void 0:r.className)}},89559:(e,t,r)=>{"use strict";r.d(t,{A:()=>a});let a=(0,r(71847).A)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])}},e=>{e.O(0,[5373,2978,6809,4909,6402,6381,4322,8441,1255,7358],()=>e(e.s=22464)),_N_E=e.O()}]);