commandmate 0.49.0 → 0.49.2

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 (806) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +251 -248
  3. package/.next/app-path-routes-manifest.json +22 -21
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/prerender-manifest.json +9 -9
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/routes-manifest.json +8 -0
  8. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -1
  10. package/.next/server/app/api/agents/versions/route_client-reference-manifest.js +1 -1
  11. package/.next/server/app/api/app/release-notes/route_client-reference-manifest.js +1 -1
  12. package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/capabilities/route.js +1 -1
  18. package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  24. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/hooks/agent-event/route.js +2 -2
  27. package/.next/server/app/api/hooks/agent-event/route.js.nft.json +1 -1
  28. package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/hooks/claude-done/route.js +2 -2
  30. package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
  31. package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/hooks/permission-request/route.js +1 -1
  33. package/.next/server/app/api/hooks/permission-request/route.js.nft.json +1 -1
  34. package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/push/subscriptions/route.js +1 -1
  39. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/relays/[relayId]/cancel/route.js +1 -1
  42. package/.next/server/app/api/relays/[relayId]/cancel/route.js.nft.json +1 -1
  43. package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/relays/[relayId]/route.js +1 -0
  45. package/.next/server/app/api/relays/[relayId]/route.js.nft.json +1 -0
  46. package/.next/server/app/api/relays/[relayId]/route_client-reference-manifest.js +1 -0
  47. package/.next/server/app/api/relays/route.js +1 -1
  48. package/.next/server/app/api/relays/route.js.nft.json +1 -1
  49. package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
  51. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
  53. package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
  54. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/repositories/clone/route.js +1 -1
  56. package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
  57. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/repositories/restore/route.js +1 -1
  60. package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
  61. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/repositories/route.js +1 -1
  63. package/.next/server/app/api/repositories/route.js.nft.json +1 -1
  64. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/repositories/scan/route.js +1 -1
  66. package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
  67. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/repositories/sync/route.js +1 -1
  69. package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
  70. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
  72. package/.next/server/app/api/settings/default-agents/route.js +1 -1
  73. package/.next/server/app/api/settings/default-agents/route.js.nft.json +1 -1
  74. package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
  76. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  78. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  82. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  84. package/.next/server/app/api/tasks/[taskId]/route.js +1 -1
  85. package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  86. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  88. package/.next/server/app/api/verification/runs/[runId]/route.js +1 -1
  89. package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
  90. package/.next/server/app/api/verification/runs/route.js +1 -1
  91. package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
  92. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
  93. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
  94. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  95. package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -1
  96. package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
  97. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  98. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js +1 -1
  99. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js.nft.json +1 -1
  100. package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/api/worktrees/[id]/cli-reference/route.js +1 -1
  102. package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/worktrees/[id]/cli-tool/route.js +1 -1
  104. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +1 -1
  106. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  107. package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
  108. package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
  109. package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
  110. package/.next/server/app/api/worktrees/[id]/direct-input/route.js +1 -1
  111. package/.next/server/app/api/worktrees/[id]/direct-input/route.js.nft.json +1 -1
  112. package/.next/server/app/api/worktrees/[id]/direct-input/route_client-reference-manifest.js +1 -1
  113. package/.next/server/app/api/worktrees/[id]/env/route.js +1 -1
  114. package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
  115. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js +1 -1
  116. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/worktrees/[id]/execution-logs/route.js +1 -1
  118. package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
  119. package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js +1 -1
  121. package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
  122. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js +1 -1
  123. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
  124. package/.next/server/app/api/worktrees/[id]/git/branches/route.js +1 -1
  125. package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
  126. package/.next/server/app/api/worktrees/[id]/git/checkout/route.js +1 -1
  127. package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
  128. package/.next/server/app/api/worktrees/[id]/git/commit/route.js +1 -1
  129. package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
  130. package/.next/server/app/api/worktrees/[id]/git/diff/route.js +1 -1
  131. package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/api/worktrees/[id]/git/fetch/route.js +1 -1
  133. package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
  134. package/.next/server/app/api/worktrees/[id]/git/log/route.js +1 -1
  135. package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
  136. package/.next/server/app/api/worktrees/[id]/git/pull/route.js +1 -1
  137. package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
  138. package/.next/server/app/api/worktrees/[id]/git/push/route.js +1 -1
  139. package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
  140. package/.next/server/app/api/worktrees/[id]/git/reset/route.js +1 -1
  141. package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
  142. package/.next/server/app/api/worktrees/[id]/git/revert/route.js +1 -1
  143. package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js +1 -1
  145. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
  146. package/.next/server/app/api/worktrees/[id]/git/stage/route.js +1 -1
  147. package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
  148. package/.next/server/app/api/worktrees/[id]/git/staged/route.js +1 -1
  149. package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
  150. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js +1 -1
  151. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
  152. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js +1 -1
  153. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
  154. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js +1 -1
  155. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
  156. package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js +1 -1
  157. package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
  158. package/.next/server/app/api/worktrees/[id]/git/stash/route.js +1 -1
  159. package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
  160. package/.next/server/app/api/worktrees/[id]/git/status/route.js +1 -1
  161. package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
  162. package/.next/server/app/api/worktrees/[id]/git/unstage/route.js +1 -1
  163. package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
  164. package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js +1 -1
  165. package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
  166. package/.next/server/app/api/worktrees/[id]/instances/notes/route.js +1 -1
  167. package/.next/server/app/api/worktrees/[id]/instances/notes/route_client-reference-manifest.js +1 -1
  168. package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js +1 -1
  169. package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js.nft.json +1 -1
  170. package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
  171. package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
  172. package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
  173. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  174. package/.next/server/app/api/worktrees/[id]/kill-session/route.js +2 -1
  175. package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
  176. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  177. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js +1 -1
  178. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js.nft.json +1 -1
  179. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  180. package/.next/server/app/api/worktrees/[id]/logs/route.js +2 -2
  181. package/.next/server/app/api/worktrees/[id]/logs/route.js.nft.json +1 -1
  182. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  183. package/.next/server/app/api/worktrees/[id]/marp-render/route.js +1 -1
  184. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  185. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js +1 -1
  186. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  187. package/.next/server/app/api/worktrees/[id]/memos/route.js +1 -1
  188. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  189. package/.next/server/app/api/worktrees/[id]/messages/route.js +1 -1
  190. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  191. package/.next/server/app/api/worktrees/[id]/opencode/diff/route.js +1 -1
  192. package/.next/server/app/api/worktrees/[id]/opencode/diff/route.js.nft.json +1 -1
  193. package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
  194. package/.next/server/app/api/worktrees/[id]/opencode/session/route.js +1 -1
  195. package/.next/server/app/api/worktrees/[id]/opencode/session/route.js.nft.json +1 -1
  196. package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
  197. package/.next/server/app/api/worktrees/[id]/opencode/share/route.js +1 -1
  198. package/.next/server/app/api/worktrees/[id]/opencode/share/route.js.nft.json +1 -1
  199. package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
  200. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
  201. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
  202. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  203. package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route.js +1 -1
  204. package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route.js.nft.json +1 -1
  205. package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route_client-reference-manifest.js +1 -1
  206. package/.next/server/app/api/worktrees/[id]/resolve-target/route.js +1 -1
  207. package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
  208. package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
  209. package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
  210. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  211. package/.next/server/app/api/worktrees/[id]/route.js +1 -1
  212. package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
  213. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  214. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +1 -1
  215. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  216. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +1 -1
  217. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  218. package/.next/server/app/api/worktrees/[id]/schedules/route.js +1 -1
  219. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  220. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  221. package/.next/server/app/api/worktrees/[id]/send/route.js +144 -1
  222. package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
  223. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  224. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js +2 -2
  225. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
  226. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
  227. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  228. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  229. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  230. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  231. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
  232. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
  233. package/.next/server/app/api/worktrees/[id]/skills/route.js +1 -1
  234. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  235. package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
  236. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  237. package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
  238. package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
  239. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  240. package/.next/server/app/api/worktrees/[id]/tasks/route.js +1 -1
  241. package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
  242. package/.next/server/app/api/worktrees/[id]/terminal/route.js +103 -1
  243. package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
  244. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  245. package/.next/server/app/api/worktrees/[id]/timers/history/route.js +1 -1
  246. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  247. package/.next/server/app/api/worktrees/[id]/timers/route.js +1 -1
  248. package/.next/server/app/api/worktrees/[id]/timers/route.js.nft.json +1 -1
  249. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  250. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js +1 -1
  251. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js.nft.json +1 -1
  252. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  253. package/.next/server/app/api/worktrees/[id]/todos/route.js +1 -1
  254. package/.next/server/app/api/worktrees/[id]/todos/route.js.nft.json +1 -1
  255. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  256. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  257. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  258. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  259. package/.next/server/app/api/worktrees/[id]/verify/config/route.js +1 -1
  260. package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
  261. package/.next/server/app/api/worktrees/[id]/verify/route.js +1 -1
  262. package/.next/server/app/api/worktrees/[id]/verify/route.js.nft.json +1 -1
  263. package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
  264. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js +1 -1
  265. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js.nft.json +1 -1
  266. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
  267. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js +1 -1
  268. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
  269. package/.next/server/app/api/worktrees/[id]/verify/runs/route.js +1 -1
  270. package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
  271. package/.next/server/app/api/worktrees/[id]/viewed/route.js +1 -1
  272. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  273. package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
  274. package/.next/server/app/api/worktrees/route.js +1 -1
  275. package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
  276. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  277. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  278. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  279. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  280. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  281. package/.next/server/app/page_client-reference-manifest.js +1 -1
  282. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  283. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  284. package/.next/server/app/review/page.js +1 -1
  285. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  286. package/.next/server/app/sessions/page.js +1 -1
  287. package/.next/server/app/sessions/page.js.nft.json +1 -1
  288. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  289. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  290. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
  291. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  292. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  293. package/.next/server/app/worktrees/[id]/page.js +11 -11
  294. package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
  295. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  296. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  297. package/.next/server/app-paths-manifest.json +22 -21
  298. package/.next/server/chunks/1062.js +1 -0
  299. package/.next/server/chunks/{936.js → 110.js} +1 -1
  300. package/.next/server/chunks/1501.js +5 -4
  301. package/.next/server/chunks/1656.js +2 -2
  302. package/.next/server/chunks/1957.js +2 -0
  303. package/.next/server/chunks/2119.js +1 -1
  304. package/.next/server/chunks/2404.js +1 -1
  305. package/.next/server/chunks/2445.js +1 -1
  306. package/.next/server/chunks/2897.js +1 -0
  307. package/.next/server/chunks/3417.js +1 -0
  308. package/.next/server/chunks/3505.js +1 -1
  309. package/.next/server/chunks/{4280.js → 3756.js} +1 -1
  310. package/.next/server/chunks/3801.js +31 -0
  311. package/.next/server/chunks/4911.js +1 -0
  312. package/.next/server/chunks/4936.js +1 -0
  313. package/.next/server/chunks/5209.js +2 -1
  314. package/.next/server/chunks/5354.js +1 -1
  315. package/.next/server/chunks/{9130.js → 5630.js} +1 -1
  316. package/.next/server/chunks/610.js +1 -0
  317. package/.next/server/chunks/6119.js +1 -1
  318. package/.next/server/chunks/6130.js +1 -1
  319. package/.next/server/chunks/6401.js +1 -1
  320. package/.next/server/chunks/6486.js +1 -1
  321. package/.next/server/chunks/6781.js +1 -1
  322. package/.next/server/chunks/6808.js +4 -0
  323. package/.next/server/chunks/7023.js +14 -0
  324. package/.next/server/chunks/7905.js +1 -1
  325. package/.next/server/chunks/8581.js +8 -8
  326. package/.next/server/chunks/8728.js +2 -2
  327. package/.next/server/chunks/8782.js +1 -1
  328. package/.next/server/chunks/8807.js +63 -53
  329. package/.next/server/chunks/8918.js +103 -1
  330. package/.next/server/chunks/9198.js +144 -0
  331. package/.next/server/chunks/9390.js +1 -1
  332. package/.next/server/chunks/9584.js +1 -1
  333. package/.next/server/chunks/9627.js +1 -1
  334. package/.next/server/chunks/9731.js +3 -3
  335. package/.next/server/middleware-manifest.json +5 -5
  336. package/.next/server/pages/500.html +1 -1
  337. package/.next/server/server-reference-manifest.json +1 -1
  338. package/.next/static/chunks/{2407-ab92ae9837c39dce.js → 2407-07a237575e1ceb9e.js} +1 -1
  339. package/.next/static/chunks/3931-61ad1a4fc0208d0e.js +1 -0
  340. package/.next/static/chunks/5794-7975b8e51e731b19.js +1 -0
  341. package/.next/static/chunks/6966-d8dc6032410ffaba.js +1 -0
  342. package/.next/static/chunks/7197-ed3b3d99ac3bd450.js +1 -0
  343. package/.next/static/chunks/7636-a48cf0f7110250c5.js +1 -0
  344. package/.next/static/chunks/app/api/agents/update/route-a4f129c451de7859.js +1 -0
  345. package/.next/static/chunks/app/api/agents/versions/route-a4f129c451de7859.js +1 -0
  346. package/.next/static/chunks/app/api/app/release-notes/route-a4f129c451de7859.js +1 -0
  347. package/.next/static/chunks/app/api/app/update/route-a4f129c451de7859.js +1 -0
  348. package/.next/static/chunks/app/api/app/update-check/route-a4f129c451de7859.js +1 -0
  349. package/.next/static/chunks/app/api/auth/login/route-a4f129c451de7859.js +1 -0
  350. package/.next/static/chunks/app/api/auth/logout/route-a4f129c451de7859.js +1 -0
  351. package/.next/static/chunks/app/api/auth/status/route-a4f129c451de7859.js +1 -0
  352. package/.next/static/chunks/app/api/capabilities/route-a4f129c451de7859.js +1 -0
  353. package/.next/static/chunks/app/api/daily-summary/route-a4f129c451de7859.js +1 -0
  354. package/.next/static/chunks/app/api/daily-summary/status/route-a4f129c451de7859.js +1 -0
  355. package/.next/static/chunks/app/api/external-apps/[id]/health/route-a4f129c451de7859.js +1 -0
  356. package/.next/static/chunks/app/api/external-apps/[id]/route-a4f129c451de7859.js +1 -0
  357. package/.next/static/chunks/app/api/external-apps/route-a4f129c451de7859.js +1 -0
  358. package/.next/static/chunks/app/api/fs/browse/route-a4f129c451de7859.js +1 -0
  359. package/.next/static/chunks/app/api/fs/recent-paths/route-a4f129c451de7859.js +1 -0
  360. package/.next/static/chunks/app/api/hooks/agent-event/route-a4f129c451de7859.js +1 -0
  361. package/.next/static/chunks/app/api/hooks/claude-done/route-a4f129c451de7859.js +1 -0
  362. package/.next/static/chunks/app/api/hooks/permission-request/route-a4f129c451de7859.js +1 -0
  363. package/.next/static/chunks/app/api/metrics/vibe/route-a4f129c451de7859.js +1 -0
  364. package/.next/static/chunks/app/api/ollama/models/route-a4f129c451de7859.js +1 -0
  365. package/.next/static/chunks/app/api/push/escalation/route-a4f129c451de7859.js +1 -0
  366. package/.next/static/chunks/app/api/push/subscriptions/route-a4f129c451de7859.js +1 -0
  367. package/.next/static/chunks/app/api/push/vapid/route-a4f129c451de7859.js +1 -0
  368. package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-a4f129c451de7859.js +1 -0
  369. package/.next/static/chunks/app/api/relays/[relayId]/route-a4f129c451de7859.js +1 -0
  370. package/.next/static/chunks/app/api/relays/route-a4f129c451de7859.js +1 -0
  371. package/.next/static/chunks/app/api/remote/pair/route-a4f129c451de7859.js +1 -0
  372. package/.next/static/chunks/app/api/repositories/[id]/route-a4f129c451de7859.js +1 -0
  373. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-a4f129c451de7859.js +1 -0
  374. package/.next/static/chunks/app/api/repositories/clone/route-a4f129c451de7859.js +1 -0
  375. package/.next/static/chunks/app/api/repositories/excluded/route-a4f129c451de7859.js +1 -0
  376. package/.next/static/chunks/app/api/repositories/restore/route-a4f129c451de7859.js +1 -0
  377. package/.next/static/chunks/app/api/repositories/route-a4f129c451de7859.js +1 -0
  378. package/.next/static/chunks/app/api/repositories/scan/route-a4f129c451de7859.js +1 -0
  379. package/.next/static/chunks/app/api/repositories/sync/route-a4f129c451de7859.js +1 -0
  380. package/.next/static/chunks/app/api/repositories/validate-path/route-a4f129c451de7859.js +1 -0
  381. package/.next/static/chunks/app/api/settings/default-agents/route-a4f129c451de7859.js +1 -0
  382. package/.next/static/chunks/app/api/settings/default-surface-mode/route-a4f129c451de7859.js +1 -0
  383. package/.next/static/chunks/app/api/sidebar/group-order/route-a4f129c451de7859.js +1 -0
  384. package/.next/static/chunks/app/api/skills/[id]/route-a4f129c451de7859.js +1 -0
  385. package/.next/static/chunks/app/api/skills/installations/route-a4f129c451de7859.js +1 -0
  386. package/.next/static/chunks/app/api/skills/operations/route-a4f129c451de7859.js +1 -0
  387. package/.next/static/chunks/app/api/skills/reindex/route-a4f129c451de7859.js +1 -0
  388. package/.next/static/chunks/app/api/skills/route-a4f129c451de7859.js +1 -0
  389. package/.next/static/chunks/app/api/slash-commands/route-a4f129c451de7859.js +1 -0
  390. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-a4f129c451de7859.js +1 -0
  391. package/.next/static/chunks/app/api/tasks/[taskId]/route-a4f129c451de7859.js +1 -0
  392. package/.next/static/chunks/app/api/templates/[id]/route-a4f129c451de7859.js +1 -0
  393. package/.next/static/chunks/app/api/templates/route-a4f129c451de7859.js +1 -0
  394. package/.next/static/chunks/app/api/verification/runs/[runId]/route-a4f129c451de7859.js +1 -0
  395. package/.next/static/chunks/app/api/verification/runs/route-a4f129c451de7859.js +1 -0
  396. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-a4f129c451de7859.js +1 -0
  397. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-a4f129c451de7859.js +1 -0
  398. package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-a4f129c451de7859.js +1 -0
  399. package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-a4f129c451de7859.js +1 -0
  400. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-a4f129c451de7859.js +1 -0
  401. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-a4f129c451de7859.js +1 -0
  402. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-a4f129c451de7859.js +1 -0
  403. package/.next/static/chunks/app/api/worktrees/[id]/direct-input/route-a4f129c451de7859.js +1 -0
  404. package/.next/static/chunks/app/api/worktrees/[id]/env/route-a4f129c451de7859.js +1 -0
  405. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-a4f129c451de7859.js +1 -0
  406. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-a4f129c451de7859.js +1 -0
  407. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-a4f129c451de7859.js +1 -0
  408. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-a4f129c451de7859.js +1 -0
  409. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-a4f129c451de7859.js +1 -0
  410. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-a4f129c451de7859.js +1 -0
  411. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-a4f129c451de7859.js +1 -0
  412. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-a4f129c451de7859.js +1 -0
  413. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-a4f129c451de7859.js +1 -0
  414. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-a4f129c451de7859.js +1 -0
  415. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-a4f129c451de7859.js +1 -0
  416. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-a4f129c451de7859.js +1 -0
  417. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-a4f129c451de7859.js +1 -0
  418. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-a4f129c451de7859.js +1 -0
  419. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-a4f129c451de7859.js +1 -0
  420. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-a4f129c451de7859.js +1 -0
  421. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-a4f129c451de7859.js +1 -0
  422. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-a4f129c451de7859.js +1 -0
  423. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-a4f129c451de7859.js +1 -0
  424. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-a4f129c451de7859.js +1 -0
  425. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-a4f129c451de7859.js +1 -0
  426. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-a4f129c451de7859.js +1 -0
  427. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-a4f129c451de7859.js +1 -0
  428. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-a4f129c451de7859.js +1 -0
  429. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-a4f129c451de7859.js +1 -0
  430. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-a4f129c451de7859.js +1 -0
  431. package/.next/static/chunks/app/api/worktrees/[id]/instances/notes/route-a4f129c451de7859.js +1 -0
  432. package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-a4f129c451de7859.js +1 -0
  433. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-a4f129c451de7859.js +1 -0
  434. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-a4f129c451de7859.js +1 -0
  435. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-a4f129c451de7859.js +1 -0
  436. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-a4f129c451de7859.js +1 -0
  437. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-a4f129c451de7859.js +1 -0
  438. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-a4f129c451de7859.js +1 -0
  439. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-a4f129c451de7859.js +1 -0
  440. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-a4f129c451de7859.js +1 -0
  441. package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-a4f129c451de7859.js +1 -0
  442. package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-a4f129c451de7859.js +1 -0
  443. package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-a4f129c451de7859.js +1 -0
  444. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-a4f129c451de7859.js +1 -0
  445. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/strict/route-a4f129c451de7859.js +1 -0
  446. package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-a4f129c451de7859.js +1 -0
  447. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-a4f129c451de7859.js +1 -0
  448. package/.next/static/chunks/app/api/worktrees/[id]/route-a4f129c451de7859.js +1 -0
  449. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-a4f129c451de7859.js +1 -0
  450. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-a4f129c451de7859.js +1 -0
  451. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-a4f129c451de7859.js +1 -0
  452. package/.next/static/chunks/app/api/worktrees/[id]/search/route-a4f129c451de7859.js +1 -0
  453. package/.next/static/chunks/app/api/worktrees/[id]/send/route-a4f129c451de7859.js +1 -0
  454. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-a4f129c451de7859.js +1 -0
  455. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-a4f129c451de7859.js +1 -0
  456. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-a4f129c451de7859.js +1 -0
  457. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-a4f129c451de7859.js +1 -0
  458. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-a4f129c451de7859.js +1 -0
  459. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-a4f129c451de7859.js +1 -0
  460. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-a4f129c451de7859.js +1 -0
  461. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-a4f129c451de7859.js +1 -0
  462. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-a4f129c451de7859.js +1 -0
  463. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-a4f129c451de7859.js +1 -0
  464. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-a4f129c451de7859.js +1 -0
  465. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-a4f129c451de7859.js +1 -0
  466. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-a4f129c451de7859.js +1 -0
  467. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-a4f129c451de7859.js +1 -0
  468. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-a4f129c451de7859.js +1 -0
  469. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-a4f129c451de7859.js +1 -0
  470. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-a4f129c451de7859.js +1 -0
  471. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-a4f129c451de7859.js +1 -0
  472. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-a4f129c451de7859.js +1 -0
  473. package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-a4f129c451de7859.js +1 -0
  474. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-a4f129c451de7859.js +1 -0
  475. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-a4f129c451de7859.js +1 -0
  476. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-a4f129c451de7859.js +1 -0
  477. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-a4f129c451de7859.js +1 -0
  478. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-a4f129c451de7859.js +1 -0
  479. package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-a4f129c451de7859.js +1 -0
  480. package/.next/static/chunks/app/api/worktrees/route-a4f129c451de7859.js +1 -0
  481. package/.next/static/chunks/app/layout-4f64316957b0a8e5.js +1 -0
  482. package/.next/static/chunks/app/manifest.webmanifest/route-a4f129c451de7859.js +1 -0
  483. package/.next/static/chunks/app/more/page-ff5af5ca48774c89.js +1 -0
  484. package/.next/static/chunks/app/page-b4863bfe0452e09d.js +1 -0
  485. package/.next/static/chunks/app/proxy/[...path]/route-a4f129c451de7859.js +1 -0
  486. package/.next/static/chunks/app/review/page-ff3efb96fdf9bb4b.js +1 -0
  487. package/.next/static/chunks/app/sessions/page-c6eb7c02db2f4c80.js +1 -0
  488. package/.next/static/chunks/app/worktrees/[id]/layout-a4f129c451de7859.js +1 -0
  489. package/.next/static/chunks/app/worktrees/[id]/page-33afc6aa96289fb0.js +1 -0
  490. package/.next/static/css/c1e307d05daf93b6.css +1 -0
  491. package/.next/trace +13 -13
  492. package/.next/types/app/api/relays/[relayId]/route.ts +347 -0
  493. package/.next/types/routes.d.ts +2 -1
  494. package/.next/types/validator.ts +9 -0
  495. package/dist/cli/commands/ask.d.ts.map +1 -1
  496. package/dist/cli/commands/ask.js +233 -17
  497. package/dist/cli/commands/attach.d.ts +4 -1
  498. package/dist/cli/commands/attach.d.ts.map +1 -1
  499. package/dist/cli/commands/attach.js +19 -7
  500. package/dist/cli/commands/command-target.d.ts +7 -0
  501. package/dist/cli/commands/command-target.d.ts.map +1 -1
  502. package/dist/cli/commands/command-target.js +10 -0
  503. package/dist/cli/commands/instances.d.ts.map +1 -1
  504. package/dist/cli/commands/instances.js +38 -2
  505. package/dist/cli/commands/message-dispatch.d.ts +39 -5
  506. package/dist/cli/commands/message-dispatch.d.ts.map +1 -1
  507. package/dist/cli/commands/message-dispatch.js +100 -8
  508. package/dist/cli/commands/relays.d.ts +26 -2
  509. package/dist/cli/commands/relays.d.ts.map +1 -1
  510. package/dist/cli/commands/relays.js +70 -5
  511. package/dist/cli/commands/respond-strict.d.ts.map +1 -1
  512. package/dist/cli/commands/respond-strict.js +22 -5
  513. package/dist/cli/commands/respond.d.ts +12 -0
  514. package/dist/cli/commands/respond.d.ts.map +1 -1
  515. package/dist/cli/commands/respond.js +83 -18
  516. package/dist/cli/commands/send.d.ts.map +1 -1
  517. package/dist/cli/commands/send.js +14 -8
  518. package/dist/cli/commands/wait-hook-stop-settle.d.ts +66 -0
  519. package/dist/cli/commands/wait-hook-stop-settle.d.ts.map +1 -0
  520. package/dist/cli/commands/wait-hook-stop-settle.js +150 -0
  521. package/dist/cli/commands/wait-instance.d.ts +29 -0
  522. package/dist/cli/commands/wait-instance.d.ts.map +1 -0
  523. package/dist/cli/commands/wait-instance.js +56 -0
  524. package/dist/cli/commands/wait-notices.d.ts +87 -0
  525. package/dist/cli/commands/wait-notices.d.ts.map +1 -0
  526. package/dist/cli/commands/wait-notices.js +301 -0
  527. package/dist/cli/commands/wait-poll-bookkeeping.d.ts +15 -0
  528. package/dist/cli/commands/wait-poll-bookkeeping.d.ts.map +1 -0
  529. package/dist/cli/commands/wait-poll-bookkeeping.js +57 -0
  530. package/dist/cli/commands/wait-poll-state.d.ts +136 -0
  531. package/dist/cli/commands/wait-poll-state.d.ts.map +1 -0
  532. package/dist/cli/commands/wait-poll-state.js +6 -0
  533. package/dist/cli/commands/wait-timing.d.ts +46 -0
  534. package/dist/cli/commands/wait-timing.d.ts.map +1 -0
  535. package/dist/cli/commands/wait-timing.js +99 -0
  536. package/dist/cli/commands/wait-turn-boundary.d.ts +284 -0
  537. package/dist/cli/commands/wait-turn-boundary.d.ts.map +1 -0
  538. package/dist/cli/commands/wait-turn-boundary.js +427 -0
  539. package/dist/cli/commands/wait-verify.d.ts +51 -0
  540. package/dist/cli/commands/wait-verify.d.ts.map +1 -0
  541. package/dist/cli/commands/wait-verify.js +128 -0
  542. package/dist/cli/commands/wait.d.ts +6 -105
  543. package/dist/cli/commands/wait.d.ts.map +1 -1
  544. package/dist/cli/commands/wait.js +240 -968
  545. package/dist/cli/commands/whoami.d.ts.map +1 -1
  546. package/dist/cli/commands/whoami.js +3 -1
  547. package/dist/cli/docs/agent-operations.d.ts +2 -2
  548. package/dist/cli/docs/agent-operations.d.ts.map +1 -1
  549. package/dist/cli/docs/agent-operations.js +24 -1
  550. package/dist/cli/types/api-responses.d.ts +49 -3
  551. package/dist/cli/types/api-responses.d.ts.map +1 -1
  552. package/dist/cli/utils/api-client.d.ts +69 -1
  553. package/dist/cli/utils/api-client.d.ts.map +1 -1
  554. package/dist/cli/utils/api-client.js +226 -18
  555. package/dist/cli/utils/follow-up-command.d.ts +38 -0
  556. package/dist/cli/utils/follow-up-command.d.ts.map +1 -0
  557. package/dist/cli/utils/follow-up-command.js +57 -0
  558. package/dist/cli/utils/reply-ledger.d.ts +80 -1
  559. package/dist/cli/utils/reply-ledger.d.ts.map +1 -1
  560. package/dist/cli/utils/reply-ledger.js +147 -2
  561. package/dist/cli/utils/server-capabilities.d.ts +18 -0
  562. package/dist/cli/utils/server-capabilities.d.ts.map +1 -1
  563. package/dist/cli/utils/server-capabilities.js +36 -3
  564. package/dist/cli/utils/session-target.d.ts +1 -1
  565. package/dist/cli/utils/session-target.d.ts.map +1 -1
  566. package/dist/cli/utils/session-target.js +3 -0
  567. package/dist/cli/utils/verify-runner.d.ts +7 -0
  568. package/dist/cli/utils/verify-runner.d.ts.map +1 -1
  569. package/dist/cli/utils/verify-runner.js +51 -15
  570. package/dist/lib/cli-tools/session-name.d.ts.map +1 -1
  571. package/dist/lib/cli-tools/session-name.js +11 -3
  572. package/dist/lib/session/send-attempt-types.d.ts +48 -1
  573. package/dist/lib/session/send-attempt-types.d.ts.map +1 -1
  574. package/dist/lib/session/send-attempt-types.js +18 -1
  575. package/dist/lib/verification/session-kill-ledger.d.ts +110 -0
  576. package/dist/lib/verification/session-kill-ledger.d.ts.map +1 -0
  577. package/dist/lib/verification/session-kill-ledger.js +174 -0
  578. package/dist/server/locales/en/worktree.json +20 -3
  579. package/dist/server/locales/ja/worktree.json +20 -3
  580. package/dist/server/src/config/cli-tool-timing-config.js +1 -7
  581. package/dist/server/src/lib/auto-yes-poller.js +54 -11
  582. package/dist/server/src/lib/cli-tools/antigravity.js +45 -9
  583. package/dist/server/src/lib/cli-tools/base.js +39 -0
  584. package/dist/server/src/lib/cli-tools/codex.js +67 -15
  585. package/dist/server/src/lib/cli-tools/command-code-plan-review.js +24 -2
  586. package/dist/server/src/lib/cli-tools/command-code.js +7 -3
  587. package/dist/server/src/lib/cli-tools/copilot.js +125 -33
  588. package/dist/server/src/lib/cli-tools/gemini.js +37 -10
  589. package/dist/server/src/lib/cli-tools/launch-keys.js +39 -0
  590. package/dist/server/src/lib/cli-tools/opencode-v2.js +6 -2
  591. package/dist/server/src/lib/cli-tools/opencode.js +60 -15
  592. package/dist/server/src/lib/cli-tools/session-name.js +11 -3
  593. package/dist/server/src/lib/cli-tools/submit-composer-read.js +590 -0
  594. package/dist/server/src/lib/cli-tools/submit-verified-sender.js +512 -620
  595. package/dist/server/src/lib/cli-tools/vibe-local.js +4 -2
  596. package/dist/server/src/lib/db/db-migration-path.js +63 -2
  597. package/dist/server/src/lib/db/migrations/index.js +2 -0
  598. package/dist/server/src/lib/db/migrations/pre-migration-backup.js +266 -0
  599. package/dist/server/src/lib/db/migrations/runner.js +37 -4
  600. package/dist/server/src/lib/db/migrations/v62-session-relays-bind.js +102 -0
  601. package/dist/server/src/lib/db/relay-bind-db.js +437 -0
  602. package/dist/server/src/lib/db/relay-db.js +59 -96
  603. package/dist/server/src/lib/detection/prompt-detect-multiple-choice.js +5 -4
  604. package/dist/server/src/lib/detection/upstream-faults.js +40 -6
  605. package/dist/server/src/lib/hooks/sources/copilot/hook-settings.js +2 -3
  606. package/dist/server/src/lib/hooks/sources/opencode/client.js +12 -6
  607. package/dist/server/src/lib/polling/response-checker.js +7 -5
  608. package/dist/server/src/lib/prompt-answer-errors.js +362 -0
  609. package/dist/server/src/lib/prompt-answer-sender.js +264 -288
  610. package/dist/server/src/lib/push/failure-episode-state.js +4 -1
  611. package/dist/server/src/lib/realtime/terminal-broadcast.js +1 -4
  612. package/dist/server/src/lib/realtime-snippet.js +54 -0
  613. package/dist/server/src/lib/relay/relay-bind.js +294 -0
  614. package/dist/server/src/lib/relay/relay-boot.js +51 -0
  615. package/dist/server/src/lib/relay/relay-bound-reply.js +519 -0
  616. package/dist/server/src/lib/relay/relay-delivery.js +134 -220
  617. package/dist/server/src/lib/relay/relay-messages.js +39 -4
  618. package/dist/server/src/lib/relay/relay-overlap.js +92 -0
  619. package/dist/server/src/lib/relay/relay-system-line.js +3 -2
  620. package/dist/server/src/lib/relay/types.js +12 -1
  621. package/dist/server/src/lib/session/agent-event-state.js +4 -0
  622. package/dist/server/src/lib/session/agent-session-lifecycle.js +23 -0
  623. package/dist/server/src/lib/session/claude-session.js +59 -8
  624. package/dist/server/src/lib/session/composer-clear.js +54 -1
  625. package/dist/server/src/lib/session/current-output-builder.js +26 -8
  626. package/dist/server/src/lib/session/current-output-history-writers.js +1 -1
  627. package/dist/server/src/lib/session/instance-input-lock.js +664 -0
  628. package/dist/server/src/lib/session/prompt-submit-receipt.js +155 -0
  629. package/dist/server/src/lib/session/prompt-waiting-guard.js +10 -3
  630. package/dist/server/src/lib/session/send-attempt-state.js +65 -0
  631. package/dist/server/src/lib/session/send-attempt-types.js +18 -1
  632. package/dist/server/src/lib/session/send-user-message.js +84 -14
  633. package/dist/server/src/lib/session/session-launch-flight.js +243 -0
  634. package/dist/server/src/lib/session/session-starting-state.js +40 -4
  635. package/dist/server/src/lib/session/structured-prompt.js +12 -9
  636. package/dist/server/src/lib/session/waiting-episode-binding.js +4 -2
  637. package/dist/server/src/lib/session-cleanup.js +32 -0
  638. package/dist/server/src/lib/session-key-sender.js +0 -27
  639. package/dist/server/src/lib/verification/env-clean-gate.js +129 -0
  640. package/dist/server/src/lib/verification/env-snapshot.js +11 -2
  641. package/dist/server/src/lib/verification/session-kill-ledger.js +174 -0
  642. package/package.json +5 -1
  643. package/release-notes/0.49.1.json +66 -0
  644. package/release-notes/0.49.2.json +49 -0
  645. package/.next/server/chunks/1210.js +0 -1
  646. package/.next/server/chunks/1945.js +0 -14
  647. package/.next/server/chunks/1990.js +0 -103
  648. package/.next/server/chunks/4194.js +0 -67
  649. package/.next/server/chunks/5845.js +0 -1
  650. package/.next/server/chunks/720.js +0 -103
  651. package/.next/server/chunks/7604.js +0 -2
  652. package/.next/server/chunks/9540.js +0 -1
  653. package/.next/static/chunks/4768-ad6f82f034f21eae.js +0 -1
  654. package/.next/static/chunks/5794-80ac3f06f098ea29.js +0 -1
  655. package/.next/static/chunks/6654-f3534f35f16644bc.js +0 -1
  656. package/.next/static/chunks/7665-e9ef6e0a85b9fa49.js +0 -1
  657. package/.next/static/chunks/8606-cf6bdbff44a764cf.js +0 -1
  658. package/.next/static/chunks/9079-987939d231704218.js +0 -1
  659. package/.next/static/chunks/app/api/agents/update/route-c81284a9d8b35304.js +0 -1
  660. package/.next/static/chunks/app/api/agents/versions/route-c81284a9d8b35304.js +0 -1
  661. package/.next/static/chunks/app/api/app/release-notes/route-c81284a9d8b35304.js +0 -1
  662. package/.next/static/chunks/app/api/app/update/route-c81284a9d8b35304.js +0 -1
  663. package/.next/static/chunks/app/api/app/update-check/route-c81284a9d8b35304.js +0 -1
  664. package/.next/static/chunks/app/api/auth/login/route-c81284a9d8b35304.js +0 -1
  665. package/.next/static/chunks/app/api/auth/logout/route-c81284a9d8b35304.js +0 -1
  666. package/.next/static/chunks/app/api/auth/status/route-c81284a9d8b35304.js +0 -1
  667. package/.next/static/chunks/app/api/capabilities/route-c81284a9d8b35304.js +0 -1
  668. package/.next/static/chunks/app/api/daily-summary/route-c81284a9d8b35304.js +0 -1
  669. package/.next/static/chunks/app/api/daily-summary/status/route-c81284a9d8b35304.js +0 -1
  670. package/.next/static/chunks/app/api/external-apps/[id]/health/route-c81284a9d8b35304.js +0 -1
  671. package/.next/static/chunks/app/api/external-apps/[id]/route-c81284a9d8b35304.js +0 -1
  672. package/.next/static/chunks/app/api/external-apps/route-c81284a9d8b35304.js +0 -1
  673. package/.next/static/chunks/app/api/fs/browse/route-c81284a9d8b35304.js +0 -1
  674. package/.next/static/chunks/app/api/fs/recent-paths/route-c81284a9d8b35304.js +0 -1
  675. package/.next/static/chunks/app/api/hooks/agent-event/route-c81284a9d8b35304.js +0 -1
  676. package/.next/static/chunks/app/api/hooks/claude-done/route-c81284a9d8b35304.js +0 -1
  677. package/.next/static/chunks/app/api/hooks/permission-request/route-c81284a9d8b35304.js +0 -1
  678. package/.next/static/chunks/app/api/metrics/vibe/route-c81284a9d8b35304.js +0 -1
  679. package/.next/static/chunks/app/api/ollama/models/route-c81284a9d8b35304.js +0 -1
  680. package/.next/static/chunks/app/api/push/escalation/route-c81284a9d8b35304.js +0 -1
  681. package/.next/static/chunks/app/api/push/subscriptions/route-c81284a9d8b35304.js +0 -1
  682. package/.next/static/chunks/app/api/push/vapid/route-c81284a9d8b35304.js +0 -1
  683. package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-c81284a9d8b35304.js +0 -1
  684. package/.next/static/chunks/app/api/relays/route-c81284a9d8b35304.js +0 -1
  685. package/.next/static/chunks/app/api/remote/pair/route-c81284a9d8b35304.js +0 -1
  686. package/.next/static/chunks/app/api/repositories/[id]/route-c81284a9d8b35304.js +0 -1
  687. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-c81284a9d8b35304.js +0 -1
  688. package/.next/static/chunks/app/api/repositories/clone/route-c81284a9d8b35304.js +0 -1
  689. package/.next/static/chunks/app/api/repositories/excluded/route-c81284a9d8b35304.js +0 -1
  690. package/.next/static/chunks/app/api/repositories/restore/route-c81284a9d8b35304.js +0 -1
  691. package/.next/static/chunks/app/api/repositories/route-c81284a9d8b35304.js +0 -1
  692. package/.next/static/chunks/app/api/repositories/scan/route-c81284a9d8b35304.js +0 -1
  693. package/.next/static/chunks/app/api/repositories/sync/route-c81284a9d8b35304.js +0 -1
  694. package/.next/static/chunks/app/api/repositories/validate-path/route-c81284a9d8b35304.js +0 -1
  695. package/.next/static/chunks/app/api/settings/default-agents/route-c81284a9d8b35304.js +0 -1
  696. package/.next/static/chunks/app/api/settings/default-surface-mode/route-c81284a9d8b35304.js +0 -1
  697. package/.next/static/chunks/app/api/sidebar/group-order/route-c81284a9d8b35304.js +0 -1
  698. package/.next/static/chunks/app/api/skills/[id]/route-c81284a9d8b35304.js +0 -1
  699. package/.next/static/chunks/app/api/skills/installations/route-c81284a9d8b35304.js +0 -1
  700. package/.next/static/chunks/app/api/skills/operations/route-c81284a9d8b35304.js +0 -1
  701. package/.next/static/chunks/app/api/skills/reindex/route-c81284a9d8b35304.js +0 -1
  702. package/.next/static/chunks/app/api/skills/route-c81284a9d8b35304.js +0 -1
  703. package/.next/static/chunks/app/api/slash-commands/route-c81284a9d8b35304.js +0 -1
  704. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-c81284a9d8b35304.js +0 -1
  705. package/.next/static/chunks/app/api/tasks/[taskId]/route-c81284a9d8b35304.js +0 -1
  706. package/.next/static/chunks/app/api/templates/[id]/route-c81284a9d8b35304.js +0 -1
  707. package/.next/static/chunks/app/api/templates/route-c81284a9d8b35304.js +0 -1
  708. package/.next/static/chunks/app/api/verification/runs/[runId]/route-c81284a9d8b35304.js +0 -1
  709. package/.next/static/chunks/app/api/verification/runs/route-c81284a9d8b35304.js +0 -1
  710. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-c81284a9d8b35304.js +0 -1
  711. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-c81284a9d8b35304.js +0 -1
  712. package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-c81284a9d8b35304.js +0 -1
  713. package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-c81284a9d8b35304.js +0 -1
  714. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-c81284a9d8b35304.js +0 -1
  715. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-c81284a9d8b35304.js +0 -1
  716. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-c81284a9d8b35304.js +0 -1
  717. package/.next/static/chunks/app/api/worktrees/[id]/direct-input/route-c81284a9d8b35304.js +0 -1
  718. package/.next/static/chunks/app/api/worktrees/[id]/env/route-c81284a9d8b35304.js +0 -1
  719. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-c81284a9d8b35304.js +0 -1
  720. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-c81284a9d8b35304.js +0 -1
  721. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-c81284a9d8b35304.js +0 -1
  722. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-c81284a9d8b35304.js +0 -1
  723. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-c81284a9d8b35304.js +0 -1
  724. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-c81284a9d8b35304.js +0 -1
  725. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-c81284a9d8b35304.js +0 -1
  726. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-c81284a9d8b35304.js +0 -1
  727. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-c81284a9d8b35304.js +0 -1
  728. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-c81284a9d8b35304.js +0 -1
  729. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-c81284a9d8b35304.js +0 -1
  730. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-c81284a9d8b35304.js +0 -1
  731. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-c81284a9d8b35304.js +0 -1
  732. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-c81284a9d8b35304.js +0 -1
  733. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-c81284a9d8b35304.js +0 -1
  734. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-c81284a9d8b35304.js +0 -1
  735. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-c81284a9d8b35304.js +0 -1
  736. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-c81284a9d8b35304.js +0 -1
  737. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-c81284a9d8b35304.js +0 -1
  738. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-c81284a9d8b35304.js +0 -1
  739. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-c81284a9d8b35304.js +0 -1
  740. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-c81284a9d8b35304.js +0 -1
  741. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-c81284a9d8b35304.js +0 -1
  742. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-c81284a9d8b35304.js +0 -1
  743. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-c81284a9d8b35304.js +0 -1
  744. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-c81284a9d8b35304.js +0 -1
  745. package/.next/static/chunks/app/api/worktrees/[id]/instances/notes/route-c81284a9d8b35304.js +0 -1
  746. package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-c81284a9d8b35304.js +0 -1
  747. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-c81284a9d8b35304.js +0 -1
  748. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-c81284a9d8b35304.js +0 -1
  749. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-c81284a9d8b35304.js +0 -1
  750. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-c81284a9d8b35304.js +0 -1
  751. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-c81284a9d8b35304.js +0 -1
  752. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-c81284a9d8b35304.js +0 -1
  753. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-c81284a9d8b35304.js +0 -1
  754. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-c81284a9d8b35304.js +0 -1
  755. package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-c81284a9d8b35304.js +0 -1
  756. package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-c81284a9d8b35304.js +0 -1
  757. package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-c81284a9d8b35304.js +0 -1
  758. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-c81284a9d8b35304.js +0 -1
  759. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/strict/route-c81284a9d8b35304.js +0 -1
  760. package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-c81284a9d8b35304.js +0 -1
  761. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-c81284a9d8b35304.js +0 -1
  762. package/.next/static/chunks/app/api/worktrees/[id]/route-c81284a9d8b35304.js +0 -1
  763. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-c81284a9d8b35304.js +0 -1
  764. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-c81284a9d8b35304.js +0 -1
  765. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-c81284a9d8b35304.js +0 -1
  766. package/.next/static/chunks/app/api/worktrees/[id]/search/route-c81284a9d8b35304.js +0 -1
  767. package/.next/static/chunks/app/api/worktrees/[id]/send/route-c81284a9d8b35304.js +0 -1
  768. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-c81284a9d8b35304.js +0 -1
  769. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-c81284a9d8b35304.js +0 -1
  770. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-c81284a9d8b35304.js +0 -1
  771. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-c81284a9d8b35304.js +0 -1
  772. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-c81284a9d8b35304.js +0 -1
  773. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-c81284a9d8b35304.js +0 -1
  774. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-c81284a9d8b35304.js +0 -1
  775. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-c81284a9d8b35304.js +0 -1
  776. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-c81284a9d8b35304.js +0 -1
  777. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-c81284a9d8b35304.js +0 -1
  778. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-c81284a9d8b35304.js +0 -1
  779. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-c81284a9d8b35304.js +0 -1
  780. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-c81284a9d8b35304.js +0 -1
  781. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-c81284a9d8b35304.js +0 -1
  782. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-c81284a9d8b35304.js +0 -1
  783. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-c81284a9d8b35304.js +0 -1
  784. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-c81284a9d8b35304.js +0 -1
  785. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-c81284a9d8b35304.js +0 -1
  786. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-c81284a9d8b35304.js +0 -1
  787. package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-c81284a9d8b35304.js +0 -1
  788. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-c81284a9d8b35304.js +0 -1
  789. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-c81284a9d8b35304.js +0 -1
  790. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-c81284a9d8b35304.js +0 -1
  791. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-c81284a9d8b35304.js +0 -1
  792. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-c81284a9d8b35304.js +0 -1
  793. package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-c81284a9d8b35304.js +0 -1
  794. package/.next/static/chunks/app/api/worktrees/route-c81284a9d8b35304.js +0 -1
  795. package/.next/static/chunks/app/layout-aa8e66164a4367af.js +0 -1
  796. package/.next/static/chunks/app/manifest.webmanifest/route-c81284a9d8b35304.js +0 -1
  797. package/.next/static/chunks/app/more/page-87c84987b2765213.js +0 -1
  798. package/.next/static/chunks/app/page-1b820c421db48c2c.js +0 -1
  799. package/.next/static/chunks/app/proxy/[...path]/route-c81284a9d8b35304.js +0 -1
  800. package/.next/static/chunks/app/review/page-e2fd4a590646a2d8.js +0 -1
  801. package/.next/static/chunks/app/sessions/page-cfd645305e25fd33.js +0 -1
  802. package/.next/static/chunks/app/worktrees/[id]/layout-c81284a9d8b35304.js +0 -1
  803. package/.next/static/chunks/app/worktrees/[id]/page-a8d7886703ffc7b4.js +0 -1
  804. package/.next/static/css/db8959555c3d9c96.css +0 -1
  805. /package/.next/static/{3_JtAZaKMJEDFIIfkHv4n → yGatWDsS532awSs51kXyd}/_buildManifest.js +0 -0
  806. /package/.next/static/{3_JtAZaKMJEDFIIfkHv4n → yGatWDsS532awSs51kXyd}/_ssgManifest.js +0 -0
