commandmate 0.49.3 → 0.50.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 (877) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +454 -408
  3. package/.next/app-path-routes-manifest.json +19 -13
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/prerender-manifest.json +9 -9
  6. package/.next/react-loadable-manifest.json +1 -1
  7. package/.next/required-server-files.json +1 -1
  8. package/.next/routes-manifest.json +32 -0
  9. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -1
  11. package/.next/server/app/api/agents/versions/route_client-reference-manifest.js +1 -1
  12. package/.next/server/app/api/app/release-notes/route_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  18. package/.next/server/app/api/capabilities/route.js +1 -1
  19. package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/daily-summary/route.js +1 -1
  21. package/.next/server/app/api/daily-summary/route.js.nft.json +1 -1
  22. package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/daily-summary/status/route.js +1 -1
  24. package/.next/server/app/api/daily-summary/status/route.js.nft.json +1 -1
  25. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/hooks/agent-event/route.js +1 -103
  32. package/.next/server/app/api/hooks/agent-event/route.js.nft.json +1 -1
  33. package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/hooks/claude-done/route.js +2 -2
  35. package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
  36. package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/hooks/permission-request/route.js +1 -1
  38. package/.next/server/app/api/hooks/permission-request/route.js.nft.json +1 -1
  39. package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/push/escalation/route.js +1 -1
  43. package/.next/server/app/api/push/escalation/route.js.nft.json +1 -1
  44. package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
  45. package/.next/server/app/api/push/subscriptions/route.js +1 -1
  46. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/push/vapid/route.js +1 -1
  48. package/.next/server/app/api/push/vapid/route.js.nft.json +1 -1
  49. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/relays/[relayId]/cancel/route.js +1 -1
  51. package/.next/server/app/api/relays/[relayId]/cancel/route.js.nft.json +1 -1
  52. package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -1
  53. package/.next/server/app/api/relays/[relayId]/resolve/route.js +1 -1
  54. package/.next/server/app/api/relays/[relayId]/resolve/route.js.nft.json +1 -1
  55. package/.next/server/app/api/relays/[relayId]/resolve/route_client-reference-manifest.js +1 -1
  56. package/.next/server/app/api/relays/[relayId]/route.js +1 -1
  57. package/.next/server/app/api/relays/[relayId]/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/relays/route.js +1 -1
  59. package/.next/server/app/api/relays/route.js.nft.json +1 -1
  60. package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -1
  61. package/.next/server/app/api/remote/pair/route.js +2 -2
  62. package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/repositories/[id]/role-defaults/route.js +1 -0
  64. package/.next/server/app/api/repositories/[id]/role-defaults/route.js.nft.json +1 -0
  65. package/.next/server/app/api/repositories/[id]/role-defaults/route_client-reference-manifest.js +1 -0
  66. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  67. package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
  68. package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
  69. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  70. package/.next/server/app/api/repositories/clone/route.js +1 -1
  71. package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
  72. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  73. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/repositories/restore/route.js +1 -1
  75. package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
  76. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/repositories/route.js +1 -1
  78. package/.next/server/app/api/repositories/route.js.nft.json +1 -1
  79. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/repositories/scan/route.js +1 -1
  81. package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
  82. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/repositories/sync/route.js +1 -1
  84. package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
  85. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  86. package/.next/server/app/api/repositories/validate-path/route.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/roles/[id]/route.js +1 -0
  89. package/.next/server/app/api/roles/[id]/route.js.nft.json +1 -0
  90. package/.next/server/app/api/roles/[id]/route_client-reference-manifest.js +1 -0
  91. package/.next/server/app/api/roles/route.js +1 -0
  92. package/.next/server/app/api/roles/route.js.nft.json +1 -0
  93. package/.next/server/app/api/roles/route_client-reference-manifest.js +1 -0
  94. package/.next/server/app/api/settings/agent-role-defaults/route.js +1 -0
  95. package/.next/server/app/api/settings/agent-role-defaults/route.js.nft.json +1 -0
  96. package/.next/server/app/api/settings/agent-role-defaults/route_client-reference-manifest.js +1 -0
  97. package/.next/server/app/api/settings/default-agents/route.js +1 -1
  98. package/.next/server/app/api/settings/default-agents/route.js.nft.json +1 -1
  99. package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
  100. package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  102. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
  104. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
  106. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  107. package/.next/server/app/api/slash-commands/route.js +1 -1
  108. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  109. package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  110. package/.next/server/app/api/tasks/[taskId]/route.js +1 -1
  111. package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  112. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  113. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  114. package/.next/server/app/api/verification/runs/[runId]/route.js +1 -1
  115. package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
  116. package/.next/server/app/api/verification/runs/route.js +1 -1
  117. package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
  118. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
  119. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
  120. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  121. package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -1
  122. package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
  123. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  124. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js +1 -1
  125. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js.nft.json +1 -1
  126. package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
  127. package/.next/server/app/api/worktrees/[id]/cli-reference/route.js +1 -1
  128. package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
  129. package/.next/server/app/api/worktrees/[id]/cli-tool/route.js +1 -1
  130. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  131. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +3 -3
  132. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js.nft.json +1 -1
  133. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  134. package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
  135. package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
  136. package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
  137. package/.next/server/app/api/worktrees/[id]/direct-input/route.js +1 -1
  138. package/.next/server/app/api/worktrees/[id]/direct-input/route.js.nft.json +1 -1
  139. package/.next/server/app/api/worktrees/[id]/direct-input/route_client-reference-manifest.js +1 -1
  140. package/.next/server/app/api/worktrees/[id]/env/route.js +1 -1
  141. package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
  142. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js +1 -1
  143. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/api/worktrees/[id]/execution-logs/route.js +2 -2
  145. package/.next/server/app/api/worktrees/[id]/execution-logs/route.js.nft.json +1 -1
  146. package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
  147. package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
  148. package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js +1 -1
  149. package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
  150. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js +1 -1
  151. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
  152. package/.next/server/app/api/worktrees/[id]/git/branches/route.js +1 -1
  153. package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
  154. package/.next/server/app/api/worktrees/[id]/git/checkout/route.js +1 -1
  155. package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
  156. package/.next/server/app/api/worktrees/[id]/git/commit/route.js +1 -1
  157. package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
  158. package/.next/server/app/api/worktrees/[id]/git/diff/route.js +1 -1
  159. package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
  160. package/.next/server/app/api/worktrees/[id]/git/fetch/route.js +1 -1
  161. package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
  162. package/.next/server/app/api/worktrees/[id]/git/log/route.js +1 -1
  163. package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
  164. package/.next/server/app/api/worktrees/[id]/git/pull/route.js +1 -1
  165. package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
  166. package/.next/server/app/api/worktrees/[id]/git/push/route.js +1 -1
  167. package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
  168. package/.next/server/app/api/worktrees/[id]/git/reset/route.js +1 -1
  169. package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
  170. package/.next/server/app/api/worktrees/[id]/git/revert/route.js +1 -1
  171. package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
  172. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js +1 -1
  173. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
  174. package/.next/server/app/api/worktrees/[id]/git/stage/route.js +1 -1
  175. package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
  176. package/.next/server/app/api/worktrees/[id]/git/staged/route.js +1 -1
  177. package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
  178. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js +1 -1
  179. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
  180. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js +1 -1
  181. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
  182. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js +1 -1
  183. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
  184. package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js +1 -1
  185. package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
  186. package/.next/server/app/api/worktrees/[id]/git/stash/route.js +1 -1
  187. package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
  188. package/.next/server/app/api/worktrees/[id]/git/status/route.js +1 -1
  189. package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
  190. package/.next/server/app/api/worktrees/[id]/git/unstage/route.js +1 -1
  191. package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
  192. package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js +1 -1
  193. package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
  194. package/.next/server/app/api/worktrees/[id]/instances/notes/route.js +1 -1
  195. package/.next/server/app/api/worktrees/[id]/instances/notes/route_client-reference-manifest.js +1 -1
  196. package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js +1 -1
  197. package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js.nft.json +1 -1
  198. package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
  199. package/.next/server/app/api/worktrees/[id]/instances/roles/route.js +1 -0
  200. package/.next/server/app/api/worktrees/[id]/instances/roles/route.js.nft.json +1 -0
  201. package/.next/server/app/api/worktrees/[id]/instances/roles/route_client-reference-manifest.js +1 -0
  202. package/.next/server/app/api/worktrees/[id]/instances/roles/settle/route.js +1 -0
  203. package/.next/server/app/api/worktrees/[id]/instances/roles/settle/route.js.nft.json +1 -0
  204. package/.next/server/app/api/worktrees/[id]/instances/roles/settle/route_client-reference-manifest.js +1 -0
  205. package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
  206. package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
  207. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  208. package/.next/server/app/api/worktrees/[id]/kill-session/route.js +2 -2
  209. package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
  210. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  211. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  212. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  213. package/.next/server/app/api/worktrees/[id]/marp-render/route.js +1 -1
  214. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  215. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js +1 -1
  216. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  217. package/.next/server/app/api/worktrees/[id]/memos/route.js +1 -1
  218. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  219. package/.next/server/app/api/worktrees/[id]/messages/route.js +1 -1
  220. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  221. package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
  222. package/.next/server/app/api/worktrees/[id]/opencode/session/route.js +1 -1
  223. package/.next/server/app/api/worktrees/[id]/opencode/session/route.js.nft.json +1 -1
  224. package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
  225. package/.next/server/app/api/worktrees/[id]/opencode/share/route.js +1 -1
  226. package/.next/server/app/api/worktrees/[id]/opencode/share/route.js.nft.json +1 -1
  227. package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
  228. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
  229. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
  230. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  231. package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route.js +1 -1
  232. package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route.js.nft.json +1 -1
  233. package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route_client-reference-manifest.js +1 -1
  234. package/.next/server/app/api/worktrees/[id]/resolve-target/route.js +1 -1
  235. package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
  236. package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
  237. package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
  238. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  239. package/.next/server/app/api/worktrees/[id]/route.js +1 -1
  240. package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
  241. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  242. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +2 -2
  243. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js.nft.json +1 -1
  244. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  245. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +2 -2
  246. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js.nft.json +1 -1
  247. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  248. package/.next/server/app/api/worktrees/[id]/schedules/route.js +2 -2
  249. package/.next/server/app/api/worktrees/[id]/schedules/route.js.nft.json +1 -1
  250. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  251. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  252. package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
  253. package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
  254. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  255. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js +3 -104
  256. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
  257. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
  258. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js +1 -1
  259. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js.nft.json +1 -1
  260. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  261. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js +1 -1
  262. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js.nft.json +1 -1
  263. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  264. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js +1 -1
  265. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js.nft.json +1 -1
  266. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  267. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js +1 -1
  268. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js.nft.json +1 -1
  269. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  270. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route.js +1 -1
  271. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route.js.nft.json +1 -1
  272. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
  273. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js +1 -1
  274. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js.nft.json +1 -1
  275. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
  276. package/.next/server/app/api/worktrees/[id]/skills/route.js +1 -1
  277. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  278. package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
  279. package/.next/server/app/api/worktrees/[id]/slash-commands/route.js.nft.json +1 -1
  280. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  281. package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
  282. package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
  283. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  284. package/.next/server/app/api/worktrees/[id]/tasks/route.js +2 -2
  285. package/.next/server/app/api/worktrees/[id]/tasks/route.js.nft.json +1 -1
  286. package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
  287. package/.next/server/app/api/worktrees/[id]/terminal/route.js +1 -103
  288. package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
  289. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  290. package/.next/server/app/api/worktrees/[id]/timers/history/route.js +1 -1
  291. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  292. package/.next/server/app/api/worktrees/[id]/timers/route.js +1 -1
  293. package/.next/server/app/api/worktrees/[id]/timers/route.js.nft.json +1 -1
  294. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  295. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  296. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  297. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  298. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  299. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  300. package/.next/server/app/api/worktrees/[id]/verify/config/route.js +1 -1
  301. package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
  302. package/.next/server/app/api/worktrees/[id]/verify/route.js +1 -1
  303. package/.next/server/app/api/worktrees/[id]/verify/route.js.nft.json +1 -1
  304. package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
  305. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js +1 -1
  306. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js.nft.json +1 -1
  307. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
  308. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js +1 -1
  309. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
  310. package/.next/server/app/api/worktrees/[id]/verify/runs/route.js +1 -1
  311. package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
  312. package/.next/server/app/api/worktrees/[id]/viewed/route.js +1 -1
  313. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  314. package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
  315. package/.next/server/app/api/worktrees/route.js +1 -1
  316. package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
  317. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  318. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  319. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  320. package/.next/server/app/more/page.js +1 -1
  321. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  322. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  323. package/.next/server/app/page_client-reference-manifest.js +1 -1
  324. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  325. package/.next/server/app/repositories/page.js +2 -2
  326. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  327. package/.next/server/app/review/page.js +1 -1
  328. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  329. package/.next/server/app/sessions/page.js +1 -1
  330. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  331. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  332. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
  333. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  334. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  335. package/.next/server/app/worktrees/[id]/page.js +11 -11
  336. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  337. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  338. package/.next/server/app-paths-manifest.json +19 -13
  339. package/.next/server/chunks/1184.js +5 -0
  340. package/.next/server/chunks/1501.js +5 -5
  341. package/.next/server/chunks/1656.js +2 -2
  342. package/.next/server/chunks/1957.js +2 -2
  343. package/.next/server/chunks/1990.js +103 -0
  344. package/.next/server/chunks/2119.js +1 -1
  345. package/.next/server/chunks/2404.js +1 -1
  346. package/.next/server/chunks/2445.js +1 -1
  347. package/.next/server/chunks/2819.js +1 -0
  348. package/.next/server/chunks/2897.js +1 -1
  349. package/.next/server/chunks/3042.js +2 -0
  350. package/.next/server/chunks/3241.js +1 -1
  351. package/.next/server/chunks/3294.js +3 -0
  352. package/.next/server/chunks/3417.js +1 -1
  353. package/.next/server/chunks/3480.js +1 -1
  354. package/.next/server/chunks/3505.js +2 -6
  355. package/.next/server/chunks/3543.js +1 -1
  356. package/.next/server/chunks/3801.js +2 -2
  357. package/.next/server/chunks/3945.js +1 -1
  358. package/.next/server/chunks/4207.js +1 -1
  359. package/.next/server/chunks/454.js +1 -0
  360. package/.next/server/chunks/4645.js +1 -0
  361. package/.next/server/chunks/4911.js +1 -1
  362. package/.next/server/chunks/5350.js +6 -2
  363. package/.next/server/chunks/5354.js +1 -1
  364. package/.next/server/chunks/5571.js +1 -1
  365. package/.next/server/chunks/6009.js +12 -0
  366. package/.next/server/chunks/6130.js +1 -1
  367. package/.next/server/chunks/6285.js +1 -1
  368. package/.next/server/chunks/6401.js +1 -1
  369. package/.next/server/chunks/6486.js +2 -2
  370. package/.next/server/chunks/6569.js +1 -0
  371. package/.next/server/chunks/6781.js +1 -1
  372. package/.next/server/chunks/6793.js +4 -4
  373. package/.next/server/chunks/696.js +3 -0
  374. package/.next/server/chunks/7023.js +3 -3
  375. package/.next/server/chunks/{9702.js → 7083.js} +1 -1
  376. package/.next/server/chunks/741.js +1 -0
  377. package/.next/server/chunks/7662.js +1 -0
  378. package/.next/server/chunks/7905.js +1 -1
  379. package/.next/server/chunks/8143.js +33 -0
  380. package/.next/server/chunks/8581.js +6 -6
  381. package/.next/server/chunks/8728.js +2 -2
  382. package/.next/server/chunks/8782.js +1 -1
  383. package/.next/server/chunks/8807.js +97 -10
  384. package/.next/server/chunks/8918.js +3 -105
  385. package/.next/server/chunks/8955.js +1 -0
  386. package/.next/server/chunks/923.js +1 -0
  387. package/.next/server/chunks/9390.js +2 -2
  388. package/.next/server/chunks/9627.js +5 -5
  389. package/.next/server/chunks/973.js +1 -0
  390. package/.next/server/chunks/9731.js +3 -3
  391. package/.next/server/middleware-build-manifest.js +1 -1
  392. package/.next/server/middleware-manifest.json +5 -5
  393. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  394. package/.next/server/pages/500.html +1 -1
  395. package/.next/server/server-reference-manifest.json +1 -1
  396. package/.next/static/chunks/2314-2c9d587a27e8f731.js +1 -0
  397. package/.next/static/chunks/2407-ee881c99e218975b.js +1 -0
  398. package/.next/static/chunks/3931-24d7e245a93feb25.js +1 -0
  399. package/.next/static/chunks/4548-9afa02fd18afa6c7.js +1 -0
  400. package/.next/static/chunks/{5794-7975b8e51e731b19.js → 5794-38b3b504b3d97e04.js} +1 -1
  401. package/.next/static/chunks/{6966-d8dc6032410ffaba.js → 6966-dbfa4a43397f8c6d.js} +1 -1
  402. package/.next/static/chunks/7090-28e83f5a0efdb3b4.js +1 -0
  403. package/.next/static/chunks/7229.016d007c467a3600.js +1 -0
  404. package/.next/static/chunks/{8407-35bbfc84793d7004.js → 8407-dd6a8062fc449899.js} +1 -1
  405. package/.next/static/chunks/app/api/agents/update/route-476063c3571b81dd.js +1 -0
  406. package/.next/static/chunks/app/api/agents/versions/route-476063c3571b81dd.js +1 -0
  407. package/.next/static/chunks/app/api/app/release-notes/route-476063c3571b81dd.js +1 -0
  408. package/.next/static/chunks/app/api/app/update/route-476063c3571b81dd.js +1 -0
  409. package/.next/static/chunks/app/api/app/update-check/route-476063c3571b81dd.js +1 -0
  410. package/.next/static/chunks/app/api/auth/login/route-476063c3571b81dd.js +1 -0
  411. package/.next/static/chunks/app/api/auth/logout/route-476063c3571b81dd.js +1 -0
  412. package/.next/static/chunks/app/api/auth/status/route-476063c3571b81dd.js +1 -0
  413. package/.next/static/chunks/app/api/capabilities/route-476063c3571b81dd.js +1 -0
  414. package/.next/static/chunks/app/api/daily-summary/route-476063c3571b81dd.js +1 -0
  415. package/.next/static/chunks/app/api/daily-summary/status/route-476063c3571b81dd.js +1 -0
  416. package/.next/static/chunks/app/api/external-apps/[id]/health/route-476063c3571b81dd.js +1 -0
  417. package/.next/static/chunks/app/api/external-apps/[id]/route-476063c3571b81dd.js +1 -0
  418. package/.next/static/chunks/app/api/external-apps/route-476063c3571b81dd.js +1 -0
  419. package/.next/static/chunks/app/api/fs/browse/route-476063c3571b81dd.js +1 -0
  420. package/.next/static/chunks/app/api/fs/recent-paths/route-476063c3571b81dd.js +1 -0
  421. package/.next/static/chunks/app/api/hooks/agent-event/route-476063c3571b81dd.js +1 -0
  422. package/.next/static/chunks/app/api/hooks/claude-done/route-476063c3571b81dd.js +1 -0
  423. package/.next/static/chunks/app/api/hooks/permission-request/route-476063c3571b81dd.js +1 -0
  424. package/.next/static/chunks/app/api/metrics/vibe/route-476063c3571b81dd.js +1 -0
  425. package/.next/static/chunks/app/api/ollama/models/route-476063c3571b81dd.js +1 -0
  426. package/.next/static/chunks/app/api/push/escalation/route-476063c3571b81dd.js +1 -0
  427. package/.next/static/chunks/app/api/push/subscriptions/route-476063c3571b81dd.js +1 -0
  428. package/.next/static/chunks/app/api/push/vapid/route-476063c3571b81dd.js +1 -0
  429. package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-476063c3571b81dd.js +1 -0
  430. package/.next/static/chunks/app/api/relays/[relayId]/resolve/route-476063c3571b81dd.js +1 -0
  431. package/.next/static/chunks/app/api/relays/[relayId]/route-476063c3571b81dd.js +1 -0
  432. package/.next/static/chunks/app/api/relays/route-476063c3571b81dd.js +1 -0
  433. package/.next/static/chunks/app/api/remote/pair/route-476063c3571b81dd.js +1 -0
  434. package/.next/static/chunks/app/api/repositories/[id]/role-defaults/route-476063c3571b81dd.js +1 -0
  435. package/.next/static/chunks/app/api/repositories/[id]/route-476063c3571b81dd.js +1 -0
  436. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-476063c3571b81dd.js +1 -0
  437. package/.next/static/chunks/app/api/repositories/clone/route-476063c3571b81dd.js +1 -0
  438. package/.next/static/chunks/app/api/repositories/excluded/route-476063c3571b81dd.js +1 -0
  439. package/.next/static/chunks/app/api/repositories/restore/route-476063c3571b81dd.js +1 -0
  440. package/.next/static/chunks/app/api/repositories/route-476063c3571b81dd.js +1 -0
  441. package/.next/static/chunks/app/api/repositories/scan/route-476063c3571b81dd.js +1 -0
  442. package/.next/static/chunks/app/api/repositories/sync/route-476063c3571b81dd.js +1 -0
  443. package/.next/static/chunks/app/api/repositories/validate-path/route-476063c3571b81dd.js +1 -0
  444. package/.next/static/chunks/app/api/roles/[id]/route-476063c3571b81dd.js +1 -0
  445. package/.next/static/chunks/app/api/roles/route-476063c3571b81dd.js +1 -0
  446. package/.next/static/chunks/app/api/settings/agent-role-defaults/route-476063c3571b81dd.js +1 -0
  447. package/.next/static/chunks/app/api/settings/default-agents/route-476063c3571b81dd.js +1 -0
  448. package/.next/static/chunks/app/api/settings/default-surface-mode/route-476063c3571b81dd.js +1 -0
  449. package/.next/static/chunks/app/api/sidebar/group-order/route-476063c3571b81dd.js +1 -0
  450. package/.next/static/chunks/app/api/skills/[id]/route-476063c3571b81dd.js +1 -0
  451. package/.next/static/chunks/app/api/skills/installations/route-476063c3571b81dd.js +1 -0
  452. package/.next/static/chunks/app/api/skills/operations/route-476063c3571b81dd.js +1 -0
  453. package/.next/static/chunks/app/api/skills/reindex/route-476063c3571b81dd.js +1 -0
  454. package/.next/static/chunks/app/api/skills/route-476063c3571b81dd.js +1 -0
  455. package/.next/static/chunks/app/api/slash-commands/route-476063c3571b81dd.js +1 -0
  456. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-476063c3571b81dd.js +1 -0
  457. package/.next/static/chunks/app/api/tasks/[taskId]/route-476063c3571b81dd.js +1 -0
  458. package/.next/static/chunks/app/api/templates/[id]/route-476063c3571b81dd.js +1 -0
  459. package/.next/static/chunks/app/api/templates/route-476063c3571b81dd.js +1 -0
  460. package/.next/static/chunks/app/api/verification/runs/[runId]/route-476063c3571b81dd.js +1 -0
  461. package/.next/static/chunks/app/api/verification/runs/route-476063c3571b81dd.js +1 -0
  462. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-476063c3571b81dd.js +1 -0
  463. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-476063c3571b81dd.js +1 -0
  464. package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-476063c3571b81dd.js +1 -0
  465. package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-476063c3571b81dd.js +1 -0
  466. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-476063c3571b81dd.js +1 -0
  467. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-476063c3571b81dd.js +1 -0
  468. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-476063c3571b81dd.js +1 -0
  469. package/.next/static/chunks/app/api/worktrees/[id]/direct-input/route-476063c3571b81dd.js +1 -0
  470. package/.next/static/chunks/app/api/worktrees/[id]/env/route-476063c3571b81dd.js +1 -0
  471. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-476063c3571b81dd.js +1 -0
  472. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-476063c3571b81dd.js +1 -0
  473. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-476063c3571b81dd.js +1 -0
  474. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-476063c3571b81dd.js +1 -0
  475. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-476063c3571b81dd.js +1 -0
  476. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-476063c3571b81dd.js +1 -0
  477. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-476063c3571b81dd.js +1 -0
  478. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-476063c3571b81dd.js +1 -0
  479. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-476063c3571b81dd.js +1 -0
  480. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-476063c3571b81dd.js +1 -0
  481. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-476063c3571b81dd.js +1 -0
  482. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-476063c3571b81dd.js +1 -0
  483. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-476063c3571b81dd.js +1 -0
  484. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-476063c3571b81dd.js +1 -0
  485. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-476063c3571b81dd.js +1 -0
  486. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-476063c3571b81dd.js +1 -0
  487. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-476063c3571b81dd.js +1 -0
  488. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-476063c3571b81dd.js +1 -0
  489. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-476063c3571b81dd.js +1 -0
  490. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-476063c3571b81dd.js +1 -0
  491. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-476063c3571b81dd.js +1 -0
  492. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-476063c3571b81dd.js +1 -0
  493. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-476063c3571b81dd.js +1 -0
  494. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-476063c3571b81dd.js +1 -0
  495. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-476063c3571b81dd.js +1 -0
  496. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-476063c3571b81dd.js +1 -0
  497. package/.next/static/chunks/app/api/worktrees/[id]/instances/notes/route-476063c3571b81dd.js +1 -0
  498. package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-476063c3571b81dd.js +1 -0
  499. package/.next/static/chunks/app/api/worktrees/[id]/instances/roles/route-476063c3571b81dd.js +1 -0
  500. package/.next/static/chunks/app/api/worktrees/[id]/instances/roles/settle/route-476063c3571b81dd.js +1 -0
  501. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-476063c3571b81dd.js +1 -0
  502. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-476063c3571b81dd.js +1 -0
  503. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-476063c3571b81dd.js +1 -0
  504. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-476063c3571b81dd.js +1 -0
  505. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-476063c3571b81dd.js +1 -0
  506. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-476063c3571b81dd.js +1 -0
  507. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-476063c3571b81dd.js +1 -0
  508. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-476063c3571b81dd.js +1 -0
  509. package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-476063c3571b81dd.js +1 -0
  510. package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-476063c3571b81dd.js +1 -0
  511. package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-476063c3571b81dd.js +1 -0
  512. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-476063c3571b81dd.js +1 -0
  513. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/strict/route-476063c3571b81dd.js +1 -0
  514. package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-476063c3571b81dd.js +1 -0
  515. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-476063c3571b81dd.js +1 -0
  516. package/.next/static/chunks/app/api/worktrees/[id]/route-476063c3571b81dd.js +1 -0
  517. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-476063c3571b81dd.js +1 -0
  518. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-476063c3571b81dd.js +1 -0
  519. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-476063c3571b81dd.js +1 -0
  520. package/.next/static/chunks/app/api/worktrees/[id]/search/route-476063c3571b81dd.js +1 -0
  521. package/.next/static/chunks/app/api/worktrees/[id]/send/route-476063c3571b81dd.js +1 -0
  522. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-476063c3571b81dd.js +1 -0
  523. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-476063c3571b81dd.js +1 -0
  524. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-476063c3571b81dd.js +1 -0
  525. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-476063c3571b81dd.js +1 -0
  526. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-476063c3571b81dd.js +1 -0
  527. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-476063c3571b81dd.js +1 -0
  528. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-476063c3571b81dd.js +1 -0
  529. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-476063c3571b81dd.js +1 -0
  530. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-476063c3571b81dd.js +1 -0
  531. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-476063c3571b81dd.js +1 -0
  532. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-476063c3571b81dd.js +1 -0
  533. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-476063c3571b81dd.js +1 -0
  534. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-476063c3571b81dd.js +1 -0
  535. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-476063c3571b81dd.js +1 -0
  536. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-476063c3571b81dd.js +1 -0
  537. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-476063c3571b81dd.js +1 -0
  538. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-476063c3571b81dd.js +1 -0
  539. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-476063c3571b81dd.js +1 -0
  540. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-476063c3571b81dd.js +1 -0
  541. package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-476063c3571b81dd.js +1 -0
  542. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-476063c3571b81dd.js +1 -0
  543. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-476063c3571b81dd.js +1 -0
  544. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-476063c3571b81dd.js +1 -0
  545. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-476063c3571b81dd.js +1 -0
  546. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-476063c3571b81dd.js +1 -0
  547. package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-476063c3571b81dd.js +1 -0
  548. package/.next/static/chunks/app/api/worktrees/route-476063c3571b81dd.js +1 -0
  549. package/.next/static/chunks/app/layout-7bf800fcc5e025b1.js +1 -0
  550. package/.next/static/chunks/app/manifest.webmanifest/route-476063c3571b81dd.js +1 -0
  551. package/.next/static/chunks/app/more/{page-ff5af5ca48774c89.js → page-e8f5780f6e4fb657.js} +1 -1
  552. package/.next/static/chunks/app/{page-b4863bfe0452e09d.js → page-869f353a4ac4e15b.js} +1 -1
  553. package/.next/static/chunks/app/proxy/[...path]/route-476063c3571b81dd.js +1 -0
  554. package/.next/static/chunks/app/repositories/page-bedb505687010f18.js +1 -0
  555. package/.next/static/chunks/app/review/page-87c4a9b0de50fa80.js +1 -0
  556. package/.next/static/chunks/app/sessions/{page-c6eb7c02db2f4c80.js → page-82ca46793789fce4.js} +1 -1
  557. package/.next/static/chunks/app/worktrees/[id]/layout-476063c3571b81dd.js +1 -0
  558. package/.next/static/chunks/app/worktrees/[id]/page-570eb79fbbd1a934.js +1 -0
  559. package/.next/static/chunks/{webpack-838df0273b03af19.js → webpack-16b1a3143fa42ca0.js} +1 -1
  560. package/.next/static/css/d4f2c9522cf1b449.css +1 -0
  561. package/.next/static/z4d8-5MaLkoD-4EhueZwk/_buildManifest.js +1 -0
  562. package/.next/trace +14 -13
  563. package/.next/types/app/api/repositories/[id]/role-defaults/route.ts +347 -0
  564. package/.next/types/app/api/roles/[id]/route.ts +347 -0
  565. package/.next/types/app/api/roles/route.ts +347 -0
  566. package/.next/types/app/api/settings/agent-role-defaults/route.ts +347 -0
  567. package/.next/types/app/api/worktrees/[id]/instances/roles/route.ts +347 -0
  568. package/.next/types/app/api/worktrees/[id]/instances/roles/settle/route.ts +347 -0
  569. package/.next/types/routes.d.ts +7 -1
  570. package/.next/types/validator.ts +54 -0
  571. package/dist/cli/commands/instances.d.ts +1 -0
  572. package/dist/cli/commands/instances.d.ts.map +1 -1
  573. package/dist/cli/commands/instances.js +290 -33
  574. package/dist/cli/commands/message-dispatch.d.ts +25 -3
  575. package/dist/cli/commands/message-dispatch.d.ts.map +1 -1
  576. package/dist/cli/commands/message-dispatch.js +26 -6
  577. package/dist/cli/commands/relays.d.ts +5 -0
  578. package/dist/cli/commands/relays.d.ts.map +1 -1
  579. package/dist/cli/commands/relays.js +37 -1
  580. package/dist/cli/commands/roles.d.ts +11 -0
  581. package/dist/cli/commands/roles.d.ts.map +1 -0
  582. package/dist/cli/commands/roles.js +392 -0
  583. package/dist/cli/commands/send.d.ts.map +1 -1
  584. package/dist/cli/commands/send.js +526 -38
  585. package/dist/cli/docs/agent-operations.d.ts +1 -1
  586. package/dist/cli/docs/agent-operations.d.ts.map +1 -1
  587. package/dist/cli/docs/agent-operations.js +91 -3
  588. package/dist/cli/index.d.ts +4 -0
  589. package/dist/cli/index.d.ts.map +1 -1
  590. package/dist/cli/index.js +6 -0
  591. package/dist/cli/types/api-responses.d.ts +54 -0
  592. package/dist/cli/types/api-responses.d.ts.map +1 -1
  593. package/dist/cli/types/index.d.ts +38 -0
  594. package/dist/cli/types/index.d.ts.map +1 -1
  595. package/dist/cli/types/index.js +15 -1
  596. package/dist/cli/utils/agent-instances.d.ts +29 -1
  597. package/dist/cli/utils/agent-instances.d.ts.map +1 -1
  598. package/dist/cli/utils/agent-instances.js +67 -7
  599. package/dist/cli/utils/agent-roles.d.ts +75 -0
  600. package/dist/cli/utils/agent-roles.d.ts.map +1 -0
  601. package/dist/cli/utils/agent-roles.js +238 -0
  602. package/dist/cli/utils/api-client-errors.d.ts +23 -1
  603. package/dist/cli/utils/api-client-errors.d.ts.map +1 -1
  604. package/dist/cli/utils/api-client-errors.js +14 -2
  605. package/dist/cli/utils/api-client.d.ts +8 -0
  606. package/dist/cli/utils/api-client.d.ts.map +1 -1
  607. package/dist/cli/utils/api-client.js +13 -1
  608. package/dist/cli/utils/role-failure.d.ts +31 -0
  609. package/dist/cli/utils/role-failure.d.ts.map +1 -0
  610. package/dist/cli/utils/role-failure.js +90 -0
  611. package/dist/cli/utils/role-input.d.ts +16 -0
  612. package/dist/cli/utils/role-input.d.ts.map +1 -0
  613. package/dist/cli/utils/role-input.js +78 -0
  614. package/dist/cli/utils/security-logger.d.ts +17 -0
  615. package/dist/cli/utils/security-logger.d.ts.map +1 -1
  616. package/dist/cli/utils/security-logger.js +44 -5
  617. package/dist/lib/detection/tools/verified-against.d.ts +16 -0
  618. package/dist/lib/detection/tools/verified-against.d.ts.map +1 -1
  619. package/dist/lib/detection/tools/verified-against.js +16 -0
  620. package/dist/lib/session/send-attempt-types.d.ts +4 -0
  621. package/dist/lib/session/send-attempt-types.d.ts.map +1 -1
  622. package/dist/lib/verification/verify-config.d.ts +22 -0
  623. package/dist/lib/verification/verify-config.d.ts.map +1 -1
  624. package/dist/lib/verification/verify-config.js +32 -2
  625. package/dist/server/locales/en/worktree.json +25 -6
  626. package/dist/server/locales/ja/worktree.json +25 -6
  627. package/dist/server/src/config/safe-directory.js +30 -0
  628. package/dist/server/src/lib/agent-roles/adapters.js +174 -0
  629. package/dist/server/src/lib/agent-roles/artifacts.js +638 -0
  630. package/dist/server/src/lib/agent-roles/composition.js +222 -0
  631. package/dist/server/src/lib/agent-roles/fingerprint.js +21 -0
  632. package/dist/server/src/lib/agent-roles/jsonc.js +85 -0
  633. package/dist/server/src/lib/agent-roles/launch-errors.js +58 -0
  634. package/dist/server/src/lib/agent-roles/pane-env.js +63 -0
  635. package/dist/server/src/lib/agent-roles/resolve.js +375 -0
  636. package/dist/server/src/lib/agent-roles/toml-basic.js +140 -0
  637. package/dist/server/src/lib/agent-roles/unicode.js +16 -0
  638. package/dist/server/src/lib/agent-roles/validation.js +61 -0
  639. package/dist/server/src/lib/cli-tools/antigravity.js +39 -6
  640. package/dist/server/src/lib/cli-tools/base.js +63 -5
  641. package/dist/server/src/lib/cli-tools/claude-auto-default-nudge.js +141 -0
  642. package/dist/server/src/lib/cli-tools/claude.js +7 -1
  643. package/dist/server/src/lib/cli-tools/codex.js +134 -21
  644. package/dist/server/src/lib/cli-tools/command-code.js +24 -1
  645. package/dist/server/src/lib/cli-tools/copilot.js +36 -7
  646. package/dist/server/src/lib/cli-tools/gemini.js +37 -3
  647. package/dist/server/src/lib/cli-tools/launch-answer-skips.js +76 -0
  648. package/dist/server/src/lib/cli-tools/opencode-v2.js +10 -0
  649. package/dist/server/src/lib/cli-tools/opencode.js +58 -7
  650. package/dist/server/src/lib/cli-tools/submit-composer-read.js +24 -4
  651. package/dist/server/src/lib/cli-tools/vibe-local.js +25 -1
  652. package/dist/server/src/lib/db/agent-instances-db.js +53 -0
  653. package/dist/server/src/lib/db/agent-roles-db.js +409 -0
  654. package/dist/server/src/lib/db/agent-session-cost-sampler.js +3 -2
  655. package/dist/server/src/lib/db/db-instance.js +7 -37
  656. package/dist/server/src/lib/db/migrations/index.js +4 -0
  657. package/dist/server/src/lib/db/migrations/runner.js +1 -1
  658. package/dist/server/src/lib/db/migrations/v64-agent-roles.js +123 -0
  659. package/dist/server/src/lib/db/migrations/v65-agent-instance-creation-keys.js +42 -0
  660. package/dist/server/src/lib/db/relay-db.js +35 -0
  661. package/dist/server/src/lib/detection/cli-patterns.js +13 -3
  662. package/dist/server/src/lib/detection/model-info-extractor.js +1 -1
  663. package/dist/server/src/lib/detection/tools/claude/patterns.js +76 -0
  664. package/dist/server/src/lib/detection/tools/codex/cli-patterns.js +5 -0
  665. package/dist/server/src/lib/detection/tools/codex/detect.js +5 -1
  666. package/dist/server/src/lib/detection/tools/codex/patterns.js +52 -2
  667. package/dist/server/src/lib/detection/tools/codex/prompt.js +23 -3
  668. package/dist/server/src/lib/detection/tools/opencode/detect.js +30 -15
  669. package/dist/server/src/lib/detection/tools/opencode/patterns.js +268 -7
  670. package/dist/server/src/lib/detection/tools/opencode/readiness.js +16 -7
  671. package/dist/server/src/lib/detection/tools/opencode-v2/detect.js +51 -15
  672. package/dist/server/src/lib/detection/tools/opencode-v2/patterns.js +195 -11
  673. package/dist/server/src/lib/detection/tools/run-detection.js +5 -2
  674. package/dist/server/src/lib/detection/tools/verified-against.js +16 -0
  675. package/dist/server/src/lib/detection/tools/vibe-local/readiness.js +22 -0
  676. package/dist/server/src/lib/git/git-common-dir.js +192 -0
  677. package/dist/server/src/lib/hooks/hook-settings-generator.js +8 -2
  678. package/dist/server/src/lib/hooks/sources/copilot/hook-settings.js +31 -1
  679. package/dist/server/src/lib/hooks/sources/launch-command.js +31 -8
  680. package/dist/server/src/lib/hooks/sources/opencode/client.js +20 -0
  681. package/dist/server/src/lib/hooks/sources/opencode-v2/client.js +24 -0
  682. package/dist/server/src/lib/hooks/sources/opencode-v2/history.js +208 -35
  683. package/dist/server/src/lib/hooks/sources/opencode-v2/secrets.js +7 -1
  684. package/dist/server/src/lib/hooks/sources/opencode-v2/subscription.js +117 -2
  685. package/dist/server/src/lib/job-executor.js +18 -1
  686. package/dist/server/src/lib/polling/response-checker-extraction-steps.js +58 -4
  687. package/dist/server/src/lib/polling/response-checker.js +32 -7
  688. package/dist/server/src/lib/relay/relay-delivery-block.js +150 -0
  689. package/dist/server/src/lib/relay/relay-delivery.js +59 -2
  690. package/dist/server/src/lib/response-cleaner.js +13 -3
  691. package/dist/server/src/lib/response-extractor.js +38 -3
  692. package/dist/server/src/lib/session/agent-session-lifecycle.js +9 -1
  693. package/dist/server/src/lib/session/claude-executor.js +13 -1
  694. package/dist/server/src/lib/session/claude-session.js +109 -13
  695. package/dist/server/src/lib/session/instance-input-lock.js +93 -4
  696. package/dist/server/src/lib/session/role-launch.js +722 -0
  697. package/dist/server/src/lib/session/send-attempt-state.js +7 -0
  698. package/dist/server/src/lib/session/send-user-message.js +6 -0
  699. package/dist/server/src/lib/session/session-generation-archive.js +7 -8
  700. package/dist/server/src/lib/session/session-launch-flight.js +33 -1
  701. package/dist/server/src/lib/session/worktree-session-reconcile.js +5 -0
  702. package/dist/server/src/lib/test-run-detection.js +53 -0
  703. package/dist/server/src/lib/tmux/read-mode.js +4 -0
  704. package/dist/server/src/lib/tmux/session-hook-scripts.js +36 -4
  705. package/dist/server/src/lib/tui-accumulator.js +14 -5
  706. package/dist/server/src/lib/verification/env-clean-gate.js +117 -12
  707. package/dist/server/src/lib/verification/gate-runner.js +9 -8
  708. package/dist/server/src/lib/verification/verify-config.js +32 -2
  709. package/dist/server/src/types/agent-roles.js +56 -0
  710. package/dist/types/agent-roles.d.ts +351 -0
  711. package/dist/types/agent-roles.d.ts.map +1 -0
  712. package/dist/types/agent-roles.js +56 -0
  713. package/docs/en/user-guide/webapp-guide.md +16 -0
  714. package/package.json +2 -1
  715. package/release-notes/0.50.0.json +113 -0
  716. package/.next/server/chunks/1308.js +0 -1
  717. package/.next/server/chunks/4490.js +0 -1
  718. package/.next/server/chunks/4936.js +0 -1
  719. package/.next/server/chunks/610.js +0 -1
  720. package/.next/server/chunks/6119.js +0 -1
  721. package/.next/server/chunks/7491.js +0 -3
  722. package/.next/server/chunks/7926.js +0 -1
  723. package/.next/server/chunks/9360.js +0 -2
  724. package/.next/server/chunks/9584.js +0 -1
  725. package/.next/static/LNfVZiq6FZwKsV7L9Mi6M/_buildManifest.js +0 -1
  726. package/.next/static/chunks/2407-87ec01332344ec2b.js +0 -1
  727. package/.next/static/chunks/344-e1cefd00787060e4.js +0 -1
  728. package/.next/static/chunks/3931-3ef48b8d97357282.js +0 -1
  729. package/.next/static/chunks/7229.7f0f5a7032b612b4.js +0 -1
  730. package/.next/static/chunks/8165-263172c17ae8e8c3.js +0 -1
  731. package/.next/static/chunks/app/api/agents/update/route-96fc12d400b49b13.js +0 -1
  732. package/.next/static/chunks/app/api/agents/versions/route-96fc12d400b49b13.js +0 -1
  733. package/.next/static/chunks/app/api/app/release-notes/route-96fc12d400b49b13.js +0 -1
  734. package/.next/static/chunks/app/api/app/update/route-96fc12d400b49b13.js +0 -1
  735. package/.next/static/chunks/app/api/app/update-check/route-96fc12d400b49b13.js +0 -1
  736. package/.next/static/chunks/app/api/auth/login/route-96fc12d400b49b13.js +0 -1
  737. package/.next/static/chunks/app/api/auth/logout/route-96fc12d400b49b13.js +0 -1
  738. package/.next/static/chunks/app/api/auth/status/route-96fc12d400b49b13.js +0 -1
  739. package/.next/static/chunks/app/api/capabilities/route-96fc12d400b49b13.js +0 -1
  740. package/.next/static/chunks/app/api/daily-summary/route-96fc12d400b49b13.js +0 -1
  741. package/.next/static/chunks/app/api/daily-summary/status/route-96fc12d400b49b13.js +0 -1
  742. package/.next/static/chunks/app/api/external-apps/[id]/health/route-96fc12d400b49b13.js +0 -1
  743. package/.next/static/chunks/app/api/external-apps/[id]/route-96fc12d400b49b13.js +0 -1
  744. package/.next/static/chunks/app/api/external-apps/route-96fc12d400b49b13.js +0 -1
  745. package/.next/static/chunks/app/api/fs/browse/route-96fc12d400b49b13.js +0 -1
  746. package/.next/static/chunks/app/api/fs/recent-paths/route-96fc12d400b49b13.js +0 -1
  747. package/.next/static/chunks/app/api/hooks/agent-event/route-96fc12d400b49b13.js +0 -1
  748. package/.next/static/chunks/app/api/hooks/claude-done/route-96fc12d400b49b13.js +0 -1
  749. package/.next/static/chunks/app/api/hooks/permission-request/route-96fc12d400b49b13.js +0 -1
  750. package/.next/static/chunks/app/api/metrics/vibe/route-96fc12d400b49b13.js +0 -1
  751. package/.next/static/chunks/app/api/ollama/models/route-96fc12d400b49b13.js +0 -1
  752. package/.next/static/chunks/app/api/push/escalation/route-96fc12d400b49b13.js +0 -1
  753. package/.next/static/chunks/app/api/push/subscriptions/route-96fc12d400b49b13.js +0 -1
  754. package/.next/static/chunks/app/api/push/vapid/route-96fc12d400b49b13.js +0 -1
  755. package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-96fc12d400b49b13.js +0 -1
  756. package/.next/static/chunks/app/api/relays/[relayId]/resolve/route-96fc12d400b49b13.js +0 -1
  757. package/.next/static/chunks/app/api/relays/[relayId]/route-96fc12d400b49b13.js +0 -1
  758. package/.next/static/chunks/app/api/relays/route-96fc12d400b49b13.js +0 -1
  759. package/.next/static/chunks/app/api/remote/pair/route-96fc12d400b49b13.js +0 -1
  760. package/.next/static/chunks/app/api/repositories/[id]/route-96fc12d400b49b13.js +0 -1
  761. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-96fc12d400b49b13.js +0 -1
  762. package/.next/static/chunks/app/api/repositories/clone/route-96fc12d400b49b13.js +0 -1
  763. package/.next/static/chunks/app/api/repositories/excluded/route-96fc12d400b49b13.js +0 -1
  764. package/.next/static/chunks/app/api/repositories/restore/route-96fc12d400b49b13.js +0 -1
  765. package/.next/static/chunks/app/api/repositories/route-96fc12d400b49b13.js +0 -1
  766. package/.next/static/chunks/app/api/repositories/scan/route-96fc12d400b49b13.js +0 -1
  767. package/.next/static/chunks/app/api/repositories/sync/route-96fc12d400b49b13.js +0 -1
  768. package/.next/static/chunks/app/api/repositories/validate-path/route-96fc12d400b49b13.js +0 -1
  769. package/.next/static/chunks/app/api/settings/default-agents/route-96fc12d400b49b13.js +0 -1
  770. package/.next/static/chunks/app/api/settings/default-surface-mode/route-96fc12d400b49b13.js +0 -1
  771. package/.next/static/chunks/app/api/sidebar/group-order/route-96fc12d400b49b13.js +0 -1
  772. package/.next/static/chunks/app/api/skills/[id]/route-96fc12d400b49b13.js +0 -1
  773. package/.next/static/chunks/app/api/skills/installations/route-96fc12d400b49b13.js +0 -1
  774. package/.next/static/chunks/app/api/skills/operations/route-96fc12d400b49b13.js +0 -1
  775. package/.next/static/chunks/app/api/skills/reindex/route-96fc12d400b49b13.js +0 -1
  776. package/.next/static/chunks/app/api/skills/route-96fc12d400b49b13.js +0 -1
  777. package/.next/static/chunks/app/api/slash-commands/route-96fc12d400b49b13.js +0 -1
  778. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-96fc12d400b49b13.js +0 -1
  779. package/.next/static/chunks/app/api/tasks/[taskId]/route-96fc12d400b49b13.js +0 -1
  780. package/.next/static/chunks/app/api/templates/[id]/route-96fc12d400b49b13.js +0 -1
  781. package/.next/static/chunks/app/api/templates/route-96fc12d400b49b13.js +0 -1
  782. package/.next/static/chunks/app/api/verification/runs/[runId]/route-96fc12d400b49b13.js +0 -1
  783. package/.next/static/chunks/app/api/verification/runs/route-96fc12d400b49b13.js +0 -1
  784. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-96fc12d400b49b13.js +0 -1
  785. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-96fc12d400b49b13.js +0 -1
  786. package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-96fc12d400b49b13.js +0 -1
  787. package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-96fc12d400b49b13.js +0 -1
  788. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-96fc12d400b49b13.js +0 -1
  789. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-96fc12d400b49b13.js +0 -1
  790. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-96fc12d400b49b13.js +0 -1
  791. package/.next/static/chunks/app/api/worktrees/[id]/direct-input/route-96fc12d400b49b13.js +0 -1
  792. package/.next/static/chunks/app/api/worktrees/[id]/env/route-96fc12d400b49b13.js +0 -1
  793. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-96fc12d400b49b13.js +0 -1
  794. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-96fc12d400b49b13.js +0 -1
  795. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-96fc12d400b49b13.js +0 -1
  796. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-96fc12d400b49b13.js +0 -1
  797. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-96fc12d400b49b13.js +0 -1
  798. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-96fc12d400b49b13.js +0 -1
  799. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-96fc12d400b49b13.js +0 -1
  800. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-96fc12d400b49b13.js +0 -1
  801. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-96fc12d400b49b13.js +0 -1
  802. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-96fc12d400b49b13.js +0 -1
  803. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-96fc12d400b49b13.js +0 -1
  804. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-96fc12d400b49b13.js +0 -1
  805. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-96fc12d400b49b13.js +0 -1
  806. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-96fc12d400b49b13.js +0 -1
  807. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-96fc12d400b49b13.js +0 -1
  808. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-96fc12d400b49b13.js +0 -1
  809. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-96fc12d400b49b13.js +0 -1
  810. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-96fc12d400b49b13.js +0 -1
  811. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-96fc12d400b49b13.js +0 -1
  812. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-96fc12d400b49b13.js +0 -1
  813. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-96fc12d400b49b13.js +0 -1
  814. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-96fc12d400b49b13.js +0 -1
  815. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-96fc12d400b49b13.js +0 -1
  816. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-96fc12d400b49b13.js +0 -1
  817. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-96fc12d400b49b13.js +0 -1
  818. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-96fc12d400b49b13.js +0 -1
  819. package/.next/static/chunks/app/api/worktrees/[id]/instances/notes/route-96fc12d400b49b13.js +0 -1
  820. package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-96fc12d400b49b13.js +0 -1
  821. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-96fc12d400b49b13.js +0 -1
  822. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-96fc12d400b49b13.js +0 -1
  823. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-96fc12d400b49b13.js +0 -1
  824. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-96fc12d400b49b13.js +0 -1
  825. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-96fc12d400b49b13.js +0 -1
  826. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-96fc12d400b49b13.js +0 -1
  827. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-96fc12d400b49b13.js +0 -1
  828. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-96fc12d400b49b13.js +0 -1
  829. package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-96fc12d400b49b13.js +0 -1
  830. package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-96fc12d400b49b13.js +0 -1
  831. package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-96fc12d400b49b13.js +0 -1
  832. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-96fc12d400b49b13.js +0 -1
  833. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/strict/route-96fc12d400b49b13.js +0 -1
  834. package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-96fc12d400b49b13.js +0 -1
  835. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-96fc12d400b49b13.js +0 -1
  836. package/.next/static/chunks/app/api/worktrees/[id]/route-96fc12d400b49b13.js +0 -1
  837. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-96fc12d400b49b13.js +0 -1
  838. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-96fc12d400b49b13.js +0 -1
  839. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-96fc12d400b49b13.js +0 -1
  840. package/.next/static/chunks/app/api/worktrees/[id]/search/route-96fc12d400b49b13.js +0 -1
  841. package/.next/static/chunks/app/api/worktrees/[id]/send/route-96fc12d400b49b13.js +0 -1
  842. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-96fc12d400b49b13.js +0 -1
  843. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-96fc12d400b49b13.js +0 -1
  844. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-96fc12d400b49b13.js +0 -1
  845. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-96fc12d400b49b13.js +0 -1
  846. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-96fc12d400b49b13.js +0 -1
  847. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-96fc12d400b49b13.js +0 -1
  848. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-96fc12d400b49b13.js +0 -1
  849. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-96fc12d400b49b13.js +0 -1
  850. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-96fc12d400b49b13.js +0 -1
  851. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-96fc12d400b49b13.js +0 -1
  852. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-96fc12d400b49b13.js +0 -1
  853. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-96fc12d400b49b13.js +0 -1
  854. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-96fc12d400b49b13.js +0 -1
  855. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-96fc12d400b49b13.js +0 -1
  856. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-96fc12d400b49b13.js +0 -1
  857. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-96fc12d400b49b13.js +0 -1
  858. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-96fc12d400b49b13.js +0 -1
  859. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-96fc12d400b49b13.js +0 -1
  860. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-96fc12d400b49b13.js +0 -1
  861. package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-96fc12d400b49b13.js +0 -1
  862. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-96fc12d400b49b13.js +0 -1
  863. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-96fc12d400b49b13.js +0 -1
  864. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-96fc12d400b49b13.js +0 -1
  865. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-96fc12d400b49b13.js +0 -1
  866. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-96fc12d400b49b13.js +0 -1
  867. package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-96fc12d400b49b13.js +0 -1
  868. package/.next/static/chunks/app/api/worktrees/route-96fc12d400b49b13.js +0 -1
  869. package/.next/static/chunks/app/layout-b9d8aef70e4f17b2.js +0 -1
  870. package/.next/static/chunks/app/manifest.webmanifest/route-96fc12d400b49b13.js +0 -1
  871. package/.next/static/chunks/app/proxy/[...path]/route-96fc12d400b49b13.js +0 -1
  872. package/.next/static/chunks/app/repositories/page-71f5a5ac29b0370d.js +0 -1
  873. package/.next/static/chunks/app/review/page-ff3efb96fdf9bb4b.js +0 -1
  874. package/.next/static/chunks/app/worktrees/[id]/layout-96fc12d400b49b13.js +0 -1
  875. package/.next/static/chunks/app/worktrees/[id]/page-f6a151304860b549.js +0 -1
  876. package/.next/static/css/c1e307d05daf93b6.css +0 -1
  877. /package/.next/static/{LNfVZiq6FZwKsV7L9Mi6M → z4d8-5MaLkoD-4EhueZwk}/_ssgManifest.js +0 -0
