commandmate 0.29.2 → 0.30.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 (647) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +278 -271
  3. package/.next/app-path-routes-manifest.json +35 -34
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/prerender-manifest.json +3 -3
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/routes-manifest.json +8 -8
  8. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -1
  10. package/.next/server/app/api/agents/versions/route_client-reference-manifest.js +1 -1
  11. package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
  12. package/.next/server/app/api/app/update-check/route.js +1 -1
  13. package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/assistant/conversation/route.js +1 -1
  15. package/.next/server/app/api/assistant/conversation/route.js.nft.json +1 -1
  16. package/.next/server/app/api/assistant/conversation/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/assistant/current-output/route.js +1 -1
  18. package/.next/server/app/api/assistant/current-output/route.js.nft.json +1 -1
  19. package/.next/server/app/api/assistant/current-output/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/assistant/messages/route.js +1 -1
  21. package/.next/server/app/api/assistant/messages/route.js.nft.json +1 -1
  22. package/.next/server/app/api/assistant/messages/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/assistant/session/route.js +1 -1
  24. package/.next/server/app/api/assistant/session/route.js.nft.json +1 -1
  25. package/.next/server/app/api/assistant/session/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/assistant/start/route.js +18 -18
  27. package/.next/server/app/api/assistant/start/route.js.nft.json +1 -1
  28. package/.next/server/app/api/assistant/start/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/assistant/terminal/route.js +19 -19
  30. package/.next/server/app/api/assistant/terminal/route.js.nft.json +1 -1
  31. package/.next/server/app/api/assistant/terminal/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/assistant/tools/route.js +1 -1
  33. package/.next/server/app/api/assistant/tools/route.js.nft.json +1 -1
  34. package/.next/server/app/api/assistant/tools/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/capabilities/route.js +1 -1
  39. package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/daily-summary/route.js +1 -1
  41. package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  45. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
  48. package/.next/server/app/api/hooks/agent-event/route.js +1 -1
  49. package/.next/server/app/api/hooks/agent-event/route.js.nft.json +1 -1
  50. package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
  51. package/.next/server/app/api/hooks/claude-done/route.js +2 -2
  52. package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
  53. package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
  54. package/.next/server/app/api/hooks/permission-request/route.js +1 -1
  55. package/.next/server/app/api/hooks/permission-request/route.js.nft.json +1 -1
  56. package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
  57. package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/push/escalation/route.js +1 -1
  60. package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
  61. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/push/vapid/route.js +1 -1
  63. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  64. package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  66. package/.next/server/app/api/repositories/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  67. package/.next/server/app/api/repositories/[id]/todos/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
  69. package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
  70. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/repositories/clone/route.js +1 -1
  72. package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
  73. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/repositories/restore/route.js +1 -1
  76. package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
  77. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  78. package/.next/server/app/api/repositories/route.js +1 -1
  79. package/.next/server/app/api/repositories/route.js.nft.json +1 -1
  80. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/repositories/scan/route.js +1 -1
  82. package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
  83. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  84. package/.next/server/app/api/repositories/sync/route.js +1 -1
  85. package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
  86. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
  88. package/.next/server/app/api/settings/default-agents/route.js +1 -1
  89. package/.next/server/app/api/settings/default-agents/route.js.nft.json +1 -1
  90. package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/settings/default-surface-mode/route.js +1 -0
  92. package/.next/server/app/api/settings/default-surface-mode/route.js.nft.json +1 -0
  93. package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -0
  94. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  95. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
  97. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
  98. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  100. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  102. package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  104. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/todos/route_client-reference-manifest.js +1 -1
  106. package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
  107. package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
  109. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
  110. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  111. package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -1
  112. package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
  113. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  114. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js +1 -1
  115. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js.nft.json +1 -1
  116. package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/worktrees/[id]/cli-reference/route.js +1 -0
  118. package/.next/server/app/api/worktrees/[id]/cli-reference/route.js.nft.json +1 -0
  119. package/.next/server/app/api/worktrees/[id]/{start-polling → cli-reference}/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  121. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  122. package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
  123. package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
  124. package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
  125. package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
  126. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
  127. package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
  128. package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
  129. package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
  130. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
  131. package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
  133. package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
  134. package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
  135. package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
  136. package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
  137. package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
  138. package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
  139. package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
  140. package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
  141. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
  142. package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
  143. package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
  145. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
  146. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
  147. package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
  148. package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
  149. package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
  150. package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
  151. package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
  152. package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js +1 -1
  153. package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js.nft.json +1 -1
  154. package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
  155. package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
  156. package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
  157. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  158. package/.next/server/app/api/worktrees/[id]/kill-session/route.js +1 -1
  159. package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
  160. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  161. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  162. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  163. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  164. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  165. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  166. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  167. package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
  168. package/.next/server/app/api/worktrees/[id]/opencode/session/route.js +1 -1
  169. package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
  170. package/.next/server/app/api/worktrees/[id]/opencode/share/route.js +1 -1
  171. package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
  172. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
  173. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
  174. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  175. package/.next/server/app/api/worktrees/[id]/resolve-target/route.js +1 -1
  176. package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
  177. package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
  178. package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
  179. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  180. package/.next/server/app/api/worktrees/[id]/route.js +1 -1
  181. package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
  182. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  183. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  184. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  185. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  186. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  187. package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
  188. package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
  189. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  190. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js +1 -1
  191. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
  192. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
  193. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  194. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  195. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  196. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  197. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
  198. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
  199. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  200. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  201. package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
  202. package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
  203. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  204. package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
  205. package/.next/server/app/api/worktrees/[id]/terminal/route.js +1 -1
  206. package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
  207. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  208. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  209. package/.next/server/app/api/worktrees/[id]/timers/route.js +1 -1
  210. package/.next/server/app/api/worktrees/[id]/timers/route.js.nft.json +1 -1
  211. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  212. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  213. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  214. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  215. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  216. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  217. package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
  218. package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
  219. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
  220. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
  221. package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
  222. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  223. package/.next/server/app/api/worktrees/apply-default-agents/route.js +1 -1
  224. package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
  225. package/.next/server/app/api/worktrees/route.js +1 -1
  226. package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
  227. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  228. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  229. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  230. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  231. package/.next/server/app/more/page.js +2 -2
  232. package/.next/server/app/more/page.js.nft.json +1 -1
  233. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  234. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  235. package/.next/server/app/page_client-reference-manifest.js +1 -1
  236. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  237. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  238. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  239. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  240. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  241. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
  242. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  243. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  244. package/.next/server/app/worktrees/[id]/page.js +12 -12
  245. package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
  246. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  247. package/.next/server/app/worktrees/[id]/terminal/page.js +3 -3
  248. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  249. package/.next/server/app-paths-manifest.json +35 -34
  250. package/.next/server/chunks/1058.js +1 -1
  251. package/.next/server/chunks/1068.js +1 -1
  252. package/.next/server/chunks/1191.js +1 -1
  253. package/.next/server/chunks/1341.js +1 -1
  254. package/.next/server/chunks/1886.js +3 -3
  255. package/.next/server/chunks/2119.js +1 -1
  256. package/.next/server/chunks/2445.js +1 -1
  257. package/.next/server/chunks/261.js +1 -0
  258. package/.next/server/chunks/2739.js +1 -0
  259. package/.next/server/chunks/2816.js +1 -1
  260. package/.next/server/chunks/2827.js +29 -0
  261. package/.next/server/chunks/3123.js +1 -0
  262. package/.next/server/chunks/3241.js +1 -1
  263. package/.next/server/chunks/3543.js +1 -1
  264. package/.next/server/chunks/3945.js +1 -1
  265. package/.next/server/chunks/4325.js +1 -0
  266. package/.next/server/chunks/4390.js +1 -1
  267. package/.next/server/chunks/4393.js +1 -1
  268. package/.next/server/chunks/4443.js +6 -0
  269. package/.next/server/chunks/5017.js +1 -1
  270. package/.next/server/chunks/5120.js +1 -0
  271. package/.next/server/chunks/6130.js +1 -1
  272. package/.next/server/chunks/6337.js +1 -1
  273. package/.next/server/chunks/663.js +1 -1
  274. package/.next/server/chunks/6894.js +8 -0
  275. package/.next/server/chunks/7685.js +1 -1
  276. package/.next/server/chunks/7836.js +1 -0
  277. package/.next/server/chunks/8356.js +1 -1
  278. package/.next/server/chunks/880.js +1 -1
  279. package/.next/server/chunks/8807.js +1 -1
  280. package/.next/server/chunks/9123.js +2 -2
  281. package/.next/server/chunks/9130.js +3 -3
  282. package/.next/server/chunks/9627.js +48 -26
  283. package/.next/server/chunks/9696.js +3 -0
  284. package/.next/server/chunks/9798.js +1 -1
  285. package/.next/server/middleware-manifest.json +5 -5
  286. package/.next/server/pages/500.html +1 -1
  287. package/.next/server/server-reference-manifest.json +1 -1
  288. package/.next/server/src/middleware.js +1 -1
  289. package/.next/server/src/middleware.js.map +1 -1
  290. package/.next/static/7K0XXFu_ty4wRSkl4X21E/_buildManifest.js +1 -0
  291. package/.next/static/chunks/{4882-388e94fe0a03c2ba.js → 3916-0e929d089282dc5d.js} +1 -1
  292. package/.next/static/chunks/{5229-b2a81bb8fb5c19e9.js → 5229-6c89475b61bd2c8b.js} +1 -1
  293. package/.next/static/chunks/6022-7a7d1760fc9814c7.js +1 -0
  294. package/.next/static/chunks/6381-28d0e95620aa018e.js +1 -0
  295. package/.next/static/chunks/app/api/agents/update/route-ee11f7b8a34cba8c.js +1 -0
  296. package/.next/static/chunks/app/api/agents/versions/route-ee11f7b8a34cba8c.js +1 -0
  297. package/.next/static/chunks/app/api/app/update/route-ee11f7b8a34cba8c.js +1 -0
  298. package/.next/static/chunks/app/api/app/update-check/route-ee11f7b8a34cba8c.js +1 -0
  299. package/.next/static/chunks/app/api/assistant/conversation/route-ee11f7b8a34cba8c.js +1 -0
  300. package/.next/static/chunks/app/api/assistant/current-output/route-ee11f7b8a34cba8c.js +1 -0
  301. package/.next/static/chunks/app/api/assistant/messages/route-ee11f7b8a34cba8c.js +1 -0
  302. package/.next/static/chunks/app/api/assistant/session/route-ee11f7b8a34cba8c.js +1 -0
  303. package/.next/static/chunks/app/api/assistant/start/route-ee11f7b8a34cba8c.js +1 -0
  304. package/.next/static/chunks/app/api/assistant/terminal/route-ee11f7b8a34cba8c.js +1 -0
  305. package/.next/static/chunks/app/api/assistant/tools/route-ee11f7b8a34cba8c.js +1 -0
  306. package/.next/static/chunks/app/api/auth/login/route-ee11f7b8a34cba8c.js +1 -0
  307. package/.next/static/chunks/app/api/auth/logout/route-ee11f7b8a34cba8c.js +1 -0
  308. package/.next/static/chunks/app/api/auth/status/route-ee11f7b8a34cba8c.js +1 -0
  309. package/.next/static/chunks/app/api/capabilities/route-ee11f7b8a34cba8c.js +1 -0
  310. package/.next/static/chunks/app/api/daily-summary/route-ee11f7b8a34cba8c.js +1 -0
  311. package/.next/static/chunks/app/api/daily-summary/status/route-ee11f7b8a34cba8c.js +1 -0
  312. package/.next/static/chunks/app/api/external-apps/[id]/health/route-ee11f7b8a34cba8c.js +1 -0
  313. package/.next/static/chunks/app/api/external-apps/[id]/route-ee11f7b8a34cba8c.js +1 -0
  314. package/.next/static/chunks/app/api/external-apps/route-ee11f7b8a34cba8c.js +1 -0
  315. package/.next/static/chunks/app/api/fs/browse/route-ee11f7b8a34cba8c.js +1 -0
  316. package/.next/static/chunks/app/api/fs/recent-paths/route-ee11f7b8a34cba8c.js +1 -0
  317. package/.next/static/chunks/app/api/hooks/agent-event/route-ee11f7b8a34cba8c.js +1 -0
  318. package/.next/static/chunks/app/api/hooks/claude-done/route-ee11f7b8a34cba8c.js +1 -0
  319. package/.next/static/chunks/app/api/hooks/permission-request/route-ee11f7b8a34cba8c.js +1 -0
  320. package/.next/static/chunks/app/api/metrics/vibe/route-ee11f7b8a34cba8c.js +1 -0
  321. package/.next/static/chunks/app/api/ollama/models/route-ee11f7b8a34cba8c.js +1 -0
  322. package/.next/static/chunks/app/api/push/escalation/route-ee11f7b8a34cba8c.js +1 -0
  323. package/.next/static/chunks/app/api/push/subscriptions/route-ee11f7b8a34cba8c.js +1 -0
  324. package/.next/static/chunks/app/api/push/vapid/route-ee11f7b8a34cba8c.js +1 -0
  325. package/.next/static/chunks/app/api/remote/pair/route-ee11f7b8a34cba8c.js +1 -0
  326. package/.next/static/chunks/app/api/repositories/[id]/route-ee11f7b8a34cba8c.js +1 -0
  327. package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-ee11f7b8a34cba8c.js +1 -0
  328. package/.next/static/chunks/app/api/repositories/[id]/todos/route-ee11f7b8a34cba8c.js +1 -0
  329. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-ee11f7b8a34cba8c.js +1 -0
  330. package/.next/static/chunks/app/api/repositories/clone/route-ee11f7b8a34cba8c.js +1 -0
  331. package/.next/static/chunks/app/api/repositories/excluded/route-ee11f7b8a34cba8c.js +1 -0
  332. package/.next/static/chunks/app/api/repositories/restore/route-ee11f7b8a34cba8c.js +1 -0
  333. package/.next/static/chunks/app/api/repositories/route-ee11f7b8a34cba8c.js +1 -0
  334. package/.next/static/chunks/app/api/repositories/scan/route-ee11f7b8a34cba8c.js +1 -0
  335. package/.next/static/chunks/app/api/repositories/sync/route-ee11f7b8a34cba8c.js +1 -0
  336. package/.next/static/chunks/app/api/repositories/validate-path/route-ee11f7b8a34cba8c.js +1 -0
  337. package/.next/static/chunks/app/api/settings/default-agents/route-ee11f7b8a34cba8c.js +1 -0
  338. package/.next/static/chunks/app/api/settings/default-surface-mode/route-ee11f7b8a34cba8c.js +1 -0
  339. package/.next/static/chunks/app/api/sidebar/group-order/route-ee11f7b8a34cba8c.js +1 -0
  340. package/.next/static/chunks/app/api/skills/[id]/route-ee11f7b8a34cba8c.js +1 -0
  341. package/.next/static/chunks/app/api/skills/installations/route-ee11f7b8a34cba8c.js +1 -0
  342. package/.next/static/chunks/app/api/skills/operations/route-ee11f7b8a34cba8c.js +1 -0
  343. package/.next/static/chunks/app/api/skills/reindex/route-ee11f7b8a34cba8c.js +1 -0
  344. package/.next/static/chunks/app/api/skills/route-ee11f7b8a34cba8c.js +1 -0
  345. package/.next/static/chunks/app/api/slash-commands/route-ee11f7b8a34cba8c.js +1 -0
  346. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-ee11f7b8a34cba8c.js +1 -0
  347. package/.next/static/chunks/app/api/tasks/[taskId]/route-ee11f7b8a34cba8c.js +1 -0
  348. package/.next/static/chunks/app/api/templates/[id]/route-ee11f7b8a34cba8c.js +1 -0
  349. package/.next/static/chunks/app/api/templates/route-ee11f7b8a34cba8c.js +1 -0
  350. package/.next/static/chunks/app/api/todos/route-ee11f7b8a34cba8c.js +1 -0
  351. package/.next/static/chunks/app/api/verification/runs/[runId]/route-ee11f7b8a34cba8c.js +1 -0
  352. package/.next/static/chunks/app/api/verification/runs/route-ee11f7b8a34cba8c.js +1 -0
  353. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-ee11f7b8a34cba8c.js +1 -0
  354. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-ee11f7b8a34cba8c.js +1 -0
  355. package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-ee11f7b8a34cba8c.js +1 -0
  356. package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-ee11f7b8a34cba8c.js +1 -0
  357. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-ee11f7b8a34cba8c.js +1 -0
  358. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-ee11f7b8a34cba8c.js +1 -0
  359. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-ee11f7b8a34cba8c.js +1 -0
  360. package/.next/static/chunks/app/api/worktrees/[id]/env/route-ee11f7b8a34cba8c.js +1 -0
  361. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-ee11f7b8a34cba8c.js +1 -0
  362. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-ee11f7b8a34cba8c.js +1 -0
  363. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-ee11f7b8a34cba8c.js +1 -0
  364. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-ee11f7b8a34cba8c.js +1 -0
  365. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-ee11f7b8a34cba8c.js +1 -0
  366. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-ee11f7b8a34cba8c.js +1 -0
  367. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-ee11f7b8a34cba8c.js +1 -0
  368. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-ee11f7b8a34cba8c.js +1 -0
  369. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-ee11f7b8a34cba8c.js +1 -0
  370. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-ee11f7b8a34cba8c.js +1 -0
  371. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-ee11f7b8a34cba8c.js +1 -0
  372. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-ee11f7b8a34cba8c.js +1 -0
  373. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-ee11f7b8a34cba8c.js +1 -0
  374. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-ee11f7b8a34cba8c.js +1 -0
  375. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-ee11f7b8a34cba8c.js +1 -0
  376. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-ee11f7b8a34cba8c.js +1 -0
  377. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-ee11f7b8a34cba8c.js +1 -0
  378. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-ee11f7b8a34cba8c.js +1 -0
  379. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-ee11f7b8a34cba8c.js +1 -0
  380. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-ee11f7b8a34cba8c.js +1 -0
  381. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-ee11f7b8a34cba8c.js +1 -0
  382. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-ee11f7b8a34cba8c.js +1 -0
  383. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-ee11f7b8a34cba8c.js +1 -0
  384. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-ee11f7b8a34cba8c.js +1 -0
  385. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-ee11f7b8a34cba8c.js +1 -0
  386. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-ee11f7b8a34cba8c.js +1 -0
  387. package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-ee11f7b8a34cba8c.js +1 -0
  388. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-ee11f7b8a34cba8c.js +1 -0
  389. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-ee11f7b8a34cba8c.js +1 -0
  390. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-ee11f7b8a34cba8c.js +1 -0
  391. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-ee11f7b8a34cba8c.js +1 -0
  392. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-ee11f7b8a34cba8c.js +1 -0
  393. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-ee11f7b8a34cba8c.js +1 -0
  394. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-ee11f7b8a34cba8c.js +1 -0
  395. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-ee11f7b8a34cba8c.js +1 -0
  396. package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-ee11f7b8a34cba8c.js +1 -0
  397. package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-ee11f7b8a34cba8c.js +1 -0
  398. package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-ee11f7b8a34cba8c.js +1 -0
  399. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-ee11f7b8a34cba8c.js +1 -0
  400. package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-ee11f7b8a34cba8c.js +1 -0
  401. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-ee11f7b8a34cba8c.js +1 -0
  402. package/.next/static/chunks/app/api/worktrees/[id]/route-ee11f7b8a34cba8c.js +1 -0
  403. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-ee11f7b8a34cba8c.js +1 -0
  404. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-ee11f7b8a34cba8c.js +1 -0
  405. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-ee11f7b8a34cba8c.js +1 -0
  406. package/.next/static/chunks/app/api/worktrees/[id]/search/route-ee11f7b8a34cba8c.js +1 -0
  407. package/.next/static/chunks/app/api/worktrees/[id]/send/route-ee11f7b8a34cba8c.js +1 -0
  408. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-ee11f7b8a34cba8c.js +1 -0
  409. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-ee11f7b8a34cba8c.js +1 -0
  410. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-ee11f7b8a34cba8c.js +1 -0
  411. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-ee11f7b8a34cba8c.js +1 -0
  412. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-ee11f7b8a34cba8c.js +1 -0
  413. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-ee11f7b8a34cba8c.js +1 -0
  414. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-ee11f7b8a34cba8c.js +1 -0
  415. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-ee11f7b8a34cba8c.js +1 -0
  416. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-ee11f7b8a34cba8c.js +1 -0
  417. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-ee11f7b8a34cba8c.js +1 -0
  418. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-ee11f7b8a34cba8c.js +1 -0
  419. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-ee11f7b8a34cba8c.js +1 -0
  420. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-ee11f7b8a34cba8c.js +1 -0
  421. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-ee11f7b8a34cba8c.js +1 -0
  422. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-ee11f7b8a34cba8c.js +1 -0
  423. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-ee11f7b8a34cba8c.js +1 -0
  424. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-ee11f7b8a34cba8c.js +1 -0
  425. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-ee11f7b8a34cba8c.js +1 -0
  426. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-ee11f7b8a34cba8c.js +1 -0
  427. package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-ee11f7b8a34cba8c.js +1 -0
  428. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-ee11f7b8a34cba8c.js +1 -0
  429. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-ee11f7b8a34cba8c.js +1 -0
  430. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-ee11f7b8a34cba8c.js +1 -0
  431. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-ee11f7b8a34cba8c.js +1 -0
  432. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-ee11f7b8a34cba8c.js +1 -0
  433. package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-ee11f7b8a34cba8c.js +1 -0
  434. package/.next/static/chunks/app/api/worktrees/route-ee11f7b8a34cba8c.js +1 -0
  435. package/.next/static/chunks/app/manifest.webmanifest/route-ee11f7b8a34cba8c.js +1 -0
  436. package/.next/static/chunks/app/more/{page-75d3783da0d49a25.js → page-333bba1c8bbc9c11.js} +1 -1
  437. package/.next/static/chunks/app/proxy/[...path]/route-ee11f7b8a34cba8c.js +1 -0
  438. package/.next/static/chunks/app/worktrees/[id]/layout-ee11f7b8a34cba8c.js +1 -0
  439. package/.next/static/chunks/app/worktrees/[id]/page-d48b95ed554bcd13.js +1 -0
  440. package/.next/static/chunks/app/worktrees/[id]/terminal/page-2631bc5c4b0a9fb8.js +1 -0
  441. package/.next/static/css/61e10d4b1b11b193.css +1 -0
  442. package/.next/trace +13 -13
  443. package/.next/types/app/api/settings/default-surface-mode/route.ts +347 -0
  444. package/.next/types/app/api/worktrees/[id]/{start-polling → cli-reference}/route.ts +3 -3
  445. package/.next/types/routes.d.ts +3 -2
  446. package/.next/types/validator.ts +18 -9
  447. package/dist/server/server.js +58 -0
  448. package/dist/server/src/lib/claude-output.js +1 -0
  449. package/dist/server/src/lib/db/app-settings-db.js +60 -0
  450. package/dist/server/src/lib/db/chat-db.js +120 -7
  451. package/dist/server/src/lib/detection/status-detector.js +3 -2
  452. package/dist/server/src/lib/env.js +122 -0
  453. package/dist/server/src/lib/git/worktrees.js +154 -0
  454. package/dist/server/src/lib/history/transcript-tail.js +80 -0
  455. package/dist/server/src/lib/history/user-turn-recorder.js +247 -0
  456. package/dist/server/src/lib/hooks/permission-decision-service.js +85 -1
  457. package/dist/server/src/lib/hooks/sources/antigravity/history.js +519 -0
  458. package/dist/server/src/lib/hooks/sources/antigravity/source.js +7 -0
  459. package/dist/server/src/lib/hooks/sources/antigravity/transcript.js +407 -0
  460. package/dist/server/src/lib/hooks/sources/claude/history.js +654 -0
  461. package/dist/server/src/lib/hooks/sources/claude/source.js +4 -0
  462. package/dist/server/src/lib/hooks/sources/claude/transcript.js +518 -0
  463. package/dist/server/src/lib/hooks/sources/codex/history.js +576 -0
  464. package/dist/server/src/lib/hooks/sources/codex/source.js +4 -0
  465. package/dist/server/src/lib/hooks/sources/codex/transcript.js +448 -0
  466. package/dist/server/src/lib/hooks/sources/copilot/source.js +2 -0
  467. package/dist/server/src/lib/hooks/sources/gemini/source.js +2 -0
  468. package/dist/server/src/lib/hooks/sources/legacy-relay.js +3 -0
  469. package/dist/server/src/lib/hooks/sources/opencode/history.js +57 -0
  470. package/dist/server/src/lib/hooks/sources/opencode/source.js +4 -0
  471. package/dist/server/src/lib/hooks/sources/opencode/transcript.js +10 -28
  472. package/dist/server/src/lib/hooks/sources/turn-body.js +118 -0
  473. package/dist/server/src/lib/polling/prompt-dedup.js +2 -4
  474. package/dist/server/src/lib/polling/response-checker.js +44 -3
  475. package/dist/server/src/lib/polling/response-dedup.js +2 -4
  476. package/dist/server/src/lib/polling/response-poller-core.js +191 -29
  477. package/dist/server/src/lib/polling/structured-history-gate.js +147 -16
  478. package/dist/server/src/lib/push/push-sender.js +21 -1
  479. package/dist/server/src/lib/push/waiting-push-notifier.js +126 -8
  480. package/dist/server/src/lib/realtime/publisher-registry.js +171 -0
  481. package/dist/server/src/lib/realtime/terminal-broadcast.js +14 -1
  482. package/dist/server/src/lib/realtime/types.js +96 -1
  483. package/dist/server/src/lib/session/current-output-builder.js +263 -4
  484. package/dist/server/src/lib/session/send-user-message.js +90 -2
  485. package/dist/server/src/lib/tui-accumulator.js +2 -8
  486. package/dist/server/src/lib/ws-server.js +143 -6
  487. package/dist/server/src/types/agent-transcript.js +241 -5
  488. package/dist/server/src/types/ui-state.js +24 -1
  489. package/package.json +1 -1
  490. package/public/sw.js +15 -1
  491. package/.next/server/app/api/worktrees/[id]/start-polling/route.js +0 -1
  492. package/.next/server/app/api/worktrees/[id]/start-polling/route.js.nft.json +0 -1
  493. package/.next/server/chunks/1714.js +0 -7
  494. package/.next/server/chunks/2198.js +0 -1
  495. package/.next/server/chunks/221.js +0 -25
  496. package/.next/server/chunks/2759.js +0 -8
  497. package/.next/server/chunks/3558.js +0 -1
  498. package/.next/server/chunks/9508.js +0 -1
  499. package/.next/static/0YoRrahue4Vchxg1z83IQ/_buildManifest.js +0 -1
  500. package/.next/static/chunks/1379-af7af9e08f47c979.js +0 -1
  501. package/.next/static/chunks/6381-9ba5198c0a6ff197.js +0 -1
  502. package/.next/static/chunks/app/api/agents/update/route-1c30fb8d4d6fa6ef.js +0 -1
  503. package/.next/static/chunks/app/api/agents/versions/route-1c30fb8d4d6fa6ef.js +0 -1
  504. package/.next/static/chunks/app/api/app/update/route-1c30fb8d4d6fa6ef.js +0 -1
  505. package/.next/static/chunks/app/api/app/update-check/route-1c30fb8d4d6fa6ef.js +0 -1
  506. package/.next/static/chunks/app/api/assistant/conversation/route-1c30fb8d4d6fa6ef.js +0 -1
  507. package/.next/static/chunks/app/api/assistant/current-output/route-1c30fb8d4d6fa6ef.js +0 -1
  508. package/.next/static/chunks/app/api/assistant/messages/route-1c30fb8d4d6fa6ef.js +0 -1
  509. package/.next/static/chunks/app/api/assistant/session/route-1c30fb8d4d6fa6ef.js +0 -1
  510. package/.next/static/chunks/app/api/assistant/start/route-1c30fb8d4d6fa6ef.js +0 -1
  511. package/.next/static/chunks/app/api/assistant/terminal/route-1c30fb8d4d6fa6ef.js +0 -1
  512. package/.next/static/chunks/app/api/assistant/tools/route-1c30fb8d4d6fa6ef.js +0 -1
  513. package/.next/static/chunks/app/api/auth/login/route-1c30fb8d4d6fa6ef.js +0 -1
  514. package/.next/static/chunks/app/api/auth/logout/route-1c30fb8d4d6fa6ef.js +0 -1
  515. package/.next/static/chunks/app/api/auth/status/route-1c30fb8d4d6fa6ef.js +0 -1
  516. package/.next/static/chunks/app/api/capabilities/route-1c30fb8d4d6fa6ef.js +0 -1
  517. package/.next/static/chunks/app/api/daily-summary/route-1c30fb8d4d6fa6ef.js +0 -1
  518. package/.next/static/chunks/app/api/daily-summary/status/route-1c30fb8d4d6fa6ef.js +0 -1
  519. package/.next/static/chunks/app/api/external-apps/[id]/health/route-1c30fb8d4d6fa6ef.js +0 -1
  520. package/.next/static/chunks/app/api/external-apps/[id]/route-1c30fb8d4d6fa6ef.js +0 -1
  521. package/.next/static/chunks/app/api/external-apps/route-1c30fb8d4d6fa6ef.js +0 -1
  522. package/.next/static/chunks/app/api/fs/browse/route-1c30fb8d4d6fa6ef.js +0 -1
  523. package/.next/static/chunks/app/api/fs/recent-paths/route-1c30fb8d4d6fa6ef.js +0 -1
  524. package/.next/static/chunks/app/api/hooks/agent-event/route-1c30fb8d4d6fa6ef.js +0 -1
  525. package/.next/static/chunks/app/api/hooks/claude-done/route-1c30fb8d4d6fa6ef.js +0 -1
  526. package/.next/static/chunks/app/api/hooks/permission-request/route-1c30fb8d4d6fa6ef.js +0 -1
  527. package/.next/static/chunks/app/api/metrics/vibe/route-1c30fb8d4d6fa6ef.js +0 -1
  528. package/.next/static/chunks/app/api/ollama/models/route-1c30fb8d4d6fa6ef.js +0 -1
  529. package/.next/static/chunks/app/api/push/escalation/route-1c30fb8d4d6fa6ef.js +0 -1
  530. package/.next/static/chunks/app/api/push/subscriptions/route-1c30fb8d4d6fa6ef.js +0 -1
  531. package/.next/static/chunks/app/api/push/vapid/route-1c30fb8d4d6fa6ef.js +0 -1
  532. package/.next/static/chunks/app/api/remote/pair/route-1c30fb8d4d6fa6ef.js +0 -1
  533. package/.next/static/chunks/app/api/repositories/[id]/route-1c30fb8d4d6fa6ef.js +0 -1
  534. package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-1c30fb8d4d6fa6ef.js +0 -1
  535. package/.next/static/chunks/app/api/repositories/[id]/todos/route-1c30fb8d4d6fa6ef.js +0 -1
  536. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-1c30fb8d4d6fa6ef.js +0 -1
  537. package/.next/static/chunks/app/api/repositories/clone/route-1c30fb8d4d6fa6ef.js +0 -1
  538. package/.next/static/chunks/app/api/repositories/excluded/route-1c30fb8d4d6fa6ef.js +0 -1
  539. package/.next/static/chunks/app/api/repositories/restore/route-1c30fb8d4d6fa6ef.js +0 -1
  540. package/.next/static/chunks/app/api/repositories/route-1c30fb8d4d6fa6ef.js +0 -1
  541. package/.next/static/chunks/app/api/repositories/scan/route-1c30fb8d4d6fa6ef.js +0 -1
  542. package/.next/static/chunks/app/api/repositories/sync/route-1c30fb8d4d6fa6ef.js +0 -1
  543. package/.next/static/chunks/app/api/repositories/validate-path/route-1c30fb8d4d6fa6ef.js +0 -1
  544. package/.next/static/chunks/app/api/settings/default-agents/route-1c30fb8d4d6fa6ef.js +0 -1
  545. package/.next/static/chunks/app/api/sidebar/group-order/route-1c30fb8d4d6fa6ef.js +0 -1
  546. package/.next/static/chunks/app/api/skills/[id]/route-1c30fb8d4d6fa6ef.js +0 -1
  547. package/.next/static/chunks/app/api/skills/installations/route-1c30fb8d4d6fa6ef.js +0 -1
  548. package/.next/static/chunks/app/api/skills/operations/route-1c30fb8d4d6fa6ef.js +0 -1
  549. package/.next/static/chunks/app/api/skills/reindex/route-1c30fb8d4d6fa6ef.js +0 -1
  550. package/.next/static/chunks/app/api/skills/route-1c30fb8d4d6fa6ef.js +0 -1
  551. package/.next/static/chunks/app/api/slash-commands/route-1c30fb8d4d6fa6ef.js +0 -1
  552. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-1c30fb8d4d6fa6ef.js +0 -1
  553. package/.next/static/chunks/app/api/tasks/[taskId]/route-1c30fb8d4d6fa6ef.js +0 -1
  554. package/.next/static/chunks/app/api/templates/[id]/route-1c30fb8d4d6fa6ef.js +0 -1
  555. package/.next/static/chunks/app/api/templates/route-1c30fb8d4d6fa6ef.js +0 -1
  556. package/.next/static/chunks/app/api/todos/route-1c30fb8d4d6fa6ef.js +0 -1
  557. package/.next/static/chunks/app/api/verification/runs/[runId]/route-1c30fb8d4d6fa6ef.js +0 -1
  558. package/.next/static/chunks/app/api/verification/runs/route-1c30fb8d4d6fa6ef.js +0 -1
  559. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-1c30fb8d4d6fa6ef.js +0 -1
  560. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-1c30fb8d4d6fa6ef.js +0 -1
  561. package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-1c30fb8d4d6fa6ef.js +0 -1
  562. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-1c30fb8d4d6fa6ef.js +0 -1
  563. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-1c30fb8d4d6fa6ef.js +0 -1
  564. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-1c30fb8d4d6fa6ef.js +0 -1
  565. package/.next/static/chunks/app/api/worktrees/[id]/env/route-1c30fb8d4d6fa6ef.js +0 -1
  566. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-1c30fb8d4d6fa6ef.js +0 -1
  567. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-1c30fb8d4d6fa6ef.js +0 -1
  568. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-1c30fb8d4d6fa6ef.js +0 -1
  569. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-1c30fb8d4d6fa6ef.js +0 -1
  570. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-1c30fb8d4d6fa6ef.js +0 -1
  571. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-1c30fb8d4d6fa6ef.js +0 -1
  572. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-1c30fb8d4d6fa6ef.js +0 -1
  573. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-1c30fb8d4d6fa6ef.js +0 -1
  574. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-1c30fb8d4d6fa6ef.js +0 -1
  575. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-1c30fb8d4d6fa6ef.js +0 -1
  576. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-1c30fb8d4d6fa6ef.js +0 -1
  577. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-1c30fb8d4d6fa6ef.js +0 -1
  578. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-1c30fb8d4d6fa6ef.js +0 -1
  579. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-1c30fb8d4d6fa6ef.js +0 -1
  580. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-1c30fb8d4d6fa6ef.js +0 -1
  581. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-1c30fb8d4d6fa6ef.js +0 -1
  582. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-1c30fb8d4d6fa6ef.js +0 -1
  583. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-1c30fb8d4d6fa6ef.js +0 -1
  584. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-1c30fb8d4d6fa6ef.js +0 -1
  585. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-1c30fb8d4d6fa6ef.js +0 -1
  586. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-1c30fb8d4d6fa6ef.js +0 -1
  587. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-1c30fb8d4d6fa6ef.js +0 -1
  588. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-1c30fb8d4d6fa6ef.js +0 -1
  589. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-1c30fb8d4d6fa6ef.js +0 -1
  590. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-1c30fb8d4d6fa6ef.js +0 -1
  591. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-1c30fb8d4d6fa6ef.js +0 -1
  592. package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-1c30fb8d4d6fa6ef.js +0 -1
  593. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-1c30fb8d4d6fa6ef.js +0 -1
  594. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-1c30fb8d4d6fa6ef.js +0 -1
  595. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-1c30fb8d4d6fa6ef.js +0 -1
  596. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-1c30fb8d4d6fa6ef.js +0 -1
  597. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-1c30fb8d4d6fa6ef.js +0 -1
  598. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-1c30fb8d4d6fa6ef.js +0 -1
  599. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-1c30fb8d4d6fa6ef.js +0 -1
  600. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-1c30fb8d4d6fa6ef.js +0 -1
  601. package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-1c30fb8d4d6fa6ef.js +0 -1
  602. package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-1c30fb8d4d6fa6ef.js +0 -1
  603. package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-1c30fb8d4d6fa6ef.js +0 -1
  604. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-1c30fb8d4d6fa6ef.js +0 -1
  605. package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-1c30fb8d4d6fa6ef.js +0 -1
  606. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-1c30fb8d4d6fa6ef.js +0 -1
  607. package/.next/static/chunks/app/api/worktrees/[id]/route-1c30fb8d4d6fa6ef.js +0 -1
  608. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-1c30fb8d4d6fa6ef.js +0 -1
  609. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-1c30fb8d4d6fa6ef.js +0 -1
  610. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-1c30fb8d4d6fa6ef.js +0 -1
  611. package/.next/static/chunks/app/api/worktrees/[id]/search/route-1c30fb8d4d6fa6ef.js +0 -1
  612. package/.next/static/chunks/app/api/worktrees/[id]/send/route-1c30fb8d4d6fa6ef.js +0 -1
  613. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-1c30fb8d4d6fa6ef.js +0 -1
  614. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-1c30fb8d4d6fa6ef.js +0 -1
  615. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-1c30fb8d4d6fa6ef.js +0 -1
  616. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-1c30fb8d4d6fa6ef.js +0 -1
  617. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-1c30fb8d4d6fa6ef.js +0 -1
  618. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-1c30fb8d4d6fa6ef.js +0 -1
  619. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-1c30fb8d4d6fa6ef.js +0 -1
  620. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-1c30fb8d4d6fa6ef.js +0 -1
  621. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-1c30fb8d4d6fa6ef.js +0 -1
  622. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-1c30fb8d4d6fa6ef.js +0 -1
  623. package/.next/static/chunks/app/api/worktrees/[id]/start-polling/route-1c30fb8d4d6fa6ef.js +0 -1
  624. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-1c30fb8d4d6fa6ef.js +0 -1
  625. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-1c30fb8d4d6fa6ef.js +0 -1
  626. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-1c30fb8d4d6fa6ef.js +0 -1
  627. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-1c30fb8d4d6fa6ef.js +0 -1
  628. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-1c30fb8d4d6fa6ef.js +0 -1
  629. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-1c30fb8d4d6fa6ef.js +0 -1
  630. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-1c30fb8d4d6fa6ef.js +0 -1
  631. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-1c30fb8d4d6fa6ef.js +0 -1
  632. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-1c30fb8d4d6fa6ef.js +0 -1
  633. package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-1c30fb8d4d6fa6ef.js +0 -1
  634. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-1c30fb8d4d6fa6ef.js +0 -1
  635. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-1c30fb8d4d6fa6ef.js +0 -1
  636. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-1c30fb8d4d6fa6ef.js +0 -1
  637. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-1c30fb8d4d6fa6ef.js +0 -1
  638. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-1c30fb8d4d6fa6ef.js +0 -1
  639. package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-1c30fb8d4d6fa6ef.js +0 -1
  640. package/.next/static/chunks/app/api/worktrees/route-1c30fb8d4d6fa6ef.js +0 -1
  641. package/.next/static/chunks/app/manifest.webmanifest/route-1c30fb8d4d6fa6ef.js +0 -1
  642. package/.next/static/chunks/app/proxy/[...path]/route-1c30fb8d4d6fa6ef.js +0 -1
  643. package/.next/static/chunks/app/worktrees/[id]/layout-1c30fb8d4d6fa6ef.js +0 -1
  644. package/.next/static/chunks/app/worktrees/[id]/page-ce6279d581d1df95.js +0 -1
  645. package/.next/static/chunks/app/worktrees/[id]/terminal/page-00ad5d9a62a71cab.js +0 -1
  646. package/.next/static/css/b326c8a734e1928e.css +0 -1
  647. /package/.next/static/{0YoRrahue4Vchxg1z83IQ → 7K0XXFu_ty4wRSkl4X21E}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- exports.id=9123,exports.ids=[9123],exports.modules={762:(a,b,c)=>{Promise.resolve().then(c.bind(c,96908))},1483:(a,b,c)=>{var d={"./en/keyboardShortcuts.json":[53722,1341],"./ja/keyboardShortcuts.json":[88356,8356]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=1483,a.exports=e},4267:(a,b,c)=>{"use strict";c.d(b,{Lt:()=>h,Wj:()=>f,eu:()=>e,fJ:()=>g});var d=c(17252);let e=2,f=6,g=["claude","codex","antigravity"];function h(a){return a.length<e||a.length>f?{valid:!1,error:`Must be ${e}-${f} elements`}:a.every(a=>"string"==typeof a&&d.XH.includes(a))?new Set(a).size!==a.length?{valid:!1,error:"Duplicate tool IDs not allowed"}:{valid:!0,value:a}:{valid:!1,error:"Invalid CLI tool ID"}}},4558:(a,b,c)=>{"use strict";c.d(b,{A:()=>g});var d=c(43692),e=c(86802),f=c(25754);let g=(0,d.A)(async({requestLocale:a})=>{let b=await a;if(!(0,f.d9)(b)){let a=await (0,e.UL)(),c=await (0,e.b3)();b=(0,f.rv)(a.get(f.gB)?.value,c.get("accept-language"))}let[d,g,h,i,j,k,l,m,n,o,p,q,r,s,t]=await Promise.all([c(61118)(`./${b}/common.json`),c(90338)(`./${b}/worktree.json`),c(62081)(`./${b}/autoYes.json`),c(66125)(`./${b}/error.json`),c(72637)(`./${b}/prompt.json`),c(51877)(`./${b}/auth.json`),c(38898)(`./${b}/schedule.json`),c(80407)(`./${b}/commandPalette.json`),c(70288)(`./${b}/home.json`),c(60887)(`./${b}/review.json`),c(75567)(`./${b}/pwa.json`),c(99127)(`./${b}/notifications.json`),c(1483)(`./${b}/keyboardShortcuts.json`),c(80812)(`./${b}/externalApps.json`),c(18913)(`./${b}/skills.json`)]);return{locale:b,timeZone:"UTC",messages:{common:d.default,worktree:g.default,autoYes:h.default,error:i.default,prompt:j.default,auth:k.default,schedule:l.default,commandPalette:m.default,home:n.default,review:o.default,pwa:p.default,notifications:q.default,keyboardShortcuts:r.default,externalApps:s.default,skills:t.default}}})},5682:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/CommandMate/CommandMate/src/app/error.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/CommandMate/CommandMate/src/app/error.tsx","default")},5772:(a,b,c)=>{"use strict";c.d(b,{Ps:()=>k,W5:()=>j});var d=c(21124),e=c(38301),f=c(90076),g=c(12480);let h={size:g.r5,setSize:()=>{},isMobile:!1,factor:g.d8[g.r5].factor,isAvailable:!1},i=(0,e.createContext)(h);function j({children:a}){let{size:b,setSize:c,isAvailable:h}=(0,g.of)(),j=(0,f.a)(),k=(0,e.useMemo)(()=>({size:b,setSize:c,isMobile:j,factor:g.d8[b].factor,isAvailable:h}),[b,c,j,h]);return(0,d.jsx)(i.Provider,{value:k,children:a})}function k(){return(0,e.useContext)(i)}},6074:(a,b,c)=>{"use strict";c.d(b,{O:()=>e});var d=c(38301);function e(a,b){let[c,e]=(0,d.useState)(a?"open":"closed");return a&&"open"!==c?e("open"):a||"open"!==c||e("exiting"),{shouldRender:a||"closed"!==c,isExiting:!a&&"exiting"===c}}},11010:(a,b,c)=>{"use strict";c.d(b,{M:()=>d});let d={DROPDOWN:10,SIDEBAR:30,MODAL:50,MAXIMIZED_EDITOR:55,TOAST:60,POPOVER:65,CONTEXT_MENU:70}},12055:(a,b,c)=>{"use strict";c.d(b,{Oo:()=>e,ST:()=>d,zS:()=>f});let d="client_version",e="version_mismatch";function f(a){let b;try{b=JSON.parse(a)}catch{return null}if(!b||"object"!=typeof b)return null;let c=b;if("broadcast"===c.type){let a=c.data;return a&&"object"==typeof a?"string"!=typeof a.type?null:(void 0===a.worktreeId&&"string"==typeof c.worktreeId&&(a.worktreeId=c.worktreeId),a):null}return"string"==typeof c.type?c:null}},12480:(a,b,c)=>{"use strict";c.d(b,{Uf:()=>f,d8:()=>g,fM:()=>h,of:()=>j,r5:()=>e,rq:()=>i});var d=c(53237);let e="medium",f=["large","medium","small","xsmall"],g={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 h(a){return"string"==typeof a&&Object.prototype.hasOwnProperty.call(g,a)}function i(a){return g[a].terminalFontSize}function j(){let{value:a,setValue:b,isAvailable:c}=(0,d.V)({key:"mcbd-pc-display-size",defaultValue:e,validate:h});return{size:a,setSize:b,isAvailable:c}}},17252:(a,b,c)=>{"use strict";c.d(b,{Ab:()=>e,NL:()=>q,O6:()=>n,XH:()=>d,f_:()=>l,hR:()=>j,lu:()=>o,n6:()=>h,oo:()=>k,pQ:()=>f,sw:()=>m,vz:()=>p});let d=["claude","codex","gemini","vibe-local","opencode","copilot","antigravity"],e=10,f=50,g=/^[a-zA-Z0-9_-]+$/;function h(a){return"string"==typeof a&&a.length>0&&a.length<=64&&g.test(a)}let i={claude:"Claude",codex:"Codex",gemini:"Gemini","vibe-local":"Vibe Local",opencode:"OpenCode",copilot:"Copilot",antigravity:"Antigravity"};function j(a){return d.includes(a)}function k(a){return i[a]??a}function l(a,b="Assistant"){return a&&j(a)?k(a):b}function m(a){let b=a.alias;return"string"==typeof b&&b.trim().length>0?b:k(a.cliTool)}function n(a,b,c){let d=a.find(a=>a.id===b);return d?m(d):k(c)}function o(a){return a.map((a,b)=>({id:a,cliTool:a,alias:k(a),order:b}))}let p=128,q=2097152},17793:(a,b,c)=>{"use strict";c.d(b,{y:()=>h});var d=c(21124);c(38301);var e=c(35595);let f={xs:"h-3 w-3",sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6",xl:"h-8 w-8"},g={current:"",accent:"text-accent-600 dark:text-accent-400",muted:"text-muted-foreground"};function h({size:a="md",variant:b="current",className:c,...h}){return(0,d.jsxs)("svg",{className:(0,e.cn)("animate-spin",f[a],g[b],c),xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","aria-hidden":"true",...h,children:[(0,d.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,d.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})}},18913:(a,b,c)=>{var d={"./en/skills.json":[55064,5064],"./ja/skills.json":[20022,22]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=18913,a.exports=e},19463:(a,b,c)=>{"use strict";c.d(b,{Kg:()=>f,Lv:()=>g});var d=c(38301),e=c(63157);function f(a){let b=0;for(let c of a)!0===c.isWaitingForResponse&&b++;return b}function g(){let a=(0,e.rC)(),b=a?.worktrees;return(0,d.useMemo)(()=>{let a=b?b.filter(a=>!0===a.isWaitingForResponse):[];return{count:a.length,worktrees:a}},[b])}},25754:(a,b,c)=>{"use strict";c.d(b,{Xn:()=>e,d9:()=>g,gB:()=>f,rv:()=>h});let d=["en","ja"],e="en",f="locale";function g(a){return"string"==typeof a&&d.includes(a)}function h(a,b){return g(a)?a:d.find(a=>(b??"").includes(a))??e}},26808:(a,b,c)=>{Promise.resolve().then(c.bind(c,58315))},32482:(a,b,c)=>{"use strict";c.d(b,{LV:()=>j,Si:()=>f,UZ:()=>h,Xn:()=>m,_s:()=>n,nO:()=>k,s6:()=>i});var d=c(89877);let e=["updatedAt","repositoryName","branchName","status","lastSent"],f=a=>e.includes(a),g={waiting:0,ready:1,running:2,generating:3,idle:4};function h(a){let b=new Set;for(let c of a)!1===c.visible&&b.add(c.path);return b}function i(a,b){return 0===b.size?a.slice():a.filter(a=>{let c=a.repositoryPath;return!c||!b.has(c)})}function j(a){let b=function(a){let b=5381;for(let c=0;c<a.length;c++)b=(b<<5)+b+a.charCodeAt(c)|0;return Math.abs(b)}(a)%360;return`hsl(${b}, 65%, 60%)`}function k(a,b){if(!a&&!b)return 0;if(!a)return 1;if(!b)return -1;let c=a instanceof Date?a.getTime():new Date(a).getTime();return(b instanceof Date?b.getTime():new Date(b).getTime())-c}function l(a){return"waiting"===(a.cliStatus&&Object.keys(a.cliStatus).length>0?(0,d.A7)(a.cliStatus):a.status)}function m(a,b,c){let d=[...a],e="status"!==b;return d.sort((a,d)=>{if(e){let b=Number(l(d))-Number(l(a));if(0!==b)return b}let f=0;switch(b){case"updatedAt":{let b=a=>a?a instanceof Date?a.getTime():new Date(a).getTime():0,c=b(a.lastActivity);f=b(d.lastActivity)-c;break}case"repositoryName":{let b=a.repositoryName.toLowerCase(),c=d.repositoryName.toLowerCase();f=b.localeCompare(c);break}case"branchName":{let b=a.name.toLowerCase(),c=d.name.toLowerCase();f=b.localeCompare(c);break}case"status":f=g[a.status]-g[d.status];break;case"lastSent":{let b=k(a.lastActivity,d.lastActivity);if(!a.lastActivity&&!d.lastActivity){f=0;break}if(!a.lastActivity)return 1;if(!d.lastActivity)return -1;f=b;break}default:f=0}return("updatedAt"===b||"lastSent"===b?"desc"===c:"asc"===c)?f:-f}),d}function n(a,b,c){let d=new Map;for(let b of a){let a=b.repositoryName;d.has(a)||d.set(a,[]),d.get(a).push(b)}return[...d.keys()].sort((a,b)=>a.toLowerCase().localeCompare(b.toLowerCase())).map(a=>({repositoryName:a,branches:m(d.get(a),b,c)}))}},35595:(a,b,c)=>{"use strict";c.d(b,{cn:()=>f});var d=c(43249),e=c(58829);function f(...a){return(0,e.QP)((0,d.$)(a))}},35914:(a,b,c)=>{"use strict";c.d(b,{oz:()=>d,tV:()=>e});function d(a){if(null==a||"object"!=typeof a)return!1;let{name:b,message:c}=a;return"ChunkLoadError"===b||"string"==typeof c&&(c.includes("Loading chunk")||c.includes("Failed to fetch dynamically imported module"))}function e(a){return"skipped"}},36536:(a,b,c)=>{Promise.resolve().then(c.bind(c,80776))},38898:(a,b,c)=>{var d={"./en/schedule.json":[95571,5571],"./ja/schedule.json":[26285,6285]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=38898,a.exports=e},39800:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h});var d=c(21124),e=c(38301),f=c(35914);let g={en:{chunkTitle:"Updating to the latest version",chunkDescription:"A newer version of CommandMate is available. Reloading to get the latest update…",genericTitle:"Something went wrong",genericDescription:"An unexpected error occurred. Please reload the page.",reload:"Reload"},ja:{chunkTitle:"最新バージョンに更新しています",chunkDescription:"CommandMate の新しいバージョンが利用可能です。最新の状態にするため再読み込みします…",genericTitle:"問題が発生しました",genericDescription:"予期しないエラーが発生しました。ページを再読み込みしてください。",reload:"再読み込み"}};function h({error:a}){let b=(0,f.oz)(a),[c,h]=(0,e.useState)("en"),i=g[c];return(0,d.jsx)("html",{lang:c,style:{colorScheme:"light dark"},children:(0,d.jsxs)("body",{style:{margin:0,minHeight:"100vh",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:"1.5rem",padding:"1.5rem",textAlign:"center",background:"Canvas",color:"CanvasText",fontFamily:'system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif'},children:[(0,d.jsxs)("div",{style:{maxWidth:"24rem"},children:[(0,d.jsx)("h1",{style:{fontSize:"1.5rem",fontWeight:600,margin:"0 0 0.5rem"},children:b?i.chunkTitle:i.genericTitle}),(0,d.jsx)("p",{style:{fontSize:"0.875rem",opacity:.75,margin:0},children:b?i.chunkDescription:i.genericDescription})]}),(0,d.jsx)("button",{type:"button",onClick:()=>window.location.reload(),style:{appearance:"none",cursor:"pointer",borderRadius:"0.5rem",border:"1px solid currentColor",background:"transparent",color:"inherit",padding:"0.5rem 1rem",fontSize:"0.875rem",fontWeight:500},children:i.reload})]})})}},43084:(a,b,c)=>{"use strict";c.d(b,{k:()=>g});var d=c(75338),e=c(94596);let f=["[animation-delay:0ms]","[animation-delay:150ms]","[animation-delay:300ms]"];function g(){let a=(0,e.A)("common");return(0,d.jsx)("div",{className:"flex min-h-screen w-full items-center justify-center p-8",role:"status","aria-label":a("loadingPage"),"data-testid":"route-loading",children:(0,d.jsx)("div",{className:"flex items-center gap-2","aria-hidden":"true",children:f.map(a=>(0,d.jsx)("span",{className:`h-2.5 w-2.5 rounded-full bg-muted-foreground animate-pulse ${a}`},a))})})}},44164:(a,b,c)=>{Promise.resolve().then(c.bind(c,64182))},47817:(a,b,c)=>{"use strict";c.d(b,{$f:()=>k,H8:()=>j});var d=c(21124),e=c(38301),f=c(78352);let g=(0,e.createContext)(null),h={selectedWorktreeId:null,worktrees:[],repositories:[],selectedWorktreeDetail:null,isLoading:!0,isLoadingDetail:!1,error:null};function i(a,b){switch(b.type){case"SET_WORKTREES":return{...a,worktrees:b.worktrees,isLoading:!1};case"SET_REPOSITORIES":return{...a,repositories:b.repositories};case"SELECT_WORKTREE":{let c=a.worktrees.find(a=>a.id===b.id)??null;return{...a,selectedWorktreeId:b.id,selectedWorktreeDetail:c??a.selectedWorktreeDetail,isLoadingDetail:null===c}}case"SET_WORKTREE_DETAIL":return{...a,selectedWorktreeDetail:b.detail};case"SET_LOADING":return{...a,isLoading:b.isLoading};case"SET_LOADING_DETAIL":return{...a,isLoadingDetail:b.isLoadingDetail};case"SET_ERROR":return{...a,error:b.error,isLoading:!1};default:return a}}function j({children:a,externalWorktrees:b,externalRepositories:c,externalIsLoading:j,externalError:k,externalRefresh:l}){let m=void 0!==b,[n,o]=(0,e.useReducer)(i,h),p=(0,e.useCallback)(async()=>{if(!m){o({type:"SET_LOADING",isLoading:!0}),o({type:"SET_ERROR",error:null});try{let a=await f.y.getAll();o({type:"SET_WORKTREES",worktrees:a.worktrees}),o({type:"SET_REPOSITORIES",repositories:a.repositories??[]})}catch(a){o({type:"SET_ERROR",error:a instanceof Error?a.message:"Failed to fetch worktrees"})}}},[m]),q=(0,e.useCallback)(async a=>{o({type:"SELECT_WORKTREE",id:a}),o({type:"SET_ERROR",error:null});try{f.y.markAsViewed(a).catch(a=>{console.warn("[WorktreeSelectionContext] Failed to mark as viewed:",a)});let b=await f.y.getById(a);o({type:"SET_WORKTREE_DETAIL",detail:b})}catch(a){o({type:"SET_ERROR",error:a instanceof Error?a.message:"Failed to fetch worktree detail"})}finally{o({type:"SET_LOADING_DETAIL",isLoadingDetail:!1})}},[]),r=(0,e.useCallback)(async()=>{if(m&&l)return void await l();await p()},[m,l,p]),s=m&&void 0!==j?j:n.isLoading,t=m&&k?k.message:null,u={selectedWorktreeId:n.selectedWorktreeId,worktrees:n.worktrees,repositories:n.repositories,selectedWorktreeDetail:n.selectedWorktreeDetail,isLoading:s,isLoadingDetail:n.isLoadingDetail,error:t??n.error,selectWorktree:q,refreshWorktrees:r};return(0,d.jsx)(g.Provider,{value:u,children:a})}function k(){let a=(0,e.useContext)(g);if(!a)throw Error("useWorktreeSelection must be used within a WorktreeSelectionProvider");return a}},48620:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(75338),e=c(43084);function f(){return(0,d.jsx)(e.k,{})}},51472:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>p,generateMetadata:()=>n,viewport:()=>o});var d=c(75338),e=c(68071),f=c(22513),g=c(42531),h=c(10620),i=c(4986),j=c.n(i),k=c(68034),l=c.n(k),m=c(58315);async function n(){return{title:{default:"CommandMate",template:"%s | CommandMate"},description:(await (0,e.A)("common"))("meta.description"),appleWebApp:{capable:!0,title:"CommandMate",statusBarStyle:"default"}}}c(61135);let o={themeColor:[{media:"(prefers-color-scheme: light)",color:"#fafafb"},{media:"(prefers-color-scheme: dark)",color:"#0a0c12"}],viewportFit:"cover"};async function p({children:a}){let b=await (0,f.A)(),c=await (0,g.A)(),e=await (0,h.A)();return(0,d.jsx)("html",{lang:b,className:`${j().variable} ${l().variable}`,suppressHydrationWarning:!0,children:(0,d.jsx)("body",{className:"min-h-screen bg-background",children:(0,d.jsx)(m.AppProviders,{locale:b,messages:c,timeZone:e,authEnabled:!!process.env.CM_AUTH_TOKEN_HASH,children:a})})})}},51877:(a,b,c)=>{var d={"./en/auth.json":[43440,3440],"./ja/auth.json":[11162,1162]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=51877,a.exports=e},52130:(a,b,c)=>{Promise.resolve().then(c.bind(c,53523))},52761:(a,b,c)=>{"use strict";c.d(b,{Bo:()=>k,Hq:()=>i});var d=c(21124),e=c(38301),f=c(42378);let g={startTransition:a=>a()},h=(0,e.createContext)(null);function i(){let a=(0,f.useRouter)(),{startTransition:b}=(0,e.useContext)(h)??g;return(0,e.useMemo)(()=>({push:c=>b(()=>a.push(c)),replace:c=>b(()=>a.replace(c))}),[a,b])}function j({onCommit:a}){return(0,f.usePathname)(),(0,e.useRef)(!1),null}function k({children:a}){let b=(0,e.useRef)(null),c=(0,e.useCallback)(()=>{b.current?.()},[]),f=(0,e.useCallback)(a=>{var c;c=()=>new Promise(c=>{let d=!1,e=()=>{d||(d=!0,c())};b.current=e,a(),window.setTimeout(e,500)}),"undefined"==typeof document||"function"!=typeof document.startViewTransition?c():document.startViewTransition(c)},[]),g=(0,e.useMemo)(()=>({startTransition:f}),[f]);return(0,d.jsxs)(h.Provider,{value:g,children:[(0,d.jsx)(j,{onCommit:c}),a]})}},53237:(a,b,c)=>{"use strict";c.d(b,{V:()=>e});var d=c(38301);function e(a){let{key:b,defaultValue:c,validate:e,serialize:f=JSON.stringify,deserialize:g=JSON.parse}=a,h=(0,d.useRef)(c),i=(0,d.useRef)(e),j=(0,d.useRef)(f),k=(0,d.useRef)(g);h.current=c,i.current=e,j.current=f,k.current=g;let[l,m]=(0,d.useState)(!1),[n,o]=(0,d.useState)(c);(0,d.useCallback)(()=>h.current,[b]);let p=(0,d.useCallback)(a=>{},[b]);return{value:n,setValue:(0,d.useCallback)(a=>{o(b=>{let c="function"==typeof a?a(b):a;return p(c),c})},[p]),removeValue:(0,d.useCallback)(()=>{o(h.current)},[b]),isAvailable:l}}},53906:(a,b,c)=>{Promise.resolve().then(c.bind(c,5682))},54834:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,31603,23)),Promise.resolve().then(c.t.bind(c,68495,23)),Promise.resolve().then(c.t.bind(c,75170,23)),Promise.resolve().then(c.t.bind(c,77526,23)),Promise.resolve().then(c.t.bind(c,78922,23)),Promise.resolve().then(c.t.bind(c,29234,23)),Promise.resolve().then(c.t.bind(c,12263,23)),Promise.resolve().then(c.bind(c,82146))},57482:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(97523);let e=async a=>[{type:"image/png",sizes:"192x192",url:(0,d.fillMetadataSegment)(".",await a.params,"icon2.png")+"?6e2321fdb8624653"}]},58315:(a,b,c)=>{"use strict";c.d(b,{AppProviders:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call AppProviders() from the server but AppProviders is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/CommandMate/CommandMate/src/components/providers/AppProviders.tsx","AppProviders")},58970:(a,b,c)=>{"use strict";c.d(b,{$B:()=>j,I2:()=>f,LK:()=>h,Ys:()=>i,pX:()=>d,s7:()=>e,tX:()=>g});let d=2e3,e=1500,f=2e3,g=150,h=100,i=200,j=100},60345:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(97523);let e=async a=>[{type:"image/png",sizes:"96x96",url:(0,d.fillMetadataSegment)(".",await a.params,"icon1.png")+"?901e04bb11e9b7fd"}]},60887:(a,b,c)=>{var d={"./en/review.json":[83346,3346],"./ja/review.json":[49328,9328]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=60887,a.exports=e},61118:(a,b,c)=>{var d={"./en/common.json":[73543,3543],"./ja/common.json":[53945,3945]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=61118,a.exports=e},61135:()=>{},62081:(a,b,c)=>{var d={"./en/autoYes.json":[44248,4248],"./ja/autoYes.json":[92534,2534]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=62081,a.exports=e},63157:(a,b,c)=>{"use strict";c.d(b,{g7:()=>k,rC:()=>m,Fn:()=>l});var d=c(21124),e=c(38301),f=c(78352),g=c(67619);let h=[2e3,5e3,1e4];var i=c(47817);let j=(0,e.createContext)(null);function k({children:a}){let{worktrees:b,repositories:c,isLoading:k,error:l,refresh:m}=function(){let[a,b]=(0,e.useState)([]),[c,d]=(0,e.useState)([]),[i,j]=(0,e.useState)(!0),[k,l]=(0,e.useState)(null),m=(0,e.useRef)(null),n=(0,e.useRef)([]),o=(0,e.useRef)(null),p=(0,e.useRef)(0),q=(0,e.useRef)(null),r=(0,e.useRef)(async()=>{}),s=(0,e.useCallback)(()=>{null!==q.current&&(clearTimeout(q.current),q.current=null)},[]),{connected:t,subscribe:u,unsubscribe:v,addListener:w}=(0,g.xM)(),x=(0,e.useRef)(t);x.current=t;let y=(0,e.useCallback)(async()=>{try{l(null);let a=await fetch("/api/worktrees"),c=(0,f.O0)(a);if(c)throw c;if(!a.ok)throw Error(`Failed to fetch worktrees: ${a.status}`);let g=(0,f.xd)(a);if(g)throw g;let h=await a.json(),i=h.worktrees??[],j=h.repositories??[];(0,e.startTransition)(()=>{b(i),d(j)}),n.current=i,p.current=0,s()}catch(c){let a=c instanceof Error?c:Error(String(c));console.error("[useWorktreesCache] Failed to fetch worktrees:",a),l(a);let b=p.current;0===n.current.length&&b<h.length&&(p.current=b+1,s(),q.current=setTimeout(()=>{q.current=null,r.current()},h[b]))}finally{j(!1)}},[s]);r.current=y;let z=(0,e.useCallback)(()=>n.current.some(a=>!0===a.isSessionRunning),[]),A=(0,e.useCallback)(()=>{let a=z();return x.current?a?2e4:6e4:a?5e3:3e4},[z]),B=(0,e.useCallback)(()=>{null!==m.current&&(clearInterval(m.current),m.current=null),o.current=null},[]);return(0,e.useCallback)(()=>{B();let a=A();o.current=a,m.current=setInterval(()=>{y()},a)},[A,y,B]),a.map(a=>a.id).sort().join(" "),{worktrees:a,repositories:c,isLoading:i,error:k,refresh:y}}(),n=(0,e.useMemo)(()=>({worktrees:b,repositories:c,isLoading:k,error:l,refresh:m}),[b,c,k,l,m]);return(0,d.jsx)(j.Provider,{value:n,children:(0,d.jsx)(i.H8,{externalWorktrees:b,externalRepositories:c,externalIsLoading:k,externalError:l,externalRefresh:m,children:a})})}function l(){let a=(0,e.useContext)(j);if(null===a)throw Error("useWorktreesCacheContext must be used within a WorktreesCacheProvider");return a}function m(){return(0,e.useContext)(j)}},63474:(a,b,c)=>{"use strict";c.d(b,{dj:()=>w,tE:()=>v});var d=c(21124),e=c(38301),f=c(23312),g=c(20481),h=c(75219),i=c(91292),j=c(16945),k=c(71117),l=c(47089),m=c(11010),n=c(58970),o=c(6074);let p=3e3;function q({type:a,iconColor:b}){let c=`h-5 w-5 ${b}`;switch(a){case"success":return(0,d.jsx)(h.A,{className:c,"data-testid":"toast-icon-success"});case"error":return(0,d.jsx)(i.A,{className:c,"data-testid":"toast-icon-error"});case"warning":return(0,d.jsx)(j.A,{className:c,"data-testid":"toast-icon-warning"});default:return(0,d.jsx)(k.A,{className:c,"data-testid":"toast-icon-info"})}}function r({id:a,message:b,type:c,onClose:f,duration:h=p,onClick:i}){let j=(0,g.c)("common"),k=(0,e.useRef)(null),m=function(a){switch(a){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"}}}(c),[r,s]=(0,e.useState)(!0),{shouldRender:t,isExiting:u}=(0,o.O)(r,n.Ys);(0,e.useRef)(f).current=f;let v=(0,e.useCallback)(()=>{k.current&&clearTimeout(k.current),s(!1)},[]);return(0,d.jsxs)("div",{"data-testid":`toast-${a}`,role:"alert",className:`
1
+ exports.id=9123,exports.ids=[9123],exports.modules={762:(a,b,c)=>{Promise.resolve().then(c.bind(c,96908))},1483:(a,b,c)=>{var d={"./en/keyboardShortcuts.json":[53722,1341],"./ja/keyboardShortcuts.json":[88356,8356]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=1483,a.exports=e},4267:(a,b,c)=>{"use strict";c.d(b,{Lt:()=>h,Wj:()=>f,eu:()=>e,fJ:()=>g});var d=c(17252);let e=2,f=6,g=["claude","codex","antigravity"];function h(a){return a.length<e||a.length>f?{valid:!1,error:`Must be ${e}-${f} elements`}:a.every(a=>"string"==typeof a&&d.XH.includes(a))?new Set(a).size!==a.length?{valid:!1,error:"Duplicate tool IDs not allowed"}:{valid:!0,value:a}:{valid:!1,error:"Invalid CLI tool ID"}}},4558:(a,b,c)=>{"use strict";c.d(b,{A:()=>g});var d=c(43692),e=c(86802),f=c(25754);let g=(0,d.A)(async({requestLocale:a})=>{let b=await a;if(!(0,f.d9)(b)){let a=await (0,e.UL)(),c=await (0,e.b3)();b=(0,f.rv)(a.get(f.gB)?.value,c.get("accept-language"))}let[d,g,h,i,j,k,l,m,n,o,p,q,r,s,t]=await Promise.all([c(61118)(`./${b}/common.json`),c(90338)(`./${b}/worktree.json`),c(62081)(`./${b}/autoYes.json`),c(66125)(`./${b}/error.json`),c(72637)(`./${b}/prompt.json`),c(51877)(`./${b}/auth.json`),c(38898)(`./${b}/schedule.json`),c(80407)(`./${b}/commandPalette.json`),c(70288)(`./${b}/home.json`),c(60887)(`./${b}/review.json`),c(75567)(`./${b}/pwa.json`),c(99127)(`./${b}/notifications.json`),c(1483)(`./${b}/keyboardShortcuts.json`),c(80812)(`./${b}/externalApps.json`),c(18913)(`./${b}/skills.json`)]);return{locale:b,timeZone:"UTC",messages:{common:d.default,worktree:g.default,autoYes:h.default,error:i.default,prompt:j.default,auth:k.default,schedule:l.default,commandPalette:m.default,home:n.default,review:o.default,pwa:p.default,notifications:q.default,keyboardShortcuts:r.default,externalApps:s.default,skills:t.default}}})},5682:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/CommandMate/CommandMate/src/app/error.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/CommandMate/CommandMate/src/app/error.tsx","default")},5772:(a,b,c)=>{"use strict";c.d(b,{Ps:()=>k,W5:()=>j});var d=c(21124),e=c(38301),f=c(90076),g=c(12480);let h={size:g.r5,setSize:()=>{},isMobile:!1,factor:g.d8[g.r5].factor,isAvailable:!1},i=(0,e.createContext)(h);function j({children:a}){let{size:b,setSize:c,isAvailable:h}=(0,g.of)(),j=(0,f.a)(),k=(0,e.useMemo)(()=>({size:b,setSize:c,isMobile:j,factor:g.d8[b].factor,isAvailable:h}),[b,c,j,h]);return(0,d.jsx)(i.Provider,{value:k,children:a})}function k(){return(0,e.useContext)(i)}},6074:(a,b,c)=>{"use strict";c.d(b,{O:()=>e});var d=c(38301);function e(a,b){let[c,e]=(0,d.useState)(a?"open":"closed");return a&&"open"!==c?e("open"):a||"open"!==c||e("exiting"),{shouldRender:a||"closed"!==c,isExiting:!a&&"exiting"===c}}},11010:(a,b,c)=>{"use strict";c.d(b,{M:()=>d});let d={DROPDOWN:10,SIDEBAR:30,MODAL:50,MAXIMIZED_EDITOR:55,TOAST:60,POPOVER:65,CONTEXT_MENU:70}},12055:(a,b,c)=>{"use strict";c.d(b,{Oo:()=>e,ST:()=>d,dz:()=>g,rz:()=>f,zS:()=>h});let d="client_version",e="version_mismatch",f="chat_turn_progress",g="messages_invalidated";function h(a){let b;try{b=JSON.parse(a)}catch{return null}if(!b||"object"!=typeof b)return null;let c=b;if("broadcast"===c.type){let a=c.data;return a&&"object"==typeof a?"string"!=typeof a.type?null:(void 0===a.worktreeId&&"string"==typeof c.worktreeId&&(a.worktreeId=c.worktreeId),a):null}return"string"==typeof c.type?c:null}},12480:(a,b,c)=>{"use strict";c.d(b,{Uf:()=>f,d8:()=>g,fM:()=>h,of:()=>j,r5:()=>e,rq:()=>i});var d=c(53237);let e="medium",f=["large","medium","small","xsmall"],g={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 h(a){return"string"==typeof a&&Object.prototype.hasOwnProperty.call(g,a)}function i(a){return g[a].terminalFontSize}function j(){let{value:a,setValue:b,isAvailable:c}=(0,d.V)({key:"mcbd-pc-display-size",defaultValue:e,validate:h});return{size:a,setSize:b,isAvailable:c}}},17252:(a,b,c)=>{"use strict";c.d(b,{Ab:()=>e,NL:()=>q,O6:()=>n,XH:()=>d,f_:()=>l,hR:()=>j,lu:()=>o,n6:()=>h,oo:()=>k,pQ:()=>f,sw:()=>m,vz:()=>p});let d=["claude","codex","gemini","vibe-local","opencode","copilot","antigravity"],e=10,f=50,g=/^[a-zA-Z0-9_-]+$/;function h(a){return"string"==typeof a&&a.length>0&&a.length<=64&&g.test(a)}let i={claude:"Claude",codex:"Codex",gemini:"Gemini","vibe-local":"Vibe Local",opencode:"OpenCode",copilot:"Copilot",antigravity:"Antigravity"};function j(a){return d.includes(a)}function k(a){return i[a]??a}function l(a,b="Assistant"){return a&&j(a)?k(a):b}function m(a){let b=a.alias;return"string"==typeof b&&b.trim().length>0?b:k(a.cliTool)}function n(a,b,c){let d=a.find(a=>a.id===b);return d?m(d):k(c)}function o(a){return a.map((a,b)=>({id:a,cliTool:a,alias:k(a),order:b}))}let p=128,q=2097152},17793:(a,b,c)=>{"use strict";c.d(b,{y:()=>h});var d=c(21124);c(38301);var e=c(35595);let f={xs:"h-3 w-3",sm:"h-4 w-4",md:"h-5 w-5",lg:"h-6 w-6",xl:"h-8 w-8"},g={current:"",accent:"text-accent-600 dark:text-accent-400",muted:"text-muted-foreground"};function h({size:a="md",variant:b="current",className:c,...h}){return(0,d.jsxs)("svg",{className:(0,e.cn)("animate-spin",f[a],g[b],c),xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","aria-hidden":"true",...h,children:[(0,d.jsx)("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),(0,d.jsx)("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})}},18913:(a,b,c)=>{var d={"./en/skills.json":[55064,5064],"./ja/skills.json":[20022,22]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=18913,a.exports=e},19463:(a,b,c)=>{"use strict";c.d(b,{Kg:()=>f,Lv:()=>g});var d=c(38301),e=c(63157);function f(a){let b=0;for(let c of a)!0===c.isWaitingForResponse&&b++;return b}function g(){let a=(0,e.rC)(),b=a?.worktrees;return(0,d.useMemo)(()=>{let a=b?b.filter(a=>!0===a.isWaitingForResponse):[];return{count:a.length,worktrees:a}},[b])}},25754:(a,b,c)=>{"use strict";c.d(b,{Xn:()=>e,d9:()=>g,gB:()=>f,rv:()=>h});let d=["en","ja"],e="en",f="locale";function g(a){return"string"==typeof a&&d.includes(a)}function h(a,b){return g(a)?a:d.find(a=>(b??"").includes(a))??e}},26808:(a,b,c)=>{Promise.resolve().then(c.bind(c,58315))},32482:(a,b,c)=>{"use strict";c.d(b,{LV:()=>j,Si:()=>f,UZ:()=>h,Xn:()=>m,_s:()=>n,nO:()=>k,s6:()=>i});var d=c(89877);let e=["updatedAt","repositoryName","branchName","status","lastSent"],f=a=>e.includes(a),g={waiting:0,ready:1,running:2,generating:3,idle:4};function h(a){let b=new Set;for(let c of a)!1===c.visible&&b.add(c.path);return b}function i(a,b){return 0===b.size?a.slice():a.filter(a=>{let c=a.repositoryPath;return!c||!b.has(c)})}function j(a){let b=function(a){let b=5381;for(let c=0;c<a.length;c++)b=(b<<5)+b+a.charCodeAt(c)|0;return Math.abs(b)}(a)%360;return`hsl(${b}, 65%, 60%)`}function k(a,b){if(!a&&!b)return 0;if(!a)return 1;if(!b)return -1;let c=a instanceof Date?a.getTime():new Date(a).getTime();return(b instanceof Date?b.getTime():new Date(b).getTime())-c}function l(a){return"waiting"===(a.cliStatus&&Object.keys(a.cliStatus).length>0?(0,d.A7)(a.cliStatus):a.status)}function m(a,b,c){let d=[...a],e="status"!==b;return d.sort((a,d)=>{if(e){let b=Number(l(d))-Number(l(a));if(0!==b)return b}let f=0;switch(b){case"updatedAt":{let b=a=>a?a instanceof Date?a.getTime():new Date(a).getTime():0,c=b(a.lastActivity);f=b(d.lastActivity)-c;break}case"repositoryName":{let b=a.repositoryName.toLowerCase(),c=d.repositoryName.toLowerCase();f=b.localeCompare(c);break}case"branchName":{let b=a.name.toLowerCase(),c=d.name.toLowerCase();f=b.localeCompare(c);break}case"status":f=g[a.status]-g[d.status];break;case"lastSent":{let b=k(a.lastActivity,d.lastActivity);if(!a.lastActivity&&!d.lastActivity){f=0;break}if(!a.lastActivity)return 1;if(!d.lastActivity)return -1;f=b;break}default:f=0}return("updatedAt"===b||"lastSent"===b?"desc"===c:"asc"===c)?f:-f}),d}function n(a,b,c){let d=new Map;for(let b of a){let a=b.repositoryName;d.has(a)||d.set(a,[]),d.get(a).push(b)}return[...d.keys()].sort((a,b)=>a.toLowerCase().localeCompare(b.toLowerCase())).map(a=>({repositoryName:a,branches:m(d.get(a),b,c)}))}},35595:(a,b,c)=>{"use strict";c.d(b,{cn:()=>f});var d=c(43249),e=c(58829);function f(...a){return(0,e.QP)((0,d.$)(a))}},35914:(a,b,c)=>{"use strict";c.d(b,{oz:()=>d,tV:()=>e});function d(a){if(null==a||"object"!=typeof a)return!1;let{name:b,message:c}=a;return"ChunkLoadError"===b||"string"==typeof c&&(c.includes("Loading chunk")||c.includes("Failed to fetch dynamically imported module"))}function e(a){return"skipped"}},36536:(a,b,c)=>{Promise.resolve().then(c.bind(c,80776))},38898:(a,b,c)=>{var d={"./en/schedule.json":[95571,5571],"./ja/schedule.json":[26285,6285]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=38898,a.exports=e},39800:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h});var d=c(21124),e=c(38301),f=c(35914);let g={en:{chunkTitle:"Updating to the latest version",chunkDescription:"A newer version of CommandMate is available. Reloading to get the latest update…",genericTitle:"Something went wrong",genericDescription:"An unexpected error occurred. Please reload the page.",reload:"Reload"},ja:{chunkTitle:"最新バージョンに更新しています",chunkDescription:"CommandMate の新しいバージョンが利用可能です。最新の状態にするため再読み込みします…",genericTitle:"問題が発生しました",genericDescription:"予期しないエラーが発生しました。ページを再読み込みしてください。",reload:"再読み込み"}};function h({error:a}){let b=(0,f.oz)(a),[c,h]=(0,e.useState)("en"),i=g[c];return(0,d.jsx)("html",{lang:c,style:{colorScheme:"light dark"},children:(0,d.jsxs)("body",{style:{margin:0,minHeight:"100vh",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:"1.5rem",padding:"1.5rem",textAlign:"center",background:"Canvas",color:"CanvasText",fontFamily:'system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif'},children:[(0,d.jsxs)("div",{style:{maxWidth:"24rem"},children:[(0,d.jsx)("h1",{style:{fontSize:"1.5rem",fontWeight:600,margin:"0 0 0.5rem"},children:b?i.chunkTitle:i.genericTitle}),(0,d.jsx)("p",{style:{fontSize:"0.875rem",opacity:.75,margin:0},children:b?i.chunkDescription:i.genericDescription})]}),(0,d.jsx)("button",{type:"button",onClick:()=>window.location.reload(),style:{appearance:"none",cursor:"pointer",borderRadius:"0.5rem",border:"1px solid currentColor",background:"transparent",color:"inherit",padding:"0.5rem 1rem",fontSize:"0.875rem",fontWeight:500},children:i.reload})]})})}},43084:(a,b,c)=>{"use strict";c.d(b,{k:()=>g});var d=c(75338),e=c(94596);let f=["[animation-delay:0ms]","[animation-delay:150ms]","[animation-delay:300ms]"];function g(){let a=(0,e.A)("common");return(0,d.jsx)("div",{className:"flex min-h-screen w-full items-center justify-center p-8",role:"status","aria-label":a("loadingPage"),"data-testid":"route-loading",children:(0,d.jsx)("div",{className:"flex items-center gap-2","aria-hidden":"true",children:f.map(a=>(0,d.jsx)("span",{className:`h-2.5 w-2.5 rounded-full bg-muted-foreground animate-pulse ${a}`},a))})})}},44164:(a,b,c)=>{Promise.resolve().then(c.bind(c,64182))},47817:(a,b,c)=>{"use strict";c.d(b,{$f:()=>k,H8:()=>j});var d=c(21124),e=c(38301),f=c(78352);let g=(0,e.createContext)(null),h={selectedWorktreeId:null,worktrees:[],repositories:[],selectedWorktreeDetail:null,isLoading:!0,isLoadingDetail:!1,error:null};function i(a,b){switch(b.type){case"SET_WORKTREES":return{...a,worktrees:b.worktrees,isLoading:!1};case"SET_REPOSITORIES":return{...a,repositories:b.repositories};case"SELECT_WORKTREE":{let c=a.worktrees.find(a=>a.id===b.id)??null;return{...a,selectedWorktreeId:b.id,selectedWorktreeDetail:c??a.selectedWorktreeDetail,isLoadingDetail:null===c}}case"SET_WORKTREE_DETAIL":return{...a,selectedWorktreeDetail:b.detail};case"SET_LOADING":return{...a,isLoading:b.isLoading};case"SET_LOADING_DETAIL":return{...a,isLoadingDetail:b.isLoadingDetail};case"SET_ERROR":return{...a,error:b.error,isLoading:!1};default:return a}}function j({children:a,externalWorktrees:b,externalRepositories:c,externalIsLoading:j,externalError:k,externalRefresh:l}){let m=void 0!==b,[n,o]=(0,e.useReducer)(i,h),p=(0,e.useCallback)(async()=>{if(!m){o({type:"SET_LOADING",isLoading:!0}),o({type:"SET_ERROR",error:null});try{let a=await f.y.getAll();o({type:"SET_WORKTREES",worktrees:a.worktrees}),o({type:"SET_REPOSITORIES",repositories:a.repositories??[]})}catch(a){o({type:"SET_ERROR",error:a instanceof Error?a.message:"Failed to fetch worktrees"})}}},[m]),q=(0,e.useCallback)(async a=>{o({type:"SELECT_WORKTREE",id:a}),o({type:"SET_ERROR",error:null});try{f.y.markAsViewed(a).catch(a=>{console.warn("[WorktreeSelectionContext] Failed to mark as viewed:",a)});let b=await f.y.getById(a);o({type:"SET_WORKTREE_DETAIL",detail:b})}catch(a){o({type:"SET_ERROR",error:a instanceof Error?a.message:"Failed to fetch worktree detail"})}finally{o({type:"SET_LOADING_DETAIL",isLoadingDetail:!1})}},[]),r=(0,e.useCallback)(async()=>{if(m&&l)return void await l();await p()},[m,l,p]),s=m&&void 0!==j?j:n.isLoading,t=m&&k?k.message:null,u={selectedWorktreeId:n.selectedWorktreeId,worktrees:n.worktrees,repositories:n.repositories,selectedWorktreeDetail:n.selectedWorktreeDetail,isLoading:s,isLoadingDetail:n.isLoadingDetail,error:t??n.error,selectWorktree:q,refreshWorktrees:r};return(0,d.jsx)(g.Provider,{value:u,children:a})}function k(){let a=(0,e.useContext)(g);if(!a)throw Error("useWorktreeSelection must be used within a WorktreeSelectionProvider");return a}},48620:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(75338),e=c(43084);function f(){return(0,d.jsx)(e.k,{})}},51472:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>p,generateMetadata:()=>n,viewport:()=>o});var d=c(75338),e=c(68071),f=c(22513),g=c(42531),h=c(10620),i=c(4986),j=c.n(i),k=c(68034),l=c.n(k),m=c(58315);async function n(){return{title:{default:"CommandMate",template:"%s | CommandMate"},description:(await (0,e.A)("common"))("meta.description"),appleWebApp:{capable:!0,title:"CommandMate",statusBarStyle:"default"}}}c(61135);let o={themeColor:[{media:"(prefers-color-scheme: light)",color:"#fafafb"},{media:"(prefers-color-scheme: dark)",color:"#0a0c12"}],viewportFit:"cover"};async function p({children:a}){let b=await (0,f.A)(),c=await (0,g.A)(),e=await (0,h.A)();return(0,d.jsx)("html",{lang:b,className:`${j().variable} ${l().variable}`,suppressHydrationWarning:!0,children:(0,d.jsx)("body",{className:"min-h-screen bg-background",children:(0,d.jsx)(m.AppProviders,{locale:b,messages:c,timeZone:e,authEnabled:!!process.env.CM_AUTH_TOKEN_HASH,children:a})})})}},51877:(a,b,c)=>{var d={"./en/auth.json":[43440,3440],"./ja/auth.json":[11162,1162]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=51877,a.exports=e},52130:(a,b,c)=>{Promise.resolve().then(c.bind(c,53523))},52761:(a,b,c)=>{"use strict";c.d(b,{Bo:()=>k,Hq:()=>i});var d=c(21124),e=c(38301),f=c(42378);let g={startTransition:a=>a()},h=(0,e.createContext)(null);function i(){let a=(0,f.useRouter)(),{startTransition:b}=(0,e.useContext)(h)??g;return(0,e.useMemo)(()=>({push:c=>b(()=>a.push(c)),replace:c=>b(()=>a.replace(c))}),[a,b])}function j({onCommit:a}){return(0,f.usePathname)(),(0,e.useRef)(!1),null}function k({children:a}){let b=(0,e.useRef)(null),c=(0,e.useCallback)(()=>{b.current?.()},[]),f=(0,e.useCallback)(a=>{var c;c=()=>new Promise(c=>{let d=!1,e=()=>{d||(d=!0,c())};b.current=e,a(),window.setTimeout(e,500)}),"undefined"==typeof document||"function"!=typeof document.startViewTransition?c():document.startViewTransition(c)},[]),g=(0,e.useMemo)(()=>({startTransition:f}),[f]);return(0,d.jsxs)(h.Provider,{value:g,children:[(0,d.jsx)(j,{onCommit:c}),a]})}},53237:(a,b,c)=>{"use strict";c.d(b,{V:()=>e});var d=c(38301);function e(a){let{key:b,defaultValue:c,validate:e,serialize:f=JSON.stringify,deserialize:g=JSON.parse}=a,h=(0,d.useRef)(c),i=(0,d.useRef)(e),j=(0,d.useRef)(f),k=(0,d.useRef)(g);h.current=c,i.current=e,j.current=f,k.current=g;let[l,m]=(0,d.useState)(!1),[n,o]=(0,d.useState)(c);(0,d.useCallback)(()=>h.current,[b]);let p=(0,d.useCallback)(a=>{},[b]);return{value:n,setValue:(0,d.useCallback)(a=>{o(b=>{let c="function"==typeof a?a(b):a;return p(c),c})},[p]),removeValue:(0,d.useCallback)(()=>{o(h.current)},[b]),isAvailable:l}}},53906:(a,b,c)=>{Promise.resolve().then(c.bind(c,5682))},54834:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,31603,23)),Promise.resolve().then(c.t.bind(c,68495,23)),Promise.resolve().then(c.t.bind(c,75170,23)),Promise.resolve().then(c.t.bind(c,77526,23)),Promise.resolve().then(c.t.bind(c,78922,23)),Promise.resolve().then(c.t.bind(c,29234,23)),Promise.resolve().then(c.t.bind(c,12263,23)),Promise.resolve().then(c.bind(c,82146))},57482:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(97523);let e=async a=>[{type:"image/png",sizes:"192x192",url:(0,d.fillMetadataSegment)(".",await a.params,"icon2.png")+"?6e2321fdb8624653"}]},58315:(a,b,c)=>{"use strict";c.d(b,{AppProviders:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call AppProviders() from the server but AppProviders is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/CommandMate/CommandMate/src/components/providers/AppProviders.tsx","AppProviders")},58970:(a,b,c)=>{"use strict";c.d(b,{$B:()=>j,I2:()=>f,LK:()=>h,Ys:()=>i,pX:()=>d,s7:()=>e,tX:()=>g});let d=2e3,e=1500,f=2e3,g=150,h=100,i=200,j=100},60345:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(97523);let e=async a=>[{type:"image/png",sizes:"96x96",url:(0,d.fillMetadataSegment)(".",await a.params,"icon1.png")+"?901e04bb11e9b7fd"}]},60887:(a,b,c)=>{var d={"./en/review.json":[83346,3346],"./ja/review.json":[49328,9328]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=60887,a.exports=e},61118:(a,b,c)=>{var d={"./en/common.json":[73543,3543],"./ja/common.json":[53945,3945]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=61118,a.exports=e},61135:()=>{},62081:(a,b,c)=>{var d={"./en/autoYes.json":[44248,4248],"./ja/autoYes.json":[92534,2534]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=62081,a.exports=e},63157:(a,b,c)=>{"use strict";c.d(b,{g7:()=>k,rC:()=>m,Fn:()=>l});var d=c(21124),e=c(38301),f=c(78352),g=c(67619);let h=[2e3,5e3,1e4];var i=c(47817);let j=(0,e.createContext)(null);function k({children:a}){let{worktrees:b,repositories:c,isLoading:k,error:l,refresh:m}=function(){let[a,b]=(0,e.useState)([]),[c,d]=(0,e.useState)([]),[i,j]=(0,e.useState)(!0),[k,l]=(0,e.useState)(null),m=(0,e.useRef)(null),n=(0,e.useRef)([]),o=(0,e.useRef)(null),p=(0,e.useRef)(0),q=(0,e.useRef)(null),r=(0,e.useRef)(async()=>{}),s=(0,e.useCallback)(()=>{null!==q.current&&(clearTimeout(q.current),q.current=null)},[]),{connected:t,subscribe:u,unsubscribe:v,addListener:w}=(0,g.xM)(),x=(0,e.useRef)(t);x.current=t;let y=(0,e.useCallback)(async()=>{try{l(null);let a=await fetch("/api/worktrees"),c=(0,f.O0)(a);if(c)throw c;if(!a.ok)throw Error(`Failed to fetch worktrees: ${a.status}`);let g=(0,f.xd)(a);if(g)throw g;let h=await a.json(),i=h.worktrees??[],j=h.repositories??[];(0,e.startTransition)(()=>{b(i),d(j)}),n.current=i,p.current=0,s()}catch(c){let a=c instanceof Error?c:Error(String(c));console.error("[useWorktreesCache] Failed to fetch worktrees:",a),l(a);let b=p.current;0===n.current.length&&b<h.length&&(p.current=b+1,s(),q.current=setTimeout(()=>{q.current=null,r.current()},h[b]))}finally{j(!1)}},[s]);r.current=y;let z=(0,e.useCallback)(()=>n.current.some(a=>!0===a.isSessionRunning),[]),A=(0,e.useCallback)(()=>{let a=z();return x.current?a?2e4:6e4:a?5e3:3e4},[z]),B=(0,e.useCallback)(()=>{null!==m.current&&(clearInterval(m.current),m.current=null),o.current=null},[]);return(0,e.useCallback)(()=>{B();let a=A();o.current=a,m.current=setInterval(()=>{y()},a)},[A,y,B]),a.map(a=>a.id).sort().join(" "),{worktrees:a,repositories:c,isLoading:i,error:k,refresh:y}}(),n=(0,e.useMemo)(()=>({worktrees:b,repositories:c,isLoading:k,error:l,refresh:m}),[b,c,k,l,m]);return(0,d.jsx)(j.Provider,{value:n,children:(0,d.jsx)(i.H8,{externalWorktrees:b,externalRepositories:c,externalIsLoading:k,externalError:l,externalRefresh:m,children:a})})}function l(){let a=(0,e.useContext)(j);if(null===a)throw Error("useWorktreesCacheContext must be used within a WorktreesCacheProvider");return a}function m(){return(0,e.useContext)(j)}},63474:(a,b,c)=>{"use strict";c.d(b,{dj:()=>w,tE:()=>v});var d=c(21124),e=c(38301),f=c(23312),g=c(20481),h=c(75219),i=c(91292),j=c(16945),k=c(71117),l=c(47089),m=c(11010),n=c(58970),o=c(6074);let p=3e3;function q({type:a,iconColor:b}){let c=`h-5 w-5 ${b}`;switch(a){case"success":return(0,d.jsx)(h.A,{className:c,"data-testid":"toast-icon-success"});case"error":return(0,d.jsx)(i.A,{className:c,"data-testid":"toast-icon-error"});case"warning":return(0,d.jsx)(j.A,{className:c,"data-testid":"toast-icon-warning"});default:return(0,d.jsx)(k.A,{className:c,"data-testid":"toast-icon-info"})}}function r({id:a,message:b,type:c,onClose:f,duration:h=p,onClick:i}){let j=(0,g.c)("common"),k=(0,e.useRef)(null),m=function(a){switch(a){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"}}}(c),[r,s]=(0,e.useState)(!0),{shouldRender:t,isExiting:u}=(0,o.O)(r,n.Ys);(0,e.useRef)(f).current=f;let v=(0,e.useCallback)(()=>{k.current&&clearTimeout(k.current),s(!1)},[]);return(0,d.jsxs)("div",{"data-testid":`toast-${a}`,role:"alert",className:`
2
2
  ${m.bgColor}
3
3
  ${m.borderColor}
4
4
  ${m.textColor}
@@ -10,4 +10,4 @@ exports.id=9123,exports.ids=[9123],exports.modules={762:(a,b,c)=>{Promise.resolv
10
10
  hover:opacity-70
11
11
  focus:outline-none focus:ring-2 focus:ring-offset-2
12
12
  transition-opacity
13
- `,children:(0,d.jsx)(l.A,{className:"h-4 w-4"})})]})}function s({toasts:a,onClose:b}){let[c,g]=(0,e.useState)(!1),h=(0,d.jsx)("div",{"data-testid":"toast-container","aria-live":"polite",className:"fixed bottom-4 right-4 flex flex-col gap-2",style:{zIndex:m.M.TOAST},children:a.map(a=>(0,d.jsx)(r,{id:a.id,message:a.message,type:a.type,onClose:b,duration:a.duration,onClick:a.onClick},a.id))});return c?(0,f.createPortal)(h,document.body):null}function t(){let[a,b]=(0,e.useState)([]),c=(0,e.useRef)(0),d=(0,e.useCallback)((a,d="info",e=p,f)=>{let g=`toast-${++c.current}-${Date.now()}`,h={id:g,message:a,type:d,duration:e,...f?.onClick?{onClick:f.onClick}:{}};return b(a=>[...a,h]),g},[]),f=(0,e.useCallback)(a=>{b(b=>b.filter(b=>b.id!==a))},[]),g=(0,e.useCallback)(()=>{b([])},[]);return(0,e.useMemo)(()=>({toasts:a,showToast:d,removeToast:f,clearToasts:g}),[a,d,f,g])}let u=(0,e.createContext)(null);function v({children:a}){let b=t();return(0,d.jsxs)(u.Provider,{value:b,children:[a,(0,d.jsx)(s,{toasts:b.toasts,onClose:b.removeToast})]})}function w(){let a=(0,e.useContext)(u),b=t();return a??b}},64182:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/CommandMate/CommandMate/src/app/global-error.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/CommandMate/CommandMate/src/app/global-error.tsx","default")},64632:(a,b,c)=>{"use strict";c.d(b,{C:()=>h,E:()=>g});var d=c(21124),e=c(38301);let f=(0,e.createContext)({open:!1,setOpen:()=>{},toggle:()=>{}});function g({children:a}){let[b,c]=(0,e.useState)(!1),g=(0,e.useCallback)(()=>c(a=>!a),[]),h=(0,e.useMemo)(()=>({open:b,setOpen:c,toggle:g}),[b,g]);return(0,d.jsx)(f.Provider,{value:h,children:a})}function h(){return(0,e.useContext)(f)}},66125:(a,b,c)=>{var d={"./en/error.json":[22980,2980],"./ja/error.json":[10450,450]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=66125,a.exports=e},67619:(a,b,c)=>{"use strict";c.d(b,{tS:()=>i,xM:()=>j,T3:()=>k});var d=c(21124),e=c(38301);c(12055);let f=()=>{},g={status:"disconnected",connected:!1,subscribe:f,unsubscribe:f,addListener:()=>f},h=(0,e.createContext)(null);function i({children:a,enabled:b=!0}){let c=(0,e.useRef)(new Set),f=(0,e.useRef)(new Map),{status:g,subscribe:i,unsubscribe:j}=function(a={}){let{onEvent:b,onStatusChange:c,autoReconnect:d=!0,reconnectBaseDelay:f=1e3,reconnectMaxDelay:g=3e4,enabled:h=!0}=a,[i,j]=(0,e.useState)("disconnected"),k=(0,e.useRef)(null),l=(0,e.useRef)(null);(0,e.useRef)(0);let m=(0,e.useRef)(new Set),n=(0,e.useRef)(!1);(0,e.useRef)(b).current=b;let o=(0,e.useRef)(c);o.current=c;let p=(0,e.useCallback)(a=>{j(a),o.current?.(a)},[]),q=(0,e.useCallback)(()=>{null!==l.current&&(clearTimeout(l.current),l.current=null)},[]);(0,e.useCallback)(()=>{},[h,d,f,g,p,q]),(0,e.useCallback)(()=>{if(q(),n.current=!0,k.current){try{k.current.close(1e3,"Client disconnect")}catch{}k.current=null}},[q]);let r=(0,e.useCallback)(a=>{let b=k.current,c="undefined"!=typeof globalThis&&"function"==typeof globalThis.WebSocket?globalThis.WebSocket:null;if(b&&c&&b.readyState===c.OPEN)try{b.send(JSON.stringify(a))}catch{}},[]);return{status:i,subscribe:(0,e.useCallback)(a=>{m.current.has(a)||(m.current.add(a),r({type:"subscribe",worktreeId:a}))},[r]),unsubscribe:(0,e.useCallback)(a=>{m.current.has(a)&&(m.current.delete(a),r({type:"unsubscribe",worktreeId:a}))},[r]),send:r}}({enabled:b,onEvent:(0,e.useCallback)(a=>{c.current.forEach(b=>{try{b(a)}catch{}})},[])}),k=(0,e.useCallback)(a=>{let b=f.current,c=b.get(a)??0;b.set(a,c+1),0===c&&i(a)},[i]),l=(0,e.useCallback)(a=>{let b=f.current,c=b.get(a)??0;c<=1?(b.delete(a),j(a)):b.set(a,c-1)},[j]),m=(0,e.useCallback)(a=>(c.current.add(a),()=>{c.current.delete(a)}),[]),n=(0,e.useMemo)(()=>({status:g,connected:"connected"===g,subscribe:k,unsubscribe:l,addListener:m}),[g,k,l,m]);return(0,d.jsx)(h.Provider,{value:n,children:a})}function j(){return(0,e.useContext)(h)??g}function k(a){let{addListener:b}=j();(0,e.useRef)(a).current=a}},67693:(a,b,c)=>{"use strict";c.d(b,{H:()=>g});var d=c(38301),e=c(67619),f=c(96823);function g(){let{addListener:a}=(0,e.xM)(),{enabled:b}=(0,f.Ql)();return(0,d.useRef)({enabled:b}).current={enabled:b},(0,d.useRef)(new Set),null}c(74132)},68132:(a,b,c)=>{Promise.resolve().then(c.bind(c,39800))},70288:(a,b,c)=>{var d={"./en/home.json":[41825,1825],"./ja/home.json":[26159,6159]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=70288,a.exports=e},72637:(a,b,c)=>{var d={"./en/prompt.json":[72816,2816],"./ja/prompt.json":[80066,7685]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=72637,a.exports=e},74132:(a,b,c)=>{"use strict";c.d(b,{dS:()=>k,rM:()=>l});var d=c(38301),e=c(42378),f=c(20481),g=c(63474),h=c(63157),i=c(67619),j=c(96823);function k(a,b,c){return`${a}|${b??"-"}|${c??"no-since"}`}function l(){let a=(0,f.c)("notifications"),{showToast:b}=(0,g.dj)(),{addListener:c}=(0,i.xM)(),{enabled:k}=(0,j.qG)(),l=(0,e.usePathname)(),m=(0,e.useRouter)(),n=(0,h.rC)();return(0,d.useRef)({enabled:k,pathname:l,worktrees:n?.worktrees,showToast:b,t:a,router:m}).current={enabled:k,pathname:l,worktrees:n?.worktrees,showToast:b,t:a,router:m},(0,d.useRef)(new Set),null}},75567:(a,b,c)=>{var d={"./en/pwa.json":[51262,1262],"./ja/pwa.json":[46072,6072]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=75567,a.exports=e},78162:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(97523);let e=async a=>[{type:"image/png",sizes:"32x32",url:(0,d.fillMetadataSegment)(".",await a.params,"icon.png")+"?eeae29d23f3aae17"}]},78352:(a,b,c)=>{"use strict";c.d(b,{$T:()=>l,GQ:()=>n,O0:()=>f,Rx:()=>j,gC:()=>k,hD:()=>d,hS:()=>m,xd:()=>g,y:()=>i});class d extends Error{constructor(a,b,c){super(a),this.status=b,this.data=c,this.name="ApiError"}}async function e(a,b,c){if(!(a.headers.get("content-type")||"").includes("application/json"))return b;try{return await a.json()}catch{return b}}function f(a){return a.redirected&&(a.url??"").includes("/login")?new d("Authentication required",401):null}function g(a){return a.headers?(a.headers.get("content-type")||"").includes("application/json")?null:new d("Unexpected response format",a.status):null}async function h(a,b){try{let c=new Headers(b?.headers);c.set("Content-Type","application/json");let h=await fetch(a,{...b,headers:c}),i=f(h);if(i)throw i;if(!h.ok){let a=await e(h,{},"error-body");throw new d(a.error||`HTTP error ${h.status}`,h.status,a)}let j=g(h);if(j)throw j;return h.json()}catch(a){if(a instanceof d)throw a;throw new d(a instanceof Error?a.message:"Unknown error",0,a)}}let i={getAll:async()=>h("/api/worktrees"),getById:async a=>h(`/api/worktrees/${a}`),updateDescription:async(a,b)=>h(`/api/worktrees/${a}`,{method:"PATCH",body:JSON.stringify({description:b})}),updateLink:async(a,b)=>h(`/api/worktrees/${a}`,{method:"PATCH",body:JSON.stringify({link:b})}),toggleFavorite:async(a,b)=>h(`/api/worktrees/${a}`,{method:"PATCH",body:JSON.stringify({favorite:b})}),updateStatus:async(a,b)=>h(`/api/worktrees/${a}`,{method:"PATCH",body:JSON.stringify({status:b})}),updateCliTool:async(a,b)=>h(`/api/worktrees/${a}`,{method:"PATCH",body:JSON.stringify({cliToolId:b})}),markAsViewed:async a=>h(`/api/worktrees/${a}/viewed`,{method:"PATCH"}),async getMessages(a,b,c,d){let e=new URLSearchParams;return b&&e.append("cliTool",b),c&&e.append("includeArchived","true"),"number"==typeof d&&Number.isFinite(d)&&e.append("limit",String(d)),h(`/api/worktrees/${a}/messages${e.toString()?`?${e.toString()}`:""}`)},async sendMessage(a,b,c){let d={content:b};return c?.cliToolId&&(d.cliToolId=c.cliToolId),c?.instanceId&&(d.instanceId=c.instanceId),c?.imagePath&&(d.imagePath=c.imagePath),h(`/api/worktrees/${a}/send`,{method:"POST",body:JSON.stringify(d)})},async uploadImageFile(a,b){let c=Date.now(),d=`${c}-${b.name}`,f=".commandmate/attachments",g=new FormData;g.append("file",new File([b],d,{type:b.type}));let h=await fetch(`/api/worktrees/${a}/upload/${f}`,{method:"POST",body:g});if(!h.ok){let a=await e(h,{},"error-body");throw Error(a?.error?.message||`Upload failed (HTTP ${h.status})`)}return{path:(await e(h,{},"response-body")).path||`${f}/${d}`}},getLogs:async a=>h(`/api/worktrees/${a}/logs`),async getLogFile(a,b,c){let d=c?.sanitize?"?sanitize=true":"";return h(`/api/worktrees/${a}/logs/${b}${d}`)},async killSession(a,b,c){let d=new URLSearchParams;b&&d.set("cliTool",b),c&&d.set("instance",c);let e=d.toString();return h(`/api/worktrees/${a}/kill-session${e?`?${e}`:""}`,{method:"POST"})}},j={scan:async a=>h("/api/repositories/scan",{method:"POST",body:JSON.stringify({repositoryPath:a})}),sync:async()=>h("/api/repositories/sync",{method:"POST"}),delete:async a=>h("/api/repositories",{method:"DELETE",body:JSON.stringify({repositoryPath:a})}),clone:async(a,b)=>h("/api/repositories/clone",{method:"POST",body:JSON.stringify({cloneUrl:a,fork:b?.fork??!1})}),getCloneStatus:async a=>h(`/api/repositories/clone/${a}`),getExcluded:async()=>h("/api/repositories/excluded"),restore:async a=>h("/api/repositories/restore",{method:"PUT",body:JSON.stringify({repositoryPath:a})}),list:async()=>h("/api/repositories"),updateDisplayName:async(a,b)=>h(`/api/repositories/${encodeURIComponent(a)}`,{method:"PUT",body:JSON.stringify({displayName:b})}),updateVisibility:async(a,b)=>h(`/api/repositories/${encodeURIComponent(a)}`,{method:"PUT",body:JSON.stringify({visible:b})}),updateEnabled:async(a,b)=>h(`/api/repositories/${encodeURIComponent(a)}`,{method:"PUT",body:JSON.stringify({enabled:b})}),validatePath:async a=>h("/api/repositories/validate-path",{method:"POST",body:JSON.stringify({repositoryPath:a})})},k={async browse(a){let b=a?`?path=${encodeURIComponent(a)}`:"";return h(`/api/fs/browse${b}`)},addRecentPath:async a=>h("/api/fs/recent-paths",{method:"POST",body:JSON.stringify({path:a})})},l={getAll:async a=>(await h(`/api/worktrees/${a}/memos`)).memos,create:async(a,b)=>(await h(`/api/worktrees/${a}/memos`,{method:"POST",body:JSON.stringify(b||{})})).memo,update:async(a,b,c)=>(await h(`/api/worktrees/${a}/memos/${b}`,{method:"PUT",body:JSON.stringify(c)})).memo,delete:async(a,b)=>h(`/api/worktrees/${a}/memos/${b}`,{method:"DELETE"}),async reorder(a,b){await h(`/api/worktrees/${a}/memos`,{method:"PATCH",body:JSON.stringify({memoIds:b})})}};function m(a){return a instanceof d||a instanceof Error?a.message:"An unknown error occurred"}let n={checkForUpdate:async()=>h("/api/app/update-check",{method:"GET"}),startUpdate:async()=>h("/api/app/update",{method:"POST"}),async ping(){try{return(await fetch("/api/auth/status",{cache:"no-store"})).ok}catch{return!1}}}},79782:(a,b,c)=>{"use strict";c.d(b,{SC:()=>m,TM:()=>i,aF:()=>k});var d=c(21124),e=c(38301),f=c(20481),g=c(98033),h=c(94260);function i({isOpen:a,title:b,description:c,confirmLabel:e,cancelLabel:i,variant:j="default",onConfirm:k,onCancel:l}){let m=(0,f.c)("common"),n="danger"===j;return(0,d.jsx)(g.a,{isOpen:a,onClose:l,title:b??m("confirmDialog.title"),size:"sm",showCloseButton:!1,children:(0,d.jsxs)("div",{className:"space-y-4","data-testid":"confirm-dialog",children:[(0,d.jsx)("p",{className:"text-sm text-foreground whitespace-pre-line",children:c}),(0,d.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,d.jsx)(h.$,{type:"button",variant:"secondary",size:"sm",autoFocus:n,onClick:l,"data-testid":"confirm-dialog-cancel",children:i??m("cancel")}),(0,d.jsx)(h.$,{type:"button",variant:n?"danger":"primary",size:"sm",autoFocus:!n,onClick:k,"data-testid":"confirm-dialog-confirm",children:e??m("confirmDialog.confirm")})]})]})})}let j=(0,e.createContext)(null);function k({children:a}){let[b,c]=(0,e.useState)(null),f=(0,e.useRef)(null),g=(0,e.useRef)(null),h=b?.options??g.current,k=(0,e.useCallback)(a=>new Promise(b=>{f.current=document.activeElement instanceof HTMLElement?document.activeElement:null,c(c=>(c?.resolve(!1),{options:a,resolve:b}))}),[]),l=(0,e.useCallback)(a=>{c(b=>(b?.resolve(a),null)),f.current?.focus(),f.current=null},[]);return(0,d.jsxs)(j.Provider,{value:k,children:[a,(0,d.jsx)(i,{isOpen:null!==b,title:h?.title,description:h?.description??"",confirmLabel:h?.confirmLabel,cancelLabel:h?.cancelLabel,variant:h?.variant,onConfirm:()=>l(!0),onCancel:()=>l(!1)})]})}let l=async()=>!1;function m(){return(0,e.useContext)(j)??l}},80407:(a,b,c)=>{var d={"./en/commandPalette.json":[28098,8098],"./ja/commandPalette.json":[12560,2560]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=80407,a.exports=e},80776:(a,b,c)=>{"use strict";c.d(b,{AppProviders:()=>y});var d=c(21124),e=c(37397),f=c(45523),g=c(81092),h=c(84342),i=c(5772),j=c(64632),k=c(89184),l=c(63157),m=c(52761),n=c(67619),o=c(79782),p=c(63474),q=c(74132),r=c(67693),s=c(90102),t=c(38301),u=c(20481),v=c(25345),w=c(11010);function x(){let a=(0,u.c)("pwa"),[b,c]=(0,t.useState)(null);return((0,t.useRef)(!1),b)?(0,d.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,d.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,d.jsx)("span",{className:"text-sm font-medium text-foreground",children:a("update.available")}),(0,d.jsxs)("button",{type:"button",onClick:()=>{b.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,d.jsx)(v.A,{className:"h-4 w-4"}),a("update.reload")]})]})}):null}function y({children:a,locale:b,messages:c,timeZone:t,authEnabled:u=!1}){return(0,d.jsx)(e.default,{locale:b,messages:c,timeZone:t,children:(0,d.jsx)(p.tE,{children:(0,d.jsx)(f.N,{attribute:"class",defaultTheme:"system",enableSystem:!0,children:(0,d.jsx)(h.O,{authEnabled:u,children:(0,d.jsx)(i.W5,{children:(0,d.jsx)(g.GB,{children:(0,d.jsx)(n.tS,{children:(0,d.jsxs)(l.g7,{children:[(0,d.jsx)(q.rM,{}),(0,d.jsx)(s.o,{}),(0,d.jsx)(r.H,{}),(0,d.jsx)(j.E,{children:(0,d.jsx)(k.S,{children:(0,d.jsxs)(o.aF,{children:[(0,d.jsx)(m.Bo,{children:a}),(0,d.jsx)(x,{})]})})})]})})})})})})})})}},80812:(a,b,c)=>{var d={"./en/externalApps.json":[37941,7941],"./ja/externalApps.json":[99211,9211]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=80812,a.exports=e},81092:(a,b,c)=>{"use strict";c.d(b,{GB:()=>j,VF:()=>k});var d=c(21124),e=c(38301),f=c(32482);let g="updatedAt",h=(0,e.createContext)(null);function i(a,b){switch(b.type){case"TOGGLE":return{...a,isOpen:!a.isOpen};case"SET_WIDTH":return{...a,width:b.width};case"OPEN_MOBILE_DRAWER":return{...a,isMobileDrawerOpen:!0};case"CLOSE_MOBILE_DRAWER":return{...a,isMobileDrawerOpen:!1};case"SET_SORT_KEY":return{...a,sortKey:b.sortKey};case"SET_SORT_DIRECTION":return{...a,sortDirection:b.sortDirection};case"LOAD_SORT_SETTINGS":return{...a,sortKey:b.sortKey,sortDirection:b.sortDirection};case"SET_VIEW_MODE":return{...a,viewMode:b.viewMode};default:return a}}function j({children:a,initialOpen:b=!0,initialWidth:c=224}){let[j,k]=(0,e.useReducer)(i,{isOpen:b,width:c,isMobileDrawerOpen:!1,sortKey:g,sortDirection:"desc",viewMode:"grouped"});j.sortKey,j.sortDirection,(0,e.useRef)(!0),j.viewMode,(0,e.useRef)(!0),j.width,(0,e.useRef)(!0);let l=(0,e.useCallback)(()=>{k({type:"TOGGLE"})},[]),m=(0,e.useCallback)(a=>{k({type:"SET_WIDTH",width:a})},[]),n=(0,e.useCallback)(()=>{k({type:"OPEN_MOBILE_DRAWER"})},[]),o=(0,e.useCallback)(()=>{k({type:"CLOSE_MOBILE_DRAWER"})},[]),p=(0,e.useCallback)(a=>{k({type:"SET_SORT_KEY",sortKey:a})},[]),q=(0,e.useCallback)(a=>{k({type:"SET_SORT_DIRECTION",sortDirection:a})},[]),r=(0,e.useCallback)(a=>{k({type:"SET_VIEW_MODE",viewMode:a})},[]),s=(0,e.useMemo)(()=>({isOpen:j.isOpen,width:j.width,isMobileDrawerOpen:j.isMobileDrawerOpen,sortKey:j.sortKey,sortDirection:j.sortDirection,toggle:l,setWidth:m,openMobileDrawer:n,closeMobileDrawer:o,setSortKey:p,setSortDirection:q,viewMode:j.viewMode,setViewMode:r}),[j.isOpen,j.width,j.isMobileDrawerOpen,j.sortKey,j.sortDirection,j.viewMode,l,m,n,o,p,q,r]);return(0,d.jsx)(h.Provider,{value:s,children:a})}function k(){let a=(0,e.useContext)(h);if(!a)throw Error("useSidebarContext must be used within a SidebarProvider");return a}},84342:(a,b,c)=>{"use strict";c.d(b,{H:()=>h,O:()=>g});var d=c(21124),e=c(38301);let f=(0,e.createContext)(!1);function g({children:a,authEnabled:b}){return(0,d.jsx)(f.Provider,{value:b,children:a})}function h(){return(0,e.useContext)(f)}},86634:(a,b,c)=>{Promise.resolve().then(c.bind(c,37397))},89184:(a,b,c)=>{"use strict";c.d(b,{K:()=>h,S:()=>g});var d=c(21124),e=c(38301);let f=(0,e.createContext)({open:!1,setOpen:()=>{},toggle:()=>{}});function g({children:a}){let[b,c]=(0,e.useState)(!1),g=(0,e.useCallback)(()=>c(a=>!a),[]),h=(0,e.useMemo)(()=>({open:b,setOpen:c,toggle:g}),[b,g]);return(0,d.jsx)(f.Provider,{value:h,children:a})}function h(){return(0,e.useContext)(f)}},89877:(a,b,c)=>{"use strict";c.d(b,{A7:()=>j,kA:()=>f,f_:()=>m,dw:()=>k,XK:()=>n});var d=c(17252),e=c(89907);function f(a){return a?a.isWaitingForResponse?"waiting":a.isProcessing?"running":a.isRunning?"ready":"idle":"idle"}let g={start:"nextAction.start",sendMessage:"nextAction.sendMessage",approveReject:"nextAction.approveReject",replyToPrompt:"nextAction.replyToPrompt",checkStalled:"nextAction.checkStalled",running:"nextAction.running"};Object.values(g);let h="exited",i={idle:null,ready:"ready",running:"running",generating:"running",waiting:"waiting"};function j(a){if(!a)return"idle";let b=Object.values(a).filter(a=>void 0!==a);return 0===b.length?"idle":b.includes("waiting")?"waiting":b.includes("running")?"running":b.includes("generating")?"generating":b.includes("ready")?"ready":"idle"}function k(a,b,c){return a?Object.entries(a).map(([a,e])=>{let f=b?.[a]??(0,d.f_)(a,a),g=c?.(a);return`${f}: ${e??"idle"}${g?` (${g})`:""}`}).join(", "):""}let l=["prompt","menu","unclassified"];function m(a){let b=Object.values(a.sessionStatusByInstance??a.sessionStatusByCli??{}).filter(a=>void 0!==a),c=!1,d=new Set;for(let a of b)a.awaitingInstruction&&(c=!0),a.waitingKind&&d.add(a.waitingKind);return{waitingKind:l.find(a=>d.has(a))??null,awaitingInstruction:c}}function n(a){var b,c;let k=f(void 0!==a.isSessionRunning?{isRunning:a.isSessionRunning??!1,isWaitingForResponse:a.isWaitingForResponse??!1,isProcessing:a.isProcessing??!1}:void 0),l=!!a.lastAssistantMessageAt&&(!a.lastViewedAt||new Date(a.lastAssistantMessageAt)>new Date(a.lastViewedAt)),{cliStatus:n,cliStatusLabels:o,exitedInstanceIds:p}=function(a){let b={},c={},g=[],i=a.sessionStatusByInstance;if(!i){for(let i of a.selectedAgents??(0,e.sA)())b[i]=f(a.sessionStatusByCli?.[i]),c[i]=(0,d.oo)(i),a.sessionStatusByCli?.[i]?.sessionStatusReason===h&&g.push(i);return{cliStatus:b,cliStatusLabels:c,exitedInstanceIds:g}}let j=a.agentInstances&&a.agentInstances.length>0?a.agentInstances:(0,d.lu)(a.selectedAgents??(0,e.sA)()),k=new Set;for(let a of j)k.add(a.id),b[a.id]=f(i[a.id]),c[a.id]=(0,d.sw)(a),i[a.id]?.sessionStatusReason===h&&g.push(a.id);for(let[a,e]of Object.entries(i)){if(k.has(a))continue;let g=f(e);"idle"!==g&&(b[a]=g,c[a]=function(a){let b=d.XH.find(b=>a.startsWith(`${b}-`));if(b){let c=a.slice(b.length+1);return`${(0,d.oo)(b)} ${c}`}return(0,d.f_)(a,a)}(a))}return{cliStatus:b,cliStatusLabels:c,exitedInstanceIds:g}}(a),q=j(n),{waitingKind:r,awaitingInstruction:s}=m(a);return{id:a.id,name:a.name,repositoryName:a.repositoryDisplayName??a.repositoryName,status:k,hasUnread:l,lastActivity:a.updatedAt,description:a.description,cliStatus:n,cliStatusLabels:o,exitedInstanceIds:p,worktreePath:a.path,waitingKind:r,awaitingInstruction:s,nextActionKey:(b=i[q],c="waiting"===q?"approval":null,b&&"idle"!==b?"ready"===b?g.sendMessage:"waiting"===b&&"approval"===c?g.approveReject:"waiting"===b?g.replyToPrompt:(0,g.running):g.start)}}},89907:(a,b,c)=>{"use strict";c.d(b,{IK:()=>i,qD:()=>l,sA:()=>h,zk:()=>e});var d=c(4267);let e="/api/settings/default-agents",f=d.fJ,g=new Set;function h(){return f}function i(a){if(!Array.isArray(a))return!1;let b=(0,d.Lt)(a);if(!b.valid)return!1;let c=b.value;if(c.length===f.length&&c.every((a,b)=>a===f[b]))return!1;for(let a of(f=c,g))a();return!0}let j=null,k=!1;async function l(){return k?f:j||("function"!=typeof fetch?f:j=(async()=>{try{let a=await fetch(e);if(a.ok){let b=await a.json();i(b?.defaultSelectedAgents),k=!0}}catch{}finally{j=null}return f})())}},90076:(a,b,c)=>{"use strict";c.d(b,{D:()=>f,a:()=>g});var d=c(38301);let e=d.useEffect,f=768;function g(a={}){let{breakpoint:b=f}=a,[c,h]=(0,d.useState)(!1);return e(()=>{let a=window.matchMedia(`(max-width: ${b-1}px)`);h(a.matches);let c=a=>{h(a.matches)};return a.addEventListener("change",c),()=>{a.removeEventListener("change",c)}},[b]),c}},90102:(a,b,c)=>{"use strict";c.d(b,{o:()=>f});var d=c(38301),e=c(19463);function f(){return!function(){let{count:a}=(0,e.Lv)();(0,d.useRef)([]),(0,d.useRef)(null)}(),null}},90338:(a,b,c)=>{var d={"./en/worktree.json":[72119,2119],"./ja/worktree.json":[52445,2445]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=90338,a.exports=e},91786:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,23597,23)),Promise.resolve().then(c.t.bind(c,36893,23)),Promise.resolve().then(c.t.bind(c,89748,23)),Promise.resolve().then(c.t.bind(c,6060,23)),Promise.resolve().then(c.t.bind(c,7184,23)),Promise.resolve().then(c.t.bind(c,69576,23)),Promise.resolve().then(c.t.bind(c,73041,23)),Promise.resolve().then(c.t.bind(c,51384,23))},94260:(a,b,c)=>{"use strict";c.d(b,{$:()=>i});var d=c(21124);c(38301);var e=c(26691),f=c(35595),g=c(17793);let h=(0,e.F)("inline-flex items-center justify-center px-4 py-2 rounded-md font-medium transition-all duration-200 touch-manipulation focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 ring-offset-background",{variants:{variant:{primary:"bg-accent-600 dark:bg-accent-500 text-white hover:bg-accent-700 dark:hover:bg-accent-600",secondary:"bg-muted text-foreground hover:bg-muted/80",danger:"bg-danger text-white hover:bg-danger/90",ghost:"bg-transparent text-foreground hover:bg-muted"},size:{sm:"px-3 py-1.5 text-sm",md:"",lg:"px-6 py-3 text-lg"},fullWidth:{true:"w-full",false:""}},defaultVariants:{variant:"primary",size:"md",fullWidth:!1}});function i({variant:a="primary",size:b="md",fullWidth:c=!1,loading:e=!1,disabled:i,className:j="",children:k,...l}){let m=i||e,n=(0,f.cn)(h({variant:a,size:b,fullWidth:c}),!m&&"motion-safe:hover:-translate-y-0.5 motion-safe:active:translate-y-0",m&&"opacity-50 cursor-not-allowed",j);return(0,d.jsxs)("button",{className:n,disabled:m,...l,children:[e&&(0,d.jsx)(g.y,{size:"sm",className:"-ml-1 mr-2"}),k]})}},94650:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(97523);let e=async a=>[{type:"image/png",sizes:"180x180",url:(0,d.fillMetadataSegment)(".",await a.params,"apple-icon.png")+"?31a89e65aa4ac65b"}]},95427:(a,b,c)=>{"use strict";c.d(b,{r:()=>e});var d=c(38301);function e(a={}){let{active:b=!0,initialFocus:c=!0,restoreFocus:f=!0}=a;return(0,d.useRef)(null)}},96823:(a,b,c)=>{"use strict";c.d(b,{Ql:()=>f,qG:()=>e});var d=c(38301);function e(){let[a,b]=(0,d.useState)(!0);return{enabled:a,setEnabled:(0,d.useCallback)(a=>{b(a)},[])}}function f(){let[a,b]=(0,d.useState)(!1);return{enabled:a,setEnabled:(0,d.useCallback)(a=>{b(a)},[])}}},96908:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>g});var d=c(21124);c(38301);var e=c(20481),f=c(35914);function g({error:a,reset:b}){let c=(0,e.c)("error"),g=(0,e.c)("common"),h=(0,f.oz)(a);return(0,d.jsxs)("main",{className:"flex min-h-screen flex-col items-center justify-center gap-6 bg-background px-6 pt-safe pb-safe text-center",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:c(h?"chunkReload.title":"unexpected.title")}),(0,d.jsx)("p",{className:"mx-auto max-w-sm text-sm text-muted-foreground",children:c(h?"chunkReload.description":"unexpected.description")})]}),(0,d.jsx)("button",{type:"button",onClick:h?()=>window.location.reload():b,className:"rounded-lg bg-accent-600 px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-accent-700",children:g(h?"reload":"retry")})]})}},98033:(a,b,c)=>{"use strict";c.d(b,{a:()=>o});var d=c(21124),e=c(38301),f=c(23312),g=c(20481),h=c(26691),i=c(11010),j=c(58970),k=c(6074),l=c(95427),m=c(35595);let n=(0,h.F)("",{variants:{size:{sm:"max-w-[calc(100vw-2rem)] sm:max-w-md",md:"max-w-[calc(100vw-2rem)] sm:max-w-2xl",lg:"max-w-[calc(100vw-2rem)] sm:max-w-4xl",xl:"max-w-[calc(100vw-2rem)] sm:max-w-6xl",full:"max-w-[calc(100vw-2rem)] sm:max-w-[95vw]"}},defaultVariants:{size:"lg"}});function o({isOpen:a,onClose:b,title:c,children:h,size:o="lg",showCloseButton:p=!0,disableClose:q=!1}){let r=(0,g.c)("common"),s=(0,e.useId)(),t=(0,l.r)({active:a}),{shouldRender:u,isExiting:v}=(0,k.O)(a,j.Ys),w=v?"closed":"open";return u?(0,f.createPortal)((0,d.jsxs)("div",{className:"fixed inset-0 overflow-y-auto",style:{zIndex:i.M.MODAL},children:[(0,d.jsx)("div",{"data-state":w,className:"fixed inset-0 bg-black/50 transition-opacity data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:duration-200 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:duration-200 data-[state=closed]:fill-mode-forwards",onClick:q||v?void 0:b}),(0,d.jsx)("div",{className:"relative flex min-h-full items-center justify-center p-2 sm:p-4",children:(0,d.jsxs)("div",{ref:t,"data-state":w,"data-testid":"modal-panel",role:"dialog","aria-modal":"true","aria-labelledby":c?s:void 0,tabIndex:-1,className:(0,m.cn)("relative w-full",n({size:o}),"max-h-[calc(100vh-1rem)] sm:max-h-[calc(100vh-2rem)] flex flex-col bg-surface rounded-lg shadow-xl transform transition-all","data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:duration-200","data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:duration-200 data-[state=closed]:fill-mode-forwards"),children:[(c||p)&&(0,d.jsxs)("div",{className:"flex items-center justify-between px-4 sm:px-6 py-3 sm:py-4 border-b border-border flex-shrink-0",children:[(0,d.jsx)("h3",{id:s,className:"text-base sm:text-lg font-semibold text-foreground truncate pr-2",children:c}),p&&(0,d.jsx)("button",{onClick:b,"aria-label":r("close"),className:"text-muted-foreground hover:text-foreground transition-colors flex-shrink-0 touch-manipulation",children:(0,d.jsx)("svg",{className:"w-5 h-5 sm:w-6 sm:h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,d.jsx)("div",{className:"px-4 sm:px-6 py-3 sm:py-4 overflow-y-auto flex-1 min-h-0",children:h})]})})]}),document.body):null}},99127:(a,b,c)=>{var d={"./en/notifications.json":[49358,9358],"./ja/notifications.json":[61296,1296]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=99127,a.exports=e}};
13
+ `,children:(0,d.jsx)(l.A,{className:"h-4 w-4"})})]})}function s({toasts:a,onClose:b}){let[c,g]=(0,e.useState)(!1),h=(0,d.jsx)("div",{"data-testid":"toast-container","aria-live":"polite",className:"fixed bottom-4 right-4 flex flex-col gap-2",style:{zIndex:m.M.TOAST},children:a.map(a=>(0,d.jsx)(r,{id:a.id,message:a.message,type:a.type,onClose:b,duration:a.duration,onClick:a.onClick},a.id))});return c?(0,f.createPortal)(h,document.body):null}function t(){let[a,b]=(0,e.useState)([]),c=(0,e.useRef)(0),d=(0,e.useCallback)((a,d="info",e=p,f)=>{let g=`toast-${++c.current}-${Date.now()}`,h={id:g,message:a,type:d,duration:e,...f?.onClick?{onClick:f.onClick}:{}};return b(a=>[...a,h]),g},[]),f=(0,e.useCallback)(a=>{b(b=>b.filter(b=>b.id!==a))},[]),g=(0,e.useCallback)(()=>{b([])},[]);return(0,e.useMemo)(()=>({toasts:a,showToast:d,removeToast:f,clearToasts:g}),[a,d,f,g])}let u=(0,e.createContext)(null);function v({children:a}){let b=t();return(0,d.jsxs)(u.Provider,{value:b,children:[a,(0,d.jsx)(s,{toasts:b.toasts,onClose:b.removeToast})]})}function w(){let a=(0,e.useContext)(u),b=t();return a??b}},64182:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/CommandMate/CommandMate/src/app/global-error.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/CommandMate/CommandMate/src/app/global-error.tsx","default")},64632:(a,b,c)=>{"use strict";c.d(b,{C:()=>h,E:()=>g});var d=c(21124),e=c(38301);let f=(0,e.createContext)({open:!1,setOpen:()=>{},toggle:()=>{}});function g({children:a}){let[b,c]=(0,e.useState)(!1),g=(0,e.useCallback)(()=>c(a=>!a),[]),h=(0,e.useMemo)(()=>({open:b,setOpen:c,toggle:g}),[b,g]);return(0,d.jsx)(f.Provider,{value:h,children:a})}function h(){return(0,e.useContext)(f)}},66125:(a,b,c)=>{var d={"./en/error.json":[22980,2980],"./ja/error.json":[10450,450]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=66125,a.exports=e},67619:(a,b,c)=>{"use strict";c.d(b,{tS:()=>i,xM:()=>j,T3:()=>k});var d=c(21124),e=c(38301);c(12055);let f=()=>{},g={status:"disconnected",connected:!1,subscribe:f,unsubscribe:f,addListener:()=>f},h=(0,e.createContext)(null);function i({children:a,enabled:b=!0}){let c=(0,e.useRef)(new Set),f=(0,e.useRef)(new Map),{status:g,subscribe:i,unsubscribe:j}=function(a={}){let{onEvent:b,onStatusChange:c,autoReconnect:d=!0,reconnectBaseDelay:f=1e3,reconnectMaxDelay:g=3e4,enabled:h=!0}=a,[i,j]=(0,e.useState)("disconnected"),k=(0,e.useRef)(null),l=(0,e.useRef)(null);(0,e.useRef)(0);let m=(0,e.useRef)(new Set),n=(0,e.useRef)(!1);(0,e.useRef)(b).current=b;let o=(0,e.useRef)(c);o.current=c;let p=(0,e.useCallback)(a=>{j(a),o.current?.(a)},[]),q=(0,e.useCallback)(()=>{null!==l.current&&(clearTimeout(l.current),l.current=null)},[]);(0,e.useCallback)(()=>{},[h,d,f,g,p,q]),(0,e.useCallback)(()=>{if(q(),n.current=!0,k.current){try{k.current.close(1e3,"Client disconnect")}catch{}k.current=null}},[q]);let r=(0,e.useCallback)(a=>{let b=k.current,c="undefined"!=typeof globalThis&&"function"==typeof globalThis.WebSocket?globalThis.WebSocket:null;if(b&&c&&b.readyState===c.OPEN)try{b.send(JSON.stringify(a))}catch{}},[]);return{status:i,subscribe:(0,e.useCallback)(a=>{m.current.has(a)||(m.current.add(a),r({type:"subscribe",worktreeId:a}))},[r]),unsubscribe:(0,e.useCallback)(a=>{m.current.has(a)&&(m.current.delete(a),r({type:"unsubscribe",worktreeId:a}))},[r]),send:r}}({enabled:b,onEvent:(0,e.useCallback)(a=>{c.current.forEach(b=>{try{b(a)}catch{}})},[])}),k=(0,e.useCallback)(a=>{let b=f.current,c=b.get(a)??0;b.set(a,c+1),0===c&&i(a)},[i]),l=(0,e.useCallback)(a=>{let b=f.current,c=b.get(a)??0;c<=1?(b.delete(a),j(a)):b.set(a,c-1)},[j]),m=(0,e.useCallback)(a=>(c.current.add(a),()=>{c.current.delete(a)}),[]),n=(0,e.useMemo)(()=>({status:g,connected:"connected"===g,subscribe:k,unsubscribe:l,addListener:m}),[g,k,l,m]);return(0,d.jsx)(h.Provider,{value:n,children:a})}function j(){return(0,e.useContext)(h)??g}function k(a){let{addListener:b}=j();(0,e.useRef)(a).current=a}},67693:(a,b,c)=>{"use strict";c.d(b,{H:()=>g});var d=c(38301),e=c(67619),f=c(96823);function g(){let{addListener:a}=(0,e.xM)(),{enabled:b}=(0,f.Ql)();return(0,d.useRef)({enabled:b}).current={enabled:b},(0,d.useRef)(new Set),null}c(74132)},68132:(a,b,c)=>{Promise.resolve().then(c.bind(c,39800))},70288:(a,b,c)=>{var d={"./en/home.json":[41825,1825],"./ja/home.json":[26159,6159]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=70288,a.exports=e},72637:(a,b,c)=>{var d={"./en/prompt.json":[72816,2816],"./ja/prompt.json":[80066,7685]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=72637,a.exports=e},74132:(a,b,c)=>{"use strict";c.d(b,{dS:()=>k,rM:()=>l});var d=c(38301),e=c(42378),f=c(20481),g=c(63474),h=c(63157),i=c(67619),j=c(96823);function k(a,b,c){return`${a}|${b??"-"}|${c??"no-since"}`}function l(){let a=(0,f.c)("notifications"),{showToast:b}=(0,g.dj)(),{addListener:c}=(0,i.xM)(),{enabled:k}=(0,j.qG)(),l=(0,e.usePathname)(),m=(0,e.useRouter)(),n=(0,h.rC)();return(0,d.useRef)({enabled:k,pathname:l,worktrees:n?.worktrees,showToast:b,t:a,router:m}).current={enabled:k,pathname:l,worktrees:n?.worktrees,showToast:b,t:a,router:m},(0,d.useRef)(new Set),null}},75567:(a,b,c)=>{var d={"./en/pwa.json":[51262,1262],"./ja/pwa.json":[46072,6072]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=75567,a.exports=e},78162:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(97523);let e=async a=>[{type:"image/png",sizes:"32x32",url:(0,d.fillMetadataSegment)(".",await a.params,"icon.png")+"?eeae29d23f3aae17"}]},78352:(a,b,c)=>{"use strict";c.d(b,{$T:()=>l,GQ:()=>n,O0:()=>f,Rx:()=>j,gC:()=>k,hD:()=>d,hS:()=>m,xd:()=>g,y:()=>i});class d extends Error{constructor(a,b,c){super(a),this.status=b,this.data=c,this.name="ApiError"}}async function e(a,b,c){if(!(a.headers.get("content-type")||"").includes("application/json"))return b;try{return await a.json()}catch{return b}}function f(a){return a.redirected&&(a.url??"").includes("/login")?new d("Authentication required",401):null}function g(a){return a.headers?(a.headers.get("content-type")||"").includes("application/json")?null:new d("Unexpected response format",a.status):null}async function h(a,b){try{let c=new Headers(b?.headers);c.set("Content-Type","application/json");let h=await fetch(a,{...b,headers:c}),i=f(h);if(i)throw i;if(!h.ok){let a=await e(h,{},"error-body");throw new d(a.error||`HTTP error ${h.status}`,h.status,a)}let j=g(h);if(j)throw j;return h.json()}catch(a){if(a instanceof d)throw a;throw new d(a instanceof Error?a.message:"Unknown error",0,a)}}let i={getAll:async()=>h("/api/worktrees"),getById:async a=>h(`/api/worktrees/${a}`),updateDescription:async(a,b)=>h(`/api/worktrees/${a}`,{method:"PATCH",body:JSON.stringify({description:b})}),updateLink:async(a,b)=>h(`/api/worktrees/${a}`,{method:"PATCH",body:JSON.stringify({link:b})}),toggleFavorite:async(a,b)=>h(`/api/worktrees/${a}`,{method:"PATCH",body:JSON.stringify({favorite:b})}),updateStatus:async(a,b)=>h(`/api/worktrees/${a}`,{method:"PATCH",body:JSON.stringify({status:b})}),updateCliTool:async(a,b)=>h(`/api/worktrees/${a}`,{method:"PATCH",body:JSON.stringify({cliToolId:b})}),markAsViewed:async a=>h(`/api/worktrees/${a}/viewed`,{method:"PATCH"}),async getMessages(a,b,c,d){let e=new URLSearchParams;return b&&e.append("cliTool",b),c&&e.append("includeArchived","true"),"number"==typeof d&&Number.isFinite(d)&&e.append("limit",String(d)),h(`/api/worktrees/${a}/messages${e.toString()?`?${e.toString()}`:""}`)},async sendMessage(a,b,c){var d;let e={content:b};return c?.cliToolId&&(e.cliToolId=c.cliToolId),c?.instanceId&&(e.instanceId=c.instanceId),c?.imagePath&&(e.imagePath=c.imagePath),null===(d=await h(`/api/worktrees/${a}/send`,{method:"POST",body:JSON.stringify(e)}))||"object"!=typeof d||d.timestamp instanceof Date?d:{...d,timestamp:new Date(d.timestamp)}},async uploadImageFile(a,b){let c=Date.now(),d=`${c}-${b.name}`,f=".commandmate/attachments",g=new FormData;g.append("file",new File([b],d,{type:b.type}));let h=await fetch(`/api/worktrees/${a}/upload/${f}`,{method:"POST",body:g});if(!h.ok){let a=await e(h,{},"error-body");throw Error(a?.error?.message||`Upload failed (HTTP ${h.status})`)}return{path:(await e(h,{},"response-body")).path||`${f}/${d}`}},getLogs:async a=>h(`/api/worktrees/${a}/logs`),async getLogFile(a,b,c){let d=c?.sanitize?"?sanitize=true":"";return h(`/api/worktrees/${a}/logs/${b}${d}`)},async killSession(a,b,c){let d=new URLSearchParams;b&&d.set("cliTool",b),c&&d.set("instance",c);let e=d.toString();return h(`/api/worktrees/${a}/kill-session${e?`?${e}`:""}`,{method:"POST"})}},j={scan:async a=>h("/api/repositories/scan",{method:"POST",body:JSON.stringify({repositoryPath:a})}),sync:async()=>h("/api/repositories/sync",{method:"POST"}),delete:async a=>h("/api/repositories",{method:"DELETE",body:JSON.stringify({repositoryPath:a})}),clone:async(a,b)=>h("/api/repositories/clone",{method:"POST",body:JSON.stringify({cloneUrl:a,fork:b?.fork??!1})}),getCloneStatus:async a=>h(`/api/repositories/clone/${a}`),getExcluded:async()=>h("/api/repositories/excluded"),restore:async a=>h("/api/repositories/restore",{method:"PUT",body:JSON.stringify({repositoryPath:a})}),list:async()=>h("/api/repositories"),updateDisplayName:async(a,b)=>h(`/api/repositories/${encodeURIComponent(a)}`,{method:"PUT",body:JSON.stringify({displayName:b})}),updateVisibility:async(a,b)=>h(`/api/repositories/${encodeURIComponent(a)}`,{method:"PUT",body:JSON.stringify({visible:b})}),updateEnabled:async(a,b)=>h(`/api/repositories/${encodeURIComponent(a)}`,{method:"PUT",body:JSON.stringify({enabled:b})}),validatePath:async a=>h("/api/repositories/validate-path",{method:"POST",body:JSON.stringify({repositoryPath:a})})},k={async browse(a){let b=a?`?path=${encodeURIComponent(a)}`:"";return h(`/api/fs/browse${b}`)},addRecentPath:async a=>h("/api/fs/recent-paths",{method:"POST",body:JSON.stringify({path:a})})},l={getAll:async a=>(await h(`/api/worktrees/${a}/memos`)).memos,create:async(a,b)=>(await h(`/api/worktrees/${a}/memos`,{method:"POST",body:JSON.stringify(b||{})})).memo,update:async(a,b,c)=>(await h(`/api/worktrees/${a}/memos/${b}`,{method:"PUT",body:JSON.stringify(c)})).memo,delete:async(a,b)=>h(`/api/worktrees/${a}/memos/${b}`,{method:"DELETE"}),async reorder(a,b){await h(`/api/worktrees/${a}/memos`,{method:"PATCH",body:JSON.stringify({memoIds:b})})}};function m(a){return a instanceof d||a instanceof Error?a.message:"An unknown error occurred"}let n={checkForUpdate:async()=>h("/api/app/update-check",{method:"GET"}),startUpdate:async()=>h("/api/app/update",{method:"POST"}),async ping(){try{return(await fetch("/api/auth/status",{cache:"no-store"})).ok}catch{return!1}}}},79782:(a,b,c)=>{"use strict";c.d(b,{SC:()=>m,TM:()=>i,aF:()=>k});var d=c(21124),e=c(38301),f=c(20481),g=c(98033),h=c(94260);function i({isOpen:a,title:b,description:c,confirmLabel:e,cancelLabel:i,variant:j="default",onConfirm:k,onCancel:l}){let m=(0,f.c)("common"),n="danger"===j;return(0,d.jsx)(g.a,{isOpen:a,onClose:l,title:b??m("confirmDialog.title"),size:"sm",showCloseButton:!1,children:(0,d.jsxs)("div",{className:"space-y-4","data-testid":"confirm-dialog",children:[(0,d.jsx)("p",{className:"text-sm text-foreground whitespace-pre-line",children:c}),(0,d.jsxs)("div",{className:"flex justify-end gap-3",children:[(0,d.jsx)(h.$,{type:"button",variant:"secondary",size:"sm",autoFocus:n,onClick:l,"data-testid":"confirm-dialog-cancel",children:i??m("cancel")}),(0,d.jsx)(h.$,{type:"button",variant:n?"danger":"primary",size:"sm",autoFocus:!n,onClick:k,"data-testid":"confirm-dialog-confirm",children:e??m("confirmDialog.confirm")})]})]})})}let j=(0,e.createContext)(null);function k({children:a}){let[b,c]=(0,e.useState)(null),f=(0,e.useRef)(null),g=(0,e.useRef)(null),h=b?.options??g.current,k=(0,e.useCallback)(a=>new Promise(b=>{f.current=document.activeElement instanceof HTMLElement?document.activeElement:null,c(c=>(c?.resolve(!1),{options:a,resolve:b}))}),[]),l=(0,e.useCallback)(a=>{c(b=>(b?.resolve(a),null)),f.current?.focus(),f.current=null},[]);return(0,d.jsxs)(j.Provider,{value:k,children:[a,(0,d.jsx)(i,{isOpen:null!==b,title:h?.title,description:h?.description??"",confirmLabel:h?.confirmLabel,cancelLabel:h?.cancelLabel,variant:h?.variant,onConfirm:()=>l(!0),onCancel:()=>l(!1)})]})}let l=async()=>!1;function m(){return(0,e.useContext)(j)??l}},80407:(a,b,c)=>{var d={"./en/commandPalette.json":[28098,8098],"./ja/commandPalette.json":[12560,2560]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=80407,a.exports=e},80776:(a,b,c)=>{"use strict";c.d(b,{AppProviders:()=>y});var d=c(21124),e=c(37397),f=c(45523),g=c(81092),h=c(84342),i=c(5772),j=c(64632),k=c(89184),l=c(63157),m=c(52761),n=c(67619),o=c(79782),p=c(63474),q=c(74132),r=c(67693),s=c(90102),t=c(38301),u=c(20481),v=c(25345),w=c(11010);function x(){let a=(0,u.c)("pwa"),[b,c]=(0,t.useState)(null);return((0,t.useRef)(!1),b)?(0,d.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,d.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,d.jsx)("span",{className:"text-sm font-medium text-foreground",children:a("update.available")}),(0,d.jsxs)("button",{type:"button",onClick:()=>{b.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,d.jsx)(v.A,{className:"h-4 w-4"}),a("update.reload")]})]})}):null}function y({children:a,locale:b,messages:c,timeZone:t,authEnabled:u=!1}){return(0,d.jsx)(e.default,{locale:b,messages:c,timeZone:t,children:(0,d.jsx)(p.tE,{children:(0,d.jsx)(f.N,{attribute:"class",defaultTheme:"system",enableSystem:!0,children:(0,d.jsx)(h.O,{authEnabled:u,children:(0,d.jsx)(i.W5,{children:(0,d.jsx)(g.GB,{children:(0,d.jsx)(n.tS,{children:(0,d.jsxs)(l.g7,{children:[(0,d.jsx)(q.rM,{}),(0,d.jsx)(s.o,{}),(0,d.jsx)(r.H,{}),(0,d.jsx)(j.E,{children:(0,d.jsx)(k.S,{children:(0,d.jsxs)(o.aF,{children:[(0,d.jsx)(m.Bo,{children:a}),(0,d.jsx)(x,{})]})})})]})})})})})})})})}},80812:(a,b,c)=>{var d={"./en/externalApps.json":[37941,7941],"./ja/externalApps.json":[99211,9211]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=80812,a.exports=e},81092:(a,b,c)=>{"use strict";c.d(b,{GB:()=>j,VF:()=>k});var d=c(21124),e=c(38301),f=c(32482);let g="updatedAt",h=(0,e.createContext)(null);function i(a,b){switch(b.type){case"TOGGLE":return{...a,isOpen:!a.isOpen};case"SET_WIDTH":return{...a,width:b.width};case"OPEN_MOBILE_DRAWER":return{...a,isMobileDrawerOpen:!0};case"CLOSE_MOBILE_DRAWER":return{...a,isMobileDrawerOpen:!1};case"SET_SORT_KEY":return{...a,sortKey:b.sortKey};case"SET_SORT_DIRECTION":return{...a,sortDirection:b.sortDirection};case"LOAD_SORT_SETTINGS":return{...a,sortKey:b.sortKey,sortDirection:b.sortDirection};case"SET_VIEW_MODE":return{...a,viewMode:b.viewMode};default:return a}}function j({children:a,initialOpen:b=!0,initialWidth:c=224}){let[j,k]=(0,e.useReducer)(i,{isOpen:b,width:c,isMobileDrawerOpen:!1,sortKey:g,sortDirection:"desc",viewMode:"grouped"});j.sortKey,j.sortDirection,(0,e.useRef)(!0),j.viewMode,(0,e.useRef)(!0),j.width,(0,e.useRef)(!0);let l=(0,e.useCallback)(()=>{k({type:"TOGGLE"})},[]),m=(0,e.useCallback)(a=>{k({type:"SET_WIDTH",width:a})},[]),n=(0,e.useCallback)(()=>{k({type:"OPEN_MOBILE_DRAWER"})},[]),o=(0,e.useCallback)(()=>{k({type:"CLOSE_MOBILE_DRAWER"})},[]),p=(0,e.useCallback)(a=>{k({type:"SET_SORT_KEY",sortKey:a})},[]),q=(0,e.useCallback)(a=>{k({type:"SET_SORT_DIRECTION",sortDirection:a})},[]),r=(0,e.useCallback)(a=>{k({type:"SET_VIEW_MODE",viewMode:a})},[]),s=(0,e.useMemo)(()=>({isOpen:j.isOpen,width:j.width,isMobileDrawerOpen:j.isMobileDrawerOpen,sortKey:j.sortKey,sortDirection:j.sortDirection,toggle:l,setWidth:m,openMobileDrawer:n,closeMobileDrawer:o,setSortKey:p,setSortDirection:q,viewMode:j.viewMode,setViewMode:r}),[j.isOpen,j.width,j.isMobileDrawerOpen,j.sortKey,j.sortDirection,j.viewMode,l,m,n,o,p,q,r]);return(0,d.jsx)(h.Provider,{value:s,children:a})}function k(){let a=(0,e.useContext)(h);if(!a)throw Error("useSidebarContext must be used within a SidebarProvider");return a}},84342:(a,b,c)=>{"use strict";c.d(b,{H:()=>h,O:()=>g});var d=c(21124),e=c(38301);let f=(0,e.createContext)(!1);function g({children:a,authEnabled:b}){return(0,d.jsx)(f.Provider,{value:b,children:a})}function h(){return(0,e.useContext)(f)}},86634:(a,b,c)=>{Promise.resolve().then(c.bind(c,37397))},89184:(a,b,c)=>{"use strict";c.d(b,{K:()=>h,S:()=>g});var d=c(21124),e=c(38301);let f=(0,e.createContext)({open:!1,setOpen:()=>{},toggle:()=>{}});function g({children:a}){let[b,c]=(0,e.useState)(!1),g=(0,e.useCallback)(()=>c(a=>!a),[]),h=(0,e.useMemo)(()=>({open:b,setOpen:c,toggle:g}),[b,g]);return(0,d.jsx)(f.Provider,{value:h,children:a})}function h(){return(0,e.useContext)(f)}},89877:(a,b,c)=>{"use strict";c.d(b,{A7:()=>j,kA:()=>f,f_:()=>m,dw:()=>k,XK:()=>n});var d=c(17252),e=c(89907);function f(a){return a?a.isWaitingForResponse?"waiting":a.isProcessing?"running":a.isRunning?"ready":"idle":"idle"}let g={start:"nextAction.start",sendMessage:"nextAction.sendMessage",approveReject:"nextAction.approveReject",replyToPrompt:"nextAction.replyToPrompt",checkStalled:"nextAction.checkStalled",running:"nextAction.running"};Object.values(g);let h="exited",i={idle:null,ready:"ready",running:"running",generating:"running",waiting:"waiting"};function j(a){if(!a)return"idle";let b=Object.values(a).filter(a=>void 0!==a);return 0===b.length?"idle":b.includes("waiting")?"waiting":b.includes("running")?"running":b.includes("generating")?"generating":b.includes("ready")?"ready":"idle"}function k(a,b,c){return a?Object.entries(a).map(([a,e])=>{let f=b?.[a]??(0,d.f_)(a,a),g=c?.(a);return`${f}: ${e??"idle"}${g?` (${g})`:""}`}).join(", "):""}let l=["prompt","menu","unclassified"];function m(a){let b=Object.values(a.sessionStatusByInstance??a.sessionStatusByCli??{}).filter(a=>void 0!==a),c=!1,d=new Set;for(let a of b)a.awaitingInstruction&&(c=!0),a.waitingKind&&d.add(a.waitingKind);return{waitingKind:l.find(a=>d.has(a))??null,awaitingInstruction:c}}function n(a){var b,c;let k=f(void 0!==a.isSessionRunning?{isRunning:a.isSessionRunning??!1,isWaitingForResponse:a.isWaitingForResponse??!1,isProcessing:a.isProcessing??!1}:void 0),l=!!a.lastAssistantMessageAt&&(!a.lastViewedAt||new Date(a.lastAssistantMessageAt)>new Date(a.lastViewedAt)),{cliStatus:n,cliStatusLabels:o,exitedInstanceIds:p}=function(a){let b={},c={},g=[],i=a.sessionStatusByInstance;if(!i){for(let i of a.selectedAgents??(0,e.sA)())b[i]=f(a.sessionStatusByCli?.[i]),c[i]=(0,d.oo)(i),a.sessionStatusByCli?.[i]?.sessionStatusReason===h&&g.push(i);return{cliStatus:b,cliStatusLabels:c,exitedInstanceIds:g}}let j=a.agentInstances&&a.agentInstances.length>0?a.agentInstances:(0,d.lu)(a.selectedAgents??(0,e.sA)()),k=new Set;for(let a of j)k.add(a.id),b[a.id]=f(i[a.id]),c[a.id]=(0,d.sw)(a),i[a.id]?.sessionStatusReason===h&&g.push(a.id);for(let[a,e]of Object.entries(i)){if(k.has(a))continue;let g=f(e);"idle"!==g&&(b[a]=g,c[a]=function(a){let b=d.XH.find(b=>a.startsWith(`${b}-`));if(b){let c=a.slice(b.length+1);return`${(0,d.oo)(b)} ${c}`}return(0,d.f_)(a,a)}(a))}return{cliStatus:b,cliStatusLabels:c,exitedInstanceIds:g}}(a),q=j(n),{waitingKind:r,awaitingInstruction:s}=m(a);return{id:a.id,name:a.name,repositoryName:a.repositoryDisplayName??a.repositoryName,status:k,hasUnread:l,lastActivity:a.updatedAt,description:a.description,cliStatus:n,cliStatusLabels:o,exitedInstanceIds:p,worktreePath:a.path,waitingKind:r,awaitingInstruction:s,nextActionKey:(b=i[q],c="waiting"===q?"approval":null,b&&"idle"!==b?"ready"===b?g.sendMessage:"waiting"===b&&"approval"===c?g.approveReject:"waiting"===b?g.replyToPrompt:(0,g.running):g.start)}}},89907:(a,b,c)=>{"use strict";c.d(b,{IK:()=>i,qD:()=>l,sA:()=>h,zk:()=>e});var d=c(4267);let e="/api/settings/default-agents",f=d.fJ,g=new Set;function h(){return f}function i(a){if(!Array.isArray(a))return!1;let b=(0,d.Lt)(a);if(!b.valid)return!1;let c=b.value;if(c.length===f.length&&c.every((a,b)=>a===f[b]))return!1;for(let a of(f=c,g))a();return!0}let j=null,k=!1;async function l(){return k?f:j||("function"!=typeof fetch?f:j=(async()=>{try{let a=await fetch(e);if(a.ok){let b=await a.json();i(b?.defaultSelectedAgents),k=!0}}catch{}finally{j=null}return f})())}},90076:(a,b,c)=>{"use strict";c.d(b,{D:()=>f,a:()=>g});var d=c(38301);let e=d.useEffect,f=768;function g(a={}){let{breakpoint:b=f}=a,[c,h]=(0,d.useState)(!1);return e(()=>{let a=window.matchMedia(`(max-width: ${b-1}px)`);h(a.matches);let c=a=>{h(a.matches)};return a.addEventListener("change",c),()=>{a.removeEventListener("change",c)}},[b]),c}},90102:(a,b,c)=>{"use strict";c.d(b,{o:()=>f});var d=c(38301),e=c(19463);function f(){return!function(){let{count:a}=(0,e.Lv)();(0,d.useRef)([]),(0,d.useRef)(null)}(),null}},90338:(a,b,c)=>{var d={"./en/worktree.json":[72119,2119],"./ja/worktree.json":[52445,2445]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=90338,a.exports=e},91786:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,23597,23)),Promise.resolve().then(c.t.bind(c,36893,23)),Promise.resolve().then(c.t.bind(c,89748,23)),Promise.resolve().then(c.t.bind(c,6060,23)),Promise.resolve().then(c.t.bind(c,7184,23)),Promise.resolve().then(c.t.bind(c,69576,23)),Promise.resolve().then(c.t.bind(c,73041,23)),Promise.resolve().then(c.t.bind(c,51384,23))},94260:(a,b,c)=>{"use strict";c.d(b,{$:()=>i});var d=c(21124);c(38301);var e=c(26691),f=c(35595),g=c(17793);let h=(0,e.F)("inline-flex items-center justify-center px-4 py-2 rounded-md font-medium transition-all duration-200 touch-manipulation focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 ring-offset-background",{variants:{variant:{primary:"bg-accent-600 dark:bg-accent-500 text-white hover:bg-accent-700 dark:hover:bg-accent-600",secondary:"bg-muted text-foreground hover:bg-muted/80",danger:"bg-danger text-white hover:bg-danger/90",ghost:"bg-transparent text-foreground hover:bg-muted"},size:{sm:"px-3 py-1.5 text-sm",md:"",lg:"px-6 py-3 text-lg"},fullWidth:{true:"w-full",false:""}},defaultVariants:{variant:"primary",size:"md",fullWidth:!1}});function i({variant:a="primary",size:b="md",fullWidth:c=!1,loading:e=!1,disabled:i,className:j="",children:k,...l}){let m=i||e,n=(0,f.cn)(h({variant:a,size:b,fullWidth:c}),!m&&"motion-safe:hover:-translate-y-0.5 motion-safe:active:translate-y-0",m&&"opacity-50 cursor-not-allowed",j);return(0,d.jsxs)("button",{className:n,disabled:m,...l,children:[e&&(0,d.jsx)(g.y,{size:"sm",className:"-ml-1 mr-2"}),k]})}},94650:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(97523);let e=async a=>[{type:"image/png",sizes:"180x180",url:(0,d.fillMetadataSegment)(".",await a.params,"apple-icon.png")+"?31a89e65aa4ac65b"}]},95427:(a,b,c)=>{"use strict";c.d(b,{r:()=>e});var d=c(38301);function e(a={}){let{active:b=!0,initialFocus:c=!0,restoreFocus:f=!0}=a;return(0,d.useRef)(null)}},96823:(a,b,c)=>{"use strict";c.d(b,{Ql:()=>f,qG:()=>e});var d=c(38301);function e(){let[a,b]=(0,d.useState)(!0);return{enabled:a,setEnabled:(0,d.useCallback)(a=>{b(a)},[])}}function f(){let[a,b]=(0,d.useState)(!1);return{enabled:a,setEnabled:(0,d.useCallback)(a=>{b(a)},[])}}},96908:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>g});var d=c(21124);c(38301);var e=c(20481),f=c(35914);function g({error:a,reset:b}){let c=(0,e.c)("error"),g=(0,e.c)("common"),h=(0,f.oz)(a);return(0,d.jsxs)("main",{className:"flex min-h-screen flex-col items-center justify-center gap-6 bg-background px-6 pt-safe pb-safe text-center",children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("h1",{className:"text-2xl font-semibold text-foreground",children:c(h?"chunkReload.title":"unexpected.title")}),(0,d.jsx)("p",{className:"mx-auto max-w-sm text-sm text-muted-foreground",children:c(h?"chunkReload.description":"unexpected.description")})]}),(0,d.jsx)("button",{type:"button",onClick:h?()=>window.location.reload():b,className:"rounded-lg bg-accent-600 px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-accent-700",children:g(h?"reload":"retry")})]})}},98033:(a,b,c)=>{"use strict";c.d(b,{a:()=>o});var d=c(21124),e=c(38301),f=c(23312),g=c(20481),h=c(26691),i=c(11010),j=c(58970),k=c(6074),l=c(95427),m=c(35595);let n=(0,h.F)("",{variants:{size:{sm:"max-w-[calc(100vw-2rem)] sm:max-w-md",md:"max-w-[calc(100vw-2rem)] sm:max-w-2xl",lg:"max-w-[calc(100vw-2rem)] sm:max-w-4xl",xl:"max-w-[calc(100vw-2rem)] sm:max-w-6xl",full:"max-w-[calc(100vw-2rem)] sm:max-w-[95vw]"}},defaultVariants:{size:"lg"}});function o({isOpen:a,onClose:b,title:c,children:h,size:o="lg",showCloseButton:p=!0,disableClose:q=!1}){let r=(0,g.c)("common"),s=(0,e.useId)(),t=(0,l.r)({active:a}),{shouldRender:u,isExiting:v}=(0,k.O)(a,j.Ys),w=v?"closed":"open";return u?(0,f.createPortal)((0,d.jsxs)("div",{className:"fixed inset-0 overflow-y-auto",style:{zIndex:i.M.MODAL},children:[(0,d.jsx)("div",{"data-state":w,className:"fixed inset-0 bg-black/50 transition-opacity data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:duration-200 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:duration-200 data-[state=closed]:fill-mode-forwards",onClick:q||v?void 0:b}),(0,d.jsx)("div",{className:"relative flex min-h-full items-center justify-center p-2 sm:p-4",children:(0,d.jsxs)("div",{ref:t,"data-state":w,"data-testid":"modal-panel",role:"dialog","aria-modal":"true","aria-labelledby":c?s:void 0,tabIndex:-1,className:(0,m.cn)("relative w-full",n({size:o}),"max-h-[calc(100vh-1rem)] sm:max-h-[calc(100vh-2rem)] flex flex-col bg-surface rounded-lg shadow-xl transform transition-all","data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:duration-200","data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:duration-200 data-[state=closed]:fill-mode-forwards"),children:[(c||p)&&(0,d.jsxs)("div",{className:"flex items-center justify-between px-4 sm:px-6 py-3 sm:py-4 border-b border-border flex-shrink-0",children:[(0,d.jsx)("h3",{id:s,className:"text-base sm:text-lg font-semibold text-foreground truncate pr-2",children:c}),p&&(0,d.jsx)("button",{onClick:b,"aria-label":r("close"),className:"text-muted-foreground hover:text-foreground transition-colors flex-shrink-0 touch-manipulation",children:(0,d.jsx)("svg",{className:"w-5 h-5 sm:w-6 sm:h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),(0,d.jsx)("div",{className:"px-4 sm:px-6 py-3 sm:py-4 overflow-y-auto flex-1 min-h-0",children:h})]})})]}),document.body):null}},99127:(a,b,c)=>{var d={"./en/notifications.json":[49358,9358],"./ja/notifications.json":[61296,1296]};function e(a){if(!c.o(d,a))return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b});var b=d[a],e=b[0];return c.e(b[1]).then(()=>c.t(e,19))}e.keys=()=>Object.keys(d),e.id=99127,a.exports=e}};
@@ -1,5 +1,5 @@
1
1
  "use strict";exports.id=9130,exports.ids=[9130],exports.modules={2669:(a,b,c)=>{c.d(b,{JI:()=>m,M7:()=>d,Sr:()=>h,Zf:()=>f,c7:()=>e,lU:()=>j,mR:()=>i,su:()=>l,wQ:()=>k});let d="SESSION_STARTING",e="SESSION_START_FAILED",f="SESSION_START_UNAVAILABLE",g=[d,e];class h extends Error{constructor(a,b,c){super(`${a} did not reach its input prompt within ${Math.round(c/1e3)}s (initialization timeout). The tmux session '${b}' and its process are still running, so this is a slow start, not a failed one — the message was not delivered, but nothing needs repairing. Retry the send in a few seconds, or run \`commandmate capture <worktree-id>\` to see what it is waiting on.`),this.toolName=a,this.sessionName=b,this.timeoutMs=c,this.code=d,this.name="SessionStartTimeoutError"}}class i extends Error{constructor(a,b,c){super(`${a} reported an error while starting in tmux session '${b}': "${c}". Retrying will not help until that is resolved; run \`commandmate capture <worktree-id>\` to see the session output.`),this.toolName=a,this.sessionName=b,this.detectedPattern=c,this.code=e,this.name="SessionStartFailedError"}}class j extends Error{constructor(a,b=`${a} is not installed. Please install it first.`){super(b),this.toolName=a,this.code=f,this.name="SessionStartUnavailableError"}}function k(a){return n(a)===d}function l(a){let b=n(a);return void 0!==b&&g.includes(b)}function m(a){return n(a)===f}function n(a){if("object"!=typeof a||null===a)return;let b=a.code;return"string"==typeof b?b:void 0}},2734:(a,b,c)=>{c.d(b,{c:()=>d});let d="codex"},21758:(a,b,c)=>{c.d(b,{Rv:()=>J,TV:()=>r,cN:()=>w,nL:()=>p});var d=c(29021),e=c(21820),f=c(33873),g=c(8004),h=c(15194),i=c(87447),j=c(43252),k=c(66007),l=c(72626),m=c(45567),n=c(54633);let o=(0,l.h)("lib/hooks/sources/copilot/hook-settings"),p="gh copilot",q="cmate-copilot-agent-hooks",r=10,s="CM_AGENT_WORKTREE_ID",t="CM_AGENT_INSTANCE_ID",u="CM_AUTH_TOKEN",v=m.wS,w="PreToolUse",x=[["SessionStart","session_start"],["UserPromptSubmit","user_prompt_submit"],["PostToolUse","post_tool_use"],["Stop","stop"],["SessionEnd","session_end"]];function y(a=""){return`: ${q}; if [ -z "\${${s}:-}" ]; then cat >/dev/null; ${a}exit 0; fi; case "$${v}" in ''|*[!0-9]*) cat >/dev/null; ${a}exit 0;; esac; `}let z=`"\${${t}:-${n.V}}"`,A=`"$${s}"`;function B(){return`set -- -fsS -m 4 -X POST -H 'Content-Type: application/json'; if [ -n "\${${u}:-}" ]; then set -- "$@" -H "Authorization: Bearer $${u}"; fi; `}function C(a){return`${(0,j.ZL)("http://127.0.0.1:")}"$${v}"${(0,j.ZL)(a)}`}function D(a){return`${C(`${a}?tool=${n.V}&worktreeId=`)}${A}'&instanceId='${z}`}function E(a){return`rc=$?; printf '%s\\n' "${q}: ${a} rc=$rc" >&2`}function F(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function G(a){return F(a)&&"string"==typeof a.command&&a.command.includes(q)}function H(a){try{return(0,d.readFileSync)(a,"utf8")}catch(a){if("ENOENT"===a.code)return"";throw a}}class I extends Error{constructor(a){super(`copilot config.json still has a "hooks" key (${a}); copilot migrates it over settings.json at startup, so CommandMate is not writing hooks this launch`),this.configPath=a,this.name="CopilotConfigHooksShadowError"}}function J(a,b,c={}){let l={command:a,settingsPath:null,env:{}};if("0"===process.env.CM_AGENT_HOOKS_INJECT)return l;let m=b.instanceId??n.V;if(!(0,h.n6)(m)||!(0,k.h6)(b.worktreeId))return o.warn("copilot-hook-invalid-correlation-key",{worktreeId:b.worktreeId}),l;try{let h=function(a={}){let b=a.settingsPath??(0,f.join)(function(){let a=(0,f.join)((0,e.homedir)(),".copilot");return(0,g.T)(process.env.COPILOT_HOME,a,"COPILOT_HOME")}(),"settings.json"),c=a.configPath??(0,f.join)((0,f.dirname)(b),"config.json"),h=function(a){let b,c=H(a);if(""===c.trim())return"absent";try{b=JSON.parse(function(a){let b="",c=!1,d=!1;for(let e=0;e<a.length;e+=1){let f=a[e];if(c){b+=f,d?d=!1:"\\"===f?d=!0:'"'===f&&(c=!1);continue}if('"'===f){c=!0,b+=f;continue}if("/"===f&&"/"===a[e+1]){for(;e<a.length&&"\n"!==a[e];)e+=1;b+="\n";continue}if("/"===f&&"*"===a[e+1]){for(e+=2;e<a.length&&("*"!==a[e]||"/"!==a[e+1]);)e+=1;e+=1;continue}b+=f}return b}(c))}catch{return"unreadable"}if(!F(b))return"unreadable";let d=b.hooks;return null==d||F(d)&&0===Object.keys(d).length||Array.isArray(d)&&0===d.length?"absent":"present"}(c);if("present"===h)throw new I(c);return"unreadable"===h&&o.warn("copilot-config-json-unreadable",{configPath:c}),(0,d.mkdirSync)((0,f.dirname)(b),{recursive:!0,mode:448}),function(a,b){let c,e=(0,f.join)(a,".cmate.lock");try{c=(0,d.openSync)(e,"wx",384)}catch(b){if("EEXIST"!==b.code)throw b;let a=Date.now()-(0,d.statSync)(e).mtimeMs;if(a<1e4)throw Error(`copilot settings.json is locked by another CommandMate server (${e})`);o.warn("copilot-hook-settings-lock-stale",{lockPath:e,heldForMs:a}),(0,d.unlinkSync)(e),c=(0,d.openSync)(e,"wx",384)}try{(0,d.writeSync)(c,`${process.pid}
2
2
  `)}finally{(0,d.closeSync)(c)}try{return b()}finally{try{(0,d.unlinkSync)(e)}catch{}}}((0,f.dirname)(b),()=>{let c=H(b),e=function(a,b){let c=a.hooks;if(void 0!==c&&!F(c))throw Error('copilot settings.json has a non-object "hooks" key');let d={...c??{}};for(let[a,c]of Object.entries(b.hooks)){let b=d[a];if(void 0!==b&&!Array.isArray(b)){o.warn("copilot-hook-event-not-an-array",{event:a});continue}d[a]=[...function(a){let b=[];for(let c of a)if(!G(c)){if(F(c)&&Array.isArray(c.hooks)){let a=c.hooks.filter(a=>!G(a));if(0===a.length&&c.hooks.length>0)continue;b.push({...c,hooks:a});continue}b.push(c)}return b}(b??[]),...c]}return{...a,hooks:d}}(function(a){if(""===a.trim())return{};let b=JSON.parse(a);if(!F(b))throw Error("copilot settings.json is not a JSON object");return b}(c),function(a={}){let b={};for(let[c,d]of x)b[c]=[{hooks:[{type:"command",command:function(a,b={}){let c=void 0===b.relayScriptPath?(0,j.Os)():b.relayScriptPath,d=B()+`curl "$@" --data-binary @- ${D(j.jx)} >/dev/null 2>&1 || `+`{ ${E("agent_event_post_failed")}; }`;return c?y()+`if [ -x ${(0,j.ZL)(c)} ]; then `+[(0,j.ZL)(c),"--tool",(0,j.ZL)(n.V),"--event",(0,j.ZL)(a),"--worktree-id",A,"--instance-id",z,"--url",C(j.jx),"--stdin-json"].join(" ")+"; exit 0; fi; "+d:y()+d}(d,a)}]}];return b[w]=[{hooks:[{type:"command",command:function(a={}){return y("printf '{}'; ")+B()+`out=$(curl "$@" --data-binary @- ${D(j.WZ)} `+`2>/dev/null) || { ${E("permission_request_failed")}; out=''; }; `+"[ -n \"$out\" ] || out='{}'; printf '%s' \"$out\""}(a)}]}],{hooks:b}}(a)),f=`${JSON.stringify(e,null,2)}
3
- `;if(c===f)return b;""!==c&&(0,d.copyFileSync)(b,`${b}.cmate-backup`);let g=`${b}.${process.pid}.tmp`;try{(0,d.writeFileSync)(g,f,{mode:384}),(0,d.renameSync)(g,b)}catch(a){try{(0,d.unlinkSync)(g)}catch{}throw a}return b})}(c);return{command:a,settingsPath:h,env:function(a,b,c={}){return{[s]:a,[t]:b,[v]:String(c.port??(0,i.D0)())}}(b.worktreeId,m,c)}}catch(a){if(a instanceof I)return o.warn("copilot-hook-config-json-shadows-settings",{worktreeId:b.worktreeId,configPath:a.configPath}),l;return o.warn("copilot-hook-settings-write-failed",{worktreeId:b.worktreeId,error:a instanceof Error?a.message:String(a)}),l}}},22354:(a,b,c)=>{c.d(b,{F0:()=>j.F,K9:()=>e.K9,VM:()=>d.VM,_0:()=>f._0,c1:()=>k.c,o:()=>i.o,vm:()=>h.v,y_:()=>g.y_});var d=c(97709);c(66101);var e=c(45567);c(57510),c(38367);var f=c(25071),g=c(50474),h=c(70997),i=c(77904),j=c(76835),k=c(2734)},25071:(a,b,c)=>{c.d(b,{GW:()=>l,_0:()=>k,o4:()=>j,oy:()=>i,qK:()=>h});var d=c(24455);let e=(0,c(72626).h)("lib/hooks/sources/pending-decisions"),f=globalThis.__agentSourcePendingDecisions??=new Map;function g(a){return(0,d.v7)(a.worktreeId,a.cliToolId,a.instanceId)}function h(a){return(f.get(g(a))??[]).map(a=>a.decision)}function i(a,b,c){let d=f.get(g(a));if(!d)return!1;let e=d.find(a=>a.decision.id===b);return!!e&&(e.delivery=c,!0)}function j(a,b,c){let d=f.get(g(a));if(!d)return!1;let e=d.find(a=>a.decision.id===b);return!!e&&(e.body=c,!0)}async function k(a,b,c,d){return(await l(a,b,c,d)).body}async function l(a,b,c,d){let h=function(a,b){let c=g(a),d={key:c,ref:a,decision:b,body:null,delivery:null},e=f.get(c)??[];for(e.push(d);e.length>16;)e.shift();return f.set(c,e),d}(b,c);try{await a.decide(b,c,d)}catch(a){e.warn("agent-source-decide-failed",{worktreeId:b.worktreeId,cliToolId:b.cliToolId,instanceId:b.instanceId??b.cliToolId,decisionId:c.id,error:a instanceof Error?a.message:String(a)}),h.delivery={delivered:!1,reason:a instanceof Error?`decide-threw:${a.message}`:"decide-threw"}}let i=h.delivery;return{body:function(a){let b=f.get(a.key);if(b){let c=b.indexOf(a);c>=0&&b.splice(c,1),0===b.length&&f.delete(a.key)}return a.body??{}}(h),delivery:i}}},38367:(a,b,c)=>{c.d(b,{Jp:()=>h,WK:()=>e,lb:()=>f,ue:()=>g});var d=c(57510);let e={Stop:"stop",SubagentStop:"stop",Notification:"notification",SessionStart:"session_start",SessionEnd:"session_end",UserPromptSubmit:"user_prompt_submit",PreToolUse:"pre_tool_use",PostToolUse:"post_tool_use"},f=["session_id","conversationId"],g=["tool_use_id"];function h(a,b){let c="notification"===a?"notification_type":"session_end"===a?"reason":"session_start"===a?"source":"pre_tool_use"===a||"post_tool_use"===a?"tool_name":null;return null===c?null:(0,d.Wv)((0,d.O2)(b,c))}},45567:(a,b,c)=>{c.d(b,{K9:()=>g,ZM:()=>e,wS:()=>f});var d=c(43252);let e="CM_HOOK_URL",f="CM_HOOK_PORT";function g(a){let b=Object.entries(a.env).map(([a,b])=>`${a}=${(0,d.ZL)(b)}`);return 0===b.length?a.command:`${b.join(" ")} ${a.command}`}},50474:(a,b,c)=>{c.d(b,{y_:()=>d});function d(a){var b=a.noDecision;switch(b.kind){case"proceeds":return{safe:!0,blocksForMs:0,summary:"the agent continues with its own approval flow"};case"blocks":return{safe:!1,blocksForMs:null,summary:"the agent waits indefinitely; nothing else will unblock it"};case"blocksUntil":return{safe:!1,blocksForMs:b.timeoutMs,summary:`the agent waits up to ${b.timeoutMs}ms before continuing`}}}},54633:(a,b,c)=>{c.d(b,{V:()=>d});let d="copilot"},66101:(a,b,c)=>{c.d(b,{Kf:()=>j,UB:()=>h,kS:()=>i});var d=c(62887),e=c(57510),f=c(25071);let g={close:async()=>{},liveness:{state:"unknown"}};function h(a){let b=a.nativeEventNameFields??["hook_event_name"];return{cliToolId:a.cliToolId,transport:"push",noDecision:a.noDecision,capabilities:a.capabilities,normalizeEvent(c){let f=c.receivedAt??Date.now(),g=b.length>0?(0,e.oJ)(c.payload,b):null;if(null!=c.event&&(0,d.o0)(c.event))return(0,e.Uq)({event:c.event},c.payload,f,{detail:a.extractDetail,conversationId:a.conversationIdFields,toolCallId:a.toolCallIdFields,modelFields:a.modelFields,extractModel:a.extractModel});let h=(0,e.qU)(a.mappers,g,c.payload);return h?(0,e.Uq)(h,c.payload,f,{detail:a.extractDetail,conversationId:a.conversationIdFields,toolCallId:a.toolCallIdFields,modelFields:a.modelFields,extractModel:a.extractModel}):((0,e.ex)(a.cliToolId,g),null)},eventIdentityOf:b=>a.extractEventIdentity?.(b)??null,parsePermissionRequest:a.parsePermissionRequest,parseQuestion:a.parseQuestion,encodeVerdict:b=>({kind:"responseBody",body:a.encodeVerdict(b)}),prepareLaunch:a.prepareLaunch,subscribe:async()=>g,async decide(b,c,d){let e=(0,f.o4)(b,c.id,a.encodeVerdict(d));(0,f.oy)(b,c.id,{delivered:e,reason:e?"response-body":"slot-closed"})},listPending:async a=>(0,f.qK)(a),probeActivity:async()=>null,liveness:()=>({state:"unknown"})}}function i(a){let b=a.nativeEventNameFields??["type"];return{cliToolId:a.cliToolId,transport:"pull",noDecision:a.noDecision,capabilities:a.capabilities,normalizeEvent(c){let f=c.receivedAt??Date.now(),g=b.length>0?(0,e.oJ)(c.payload,b):null;if(null!=c.event&&(0,d.o0)(c.event))return(0,e.Uq)({event:c.event},c.payload,f,{detail:a.extractDetail,conversationId:a.conversationIdFields,toolCallId:a.toolCallIdFields,modelFields:a.modelFields,extractModel:a.extractModel});let h=(0,e.qU)(a.mappers,g,c.payload);return h?(0,e.Uq)(h,c.payload,f,{detail:a.extractDetail,conversationId:a.conversationIdFields,toolCallId:a.toolCallIdFields,modelFields:a.modelFields,extractModel:a.extractModel}):((0,e.ex)(a.cliToolId,g),null)},eventIdentityOf:b=>a.extractEventIdentity?.(b)??null,parsePermissionRequest:a.parsePermissionRequest,parseQuestion:a.parseQuestion,encodeVerdict:()=>({kind:"outOfBand"}),prepareLaunch:a.prepareLaunch??(a=>({command:a.executablePath,settingsPath:null,env:{}})),subscribe:a.subscribe,decide:a.decide,listPending:a.listPending,probeActivity:a.probeActivity,liveness:a.liveness}}function j(a,b,c){let d="pull"===a.transport?"sse":0===a.capabilities.supportedEvents.length?"scraper":"hooks";if("sse"!==d)return{kind:d};switch(b.state){case"live":return c-b.lastHeartbeatAt>=3e4?{kind:"sse",liveness:"stale",degradedReason:"heartbeat_stale"}:{kind:"sse",liveness:"live"};case"lost":return{kind:"scraper",liveness:"stale",degradedReason:b.reason};case"unknown":return{kind:"scraper",degradedReason:"not_subscribed"}}}},76835:(a,b,c)=>{c.d(b,{F:()=>d});let d="antigravity"},77904:(a,b,c)=>{c.d(b,{o:()=>d});let d="gemini"},85965:(a,b,c)=>{c.d(b,{cC:()=>u});var d=c(62887),e=c(43252),f=c(72626),g=c(66101),h=c(25071),i=c(49791),j=c(75356),k=c(98211),l=c(18529),m=c(84574),n=c(13602),o=c(85322);let p=(0,f.h)("lib/hooks/sources/opencode/source"),q=d.b0;async function r(a,b,c){let d=a.instanceId??a.cliToolId;if("abstain"===c.kind){p.warn("opencode-verdict-abstained",{worktreeId:a.worktreeId,instanceId:d,decisionId:b.id,consequence:"the agent waits indefinitely; nothing else will unblock it"}),(0,h.oy)(a,b.id,{delivered:!1,reason:"abstained"});return}let e=(0,m.hC)(a);if(null===e){p.warn("opencode-verdict-undeliverable-no-port",{worktreeId:a.worktreeId,instanceId:d,decisionId:b.id}),(0,h.oy)(a,b.id,{delivered:!1,reason:"no-port"});return}if("question"===b.kind){if("answer"!==c.kind){p.info("opencode-question-not-answerable",{worktreeId:a.worktreeId,instanceId:d,decisionId:b.id,verdict:c.kind}),(0,h.oy)(a,b.id,{delivered:!1,reason:"question-needs-answer-verdict"});return}let f=await (0,i.Ei)(e,b.id,c.answers);p.info("opencode-question-replied",{worktreeId:a.worktreeId,instanceId:d,decisionId:b.id,delivered:f}),(0,h.oy)(a,b.id,{delivered:f,reason:f?"question-reply":"question-reply-failed"});return}let f=function(a){switch(a.kind){case"allowOnce":return"once";case"allowAlways":return"always";case"deny":return"reject";case"answer":case"abstain":return null}}(c);if(null===f)return void(0,h.oy)(a,b.id,{delivered:!1,reason:"no-wire-value"});let g=await (0,i.LV)(e,b.id,f,"deny"===c.kind?c.message:void 0);p.info("opencode-permission-replied",{worktreeId:a.worktreeId,instanceId:d,decisionId:b.id,reply:f,delivered:g}),(0,h.oy)(a,b.id,{delivered:g,reason:g?`permission-reply:${f}`:"permission-reply-failed"})}async function s(a){let b=(0,m.hC)(a);if(null===b)return[];let c=Date.now(),[d,e]=await Promise.all([(0,i.Li)(b),(0,i.er)(b)]),f=[];for(let a of d){let b=(0,k.Lu)(a,c);b&&f.push(b)}for(let a of e){let b=(0,k.AB)(a,c);b&&f.push(b)}return f}async function t(a){let b=(0,m.hC)(a);return null===b?null:(0,i.xR)(b)}let u=(0,g.kS)({cliToolId:o.k,noDecision:{kind:"blocks"},capabilities:{supportedEvents:q,configScope:"none",decisionTimeoutSeconds:null,permissionHookPredictsDialog:!1,sessionStartMayArriveLate:!1,permissionReplyReleasesPrompt:!0,eventIdentity:"permission-id",resync:"session-status-poll"},mappers:j.lu,nativeEventNameFields:["type"],conversationIdFields:[],extractModel:j.pV,extractEventIdentity:j.oG,parsePermissionRequest:k.FZ,parseQuestion:k.v1,subscribe:(a,b)=>(0,n.bP)(a,b,a=>u.normalizeEvent(a),{resync:u.capabilities.resync}),decide:r,listPending:s,probeActivity:t,liveness:a=>(0,n.lf)(a),prepareLaunch:function({target:a,executablePath:b}){let c={command:b,settingsPath:null,env:{}};if(!(0,e.q)())return c;let d=(0,m.hC)(a);if(null===d)return c;let f=(0,l.Lj)((0,l.Q1)(a));return{command:`${(0,e.ZL)(b)} --port ${d} --hostname ${i.Vc}`+f,settingsPath:null,env:{}}}})},97709:(a,b,c)=>{c.d(b,{VM:()=>am});var d=c(2466),e=c(13287),f=c(62887),g=c(43252),h=c(66101),i=c(57510),j=c(38367),k=c(70997);let l={};function m(a){return"allowOnce"!==a.kind?l:{hookSpecificOutput:{hookEventName:e.l9,decision:{behavior:"allow"}}}}let n=(0,h.UB)({cliToolId:k.v,noDecision:{kind:"proceeds"},capabilities:{supportedEvents:f.b0,configScope:"per-instance",decisionTimeoutSeconds:g.sI,permissionHookPredictsDialog:!0,sessionStartMayArriveLate:!1,permissionReplyReleasesPrompt:!1,eventIdentity:null,resync:"none"},mappers:(0,i.mJ)(j.WK),nativeEventNameFields:["hook_event_name"],conversationIdFields:j.lb,toolCallIdFields:j.ue,modelFields:["model"],extractDetail:j.Jp,parsePermissionRequest:a=>(0,e.ss)(a),parseQuestion:a=>(0,d.ek)(a),encodeVerdict:m,prepareLaunch:({target:a,executablePath:b})=>{let c=(0,g.D2)(b,{worktreeId:a.worktreeId,instanceId:a.instanceId,cliToolId:a.cliToolId}),d=(0,g.q)()&&c!==b?(0,g.iR)({worktreeId:a.worktreeId,instanceId:a.instanceId,cliToolId:a.cliToolId}):null;return{command:c,settingsPath:d,env:{}}}});var o=c(92196),p=c(21758),q=c(54633);let r={},s=(0,h.UB)({cliToolId:q.V,noDecision:{kind:"proceeds"},capabilities:{supportedEvents:["stop","session_start","session_end","user_prompt_submit","post_tool_use"],configScope:"global-singleton",decisionTimeoutSeconds:p.TV,permissionHookPredictsDialog:!1,sessionStartMayArriveLate:!0,permissionReplyReleasesPrompt:!1,eventIdentity:null,resync:"none"},mappers:(0,i.mJ)(j.WK),nativeEventNameFields:["hook_event_name"],conversationIdFields:j.lb,toolCallIdFields:j.ue,extractDetail:j.Jp,parsePermissionRequest:function(a){if(!(0,i.Qd)(a)||a.hook_event_name!==p.cN)return null;let b=(0,i.O2)(a,"tool_name");if(!b||b.length>e.vy)return null;let c=(0,o.mw)(a.tool_input);return c?{toolName:b,toolInput:c.toolInput,toolInputNormalization:c.normalization,promptId:null,sessionId:(0,i.O2)(a,"session_id"),permissionMode:null,permissionSuggestions:null}:null},parseQuestion:()=>null,encodeVerdict:function(a){return"allowOnce"===a.kind?{hookSpecificOutput:{hookEventName:p.cN,permissionDecision:"allow"}}:"deny"===a.kind?{hookSpecificOutput:{hookEventName:p.cN,permissionDecision:"deny",permissionDecisionReason:a.message??"denied by CommandMate"}}:r},prepareLaunch:({target:a,executablePath:b})=>(0,p.Rv)(b,a)});var t=c(15194);let u={ToolPermission:"permission_prompt"};var v=c(33873),w=c(72626),x=c(45567),y=c(29021),z=c(7956);function A(a){if(!(0,y.existsSync)(a))return null;try{let b=JSON.parse((0,y.readFileSync)(a,"utf8"));return(0,i.Qd)(b)?b:null}catch{return null}}function B(a,b){if((0,z.Mb)(a))throw Error(`Refusing to write inside a virtual filesystem: ${a} (a recursive mkdir under /proc, /sys or /dev never returns on Linux; Issue #1774)`);(0,y.mkdirSync)((0,v.dirname)(a),{recursive:!0,mode:448}),(0,y.writeFileSync)(a,`${JSON.stringify(b,null,2)}
4
- `,{mode:384})}var C=c(77904);let D=(0,w.h)("lib/hooks/sources/gemini/settings-generator"),E=1e3*g.W6,F=[["SessionStart","session_start"],["BeforeAgent","user_prompt_submit"],["AfterAgent","stop"],["Notification","notification"],["SessionEnd","session_end"]];function G(a,b){return a.includes("cmate-agent-event.sh")&&a.includes(`--tool ${C.o}`)&&a.includes(`--worktree-id ${(0,g.ZL)(b)}`)}let H=(0,h.UB)({cliToolId:C.o,noDecision:{kind:"proceeds"},capabilities:{supportedEvents:["session_start","user_prompt_submit","stop","notification","session_end"],configScope:"per-worktree",decisionTimeoutSeconds:0,permissionHookPredictsDialog:!1,sessionStartMayArriveLate:!1,permissionReplyReleasesPrompt:!1,eventIdentity:null,resync:"none"},mappers:(0,i.mJ)({SessionStart:"session_start",SessionEnd:"session_end",BeforeAgent:"user_prompt_submit",AfterAgent:"stop",BeforeTool:"pre_tool_use",AfterTool:"post_tool_use",Notification:"notification"}),nativeEventNameFields:["hook_event_name"],conversationIdFields:j.lb,toolCallIdFields:[],extractDetail:function(a,b){if("notification"!==a)return(0,j.Jp)(a,b);let c=(0,i.O2)(b,"notification_type");return null===c?null:(0,i.Wv)(u[c]??c)},parsePermissionRequest:()=>null,parseQuestion:()=>null,encodeVerdict:()=>({}),prepareLaunch:function({target:a,executablePath:b,worktreePath:c}){let d={worktreeId:a.worktreeId,instanceId:a.instanceId,cliToolId:C.o},e=(0,t.n6)(a.instanceId??C.o)?function(a,b){if(!(0,g.q)())return null;let c=(0,g.Os)();if(!c)return D.warn("gemini-hook-relay-missing",{worktreeId:b.worktreeId}),null;let d=(0,v.join)(a,".gemini","settings.json");try{let a=A(d),e=function(a,b){let c={};for(let[e,f]of F){var d;c[e]=[{hooks:[{type:"command",command:(d=b.worktreeId,[(0,g.ZL)(a),"--tool",C.o,"--event",f,"--worktree-id",(0,g.ZL)(d),"--stdin-json"].join(" ")),timeout:E}]}]}return c}(c,b);return B(d,function(a,b,c){let d=(0,i.Qd)(a?.hooks)?a.hooks:{},e={};for(let[a,b]of Object.entries(d)){if(!Array.isArray(b)){e[a]=b;continue}let d=b.filter(a=>!function(a,b){if(!(0,i.Qd)(a))return!1;let c=a.hooks;return Array.isArray(c)?c.length>0&&c.every(a=>(0,i.Qd)(a)&&"string"==typeof a.command&&G(a.command,b)):"string"==typeof a.command&&G(a.command,b)}(a,c));e[a]=d.length===b.length?b:d}for(let[a,c]of Object.entries(b)){let b=e[a];e[a]=Array.isArray(b)?[...b,...c]:[...c]}return{...a,hooks:e}}(a,e,b.worktreeId)),d}catch(a){return D.warn("gemini-hook-settings-write-failed",{worktreeId:b.worktreeId,error:a instanceof Error?a.message:String(a)}),null}}(c,d):null,{command:f,env:h}=function(a,b,c={}){if(!(0,g.q)())return{command:a,env:{}};if(!(0,t.n6)((0,g.g5)(b)))return D.warn("gemini-hook-invalid-instance-id",{worktreeId:b.worktreeId}),{command:a,env:{}};let d=(0,g.xM)({...b,cliToolId:C.o},c);return{command:(0,g.ZL)(a),env:{[x.ZM]:d}}}(b,d);return{command:f,settingsPath:e,env:h}}});var I=c(21820),J=c(76835);let K=(0,w.h)("lib/hooks/sources/antigravity/hooks-config"),L=[["SessionStart","session_start"],["PostToolUse","post_tool_use"],["Stop","stop"]],M="CM_PERMISSION_HOOK_URL",N=g.sI,O=new Set(["PreToolUse","PostToolUse"]),P={decision:"ask"},Q=(0,h.UB)({cliToolId:J.F,noDecision:{kind:"proceeds"},capabilities:{supportedEvents:["session_start","post_tool_use","stop"],configScope:"global-singleton",decisionTimeoutSeconds:N,permissionHookPredictsDialog:!1,sessionStartMayArriveLate:!1,permissionReplyReleasesPrompt:!1,eventIdentity:null,resync:"none"},mappers:[],nativeEventNameFields:[],conversationIdFields:["conversationId"],toolCallIdFields:[],modelFields:["modelName"],extractDetail:(a,b)=>"pre_tool_use"===a||"post_tool_use"===a?(0,i.Wv)((0,i.NZ)(b,["toolCall","name"])):null,parsePermissionRequest:function(a){if(!(0,i.Qd)(a))return null;let b=a.toolCall;if(!(0,i.Qd)(b))return null;let c=(0,i.O2)(b,"name");return c&&!(c.length>e.vy)&&(0,i.Qd)(b.args)?{toolName:c,toolInput:b.args,promptId:null,sessionId:(0,i.O2)(a,"conversationId"),permissionMode:null,permissionSuggestions:null}:null},parseQuestion:()=>null,encodeVerdict:function(a){return"allowOnce"===a.kind?{decision:"allow"}:"deny"===a.kind?{decision:"deny",reason:a.message??""}:{...P}},prepareLaunch:({target:a,executablePath:b})=>{let c=function(a={}){if(!(0,g.q)())return null;let b=(0,g.Os)();if(!b)return K.warn("antigravity-hook-relay-missing"),null;let c=function(a={}){return a.path??(0,v.join)((0,I.homedir)(),".gemini","config","hooks.json")}(a);try{var d;let a=A(c);return B(c,(d=function(a){let b={};for(let[c,d]of L){let e={type:"command",command:[(0,g.ZL)(a),"--tool",J.F,"--event",d,"--stdin-json"].join(" "),timeout:g.W6};b[c]=O.has(c)?[{matcher:"*",hooks:[e]}]:[e]}return b.PreToolUse=[{matcher:"*",hooks:[{type:"command",command:function(){let a=`"$${M}"`,b=`printf '%s' ${(0,g.ZL)('{"decision":"ask"}')}`;return`if [ -z "\${${M}:-}" ]; then cat >/dev/null; ${b}; exit 0; fi; set -- -sS -f -m 4 -X POST -H 'Content-Type: application/json'; if [ -n "\${${g.XE}:-}" ]; then set -- "$@" -H "Authorization: Bearer $${g.XE}"; fi; out=$(curl "$@" --data-binary @- ${a} 2>/dev/null); case "$out" in '{'*'"decision"'*) printf '%s' "$out" ;; *) ${b} ;; esac`}(),timeout:g.sI}]}],b}(b),{...a,commandmate:d})),c}catch(a){return K.warn("antigravity-hooks-config-write-failed",{error:a instanceof Error?a.message:String(a)}),null}}(),{command:d,env:e}=function(a,b,c={}){if(!(0,g.q)())return{command:a,env:{}};if(!(0,t.n6)((0,g.g5)(b)))return K.warn("antigravity-hook-invalid-instance-id",{worktreeId:b.worktreeId}),{command:a,env:{}};let d={...b,cliToolId:J.F};return{command:(0,g.ZL)(a),env:{[x.ZM]:(0,g.xM)(d,c),[M]:(0,g.O$)(d,c)}}}(b,{worktreeId:a.worktreeId,instanceId:a.instanceId,cliToolId:J.F});return{command:d,settingsPath:c,env:e}}});var R=c(8004),S=c(87447),T=c(66007),U=c(2734);let V=(0,w.h)("lib/hooks/sources/codex/hooks-config"),W="127.0.0.1",X="commandmate:agent-hooks",Y="CODEX_HOME",Z="CM_AGENT_WORKTREE_ID",$="CM_AGENT_INSTANCE_ID",_="CM_HOOK_URL",aa="CM_PERMISSION_HOOK_URL",ab={SessionStart:"session_start",UserPromptSubmit:"user_prompt_submit",Stop:"stop",SessionEnd:"session_end"},ac="PermissionRequest",ad=Object.values(ab);function ae(a={}){let b=(0,v.join)((0,I.homedir)(),".codex");return a.codexHome?(0,R.T)(a.codexHome,b,"CodexHookOptions.codexHome"):(0,R.T)(process.env[Y],b,Y)}function af(a,b){return`http://${W}:\${CM_PORT:-3000}${a}${b}`}let ag={},ah=(0,h.UB)({cliToolId:U.c,noDecision:{kind:"proceeds"},capabilities:{supportedEvents:ad,configScope:"global-singleton",decisionTimeoutSeconds:5,permissionHookPredictsDialog:!0,sessionStartMayArriveLate:!1,permissionReplyReleasesPrompt:!1,eventIdentity:null,resync:"none"},mappers:(0,i.mJ)(j.WK),nativeEventNameFields:["hook_event_name"],conversationIdFields:j.lb,toolCallIdFields:j.ue,modelFields:["model"],extractDetail:j.Jp,parsePermissionRequest:a=>(0,e.ss)(a),parseQuestion:()=>null,encodeVerdict:function(a){return"allowOnce"===a.kind?{hookSpecificOutput:{hookEventName:ac,decision:{behavior:"allow"}}}:"deny"===a.kind?{hookSpecificOutput:{hookEventName:ac,decision:{behavior:"deny",message:a.message??""}}}:ag},prepareLaunch:({target:a,executablePath:b})=>(function(a,b,c={}){let d={command:a,settingsPath:null,env:{}};if(!(0,g.q)())return d;let e=b.instanceId??U.c;if(!(0,T.h6)(b.worktreeId)||!(0,t.n6)(e))return V.warn("codex-hooks-invalid-correlation-key",{worktreeId:b.worktreeId}),d;try{let f=function(a={}){let b=function(a={}){return(0,v.join)(ae(a),"hooks.json")}(a),c=null,d=null;if((0,y.existsSync)(b))try{d=(0,y.readFileSync)(b,"utf8"),c=JSON.parse(d)}catch(a){return V.warn("codex-hooks-config-unreadable",{settingsPath:b,error:a instanceof Error?a.message:String(a)}),null}let e=`${JSON.stringify(function(a,b){let c=(0,i.Qd)(a)?{...a}:{},d=(0,i.Qd)(c.hooks)?c.hooks:{},e={};for(let[a,b]of Object.entries(d))e[a]=Array.isArray(b)?b.map(a=>{if(!(0,i.Qd)(a)||!Array.isArray(a.hooks))return a;let b=a.hooks.filter(a=>!((0,i.Qd)(a)&&"string"==typeof a.command&&a.command.includes(X)));return b.length===a.hooks.length?a:{...a,hooks:b}}).filter(a=>!((0,i.Qd)(a)&&Array.isArray(a.hooks))||a.hooks.length>0):b;for(let[a,c]of Object.entries(b.hooks)){let b=e[a];(void 0===b||Array.isArray(b))&&(e[a]=[...b??[],...c])}return c.hooks=e,c}(c,function(a={}){let b=(b,c)=>({hooks:[{type:"command",command:function(a,b={}){let c=` # ${X}`,d=void 0===b.relayScriptPath?(0,g.Os)():b.relayScriptPath;if(d)return[(0,g.ZL)(d),"--tool",U.c,"--event",a,"--worktree-id",`"$${Z}"`,"--instance-id",`"$${$}"`,"--stdin-json"].join(" ")+c;let e=b.withAuthHeader??(0,g.yc)()?` -H "Authorization: Bearer $${g.XE}"`:"",f=`"\${${_}:-${af(g.jx,"")}}?tool=${U.c}\${${Z}:+&worktreeId=$${Z}}\${${$}:+&instanceId=$${$}}"`;return`curl -sS -f -m ${g.W6} -X POST -H 'Content-Type: application/json'${e} --data-binary @- ${f} >/dev/null 2>&1 || true${c}`}(b,a),timeout:c}]}),c={};for(let[a,d]of Object.entries(ab)){let e="SessionEnd"===a?3:g.W6;c[a]=[b(d,e)]}return c[ac]=[{hooks:[{type:"command",command:function(a={}){let b=a.withAuthHeader??(0,g.yc)()?` -H "Authorization: Bearer $${g.XE}"`:"",c=`"\${${aa}:-${af(g.WZ,`?tool=${U.c}`)}}"`;return`curl -sS -f -m ${g.sI} -X POST -H 'Content-Type: application/json'${b} --data-binary @- ${c} 2>/dev/null || true # ${X}`}(a),timeout:g.sI}]}],{hooks:c}}(a)),null,2)}
5
- `;return d===e||((0,y.mkdirSync)((0,v.dirname)(b),{recursive:!0,mode:448}),(0,y.writeFileSync)(b,e,{mode:384})),b}(c);if(!f)return d;let h=c.port??(0,S.D0)(),j=new URLSearchParams({tool:U.c,worktreeId:b.worktreeId,instanceId:e}),k={[Y]:ae(c),CM_AGENT_TOOL:U.c,[Z]:b.worktreeId,[$]:e,[_]:`http://${W}:${h}${g.jx}`,[aa]:`http://${W}:${h}${g.WZ}?${j.toString()}`},l="bypass"===process.env.CM_CODEX_HOOK_TRUST?" --dangerously-bypass-hook-trust":"";return{command:`${(0,g.ZL)(a)}${l}`,settingsPath:f,env:k}}catch(a){return V.warn("codex-hooks-config-write-failed",{worktreeId:b.worktreeId,error:a instanceof Error?a.message:String(a)}),d}})(b,a)});var ai=c(85965);let aj=globalThis.__agentEventSources??=new Map,ak=globalThis.__agentEventLegacySources??=new Map;function al(a){aj.set(a.cliToolId,a),ak.delete(a.cliToolId)}function am(a){let b=aj.get(a);if(b)return b;let c=ak.get(a);if(c)return c;let f=(0,h.UB)({cliToolId:a,noDecision:{kind:"proceeds"},capabilities:{supportedEvents:[],configScope:"none",decisionTimeoutSeconds:null,permissionHookPredictsDialog:!1,sessionStartMayArriveLate:!1,permissionReplyReleasesPrompt:!1,eventIdentity:null,resync:"none"},mappers:(0,i.mJ)(j.WK),nativeEventNameFields:["hook_event_name"],conversationIdFields:j.lb,toolCallIdFields:j.ue,extractDetail:j.Jp,parsePermissionRequest:a=>(0,e.ss)(a),parseQuestion:a=>(0,d.ek)(a),encodeVerdict:m,prepareLaunch:({executablePath:a})=>({command:a,settingsPath:null,env:{}})});return ak.set(a,f),f}al(n),al(s),al(H),al(Q),al(ah),al(ai.cC)}};
3
+ `;if(c===f)return b;""!==c&&(0,d.copyFileSync)(b,`${b}.cmate-backup`);let g=`${b}.${process.pid}.tmp`;try{(0,d.writeFileSync)(g,f,{mode:384}),(0,d.renameSync)(g,b)}catch(a){try{(0,d.unlinkSync)(g)}catch{}throw a}return b})}(c);return{command:a,settingsPath:h,env:function(a,b,c={}){return{[s]:a,[t]:b,[v]:String(c.port??(0,i.D0)())}}(b.worktreeId,m,c)}}catch(a){if(a instanceof I)return o.warn("copilot-hook-config-json-shadows-settings",{worktreeId:b.worktreeId,configPath:a.configPath}),l;return o.warn("copilot-hook-settings-write-failed",{worktreeId:b.worktreeId,error:a instanceof Error?a.message:String(a)}),l}}},22354:(a,b,c)=>{c.d(b,{F0:()=>j.F,K9:()=>e.K9,VM:()=>d.VM,_0:()=>f._0,c1:()=>k.c,o:()=>i.o,vm:()=>h.v,y_:()=>g.y_});var d=c(97709);c(66101);var e=c(45567);c(57510),c(38367);var f=c(25071),g=c(50474),h=c(70997),i=c(77904),j=c(76835),k=c(2734)},25071:(a,b,c)=>{c.d(b,{GW:()=>l,_0:()=>k,o4:()=>j,oy:()=>i,qK:()=>h});var d=c(24455);let e=(0,c(72626).h)("lib/hooks/sources/pending-decisions"),f=globalThis.__agentSourcePendingDecisions??=new Map;function g(a){return(0,d.v7)(a.worktreeId,a.cliToolId,a.instanceId)}function h(a){return(f.get(g(a))??[]).map(a=>a.decision)}function i(a,b,c){let d=f.get(g(a));if(!d)return!1;let e=d.find(a=>a.decision.id===b);return!!e&&(e.delivery=c,!0)}function j(a,b,c){let d=f.get(g(a));if(!d)return!1;let e=d.find(a=>a.decision.id===b);return!!e&&(e.body=c,!0)}async function k(a,b,c,d){return(await l(a,b,c,d)).body}async function l(a,b,c,d){let h=function(a,b){let c=g(a),d={key:c,ref:a,decision:b,body:null,delivery:null},e=f.get(c)??[];for(e.push(d);e.length>16;)e.shift();return f.set(c,e),d}(b,c);try{await a.decide(b,c,d)}catch(a){e.warn("agent-source-decide-failed",{worktreeId:b.worktreeId,cliToolId:b.cliToolId,instanceId:b.instanceId??b.cliToolId,decisionId:c.id,error:a instanceof Error?a.message:String(a)}),h.delivery={delivered:!1,reason:a instanceof Error?`decide-threw:${a.message}`:"decide-threw"}}let i=h.delivery;return{body:function(a){let b=f.get(a.key);if(b){let c=b.indexOf(a);c>=0&&b.splice(c,1),0===b.length&&f.delete(a.key)}return a.body??{}}(h),delivery:i}}},38367:(a,b,c)=>{c.d(b,{Jp:()=>h,WK:()=>e,lb:()=>f,ue:()=>g});var d=c(57510);let e={Stop:"stop",SubagentStop:"stop",Notification:"notification",SessionStart:"session_start",SessionEnd:"session_end",UserPromptSubmit:"user_prompt_submit",PreToolUse:"pre_tool_use",PostToolUse:"post_tool_use"},f=["session_id","conversationId"],g=["tool_use_id"];function h(a,b){let c="notification"===a?"notification_type":"session_end"===a?"reason":"session_start"===a?"source":"pre_tool_use"===a||"post_tool_use"===a?"tool_name":null;return null===c?null:(0,d.Wv)((0,d.O2)(b,c))}},45567:(a,b,c)=>{c.d(b,{K9:()=>g,ZM:()=>e,wS:()=>f});var d=c(43252);let e="CM_HOOK_URL",f="CM_HOOK_PORT";function g(a){let b=Object.entries(a.env).map(([a,b])=>`${a}=${(0,d.ZL)(b)}`);return 0===b.length?a.command:`${b.join(" ")} ${a.command}`}},50474:(a,b,c)=>{c.d(b,{y_:()=>d});function d(a){var b=a.noDecision;switch(b.kind){case"proceeds":return{safe:!0,blocksForMs:0,summary:"the agent continues with its own approval flow"};case"blocks":return{safe:!1,blocksForMs:null,summary:"the agent waits indefinitely; nothing else will unblock it"};case"blocksUntil":return{safe:!1,blocksForMs:b.timeoutMs,summary:`the agent waits up to ${b.timeoutMs}ms before continuing`}}}},54633:(a,b,c)=>{c.d(b,{V:()=>d});let d="copilot"},66101:(a,b,c)=>{c.d(b,{Kf:()=>j,UB:()=>h,kS:()=>i});var d=c(62887),e=c(57510),f=c(25071);let g={close:async()=>{},liveness:{state:"unknown"}};function h(a){let b=a.nativeEventNameFields??["hook_event_name"];return{cliToolId:a.cliToolId,transport:"push",noDecision:a.noDecision,capabilities:a.capabilities,normalizeEvent(c){let f=c.receivedAt??Date.now(),g=b.length>0?(0,e.oJ)(c.payload,b):null;if(null!=c.event&&(0,d.o0)(c.event))return(0,e.Uq)({event:c.event},c.payload,f,{detail:a.extractDetail,conversationId:a.conversationIdFields,toolCallId:a.toolCallIdFields,modelFields:a.modelFields,extractModel:a.extractModel});let h=(0,e.qU)(a.mappers,g,c.payload);return h?(0,e.Uq)(h,c.payload,f,{detail:a.extractDetail,conversationId:a.conversationIdFields,toolCallId:a.toolCallIdFields,modelFields:a.modelFields,extractModel:a.extractModel}):((0,e.ex)(a.cliToolId,g),null)},eventIdentityOf:b=>a.extractEventIdentity?.(b)??null,parsePermissionRequest:a.parsePermissionRequest,parseQuestion:a.parseQuestion,encodeVerdict:b=>({kind:"responseBody",body:a.encodeVerdict(b)}),prepareLaunch:a.prepareLaunch,subscribe:async()=>g,async decide(b,c,d){let e=(0,f.o4)(b,c.id,a.encodeVerdict(d));(0,f.oy)(b,c.id,{delivered:e,reason:e?"response-body":"slot-closed"})},listPending:async a=>(0,f.qK)(a),probeActivity:async()=>null,liveness:()=>({state:"unknown"})}}function i(a){let b=a.nativeEventNameFields??["type"];return{cliToolId:a.cliToolId,transport:"pull",noDecision:a.noDecision,capabilities:a.capabilities,normalizeEvent(c){let f=c.receivedAt??Date.now(),g=b.length>0?(0,e.oJ)(c.payload,b):null;if(null!=c.event&&(0,d.o0)(c.event))return(0,e.Uq)({event:c.event},c.payload,f,{detail:a.extractDetail,conversationId:a.conversationIdFields,toolCallId:a.toolCallIdFields,modelFields:a.modelFields,extractModel:a.extractModel});let h=(0,e.qU)(a.mappers,g,c.payload);return h?(0,e.Uq)(h,c.payload,f,{detail:a.extractDetail,conversationId:a.conversationIdFields,toolCallId:a.toolCallIdFields,modelFields:a.modelFields,extractModel:a.extractModel}):((0,e.ex)(a.cliToolId,g),null)},eventIdentityOf:b=>a.extractEventIdentity?.(b)??null,parsePermissionRequest:a.parsePermissionRequest,parseQuestion:a.parseQuestion,encodeVerdict:()=>({kind:"outOfBand"}),prepareLaunch:a.prepareLaunch??(a=>({command:a.executablePath,settingsPath:null,env:{}})),subscribe:a.subscribe,decide:a.decide,listPending:a.listPending,probeActivity:a.probeActivity,liveness:a.liveness}}function j(a,b,c){let d="pull"===a.transport?"sse":0===a.capabilities.supportedEvents.length?"scraper":"hooks";if("sse"!==d)return{kind:d};switch(b.state){case"live":return c-b.lastHeartbeatAt>=3e4?{kind:"sse",liveness:"stale",degradedReason:"heartbeat_stale"}:{kind:"sse",liveness:"live"};case"lost":return{kind:"scraper",liveness:"stale",degradedReason:b.reason};case"unknown":return{kind:"scraper",degradedReason:"not_subscribed"}}}},76835:(a,b,c)=>{c.d(b,{F:()=>d});let d="antigravity"},77904:(a,b,c)=>{c.d(b,{o:()=>d});let d="gemini"},85965:(a,b,c)=>{c.d(b,{cC:()=>u});var d=c(62887),e=c(43252),f=c(72626),g=c(66101),h=c(25071),i=c(49791),j=c(75356),k=c(98211),l=c(18529),m=c(84574),n=c(53163),o=c(85322);let p=(0,f.h)("lib/hooks/sources/opencode/source"),q=d.b0;async function r(a,b,c){let d=a.instanceId??a.cliToolId;if("abstain"===c.kind){p.warn("opencode-verdict-abstained",{worktreeId:a.worktreeId,instanceId:d,decisionId:b.id,consequence:"the agent waits indefinitely; nothing else will unblock it"}),(0,h.oy)(a,b.id,{delivered:!1,reason:"abstained"});return}let e=(0,m.hC)(a);if(null===e){p.warn("opencode-verdict-undeliverable-no-port",{worktreeId:a.worktreeId,instanceId:d,decisionId:b.id}),(0,h.oy)(a,b.id,{delivered:!1,reason:"no-port"});return}if("question"===b.kind){if("answer"!==c.kind){p.info("opencode-question-not-answerable",{worktreeId:a.worktreeId,instanceId:d,decisionId:b.id,verdict:c.kind}),(0,h.oy)(a,b.id,{delivered:!1,reason:"question-needs-answer-verdict"});return}let f=await (0,i.Ei)(e,b.id,c.answers);p.info("opencode-question-replied",{worktreeId:a.worktreeId,instanceId:d,decisionId:b.id,delivered:f}),(0,h.oy)(a,b.id,{delivered:f,reason:f?"question-reply":"question-reply-failed"});return}let f=function(a){switch(a.kind){case"allowOnce":return"once";case"allowAlways":return"always";case"deny":return"reject";case"answer":case"abstain":return null}}(c);if(null===f)return void(0,h.oy)(a,b.id,{delivered:!1,reason:"no-wire-value"});let g=await (0,i.LV)(e,b.id,f,"deny"===c.kind?c.message:void 0);p.info("opencode-permission-replied",{worktreeId:a.worktreeId,instanceId:d,decisionId:b.id,reply:f,delivered:g}),(0,h.oy)(a,b.id,{delivered:g,reason:g?`permission-reply:${f}`:"permission-reply-failed"})}async function s(a){let b=(0,m.hC)(a);if(null===b)return[];let c=Date.now(),[d,e]=await Promise.all([(0,i.Li)(b),(0,i.er)(b)]),f=[];for(let a of d){let b=(0,k.Lu)(a,c);b&&f.push(b)}for(let a of e){let b=(0,k.AB)(a,c);b&&f.push(b)}return f}async function t(a){let b=(0,m.hC)(a);return null===b?null:(0,i.xR)(b)}let u=(0,g.kS)({cliToolId:o.k,noDecision:{kind:"blocks"},capabilities:{supportedEvents:q,configScope:"none",decisionTimeoutSeconds:null,permissionHookPredictsDialog:!1,sessionStartMayArriveLate:!1,permissionReplyReleasesPrompt:!0,eventIdentity:"permission-id",resync:"session-status-poll",transcriptHistory:"push"},mappers:j.lu,nativeEventNameFields:["type"],conversationIdFields:[],extractModel:j.pV,extractEventIdentity:j.oG,parsePermissionRequest:k.FZ,parseQuestion:k.v1,subscribe:(a,b)=>(0,n.bP)(a,b,a=>u.normalizeEvent(a),{resync:u.capabilities.resync}),decide:r,listPending:s,probeActivity:t,liveness:a=>(0,n.lf)(a),prepareLaunch:function({target:a,executablePath:b}){let c={command:b,settingsPath:null,env:{}};if(!(0,e.q)())return c;let d=(0,m.hC)(a);if(null===d)return c;let f=(0,l.Lj)((0,l.Q1)(a));return{command:`${(0,e.ZL)(b)} --port ${d} --hostname ${i.Vc}`+f,settingsPath:null,env:{}}}})},97709:(a,b,c)=>{c.d(b,{VM:()=>am});var d=c(2466),e=c(13287),f=c(62887),g=c(43252),h=c(66101),i=c(57510),j=c(38367),k=c(70997);let l={};function m(a){return"allowOnce"!==a.kind?l:{hookSpecificOutput:{hookEventName:e.l9,decision:{behavior:"allow"}}}}let n=(0,h.UB)({cliToolId:k.v,noDecision:{kind:"proceeds"},capabilities:{supportedEvents:f.b0,configScope:"per-instance",decisionTimeoutSeconds:g.sI,permissionHookPredictsDialog:!0,sessionStartMayArriveLate:!1,permissionReplyReleasesPrompt:!1,eventIdentity:null,resync:"none",transcriptHistory:"pull"},mappers:(0,i.mJ)(j.WK),nativeEventNameFields:["hook_event_name"],conversationIdFields:j.lb,toolCallIdFields:j.ue,modelFields:["model"],extractDetail:j.Jp,parsePermissionRequest:a=>(0,e.ss)(a),parseQuestion:a=>(0,d.ek)(a),encodeVerdict:m,prepareLaunch:({target:a,executablePath:b})=>{let c=(0,g.D2)(b,{worktreeId:a.worktreeId,instanceId:a.instanceId,cliToolId:a.cliToolId}),d=(0,g.q)()&&c!==b?(0,g.iR)({worktreeId:a.worktreeId,instanceId:a.instanceId,cliToolId:a.cliToolId}):null;return{command:c,settingsPath:d,env:{}}}});var o=c(92196),p=c(21758),q=c(54633);let r={},s=(0,h.UB)({cliToolId:q.V,noDecision:{kind:"proceeds"},capabilities:{supportedEvents:["stop","session_start","session_end","user_prompt_submit","post_tool_use"],configScope:"global-singleton",decisionTimeoutSeconds:p.TV,permissionHookPredictsDialog:!1,sessionStartMayArriveLate:!0,permissionReplyReleasesPrompt:!1,eventIdentity:null,resync:"none",transcriptHistory:null},mappers:(0,i.mJ)(j.WK),nativeEventNameFields:["hook_event_name"],conversationIdFields:j.lb,toolCallIdFields:j.ue,extractDetail:j.Jp,parsePermissionRequest:function(a){if(!(0,i.Qd)(a)||a.hook_event_name!==p.cN)return null;let b=(0,i.O2)(a,"tool_name");if(!b||b.length>e.vy)return null;let c=(0,o.mw)(a.tool_input);return c?{toolName:b,toolInput:c.toolInput,toolInputNormalization:c.normalization,promptId:null,sessionId:(0,i.O2)(a,"session_id"),permissionMode:null,permissionSuggestions:null}:null},parseQuestion:()=>null,encodeVerdict:function(a){return"allowOnce"===a.kind?{hookSpecificOutput:{hookEventName:p.cN,permissionDecision:"allow"}}:"deny"===a.kind?{hookSpecificOutput:{hookEventName:p.cN,permissionDecision:"deny",permissionDecisionReason:a.message??"denied by CommandMate"}}:r},prepareLaunch:({target:a,executablePath:b})=>(0,p.Rv)(b,a)});var t=c(15194);let u={ToolPermission:"permission_prompt"};var v=c(33873),w=c(72626),x=c(45567),y=c(29021),z=c(7956);function A(a){if(!(0,y.existsSync)(a))return null;try{let b=JSON.parse((0,y.readFileSync)(a,"utf8"));return(0,i.Qd)(b)?b:null}catch{return null}}function B(a,b){if((0,z.Mb)(a))throw Error(`Refusing to write inside a virtual filesystem: ${a} (a recursive mkdir under /proc, /sys or /dev never returns on Linux; Issue #1774)`);(0,y.mkdirSync)((0,v.dirname)(a),{recursive:!0,mode:448}),(0,y.writeFileSync)(a,`${JSON.stringify(b,null,2)}
4
+ `,{mode:384})}var C=c(77904);let D=(0,w.h)("lib/hooks/sources/gemini/settings-generator"),E=1e3*g.W6,F=[["SessionStart","session_start"],["BeforeAgent","user_prompt_submit"],["AfterAgent","stop"],["Notification","notification"],["SessionEnd","session_end"]];function G(a,b){return a.includes("cmate-agent-event.sh")&&a.includes(`--tool ${C.o}`)&&a.includes(`--worktree-id ${(0,g.ZL)(b)}`)}let H=(0,h.UB)({cliToolId:C.o,noDecision:{kind:"proceeds"},capabilities:{supportedEvents:["session_start","user_prompt_submit","stop","notification","session_end"],configScope:"per-worktree",decisionTimeoutSeconds:0,permissionHookPredictsDialog:!1,sessionStartMayArriveLate:!1,permissionReplyReleasesPrompt:!1,eventIdentity:null,resync:"none",transcriptHistory:null},mappers:(0,i.mJ)({SessionStart:"session_start",SessionEnd:"session_end",BeforeAgent:"user_prompt_submit",AfterAgent:"stop",BeforeTool:"pre_tool_use",AfterTool:"post_tool_use",Notification:"notification"}),nativeEventNameFields:["hook_event_name"],conversationIdFields:j.lb,toolCallIdFields:[],extractDetail:function(a,b){if("notification"!==a)return(0,j.Jp)(a,b);let c=(0,i.O2)(b,"notification_type");return null===c?null:(0,i.Wv)(u[c]??c)},parsePermissionRequest:()=>null,parseQuestion:()=>null,encodeVerdict:()=>({}),prepareLaunch:function({target:a,executablePath:b,worktreePath:c}){let d={worktreeId:a.worktreeId,instanceId:a.instanceId,cliToolId:C.o},e=(0,t.n6)(a.instanceId??C.o)?function(a,b){if(!(0,g.q)())return null;let c=(0,g.Os)();if(!c)return D.warn("gemini-hook-relay-missing",{worktreeId:b.worktreeId}),null;let d=(0,v.join)(a,".gemini","settings.json");try{let a=A(d),e=function(a,b){let c={};for(let[e,f]of F){var d;c[e]=[{hooks:[{type:"command",command:(d=b.worktreeId,[(0,g.ZL)(a),"--tool",C.o,"--event",f,"--worktree-id",(0,g.ZL)(d),"--stdin-json"].join(" ")),timeout:E}]}]}return c}(c,b);return B(d,function(a,b,c){let d=(0,i.Qd)(a?.hooks)?a.hooks:{},e={};for(let[a,b]of Object.entries(d)){if(!Array.isArray(b)){e[a]=b;continue}let d=b.filter(a=>!function(a,b){if(!(0,i.Qd)(a))return!1;let c=a.hooks;return Array.isArray(c)?c.length>0&&c.every(a=>(0,i.Qd)(a)&&"string"==typeof a.command&&G(a.command,b)):"string"==typeof a.command&&G(a.command,b)}(a,c));e[a]=d.length===b.length?b:d}for(let[a,c]of Object.entries(b)){let b=e[a];e[a]=Array.isArray(b)?[...b,...c]:[...c]}return{...a,hooks:e}}(a,e,b.worktreeId)),d}catch(a){return D.warn("gemini-hook-settings-write-failed",{worktreeId:b.worktreeId,error:a instanceof Error?a.message:String(a)}),null}}(c,d):null,{command:f,env:h}=function(a,b,c={}){if(!(0,g.q)())return{command:a,env:{}};if(!(0,t.n6)((0,g.g5)(b)))return D.warn("gemini-hook-invalid-instance-id",{worktreeId:b.worktreeId}),{command:a,env:{}};let d=(0,g.xM)({...b,cliToolId:C.o},c);return{command:(0,g.ZL)(a),env:{[x.ZM]:d}}}(b,d);return{command:f,settingsPath:e,env:h}}});var I=c(21820),J=c(76835);let K=(0,w.h)("lib/hooks/sources/antigravity/hooks-config"),L=[["SessionStart","session_start"],["PostToolUse","post_tool_use"],["Stop","stop"]],M="CM_PERMISSION_HOOK_URL",N=g.sI,O=new Set(["PreToolUse","PostToolUse"]),P={decision:"ask"},Q=(0,h.UB)({cliToolId:J.F,noDecision:{kind:"proceeds"},capabilities:{supportedEvents:["session_start","post_tool_use","stop"],configScope:"global-singleton",decisionTimeoutSeconds:N,permissionHookPredictsDialog:!1,sessionStartMayArriveLate:!1,permissionReplyReleasesPrompt:!1,eventIdentity:null,resync:"none",transcriptHistory:"pull"},mappers:[],nativeEventNameFields:[],conversationIdFields:["conversationId"],toolCallIdFields:[],modelFields:["modelName"],extractDetail:(a,b)=>"pre_tool_use"===a||"post_tool_use"===a?(0,i.Wv)((0,i.NZ)(b,["toolCall","name"])):null,parsePermissionRequest:function(a){if(!(0,i.Qd)(a))return null;let b=a.toolCall;if(!(0,i.Qd)(b))return null;let c=(0,i.O2)(b,"name");return c&&!(c.length>e.vy)&&(0,i.Qd)(b.args)?{toolName:c,toolInput:b.args,promptId:null,sessionId:(0,i.O2)(a,"conversationId"),permissionMode:null,permissionSuggestions:null}:null},parseQuestion:()=>null,encodeVerdict:function(a){return"allowOnce"===a.kind?{decision:"allow"}:"deny"===a.kind?{decision:"deny",reason:a.message??""}:{...P}},prepareLaunch:({target:a,executablePath:b})=>{let c=function(a={}){if(!(0,g.q)())return null;let b=(0,g.Os)();if(!b)return K.warn("antigravity-hook-relay-missing"),null;let c=function(a={}){return a.path??(0,v.join)((0,I.homedir)(),".gemini","config","hooks.json")}(a);try{var d;let a=A(c);return B(c,(d=function(a){let b={};for(let[c,d]of L){let e={type:"command",command:[(0,g.ZL)(a),"--tool",J.F,"--event",d,"--stdin-json"].join(" "),timeout:g.W6};b[c]=O.has(c)?[{matcher:"*",hooks:[e]}]:[e]}return b.PreToolUse=[{matcher:"*",hooks:[{type:"command",command:function(){let a=`"$${M}"`,b=`printf '%s' ${(0,g.ZL)('{"decision":"ask"}')}`;return`if [ -z "\${${M}:-}" ]; then cat >/dev/null; ${b}; exit 0; fi; set -- -sS -f -m 4 -X POST -H 'Content-Type: application/json'; if [ -n "\${${g.XE}:-}" ]; then set -- "$@" -H "Authorization: Bearer $${g.XE}"; fi; out=$(curl "$@" --data-binary @- ${a} 2>/dev/null); case "$out" in '{'*'"decision"'*) printf '%s' "$out" ;; *) ${b} ;; esac`}(),timeout:g.sI}]}],b}(b),{...a,commandmate:d})),c}catch(a){return K.warn("antigravity-hooks-config-write-failed",{error:a instanceof Error?a.message:String(a)}),null}}(),{command:d,env:e}=function(a,b,c={}){if(!(0,g.q)())return{command:a,env:{}};if(!(0,t.n6)((0,g.g5)(b)))return K.warn("antigravity-hook-invalid-instance-id",{worktreeId:b.worktreeId}),{command:a,env:{}};let d={...b,cliToolId:J.F};return{command:(0,g.ZL)(a),env:{[x.ZM]:(0,g.xM)(d,c),[M]:(0,g.O$)(d,c)}}}(b,{worktreeId:a.worktreeId,instanceId:a.instanceId,cliToolId:J.F});return{command:d,settingsPath:c,env:e}}});var R=c(8004),S=c(87447),T=c(66007),U=c(2734);let V=(0,w.h)("lib/hooks/sources/codex/hooks-config"),W="127.0.0.1",X="commandmate:agent-hooks",Y="CODEX_HOME",Z="CM_AGENT_WORKTREE_ID",$="CM_AGENT_INSTANCE_ID",_="CM_HOOK_URL",aa="CM_PERMISSION_HOOK_URL",ab={SessionStart:"session_start",UserPromptSubmit:"user_prompt_submit",Stop:"stop",SessionEnd:"session_end"},ac="PermissionRequest",ad=Object.values(ab);function ae(a={}){let b=(0,v.join)((0,I.homedir)(),".codex");return a.codexHome?(0,R.T)(a.codexHome,b,"CodexHookOptions.codexHome"):(0,R.T)(process.env[Y],b,Y)}function af(a,b){return`http://${W}:\${CM_PORT:-3000}${a}${b}`}let ag={},ah=(0,h.UB)({cliToolId:U.c,noDecision:{kind:"proceeds"},capabilities:{supportedEvents:ad,configScope:"global-singleton",decisionTimeoutSeconds:5,permissionHookPredictsDialog:!0,sessionStartMayArriveLate:!1,permissionReplyReleasesPrompt:!1,eventIdentity:null,resync:"none",transcriptHistory:"pull"},mappers:(0,i.mJ)(j.WK),nativeEventNameFields:["hook_event_name"],conversationIdFields:j.lb,toolCallIdFields:j.ue,modelFields:["model"],extractDetail:j.Jp,parsePermissionRequest:a=>(0,e.ss)(a),parseQuestion:()=>null,encodeVerdict:function(a){return"allowOnce"===a.kind?{hookSpecificOutput:{hookEventName:ac,decision:{behavior:"allow"}}}:"deny"===a.kind?{hookSpecificOutput:{hookEventName:ac,decision:{behavior:"deny",message:a.message??""}}}:ag},prepareLaunch:({target:a,executablePath:b})=>(function(a,b,c={}){let d={command:a,settingsPath:null,env:{}};if(!(0,g.q)())return d;let e=b.instanceId??U.c;if(!(0,T.h6)(b.worktreeId)||!(0,t.n6)(e))return V.warn("codex-hooks-invalid-correlation-key",{worktreeId:b.worktreeId}),d;try{let f=function(a={}){let b=function(a={}){return(0,v.join)(ae(a),"hooks.json")}(a),c=null,d=null;if((0,y.existsSync)(b))try{d=(0,y.readFileSync)(b,"utf8"),c=JSON.parse(d)}catch(a){return V.warn("codex-hooks-config-unreadable",{settingsPath:b,error:a instanceof Error?a.message:String(a)}),null}let e=`${JSON.stringify(function(a,b){let c=(0,i.Qd)(a)?{...a}:{},d=(0,i.Qd)(c.hooks)?c.hooks:{},e={};for(let[a,b]of Object.entries(d))e[a]=Array.isArray(b)?b.map(a=>{if(!(0,i.Qd)(a)||!Array.isArray(a.hooks))return a;let b=a.hooks.filter(a=>!((0,i.Qd)(a)&&"string"==typeof a.command&&a.command.includes(X)));return b.length===a.hooks.length?a:{...a,hooks:b}}).filter(a=>!((0,i.Qd)(a)&&Array.isArray(a.hooks))||a.hooks.length>0):b;for(let[a,c]of Object.entries(b.hooks)){let b=e[a];(void 0===b||Array.isArray(b))&&(e[a]=[...b??[],...c])}return c.hooks=e,c}(c,function(a={}){let b=(b,c)=>({hooks:[{type:"command",command:function(a,b={}){let c=` # ${X}`,d=void 0===b.relayScriptPath?(0,g.Os)():b.relayScriptPath;if(d)return[(0,g.ZL)(d),"--tool",U.c,"--event",a,"--worktree-id",`"$${Z}"`,"--instance-id",`"$${$}"`,"--stdin-json"].join(" ")+c;let e=b.withAuthHeader??(0,g.yc)()?` -H "Authorization: Bearer $${g.XE}"`:"",f=`"\${${_}:-${af(g.jx,"")}}?tool=${U.c}\${${Z}:+&worktreeId=$${Z}}\${${$}:+&instanceId=$${$}}"`;return`curl -sS -f -m ${g.W6} -X POST -H 'Content-Type: application/json'${e} --data-binary @- ${f} >/dev/null 2>&1 || true${c}`}(b,a),timeout:c}]}),c={};for(let[a,d]of Object.entries(ab)){let e="SessionEnd"===a?3:g.W6;c[a]=[b(d,e)]}return c[ac]=[{hooks:[{type:"command",command:function(a={}){let b=a.withAuthHeader??(0,g.yc)()?` -H "Authorization: Bearer $${g.XE}"`:"",c=`"\${${aa}:-${af(g.WZ,`?tool=${U.c}`)}}"`;return`curl -sS -f -m ${g.sI} -X POST -H 'Content-Type: application/json'${b} --data-binary @- ${c} 2>/dev/null || true # ${X}`}(a),timeout:g.sI}]}],{hooks:c}}(a)),null,2)}
5
+ `;return d===e||((0,y.mkdirSync)((0,v.dirname)(b),{recursive:!0,mode:448}),(0,y.writeFileSync)(b,e,{mode:384})),b}(c);if(!f)return d;let h=c.port??(0,S.D0)(),j=new URLSearchParams({tool:U.c,worktreeId:b.worktreeId,instanceId:e}),k={[Y]:ae(c),CM_AGENT_TOOL:U.c,[Z]:b.worktreeId,[$]:e,[_]:`http://${W}:${h}${g.jx}`,[aa]:`http://${W}:${h}${g.WZ}?${j.toString()}`},l="bypass"===process.env.CM_CODEX_HOOK_TRUST?" --dangerously-bypass-hook-trust":"";return{command:`${(0,g.ZL)(a)}${l}`,settingsPath:f,env:k}}catch(a){return V.warn("codex-hooks-config-write-failed",{worktreeId:b.worktreeId,error:a instanceof Error?a.message:String(a)}),d}})(b,a)});var ai=c(85965);let aj=globalThis.__agentEventSources??=new Map,ak=globalThis.__agentEventLegacySources??=new Map;function al(a){aj.set(a.cliToolId,a),ak.delete(a.cliToolId)}function am(a){let b=aj.get(a);if(b)return b;let c=ak.get(a);if(c)return c;let f=(0,h.UB)({cliToolId:a,noDecision:{kind:"proceeds"},capabilities:{supportedEvents:[],configScope:"none",decisionTimeoutSeconds:null,permissionHookPredictsDialog:!1,sessionStartMayArriveLate:!1,permissionReplyReleasesPrompt:!1,eventIdentity:null,resync:"none",transcriptHistory:null},mappers:(0,i.mJ)(j.WK),nativeEventNameFields:["hook_event_name"],conversationIdFields:j.lb,toolCallIdFields:j.ue,extractDetail:j.Jp,parsePermissionRequest:a=>(0,e.ss)(a),parseQuestion:a=>(0,d.ek)(a),encodeVerdict:m,prepareLaunch:({executablePath:a})=>({command:a,settingsPath:null,env:{}})});return ak.set(a,f),f}al(n),al(s),al(H),al(Q),al(ah),al(ai.cC)}};