@@ -329,15 +329,15 @@
329
329
  AND status IN (${f})
330
330
  ORDER BY updated_at DESC, created_at DESC, rowid DESC
331
331
  LIMIT 1
332
- `).get(b,c,d,+!!e,...g);return h?k(h):null}},67469:(a,b,c)=>{c.d(b,{FT:()=>f,Mj:()=>g,PS:()=>h,Wy:()=>ab,vI:()=>aa,i6:()=>i});var d=c(33873),e=c.n(d);let f=61;function g(a){try{let b=a.prepare("SELECT MAX(version) as version FROM schema_version").get();return b?.version??0}catch{return 0}}function h(a){try{return a.prepare(`
332
+ `).get(b,c,d,+!!e,...g);return h?k(h):null}},55741:(a,b,c)=>{c.d(b,{FT:()=>p,Mj:()=>q,PS:()=>r,Wy:()=>am,vI:()=>al,i6:()=>s});var d=c(33873),e=c.n(d),f=c(87550),g=c.n(f),h=c(55511),i=c.n(h),j=c(29021),k=c.n(j);let l="CM_DB_SKIP_MIGRATION_BACKUP",m=".partial";function n(a){let b=e().resolve(a);return{dir:e().join(e().dirname(b),"db-backups"),dbFileName:e().basename(b)}}function o(a,b){return e().join(a,`${b}.last-complete-version`)}let p=62;function q(a){try{let b=a.prepare("SELECT MAX(version) as version FROM schema_version").get();return b?.version??0}catch{return 0}}function r(a){try{return a.prepare(`
333
333
  SELECT version, name, applied_at