@@ -9,7 +9,7 @@
9
9
  UPDATE daily_reports
10
10
  SET content = ?, updated_at = ?
11
11
  WHERE date = ?
12
- `).run(c,d,b).changes)throw Error(`Daily report not found for date: ${b}`)}c.d(b,{IF:()=>f,ap:()=>d,tt:()=>e})},8004:(a,b,c)=>{c.d(b,{T:()=>h});var d=c(72626),e=c(7956);let f=(0,d.h)("safe-directory"),g=new Set;function h(a,b,c){if(!a)return b;if(!(0,e.Mb)(a))return a;let d=`${c}|${a}`;return g.has(d)||(g.add(d),f.warn("virtual-filesystem-path-rejected",{source:c,candidate:a,fallback:b,reason:"A recursive mkdir under /proc, /sys or /dev never returns on Linux; the built-in default is used instead (Issue #1774)."})),b}},13287:(a,b,c)=>{c.d(b,{I4:()=>n,LD:()=>i,k$:()=>f,l9:()=>e,ss:()=>l,vy:()=>g});var d=c(92196);let e="PermissionRequest",f="AskUserQuestion",g=128,h=/^[A-Za-z0-9._-]{1,128}$/;function i(a,b){return"string"==typeof a&&h.test(a)&&"number"==typeof b&&Number.isSafeInteger(b)&&!(b<0)?`${a}:${b}`:null}function j(a,b){let c=a[b];return"string"==typeof c&&""!==c?c:null}function k(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function l(a){if(!k(a)||a.hook_event_name!==e)return null;let b=j(a,"tool_name");return b&&!(b.length>g)&&k(a.tool_input)?{toolName:b,toolInput:a.tool_input,promptId:j(a,"prompt_id"),sessionId:j(a,"session_id"),permissionMode:j(a,"permission_mode"),permissionSuggestions:Array.isArray(a.permission_suggestions)?a.permission_suggestions:null}:null}let m={Bash:["command","description"],BashOutput:["bash_id"],KillShell:["shell_id"],Read:["file_path"],Write:["file_path"],Edit:["file_path"],NotebookEdit:["notebook_path"],Glob:["pattern","path"],Grep:["pattern","path"],WebFetch:["url","prompt"],WebSearch:["query"],SlashCommand:["command"],Task:["description","subagent_type","prompt"]};function n(a,b,c){if(c){let a=b[c.key];if("string"==typeof a&&""!==a)return"string-tool-input-as-patch"===c.reason?(0,d.QQ)(a):[a]}let e=m[a];if(e){let a=e.map(a=>b[a]).filter(a=>"string"==typeof a&&""!==a);if(a.length>0)return a}try{return[JSON.stringify(b)??""]}catch{return[Object.keys(b).join(" ")]}}},14552:(a,b,c)=>{function d(a){return{sessionId:a.session_id,worktreeId:a.worktree_id,cliToolId:a.cli_tool_id,instanceId:a.instance_id,date:a.date,title:a.title,agent:a.agent,model:a.model,provider:a.provider,cost:a.cost,tokensInput:a.tokens_input,tokensOutput:a.tokens_output,tokensReasoning:a.tokens_reasoning,tokensCacheRead:a.tokens_cache_read,tokensCacheWrite:a.tokens_cache_write,firstSeenAt:a.first_seen_at,observedAt:a.observed_at}}function e(a,b){return a.prepare(`
12
+ `).run(c,d,b).changes)throw Error(`Daily report not found for date: ${b}`)}c.d(b,{IF:()=>f,ap:()=>d,tt:()=>e})},8004:(a,b,c)=>{c.d(b,{IG:()=>j,TR:()=>i});var d=c(33873),e=c(72626),f=c(7956);let g=(0,e.h)("safe-directory"),h=new Set;function i(a,b,c){if(!a)return b;if(!(0,f.Mb)(a))return a;let d=`${c}|${a}`;return h.has(d)||(h.add(d),g.warn("virtual-filesystem-path-rejected",{source:c,candidate:a,fallback:b,reason:"A recursive mkdir under /proc, /sys or /dev never returns on Linux; the built-in default is used instead (Issue #1774)."})),b}function j(a,b,c){return i(a?(0,d.resolve)(a):void 0,b,c)}},13287:(a,b,c)=>{c.d(b,{I4:()=>n,LD:()=>i,k$:()=>f,l9:()=>e,ss:()=>l,vy:()=>g});var d=c(92196);let e="PermissionRequest",f="AskUserQuestion",g=128,h=/^[A-Za-z0-9._-]{1,128}$/;function i(a,b){return"string"==typeof a&&h.test(a)&&"number"==typeof b&&Number.isSafeInteger(b)&&!(b<0)?`${a}:${b}`:null}function j(a,b){let c=a[b];return"string"==typeof c&&""!==c?c:null}function k(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function l(a){if(!k(a)||a.hook_event_name!==e)return null;let b=j(a,"tool_name");return b&&!(b.length>g)&&k(a.tool_input)?{toolName:b,toolInput:a.tool_input,promptId:j(a,"prompt_id"),sessionId:j(a,"session_id"),permissionMode:j(a,"permission_mode"),permissionSuggestions:Array.isArray(a.permission_suggestions)?a.permission_suggestions:null}:null}let m={Bash:["command","description"],BashOutput:["bash_id"],KillShell:["shell_id"],Read:["file_path"],Write:["file_path"],Edit:["file_path"],NotebookEdit:["notebook_path"],Glob:["pattern","path"],Grep:["pattern","path"],WebFetch:["url","prompt"],WebSearch:["query"],SlashCommand:["command"],Task:["description","subagent_type","prompt"]};function n(a,b,c){if(c){let a=b[c.key];if("string"==typeof a&&""!==a)return"string-tool-input-as-patch"===c.reason?(0,d.QQ)(a):[a]}let e=m[a];if(e){let a=e.map(a=>b[a]).filter(a=>"string"==typeof a&&""!==a);if(a.length>0)return a}try{return[JSON.stringify(b)??""]}catch{return[Object.keys(b).join(" ")]}}},14552:(a,b,c)=>{function d(a){return{sessionId:a.session_id,worktreeId:a.worktree_id,cliToolId:a.cli_tool_id,instanceId:a.instance_id,date:a.date,title:a.title,agent:a.agent,model:a.model,provider:a.provider,cost:a.cost,tokensInput:a.tokens_input,tokensOutput:a.tokens_output,tokensReasoning:a.tokens_reasoning,tokensCacheRead:a.tokens_cache_read,tokensCacheWrite:a.tokens_cache_write,firstSeenAt:a.first_seen_at,observedAt:a.observed_at}}function e(a,b){return a.prepare(`
13
13
  INSERT INTO agent_session_costs (
14
14
  session_id, worktree_id, cli_tool_id, instance_id, date, title, agent, model, provider,
15
15
  cost, tokens_input, tokens_output, tokens_reasoning, tokens_cache_read, tokens_cache_write,
@@ -62,8 +62,8 @@
62
62
  VALUES (?, ?, ?)
63
63
  ON CONFLICT(old_id) DO UPDATE SET
64
64
  worktree_id = excluded.worktree_id,
65
- created_at = excluded.created_at`).run(b,c,d))}function f(a,b,c=(0,d.xE)(a)){if(0===b.length)return;let{noDelete:e}=(0,d.ld)(a),g=b.map(()=>"?").join(",");for(let{table:d,column:f}of c)e.has(d)||a.prepare(`DELETE FROM "${d}" WHERE "${f}" IN (${g})`).run(...b)}function g(a,b,c,h=Date.now()){if(b===c||!a.prepare("SELECT 1 FROM worktrees WHERE id = ?").get(b))return;a.pragma("defer_foreign_keys = ON");let i=a.prepare("SELECT 1 FROM worktrees WHERE id = ?").get(c),{noUpdate:j}=(0,d.ld)(a),k=(0,d.xE)(a),l=k.filter(({table:a})=>!j.has(a));if(i){for(let{table:d,column:e}of l)a.prepare(`UPDATE OR IGNORE "${d}" SET "${e}" = ? WHERE "${e}" = ?`).run(c,b);f(a,[b],k),a.prepare("DELETE FROM worktrees WHERE id = ?").run(b),e(a,b,c,h);return}for(let{table:d,column:e}of(a.prepare("UPDATE worktrees SET id = ? WHERE id = ?").run(c,b),l))a.prepare(`UPDATE "${d}" SET "${e}" = ? WHERE "${e}" = ?`).run(c,b);e(a,b,c,h)}},34257:(a,b,c)=>{c.d(b,{Bo:()=>h,_P:()=>i,gj:()=>e});var d=c(57510);let e="PostModelSwitch",f="model_switch",g="to_model",h=(a,b)=>a===e?{event:"notification",detail:function(a){return null===a?f:`${f}:${a}`}((0,d.O2)(b,g))}:null;function i(a){return(0,d.O2)(a,"hook_event_name")!==e?null:(0,d.O2)(a,g)}},36925:(a,b,c)=>{c.d(b,{v:()=>d});function d(a,b){return globalThis[a]??=b()}},38186:(a,b,c)=>{c.d(b,{AG:()=>e,jg:()=>f,wf:()=>d});let d="terminal",e=new Set(["terminal","chat"]);function f(a){return"string"==typeof a&&e.has(a)}},40277:(a,b,c)=>{c.d(b,{ZN:()=>g,ld:()=>f,xE:()=>e});let d="worktree_id";function e(a){let b=a.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%'").all(),c=[],e=new Set,f=(a,b)=>{let d=JSON.stringify([a,b]);e.has(d)||(e.add(d),c.push({table:a,column:b}))};for(let{name:c}of b)if("worktrees"!==c)for(let b of(a.prepare(`PRAGMA table_info("${c}")`).all().some(a=>a.name===d)&&f(c,d),a.prepare(`PRAGMA foreign_key_list("${c}")`).all()))"worktrees"===b.table&&("id"===b.to||null===b.to)&&f(c,b.from);return c}function f(a){let b=a.prepare("SELECT tbl_name, sql FROM sqlite_master WHERE type = 'trigger'").all(),c=new Set,d=new Set;for(let a of b)a.sql&&/\bRAISE\s*\(\s*ABORT/i.test(a.sql)&&(/\bBEFORE\s+UPDATE\b/i.test(a.sql)&&c.add(a.tbl_name),/\bBEFORE\s+DELETE\b/i.test(a.sql)&&d.add(a.tbl_name));return{noUpdate:c,noDelete:d}}function g(a){let{noDelete:b}=f(a);return e(a).filter(({table:a})=>!b.has(a))}},43252:(a,b,c)=>{c.d(b,{D2:()=>H,K6:()=>y,O$:()=>C,Os:()=>E,W6:()=>q,WZ:()=>p,XE:()=>s,ZL:()=>F,g5:()=>z,iR:()=>A,jx:()=>o,q:()=>w,sI:()=>r,xM:()=>B,yc:()=>x});var d=c(55511),e=c(29021),f=c(21820),g=c(33873),h=c(8004),i=c(87447),j=c(15194),k=c(34257),l=c(70997),m=c(13287);let n=(0,c(72626).h)("lib/hooks/hook-settings-generator"),o="/api/hooks/agent-event",p="/api/hooks/permission-request",q=5,r=5,s="CM_AUTH_TOKEN",t=m.k$,u=["Bash(pkill:*)","Bash(killall:*)","Bash(kill -9:*)","Bash(tmux kill-server:*)","Bash(tmux kill-session:*)","Bash(tmux set-option -g:*)","Bash(tmux set -g:*)","Bash(tmux bind-key:*)","Bash(tmux bind:*)","Bash(tmux unbind-key:*)","Bash(tmux unbind:*)"],v=(0,g.join)("scripts","hooks","cmate-agent-event.sh");function w(){return"0"!==process.env.CM_AGENT_HOOKS_INJECT}function x(){return!!(process.env[s]||process.env.CM_AUTH_TOKEN_HASH)}function y(a={}){let b=(0,g.join)((0,f.homedir)(),".commandmate","hooks");return a.directory?(0,h.T)(a.directory,b,"HookSettingsOptions.directory"):(0,h.T)(process.env.CM_AGENT_HOOKS_DIR,b,"CM_AGENT_HOOKS_DIR")}function z(a){let b=a.cliToolId??l.v;return a.instanceId??b}function A(a,b={}){let c=a.cliToolId??l.v,e=z(a),f=`${c}-${a.worktreeId}-${e}`.replace(/[^a-zA-Z0-9_-]/g,"_"),h=(0,d.createHash)("sha256").update(JSON.stringify([c,a.worktreeId,e])).digest("hex").slice(0,12);return(0,g.join)(y(b),`${f.slice(0,80)}-${h}.json`)}function B(a,b={}){return D(o,a,b)}function C(a,b={}){return D(p,a,b)}function D(a,b,c){let d=b.cliToolId??l.v,e=c.port??(0,i.D0)(),f=new URLSearchParams({tool:d,worktreeId:b.worktreeId,instanceId:z(b)});return`http://127.0.0.1:${e}${a}?${f.toString()}`}function E(){let a=(0,g.resolve)(process.cwd(),v);return(0,e.existsSync)(a)?a:null}function F(a){return`'${a.replace(/'/g,"'\\''")}'`}function G(a,b,c=q){let d={"Content-Type":"application/json"},e={type:"http",url:a,headers:d,timeout:c};return b&&(d.Authorization=`Bearer $${s}`,e.allowedEnvVars=[s]),e}function H(a,b,c={}){if(!w())return a;if(!(0,j.n6)(z(b)))return n.warn("hook-settings-invalid-instance-id",{worktreeId:b.worktreeId}),a;try{let d=function(a,b={}){let c=A(a,b);return(0,e.mkdirSync)(y(b),{recursive:!0,mode:448}),(0,e.writeFileSync)(c,`${JSON.stringify(function(a,b={}){let c=B(a,b),d=b.withAuthHeader??x(),e=()=>G(c,d);return{hooks:{SessionStart:[{hooks:[{type:"command",command:function(a,b={}){let c=B(a,b),d=b.withAuthHeader??x(),e=void 0===b.relayScriptPath?E():b.relayScriptPath;if(e)return[F(e),"--tool",F(a.cliToolId??l.v),"--event session_start --worktree-id",F(a.worktreeId),"--instance-id",F(z(a)),"--url",F(c),"--stdin-json"].join(" ");let f=d?` -H "Authorization: Bearer $${s}"`:"";return`curl -sS -m ${q} -X POST -H 'Content-Type: application/json'${f} --data-binary @- ${F(c)} >/dev/null 2>&1 || true`}(a,b),timeout:q}]}],UserPromptSubmit:[{hooks:[e()]}],Stop:[{hooks:[e()]}],Notification:[{matcher:"permission_prompt|idle_prompt",hooks:[e()]}],SessionEnd:[{hooks:[e()]}],PreToolUse:[{matcher:t,hooks:[e()]}],PostToolUse:[{matcher:t,hooks:[e()]}],[k.gj]:[{hooks:[e()]}],PermissionRequest:[{hooks:[G(C(a,b),d,r)]}]},permissions:{deny:[...u]}}}(a,b),null,2)}
66
- `,{mode:384}),c}(b,c);return`${F(a)} --settings ${F(d)}`}catch(c){return n.warn("hook-settings-write-failed",{worktreeId:b.worktreeId,error:c instanceof Error?c.message:String(c)}),a}}},49791:(a,b,c)=>{c.d(b,{CH:()=>B,CI:()=>N,De:()=>X,EI:()=>J,Ei:()=>F,K1:()=>M,LV:()=>E,Lf:()=>K,Li:()=>v,M:()=>R,M2:()=>p,Mq:()=>W,Ok:()=>t,T0:()=>j,UR:()=>z,Vc:()=>i,_M:()=>Y,_t:()=>l,bg:()=>P,ep:()=>D,er:()=>w,fy:()=>A,iv:()=>S,mY:()=>x,mi:()=>G,oO:()=>Z,pm:()=>U,sc:()=>s,uS:()=>k,wZ:()=>C,xR:()=>y,zu:()=>V});var d=c(55511),e=c(79551),f=c(72626),g=c(99499);let h=(0,f.h)("lib/hooks/sources/opencode/client"),i="127.0.0.1",j=5e3,k="manual",l="application/json",m="text/event-stream";async function n(a,b){return fetch(a,{...b,redirect:k})}function o(a,b){let c=a.headers?.get?.("content-type");return"string"==typeof c&&c.split(";",1)[0]?.trim().toLowerCase()===b}function p(a){return`http://${i}:${a}`}function q(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}async function r(a,b){try{let c=await n(a,{...b,signal:AbortSignal.timeout(j)});if(!c.ok)return null;if(!o(c,l))return h.debug("opencode-request-content-type",{url:a,contentType:c.headers?.get?.("content-type")??null}),null;return await c.json()}catch(b){return h.debug("opencode-request-failed",{url:a,error:b instanceof Error?b.message:String(b)}),null}}async function s(a){let b,c,d=`${p(a)}/global/health`;try{b=await n(d,{signal:AbortSignal.timeout(j)})}catch(b){let a=b instanceof Error?b.message:String(b);return h.debug("opencode-request-failed",{url:d,error:a}),{kind:"refused",error:a}}if(!b.ok)return{kind:"rejected",status:b.status};if(!o(b,l))return{kind:"rejected",status:0};try{c=await b.json()}catch{return{kind:"rejected",status:b.status}}return q(c)&&!0===c.healthy?{kind:"healthy",health:{healthy:!0,version:"string"==typeof c.version?c.version:null}}:{kind:"rejected",status:0}}async function t(a){let b=await s(a);return"healthy"===b.kind?b.health:null}function u(a){return Array.isArray(a)?a.filter(q):[]}async function v(a){return u(await r(`${p(a)}/permission`))}async function w(a){return u(await r(`${p(a)}/question`))}async function x(a){let b=await r(`${p(a)}/session/status`);if(!q(b))return null;let c={},d=0;for(let[e,f]of Object.entries(b)){if(d>=128){h.warn("opencode-session-status-truncated",{port:a,kept:d,total:Object.keys(b).length,limit:128});break}q(f)&&("busy"===f.type||"idle"===f.type)&&(c[e]=f.type,d+=1)}return c}async function y(a){let b=await x(a);return null===b?null:Object.values(b).includes("busy")?"busy":"idle"}async function z(a,b){return!0===await r(`${p(a)}/session/${encodeURIComponent(b)}/abort`,{method:"POST"})}function A(a){return(0,e.pathToFileURL)(a).href}function B(){return`msg_cmate${(0,d.randomBytes)(12).toString("hex")}`}async function C(a,b,c,d,e){let f=`${p(a)}/session/${encodeURIComponent(b)}/prompt_async`;try{let g=await n(f,{method:"POST",headers:{"Content-Type":l},body:JSON.stringify({messageID:c,...function(a){if(!a)return{};let b={};return a.agent&&(b.agent=a.agent),a.model?.providerID&&a.model.modelID&&(b.model={providerID:a.model.providerID,modelID:a.model.modelID}),a.variant&&(b.variant=a.variant),b}(e),parts:d}),signal:AbortSignal.timeout(j)});if(204===g.status)return"accepted";if(g.status>=200&&g.status<300&&!o(g,"text/html"))return h.warn("opencode-prompt-unexpected-success",{port:a,sessionId:b,status:g.status}),"unknown";return h.warn("opencode-prompt-rejected",{port:a,sessionId:b,status:g.status}),"rejected"}catch(a){return h.debug("opencode-request-failed",{url:f,error:a instanceof Error?a.message:String(a)}),"unknown"}}async function D(a,b,c){let d,e,f=`${p(a)}/session/${encodeURIComponent(b)}/message/${encodeURIComponent(c)}`;try{d=await n(f,{signal:AbortSignal.timeout(j)})}catch(a){return{kind:"unknown",reason:a instanceof Error?a.message:String(a)}}if(404===d.status)return{kind:"missing"};if(!d.ok)return{kind:"unknown",reason:`status ${d.status}`};if(!o(d,l))return{kind:"unknown",reason:"content-type"};try{e=await d.json()}catch{return{kind:"unknown",reason:"body"}}if(!q(e))return{kind:"unknown",reason:"body"};let g=q(e.info)?e.info:null;return null===g||"user"!==g.role?{kind:"unknown",reason:"role"}:{kind:"found",texts:(Array.isArray(e.parts)?e.parts:[]).filter(q).filter(a=>"text"===a.type&&"string"==typeof a.text).map(a=>a.text)}}async function E(a,b,c,d){let e={reply:c};return d&&(e.message=d),null!==await r(`${p(a)}/permission/${encodeURIComponent(b)}/reply`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function F(a,b,c){return null!==await r(`${p(a)}/question/${encodeURIComponent(b)}/reply`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({answers:c})})}async function G(a,b){let c=await n(`${p(a)}/event`,{signal:b,headers:{Accept:m}});if(!c.ok||!c.body)throw Error(`opencode /event responded ${c.status}`);if(!o(c,m))throw Error(`opencode /event answered ${c.headers?.get?.("content-type")??"no content-type"}`);return H(a,c.body.getReader())}async function*H(a,b){let c=new TextDecoder,d=function(){let a="",b=[],c=0,d=!1,e=0,f=[],g=()=>{b=[],c=0,d=!0,e+=1},h=()=>{0!==b.length&&(f.push(b.join("\n")),b=[],c=0)},i=a=>{let e=a.endsWith("\r")?a.slice(0,-1):a;if(""===e)return void(d?d=!1:h());if(!d&&!e.startsWith(":")&&e.startsWith("data:")){let a=e.slice(5).replace(/^ /,"");if(c+a.length>262144)return void g();b.push(a),c+=a.length}};return{push(b){let c=(a+=b).indexOf("\n");for(;c>=0;)i(a.slice(0,c)),c=(a=a.slice(c+1)).indexOf("\n");return a.length>262144&&(a="",g()),f.splice(0,f.length)},flush:()=>(""!==a&&(i(a),a=""),d?d=!1:h(),f.splice(0,f.length)),oversizedFrames:()=>e}}(),e=0,f=()=>{let b=d.oversizedFrames();b!==e&&(h.warn("opencode-sse-frame-oversized",{port:a,dropped:b,newlyDropped:b-e,limitChars:262144}),e=b)};try{for(;;){let{done:a,value:e}=await b.read();if(a)break;let g=c.decode(e,{stream:!0});for(let a of d.push(g)){let b=I(a);b&&(yield b)}f()}for(let a of d.flush()){let b=I(a);b&&(yield b)}f()}finally{await b.cancel().catch(()=>{})}}function I(a){try{let b=JSON.parse(a);return q(b)?b:null}catch{return null}}async function J(a,b){let c=`${p(a)}/session/${encodeURIComponent(b)}/message`,d=await r(c);if(!Array.isArray(d))return null;let e=d.filter(q);return e.length>500?e.slice(e.length-500):e}async function K(a,b,c){return function(a,b,c){if(!q(a))return null;for(let d of Array.isArray(a.providers)?a.providers:[]){if(!q(d)||d.id!==b)continue;let a=q(d.models)?d.models:null;if(!a)break;let e=a[c];if(!q(e))break;let f=q(e.limit)?e.limit:null;if(!f)break;let g=f.context;if("number"!=typeof g||!Number.isFinite(g)||g<=0)break;return g}return null}(await L(a),b,c)}async function L(a){return r(`${p(a)}/config/providers`)}async function M(a){return function(a){if(!q(a))return[];let b=Array.isArray(a.providers)?a.providers:[],c=[];for(let a of b){if(!q(a))continue;let b="string"==typeof a.id?a.id:null;if(!b)continue;let d=[];for(let[b,c]of Object.entries(q(a.models)?a.models:{})){if(!q(c))continue;let a=q(c.variants)?Object.keys(c.variants):[];d.push({id:b,name:"string"==typeof c.name&&c.name.length>0?c.name:b,variants:a.sort()})}d.sort((a,b)=>a.id.localeCompare(b.id)),c.push({id:b,name:"string"==typeof a.name&&a.name.length>0?a.name:b,models:d})}return c.sort((a,b)=>a.id.localeCompare(b.id)),c}(await L(a))}async function N(a){var b=await r(`${p(a)}/agent`);if(!Array.isArray(b))return[];let c=[];for(let a of b){if(!q(a))continue;let b="string"==typeof a.name?a.name:null;b&&!0!==a.hidden&&c.push({name:b,mode:"string"==typeof a.mode?a.mode:"",description:"string"==typeof a.description?a.description:null})}return c}function O(a,b){let c=a[b];return"number"==typeof c&&Number.isFinite(c)&&c>0?c:0}async function P(a,b){let c=`${p(a)}/session/${encodeURIComponent(b)}/message?limit=4`,d=await r(c);if(!Array.isArray(d))return null;for(let a=d.length-1;a>=0;a-=1){let b=d[a];if(!q(b))continue;let c=q(b.info)?b.info:null;if(!c||"assistant"!==c.role)continue;let e=q(c.tokens)?c.tokens:null;if(!e)continue;let f=O(e,"output");if(f<=0)continue;let g=q(e.cache)?e.cache:{};return O(e,"input")+f+O(e,"reasoning")+O(g,"read")+O(g,"write")}return null}let Q=["added","deleted","modified"];function R(a){if(!Array.isArray(a))return[];let b=[];for(let c of a){if(!q(c))continue;let a="string"==typeof c.patch?c.patch:null;if(b.push({file:"string"==typeof c.file&&c.file.length>0?c.file:null,patch:null===a?null:a.slice(0,65536),additions:"number"==typeof c.additions&&Number.isFinite(c.additions)?c.additions:0,deletions:"number"==typeof c.deletions&&Number.isFinite(c.deletions)?c.deletions:0,status:"string"==typeof c.status&&Q.includes(c.status)?c.status:null}),b.length>=200)break}return b}async function S(a,b,c){let d=`${p(a)}/session/${encodeURIComponent(b)}/diff?messageID=${encodeURIComponent(c)}`,e=await r(d);return Array.isArray(e)?R(e):null}async function T(a,b){let c;try{c=await n(a,{method:"POST",headers:{"Content-Type":l},body:JSON.stringify(b),signal:AbortSignal.timeout(j)})}catch(b){return h.debug("opencode-request-failed",{url:a,error:b instanceof Error?b.message:String(b)}),{outcome:{kind:"unreachable"}}}if(409===c.status)return{outcome:{kind:"busy"}};if(!c.ok)return h.warn("opencode-revert-rejected",{url:a,status:c.status}),{outcome:{kind:"rejected",status:c.status}};if(!o(c,l))return{outcome:{kind:"unreachable"}};try{return{revertedTo:function(a){if(!q(a))return null;let b=q(a.revert)?a.revert:null;return b&&"string"==typeof b.messageID&&b.messageID.length>0?b.messageID:null}(await c.json())}}catch{return{outcome:{kind:"unreachable"}}}}async function U(a,b,c){let d=`${p(a)}/session/${encodeURIComponent(b)}/revert`,e=await T(d,{messageID:c});return"outcome"in e?e.outcome:e.revertedTo===c?{kind:"reverted",messageId:c}:{kind:"no_op"}}async function V(a,b){let c=`${p(a)}/session/${encodeURIComponent(b)}/unrevert`,d=await T(c,{});return"outcome"in d?d.outcome:null===d.revertedTo?{kind:"restored"}:{kind:"no_op"}}async function W(a){let b=await r(`${p(a)}/config`);return(0,g.ac)(b)}async function X(a,b){let c=`${p(a)}/session/${encodeURIComponent(b)}/share`;try{let d=await n(c,{method:"POST",signal:AbortSignal.timeout(2e4)});if(404===d.status)return{kind:"not-found"};if(!d.ok)return h.warn("opencode-share-refused",{port:a,sessionId:b,status:d.status}),{kind:"refused",status:d.status};if(!o(d,l))return{kind:"failed",reason:"response was not JSON"};let e=await d.json(),f=(0,g.gn)(e);if(null===f)return h.warn("opencode-share-no-url",{port:a,sessionId:b}),{kind:"failed",reason:"server returned no share URL"};return h.info("opencode-share-created",{port:a,sessionId:b}),{kind:"shared",url:f}}catch(a){return{kind:"failed",reason:a instanceof Error?a.message:String(a)}}}async function Y(a,b){let c=`${p(a)}/session/${encodeURIComponent(b)}/share`;try{let d=await n(c,{method:"DELETE",signal:AbortSignal.timeout(2e4)});if(!d.ok)return h.warn("opencode-unshare-refused",{port:a,sessionId:b,status:d.status}),!1;return h.info("opencode-share-removed",{port:a,sessionId:b}),!0}catch(c){return h.warn("opencode-unshare-failed",{port:a,sessionId:b,error:c instanceof Error?c.message:String(c)}),!1}}async function Z(a,b){let c=await r(`${p(a)}/session/${encodeURIComponent(b)}`);return(0,g.gn)(c)}},52201:(a,b,c)=>{c.d(b,{Lt:()=>h,MJ:()=>l,Wj:()=>f,eG:()=>j,eu:()=>e,fJ:()=>g,nW:()=>k});var d=c(15194);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"}}let i=["worktree","repo","appSettings"];function j(a={}){for(let b of i){let c=a[b];if(null==c)continue;let d=h([...c]);if(d.valid)return d.value}return g}function k(a,b,c){let d=null;if(a)try{let b=JSON.parse(a);Array.isArray(b)&&(d=b)}catch{}return j({worktree:d,repo:c,appSettings:b})}function l(a){return!Array.isArray(a)||a.length<e||a.length>f?{valid:!1,error:`selected_agents must be an array of ${e}-${f} elements`}:h(a)}},52660:(a,b,c)=>{c.r(b),c.d(b,{ACTIVE_FILTER:()=>f,MODEL_CHANGE_REQUEST_ID_PREFIX:()=>E,RELAY_REQUEST_ID_PREFIX:()=>G,RELAY_SYSTEM_REQUEST_ID_PREFIX:()=>H,USER_TURN_CANDIDATE_LIMIT:()=>o,clearLastUserMessage:()=>x,createMessage:()=>j,createModelChangeMessage:()=>F,createRelaySystemMessage:()=>N,deleteAllMessages:()=>s,deleteMessageById:()=>t,deleteMessagesByCliTool:()=>u,deleteMessagesByInstance:()=>v,findMessageByRequestId:()=>n,findUnkeyedUserMessages:()=>p,getLastAssistantMessageAt:()=>h,getLastMessage:()=>r,getLastMessageAtByInstance:()=>i,getLastUserMessage:()=>m,getLastUserMessageForInstance:()=>L,getLatestOpenPromptMessage:()=>M,getMessageById:()=>A,getMessages:()=>l,getMessagesByDateRange:()=>z,markPendingPromptsAsAnswered:()=>C,parseRelayRequestId:()=>K,recomputeLastUserMessage:()=>y,recordAnsweredPrompt:()=>D,relayRequestId:()=>J,relaySystemRequestId:()=>I,setMessageRequestId:()=>q,updateLastUserMessage:()=>w,updateMessageContent:()=>k,updatePromptData:()=>B});var d=c(55511);let e=(0,c(72626).h)("chat-db"),f="AND archived = 0";function g(a){let b=a.cli_tool_id??"claude";return{id:a.id,worktreeId:a.worktree_id,role:a.role,content:a.content,summary:a.summary||void 0,timestamp:new Date(a.timestamp),logFileName:a.log_file_name||void 0,requestId:a.request_id||void 0,messageType:a.message_type||"normal",promptData:a.prompt_data?JSON.parse(a.prompt_data):void 0,cliToolId:b,instanceId:a.instance_id??b,archived:1===a.archived}}function h(a,b){let c=a.prepare(`
65
+ created_at = excluded.created_at`).run(b,c,d))}function f(a,b,c=(0,d.xE)(a)){if(0===b.length)return;let{noDelete:e}=(0,d.ld)(a),g=b.map(()=>"?").join(",");for(let{table:d,column:f}of c)e.has(d)||a.prepare(`DELETE FROM "${d}" WHERE "${f}" IN (${g})`).run(...b)}function g(a,b,c,h=Date.now()){if(b===c||!a.prepare("SELECT 1 FROM worktrees WHERE id = ?").get(b))return;a.pragma("defer_foreign_keys = ON");let i=a.prepare("SELECT 1 FROM worktrees WHERE id = ?").get(c),{noUpdate:j}=(0,d.ld)(a),k=(0,d.xE)(a),l=k.filter(({table:a})=>!j.has(a));if(i){for(let{table:d,column:e}of l)a.prepare(`UPDATE OR IGNORE "${d}" SET "${e}" = ? WHERE "${e}" = ?`).run(c,b);f(a,[b],k),a.prepare("DELETE FROM worktrees WHERE id = ?").run(b),e(a,b,c,h);return}for(let{table:d,column:e}of(a.prepare("UPDATE worktrees SET id = ? WHERE id = ?").run(c,b),l))a.prepare(`UPDATE "${d}" SET "${e}" = ? WHERE "${e}" = ?`).run(c,b);e(a,b,c,h)}},34257:(a,b,c)=>{c.d(b,{Bo:()=>h,_P:()=>i,gj:()=>e});var d=c(57510);let e="PostModelSwitch",f="model_switch",g="to_model",h=(a,b)=>a===e?{event:"notification",detail:function(a){return null===a?f:`${f}:${a}`}((0,d.O2)(b,g))}:null;function i(a){return(0,d.O2)(a,"hook_event_name")!==e?null:(0,d.O2)(a,g)}},36925:(a,b,c)=>{c.d(b,{v:()=>d});function d(a,b){return globalThis[a]??=b()}},38186:(a,b,c)=>{c.d(b,{AG:()=>e,jg:()=>f,wf:()=>d});let d="terminal",e=new Set(["terminal","chat"]);function f(a){return"string"==typeof a&&e.has(a)}},40277:(a,b,c)=>{c.d(b,{ZN:()=>g,ld:()=>f,xE:()=>e});let d="worktree_id";function e(a){let b=a.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%'").all(),c=[],e=new Set,f=(a,b)=>{let d=JSON.stringify([a,b]);e.has(d)||(e.add(d),c.push({table:a,column:b}))};for(let{name:c}of b)if("worktrees"!==c)for(let b of(a.prepare(`PRAGMA table_info("${c}")`).all().some(a=>a.name===d)&&f(c,d),a.prepare(`PRAGMA foreign_key_list("${c}")`).all()))"worktrees"===b.table&&("id"===b.to||null===b.to)&&f(c,b.from);return c}function f(a){let b=a.prepare("SELECT tbl_name, sql FROM sqlite_master WHERE type = 'trigger'").all(),c=new Set,d=new Set;for(let a of b)a.sql&&/\bRAISE\s*\(\s*ABORT/i.test(a.sql)&&(/\bBEFORE\s+UPDATE\b/i.test(a.sql)&&c.add(a.tbl_name),/\bBEFORE\s+DELETE\b/i.test(a.sql)&&d.add(a.tbl_name));return{noUpdate:c,noDelete:d}}function g(a){let{noDelete:b}=f(a);return e(a).filter(({table:a})=>!b.has(a))}},43252:(a,b,c)=>{c.d(b,{D2:()=>H,K6:()=>y,O$:()=>C,Os:()=>E,W6:()=>q,WZ:()=>p,XE:()=>s,ZL:()=>F,g5:()=>z,iR:()=>A,jx:()=>o,q:()=>w,sI:()=>r,xM:()=>B,yc:()=>x});var d=c(55511),e=c(29021),f=c(21820),g=c(33873),h=c(8004),i=c(87447),j=c(15194),k=c(34257),l=c(70997),m=c(13287);let n=(0,c(72626).h)("lib/hooks/hook-settings-generator"),o="/api/hooks/agent-event",p="/api/hooks/permission-request",q=5,r=5,s="CM_AUTH_TOKEN",t=m.k$,u=["Bash(pkill:*)","Bash(killall:*)","Bash(kill -9:*)","Bash(tmux kill-server:*)","Bash(tmux kill-session:*)","Bash(tmux set-option -g:*)","Bash(tmux set -g:*)","Bash(tmux bind-key:*)","Bash(tmux bind:*)","Bash(tmux unbind-key:*)","Bash(tmux unbind:*)"],v=(0,g.join)("scripts","hooks","cmate-agent-event.sh");function w(){return"0"!==process.env.CM_AGENT_HOOKS_INJECT}function x(){return!!(process.env[s]||process.env.CM_AUTH_TOKEN_HASH)}function y(a={}){let b=(0,g.join)((0,f.homedir)(),".commandmate","hooks");return a.directory?(0,h.IG)(a.directory,b,"HookSettingsOptions.directory"):(0,h.IG)(process.env.CM_AGENT_HOOKS_DIR,b,"CM_AGENT_HOOKS_DIR")}function z(a){let b=a.cliToolId??l.v;return a.instanceId??b}function A(a,b={}){let c=a.cliToolId??l.v,e=z(a),f=`${c}-${a.worktreeId}-${e}`.replace(/[^a-zA-Z0-9_-]/g,"_"),h=(0,d.createHash)("sha256").update(JSON.stringify([c,a.worktreeId,e])).digest("hex").slice(0,12);return(0,g.join)(y(b),`${f.slice(0,80)}-${h}.json`)}function B(a,b={}){return D(o,a,b)}function C(a,b={}){return D(p,a,b)}function D(a,b,c){let d=b.cliToolId??l.v,e=c.port??(0,i.D0)(),f=new URLSearchParams({tool:d,worktreeId:b.worktreeId,instanceId:z(b)});return`http://127.0.0.1:${e}${a}?${f.toString()}`}function E(){let a=(0,g.resolve)(process.cwd(),v);return(0,e.existsSync)(a)?a:null}function F(a){return`'${a.replace(/'/g,"'\\''")}'`}function G(a,b,c=q){let d={"Content-Type":"application/json"},e={type:"http",url:a,headers:d,timeout:c};return b&&(d.Authorization=`Bearer $${s}`,e.allowedEnvVars=[s]),e}function H(a,b,c={}){if(!w())return a;if(!(0,j.n6)(z(b)))return n.warn("hook-settings-invalid-instance-id",{worktreeId:b.worktreeId}),a;try{let d=function(a,b={}){let c=A(a,b);return(0,e.mkdirSync)(y(b),{recursive:!0,mode:448}),(0,e.writeFileSync)(c,`${JSON.stringify(function(a,b={}){let c=B(a,b),d=b.withAuthHeader??x(),e=()=>G(c,d);return{hooks:{SessionStart:[{hooks:[{type:"command",command:function(a,b={}){let c=B(a,b),d=b.withAuthHeader??x(),e=void 0===b.relayScriptPath?E():b.relayScriptPath;if(e)return[F(e),"--tool",F(a.cliToolId??l.v),"--event session_start --worktree-id",F(a.worktreeId),"--instance-id",F(z(a)),"--url",F(c),"--stdin-json"].join(" ");let f=d?` -H "Authorization: Bearer $${s}"`:"";return`curl -sS -m ${q} -X POST -H 'Content-Type: application/json'${f} --data-binary @- ${F(c)} >/dev/null 2>&1 || true`}(a,b),timeout:q}]}],UserPromptSubmit:[{hooks:[e()]}],Stop:[{hooks:[e()]}],Notification:[{matcher:"permission_prompt|idle_prompt",hooks:[e()]}],SessionEnd:[{hooks:[e()]}],PreToolUse:[{matcher:t,hooks:[e()]}],PostToolUse:[{matcher:t,hooks:[e()]}],[k.gj]:[{hooks:[e()]}],PermissionRequest:[{hooks:[G(C(a,b),d,r)]}]},permissions:{deny:[...u]}}}(a,b),null,2)}
66
+ `,{mode:384}),c}(b,c);return`${F(a)} --settings ${F(d)}`}catch(c){return n.warn("hook-settings-write-failed",{worktreeId:b.worktreeId,error:c instanceof Error?c.message:String(c)}),a}}},49791:(a,b,c)=>{c.d(b,{CH:()=>C,CI:()=>O,De:()=>Y,EI:()=>K,Ei:()=>G,K1:()=>N,LV:()=>F,Lf:()=>L,Li:()=>w,M:()=>S,M2:()=>p,Mq:()=>X,Ok:()=>u,T0:()=>j,UR:()=>A,Vc:()=>i,_M:()=>Z,_t:()=>l,am:()=>t,bg:()=>Q,ep:()=>E,er:()=>x,fy:()=>B,iv:()=>T,mY:()=>y,mi:()=>H,oO:()=>$,pm:()=>V,sc:()=>s,uS:()=>k,wZ:()=>D,xR:()=>z,zu:()=>W});var d=c(55511),e=c(79551),f=c(72626),g=c(99499);let h=(0,f.h)("lib/hooks/sources/opencode/client"),i="127.0.0.1",j=5e3,k="manual",l="application/json",m="text/event-stream";async function n(a,b){return fetch(a,{...b,redirect:k})}function o(a,b){let c=a.headers?.get?.("content-type");return"string"==typeof c&&c.split(";",1)[0]?.trim().toLowerCase()===b}function p(a){return`http://${i}:${a}`}function q(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}async function r(a,b){try{let c=await n(a,{...b,signal:AbortSignal.timeout(j)});if(!c.ok)return null;if(!o(c,l))return h.debug("opencode-request-content-type",{url:a,contentType:c.headers?.get?.("content-type")??null}),null;return await c.json()}catch(b){return h.debug("opencode-request-failed",{url:a,error:b instanceof Error?b.message:String(b)}),null}}async function s(a){let b,c,d=`${p(a)}/global/health`;try{b=await n(d,{signal:AbortSignal.timeout(j)})}catch(b){let a=b instanceof Error?b.message:String(b);return h.debug("opencode-request-failed",{url:d,error:a}),{kind:"refused",error:a}}if(!b.ok)return{kind:"rejected",status:b.status};if(!o(b,l))return{kind:"rejected",status:0};try{c=await b.json()}catch{return{kind:"rejected",status:b.status}}return q(c)&&!0===c.healthy?{kind:"healthy",health:{healthy:!0,version:"string"==typeof c.version?c.version:null}}:{kind:"rejected",status:0}}async function t(a){try{let b=await n(`${p(a)}/config`,{signal:AbortSignal.timeout(5e3)});if(200!==b.status)return await b.body?.cancel().catch(()=>{}),null;return await b.json()}catch{return null}}async function u(a){let b=await s(a);return"healthy"===b.kind?b.health:null}function v(a){return Array.isArray(a)?a.filter(q):[]}async function w(a){return v(await r(`${p(a)}/permission`))}async function x(a){return v(await r(`${p(a)}/question`))}async function y(a){let b=await r(`${p(a)}/session/status`);if(!q(b))return null;let c={},d=0;for(let[e,f]of Object.entries(b)){if(d>=128){h.warn("opencode-session-status-truncated",{port:a,kept:d,total:Object.keys(b).length,limit:128});break}q(f)&&("busy"===f.type||"idle"===f.type)&&(c[e]=f.type,d+=1)}return c}async function z(a){let b=await y(a);return null===b?null:Object.values(b).includes("busy")?"busy":"idle"}async function A(a,b){return!0===await r(`${p(a)}/session/${encodeURIComponent(b)}/abort`,{method:"POST"})}function B(a){return(0,e.pathToFileURL)(a).href}function C(){return`msg_cmate${(0,d.randomBytes)(12).toString("hex")}`}async function D(a,b,c,d,e){let f=`${p(a)}/session/${encodeURIComponent(b)}/prompt_async`;try{let g=await n(f,{method:"POST",headers:{"Content-Type":l},body:JSON.stringify({messageID:c,...function(a){if(!a)return{};let b={};return a.agent&&(b.agent=a.agent),a.model?.providerID&&a.model.modelID&&(b.model={providerID:a.model.providerID,modelID:a.model.modelID}),a.variant&&(b.variant=a.variant),b}(e),parts:d}),signal:AbortSignal.timeout(j)});if(204===g.status)return"accepted";if(g.status>=200&&g.status<300&&!o(g,"text/html"))return h.warn("opencode-prompt-unexpected-success",{port:a,sessionId:b,status:g.status}),"unknown";return h.warn("opencode-prompt-rejected",{port:a,sessionId:b,status:g.status}),"rejected"}catch(a){return h.debug("opencode-request-failed",{url:f,error:a instanceof Error?a.message:String(a)}),"unknown"}}async function E(a,b,c){let d,e,f=`${p(a)}/session/${encodeURIComponent(b)}/message/${encodeURIComponent(c)}`;try{d=await n(f,{signal:AbortSignal.timeout(j)})}catch(a){return{kind:"unknown",reason:a instanceof Error?a.message:String(a)}}if(404===d.status)return{kind:"missing"};if(!d.ok)return{kind:"unknown",reason:`status ${d.status}`};if(!o(d,l))return{kind:"unknown",reason:"content-type"};try{e=await d.json()}catch{return{kind:"unknown",reason:"body"}}if(!q(e))return{kind:"unknown",reason:"body"};let g=q(e.info)?e.info:null;return null===g||"user"!==g.role?{kind:"unknown",reason:"role"}:{kind:"found",texts:(Array.isArray(e.parts)?e.parts:[]).filter(q).filter(a=>"text"===a.type&&"string"==typeof a.text).map(a=>a.text)}}async function F(a,b,c,d){let e={reply:c};return d&&(e.message=d),null!==await r(`${p(a)}/permission/${encodeURIComponent(b)}/reply`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async function G(a,b,c){return null!==await r(`${p(a)}/question/${encodeURIComponent(b)}/reply`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({answers:c})})}async function H(a,b){let c=await n(`${p(a)}/event`,{signal:b,headers:{Accept:m}});if(!c.ok||!c.body)throw Error(`opencode /event responded ${c.status}`);if(!o(c,m))throw Error(`opencode /event answered ${c.headers?.get?.("content-type")??"no content-type"}`);return I(a,c.body.getReader())}async function*I(a,b){let c=new TextDecoder,d=function(){let a="",b=[],c=0,d=!1,e=0,f=[],g=()=>{b=[],c=0,d=!0,e+=1},h=()=>{0!==b.length&&(f.push(b.join("\n")),b=[],c=0)},i=a=>{let e=a.endsWith("\r")?a.slice(0,-1):a;if(""===e)return void(d?d=!1:h());if(!d&&!e.startsWith(":")&&e.startsWith("data:")){let a=e.slice(5).replace(/^ /,"");if(c+a.length>262144)return void g();b.push(a),c+=a.length}};return{push(b){let c=(a+=b).indexOf("\n");for(;c>=0;)i(a.slice(0,c)),c=(a=a.slice(c+1)).indexOf("\n");return a.length>262144&&(a="",g()),f.splice(0,f.length)},flush:()=>(""!==a&&(i(a),a=""),d?d=!1:h(),f.splice(0,f.length)),oversizedFrames:()=>e}}(),e=0,f=()=>{let b=d.oversizedFrames();b!==e&&(h.warn("opencode-sse-frame-oversized",{port:a,dropped:b,newlyDropped:b-e,limitChars:262144}),e=b)};try{for(;;){let{done:a,value:e}=await b.read();if(a)break;let g=c.decode(e,{stream:!0});for(let a of d.push(g)){let b=J(a);b&&(yield b)}f()}for(let a of d.flush()){let b=J(a);b&&(yield b)}f()}finally{await b.cancel().catch(()=>{})}}function J(a){try{let b=JSON.parse(a);return q(b)?b:null}catch{return null}}async function K(a,b){let c=`${p(a)}/session/${encodeURIComponent(b)}/message`,d=await r(c);if(!Array.isArray(d))return null;let e=d.filter(q);return e.length>500?e.slice(e.length-500):e}async function L(a,b,c){return function(a,b,c){if(!q(a))return null;for(let d of Array.isArray(a.providers)?a.providers:[]){if(!q(d)||d.id!==b)continue;let a=q(d.models)?d.models:null;if(!a)break;let e=a[c];if(!q(e))break;let f=q(e.limit)?e.limit:null;if(!f)break;let g=f.context;if("number"!=typeof g||!Number.isFinite(g)||g<=0)break;return g}return null}(await M(a),b,c)}async function M(a){return r(`${p(a)}/config/providers`)}async function N(a){return function(a){if(!q(a))return[];let b=Array.isArray(a.providers)?a.providers:[],c=[];for(let a of b){if(!q(a))continue;let b="string"==typeof a.id?a.id:null;if(!b)continue;let d=[];for(let[b,c]of Object.entries(q(a.models)?a.models:{})){if(!q(c))continue;let a=q(c.variants)?Object.keys(c.variants):[];d.push({id:b,name:"string"==typeof c.name&&c.name.length>0?c.name:b,variants:a.sort()})}d.sort((a,b)=>a.id.localeCompare(b.id)),c.push({id:b,name:"string"==typeof a.name&&a.name.length>0?a.name:b,models:d})}return c.sort((a,b)=>a.id.localeCompare(b.id)),c}(await M(a))}async function O(a){var b=await r(`${p(a)}/agent`);if(!Array.isArray(b))return[];let c=[];for(let a of b){if(!q(a))continue;let b="string"==typeof a.name?a.name:null;b&&!0!==a.hidden&&c.push({name:b,mode:"string"==typeof a.mode?a.mode:"",description:"string"==typeof a.description?a.description:null})}return c}function P(a,b){let c=a[b];return"number"==typeof c&&Number.isFinite(c)&&c>0?c:0}async function Q(a,b){let c=`${p(a)}/session/${encodeURIComponent(b)}/message?limit=4`,d=await r(c);if(!Array.isArray(d))return null;for(let a=d.length-1;a>=0;a-=1){let b=d[a];if(!q(b))continue;let c=q(b.info)?b.info:null;if(!c||"assistant"!==c.role)continue;let e=q(c.tokens)?c.tokens:null;if(!e)continue;let f=P(e,"output");if(f<=0)continue;let g=q(e.cache)?e.cache:{};return P(e,"input")+f+P(e,"reasoning")+P(g,"read")+P(g,"write")}return null}let R=["added","deleted","modified"];function S(a){if(!Array.isArray(a))return[];let b=[];for(let c of a){if(!q(c))continue;let a="string"==typeof c.patch?c.patch:null;if(b.push({file:"string"==typeof c.file&&c.file.length>0?c.file:null,patch:null===a?null:a.slice(0,65536),additions:"number"==typeof c.additions&&Number.isFinite(c.additions)?c.additions:0,deletions:"number"==typeof c.deletions&&Number.isFinite(c.deletions)?c.deletions:0,status:"string"==typeof c.status&&R.includes(c.status)?c.status:null}),b.length>=200)break}return b}async function T(a,b,c){let d=`${p(a)}/session/${encodeURIComponent(b)}/diff?messageID=${encodeURIComponent(c)}`,e=await r(d);return Array.isArray(e)?S(e):null}async function U(a,b){let c;try{c=await n(a,{method:"POST",headers:{"Content-Type":l},body:JSON.stringify(b),signal:AbortSignal.timeout(j)})}catch(b){return h.debug("opencode-request-failed",{url:a,error:b instanceof Error?b.message:String(b)}),{outcome:{kind:"unreachable"}}}if(409===c.status)return{outcome:{kind:"busy"}};if(!c.ok)return h.warn("opencode-revert-rejected",{url:a,status:c.status}),{outcome:{kind:"rejected",status:c.status}};if(!o(c,l))return{outcome:{kind:"unreachable"}};try{return{revertedTo:function(a){if(!q(a))return null;let b=q(a.revert)?a.revert:null;return b&&"string"==typeof b.messageID&&b.messageID.length>0?b.messageID:null}(await c.json())}}catch{return{outcome:{kind:"unreachable"}}}}async function V(a,b,c){let d=`${p(a)}/session/${encodeURIComponent(b)}/revert`,e=await U(d,{messageID:c});return"outcome"in e?e.outcome:e.revertedTo===c?{kind:"reverted",messageId:c}:{kind:"no_op"}}async function W(a,b){let c=`${p(a)}/session/${encodeURIComponent(b)}/unrevert`,d=await U(c,{});return"outcome"in d?d.outcome:null===d.revertedTo?{kind:"restored"}:{kind:"no_op"}}async function X(a){let b=await r(`${p(a)}/config`);return(0,g.ac)(b)}async function Y(a,b){let c=`${p(a)}/session/${encodeURIComponent(b)}/share`;try{let d=await n(c,{method:"POST",signal:AbortSignal.timeout(2e4)});if(404===d.status)return{kind:"not-found"};if(!d.ok)return h.warn("opencode-share-refused",{port:a,sessionId:b,status:d.status}),{kind:"refused",status:d.status};if(!o(d,l))return{kind:"failed",reason:"response was not JSON"};let e=await d.json(),f=(0,g.gn)(e);if(null===f)return h.warn("opencode-share-no-url",{port:a,sessionId:b}),{kind:"failed",reason:"server returned no share URL"};return h.info("opencode-share-created",{port:a,sessionId:b}),{kind:"shared",url:f}}catch(a){return{kind:"failed",reason:a instanceof Error?a.message:String(a)}}}async function Z(a,b){let c=`${p(a)}/session/${encodeURIComponent(b)}/share`;try{let d=await n(c,{method:"DELETE",signal:AbortSignal.timeout(2e4)});if(!d.ok)return h.warn("opencode-unshare-refused",{port:a,sessionId:b,status:d.status}),!1;return h.info("opencode-share-removed",{port:a,sessionId:b}),!0}catch(c){return h.warn("opencode-unshare-failed",{port:a,sessionId:b,error:c instanceof Error?c.message:String(c)}),!1}}async function $(a,b){let c=await r(`${p(a)}/session/${encodeURIComponent(b)}`);return(0,g.gn)(c)}},52201:(a,b,c)=>{c.d(b,{Lt:()=>h,MJ:()=>l,Wj:()=>f,eG:()=>j,eu:()=>e,fJ:()=>g,nW:()=>k});var d=c(15194);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"}}let i=["worktree","repo","appSettings"];function j(a={}){for(let b of i){let c=a[b];if(null==c)continue;let d=h([...c]);if(d.valid)return d.value}return g}function k(a,b,c){let d=null;if(a)try{let b=JSON.parse(a);Array.isArray(b)&&(d=b)}catch{}return j({worktree:d,repo:c,appSettings:b})}function l(a){return!Array.isArray(a)||a.length<e||a.length>f?{valid:!1,error:`selected_agents must be an array of ${e}-${f} elements`}:h(a)}},52660:(a,b,c)=>{c.r(b),c.d(b,{ACTIVE_FILTER:()=>f,MODEL_CHANGE_REQUEST_ID_PREFIX:()=>E,RELAY_REQUEST_ID_PREFIX:()=>G,RELAY_SYSTEM_REQUEST_ID_PREFIX:()=>H,USER_TURN_CANDIDATE_LIMIT:()=>o,clearLastUserMessage:()=>x,createMessage:()=>j,createModelChangeMessage:()=>F,createRelaySystemMessage:()=>N,deleteAllMessages:()=>s,deleteMessageById:()=>t,deleteMessagesByCliTool:()=>u,deleteMessagesByInstance:()=>v,findMessageByRequestId:()=>n,findUnkeyedUserMessages:()=>p,getLastAssistantMessageAt:()=>h,getLastMessage:()=>r,getLastMessageAtByInstance:()=>i,getLastUserMessage:()=>m,getLastUserMessageForInstance:()=>L,getLatestOpenPromptMessage:()=>M,getMessageById:()=>A,getMessages:()=>l,getMessagesByDateRange:()=>z,markPendingPromptsAsAnswered:()=>C,parseRelayRequestId:()=>K,recomputeLastUserMessage:()=>y,recordAnsweredPrompt:()=>D,relayRequestId:()=>J,relaySystemRequestId:()=>I,setMessageRequestId:()=>q,updateLastUserMessage:()=>w,updateMessageContent:()=>k,updatePromptData:()=>B});var d=c(55511);let e=(0,c(72626).h)("chat-db"),f="AND archived = 0";function g(a){let b=a.cli_tool_id??"claude";return{id:a.id,worktreeId:a.worktree_id,role:a.role,content:a.content,summary:a.summary||void 0,timestamp:new Date(a.timestamp),logFileName:a.log_file_name||void 0,requestId:a.request_id||void 0,messageType:a.message_type||"normal",promptData:a.prompt_data?JSON.parse(a.prompt_data):void 0,cliToolId:b,instanceId:a.instance_id??b,archived:1===a.archived}}function h(a,b){let c=a.prepare(`
67
67
  SELECT MAX(timestamp) as last_assistant_message_at
68
68
  FROM chat_messages
69
69
  WHERE worktree_id = ? AND role = 'assistant' ${f}
@@ -321,5 +321,5 @@
321
321
  SELECT id FROM worktrees WHERE repository_path = ?
322
322
  `).all(b).map(a=>a.id)}function D(a){return a.prepare("SELECT id FROM worktrees").all().map(a=>a.id)}function E(a){return a.prepare("SELECT id, path FROM worktrees").all()}function F(a,b){return a.prepare(`
323
323
  SELECT id, path FROM worktrees WHERE repository_path = ?
324
- `).all(b)}function G(a,b){return{deletedCount:a.transaction(()=>{let c=a.prepare("SELECT id FROM worktrees WHERE repository_path = ?").all(b).map(a=>a.id).filter(a=>null!==a);return(0,h.oo)(a,c),a.prepare("DELETE FROM worktrees WHERE repository_path = ?").run(b).changes})()}}function H(a,b){if(0===b.length)return{deletedCount:0};let c=b.map(()=>"?").join(",");return{deletedCount:a.transaction(()=>((0,h.oo)(a,b),a.prepare(`DELETE FROM worktrees WHERE id IN (${c})`).run(...b).changes))()}}},80438:(a,b,c)=>{c.d(b,{h:()=>d});function d(a,b,c){a.warn(`security:${b}`,c)}},84574:(a,b,c)=>{c.d(b,{CU:()=>B,Ci:()=>A,U9:()=>w,VY:()=>t,hC:()=>v,jp:()=>C,kE:()=>x});var d=c(91645),e=c(29021),f=c(21820),g=c(33873),h=c(8004),i=c(24455),j=c(43252),k=c(72626),l=c(49791),m=c(36925);let n=(0,k.h)("lib/hooks/sources/opencode/ports"),o={min:4200,max:4299},p=o.max-o.min+1,q=(0,m.v)("__opencodePortAssignments",()=>new Map);function r(a){return(0,i.v7)(a.worktreeId,a.cliToolId,a.instanceId)}function s(){let a=(0,g.join)((0,f.homedir)(),".commandmate","opencode-ports.json");return(0,h.T)(process.env.CM_OPENCODE_PORT_FILE,a,"CM_OPENCODE_PORT_FILE")}function t(){try{let a=JSON.parse((0,e.readFileSync)(s(),"utf8"));if("object"!=typeof a||null===a||Array.isArray(a))return{};let b={};for(let[c,d]of Object.entries(a))!("object"!=typeof d||null===d||Array.isArray(d))&&"number"==typeof d.port&&Number.isInteger(d.port)&&d.port>0&&d.port<65536&&"string"==typeof d.worktreePath&&(b[c]={port:d.port,worktreePath:d.worktreePath,updatedAt:"number"==typeof d.updatedAt?d.updatedAt:0});return b}catch{return{}}}function u(a){let b=s();try{(0,e.mkdirSync)((0,g.dirname)(b),{recursive:!0}),(0,e.writeFileSync)(b,`${JSON.stringify(a,null,2)}
325
- `,{mode:384})}catch(a){n.warn("opencode-port-file-write-failed",{path:b,error:a instanceof Error?a.message:String(a)})}}function v(a){return q.get(r(a))?.port??null}function w(a){return q.get(r(a))?.worktreePath??null}function x(a){let b=r(a);q.delete(b);let c=t();b in c&&(delete c[b],u(c))}let y=[l.Vc,"0.0.0.0","::"],z=["EADDRINUSE","EACCES"];async function A(a){for(let[b,c]of y.entries()){let e=await function(a,b){return new Promise(c=>{let e=(0,d.createServer)();e.once("error",a=>{c(z.includes(a.code??"")?"in-use":"unavailable")}),e.listen(a,b,()=>{e.close(()=>c("free"))})})}(a,c);if("free"!==e&&(0===b||"in-use"===e))return n.debug("opencode-port-probe-occupied",{port:a,host:c,probe:e}),!1}return!0}async function B(a,b){if(!(0,j.q)())return null;let c=v(a);if(null!==c)return c;let d=r(a),e=t()[d],f=e?.port,g=function(a){let b=function(a){let b=0x811c9dc5;for(let c=0;c<a.length;c+=1)b^=a.charCodeAt(c),b=Math.imul(b,0x1000193)>>>0;return o.min+b%p}(r(a)),c=[];for(let a=0;a<p;a+=1)c.push(o.min+(b-o.min+a)%p);return c}(a);for(let c of void 0!==f?[f,...g.filter(a=>a!==f)]:g)if(await A(c))return!function(a,b,c,d=Date.now()){let e=r(a),f={port:b,worktreePath:c,updatedAt:d};q.set(e,f);let g=t();g[e]=f,u(g)}(a,c,b),n.info("opencode-port-allocated",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,port:c}),c;return n.warn("opencode-port-exhausted",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,range:`${o.min}-${o.max}`}),null}async function C(a,b){if(!(0,j.q)())return null;let c=v(a);if(null!==c)return c;let d=t()[r(a)];if(!d)return null;if(d.worktreePath!==b)return n.info("opencode-port-recovery-path-mismatch",{worktreeId:a.worktreeId,recorded:d.worktreePath}),null;let e=await (0,l.Ok)(d.port);return e?(q.set(r(a),d),n.info("opencode-port-recovered",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,port:d.port,version:e.version}),d.port):(n.info("opencode-port-recovery-unhealthy",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,port:d.port}),null)}},90166:(a,b,c)=>{c.d(b,{Rb:()=>e,wn:()=>f,yv:()=>d});let d=["recommended","careful"],e="recommended";function f(a){return"recommended"===a||"careful"===a}},92196:(a,b,c)=>{c.d(b,{QQ:()=>f,mw:()=>g});let d="*** ",e=new Set(["Begin Patch","End Patch"]);function f(a){let b=[];for(let c of a.split("\n")){let f=c.endsWith("\r")?c.slice(0,-1):c;if(!f.startsWith(d))continue;let g=f.slice(d.length).trim();if(!(""===g||e.has(g))&&(b.push(`${d}${g}`),b.length>64))return[a]}return b.length>0?b:[a]}function g(a){if("object"==typeof a&&null!==a&&!Array.isArray(a))return{toolInput:a,normalization:null};if("string"==typeof a){if(""===a)return null;let b=a.slice(0,64).trimStart().startsWith("*** Begin Patch"),c=b?"patch":"text";return{toolInput:{[c]:a},normalization:{reason:b?"string-tool-input-as-patch":"string-tool-input-as-text",key:c,receivedType:"string"}}}return null}},93636:(a,b,c)=>{c.d(b,{Yc:()=>i,fe:()=>j,zZ:()=>k});var d=c(3161),e=c(15194),f=c(72626),g=c(14552);let h=(0,f.h)("agent-session-cost-sampler");function i(a,b=Date.now()){let c=0;for(let f of function(){let a=globalThis.__agentSessionTelemetry;if(!a)return[];let b=[];for(let c of a.keys()){let a=c.split(":");if(a.length<2||a.length>3)continue;let[d,f,g]=a;d&&(0,e.hR)(f)&&b.push({worktreeId:d,cliToolId:f,instanceId:g||void 0})}return b}()){let e=(0,d.Jl)(f.worktreeId,f.cliToolId,f.instanceId);if(e&&e.id)try{(0,g.c0)(a,{sessionId:e.id,worktreeId:f.worktreeId,cliToolId:f.cliToolId,instanceId:f.instanceId??null,date:function(a){let b=new Date(a),c=b.getFullYear(),d=String(b.getMonth()+1).padStart(2,"0"),e=String(b.getDate()).padStart(2,"0");return`${c}-${d}-${e}`}(e.at||b),title:e.title,agent:e.agent,model:e.model,provider:e.provider,cost:e.cost,tokensInput:e.tokens.input,tokensOutput:e.tokens.output,tokensReasoning:e.tokens.reasoning,tokensCacheRead:e.tokens.cacheRead,tokensCacheWrite:e.tokens.cacheWrite,observedAt:b})&&c++}catch(a){h.warn("sample-failed",{worktreeId:f.worktreeId,cliToolId:f.cliToolId,error:a instanceof Error?a.message:String(a)})}}return c}function j(a){if(globalThis.__agentSessionCostSampler||process.env.VITEST)return!1;let b=setInterval(()=>{try{i(a)}catch(a){h.warn("sweep-failed",{error:a instanceof Error?a.message:String(a)})}},6e4);return b.unref?.(),globalThis.__agentSessionCostSampler=b,!0}function k(){globalThis.__agentSessionCostSampler&&(clearInterval(globalThis.__agentSessionCostSampler),globalThis.__agentSessionCostSampler=void 0)}},99499:(a,b,c)=>{c.d(b,{MX:()=>f,ac:()=>e,gn:()=>g});let d=["manual","auto","disabled"];function e(a){if("object"!=typeof a||null===a||Array.isArray(a))return null;let b=a.share;return"string"!=typeof b?null:d.includes(b)?b:null}function f(a){return"disabled"===a}function g(a){let b;if("object"!=typeof a||null===a||Array.isArray(a))return null;let c=a.share;if("object"!=typeof c||null===c||Array.isArray(c))return null;let d=c.url;if("string"!=typeof d||""===d)return null;try{b=new URL(d)}catch{return null}return"https:"===b.protocol?d:null}}};
324
+ `).all(b)}function G(a,b){return{deletedCount:a.transaction(()=>{let c=a.prepare("SELECT id FROM worktrees WHERE repository_path = ?").all(b).map(a=>a.id).filter(a=>null!==a);return(0,h.oo)(a,c),a.prepare("DELETE FROM worktrees WHERE repository_path = ?").run(b).changes})()}}function H(a,b){if(0===b.length)return{deletedCount:0};let c=b.map(()=>"?").join(",");return{deletedCount:a.transaction(()=>((0,h.oo)(a,b),a.prepare(`DELETE FROM worktrees WHERE id IN (${c})`).run(...b).changes))()}}},80438:(a,b,c)=>{c.d(b,{h:()=>d});function d(a,b,c){a.warn(`security:${b}`,c)}},82484:(a,b,c)=>{function d(){let a=globalThis.__vitest_worker__;return"object"==typeof a&&null!==a}function e(a=process.env,b=d()){return!!b||"test"===(a.NODE_ENV??"").trim()}c.d(b,{G:()=>d,V:()=>e})},84574:(a,b,c)=>{c.d(b,{CU:()=>B,Ci:()=>A,U9:()=>w,VY:()=>t,hC:()=>v,jp:()=>C,kE:()=>x});var d=c(91645),e=c(29021),f=c(21820),g=c(33873),h=c(8004),i=c(24455),j=c(43252),k=c(72626),l=c(49791),m=c(36925);let n=(0,k.h)("lib/hooks/sources/opencode/ports"),o={min:4200,max:4299},p=o.max-o.min+1,q=(0,m.v)("__opencodePortAssignments",()=>new Map);function r(a){return(0,i.v7)(a.worktreeId,a.cliToolId,a.instanceId)}function s(){let a=(0,g.join)((0,f.homedir)(),".commandmate","opencode-ports.json");return(0,h.TR)(process.env.CM_OPENCODE_PORT_FILE,a,"CM_OPENCODE_PORT_FILE")}function t(){try{let a=JSON.parse((0,e.readFileSync)(s(),"utf8"));if("object"!=typeof a||null===a||Array.isArray(a))return{};let b={};for(let[c,d]of Object.entries(a))!("object"!=typeof d||null===d||Array.isArray(d))&&"number"==typeof d.port&&Number.isInteger(d.port)&&d.port>0&&d.port<65536&&"string"==typeof d.worktreePath&&(b[c]={port:d.port,worktreePath:d.worktreePath,updatedAt:"number"==typeof d.updatedAt?d.updatedAt:0});return b}catch{return{}}}function u(a){let b=s();try{(0,e.mkdirSync)((0,g.dirname)(b),{recursive:!0}),(0,e.writeFileSync)(b,`${JSON.stringify(a,null,2)}
325
+ `,{mode:384})}catch(a){n.warn("opencode-port-file-write-failed",{path:b,error:a instanceof Error?a.message:String(a)})}}function v(a){return q.get(r(a))?.port??null}function w(a){return q.get(r(a))?.worktreePath??null}function x(a){let b=r(a);q.delete(b);let c=t();b in c&&(delete c[b],u(c))}let y=[l.Vc,"0.0.0.0","::"],z=["EADDRINUSE","EACCES"];async function A(a){for(let[b,c]of y.entries()){let e=await function(a,b){return new Promise(c=>{let e=(0,d.createServer)();e.once("error",a=>{c(z.includes(a.code??"")?"in-use":"unavailable")}),e.listen(a,b,()=>{e.close(()=>c("free"))})})}(a,c);if("free"!==e&&(0===b||"in-use"===e))return n.debug("opencode-port-probe-occupied",{port:a,host:c,probe:e}),!1}return!0}async function B(a,b){if(!(0,j.q)())return null;let c=v(a);if(null!==c)return c;let d=r(a),e=t()[d],f=e?.port,g=function(a){let b=function(a){let b=0x811c9dc5;for(let c=0;c<a.length;c+=1)b^=a.charCodeAt(c),b=Math.imul(b,0x1000193)>>>0;return o.min+b%p}(r(a)),c=[];for(let a=0;a<p;a+=1)c.push(o.min+(b-o.min+a)%p);return c}(a);for(let c of void 0!==f?[f,...g.filter(a=>a!==f)]:g)if(await A(c))return!function(a,b,c,d=Date.now()){let e=r(a),f={port:b,worktreePath:c,updatedAt:d};q.set(e,f);let g=t();g[e]=f,u(g)}(a,c,b),n.info("opencode-port-allocated",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,port:c}),c;return n.warn("opencode-port-exhausted",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,range:`${o.min}-${o.max}`}),null}async function C(a,b){if(!(0,j.q)())return null;let c=v(a);if(null!==c)return c;let d=t()[r(a)];if(!d)return null;if(d.worktreePath!==b)return n.info("opencode-port-recovery-path-mismatch",{worktreeId:a.worktreeId,recorded:d.worktreePath}),null;let e=await (0,l.Ok)(d.port);return e?(q.set(r(a),d),n.info("opencode-port-recovered",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,port:d.port,version:e.version}),d.port):(n.info("opencode-port-recovery-unhealthy",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,port:d.port}),null)}},90166:(a,b,c)=>{c.d(b,{Rb:()=>e,wn:()=>f,yv:()=>d});let d=["recommended","careful"],e="recommended";function f(a){return"recommended"===a||"careful"===a}},92196:(a,b,c)=>{c.d(b,{QQ:()=>f,mw:()=>g});let d="*** ",e=new Set(["Begin Patch","End Patch"]);function f(a){let b=[];for(let c of a.split("\n")){let f=c.endsWith("\r")?c.slice(0,-1):c;if(!f.startsWith(d))continue;let g=f.slice(d.length).trim();if(!(""===g||e.has(g))&&(b.push(`${d}${g}`),b.length>64))return[a]}return b.length>0?b:[a]}function g(a){if("object"==typeof a&&null!==a&&!Array.isArray(a))return{toolInput:a,normalization:null};if("string"==typeof a){if(""===a)return null;let b=a.slice(0,64).trimStart().startsWith("*** Begin Patch"),c=b?"patch":"text";return{toolInput:{[c]:a},normalization:{reason:b?"string-tool-input-as-patch":"string-tool-input-as-text",key:c,receivedType:"string"}}}return null}},93636:(a,b,c)=>{c.d(b,{Yc:()=>j,fe:()=>k,zZ:()=>l});var d=c(3161),e=c(15194),f=c(72626),g=c(82484),h=c(14552);let i=(0,f.h)("agent-session-cost-sampler");function j(a,b=Date.now()){let c=0;for(let f of function(){let a=globalThis.__agentSessionTelemetry;if(!a)return[];let b=[];for(let c of a.keys()){let a=c.split(":");if(a.length<2||a.length>3)continue;let[d,f,g]=a;d&&(0,e.hR)(f)&&b.push({worktreeId:d,cliToolId:f,instanceId:g||void 0})}return b}()){let e=(0,d.Jl)(f.worktreeId,f.cliToolId,f.instanceId);if(e&&e.id)try{(0,h.c0)(a,{sessionId:e.id,worktreeId:f.worktreeId,cliToolId:f.cliToolId,instanceId:f.instanceId??null,date:function(a){let b=new Date(a),c=b.getFullYear(),d=String(b.getMonth()+1).padStart(2,"0"),e=String(b.getDate()).padStart(2,"0");return`${c}-${d}-${e}`}(e.at||b),title:e.title,agent:e.agent,model:e.model,provider:e.provider,cost:e.cost,tokensInput:e.tokens.input,tokensOutput:e.tokens.output,tokensReasoning:e.tokens.reasoning,tokensCacheRead:e.tokens.cacheRead,tokensCacheWrite:e.tokens.cacheWrite,observedAt:b})&&c++}catch(a){i.warn("sample-failed",{worktreeId:f.worktreeId,cliToolId:f.cliToolId,error:a instanceof Error?a.message:String(a)})}}return c}function k(a){if(globalThis.__agentSessionCostSampler||(0,g.V)())return!1;let b=setInterval(()=>{try{j(a)}catch(a){i.warn("sweep-failed",{error:a instanceof Error?a.message:String(a)})}},6e4);return b.unref?.(),globalThis.__agentSessionCostSampler=b,!0}function l(){globalThis.__agentSessionCostSampler&&(clearInterval(globalThis.__agentSessionCostSampler),globalThis.__agentSessionCostSampler=void 0)}},99499:(a,b,c)=>{c.d(b,{MX:()=>f,ac:()=>e,gn:()=>g});let d=["manual","auto","disabled"];function e(a){if("object"!=typeof a||null===a||Array.isArray(a))return null;let b=a.share;return"string"!=typeof b?null:d.includes(b)?b:null}function f(a){return"disabled"===a}function g(a){let b;if("object"!=typeof a||null===a||Array.isArray(a))return null;let c=a.share;if("object"!=typeof c||null===c||Array.isArray(c))return null;let d=c.url;if("string"!=typeof d||""===d)return null;try{b=new URL(d)}catch{return null}return"https:"===b.protocol?d:null}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=973,exports.ids=[973,8955],exports.modules={22354:(a,b,c)=>{c.d(b,{F0:()=>i.F,VM:()=>d.VM,_0:()=>e._0,c1:()=>j.c,o:()=>h.o,vm:()=>g.v,y_:()=>f.y_});var d=c(70096);c(66101),c(45567),c(57510),c(38367);var e=c(25071),f=c(50474),g=c(70997),h=c(77904),i=c(76835),j=c(2734)},23197:(a,b,c)=>{c.d(b,{H:()=>d});let d="__global__"},32002:(a,b,c)=>{c.d(b,{e:()=>h});var d=c(56791),e=c(26923),f=c(52201),g=c(15194);function h(a,b,c){let h=(0,d.getAgentInstances)(a,b);return h.length>0?h:(0,g.lu)((0,f.eG)({worktree:c,appSettings:(0,e.Ds)(a)}))}},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`}}}},56714:(a,b,c)=>{c.d(b,{B:()=>E,z:()=>B});var d=c(12693),e=c(15194),f=c(31990),g=c(95595),h=c(37717),i=c(56588),j=c(67882),k=c(64501),l=c(70594),m=c(23365),n=c(50945),o=c(35524),p=c(23197),q=c(30008),r=c(49891),s=c(40043),t=c(36261),u=c(15044),v=c(93373),w=c(95375),x=c(26547),y=c(70096),z=c(66101);let A=(0,c(72626).h)("lib/session/worktree-status-helper");function B(){return{probeCount:0,captureCount:0,healthCheckCount:0}}let C={prompt:3,menu:2,unclassified:1};async function D(a,b,d,e,p,B,C,D,E,F){let G=F??(0,u.ic)(a,b,d),H=p.has(e),I=H,J=null,K=(0,i.Bk)(a,b,d);if(I&&null===K){E&&E.healthCheckCount++;let a=await (0,n.S)(e,b);a.alive||(I=!1,J=a.reason)}let L={startingSince:K,isWaitingForResponse:!1,isProcessing:!1,waitingKind:null,structuredWaitingSince:null,statusEvidence:null,sessionStatusReason:null,isUnclassified:!1,reading:null},M={frameCapturedAt:0,frameFetchedAfterStart:!1};if(I)try{let e=(0,m.y)(b).statusLines;E&&E.captureCount++;let h=await (0,u.IW)(()=>(0,f.Wh)(a,b,e,d)),n=h.frame;M=h.frameTime;let p={db:B,worktreeId:a,cliToolId:b,instanceId:d},{compositeKey:t,statusResult:z}=function(a,b,c){let{worktreeId:d,cliToolId:e,instanceId:f}=b,h=(0,o.v7)(d,e,f),k=(0,o.xU)(h),l=k?new Date(k):void 0,m=(0,g.WC)(c,e,l);a.startingSince=(0,i.a3)(d,e,f,"waiting"===m.status||m.hasActivePrompt);let n=null===a.startingSince?m:(0,i.Gz)(m);return(0,w.recordCapturedModelInfo)(d,e,f,(0,x.jw)(e,c)),a.isUnclassified=(0,s.Q4)(n.status,n.reason),{isWaitingForResponse:a.isWaitingForResponse,isProcessing:a.isProcessing}=(0,j.O_)(n.status,a.isUnclassified),a.sessionStatusReason=n.reason,a.statusEvidence=n.evidence,{compositeKey:h,statusResult:n}}(L,p,n),{db:F,worktreeId:G,cliToolId:H,instanceId:I}=p,J=(0,q.xF)({worktreeId:G,cliToolId:H,instanceId:I,scraper:{status:z.status,reason:z.reason,hasActivePrompt:z.hasActivePrompt}});L.isWaitingForResponse=L.isWaitingForResponse||null===L.startingSince&&J.waiting;let K=null!==L.startingSince||L.isWaitingForResponse?null:function(a){let{worktreeId:b,cliToolId:c,instanceId:d,output:e,statusResult:f}=a;if(!a.isProcessing&&!(0,k.NV)(b,c,d,e))return null;let h=(0,k.$K)(b,c,d,(0,k.$x)(b,c,d),e);if(null===h)return null;let i={status:f.status,reason:f.reason,thinking:(0,g.f8)(f),evidence:f.evidence,isUnclassifiedActive:a.isUnclassified},j=(0,w.getPublishedAgentTurn)(b,c,d),m=(0,l.wG)(i,h,j)?(0,l.mi)(a.db,b,c,d):null;return(0,l.aT)(i,h,null,j,m)}({db:F,worktreeId:G,cliToolId:H,instanceId:I,output:n,statusResult:z,isUnclassified:L.isUnclassified,isProcessing:L.isProcessing});null!==K&&(L.isProcessing="running"===K.status),(0,s.ox)(t,K??{status:z.status,reason:z.reason,evidence:z.evidence}),L.structuredWaitingSince=null===L.startingSince?J.structured?.at??null:null,L.waitingKind=(0,r.t)({waiting:L.isWaitingForResponse,hasActivePrompt:z.hasActivePrompt,scraperStatus:z.status,scraperReason:z.reason,apiAnswerable:null===L.startingSince&&(0,q.$G)(J.structured,(0,y.VM)(H).capabilities.eventIdentity)}),L.reading=(0,v.Xn)({verdict:z,waiting:L.isWaitingForResponse,waitingKind:L.waitingKind,structuredWaiting:null===L.startingSince&&null!==J.structured,structuredSince:L.structuredWaitingSince});let{db:N,worktreeId:O,cliToolId:P,instanceId:Q}=p;!z.hasActivePrompt&&C(N,O,{limit:10,cliToolId:P,instanceId:Q}).some(a=>"prompt"===a.messageType&&a.promptData?.status!=="answered")&&D(N,O,P,Q,a=>{Promise.resolve().then(c.bind(c,43015)).then(({broadcastMessage:b})=>{b("message_updated",{worktreeId:O,message:a})}).catch(a=>{A.warn("prompt-sweep-broadcast-failed",{worktreeId:O,error:a instanceof Error?a.message:String(a)})})})}catch{L.isProcessing=!0}let N=I?L.reading??{kind:"not-waiting"}:{kind:"gone"};(0,u.cY)({worktreeId:a,cliToolId:b,instanceId:d,observer:"status-probe",start:G,reading:N,...M});let O=L.isWaitingForResponse?(0,t.Jp)(a,b,d)?.since??null:null,{model:P,effort:Q}=(0,w.getResolvedAgentModelInfo)(a,b,d),R=(0,o.v7)(a,b,d);I||(0,s.xG)(R);let S=I?(0,s.AD)(R):null,T=I?function(a,b,c){try{let d=(0,y.VM)(b),e=(0,z.Kf)(d,d.liveness({worktreeId:a,cliToolId:b,instanceId:c}),Date.now());if(void 0===e.degradedReason&&void 0===e.liveness)return null;return e}catch{return null}}(a,b,d):null;try{H?await (0,f.N5)({sessionName:e,worktreeId:a,cliToolId:b,instanceId:d,status:(0,j.kA)({isRunning:I,isWaitingForResponse:L.isWaitingForResponse,isProcessing:L.isProcessing})}):(0,f.Lw)(e)}catch(a){A.debug("tmux-surface:publish-failed",{sessionName:e,error:a instanceof Error?a.message:String(a)})}var U={worktreeId:a,cliToolId:b,instanceId:d,isRunning:I,exitedReason:J,waitingSince:O,model:P,effort:Q,lastKnown:S,eventSource:T};let{worktreeId:V,cliToolId:W,instanceId:X,isRunning:Y,exitedReason:Z,model:$,effort:_,lastKnown:aa,eventSource:ab}=U,{isWaitingForResponse:ac,isProcessing:ad,waitingKind:ae,statusEvidence:af,sessionStatusReason:ag,isUnclassified:ah,startingSince:ai}=L;return{isRunning:Y,isWaitingForResponse:ac,isProcessing:ad,waitingKind:ae,waitingSince:U.waitingSince,awaitingInstruction:Y&&(0,w.isAwaitingInstruction)(V,W,X),...null!==$?{model:$}:{},...null!==_?{reasoningEffort:_}:{},...null!==af?{statusEvidence:af}:{},...null!==ag?{sessionStatusReason:ag}:{},...ah?{isUnclassified:!0}:{},...null!==Z?{sessionStatusReason:h.g.EXITED,statusEvidence:"positive"}:{},...null!==aa?{lastKnownStatus:aa.status,lastKnownStatusAt:aa.at}:{},...null!==ab?{eventSource:ab}:{},...null!==ai?{startingSince:ai}:{}}}async function E(a,b,c,f,g,h,i,j){if(a===p.H)return{sessionStatusByCli:{},sessionStatusByInstance:{},isSessionRunning:!1,isWaitingForResponse:!1,isProcessing:!1};let k=d.CLIToolManager.getInstance(),l=e.XH,m=h(c,a).filter(a=>a.id!==a.cliTool),n=l.map(b=>({cliToolId:b,instanceId:b,sessionName:k.getTool(b).getSessionName(a,b)}));for(let b of m)n.push({cliToolId:b.cliTool,instanceId:b.id,sessionName:k.getTool(b.cliTool).getSessionName(a,b.id)});i&&(i.probeCount+=n.length);let o=await Promise.all(n.map(async d=>{let e=await D(a,d.cliToolId,d.instanceId,d.sessionName,b,c,f,g,i,j?.startFor(d.cliToolId,d.instanceId));return{...d,status:e}})),q={},r={};for(let{cliToolId:a,instanceId:b,status:c}of o){r[b]=c;let d=q[a];q[a]=d?function(a,b){var c,d,e,f;return{isRunning:a.isRunning||b.isRunning,isWaitingForResponse:a.isWaitingForResponse||b.isWaitingForResponse,isProcessing:a.isProcessing||b.isProcessing,waitingKind:(c=a.waitingKind,d=b.waitingKind,null===c?d:null===d||C[c]>=C[d]?c:d),waitingSince:(e=a.waitingSince,f=b.waitingSince,null===e?f:null===f?e:Math.min(e,f)),awaitingInstruction:a.awaitingInstruction||b.awaitingInstruction,...a.isUnclassified||b.isUnclassified?{isUnclassified:!0}:{}}}(d,c):c}let s=!1,t=!1,u=!1;for(let a of Object.values(q))a&&(a.isRunning&&(s=!0),a.isWaitingForResponse&&(t=!0),a.isProcessing&&(u=!0));return{sessionStatusByCli:q,sessionStatusByInstance:r,isSessionRunning:s,isWaitingForResponse:t,isProcessing:u}}},73495:(a,b,c)=>{c.d(b,{Me:()=>h});let d="don['’]t",e=["deny",/^No(?:,|$)/],f={claude:[["allow-once",/^Yes$/],["allow-persistent",/^Yes, and always allow\b/],["mode-change",/^Yes, allow all edits\b/],["mode-change",/^Yes, and switch to\b/],e],codex:[["allow-once",/^Yes$/],["allow-once",/^Yes, proceed\b/],["allow-once",/^Allow(?:\s{2,}|$)/],["allow-persistent",RegExp(`^Yes, and ${d} ask again\\b`)],["allow-persistent",/^Always allow\b/],["mode-change",/^Ask for approval\b/],["mode-change",/^Approve for me\b/],["mode-change",/^Full Access\b/],["deny",/^Cancel\b/],e],antigravity:[["allow-once",/^Yes$/],["allow-once",/^Yes, run command$/],["allow-once",/^Yes, allow creation$/],["allow-persistent",/^Yes, and always allow\b/],e],"command-code":[["allow-once",/^Yes$/],["allow-persistent",RegExp(`^Yes, ${d} ask again\\b`)],["mode-change",/^Yes, allow all edits\b/],e],copilot:[["allow-once",/^Yes$/],["allow-persistent",RegExp(`^Yes, and ${d} ask again\\b`)],["mode-change",/^Manual\b/],["mode-change",/^Allow all\b/],e]},g=Object.values(f).flat();function h(a,b){let c=void 0===b?g:f[b]??null;if(null===c)return{kind:"not-a-permission-dialog"};let d=a.map(a=>(function(a,b){let c=b.trim();for(let[b,d]of a)if(d.test(c))return b;return"unknown"})(c,a.label));if(!d.some(a=>"allow-once"===a||"allow-persistent"===a||"mode-change"===a))return{kind:"not-a-permission-dialog"};let e=a.filter((a,b)=>"allow-once"===d[b]);return 1===e.length?{kind:"allow-once",option:e[0]}:{kind:"unidentified",allowOnceCount:e.length}}Object.keys(f)},83530:(a,b,c)=>{c.d(b,{FH:()=>l,fV:()=>k,iK:()=>i,y4:()=>h});var d=c(73753),e=c(28274),f=c(15194);let g="claude",h="instance_tool_conflict";function i(a,b,c={}){let{instanceId:d,requestedCliTool:g}=c;if(!d)return g?{cliToolId:g,instanceId:g,resolvedBy:"explicit"}:j(a,b,void 0);let h=(0,e.BN)(a,b,d);if(h&&(0,f.hR)(h.cliTool)){let a={cliToolId:h.cliTool,instanceId:d,resolvedBy:"roster"};return g&&g!==h.cliTool&&(a.conflict={instanceId:d,rosterCliTool:h.cliTool,requestedCliTool:g}),a}return g?(0,f.hR)(d)&&g!==d?{cliToolId:d,instanceId:d,resolvedBy:"primary",conflict:{instanceId:d,rosterCliTool:d,requestedCliTool:g,primaryAnchor:!0}}:{cliToolId:g,instanceId:d,resolvedBy:"explicit"}:(0,f.hR)(d)?{cliToolId:d,instanceId:d,resolvedBy:"primary"}:j(a,b,d)}function j(a,b,c){let e=(0,d.getWorktreeById)(a,b),h=e?.cliToolId;return h&&(0,f.hR)(h)?{cliToolId:h,instanceId:c??h,resolvedBy:"worktree-default"}:{cliToolId:g,instanceId:c??g,resolvedBy:"fallback"}}function k(a,b,c={}){let d=i(a,b,c);return d.conflict?{ok:!1,error:h,conflict:d.conflict}:{ok:!0,target:d}}function l(a){return a.primaryAnchor?`Agent instance '${a.instanceId}' is the primary instance of ${a.rosterCliTool}, but ${a.requestedCliTool} was requested. Omit the agent, pass ${a.rosterCliTool}, or target a ${a.requestedCliTool} instance instead.`:`Agent instance '${a.instanceId}' is registered as ${a.rosterCliTool}, but ${a.requestedCliTool} was requested. Omit the agent, pass ${a.rosterCliTool}, or update the instance's roster entry.`}}};