334
334
  FROM schema_version
335
335
  ORDER BY version ASC
336
- `).all().map(a=>({version:a.version,name:a.name,appliedAt:new Date(a.applied_at)}))}catch{return[]}}function i(a){try{let b=a.prepare(`
336
+ `).all().map(a=>({version:a.version,name:a.name,appliedAt:new Date(a.applied_at)}))}catch{return[]}}function s(a){try{let b=a.prepare(`
337
337
  SELECT name FROM sqlite_master
338
338
  WHERE type='table' AND name NOT LIKE 'sqlite_%'
339
339
  ORDER BY name
340
- `).all().map(a=>a.name),c=["worktrees","chat_messages","session_states","schema_version","worktree_memos","worktree_todos","external_apps","repositories","clone_jobs","scheduled_executions","execution_logs","daily_reports","report_templates","app_settings","assistant_conversations","assistant_messages","assistant_session_states","agent_instances"].filter(a=>!b.includes(a));if(c.length>0)return console.error("Missing required tables:",c.join(", ")),!1;return!0}catch(a){return console.error("Schema validation failed:",a),!1}}function j(a){let b=c(29021),d=a;for(;d!==e().dirname(d);){let a=e().join(d,".git");if(b.existsSync(a)){let c=b.statSync(a);if(c.isDirectory())return d;if(c.isFile()){let c=b.readFileSync(a,"utf-8").trim().match(/^gitdir:\s*(.+)$/);if(c)return c[1].split("/.git/")[0]}}d=e().dirname(d)}return a}var k=c(683);let l=[{version:1,name:"initial-schema",up:a=>{(0,k.s4)(a)},down:a=>{a.exec("DROP TABLE IF EXISTS session_states;"),a.exec("DROP TABLE IF EXISTS chat_messages;"),a.exec("DROP TABLE IF EXISTS worktrees;")}},{version:2,name:"add-multi-repo-and-memo-support",up:a=>{a.exec(`
340
+ `).all().map(a=>a.name),c=["worktrees","chat_messages","session_states","schema_version","worktree_memos","worktree_todos","external_apps","repositories","clone_jobs","scheduled_executions","execution_logs","daily_reports","report_templates","app_settings","assistant_conversations","assistant_messages","assistant_session_states","agent_instances"].filter(a=>!b.includes(a));if(c.length>0)return console.error("Missing required tables:",c.join(", ")),!1;return!0}catch(a){return console.error("Schema validation failed:",a),!1}}function t(a){let b=c(29021),d=a;for(;d!==e().dirname(d);){let a=e().join(d,".git");if(b.existsSync(a)){let c=b.statSync(a);if(c.isDirectory())return d;if(c.isFile()){let c=b.readFileSync(a,"utf-8").trim().match(/^gitdir:\s*(.+)$/);if(c)return c[1].split("/.git/")[0]}}d=e().dirname(d)}return a}var u=c(683);let v=[{version:1,name:"initial-schema",up:a=>{(0,u.s4)(a)},down:a=>{a.exec("DROP TABLE IF EXISTS session_states;"),a.exec("DROP TABLE IF EXISTS chat_messages;"),a.exec("DROP TABLE IF EXISTS worktrees;")}},{version:2,name:"add-multi-repo-and-memo-support",up:a=>{a.exec(`
341
341
  ALTER TABLE worktrees ADD COLUMN repository_path TEXT;
342
342
  ALTER TABLE worktrees ADD COLUMN repository_name TEXT;
343
343
  ALTER TABLE worktrees ADD COLUMN memo TEXT;
@@ -351,7 +351,7 @@
351
351
  SET repository_path = ?,
352
352
  repository_name = ?
353
353
  WHERE id = ?
354
- `);for(let a of b){let b=j(a.path),d=e().basename(b);c.run(b,d,a.id)}let d=a.prepare(`
354
+ `);for(let a of b){let b=t(a.path),d=e().basename(b);c.run(b,d,a.id)}let d=a.prepare(`
355
355
  UPDATE worktrees
356
356
  SET last_user_message = ?,
357
357
  last_user_message_at = ?
@@ -395,7 +395,7 @@
395
395
  SET repository_path = ?,
396
396
  repository_name = ?
397
397
  WHERE id = ?
398
- `);for(let a of b){let b=j(a.path),d=e().basename(b);c.run(b,d,a.id)}},down:()=>{console.log("No rollback needed for repository path fix")}},{version:4,name:"add-favorite-field",up:a=>{a.exec(`
398
+ `);for(let a of b){let b=t(a.path),d=e().basename(b);c.run(b,d,a.id)}},down:()=>{console.log("No rollback needed for repository path fix")}},{version:4,name:"add-favorite-field",up:a=>{a.exec(`
399
399
  ALTER TABLE worktrees ADD COLUMN favorite INTEGER DEFAULT 0;
400
400
  `),a.exec(`
401
401
  CREATE INDEX IF NOT EXISTS idx_worktrees_favorite
@@ -409,7 +409,7 @@
409
409
  ON worktrees(status);
410
410
  `)},down:a=>{a.exec(`
411
411
  DROP INDEX IF EXISTS idx_worktrees_status;
412
- `)}}],m=[{version:6,name:"add-link-field",up:a=>{a.exec(`
412
+ `)}}],w=[{version:6,name:"add-link-field",up:a=>{a.exec(`
413
413
  ALTER TABLE worktrees ADD COLUMN link TEXT DEFAULT NULL;
414
414
  `)},down:()=>{console.log("No rollback needed for link field")}},{version:7,name:"add-cli-tool-id",up:a=>{a.exec(`
415
415
  ALTER TABLE worktrees ADD COLUMN cli_tool_id TEXT DEFAULT 'claude';
@@ -515,7 +515,7 @@
515
515
  `).all(),e=a.prepare(`
516
516
  INSERT INTO worktree_memos (id, worktree_id, title, content, position, created_at, updated_at)
517
517
  VALUES (?, ?, 'Memo', ?, 0, ?, ?)
518
- `),f=Date.now();for(let a of d)e.run(b(),a.id,a.memo,f,f);console.log("Created worktree_memos table"),console.log(`Migrated ${d.length} existing memos to new table`)},down:a=>{a.exec("DROP TABLE IF EXISTS worktree_memos"),console.log("Dropped worktree_memos table")}}],n=[{version:11,name:"add-viewed-tracking",up:a=>{a.exec(`
518
+ `),f=Date.now();for(let a of d)e.run(b(),a.id,a.memo,f,f);console.log("Created worktree_memos table"),console.log(`Migrated ${d.length} existing memos to new table`)},down:a=>{a.exec("DROP TABLE IF EXISTS worktree_memos"),console.log("Dropped worktree_memos table")}}],x=[{version:11,name:"add-viewed-tracking",up:a=>{a.exec(`
519
519
  ALTER TABLE worktrees ADD COLUMN last_viewed_at TEXT;
520
520
  `),a.exec(`
521
521
  CREATE INDEX IF NOT EXISTS idx_chat_messages_assistant_latest
@@ -660,7 +660,7 @@
660
660
 
661
661
  CREATE INDEX IF NOT EXISTS idx_worktrees_cli_tool
662
662
  ON worktrees(cli_tool_id);
663
- `),console.log("Removed initial_branch column from worktrees table")}}],o=[{version:16,name:"add-issue-no-to-external-apps",up:a=>{a.exec(`
663
+ `),console.log("Removed initial_branch column from worktrees table")}}],y=[{version:16,name:"add-issue-no-to-external-apps",up:a=>{a.exec(`
664
664
  ALTER TABLE external_apps ADD COLUMN issue_no INTEGER;
665
665
  `),a.exec(`
666
666
  CREATE INDEX IF NOT EXISTS idx_external_apps_issue_no ON external_apps(issue_no);
@@ -775,7 +775,7 @@
775
775
  ALTER TABLE worktrees ADD COLUMN vibe_local_model TEXT DEFAULT NULL;
776
776
  `),console.log("Added vibe_local_model column to worktrees table")},down:()=>{console.log("No rollback for vibe_local_model column (SQLite limitation)")}},{version:20,name:"add-vibe-local-context-window-column",up:a=>{a.exec(`
777
777
  ALTER TABLE worktrees ADD COLUMN vibe_local_context_window INTEGER DEFAULT NULL;
778
- `),console.log("Added vibe_local_context_window column to worktrees table")},down:()=>{console.log("No rollback for vibe_local_context_window column (SQLite limitation)")}}],p=[{version:21,name:"add-scheduled-executions-worktree-enabled-index",up:a=>{a.exec(`
778
+ `),console.log("Added vibe_local_context_window column to worktrees table")},down:()=>{console.log("No rollback for vibe_local_context_window column (SQLite limitation)")}}],z=[{version:21,name:"add-scheduled-executions-worktree-enabled-index",up:a=>{a.exec(`
779
779
  CREATE INDEX IF NOT EXISTS idx_scheduled_executions_worktree_enabled
780
780
  ON scheduled_executions(worktree_id, enabled);
781
781
  `),console.log("Created composite index idx_scheduled_executions_worktree_enabled")},down:a=>{a.exec("DROP INDEX IF EXISTS idx_scheduled_executions_worktree_enabled"),console.log("Dropped idx_scheduled_executions_worktree_enabled index")}},{version:22,name:"add-archived-column-to-chat-messages",up:a=>{a.exec(`
@@ -808,7 +808,7 @@
808
808
  DROP INDEX IF EXISTS idx_timer_messages_status_scheduled;
809
809
  DROP INDEX IF EXISTS idx_timer_messages_worktree_status;
810
810
  DROP TABLE IF EXISTS timer_messages;
811
- `)}}],q=[{version:24,name:"add-daily-reports-table",up:a=>{a.exec(`
811
+ `)}}],A=[{version:24,name:"add-daily-reports-table",up:a=>{a.exec(`
812
812
  CREATE TABLE daily_reports (
813
813
  date TEXT PRIMARY KEY,
814
814
  content TEXT NOT NULL,
@@ -817,7 +817,7 @@
817
817
  created_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000),
818
818
  updated_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000)
819
819
  );
820
- `),console.log("Created daily_reports table")},down:a=>{a.exec("DROP TABLE IF EXISTS daily_reports"),console.log("Dropped daily_reports table")}}],r=[{version:25,name:"add-report-templates-table",up:a=>{a.exec(`
820
+ `),console.log("Created daily_reports table")},down:a=>{a.exec("DROP TABLE IF EXISTS daily_reports"),console.log("Dropped daily_reports table")}}],B=[{version:25,name:"add-report-templates-table",up:a=>{a.exec(`
821
821
  CREATE TABLE report_templates (
822
822
  id TEXT PRIMARY KEY,
823
823
  name TEXT NOT NULL,
@@ -826,14 +826,14 @@
826
826
  created_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000),
827
827
  updated_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000)
828
828
  );
829
- `),console.log("Created report_templates table")},down:a=>{a.exec("DROP TABLE IF EXISTS report_templates"),console.log("Dropped report_templates table")}}],s=[{version:26,name:"add-repository-display-name",up:a=>{a.exec("ALTER TABLE repositories ADD COLUMN display_name TEXT;"),console.log("Added display_name column to repositories table")},down:a=>{a.exec("ALTER TABLE repositories DROP COLUMN display_name;"),console.log("Removed display_name column from repositories table")}}],t=[{version:27,name:"add-app-settings-table",up:a=>{a.exec(`
829
+ `),console.log("Created report_templates table")},down:a=>{a.exec("DROP TABLE IF EXISTS report_templates"),console.log("Dropped report_templates table")}}],C=[{version:26,name:"add-repository-display-name",up:a=>{a.exec("ALTER TABLE repositories ADD COLUMN display_name TEXT;"),console.log("Added display_name column to repositories table")},down:a=>{a.exec("ALTER TABLE repositories DROP COLUMN display_name;"),console.log("Removed display_name column from repositories table")}}],D=[{version:27,name:"add-app-settings-table",up:a=>{a.exec(`
830
830
  CREATE TABLE IF NOT EXISTS app_settings (
831
831
  key TEXT PRIMARY KEY,
832
832
  value TEXT NOT NULL,
833
833
  created_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000),
834
834
  updated_at INTEGER NOT NULL DEFAULT (unixepoch() * 1000)
835
835
  );
836
- `)},down:a=>{a.exec("DROP TABLE IF EXISTS app_settings")}}],u=[{version:28,name:"add-assistant-conversation-tables",up:a=>{a.exec(`
836
+ `)},down:a=>{a.exec("DROP TABLE IF EXISTS app_settings")}}],E=[{version:28,name:"add-assistant-conversation-tables",up:a=>{a.exec(`
837
837
  CREATE TABLE IF NOT EXISTS assistant_conversations (
838
838
  id TEXT PRIMARY KEY,
839
839
  repository_id TEXT NOT NULL,
@@ -886,7 +886,7 @@
886
886
  DROP TABLE IF EXISTS assistant_session_states;
887
887
  DROP TABLE IF EXISTS assistant_messages;
888
888
  DROP TABLE IF EXISTS assistant_conversations;
889
- `)}}],v=[{version:29,name:"add-assistant-non-interactive-executions",up:a=>{a.exec(`
889
+ `)}}],F=[{version:29,name:"add-assistant-non-interactive-executions",up:a=>{a.exec(`
890
890
  ALTER TABLE assistant_conversations
891
891
  ADD COLUMN execution_mode TEXT NOT NULL DEFAULT 'interactive';
892
892
 
@@ -936,19 +936,19 @@
936
936
  ON assistant_executions(status, updated_at DESC);
937
937
  `)},down:a=>{a.exec(`
938
938
  DROP TABLE IF EXISTS assistant_executions;
939
- `)}}],w=[{version:30,name:"add-assistant-context-snapshot",up:a=>{a.exec(`
939
+ `)}}],G=[{version:30,name:"add-assistant-context-snapshot",up:a=>{a.exec(`
940
940
  ALTER TABLE assistant_conversations
941
941
  ADD COLUMN context_snapshot TEXT;
942
942
  `)},down:a=>{a.exec(`
943
943
  ALTER TABLE assistant_conversations
944
944
  DROP COLUMN context_snapshot;
945
- `)}}],x=[{version:31,name:"add-repository-visible",up:a=>{a.exec("ALTER TABLE repositories ADD COLUMN visible INTEGER NOT NULL DEFAULT 1;")},down:a=>{a.exec("ALTER TABLE repositories DROP COLUMN visible;")}}],y=[{version:32,name:"add-messages-role-composite-index",up:a=>{a.exec(`
945
+ `)}}],H=[{version:31,name:"add-repository-visible",up:a=>{a.exec("ALTER TABLE repositories ADD COLUMN visible INTEGER NOT NULL DEFAULT 1;")},down:a=>{a.exec("ALTER TABLE repositories DROP COLUMN visible;")}}],I=[{version:32,name:"add-messages-role-composite-index",up:a=>{a.exec(`
946
946
  CREATE INDEX IF NOT EXISTS idx_messages_worktree_role_archived_time
947
947
  ON chat_messages(worktree_id, role, archived, timestamp DESC);
948
948
  `),a.exec("DROP INDEX IF EXISTS idx_messages_archived;")},down:a=>{a.exec("DROP INDEX IF EXISTS idx_messages_worktree_role_archived_time;"),a.exec(`
949
949
  CREATE INDEX IF NOT EXISTS idx_messages_archived
950
950
  ON chat_messages(worktree_id, archived, timestamp DESC);
951
- `)}}],z=[{version:33,name:"add-agent-instances",up:a=>{a.exec(`
951
+ `)}}],J=[{version:33,name:"add-agent-instances",up:a=>{a.exec(`
952
952
  CREATE TABLE session_states_new (
953
953
  worktree_id TEXT NOT NULL,
954
954
  cli_tool_id TEXT NOT NULL DEFAULT 'claude',
@@ -1016,7 +1016,7 @@
1016
1016
  SELECT worktree_id, cli_tool_id, last_captured_line, in_progress_message_id
1017
1017
  FROM session_states
1018
1018
  WHERE instance_id = cli_tool_id;
1019
- `),a.exec("DROP TABLE session_states;"),a.exec("ALTER TABLE session_states_old RENAME TO session_states;"),console.log("Rolled back agent_instances migration (v33)")}}],A=[{version:34,name:"add-repository-todos",up:a=>{a.exec(`
1019
+ `),a.exec("DROP TABLE session_states;"),a.exec("ALTER TABLE session_states_old RENAME TO session_states;"),console.log("Rolled back agent_instances migration (v33)")}}],K=[{version:34,name:"add-repository-todos",up:a=>{a.exec(`
1020
1020
  CREATE TABLE IF NOT EXISTS repository_todos (
1021
1021
  id TEXT PRIMARY KEY,
1022
1022
  repository_id TEXT NOT NULL,
@@ -1030,13 +1030,13 @@
1030
1030
  `),a.exec(`
1031
1031
  CREATE INDEX IF NOT EXISTS idx_repository_todos_repo
1032
1032
  ON repository_todos(repository_id, position);
1033
- `)},down:a=>{a.exec("DROP TABLE IF EXISTS repository_todos;")}}],B=[{version:35,name:"add-instance-id-to-timer-messages",up:a=>{a.exec(`
1033
+ `)},down:a=>{a.exec("DROP TABLE IF EXISTS repository_todos;")}}],L=[{version:35,name:"add-instance-id-to-timer-messages",up:a=>{a.exec(`
1034
1034
  ALTER TABLE timer_messages ADD COLUMN instance_id TEXT;
1035
1035
  `),a.exec(`
1036
1036
  UPDATE timer_messages SET instance_id = cli_tool_id WHERE instance_id IS NULL;
1037
- `),console.log("Added instance_id column to timer_messages table")},down:()=>{console.log("No rollback for instance_id column (SQLite limitation)")}}],C=[{version:36,name:"add-branch-to-worktrees",up:a=>{a.exec(`
1037
+ `),console.log("Added instance_id column to timer_messages table")},down:()=>{console.log("No rollback for instance_id column (SQLite limitation)")}}],M=[{version:36,name:"add-branch-to-worktrees",up:a=>{a.exec(`
1038
1038
  ALTER TABLE worktrees ADD COLUMN branch TEXT;
1039
- `),console.log("Added branch column to worktrees table")},down:()=>{console.log("No rollback for branch column (SQLite limitation)")}}],D=[{version:37,name:"add-worktree-todos",up:a=>{a.exec(`
1039
+ `),console.log("Added branch column to worktrees table")},down:()=>{console.log("No rollback for branch column (SQLite limitation)")}}],N=[{version:37,name:"add-worktree-todos",up:a=>{a.exec(`
1040
1040
  CREATE TABLE IF NOT EXISTS worktree_todos (
1041
1041
  id TEXT PRIMARY KEY,
1042
1042
  worktree_id TEXT NOT NULL,
@@ -1050,17 +1050,17 @@
1050
1050
  `),a.exec(`
1051
1051
  CREATE INDEX IF NOT EXISTS idx_worktree_todos_wt
1052
1052
  ON worktree_todos(worktree_id, position);
1053
- `)},down:a=>{a.exec("DROP TABLE IF EXISTS worktree_todos;")}}],E=[{version:38,name:"add-status-to-worktree-todos",up:a=>{a.exec(`
1053
+ `)},down:a=>{a.exec("DROP TABLE IF EXISTS worktree_todos;")}}],O=[{version:38,name:"add-status-to-worktree-todos",up:a=>{a.exec(`
1054
1054
  ALTER TABLE worktree_todos
1055
1055
  ADD COLUMN status TEXT NOT NULL DEFAULT 'todo';
1056
1056
  `),a.exec(`
1057
1057
  UPDATE worktree_todos SET status = 'done' WHERE done = 1;
1058
- `)},down:()=>{}}],F=[{version:39,name:"add-detail-to-worktree-todos",up:a=>{a.exec(`
1058
+ `)},down:()=>{}}],P=[{version:39,name:"add-detail-to-worktree-todos",up:a=>{a.exec(`
1059
1059
  ALTER TABLE worktree_todos
1060
1060
  ADD COLUMN detail TEXT NOT NULL DEFAULT '';
1061
- `)},down:()=>{}}],G=[{version:40,name:"add-error-to-timer-messages",up:a=>{a.exec(`
1061
+ `)},down:()=>{}}],Q=[{version:40,name:"add-error-to-timer-messages",up:a=>{a.exec(`
1062
1062
  ALTER TABLE timer_messages ADD COLUMN error TEXT;
1063
- `),console.log("Added error column to timer_messages table")},down:()=>{console.log("No rollback for error column (SQLite limitation)")}}],H=[{version:41,name:"add-push-subscriptions",up:a=>{a.exec(`
1063
+ `),console.log("Added error column to timer_messages table")},down:()=>{console.log("No rollback for error column (SQLite limitation)")}}],R=[{version:41,name:"add-push-subscriptions",up:a=>{a.exec(`
1064
1064
  CREATE TABLE IF NOT EXISTS push_subscriptions (
1065
1065
  id TEXT PRIMARY KEY,
1066
1066
  endpoint TEXT NOT NULL UNIQUE,
@@ -1075,16 +1075,16 @@
1075
1075
  `),a.exec(`
1076
1076
  CREATE INDEX IF NOT EXISTS idx_push_subscriptions_endpoint
1077
1077
  ON push_subscriptions(endpoint);
1078
- `)},down:a=>{a.exec("DROP TABLE IF EXISTS push_subscriptions;")}}],I=[{version:42,name:"add-locale-to-push-subscriptions",up:a=>{a.exec(`
1078
+ `)},down:a=>{a.exec("DROP TABLE IF EXISTS push_subscriptions;")}}],S=[{version:42,name:"add-locale-to-push-subscriptions",up:a=>{a.exec(`
1079
1079
  ALTER TABLE push_subscriptions ADD COLUMN locale TEXT;
1080
1080
  `)},down:a=>{a.exec(`
1081
1081
  ALTER TABLE push_subscriptions DROP COLUMN locale;
1082
- `)}}],J=[{version:43,name:"remove-cm-root-dir-ghost-repository",up:a=>{let b=function(){let a=process.env.CM_ROOT_DIR??process.env.MCBD_ROOT_DIR;return a&&a.trim()?e().resolve(a.trim()):null}();return b?(function(){let a=process.env.WORKTREE_REPOS;return a&&a.trim()?a.split(",").map(a=>a.trim()).filter(a=>a.length>0).map(a=>e().resolve(a)):[]})().includes(b)?void console.log(`Migration 43: ${b} is a WORKTREE_REPOS entry; keeping its repository row`):void(a.prepare(`DELETE FROM repositories
1082
+ `)}}],T=[{version:43,name:"remove-cm-root-dir-ghost-repository",up:a=>{let b=function(){let a=process.env.CM_ROOT_DIR??process.env.MCBD_ROOT_DIR;return a&&a.trim()?e().resolve(a.trim()):null}();return b?(function(){let a=process.env.WORKTREE_REPOS;return a&&a.trim()?a.split(",").map(a=>a.trim()).filter(a=>a.length>0).map(a=>e().resolve(a)):[]})().includes(b)?void console.log(`Migration 43: ${b} is a WORKTREE_REPOS entry; keeping its repository row`):void(a.prepare(`DELETE FROM repositories
1083
1083
  WHERE path = ?
1084
1084
  AND is_env_managed = 1
1085
1085
  AND NOT EXISTS (
1086
1086
  SELECT 1 FROM worktrees WHERE worktrees.repository_path = ?
1087
- )`).run(b,b).changes>0?console.log(`Migration 43: removed CM_ROOT_DIR ghost repository row (${b})`):console.log(`Migration 43: no ghost repository row at ${b}`)):void console.log("Migration 43: CM_ROOT_DIR is not set; no ghost row to remove")},down:()=>{console.log("No rollback for the CM_ROOT_DIR ghost row removal")}}],K=[{version:44,name:"add-skill-operations",up:a=>{a.exec(`
1087
+ )`).run(b,b).changes>0?console.log(`Migration 43: removed CM_ROOT_DIR ghost repository row (${b})`):console.log(`Migration 43: no ghost repository row at ${b}`)):void console.log("Migration 43: CM_ROOT_DIR is not set; no ghost row to remove")},down:()=>{console.log("No rollback for the CM_ROOT_DIR ghost row removal")}}],U=[{version:44,name:"add-skill-operations",up:a=>{a.exec(`
1088
1088
  CREATE TABLE IF NOT EXISTS skill_operations (
1089
1089
  id TEXT PRIMARY KEY,
1090
1090
  operation_id TEXT NOT NULL,
@@ -1128,7 +1128,7 @@
1128
1128
  BEGIN
1129
1129
  SELECT RAISE(ABORT, 'skill_operations is append-only');
1130
1130
  END;
1131
- `)},down:a=>{a.exec("DROP TRIGGER IF EXISTS skill_operations_no_delete;"),a.exec("DROP TRIGGER IF EXISTS skill_operations_no_update;"),a.exec("DROP TABLE IF EXISTS skill_operations;")}}],L=[{version:45,name:"add-skill-installations",up:a=>{a.exec(`
1131
+ `)},down:a=>{a.exec("DROP TRIGGER IF EXISTS skill_operations_no_delete;"),a.exec("DROP TRIGGER IF EXISTS skill_operations_no_update;"),a.exec("DROP TABLE IF EXISTS skill_operations;")}}],V=[{version:45,name:"add-skill-installations",up:a=>{a.exec(`
1132
1132
  CREATE TABLE IF NOT EXISTS skill_installations (
1133
1133
  id TEXT PRIMARY KEY,
1134
1134
  worktree_id TEXT NOT NULL,
@@ -1152,11 +1152,11 @@
1152
1152
  `),a.exec(`
1153
1153
  CREATE INDEX IF NOT EXISTS idx_skill_installations_skill
1154
1154
  ON skill_installations(skill_id, version);
1155
- `)},down:a=>{a.exec("DROP INDEX IF EXISTS idx_skill_installations_skill;"),a.exec("DROP INDEX IF EXISTS idx_skill_installations_worktree;"),a.exec("DROP TABLE IF EXISTS skill_installations;")}}],M=`
1155
+ `)},down:a=>{a.exec("DROP INDEX IF EXISTS idx_skill_installations_skill;"),a.exec("DROP INDEX IF EXISTS idx_skill_installations_worktree;"),a.exec("DROP TABLE IF EXISTS skill_installations;")}}],W=`
1156
1156
  id, worktree_id, skill_id, version, install_root, receipt_sha256,
1157
1157
  source_repository, source_ref, source_commit, artifact_sha256,
1158
1158
  effective_risk, operation_id, installed_at, updated_at
1159
- `,N=`
1159
+ `,X=`
1160
1160
  id TEXT PRIMARY KEY,
1161
1161
  worktree_id TEXT NOT NULL,
1162
1162
  skill_id TEXT NOT NULL,
@@ -1172,30 +1172,30 @@
1172
1172
  installed_at INTEGER NOT NULL,
1173
1173
  updated_at INTEGER NOT NULL,
1174
1174
  UNIQUE (worktree_id, skill_id)
1175
- `;function O(a){a.exec(`
1175
+ `;function Y(a){a.exec(`
1176
1176
  CREATE INDEX IF NOT EXISTS idx_skill_installations_worktree
1177
1177
  ON skill_installations(worktree_id);
1178
1178
  `),a.exec(`
1179
1179
  CREATE INDEX IF NOT EXISTS idx_skill_installations_skill
1180
1180
  ON skill_installations(skill_id, version);
1181
- `)}let P=[{version:46,name:"skill-installations-worktree-cascade",up:a=>{a.exec(`
1181
+ `)}let Z=[{version:46,name:"skill-installations-worktree-cascade",up:a=>{a.exec(`
1182
1182
  CREATE TABLE skill_installations_new (
1183
- ${N},
1183
+ ${X},
1184
1184
  FOREIGN KEY (worktree_id) REFERENCES worktrees(id) ON DELETE CASCADE
1185
1185
  );
1186
1186
  `),a.exec(`
1187
- INSERT INTO skill_installations_new (${M})
1188
- SELECT ${M} FROM skill_installations
1187
+ INSERT INTO skill_installations_new (${W})
1188
+ SELECT ${W} FROM skill_installations
1189
1189
  WHERE worktree_id IN (SELECT id FROM worktrees);
1190
1190
  `);let b=a.prepare(`SELECT COUNT(*) AS n FROM skill_installations
1191
- WHERE worktree_id NOT IN (SELECT id FROM worktrees)`).get();a.exec("DROP TABLE skill_installations;"),a.exec("ALTER TABLE skill_installations_new RENAME TO skill_installations;"),O(a),b.n>0&&console.log(`Removed ${b.n} skill_installations row(s) with no worktree`),console.log("skill_installations now cascades with its worktree")},down:a=>{a.exec(`
1191
+ WHERE worktree_id NOT IN (SELECT id FROM worktrees)`).get();a.exec("DROP TABLE skill_installations;"),a.exec("ALTER TABLE skill_installations_new RENAME TO skill_installations;"),Y(a),b.n>0&&console.log(`Removed ${b.n} skill_installations row(s) with no worktree`),console.log("skill_installations now cascades with its worktree")},down:a=>{a.exec(`
1192
1192
  CREATE TABLE skill_installations_old (
1193
- ${N}
1193
+ ${X}
1194
1194
  );
1195
1195
  `),a.exec(`
1196
- INSERT INTO skill_installations_old (${M})
1197
- SELECT ${M} FROM skill_installations;
1198
- `),a.exec("DROP TABLE skill_installations;"),a.exec("ALTER TABLE skill_installations_old RENAME TO skill_installations;"),O(a),console.log("Rolled back skill_installations cascade (v46)")}}],Q=[{version:47,name:"add-skill-installations-roots",up:a=>{a.exec("ALTER TABLE skill_installations ADD COLUMN install_roots TEXT;")},down:a=>{a.exec(`
1196
+ INSERT INTO skill_installations_old (${W})
1197
+ SELECT ${W} FROM skill_installations;
1198
+ `),a.exec("DROP TABLE skill_installations;"),a.exec("ALTER TABLE skill_installations_old RENAME TO skill_installations;"),Y(a),console.log("Rolled back skill_installations cascade (v46)")}}],$=[{version:47,name:"add-skill-installations-roots",up:a=>{a.exec("ALTER TABLE skill_installations ADD COLUMN install_roots TEXT;")},down:a=>{a.exec(`
1199
1199
  CREATE TABLE skill_installations__v46 (
1200
1200
  id TEXT PRIMARY KEY,
1201
1201
  worktree_id TEXT NOT NULL,
@@ -1230,7 +1230,7 @@
1230
1230
  `),a.exec(`
1231
1231
  CREATE INDEX IF NOT EXISTS idx_skill_installations_skill
1232
1232
  ON skill_installations(skill_id, version);
1233
- `)}}],R=[{version:48,name:"add-skill-operations-audit-index",up:a=>{a.exec("ALTER TABLE skill_operations ADD COLUMN from_version TEXT;"),a.exec("ALTER TABLE skill_operations ADD COLUMN to_version TEXT;"),a.exec(`
1233
+ `)}}],_=[{version:48,name:"add-skill-operations-audit-index",up:a=>{a.exec("ALTER TABLE skill_operations ADD COLUMN from_version TEXT;"),a.exec("ALTER TABLE skill_operations ADD COLUMN to_version TEXT;"),a.exec(`
1234
1234
  CREATE INDEX IF NOT EXISTS idx_skill_operations_recent
1235
1235
  ON skill_operations(recorded_at DESC, id DESC);
1236
1236
  `),a.exec(`
@@ -1293,7 +1293,7 @@
1293
1293
  BEGIN
1294
1294
  SELECT RAISE(ABORT, 'skill_operations is append-only');
1295
1295
  END;
1296
- `)}}],S=[{version:49,name:"add-verification-runs",up:a=>{a.exec(`
1296
+ `)}}],aa=[{version:49,name:"add-verification-runs",up:a=>{a.exec(`
1297
1297
  CREATE TABLE IF NOT EXISTS verification_runs (
1298
1298
  id INTEGER PRIMARY KEY AUTOINCREMENT,
1299
1299
  worktree_id TEXT NOT NULL,
@@ -1324,7 +1324,7 @@
1324
1324
  `),a.exec(`
1325
1325
  CREATE INDEX IF NOT EXISTS idx_verification_gate_results_run
1326
1326
  ON verification_gate_results(run_id);
1327
- `)},down:a=>{a.exec("DROP TABLE IF EXISTS verification_gate_results;"),a.exec("DROP TABLE IF EXISTS verification_runs;")}}],T=[{version:50,name:"add-tasks",up:a=>{a.exec(`
1327
+ `)},down:a=>{a.exec("DROP TABLE IF EXISTS verification_gate_results;"),a.exec("DROP TABLE IF EXISTS verification_runs;")}}],ab=[{version:50,name:"add-tasks",up:a=>{a.exec(`
1328
1328
  CREATE TABLE IF NOT EXISTS tasks (
1329
1329
  id TEXT PRIMARY KEY,
1330
1330
  worktree_id TEXT NOT NULL,
@@ -1344,7 +1344,7 @@
1344
1344
  `),a.exec(`
1345
1345
  CREATE INDEX IF NOT EXISTS idx_tasks_worktree
1346
1346
  ON tasks(worktree_id, created_at DESC);
1347
- `)},down:a=>{a.exec("DROP TABLE IF EXISTS tasks;")}}],U=[{version:51,name:"add-task-events",up:a=>{a.exec(`
1347
+ `)},down:a=>{a.exec("DROP TABLE IF EXISTS tasks;")}}],ac=[{version:51,name:"add-task-events",up:a=>{a.exec(`
1348
1348
  CREATE TABLE IF NOT EXISTS task_events (
1349
1349
  id INTEGER PRIMARY KEY AUTOINCREMENT,
1350
1350
  task_id TEXT NOT NULL,
@@ -1357,12 +1357,12 @@
1357
1357
  `),a.exec(`
1358
1358
  CREATE INDEX IF NOT EXISTS idx_task_events_task
1359
1359
  ON task_events(task_id, created_at);
1360
- `)},down:a=>{a.exec("DROP TABLE IF EXISTS task_events;")}}];var V=c(40277);let W=[{version:52,name:"delete-orphaned-worktree-children",up:a=>{let b=0;for(let{table:c,column:d}of(0,V.ZN)(a)){let e=a.prepare(`DELETE FROM "${c}"
1360
+ `)},down:a=>{a.exec("DROP TABLE IF EXISTS task_events;")}}];var ad=c(40277);let ae=[{version:52,name:"delete-orphaned-worktree-children",up:a=>{let b=0;for(let{table:c,column:d}of(0,ad.ZN)(a)){let e=a.prepare(`DELETE FROM "${c}"
1361
1361
  WHERE "${d}" IS NOT NULL
1362
1362
  AND NOT EXISTS (
1363
1363
  SELECT 1 FROM worktrees AS cm_parent
1364
1364
  WHERE cm_parent.id = "${c}"."${d}"
1365
- )`).run();e.changes>0&&(console.log(`Deleted ${e.changes} orphaned row(s) from ${c}.${d}`),b+=e.changes)}0===b&&console.log("No orphaned worktree child rows found")},down:()=>{console.log("No rollback for orphaned child row cleanup (rows are gone)")}}],X=[{version:53,name:"add-worktree-aliases",up:a=>{a.exec(`
1365
+ )`).run();e.changes>0&&(console.log(`Deleted ${e.changes} orphaned row(s) from ${c}.${d}`),b+=e.changes)}0===b&&console.log("No orphaned worktree child rows found")},down:()=>{console.log("No rollback for orphaned child row cleanup (rows are gone)")}}],af=[{version:53,name:"add-worktree-aliases",up:a=>{a.exec(`
1366
1366
  CREATE TABLE IF NOT EXISTS worktree_aliases (
1367
1367
  old_id TEXT PRIMARY KEY,
1368
1368
  worktree_id TEXT NOT NULL REFERENCES worktrees(id) ON DELETE CASCADE,
@@ -1371,10 +1371,10 @@
1371
1371
  `),a.exec(`
1372
1372
  CREATE INDEX IF NOT EXISTS idx_worktree_aliases_worktree_id
1373
1373
  ON worktree_aliases(worktree_id);
1374
- `)},down:a=>{a.exec("DROP INDEX IF EXISTS idx_worktree_aliases_worktree_id;"),a.exec("DROP TABLE IF EXISTS worktree_aliases;")}}];var Y=c(23718),Z=c(27923);let $="cmate-mig54-",_=[...l,...m,...n,...o,...p,...q,...r,...s,...t,...u,...v,...w,...x,...y,...z,...A,...B,...C,...D,...E,...F,...G,...H,...I,...J,...K,...L,...P,...Q,...R,...S,...T,...U,...W,...X,{version:54,name:"renumber-worktree-ids-from-path",up:a=>{let b=a.prepare("SELECT id, path FROM worktrees ORDER BY id").all();if(0===b.length)return void console.log("No worktrees to renumber");let c=void 0!==a.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'worktree_aliases'").get(),d=c?a.prepare("SELECT old_id FROM worktree_aliases").all().map(a=>a.old_id):[],f=function(a,b){let c=new Set([...new Set(a.map(a=>a.id)),...b]),d=new Set,f=[];for(let b of a){let a=new Set([...c,...d]);a.delete(b.id);let g=(0,Y.ko)(e().resolve(b.path),a);d.add(g),g!==b.id&&f.push({oldId:b.id,newId:g})}return f}(b,d);if(0===f.length)return void console.log(`Worktree IDs already path-derived (${b.length} row(s) checked)`);let g=new Set([...b.map(a=>a.id),...d,...f.map(a=>a.newId)]),h=f.map((a,b)=>{let c=`${$}${b}`;for(let a=1;g.has(c);a++)c=`${$}${b}-${a}`;return g.add(c),c}),i=Date.now();f.forEach((b,c)=>{(0,Z.D6)(a,b.oldId,h[c],i)}),f.forEach((b,c)=>{(0,Z.D6)(a,h[c],b.newId,i)});let j=c?a.prepare("DELETE FROM worktree_aliases WHERE old_id = ?"):null;if(j)for(let a of h)j.run(a);for(let a of f)console.log(`Renumbered worktree ${a.oldId} -> ${a.newId}`);console.log(`Renumbered ${f.length} of ${b.length} worktree(s) to path-derived IDs`)},down:a=>{if(void 0===a.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'worktree_aliases'").get())return void console.log("No worktree_aliases table: nothing to roll back");let b=a.prepare(`SELECT a.old_id, a.worktree_id
1374
+ `)},down:a=>{a.exec("DROP INDEX IF EXISTS idx_worktree_aliases_worktree_id;"),a.exec("DROP TABLE IF EXISTS worktree_aliases;")}}];var ag=c(23718),ah=c(27923);let ai="cmate-mig54-",aj=["bind_mode","send_state","bind_attempt_id","bind_owner","input_boundary_at","boundary_kind","turn_open_at_send","obs_state","obs_source","input_message_id","hold_reason","held_candidates","overlap","pending_reply","payload_id"],ak=[...v,...w,...x,...y,...z,...A,...B,...C,...D,...E,...F,...G,...H,...I,...J,...K,...L,...M,...N,...O,...P,...Q,...R,...S,...T,...U,...V,...Z,...$,..._,...aa,...ab,...ac,...ae,...af,{version:54,name:"renumber-worktree-ids-from-path",up:a=>{let b=a.prepare("SELECT id, path FROM worktrees ORDER BY id").all();if(0===b.length)return void console.log("No worktrees to renumber");let c=void 0!==a.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'worktree_aliases'").get(),d=c?a.prepare("SELECT old_id FROM worktree_aliases").all().map(a=>a.old_id):[],f=function(a,b){let c=new Set([...new Set(a.map(a=>a.id)),...b]),d=new Set,f=[];for(let b of a){let a=new Set([...c,...d]);a.delete(b.id);let g=(0,ag.ko)(e().resolve(b.path),a);d.add(g),g!==b.id&&f.push({oldId:b.id,newId:g})}return f}(b,d);if(0===f.length)return void console.log(`Worktree IDs already path-derived (${b.length} row(s) checked)`);let g=new Set([...b.map(a=>a.id),...d,...f.map(a=>a.newId)]),h=f.map((a,b)=>{let c=`${ai}${b}`;for(let a=1;g.has(c);a++)c=`${ai}${b}-${a}`;return g.add(c),c}),i=Date.now();f.forEach((b,c)=>{(0,ah.D6)(a,b.oldId,h[c],i)}),f.forEach((b,c)=>{(0,ah.D6)(a,h[c],b.newId,i)});let j=c?a.prepare("DELETE FROM worktree_aliases WHERE old_id = ?"):null;if(j)for(let a of h)j.run(a);for(let a of f)console.log(`Renumbered worktree ${a.oldId} -> ${a.newId}`);console.log(`Renumbered ${f.length} of ${b.length} worktree(s) to path-derived IDs`)},down:a=>{if(void 0===a.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'worktree_aliases'").get())return void console.log("No worktree_aliases table: nothing to roll back");let b=a.prepare(`SELECT a.old_id, a.worktree_id
1375
1375
  FROM worktree_aliases AS a
1376
1376
  JOIN worktrees AS w ON w.id = a.worktree_id
1377
- ORDER BY a.old_id`).all();if(0===b.length)return void console.log("No worktree aliases to roll back");let c=Date.now(),d=b.map((a,b)=>`${$}down-${b}`);b.forEach((b,e)=>{(0,Z.D6)(a,b.worktree_id,d[e],c)}),b.forEach((b,e)=>{(0,Z.D6)(a,d[e],b.old_id,c)});let e=a.prepare("DELETE FROM worktree_aliases WHERE old_id = ?");for(let a of d)e.run(a);for(let a of b)e.run(a.worktree_id);console.log(`Rolled back ${b.length} worktree ID renumbering(s)`)}},{version:55,name:"compact-churned-worktree-ids",up:a=>{let b=a.prepare("SELECT id, path FROM worktrees ORDER BY id").all();if(0===b.length)return void console.log("No worktrees to compact");let c=void 0!==a.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'worktree_aliases'").get(),{renames:d,droppedAliasIds:f}=function(a,b){let c=new Map;for(let a of b){let b=c.get(a.worktreeId);b?b.push(a.oldId):c.set(a.worktreeId,[a.oldId])}let d=new Set([...a.map(a=>a.id),...b.map(a=>a.oldId)]),f=new Set,g=[],h=[];for(let b of a){let a=e().resolve(b.path),i=c.get(b.id)??[],j=new Set([...d,...f]);for(let a of(j.delete(b.id),i))j.delete(a);let k=(0,Y.ko)(a,j);if(k.length>=b.id.length){f.add(b.id);continue}for(let c of(f.add(k),g.push({oldId:b.id,newId:k}),i))c.length>k.length&&(0,Y.a1)(c,a)&&h.push(c)}return{renames:g,droppedAliasIds:h}}(b,c?a.prepare("SELECT old_id, worktree_id FROM worktree_aliases ORDER BY old_id").all().map(a=>({oldId:a.old_id,worktreeId:a.worktree_id})):[]);if(0===d.length)return void console.log(`No churned worktree IDs to compact (${b.length} row(s) checked)`);if(c&&f.length>0){let b=a.prepare("DELETE FROM worktree_aliases WHERE old_id = ?");for(let a of f)b.run(a)}let g=Date.now();for(let b of d)(0,Z.D6)(a,b.oldId,b.newId,g),console.log(`Compacted worktree ${b.oldId} -> ${b.newId}`);console.log(`Compacted ${d.length} of ${b.length} worktree ID(s); dropped ${f.length} intermediate alias(es)`)},down:a=>{if(void 0===a.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'worktree_aliases'").get())return void console.log("No worktree_aliases table: nothing to roll back");let b=a.prepare("SELECT id, path FROM worktrees ORDER BY id").all(),c=a.prepare("DELETE FROM worktree_aliases WHERE old_id = ?"),d=Date.now(),f=0;for(let g of b){let b=e().resolve(g.path),h=a.prepare("SELECT old_id FROM worktree_aliases WHERE worktree_id = ?").all(g.id).map(a=>a.old_id).filter(a=>a.length>g.id.length&&(0,Y.a1)(a,b)).sort((a,b)=>b.length-a.length||a.localeCompare(b))[0];h&&(c.run(h),(0,Z.D6)(a,g.id,h,d),c.run(g.id),f++)}console.log(`Rolled back ${f} worktree ID compaction(s)`)}},{version:56,name:"add-source-to-verification-gate-results",up:a=>{a.prepare("PRAGMA table_info(verification_gate_results)").all().some(a=>"source"===a.name)||a.exec(`
1377
+ ORDER BY a.old_id`).all();if(0===b.length)return void console.log("No worktree aliases to roll back");let c=Date.now(),d=b.map((a,b)=>`${ai}down-${b}`);b.forEach((b,e)=>{(0,ah.D6)(a,b.worktree_id,d[e],c)}),b.forEach((b,e)=>{(0,ah.D6)(a,d[e],b.old_id,c)});let e=a.prepare("DELETE FROM worktree_aliases WHERE old_id = ?");for(let a of d)e.run(a);for(let a of b)e.run(a.worktree_id);console.log(`Rolled back ${b.length} worktree ID renumbering(s)`)}},{version:55,name:"compact-churned-worktree-ids",up:a=>{let b=a.prepare("SELECT id, path FROM worktrees ORDER BY id").all();if(0===b.length)return void console.log("No worktrees to compact");let c=void 0!==a.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'worktree_aliases'").get(),{renames:d,droppedAliasIds:f}=function(a,b){let c=new Map;for(let a of b){let b=c.get(a.worktreeId);b?b.push(a.oldId):c.set(a.worktreeId,[a.oldId])}let d=new Set([...a.map(a=>a.id),...b.map(a=>a.oldId)]),f=new Set,g=[],h=[];for(let b of a){let a=e().resolve(b.path),i=c.get(b.id)??[],j=new Set([...d,...f]);for(let a of(j.delete(b.id),i))j.delete(a);let k=(0,ag.ko)(a,j);if(k.length>=b.id.length){f.add(b.id);continue}for(let c of(f.add(k),g.push({oldId:b.id,newId:k}),i))c.length>k.length&&(0,ag.a1)(c,a)&&h.push(c)}return{renames:g,droppedAliasIds:h}}(b,c?a.prepare("SELECT old_id, worktree_id FROM worktree_aliases ORDER BY old_id").all().map(a=>({oldId:a.old_id,worktreeId:a.worktree_id})):[]);if(0===d.length)return void console.log(`No churned worktree IDs to compact (${b.length} row(s) checked)`);if(c&&f.length>0){let b=a.prepare("DELETE FROM worktree_aliases WHERE old_id = ?");for(let a of f)b.run(a)}let g=Date.now();for(let b of d)(0,ah.D6)(a,b.oldId,b.newId,g),console.log(`Compacted worktree ${b.oldId} -> ${b.newId}`);console.log(`Compacted ${d.length} of ${b.length} worktree ID(s); dropped ${f.length} intermediate alias(es)`)},down:a=>{if(void 0===a.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'worktree_aliases'").get())return void console.log("No worktree_aliases table: nothing to roll back");let b=a.prepare("SELECT id, path FROM worktrees ORDER BY id").all(),c=a.prepare("DELETE FROM worktree_aliases WHERE old_id = ?"),d=Date.now(),f=0;for(let g of b){let b=e().resolve(g.path),h=a.prepare("SELECT old_id FROM worktree_aliases WHERE worktree_id = ?").all(g.id).map(a=>a.old_id).filter(a=>a.length>g.id.length&&(0,ag.a1)(a,b)).sort((a,b)=>b.length-a.length||a.localeCompare(b))[0];h&&(c.run(h),(0,ah.D6)(a,g.id,h,d),c.run(g.id),f++)}console.log(`Rolled back ${f} worktree ID compaction(s)`)}},{version:56,name:"add-source-to-verification-gate-results",up:a=>{a.prepare("PRAGMA table_info(verification_gate_results)").all().some(a=>"source"===a.name)||a.exec(`
1378
1378
  ALTER TABLE verification_gate_results ADD COLUMN source TEXT
1379
1379
  CHECK (source IS NULL OR source IN ('builtin', 'verify.yaml', 'contract'));
1380
1380
  `)},down:()=>{}},{version:57,name:"add-defaults-version-to-push-subscriptions",up:a=>{a.exec(`
@@ -1464,16 +1464,26 @@
1464
1464
  PRIMARY KEY (worktree_id, instance_id),
1465
1465
  FOREIGN KEY (worktree_id) REFERENCES worktrees(id) ON DELETE CASCADE
1466
1466
  );
1467
- `)},down:a=>{a.exec("DROP TABLE IF EXISTS session_notes;")}}];function aa(a){!function(a,b){a.exec(`
1467
+ `)},down:a=>{a.exec("DROP TABLE IF EXISTS session_notes;")}},{version:62,name:"session-relays-bind",up:a=>{for(let b of[`ALTER TABLE session_relays ADD COLUMN bind_mode TEXT NOT NULL DEFAULT 'legacy'
1468
+ CHECK (bind_mode IN ('legacy','bound'))`,`ALTER TABLE session_relays ADD COLUMN send_state TEXT
1469
+ CHECK (send_state IN ('awaiting','input_started','sent','failed','unknown'))`,"ALTER TABLE session_relays ADD COLUMN bind_attempt_id TEXT","ALTER TABLE session_relays ADD COLUMN bind_owner TEXT","ALTER TABLE session_relays ADD COLUMN input_boundary_at INTEGER",`ALTER TABLE session_relays ADD COLUMN boundary_kind TEXT
1470
+ CHECK (boundary_kind IN ('input_start','dispatch'))`,`ALTER TABLE session_relays ADD COLUMN turn_open_at_send INTEGER
1471
+ CHECK (turn_open_at_send IN (0,1))`,`ALTER TABLE session_relays ADD COLUMN obs_state TEXT
1472
+ CHECK (obs_state IN ('valid','invalid','turn_unknown'))`,"ALTER TABLE session_relays ADD COLUMN obs_source TEXT","ALTER TABLE session_relays ADD COLUMN input_message_id TEXT","ALTER TABLE session_relays ADD COLUMN hold_reason TEXT","ALTER TABLE session_relays ADD COLUMN held_candidates TEXT",`ALTER TABLE session_relays ADD COLUMN overlap TEXT
1473
+ CHECK (overlap IN ('none','later','earlier','both','unknown'))`,"ALTER TABLE session_relays ADD COLUMN pending_reply TEXT","ALTER TABLE session_relays ADD COLUMN payload_id TEXT"])a.exec(b)},down:a=>{for(let b of[...aj].reverse())a.exec(`ALTER TABLE session_relays DROP COLUMN ${b}`)}}];function al(a){!function(a,b){a.exec(`
1468
1474
  CREATE TABLE IF NOT EXISTS schema_version (
1469
1475
  version INTEGER PRIMARY KEY,
1470
1476
  name TEXT NOT NULL,
1471
1477
  applied_at INTEGER NOT NULL
1472
1478
  );
1473
- `);let c=g(a);if(console.log(`Current schema version: ${c}`),c>f)throw Error(`This database (schema v${c}) was created by a newer version of CommandMate (this build supports up to v${f}). Please update: commandmate update`);let d=b.filter(a=>a.version>c);if(0===d.length)return console.log("Schema is up to date");for(let b of(console.log(`Found ${d.length} pending migration(s)`),d)){console.log(`Applying migration ${b.version}: ${b.name}...`);try{a.transaction(()=>{b.up(a),a.prepare(`
1479
+ `);let c=q(a);if(console.log(`Current schema version: ${c}`),c>p)throw Error(`This database (schema v${c}) was created by a newer version of CommandMate (this build supports up to v${p}). Please update: commandmate update`);let d=b.filter(a=>a.version>c);if(0===d.length)return console.log("Schema is up to date");console.log(`Found ${d.length} pending migration(s)`);let f=d[d.length-1].version;if(!a.memory&&"string"==typeof a.name&&""!==a.name&&":memory:"!==a.name&&(c>0||a.prepare(`
1480
+ SELECT COUNT(*) AS count FROM sqlite_master
1481
+ WHERE type = 'table' AND name NOT LIKE 'sqlite_%' AND name != 'schema_version'
1482
+ `).get().count>0))if(function(a=process.env){return"1"===(a[l]??"").trim()}())console.warn(`${l}=1: migrating without a pre-migration backup`);else{let b=function(a,b,c,d=new Date){let{dir:f,dbFileName:h}=n(a.name),j=i().randomBytes(4).toString("hex"),p=e().join(f,`${h}.v${b}-to-v${c}.${d.toISOString().replace(/[-:]/g,"").replace(".","")}.${j}.sqlite`),q=`${p}${m}`;try{k().existsSync(f)||(k().mkdirSync(f,{recursive:!0,mode:448}),k().chmodSync(f,448)),k().closeSync(k().openSync(q,"wx",384)),a.prepare("VACUUM INTO ?").run(q),k().chmodSync(q,384);let c=new(g())(q,{readonly:!0,fileMustExist:!0});try{let a=c.pragma("integrity_check",{simple:!0});if("ok"!==a)throw Error(`integrity_check returned ${String(a)}`);let d=0;try{let a=c.prepare("SELECT MAX(version) AS version FROM schema_version").get();d=a?.version??0}catch{d=0}if(d!==b)throw Error(`copy is at schema v${d}, expected v${b}`)}finally{c.close()}k().renameSync(q,p)}catch(d){try{k().rmSync(q,{force:!0})}catch{}let a=d instanceof Error?d.message:String(d);throw Error(`Could not back up the database before migrating it (v${b} -> v${c}). No migration was run. Backup directory: ${f}. Reason: ${a}. To start without the backup (e.g. when disk space is short), set ${l}=1.`)}let r=[],s=function(a,b){try{let c=k().readFileSync(o(a,b),"utf8").trim();return/^\d+$/.test(c)?Number(c):null}catch{return null}}(f,h);for(let a of(null!==s&&s>b&&(console.warn(`Ignoring the recorded last completed schema version v${s}: the database is at v${b} (restored from an older copy?)`),s=null),function(a,b){let c,d=1/0;for(let f of a){let a=function(a){let b=/\.v(\d+)-to-v(\d+)\.\d{8}T\d{9}Z\.[0-9a-f]+\.sqlite$/.exec(e().basename(a));return b?{from:Number(b[1]),to:Number(b[2])}:null}(f)?.from;void 0!==a&&(null===b?a<=d:a===b)&&(c=f,d=a)}let f=a.slice(-3),g=void 0===c||f.includes(c)?f:[c,...a.slice(-2)];return a.filter(a=>!g.includes(a))}(function(a,b){let c;try{c=k().readdirSync(a)}catch{return[]}let d=RegExp(`^${b.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\.v\\d+-to-v\\d+\\.(\\d{8}T\\d{9}Z)\\.[0-9a-f]+\\.sqlite$`);return c.map(a=>({name:a,stamp:d.exec(a)?.[1]})).filter(a=>void 0!==a.stamp).sort((a,b)=>a.stamp===b.stamp?a.name.localeCompare(b.name):a.stamp.localeCompare(b.stamp)).map(b=>e().join(a,b.name))}(f,h),s)))try{k().rmSync(a,{force:!0}),r.push(a)}catch{}return{path:p,removed:r}}(a,c,f);console.log(`Pre-migration backup: ${b.path}`)}let h=!0;for(let b of d){console.log(`Applying migration ${b.version}: ${b.name}...`);try{let d=a.transaction(()=>{if(h&&q(a)!==c)throw Error(`schema version changed from v${c} to v${q(a)} while starting migrations (another process migrated this database)`);b.up(a),a.prepare(`
1474
1483
  INSERT INTO schema_version (version, name, applied_at)
1475
1484
  VALUES (?, ?, ?)
1476
- `).run(b.version,b.name,Date.now())})(),console.log(`Migration ${b.version} applied successfully`)}catch(c){let a=c instanceof Error?c.message:String(c);throw console.error(`Migration ${b.version} failed:`,a),Error(`Migration ${b.version} (${b.name}) failed: ${a}`)}}console.log(`All migrations completed. Current version: ${g(a)}`)}(a,_)}function ab(a,b){!function(a,b,c){let d=g(a);if(c>=d)return console.log("No rollback needed");for(let e of(console.log(`Rolling back from version ${d} to ${c}...`),b.filter(a=>a.version>c&&a.version<=d).sort((a,b)=>b.version-a.version))){if(!e.down)throw Error(`Cannot rollback migration ${e.version} (${e.name}): no down() function defined`);console.log(`Rolling back migration ${e.version}: ${e.name}...`);try{a.transaction(()=>{e.down(a),a.prepare("DELETE FROM schema_version WHERE version = ?").run(e.version)})(),console.log(`Migration ${e.version} rolled back`)}catch(b){let a=b instanceof Error?b.message:String(b);throw console.error(`Rollback ${e.version} failed:`,a),Error(`Rollback of migration ${e.version} failed: ${a}`)}}console.log(`Rollback completed. Current version: ${g(a)}`)}(a,_,b)}},79827:(a,b,c)=>{c.d(b,{Mj:()=>i,ZH:()=>k,gF:()=>h,qQ:()=>m,sw:()=>l});let d=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,e=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,f=/^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$/,g=/^[A-Za-z0-9][A-Za-z0-9._-]{0,31}$/,h=Object.freeze({agent:null,providerId:null,modelId:null,variant:null});function i(a){return!!a&&!!(a.agent||a.providerId||a.modelId||a.variant)}function j(a,b){if("string"!=typeof a)return null;let c=a.trim();return 0===c.length?null:b.test(c)?c:null}function k(a){if("object"!=typeof a||null===a)return{...h};let b=j(a.providerId,e),c=j(a.modelId,f),i=null!==b&&null!==c;return{agent:j(a.agent,d),providerId:i?b:null,modelId:i?c:null,variant:j(a.variant,g)}}function l(a){return a?.providerId&&a.modelId?`${a.providerId}/${a.modelId}`:null}let m={connected:!1,providers:[],agents:[]}},87009:(a,b,c)=>{function d(a){return{id:a.id,taskId:a.task_id,event:a.event,fromStatus:a.from_status,toStatus:a.to_status,payload:null===a.payload_json?null:JSON.parse(a.payload_json),createdAt:new Date(a.created_at)}}function e(a,b){let c=void 0===b.payload||0===Object.keys(b.payload).length?null:JSON.stringify(b.payload);return Number(a.prepare(`
1485
+ `).run(b.version,b.name,Date.now())});h?d.immediate():d(),h=!1,console.log(`Migration ${b.version} applied successfully`)}catch(c){let a=c instanceof Error?c.message:String(c);throw console.error(`Migration ${b.version} failed:`,a),Error(`Migration ${b.version} (${b.name}) failed: ${a}`)}}let j=q(a);!function(a,b){if(a.memory||"string"!=typeof a.name||""===a.name||":memory:"===a.name)return;let{dir:c,dbFileName:d}=n(a.name);if(k().existsSync(c))try{let a=o(c,d),e=`${a}.${i().randomBytes(4).toString("hex")}${m}`;try{k().writeFileSync(e,`${b}
1486
+ `,{mode:384,flag:"wx"}),k().chmodSync(e,384),k().renameSync(e,a)}catch(a){try{k().rmSync(e,{force:!0})}catch{}throw a}}catch(b){let a=b instanceof Error?b.message:String(b);console.warn(`Could not record the last completed schema version in ${c}: ${a}`)}}(a,j),console.log(`All migrations completed. Current version: ${j}`)}(a,ak)}function am(a,b){!function(a,b,c){let d=q(a);if(c>=d)return console.log("No rollback needed");for(let e of(console.log(`Rolling back from version ${d} to ${c}...`),b.filter(a=>a.version>c&&a.version<=d).sort((a,b)=>b.version-a.version))){if(!e.down)throw Error(`Cannot rollback migration ${e.version} (${e.name}): no down() function defined`);console.log(`Rolling back migration ${e.version}: ${e.name}...`);try{a.transaction(()=>{e.down(a),a.prepare("DELETE FROM schema_version WHERE version = ?").run(e.version)})(),console.log(`Migration ${e.version} rolled back`)}catch(b){let a=b instanceof Error?b.message:String(b);throw console.error(`Rollback ${e.version} failed:`,a),Error(`Rollback of migration ${e.version} failed: ${a}`)}}console.log(`Rollback completed. Current version: ${q(a)}`)}(a,ak,b)}},79827:(a,b,c)=>{c.d(b,{Mj:()=>i,ZH:()=>k,gF:()=>h,qQ:()=>m,sw:()=>l});let d=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,e=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,f=/^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$/,g=/^[A-Za-z0-9][A-Za-z0-9._-]{0,31}$/,h=Object.freeze({agent:null,providerId:null,modelId:null,variant:null});function i(a){return!!a&&!!(a.agent||a.providerId||a.modelId||a.variant)}function j(a,b){if("string"!=typeof a)return null;let c=a.trim();return 0===c.length?null:b.test(c)?c:null}function k(a){if("object"!=typeof a||null===a)return{...h};let b=j(a.providerId,e),c=j(a.modelId,f),i=null!==b&&null!==c;return{agent:j(a.agent,d),providerId:i?b:null,modelId:i?c:null,variant:j(a.variant,g)}}function l(a){return a?.providerId&&a.modelId?`${a.providerId}/${a.modelId}`:null}let m={connected:!1,providers:[],agents:[]}},87009:(a,b,c)=>{function d(a){return{id:a.id,taskId:a.task_id,event:a.event,fromStatus:a.from_status,toStatus:a.to_status,payload:null===a.payload_json?null:JSON.parse(a.payload_json),createdAt:new Date(a.created_at)}}function e(a,b){let c=void 0===b.payload||0===Object.keys(b.payload).length?null:JSON.stringify(b.payload);return Number(a.prepare(`
1477
1487
  INSERT INTO task_events (task_id, event, from_status, to_status, payload_json, created_at)
1478
1488
  VALUES (?, ?, ?, ?, ?, ?)
1479
1489
  `).run(b.taskId,b.event,b.fromStatus,b.toStatus,c,b.createdAt).lastInsertRowid)}function f(a,b,c=200){return a.prepare(`
@@ -1482,7 +1492,7 @@
1482
1492
  WHERE task_id = ?
1483
1493
  ORDER BY created_at ASC, id ASC
1484
1494
  LIMIT ?
1485
- `).all(b,c).map(d)}c.d(b,{H:()=>f,P:()=>e})},87374:(a,b,c)=>{c.d(b,{Dr:()=>i,HR:()=>h,Ky:()=>f,XS:()=>e,ms:()=>g,u8:()=>d}),Array.from({length:Math.floor(104)+1},(a,b)=>3e5+3e5*b);let d=5,e=50,f=100,g=1e4,h={PENDING:"pending",SENDING:"sending",SENT:"sent",FAILED:"failed",CANCELLED:"cancelled",NO_SESSION:"no_session"};function i(a){return"number"==typeof a&&a>=3e5&&a<=315e5&&a%3e5==0}},88807:(a,b,c)=>{c.r(b),c.d(b,{closeDbInstance:()=>q,getDbInstance:()=>p});var d=c(33873),e=c.n(d),f=c(67469),g=c(79646),h=c(87550),i=c.n(h);let j=!1;function k(a){return a instanceof Error&&"ERR_DLOPEN_FAILED"===a.code&&a.message.includes("NODE_MODULE_VERSION")}function l(a,b){let c=["better-sqlite3 could not be loaded: it was built for a different Node.js version.","This usually happens after switching Node.js versions (nvm, fnm, Homebrew, ...).","",`Automatic recovery failed: ${a}`,"","How to fix it manually:"];return b?c.push(" The install directory is not writable by the current user, so the addon"," cannot be rebuilt in place. Do not re-run this with sudo — root-owned"," files there will break future installs and updates.",""," Either switch back to the Node.js version CommandMate was installed with:",` node -v (currently ${process.version}, NODE_MODULE_VERSION ${process.versions.modules})`,""," Or reinstall CommandMate under a Node.js version manager, which keeps"," global packages in a user-owned directory:"," nvm use <version> && npm install -g commandmate"):c.push(` 1. cd ${process.cwd()}`," 2. npm rebuild better-sqlite3"," 3. Start CommandMate again",""," If that fails, reinstalling picks up the current Node.js version:"," npm install -g commandmate"),c.join("\n")}var m=c(93636),n=c(87447);let o=null;function p(){if(!o){let a=(0,n._$)().CM_DB_PATH,b=c(29021),d=e().dirname(a);b.existsSync(d)||b.mkdirSync(d,{recursive:!0,mode:448});let h=function(a){try{return new(i())(a)}catch(c){if(!k(c))throw c;if(j)throw Error(l("a rebuild was already attempted in this process.",!1));j=!0,console.error("[commandmate] better-sqlite3 was built for a different Node.js version.\n[commandmate] Rebuilding it automatically — this can take a few minutes...");let b=function(){let a=(0,g.spawnSync)("npm",["rebuild","better-sqlite3"],{cwd:process.cwd(),encoding:"utf-8",timeout:3e5,env:{...process.env,PATH:`${e().dirname(process.execPath)}${e().delimiter}${process.env.PATH??""}`}}),b=`${a.stdout??""}${a.stderr??""}`;return a.error||0!==a.status?{success:!1,permissionDenied:/EACCES|permission denied/i.test(b),output:b}:{success:!0,permissionDenied:!1,output:b}}();if(!b.success)throw Error(l("npm rebuild better-sqlite3 failed.",b.permissionDenied));console.error("[commandmate] Rebuild succeeded. Continuing startup.");try{return new(i())(a)}catch(a){if(k(a))throw Error(l("the addon still reports a version mismatch after rebuilding.",!1));throw a}}}(a);h.pragma("foreign_keys = ON"),h.pragma("journal_mode = WAL"),h.pragma("busy_timeout = 5000");try{(0,f.vI)(h)}catch(a){throw h.close(),a}o=h,(0,m.fe)(h)}return o}function q(){o&&((0,m.zZ)(),o.close(),o=null)}},95506:(a,b,c)=>{c.d(b,{Q2:()=>h,fX:()=>i,l0:()=>g,r3:()=>j,xJ:()=>f});var d=c(27923);function e(a){return void 0!==a.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'worktree_aliases'").get()}function f(a,b,c,e=Date.now()){(0,d.b$)(a,b,c,e)}function g(a,b){if(!b)return null;if(a.prepare("SELECT 1 FROM worktrees WHERE id = ?").get(b))return b;if(!e(a))return null;let c=a.prepare("SELECT worktree_id FROM worktree_aliases WHERE old_id = ?").get(b);return c&&a.prepare("SELECT 1 FROM worktrees WHERE id = ?").get(c.worktree_id)?c.worktree_id:null}function h(a,b){return e(a)?a.prepare(`SELECT old_id, worktree_id, created_at
1495
+ `).all(b,c).map(d)}c.d(b,{H:()=>f,P:()=>e})},87374:(a,b,c)=>{c.d(b,{Dr:()=>i,HR:()=>h,Ky:()=>f,XS:()=>e,ms:()=>g,u8:()=>d}),Array.from({length:Math.floor(104)+1},(a,b)=>3e5+3e5*b);let d=5,e=50,f=100,g=1e4,h={PENDING:"pending",SENDING:"sending",SENT:"sent",FAILED:"failed",CANCELLED:"cancelled",NO_SESSION:"no_session"};function i(a){return"number"==typeof a&&a>=3e5&&a<=315e5&&a%3e5==0}},88807:(a,b,c)=>{c.r(b),c.d(b,{closeDbInstance:()=>q,getDbInstance:()=>p});var d=c(33873),e=c.n(d),f=c(55741),g=c(79646),h=c(87550),i=c.n(h);let j=!1;function k(a){return a instanceof Error&&"ERR_DLOPEN_FAILED"===a.code&&a.message.includes("NODE_MODULE_VERSION")}function l(a,b){let c=["better-sqlite3 could not be loaded: it was built for a different Node.js version.","This usually happens after switching Node.js versions (nvm, fnm, Homebrew, ...).","",`Automatic recovery failed: ${a}`,"","How to fix it manually:"];return b?c.push(" The install directory is not writable by the current user, so the addon"," cannot be rebuilt in place. Do not re-run this with sudo — root-owned"," files there will break future installs and updates.",""," Either switch back to the Node.js version CommandMate was installed with:",` node -v (currently ${process.version}, NODE_MODULE_VERSION ${process.versions.modules})`,""," Or reinstall CommandMate under a Node.js version manager, which keeps"," global packages in a user-owned directory:"," nvm use <version> && npm install -g commandmate"):c.push(` 1. cd ${process.cwd()}`," 2. npm rebuild better-sqlite3"," 3. Start CommandMate again",""," If that fails, reinstalling picks up the current Node.js version:"," npm install -g commandmate"),c.join("\n")}var m=c(93636),n=c(87447);let o=null;function p(){if(!o){let a=(0,n._$)().CM_DB_PATH,b=c(29021),d=e().dirname(a);b.existsSync(d)||b.mkdirSync(d,{recursive:!0,mode:448});let h=function(a){try{return new(i())(a)}catch(c){if(!k(c))throw c;if(j)throw Error(l("a rebuild was already attempted in this process.",!1));j=!0,console.error("[commandmate] better-sqlite3 was built for a different Node.js version.\n[commandmate] Rebuilding it automatically — this can take a few minutes...");let b=function(){let a=(0,g.spawnSync)("npm",["rebuild","better-sqlite3"],{cwd:process.cwd(),encoding:"utf-8",timeout:3e5,env:{...process.env,PATH:`${e().dirname(process.execPath)}${e().delimiter}${process.env.PATH??""}`}}),b=`${a.stdout??""}${a.stderr??""}`;return a.error||0!==a.status?{success:!1,permissionDenied:/EACCES|permission denied/i.test(b),output:b}:{success:!0,permissionDenied:!1,output:b}}();if(!b.success)throw Error(l("npm rebuild better-sqlite3 failed.",b.permissionDenied));console.error("[commandmate] Rebuild succeeded. Continuing startup.");try{return new(i())(a)}catch(a){if(k(a))throw Error(l("the addon still reports a version mismatch after rebuilding.",!1));throw a}}}(a);h.pragma("foreign_keys = ON"),h.pragma("journal_mode = WAL"),h.pragma("busy_timeout = 5000");try{(0,f.vI)(h)}catch(a){throw h.close(),a}o=h,(0,m.fe)(h)}return o}function q(){o&&((0,m.zZ)(),o.close(),o=null)}},95506:(a,b,c)=>{c.d(b,{Q2:()=>h,fX:()=>i,l0:()=>g,r3:()=>j,xJ:()=>f});var d=c(27923);function e(a){return void 0!==a.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'worktree_aliases'").get()}function f(a,b,c,e=Date.now()){(0,d.b$)(a,b,c,e)}function g(a,b){if(!b)return null;if(a.prepare("SELECT 1 FROM worktrees WHERE id = ?").get(b))return b;if(!e(a))return null;let c=a.prepare("SELECT worktree_id FROM worktree_aliases WHERE old_id = ?").get(b);return c&&a.prepare("SELECT 1 FROM worktrees WHERE id = ?").get(c.worktree_id)?c.worktree_id:null}function h(a,b){return e(a)?a.prepare(`SELECT old_id, worktree_id, created_at
1486
1496
  FROM worktree_aliases
1487
1497
  WHERE worktree_id = ?
1488
1498
  ORDER BY created_at DESC, old_id ASC`).all(b).map(a=>({oldId:a.old_id,worktreeId:a.worktree_id,createdAt:a.created_at})):[]}function i(a){return e(a)?a.prepare(`SELECT old_id, worktree_id, created_at