commandmate 0.38.0 → 0.39.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (785) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +471 -576
  3. package/.next/app-path-routes-manifest.json +32 -42
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/prerender-manifest.json +9 -9
  6. package/.next/react-loadable-manifest.json +2 -2
  7. package/.next/required-server-files.json +1 -1
  8. package/.next/routes-manifest.json +0 -23
  9. package/.next/server/app/_not-found/page.js +1 -1
  10. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  11. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  12. package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/agents/versions/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/app/release-notes/route.js +1 -0
  15. package/.next/server/app/api/app/release-notes/route.js.nft.json +1 -0
  16. package/.next/server/app/api/app/release-notes/route_client-reference-manifest.js +1 -0
  17. package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
  18. package/.next/server/app/api/app/update-check/route.js +1 -1
  19. package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/capabilities/route.js +1 -1
  24. package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/hooks/agent-event/route.js +1 -1
  33. package/.next/server/app/api/hooks/agent-event/route.js.nft.json +1 -1
  34. package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/hooks/claude-done/route.js +1 -1
  36. package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
  37. package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/hooks/permission-request/route.js +1 -1
  39. package/.next/server/app/api/hooks/permission-request/route.js.nft.json +1 -1
  40. package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/push/subscriptions/route.js +1 -1
  45. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/relays/[relayId]/cancel/route.js +1 -1
  48. package/.next/server/app/api/relays/[relayId]/cancel/route.js.nft.json +1 -1
  49. package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/relays/route.js +1 -1
  51. package/.next/server/app/api/relays/route.js.nft.json +1 -1
  52. package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -1
  53. package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
  54. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
  56. package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
  57. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/repositories/clone/route.js +1 -1
  59. package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
  60. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  61. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/repositories/restore/route.js +1 -1
  63. package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
  64. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/repositories/route.js +1 -1
  66. package/.next/server/app/api/repositories/route.js.nft.json +1 -1
  67. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/repositories/scan/route.js +1 -1
  69. package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
  70. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/repositories/sync/route.js +1 -1
  72. package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
  73. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/settings/default-agents/route.js +1 -1
  76. package/.next/server/app/api/settings/default-agents/route.js.nft.json +1 -1
  77. package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
  78. package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
  82. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
  84. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  86. package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/tasks/[taskId]/route.js +1 -1
  88. package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  90. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/verification/runs/[runId]/route.js +1 -1
  92. package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/verification/runs/route.js +1 -1
  94. package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
  95. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
  96. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
  97. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  98. package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -1
  99. package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
  100. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js +1 -1
  102. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js.nft.json +1 -1
  103. package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
  104. package/.next/server/app/api/worktrees/[id]/cli-reference/route.js +1 -1
  105. package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
  106. package/.next/server/app/api/worktrees/[id]/cli-tool/route.js +1 -1
  107. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +1 -1
  109. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  110. package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
  111. package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
  112. package/.next/server/app/api/worktrees/[id]/current-output/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.nft.json +1 -1
  169. package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
  170. package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
  171. package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
  172. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  173. package/.next/server/app/api/worktrees/[id]/kill-session/route.js +1 -1
  174. package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
  175. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  176. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js +1 -1
  177. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  178. package/.next/server/app/api/worktrees/[id]/logs/route.js +1 -1
  179. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  180. package/.next/server/app/api/worktrees/[id]/marp-render/route.js +1 -1
  181. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  182. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js +1 -1
  183. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  184. package/.next/server/app/api/worktrees/[id]/memos/route.js +1 -1
  185. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  186. package/.next/server/app/api/worktrees/[id]/messages/route.js +1 -1
  187. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  188. package/.next/server/app/api/worktrees/[id]/opencode/diff/route.js +1 -1
  189. package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
  190. package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
  191. package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
  192. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
  193. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
  194. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  195. package/.next/server/app/api/worktrees/[id]/resolve-target/route.js +1 -1
  196. package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
  197. package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
  198. package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
  199. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  200. package/.next/server/app/api/worktrees/[id]/route.js +1 -1
  201. package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
  202. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  203. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +1 -1
  204. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  205. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +1 -1
  206. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  207. package/.next/server/app/api/worktrees/[id]/schedules/route.js +1 -1
  208. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  209. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  210. package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
  211. package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
  212. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  213. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js +1 -1
  214. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
  215. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
  216. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  217. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  218. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  219. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  220. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
  221. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
  222. package/.next/server/app/api/worktrees/[id]/skills/route.js +1 -1
  223. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  224. package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
  225. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  226. package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
  227. package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
  228. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  229. package/.next/server/app/api/worktrees/[id]/tasks/route.js +1 -1
  230. package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
  231. package/.next/server/app/api/worktrees/[id]/terminal/route.js +1 -1
  232. package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
  233. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  234. package/.next/server/app/api/worktrees/[id]/timers/history/route.js +1 -1
  235. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  236. package/.next/server/app/api/worktrees/[id]/timers/route.js +1 -1
  237. package/.next/server/app/api/worktrees/[id]/timers/route.js.nft.json +1 -1
  238. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  239. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js +1 -1
  240. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  241. package/.next/server/app/api/worktrees/[id]/todos/route.js +1 -1
  242. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  243. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  244. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  245. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  246. package/.next/server/app/api/worktrees/[id]/verify/config/route.js +1 -1
  247. package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
  248. package/.next/server/app/api/worktrees/[id]/verify/route.js +1 -1
  249. package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
  250. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js +1 -1
  251. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
  252. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js +1 -1
  253. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
  254. package/.next/server/app/api/worktrees/[id]/verify/runs/route.js +1 -1
  255. package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
  256. package/.next/server/app/api/worktrees/[id]/viewed/route.js +1 -1
  257. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  258. package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
  259. package/.next/server/app/api/worktrees/route.js +1 -1
  260. package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
  261. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  262. package/.next/server/app/login/page.js +1 -1
  263. package/.next/server/app/login/page.js.nft.json +1 -1
  264. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  265. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  266. package/.next/server/app/more/page.js +2 -2
  267. package/.next/server/app/more/page.js.nft.json +1 -1
  268. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  269. package/.next/server/app/offline/page.js +1 -1
  270. package/.next/server/app/offline/page.js.nft.json +1 -1
  271. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  272. package/.next/server/app/page.js +2 -2
  273. package/.next/server/app/page.js.nft.json +1 -1
  274. package/.next/server/app/page_client-reference-manifest.js +1 -1
  275. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  276. package/.next/server/app/repositories/page.js +2 -2
  277. package/.next/server/app/repositories/page.js.nft.json +1 -1
  278. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  279. package/.next/server/app/review/page.js +1 -1
  280. package/.next/server/app/review/page.js.nft.json +1 -1
  281. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  282. package/.next/server/app/sessions/page.js +2 -2
  283. package/.next/server/app/sessions/page.js.nft.json +1 -1
  284. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  285. package/.next/server/app/skills/[skillId]/page.js +2 -2
  286. package/.next/server/app/skills/[skillId]/page.js.nft.json +1 -1
  287. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  288. package/.next/server/app/skills/installed/page.js +2 -2
  289. package/.next/server/app/skills/installed/page.js.nft.json +1 -1
  290. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
  291. package/.next/server/app/skills/page.js +1 -1
  292. package/.next/server/app/skills/page.js.nft.json +1 -1
  293. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  294. package/.next/server/app/worktrees/[id]/files/[...path]/page.js +1 -1
  295. package/.next/server/app/worktrees/[id]/files/[...path]/page.js.nft.json +1 -1
  296. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  297. package/.next/server/app/worktrees/[id]/page.js +11 -11
  298. package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
  299. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  300. package/.next/server/app/worktrees/[id]/terminal/page.js +1 -1
  301. package/.next/server/app/worktrees/[id]/terminal/page.js.nft.json +1 -1
  302. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  303. package/.next/server/app-paths-manifest.json +32 -42
  304. package/.next/server/chunks/1210.js +1 -1
  305. package/.next/server/chunks/1707.js +1 -1
  306. package/.next/server/chunks/1825.js +1 -1
  307. package/.next/server/chunks/2119.js +1 -1
  308. package/.next/server/chunks/2445.js +1 -1
  309. package/.next/server/chunks/3241.js +1 -1
  310. package/.next/server/chunks/3323.js +1 -1
  311. package/.next/server/chunks/3543.js +1 -1
  312. package/.next/server/chunks/366.js +1 -0
  313. package/.next/server/chunks/3945.js +1 -1
  314. package/.next/server/chunks/4443.js +1 -1
  315. package/.next/server/chunks/5164.js +1 -1
  316. package/.next/server/chunks/5354.js +1 -1
  317. package/.next/server/chunks/6130.js +1 -1
  318. package/.next/server/chunks/6159.js +1 -1
  319. package/.next/server/chunks/6401.js +1 -1
  320. package/.next/server/chunks/650.js +1 -1
  321. package/.next/server/chunks/6661.js +1 -1
  322. package/.next/server/chunks/7075.js +1 -1
  323. package/.next/server/chunks/7086.js +15 -0
  324. package/.next/server/chunks/8550.js +1 -0
  325. package/.next/server/chunks/8581.js +60 -0
  326. package/.next/server/chunks/8728.js +2 -2
  327. package/.next/server/chunks/8807.js +184 -323
  328. package/.next/server/chunks/8918.js +1 -1
  329. package/.next/server/chunks/9130.js +3 -3
  330. package/.next/server/chunks/9584.js +1 -1
  331. package/.next/server/chunks/9627.js +1 -1
  332. package/.next/server/chunks/{1886.js → 9731.js} +3 -3
  333. package/.next/server/chunks/{6677.js → 9882.js} +1 -1
  334. package/.next/server/middleware-build-manifest.js +1 -1
  335. package/.next/server/middleware-manifest.json +5 -5
  336. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  337. package/.next/server/pages/500.html +1 -1
  338. package/.next/server/server-reference-manifest.json +1 -1
  339. package/.next/static/CqFH31RhKQbrRZXsMNosJ/_buildManifest.js +1 -0
  340. package/.next/static/chunks/1032-9e43405ac6bf6848.js +1 -0
  341. package/.next/static/chunks/2318-af00abceb9b8eab5.js +1 -0
  342. package/.next/static/chunks/{2407-6fd60b674e20ec06.js → 2407-8fe4e4d0bab1931a.js} +1 -1
  343. package/.next/static/chunks/2619-04bc32f026a0d946.js +1 -0
  344. package/.next/static/chunks/344-6f9fc1f38f01a839.js +1 -0
  345. package/.next/static/chunks/3504-0100ab50762f591b.js +1 -0
  346. package/.next/static/chunks/3778-56f41fc2cecb8c43.js +1 -0
  347. package/.next/static/chunks/4322-f54abdc5d16b7462.js +1 -0
  348. package/.next/static/chunks/4768-0ad5eb716bed5de9.js +1 -0
  349. package/.next/static/chunks/4949-a13ace141c0183d6.js +1 -0
  350. package/.next/static/chunks/5449-550bd273dccc3ae4.js +1 -0
  351. package/.next/static/chunks/5529-83e705fc4134a503.js +1 -0
  352. package/.next/static/chunks/{3313.53f7ff985c0c8852.js → 5694.dda65070757534df.js} +1 -1
  353. package/.next/static/chunks/6322-f1b30ed0ee43518f.js +1 -0
  354. package/.next/static/chunks/6966-bb854d1145783a64.js +1 -0
  355. package/.next/static/chunks/{7485.52361bc061cc663a.js → 7485.442b21101fca7257.js} +1 -1
  356. package/.next/static/chunks/8019-cc6ac1cc033fd5f0.js +1 -0
  357. package/.next/static/chunks/8283-26ad31a4670ea52d.js +1 -0
  358. package/.next/static/chunks/8606-e893c1dab6fb81bc.js +1 -0
  359. package/.next/static/chunks/9619-c3c4c623b0a4f681.js +1 -0
  360. package/.next/static/chunks/app/api/agents/update/route-70779af8b4c8259a.js +1 -0
  361. package/.next/static/chunks/app/api/agents/versions/route-70779af8b4c8259a.js +1 -0
  362. package/.next/static/chunks/app/api/app/release-notes/route-70779af8b4c8259a.js +1 -0
  363. package/.next/static/chunks/app/api/app/update/route-70779af8b4c8259a.js +1 -0
  364. package/.next/static/chunks/app/api/app/update-check/route-70779af8b4c8259a.js +1 -0
  365. package/.next/static/chunks/app/api/auth/login/route-70779af8b4c8259a.js +1 -0
  366. package/.next/static/chunks/app/api/auth/logout/route-70779af8b4c8259a.js +1 -0
  367. package/.next/static/chunks/app/api/auth/status/route-70779af8b4c8259a.js +1 -0
  368. package/.next/static/chunks/app/api/capabilities/route-70779af8b4c8259a.js +1 -0
  369. package/.next/static/chunks/app/api/daily-summary/route-70779af8b4c8259a.js +1 -0
  370. package/.next/static/chunks/app/api/daily-summary/status/route-70779af8b4c8259a.js +1 -0
  371. package/.next/static/chunks/app/api/external-apps/[id]/health/route-70779af8b4c8259a.js +1 -0
  372. package/.next/static/chunks/app/api/external-apps/[id]/route-70779af8b4c8259a.js +1 -0
  373. package/.next/static/chunks/app/api/external-apps/route-70779af8b4c8259a.js +1 -0
  374. package/.next/static/chunks/app/api/fs/browse/route-70779af8b4c8259a.js +1 -0
  375. package/.next/static/chunks/app/api/fs/recent-paths/route-70779af8b4c8259a.js +1 -0
  376. package/.next/static/chunks/app/api/hooks/agent-event/route-70779af8b4c8259a.js +1 -0
  377. package/.next/static/chunks/app/api/hooks/claude-done/route-70779af8b4c8259a.js +1 -0
  378. package/.next/static/chunks/app/api/hooks/permission-request/route-70779af8b4c8259a.js +1 -0
  379. package/.next/static/chunks/app/api/metrics/vibe/route-70779af8b4c8259a.js +1 -0
  380. package/.next/static/chunks/app/api/ollama/models/route-70779af8b4c8259a.js +1 -0
  381. package/.next/static/chunks/app/api/push/escalation/route-70779af8b4c8259a.js +1 -0
  382. package/.next/static/chunks/app/api/push/subscriptions/route-70779af8b4c8259a.js +1 -0
  383. package/.next/static/chunks/app/api/push/vapid/route-70779af8b4c8259a.js +1 -0
  384. package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-70779af8b4c8259a.js +1 -0
  385. package/.next/static/chunks/app/api/relays/route-70779af8b4c8259a.js +1 -0
  386. package/.next/static/chunks/app/api/remote/pair/route-70779af8b4c8259a.js +1 -0
  387. package/.next/static/chunks/app/api/repositories/[id]/route-70779af8b4c8259a.js +1 -0
  388. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-70779af8b4c8259a.js +1 -0
  389. package/.next/static/chunks/app/api/repositories/clone/route-70779af8b4c8259a.js +1 -0
  390. package/.next/static/chunks/app/api/repositories/excluded/route-70779af8b4c8259a.js +1 -0
  391. package/.next/static/chunks/app/api/repositories/restore/route-70779af8b4c8259a.js +1 -0
  392. package/.next/static/chunks/app/api/repositories/route-70779af8b4c8259a.js +1 -0
  393. package/.next/static/chunks/app/api/repositories/scan/route-70779af8b4c8259a.js +1 -0
  394. package/.next/static/chunks/app/api/repositories/sync/route-70779af8b4c8259a.js +1 -0
  395. package/.next/static/chunks/app/api/repositories/validate-path/route-70779af8b4c8259a.js +1 -0
  396. package/.next/static/chunks/app/api/settings/default-agents/route-70779af8b4c8259a.js +1 -0
  397. package/.next/static/chunks/app/api/settings/default-surface-mode/route-70779af8b4c8259a.js +1 -0
  398. package/.next/static/chunks/app/api/sidebar/group-order/route-70779af8b4c8259a.js +1 -0
  399. package/.next/static/chunks/app/api/skills/[id]/route-70779af8b4c8259a.js +1 -0
  400. package/.next/static/chunks/app/api/skills/installations/route-70779af8b4c8259a.js +1 -0
  401. package/.next/static/chunks/app/api/skills/operations/route-70779af8b4c8259a.js +1 -0
  402. package/.next/static/chunks/app/api/skills/reindex/route-70779af8b4c8259a.js +1 -0
  403. package/.next/static/chunks/app/api/skills/route-70779af8b4c8259a.js +1 -0
  404. package/.next/static/chunks/app/api/slash-commands/route-70779af8b4c8259a.js +1 -0
  405. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-70779af8b4c8259a.js +1 -0
  406. package/.next/static/chunks/app/api/tasks/[taskId]/route-70779af8b4c8259a.js +1 -0
  407. package/.next/static/chunks/app/api/templates/[id]/route-70779af8b4c8259a.js +1 -0
  408. package/.next/static/chunks/app/api/templates/route-70779af8b4c8259a.js +1 -0
  409. package/.next/static/chunks/app/api/verification/runs/[runId]/route-70779af8b4c8259a.js +1 -0
  410. package/.next/static/chunks/app/api/verification/runs/route-70779af8b4c8259a.js +1 -0
  411. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-70779af8b4c8259a.js +1 -0
  412. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-70779af8b4c8259a.js +1 -0
  413. package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-70779af8b4c8259a.js +1 -0
  414. package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-70779af8b4c8259a.js +1 -0
  415. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-70779af8b4c8259a.js +1 -0
  416. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-70779af8b4c8259a.js +1 -0
  417. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-70779af8b4c8259a.js +1 -0
  418. package/.next/static/chunks/app/api/worktrees/[id]/env/route-70779af8b4c8259a.js +1 -0
  419. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-70779af8b4c8259a.js +1 -0
  420. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-70779af8b4c8259a.js +1 -0
  421. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-70779af8b4c8259a.js +1 -0
  422. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-70779af8b4c8259a.js +1 -0
  423. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-70779af8b4c8259a.js +1 -0
  424. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-70779af8b4c8259a.js +1 -0
  425. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-70779af8b4c8259a.js +1 -0
  426. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-70779af8b4c8259a.js +1 -0
  427. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-70779af8b4c8259a.js +1 -0
  428. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-70779af8b4c8259a.js +1 -0
  429. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-70779af8b4c8259a.js +1 -0
  430. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-70779af8b4c8259a.js +1 -0
  431. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-70779af8b4c8259a.js +1 -0
  432. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-70779af8b4c8259a.js +1 -0
  433. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-70779af8b4c8259a.js +1 -0
  434. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-70779af8b4c8259a.js +1 -0
  435. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-70779af8b4c8259a.js +1 -0
  436. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-70779af8b4c8259a.js +1 -0
  437. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-70779af8b4c8259a.js +1 -0
  438. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-70779af8b4c8259a.js +1 -0
  439. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-70779af8b4c8259a.js +1 -0
  440. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-70779af8b4c8259a.js +1 -0
  441. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-70779af8b4c8259a.js +1 -0
  442. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-70779af8b4c8259a.js +1 -0
  443. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-70779af8b4c8259a.js +1 -0
  444. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-70779af8b4c8259a.js +1 -0
  445. package/.next/static/chunks/app/api/worktrees/[id]/instances/notes/route-70779af8b4c8259a.js +1 -0
  446. package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-70779af8b4c8259a.js +1 -0
  447. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-70779af8b4c8259a.js +1 -0
  448. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-70779af8b4c8259a.js +1 -0
  449. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-70779af8b4c8259a.js +1 -0
  450. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-70779af8b4c8259a.js +1 -0
  451. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-70779af8b4c8259a.js +1 -0
  452. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-70779af8b4c8259a.js +1 -0
  453. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-70779af8b4c8259a.js +1 -0
  454. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-70779af8b4c8259a.js +1 -0
  455. package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-70779af8b4c8259a.js +1 -0
  456. package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-70779af8b4c8259a.js +1 -0
  457. package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-70779af8b4c8259a.js +1 -0
  458. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-70779af8b4c8259a.js +1 -0
  459. package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-70779af8b4c8259a.js +1 -0
  460. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-70779af8b4c8259a.js +1 -0
  461. package/.next/static/chunks/app/api/worktrees/[id]/route-70779af8b4c8259a.js +1 -0
  462. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-70779af8b4c8259a.js +1 -0
  463. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-70779af8b4c8259a.js +1 -0
  464. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-70779af8b4c8259a.js +1 -0
  465. package/.next/static/chunks/app/api/worktrees/[id]/search/route-70779af8b4c8259a.js +1 -0
  466. package/.next/static/chunks/app/api/worktrees/[id]/send/route-70779af8b4c8259a.js +1 -0
  467. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-70779af8b4c8259a.js +1 -0
  468. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-70779af8b4c8259a.js +1 -0
  469. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-70779af8b4c8259a.js +1 -0
  470. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-70779af8b4c8259a.js +1 -0
  471. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-70779af8b4c8259a.js +1 -0
  472. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-70779af8b4c8259a.js +1 -0
  473. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-70779af8b4c8259a.js +1 -0
  474. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-70779af8b4c8259a.js +1 -0
  475. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-70779af8b4c8259a.js +1 -0
  476. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-70779af8b4c8259a.js +1 -0
  477. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-70779af8b4c8259a.js +1 -0
  478. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-70779af8b4c8259a.js +1 -0
  479. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-70779af8b4c8259a.js +1 -0
  480. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-70779af8b4c8259a.js +1 -0
  481. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-70779af8b4c8259a.js +1 -0
  482. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-70779af8b4c8259a.js +1 -0
  483. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-70779af8b4c8259a.js +1 -0
  484. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-70779af8b4c8259a.js +1 -0
  485. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-70779af8b4c8259a.js +1 -0
  486. package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-70779af8b4c8259a.js +1 -0
  487. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-70779af8b4c8259a.js +1 -0
  488. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-70779af8b4c8259a.js +1 -0
  489. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-70779af8b4c8259a.js +1 -0
  490. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-70779af8b4c8259a.js +1 -0
  491. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-70779af8b4c8259a.js +1 -0
  492. package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-70779af8b4c8259a.js +1 -0
  493. package/.next/static/chunks/app/api/worktrees/route-70779af8b4c8259a.js +1 -0
  494. package/.next/static/chunks/app/{error-c1dc1038d0a84a33.js → error-d9a7067074e7f460.js} +1 -1
  495. package/.next/static/chunks/app/layout-f43045c9edbc4d1f.js +1 -0
  496. package/.next/static/chunks/app/loading-db675c84e696591f.js +1 -0
  497. package/.next/static/chunks/app/login/{page-af7241bb4c4a8e59.js → page-269a9de3b91a45a2.js} +1 -1
  498. package/.next/static/chunks/app/manifest.webmanifest/route-70779af8b4c8259a.js +1 -0
  499. package/.next/static/chunks/app/more/loading-db675c84e696591f.js +1 -0
  500. package/.next/static/chunks/app/more/page-3963a5e56e550442.js +1 -0
  501. package/.next/static/chunks/app/page-0c1a29ff3609bd8b.js +1 -0
  502. package/.next/static/chunks/app/proxy/[...path]/route-70779af8b4c8259a.js +1 -0
  503. package/.next/static/chunks/app/repositories/loading-db675c84e696591f.js +1 -0
  504. package/.next/static/chunks/app/repositories/page-e9ceeefacf87d470.js +1 -0
  505. package/.next/static/chunks/app/review/loading-db675c84e696591f.js +1 -0
  506. package/.next/static/chunks/app/review/page-3028fe95de490236.js +1 -0
  507. package/.next/static/chunks/app/sessions/loading-db675c84e696591f.js +1 -0
  508. package/.next/static/chunks/app/sessions/page-3f39f99b878fdda0.js +1 -0
  509. package/.next/static/chunks/app/skills/[skillId]/page-6f62668eabb635f5.js +1 -0
  510. package/.next/static/chunks/app/skills/installed/page-c6c4ac5e26c4e73e.js +1 -0
  511. package/.next/static/chunks/app/skills/page-bec1d4924004d4de.js +1 -0
  512. package/.next/static/chunks/app/worktrees/[id]/files/[...path]/{page-f3361237420719b4.js → page-2e98f11956fe1aea.js} +1 -1
  513. package/.next/static/chunks/app/worktrees/[id]/layout-70779af8b4c8259a.js +1 -0
  514. package/.next/static/chunks/app/worktrees/[id]/loading-db675c84e696591f.js +1 -0
  515. package/.next/static/chunks/app/worktrees/[id]/page-0305d80c8ebda4cb.js +1 -0
  516. package/.next/static/chunks/app/worktrees/[id]/terminal/page-373ea37b16d930c7.js +1 -0
  517. package/.next/static/chunks/{webpack-0281b30457d46ebc.js → webpack-9f75198882fdaf08.js} +1 -1
  518. package/.next/static/css/2c63c5531f77719e.css +1 -0
  519. package/.next/trace +13 -14
  520. package/.next/types/app/api/{assistant/start → app/release-notes}/route.ts +3 -3
  521. package/.next/types/routes.d.ts +3 -13
  522. package/.next/types/validator.ts +9 -99
  523. package/dist/cli/commands/wait.d.ts +45 -0
  524. package/dist/cli/commands/wait.d.ts.map +1 -1
  525. package/dist/cli/commands/wait.js +172 -3
  526. package/dist/server/locales/en/worktree.json +22 -5
  527. package/dist/server/locales/ja/worktree.json +22 -5
  528. package/dist/server/src/config/activity-bar-config.js +3 -1
  529. package/dist/server/src/lib/cli-tools/copilot.js +244 -11
  530. package/dist/server/src/lib/db/db.js +3 -32
  531. package/dist/server/src/lib/db/worktree-todo-db.js +1 -2
  532. package/dist/server/src/lib/detection/cli-patterns.js +39 -2
  533. package/dist/server/src/lib/detection/tools/codex/prompt.js +15 -1
  534. package/dist/server/src/lib/hooks/agent-event-types.js +19 -1
  535. package/dist/server/src/lib/hooks/sources/antigravity/hooks-config.js +65 -4
  536. package/dist/server/src/lib/hooks/sources/antigravity/source.js +32 -3
  537. package/dist/server/src/lib/hooks/sources/claude/source.js +5 -0
  538. package/dist/server/src/lib/hooks/sources/codex/source.js +2 -0
  539. package/dist/server/src/lib/hooks/sources/command-code/source.js +2 -0
  540. package/dist/server/src/lib/hooks/sources/copilot/source.js +3 -0
  541. package/dist/server/src/lib/hooks/sources/gemini/source.js +2 -0
  542. package/dist/server/src/lib/hooks/sources/legacy-relay.js +2 -0
  543. package/dist/server/src/lib/hooks/sources/opencode/source.js +2 -0
  544. package/dist/server/src/lib/session/current-output-builder.js +3 -1
  545. package/dist/server/src/lib/session/send-user-message.js +112 -17
  546. package/dist/server/src/lib/verification/verification-reconciler.js +2 -2
  547. package/package.json +3 -2
  548. package/release-notes/0.39.0.json +94 -0
  549. package/.next/server/app/api/assistant/conversation/route.js +0 -1
  550. package/.next/server/app/api/assistant/conversation/route.js.nft.json +0 -1
  551. package/.next/server/app/api/assistant/conversation/route_client-reference-manifest.js +0 -1
  552. package/.next/server/app/api/assistant/current-output/route.js +0 -1
  553. package/.next/server/app/api/assistant/current-output/route.js.nft.json +0 -1
  554. package/.next/server/app/api/assistant/current-output/route_client-reference-manifest.js +0 -1
  555. package/.next/server/app/api/assistant/messages/route.js +0 -1
  556. package/.next/server/app/api/assistant/messages/route.js.nft.json +0 -1
  557. package/.next/server/app/api/assistant/messages/route_client-reference-manifest.js +0 -1
  558. package/.next/server/app/api/assistant/session/route.js +0 -1
  559. package/.next/server/app/api/assistant/session/route.js.nft.json +0 -1
  560. package/.next/server/app/api/assistant/session/route_client-reference-manifest.js +0 -1
  561. package/.next/server/app/api/assistant/start/route.js +0 -32
  562. package/.next/server/app/api/assistant/start/route.js.nft.json +0 -1
  563. package/.next/server/app/api/assistant/start/route_client-reference-manifest.js +0 -1
  564. package/.next/server/app/api/assistant/terminal/route.js +0 -34
  565. package/.next/server/app/api/assistant/terminal/route.js.nft.json +0 -1
  566. package/.next/server/app/api/assistant/terminal/route_client-reference-manifest.js +0 -1
  567. package/.next/server/app/api/assistant/tools/route.js +0 -1
  568. package/.next/server/app/api/assistant/tools/route.js.nft.json +0 -1
  569. package/.next/server/app/api/assistant/tools/route_client-reference-manifest.js +0 -1
  570. package/.next/server/app/api/repositories/[id]/todos/[todoId]/route.js +0 -1
  571. package/.next/server/app/api/repositories/[id]/todos/[todoId]/route.js.nft.json +0 -1
  572. package/.next/server/app/api/repositories/[id]/todos/[todoId]/route_client-reference-manifest.js +0 -1
  573. package/.next/server/app/api/repositories/[id]/todos/route.js +0 -1
  574. package/.next/server/app/api/repositories/[id]/todos/route.js.nft.json +0 -1
  575. package/.next/server/app/api/repositories/[id]/todos/route_client-reference-manifest.js +0 -1
  576. package/.next/server/app/api/todos/route.js +0 -1
  577. package/.next/server/app/api/todos/route.js.nft.json +0 -1
  578. package/.next/server/app/api/todos/route_client-reference-manifest.js +0 -1
  579. package/.next/server/app/chat/page.js +0 -2
  580. package/.next/server/app/chat/page.js.nft.json +0 -1
  581. package/.next/server/app/chat/page_client-reference-manifest.js +0 -1
  582. package/.next/server/chunks/1366.js +0 -15
  583. package/.next/server/chunks/1467.js +0 -48
  584. package/.next/server/chunks/180.js +0 -1
  585. package/.next/server/chunks/3123.js +0 -1
  586. package/.next/server/chunks/3708.js +0 -1
  587. package/.next/server/chunks/5364.js +0 -1
  588. package/.next/server/chunks/6015.js +0 -1
  589. package/.next/server/chunks/8118.js +0 -1
  590. package/.next/server/chunks/8554.js +0 -1
  591. package/.next/server/chunks/9123.js +0 -13
  592. package/.next/static/chunks/3160-79d24ca264a528b9.js +0 -1
  593. package/.next/static/chunks/4322-59a7dbd77a7763cc.js +0 -1
  594. package/.next/static/chunks/4388-a778968d9c4e9327.js +0 -1
  595. package/.next/static/chunks/4718-56ebb6e55073ed5e.js +0 -1
  596. package/.next/static/chunks/4949-7dbce1029c6bdbb9.js +0 -1
  597. package/.next/static/chunks/5520-8bde9501846ae660.js +0 -1
  598. package/.next/static/chunks/5694-498765336d0b8c2b.js +0 -1
  599. package/.next/static/chunks/6402-d91e099c3f2d78f4.js +0 -1
  600. package/.next/static/chunks/6983-3ed2099251793bdf.js +0 -1
  601. package/.next/static/chunks/790-d8e6acd26e03679c.js +0 -1
  602. package/.next/static/chunks/8019-cbf130d0e6334d2d.js +0 -1
  603. package/.next/static/chunks/934-a37509667baa86ee.js +0 -1
  604. package/.next/static/chunks/9948-d139e3e5dbecaf73.js +0 -1
  605. package/.next/static/chunks/app/api/agents/update/route-c4d2d5016c5f2a0a.js +0 -1
  606. package/.next/static/chunks/app/api/agents/versions/route-c4d2d5016c5f2a0a.js +0 -1
  607. package/.next/static/chunks/app/api/app/update/route-c4d2d5016c5f2a0a.js +0 -1
  608. package/.next/static/chunks/app/api/app/update-check/route-c4d2d5016c5f2a0a.js +0 -1
  609. package/.next/static/chunks/app/api/assistant/conversation/route-c4d2d5016c5f2a0a.js +0 -1
  610. package/.next/static/chunks/app/api/assistant/current-output/route-c4d2d5016c5f2a0a.js +0 -1
  611. package/.next/static/chunks/app/api/assistant/messages/route-c4d2d5016c5f2a0a.js +0 -1
  612. package/.next/static/chunks/app/api/assistant/session/route-c4d2d5016c5f2a0a.js +0 -1
  613. package/.next/static/chunks/app/api/assistant/start/route-c4d2d5016c5f2a0a.js +0 -1
  614. package/.next/static/chunks/app/api/assistant/terminal/route-c4d2d5016c5f2a0a.js +0 -1
  615. package/.next/static/chunks/app/api/assistant/tools/route-c4d2d5016c5f2a0a.js +0 -1
  616. package/.next/static/chunks/app/api/auth/login/route-c4d2d5016c5f2a0a.js +0 -1
  617. package/.next/static/chunks/app/api/auth/logout/route-c4d2d5016c5f2a0a.js +0 -1
  618. package/.next/static/chunks/app/api/auth/status/route-c4d2d5016c5f2a0a.js +0 -1
  619. package/.next/static/chunks/app/api/capabilities/route-c4d2d5016c5f2a0a.js +0 -1
  620. package/.next/static/chunks/app/api/daily-summary/route-c4d2d5016c5f2a0a.js +0 -1
  621. package/.next/static/chunks/app/api/daily-summary/status/route-c4d2d5016c5f2a0a.js +0 -1
  622. package/.next/static/chunks/app/api/external-apps/[id]/health/route-c4d2d5016c5f2a0a.js +0 -1
  623. package/.next/static/chunks/app/api/external-apps/[id]/route-c4d2d5016c5f2a0a.js +0 -1
  624. package/.next/static/chunks/app/api/external-apps/route-c4d2d5016c5f2a0a.js +0 -1
  625. package/.next/static/chunks/app/api/fs/browse/route-c4d2d5016c5f2a0a.js +0 -1
  626. package/.next/static/chunks/app/api/fs/recent-paths/route-c4d2d5016c5f2a0a.js +0 -1
  627. package/.next/static/chunks/app/api/hooks/agent-event/route-c4d2d5016c5f2a0a.js +0 -1
  628. package/.next/static/chunks/app/api/hooks/claude-done/route-c4d2d5016c5f2a0a.js +0 -1
  629. package/.next/static/chunks/app/api/hooks/permission-request/route-c4d2d5016c5f2a0a.js +0 -1
  630. package/.next/static/chunks/app/api/metrics/vibe/route-c4d2d5016c5f2a0a.js +0 -1
  631. package/.next/static/chunks/app/api/ollama/models/route-c4d2d5016c5f2a0a.js +0 -1
  632. package/.next/static/chunks/app/api/push/escalation/route-c4d2d5016c5f2a0a.js +0 -1
  633. package/.next/static/chunks/app/api/push/subscriptions/route-c4d2d5016c5f2a0a.js +0 -1
  634. package/.next/static/chunks/app/api/push/vapid/route-c4d2d5016c5f2a0a.js +0 -1
  635. package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-c4d2d5016c5f2a0a.js +0 -1
  636. package/.next/static/chunks/app/api/relays/route-c4d2d5016c5f2a0a.js +0 -1
  637. package/.next/static/chunks/app/api/remote/pair/route-c4d2d5016c5f2a0a.js +0 -1
  638. package/.next/static/chunks/app/api/repositories/[id]/route-c4d2d5016c5f2a0a.js +0 -1
  639. package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-c4d2d5016c5f2a0a.js +0 -1
  640. package/.next/static/chunks/app/api/repositories/[id]/todos/route-c4d2d5016c5f2a0a.js +0 -1
  641. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-c4d2d5016c5f2a0a.js +0 -1
  642. package/.next/static/chunks/app/api/repositories/clone/route-c4d2d5016c5f2a0a.js +0 -1
  643. package/.next/static/chunks/app/api/repositories/excluded/route-c4d2d5016c5f2a0a.js +0 -1
  644. package/.next/static/chunks/app/api/repositories/restore/route-c4d2d5016c5f2a0a.js +0 -1
  645. package/.next/static/chunks/app/api/repositories/route-c4d2d5016c5f2a0a.js +0 -1
  646. package/.next/static/chunks/app/api/repositories/scan/route-c4d2d5016c5f2a0a.js +0 -1
  647. package/.next/static/chunks/app/api/repositories/sync/route-c4d2d5016c5f2a0a.js +0 -1
  648. package/.next/static/chunks/app/api/repositories/validate-path/route-c4d2d5016c5f2a0a.js +0 -1
  649. package/.next/static/chunks/app/api/settings/default-agents/route-c4d2d5016c5f2a0a.js +0 -1
  650. package/.next/static/chunks/app/api/settings/default-surface-mode/route-c4d2d5016c5f2a0a.js +0 -1
  651. package/.next/static/chunks/app/api/sidebar/group-order/route-c4d2d5016c5f2a0a.js +0 -1
  652. package/.next/static/chunks/app/api/skills/[id]/route-c4d2d5016c5f2a0a.js +0 -1
  653. package/.next/static/chunks/app/api/skills/installations/route-c4d2d5016c5f2a0a.js +0 -1
  654. package/.next/static/chunks/app/api/skills/operations/route-c4d2d5016c5f2a0a.js +0 -1
  655. package/.next/static/chunks/app/api/skills/reindex/route-c4d2d5016c5f2a0a.js +0 -1
  656. package/.next/static/chunks/app/api/skills/route-c4d2d5016c5f2a0a.js +0 -1
  657. package/.next/static/chunks/app/api/slash-commands/route-c4d2d5016c5f2a0a.js +0 -1
  658. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-c4d2d5016c5f2a0a.js +0 -1
  659. package/.next/static/chunks/app/api/tasks/[taskId]/route-c4d2d5016c5f2a0a.js +0 -1
  660. package/.next/static/chunks/app/api/templates/[id]/route-c4d2d5016c5f2a0a.js +0 -1
  661. package/.next/static/chunks/app/api/templates/route-c4d2d5016c5f2a0a.js +0 -1
  662. package/.next/static/chunks/app/api/todos/route-c4d2d5016c5f2a0a.js +0 -1
  663. package/.next/static/chunks/app/api/verification/runs/[runId]/route-c4d2d5016c5f2a0a.js +0 -1
  664. package/.next/static/chunks/app/api/verification/runs/route-c4d2d5016c5f2a0a.js +0 -1
  665. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-c4d2d5016c5f2a0a.js +0 -1
  666. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-c4d2d5016c5f2a0a.js +0 -1
  667. package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-c4d2d5016c5f2a0a.js +0 -1
  668. package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-c4d2d5016c5f2a0a.js +0 -1
  669. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-c4d2d5016c5f2a0a.js +0 -1
  670. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-c4d2d5016c5f2a0a.js +0 -1
  671. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-c4d2d5016c5f2a0a.js +0 -1
  672. package/.next/static/chunks/app/api/worktrees/[id]/env/route-c4d2d5016c5f2a0a.js +0 -1
  673. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-c4d2d5016c5f2a0a.js +0 -1
  674. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-c4d2d5016c5f2a0a.js +0 -1
  675. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-c4d2d5016c5f2a0a.js +0 -1
  676. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-c4d2d5016c5f2a0a.js +0 -1
  677. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-c4d2d5016c5f2a0a.js +0 -1
  678. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-c4d2d5016c5f2a0a.js +0 -1
  679. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-c4d2d5016c5f2a0a.js +0 -1
  680. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-c4d2d5016c5f2a0a.js +0 -1
  681. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-c4d2d5016c5f2a0a.js +0 -1
  682. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-c4d2d5016c5f2a0a.js +0 -1
  683. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-c4d2d5016c5f2a0a.js +0 -1
  684. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-c4d2d5016c5f2a0a.js +0 -1
  685. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-c4d2d5016c5f2a0a.js +0 -1
  686. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-c4d2d5016c5f2a0a.js +0 -1
  687. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-c4d2d5016c5f2a0a.js +0 -1
  688. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-c4d2d5016c5f2a0a.js +0 -1
  689. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-c4d2d5016c5f2a0a.js +0 -1
  690. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-c4d2d5016c5f2a0a.js +0 -1
  691. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-c4d2d5016c5f2a0a.js +0 -1
  692. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-c4d2d5016c5f2a0a.js +0 -1
  693. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-c4d2d5016c5f2a0a.js +0 -1
  694. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-c4d2d5016c5f2a0a.js +0 -1
  695. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-c4d2d5016c5f2a0a.js +0 -1
  696. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-c4d2d5016c5f2a0a.js +0 -1
  697. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-c4d2d5016c5f2a0a.js +0 -1
  698. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-c4d2d5016c5f2a0a.js +0 -1
  699. package/.next/static/chunks/app/api/worktrees/[id]/instances/notes/route-c4d2d5016c5f2a0a.js +0 -1
  700. package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-c4d2d5016c5f2a0a.js +0 -1
  701. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-c4d2d5016c5f2a0a.js +0 -1
  702. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-c4d2d5016c5f2a0a.js +0 -1
  703. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-c4d2d5016c5f2a0a.js +0 -1
  704. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-c4d2d5016c5f2a0a.js +0 -1
  705. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-c4d2d5016c5f2a0a.js +0 -1
  706. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-c4d2d5016c5f2a0a.js +0 -1
  707. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-c4d2d5016c5f2a0a.js +0 -1
  708. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-c4d2d5016c5f2a0a.js +0 -1
  709. package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-c4d2d5016c5f2a0a.js +0 -1
  710. package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-c4d2d5016c5f2a0a.js +0 -1
  711. package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-c4d2d5016c5f2a0a.js +0 -1
  712. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-c4d2d5016c5f2a0a.js +0 -1
  713. package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-c4d2d5016c5f2a0a.js +0 -1
  714. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-c4d2d5016c5f2a0a.js +0 -1
  715. package/.next/static/chunks/app/api/worktrees/[id]/route-c4d2d5016c5f2a0a.js +0 -1
  716. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-c4d2d5016c5f2a0a.js +0 -1
  717. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-c4d2d5016c5f2a0a.js +0 -1
  718. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-c4d2d5016c5f2a0a.js +0 -1
  719. package/.next/static/chunks/app/api/worktrees/[id]/search/route-c4d2d5016c5f2a0a.js +0 -1
  720. package/.next/static/chunks/app/api/worktrees/[id]/send/route-c4d2d5016c5f2a0a.js +0 -1
  721. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-c4d2d5016c5f2a0a.js +0 -1
  722. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-c4d2d5016c5f2a0a.js +0 -1
  723. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-c4d2d5016c5f2a0a.js +0 -1
  724. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-c4d2d5016c5f2a0a.js +0 -1
  725. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-c4d2d5016c5f2a0a.js +0 -1
  726. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-c4d2d5016c5f2a0a.js +0 -1
  727. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-c4d2d5016c5f2a0a.js +0 -1
  728. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-c4d2d5016c5f2a0a.js +0 -1
  729. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-c4d2d5016c5f2a0a.js +0 -1
  730. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-c4d2d5016c5f2a0a.js +0 -1
  731. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-c4d2d5016c5f2a0a.js +0 -1
  732. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-c4d2d5016c5f2a0a.js +0 -1
  733. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-c4d2d5016c5f2a0a.js +0 -1
  734. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-c4d2d5016c5f2a0a.js +0 -1
  735. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-c4d2d5016c5f2a0a.js +0 -1
  736. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-c4d2d5016c5f2a0a.js +0 -1
  737. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-c4d2d5016c5f2a0a.js +0 -1
  738. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-c4d2d5016c5f2a0a.js +0 -1
  739. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-c4d2d5016c5f2a0a.js +0 -1
  740. package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-c4d2d5016c5f2a0a.js +0 -1
  741. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-c4d2d5016c5f2a0a.js +0 -1
  742. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-c4d2d5016c5f2a0a.js +0 -1
  743. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-c4d2d5016c5f2a0a.js +0 -1
  744. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-c4d2d5016c5f2a0a.js +0 -1
  745. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-c4d2d5016c5f2a0a.js +0 -1
  746. package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-c4d2d5016c5f2a0a.js +0 -1
  747. package/.next/static/chunks/app/api/worktrees/route-c4d2d5016c5f2a0a.js +0 -1
  748. package/.next/static/chunks/app/chat/loading-c58ba2c3f4363277.js +0 -1
  749. package/.next/static/chunks/app/chat/page-bfc1f5bb17bd771d.js +0 -1
  750. package/.next/static/chunks/app/layout-114dc6e93e332392.js +0 -1
  751. package/.next/static/chunks/app/loading-c58ba2c3f4363277.js +0 -1
  752. package/.next/static/chunks/app/manifest.webmanifest/route-c4d2d5016c5f2a0a.js +0 -1
  753. package/.next/static/chunks/app/more/loading-c58ba2c3f4363277.js +0 -1
  754. package/.next/static/chunks/app/more/page-400ffa825f8f150e.js +0 -1
  755. package/.next/static/chunks/app/page-a4f03c188610c6c8.js +0 -1
  756. package/.next/static/chunks/app/proxy/[...path]/route-c4d2d5016c5f2a0a.js +0 -1
  757. package/.next/static/chunks/app/repositories/loading-c58ba2c3f4363277.js +0 -1
  758. package/.next/static/chunks/app/repositories/page-a15efb4ce1d1721e.js +0 -1
  759. package/.next/static/chunks/app/review/loading-c58ba2c3f4363277.js +0 -1
  760. package/.next/static/chunks/app/review/page-90ac618489676cbc.js +0 -1
  761. package/.next/static/chunks/app/sessions/loading-c58ba2c3f4363277.js +0 -1
  762. package/.next/static/chunks/app/sessions/page-b8651c3f17c36800.js +0 -1
  763. package/.next/static/chunks/app/skills/[skillId]/page-ce8f6fd9e4356580.js +0 -1
  764. package/.next/static/chunks/app/skills/installed/page-566dfde26d7e63ba.js +0 -1
  765. package/.next/static/chunks/app/skills/page-7859540e8092aace.js +0 -1
  766. package/.next/static/chunks/app/worktrees/[id]/layout-c4d2d5016c5f2a0a.js +0 -1
  767. package/.next/static/chunks/app/worktrees/[id]/loading-c58ba2c3f4363277.js +0 -1
  768. package/.next/static/chunks/app/worktrees/[id]/page-86ef4510c70adefc.js +0 -1
  769. package/.next/static/chunks/app/worktrees/[id]/terminal/page-2631bc5c4b0a9fb8.js +0 -1
  770. package/.next/static/css/c511ecdf1e7f18a0.css +0 -1
  771. package/.next/static/rM1BO5QIz3tynGdyJy0T-/_buildManifest.js +0 -1
  772. package/.next/types/app/api/assistant/conversation/route.ts +0 -347
  773. package/.next/types/app/api/assistant/current-output/route.ts +0 -347
  774. package/.next/types/app/api/assistant/messages/route.ts +0 -347
  775. package/.next/types/app/api/assistant/session/route.ts +0 -347
  776. package/.next/types/app/api/assistant/terminal/route.ts +0 -347
  777. package/.next/types/app/api/assistant/tools/route.ts +0 -347
  778. package/.next/types/app/api/repositories/[id]/todos/[todoId]/route.ts +0 -347
  779. package/.next/types/app/api/repositories/[id]/todos/route.ts +0 -347
  780. package/.next/types/app/api/todos/route.ts +0 -347
  781. package/.next/types/app/chat/page.ts +0 -84
  782. package/dist/server/src/lib/db/assistant-conversation-db.js +0 -428
  783. package/dist/server/src/lib/db/todo-db.js +0 -150
  784. package/dist/server/src/types/assistant.js +0 -5
  785. /package/.next/static/{rM1BO5QIz3tynGdyJy0T- → CqFH31RhKQbrRZXsMNosJ}/_ssgManifest.js +0 -0
@@ -33,8 +33,10 @@
33
33
  * ## Which events are registered
34
34
  *
35
35
  * `SessionStart`, `PostToolUse` and `Stop` go to the fire-and-forget event
36
- * receiver through the relay. `PreToolUse` goes somewhere else entirely, and
37
- * that split is the single most important thing in this module.
36
+ * receiver through the relay (`Stop` with one field read on the way, Issue
37
+ * #2614 — see {@link buildAntigravityStopHookCommand}). `PreToolUse` goes
38
+ * somewhere else entirely, and that split is the single most important thing
39
+ * in this module.
38
40
  *
39
41
  * The other three are safe *and measured to be safe*, which is not the same
40
42
  * claim twice:
@@ -71,9 +73,10 @@
71
73
  * @module lib/hooks/sources/antigravity/hooks-config
72
74
  */
73
75
  Object.defineProperty(exports, "__esModule", { value: true });
74
- exports.ANTIGRAVITY_ABSTAIN_BODY = exports.ANTIGRAVITY_PERMISSION_TIMEOUT_SECONDS = exports.ANTIGRAVITY_PERMISSION_CURL_TIMEOUT_SECONDS = exports.ANTIGRAVITY_PERMISSION_URL_ENV_VAR = exports.ANTIGRAVITY_PERMISSION_HOOK_EVENT = exports.ANTIGRAVITY_REGISTERED_HOOKS = exports.ANTIGRAVITY_TOOL_MATCHER = exports.ANTIGRAVITY_HOOK_NAME = void 0;
76
+ exports.ANTIGRAVITY_FULLY_IDLE_FIELD = exports.ANTIGRAVITY_ABSTAIN_BODY = exports.ANTIGRAVITY_PERMISSION_TIMEOUT_SECONDS = exports.ANTIGRAVITY_PERMISSION_CURL_TIMEOUT_SECONDS = exports.ANTIGRAVITY_PERMISSION_URL_ENV_VAR = exports.ANTIGRAVITY_PERMISSION_HOOK_EVENT = exports.ANTIGRAVITY_REGISTERED_HOOKS = exports.ANTIGRAVITY_TOOL_MATCHER = exports.ANTIGRAVITY_HOOK_NAME = void 0;
75
77
  exports.getAntigravityHooksConfigPath = getAntigravityHooksConfigPath;
76
78
  exports.buildAntigravityHookCommand = buildAntigravityHookCommand;
79
+ exports.buildAntigravityStopHookCommand = buildAntigravityStopHookCommand;
77
80
  exports.buildAntigravityPermissionHookCommand = buildAntigravityPermissionHookCommand;
78
81
  exports.buildAntigravityHookConfig = buildAntigravityHookConfig;
79
82
  exports.mergeAntigravityHooksConfig = mergeAntigravityHooksConfig;
@@ -82,6 +85,7 @@ exports.buildAntigravityLaunchCommand = buildAntigravityLaunchCommand;
82
85
  const os_1 = require("os");
83
86
  const path_1 = require("path");
84
87
  const types_1 = require("../../../../lib/cli-tools/types");
88
+ const agent_event_types_1 = require("../../../../lib/hooks/agent-event-types");
85
89
  const hook_settings_generator_1 = require("../../../../lib/hooks/hook-settings-generator");
86
90
  const logger_1 = require("../../../../lib/logger");
87
91
  // The `~/.gemini` tree belongs to gemini; agy lives inside it. The merge that
@@ -198,6 +202,60 @@ function buildAntigravityHookCommand(relayPath, event) {
198
202
  '--stdin-json',
199
203
  ].join(' ');
200
204
  }
205
+ /**
206
+ * The `Stop` payload field that says whether agy has background work left
207
+ * (Issue #2614).
208
+ *
209
+ * agy's own hook contract, as embedded in its binary: `"fullyIdle": true, //
210
+ * true if all background tasks are done`. A `schedule` timer is one of those
211
+ * tasks — the transcript records it as "Tool is running as a background task …
212
+ * Timer: 60s" — and so is a `run_command` that outlived `WaitMsBeforeAsync`.
213
+ * Both wake the agent with a system message when they finish, with nobody
214
+ * typing anything, so a `Stop` carrying `false` is not the end of the work.
215
+ *
216
+ * Captured as `true` in `tests/fixtures/hooks/antigravity/stop.json`. agy's
217
+ * protojson writes zero values (`"executionNum": 0`, `"error": ""` in the same
218
+ * fixture), so `false` is spelled out rather than omitted.
219
+ */
220
+ exports.ANTIGRAVITY_FULLY_IDLE_FIELD = 'fullyIdle';
221
+ /**
222
+ * The `Stop` command: the relay, told when agy still has background work
223
+ * (Issue #2614).
224
+ *
225
+ * The relay (`scripts/hooks/cmate-agent-event.sh`) rebuilds the body it posts
226
+ * from a handful of fields and drops the rest of the payload, so
227
+ * {@link ANTIGRAVITY_FULLY_IDLE_FIELD} never reaches the server on its own. This
228
+ * reads the payload once, and when it says `false` hands the relay
229
+ * `--detail self_resume_pending` — the relay's own flag, which lands in
230
+ * `structuredEvents.lastEventDetail` where `commandmate wait` reads it.
231
+ *
232
+ * Everything else is the plain relay invocation, byte for byte, and three
233
+ * properties are what keep it safe on a `Stop`:
234
+ *
235
+ * - **It prints nothing.** agy obeys `{"decision":"continue"}` on this event's
236
+ * stdout, so the payload goes to the relay through a pipe and the relay's
237
+ * own `curl` output goes to `/dev/null`.
238
+ * - **Whitespace is not trusted.** Go's protojson varies it on purpose, so the
239
+ * check runs on the payload with blanks removed. A string value cannot fake
240
+ * the match: a quote inside one is escaped, and `\"fullyIdle\"` does not read
241
+ * as `"fullyIdle"`.
242
+ * - **Anything but a literal `false` is the old command.** `true`, a missing
243
+ * field and an empty payload all call the relay with exactly the arguments
244
+ * {@link buildAntigravityHookCommand} gives it, so a future agy that stops
245
+ * sending the field costs the hold in `wait` and nothing else.
246
+ *
247
+ * `tr` and `case` only — no `jq`, no `grep` — for the same reason the relay
248
+ * parses JSON with `sed`.
249
+ *
250
+ * @param relayPath - Absolute path to the relay script
251
+ */
252
+ function buildAntigravityStopHookCommand(relayPath) {
253
+ const pending = `'"${exports.ANTIGRAVITY_FULLY_IDLE_FIELD}":false'`;
254
+ return ('p=$(cat); set --; ' +
255
+ `case "$(printf '%s' "$p" | tr -d ' \\t\\r\\n')" in ` +
256
+ `*${pending}*) set -- --detail ${agent_event_types_1.SELF_RESUME_PENDING_DETAIL} ;; esac; ` +
257
+ `printf '%s' "$p" | ${buildAntigravityHookCommand(relayPath, 'stop')} "$@"`);
258
+ }
201
259
  /**
202
260
  * The `PreToolUse` command, whose stdout **is** the verdict (Issue #1779).
203
261
  *
@@ -260,7 +318,10 @@ function buildAntigravityHookConfig(relayPath) {
260
318
  for (const [nativeName, event] of exports.ANTIGRAVITY_REGISTERED_HOOKS) {
261
319
  const handler = {
262
320
  type: 'command',
263
- command: buildAntigravityHookCommand(relayPath, event),
321
+ // Issue #2614: `Stop` alone carries a field the relay would drop.
322
+ command: event === 'stop'
323
+ ? buildAntigravityStopHookCommand(relayPath)
324
+ : buildAntigravityHookCommand(relayPath, event),
264
325
  timeout: hook_settings_generator_1.HOOK_TIMEOUT_SECONDS,
265
326
  };
266
327
  config[nativeName] = ANTIGRAVITY_GROUPED_EVENTS.has(nativeName)
@@ -65,6 +65,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
65
65
  exports.antigravityAgentEventSource = void 0;
66
66
  exports.parseAntigravityPermissionRequest = parseAntigravityPermissionRequest;
67
67
  exports.encodeAntigravityVerdict = encodeAntigravityVerdict;
68
+ exports.extractAntigravityEventDetail = extractAntigravityEventDetail;
69
+ const agent_event_types_1 = require("../../../../lib/hooks/agent-event-types");
68
70
  const permission_request_payload_1 = require("../../../../lib/hooks/permission-request-payload");
69
71
  const define_source_1 = require("../define-source");
70
72
  const event_mapper_1 = require("../event-mapper");
@@ -152,6 +154,29 @@ function encodeAntigravityVerdict(verdict) {
152
154
  return { decision: 'deny', reason: verdict.message ?? '' };
153
155
  return { ...ABSTAIN_BODY };
154
156
  }
157
+ /**
158
+ * The subtype of one agy event, read off agy's own payload.
159
+ *
160
+ * `pre_tool_use` / `post_tool_use` carry the tool name under `toolCall`.
161
+ * `stop` carries {@link SELF_RESUME_PENDING_DETAIL} when agy says background
162
+ * work is still running (Issue #2614) — `fullyIdle` must be the boolean
163
+ * `false`; `true`, a missing field or any other type is a plain stop, which is
164
+ * what every `Stop` was before this Issue.
165
+ *
166
+ * In production the `Stop` arrives through the relay, which forwards its own
167
+ * `--detail` rather than this payload, and `./hooks-config` computes that flag
168
+ * from the same field. This is the source's reading of the payload itself, as
169
+ * the tool-name case already is.
170
+ */
171
+ function extractAntigravityEventDetail(event, payload) {
172
+ if (event === 'pre_tool_use' || event === 'post_tool_use') {
173
+ return (0, event_mapper_1.boundDetail)((0, event_mapper_1.readNestedString)(payload, ['toolCall', 'name']));
174
+ }
175
+ if (event === 'stop' && payload[hooks_config_1.ANTIGRAVITY_FULLY_IDLE_FIELD] === false) {
176
+ return agent_event_types_1.SELF_RESUME_PENDING_DETAIL;
177
+ }
178
+ return null;
179
+ }
155
180
  /**
156
181
  * Antigravity as an event source.
157
182
  *
@@ -200,6 +225,11 @@ exports.antigravityAgentEventSource = (0, define_source_1.definePushHookSource)(
200
225
  // nothing streams it, `../../../polling/structured-history-gate` reads it
201
226
  // when the `Stop` hook says a turn ended. See `./history`.
202
227
  transcriptHistory: 'pull',
228
+ // Issue #2614. agy's `Stop` says whether background work — a `schedule`
229
+ // timer, a backgrounded command — is still running (`fullyIdle`), and the
230
+ // `Stop` hook in `./hooks-config` passes a `false` on as
231
+ // `SELF_RESUME_PENDING_DETAIL`. See `extractDetail` below.
232
+ stopReportsSelfResume: true,
203
233
  },
204
234
  // Empty on purpose, and the only empty mapper list in the codebase. There is
205
235
  // nothing in an agy payload to map *from*: no `hook_event_name`, no `type`,
@@ -221,9 +251,8 @@ exports.antigravityAgentEventSource = (0, define_source_1.definePushHookSource)(
221
251
  modelFields: ['modelName'],
222
252
  // The tool name is nested under `toolCall`, and it is present on both
223
253
  // `PreToolUse` and `PostToolUse` payloads (checked against both fixtures).
224
- extractDetail: (event, payload) => event === 'pre_tool_use' || event === 'post_tool_use'
225
- ? (0, event_mapper_1.boundDetail)((0, event_mapper_1.readNestedString)(payload, ['toolCall', 'name']))
226
- : null,
254
+ // A `Stop` says whether background work remains (Issue #2614).
255
+ extractDetail: extractAntigravityEventDetail,
227
256
  // agy has no `PermissionRequest` event; its approvals ride on `PreToolUse`,
228
257
  // which #1779 registers against its own receiver.
229
258
  parsePermissionRequest: parseAntigravityPermissionRequest,
@@ -125,6 +125,11 @@ exports.claudeAgentEventSource = (0, define_source_1.definePushHookSource)({
125
125
  // JSONL when the poller asks (#2121); the gate dispatches on this word
126
126
  // rather than on the tool id.
127
127
  transcriptHistory: 'pull',
128
+ // Issue #2614. Claude Code does resume itself (background tasks, session
129
+ // crons), and its `Stop` payload carries `background_tasks` /
130
+ // `session_crons` — but only the empty form has been captured, so nothing
131
+ // reads them yet and this stays false until a non-empty one is measured.
132
+ stopReportsSelfResume: false,
128
133
  },
129
134
  // S1. A plain name table is enough *for this tool* — one native name, one
130
135
  // word, no predicates — so it is expressed as rules built from the table
@@ -114,6 +114,8 @@ exports.codexAgentEventSource = (0, define_source_1.definePushHookSource)({
114
114
  // `$CODEX_HOME/sessions/**/rollout-*-<session_id>.jsonl`, and the hook
115
115
  // payload names that file outright — see `./history`.
116
116
  transcriptHistory: 'pull',
117
+ // Issue #2614. codex's `Stop` payload names no background work.
118
+ stopReportsSelfResume: false,
117
119
  },
118
120
  // Same CamelCase dialect as Claude and copilot (#1757 §8.1). The table is
119
121
  // shared, the choice to use it is this source's.
@@ -245,6 +245,8 @@ exports.commandCodeAgentEventSource = (0, define_source_1.definePushHookSource)(
245
245
  // The `<slug>` is `slugify(cwd)` and is deliberately not computed — the
246
246
  // reader finds the file by session id instead (Epic #2249 決定 4).
247
247
  transcriptHistory: 'pull',
248
+ // Issue #2614. Command Code's `Stop` payload names no background work.
249
+ stopReportsSelfResume: false,
248
250
  },
249
251
  // The four-row private table. See COMMAND_CODE_HOOK_EVENT_NAMES.
250
252
  mappers: (0, event_mapper_1.fromNameTable)(exports.COMMAND_CODE_HOOK_EVENT_NAMES),
@@ -222,6 +222,9 @@ exports.copilotAgentEventSource = (0, define_source_1.definePushHookSource)({
222
222
  resync: 'none',
223
223
  // Issue #2197. Nobody but the screen scraper records copilot replies.
224
224
  transcriptHistory: null,
225
+ // Issue #2614. `stop_reason: end_turn` is not a statement about background
226
+ // work, and nothing else in copilot's `Stop` payload is.
227
+ stopReportsSelfResume: false,
225
228
  },
226
229
  // The same CamelCase dialect as Claude and codex — measured against six
227
230
  // captured payloads (#1757 §8.1), not assumed from the resemblance. Shared
@@ -134,6 +134,8 @@ exports.geminiAgentEventSource = (0, define_source_1.definePushHookSource)({
134
134
  resync: 'none',
135
135
  // Issue #2197. Nobody but the screen scraper records gemini replies.
136
136
  transcriptHistory: null,
137
+ // Issue #2614. Not audited; no stop detail is written.
138
+ stopReportsSelfResume: false,
137
139
  },
138
140
  // gemini's own table, kept in gemini's own module: four of the seven are
139
141
  // spelled differently, and merging them into the shared CamelCase table would
@@ -70,6 +70,8 @@ function createLegacyRelaySource(cliToolId) {
70
70
  // Issue #2197. A tool on the compatibility relay has no reader, which
71
71
  // is the same "nobody has measured this" the empty event list states.
72
72
  transcriptHistory: null,
73
+ // Issue #2614. A tool on the compatibility relay writes no stop detail.
74
+ stopReportsSelfResume: false,
73
75
  },
74
76
  mappers: (0, event_mapper_1.fromNameTable)(hook_event_vocabulary_1.CAMEL_CASE_HOOK_EVENT_NAMES),
75
77
  nativeEventNameFields: ['hook_event_name'],
@@ -325,6 +325,8 @@ exports.opencodeAgentEventSource = (0, define_source_1.definePullEventSource)({
325
325
  // the reply out of the SSE stream, so the gate asks whether the
326
326
  // subscription is live rather than asking for the turn.
327
327
  transcriptHistory: 'push',
328
+ // Issue #2614. Not audited; `session.idle` carries only the session id.
329
+ stopReportsSelfResume: false,
328
330
  },
329
331
  // C4. Predicates, not a name table: see ./mappers.
330
332
  mappers: mappers_1.OPENCODE_MAPPERS,
@@ -1148,7 +1148,9 @@ async function buildPayload(db, worktreeId, cliToolId, instanceId) {
1148
1148
  isComplete: isPromptWaiting,
1149
1149
  isGenerating: merged.thinking,
1150
1150
  thinking: merged.thinking,
1151
- thinkingMessage: merged.thinking ? 'Claude is thinking...' : null,
1151
+ // Issue #2607: named after the tool actually running. A fixed "Claude" was
1152
+ // published for every agent, and `capture --json` readers took it at its word.
1153
+ thinkingMessage: merged.thinking ? `${(0, types_2.getCliToolDisplayName)(cliToolId)} is thinking...` : null,
1152
1154
  isPromptWaiting,
1153
1155
  promptData,
1154
1156
  autoYes: {
@@ -9,9 +9,13 @@
9
9
  * appear in Message History.
10
10
  *
11
11
  * Responsibilities (in order):
12
- * 1. savePendingAssistantResponse — persist the previous assistant reply
13
- * 2. orphan detection — Issue #379 duplicate-message guard
14
- * 3. copilot /model command — Issue #576 (copilot only)
12
+ * 1. copilot /model command — Issue #576 (copilot only); then wait for
13
+ * the poller still watching the previous
14
+ * turn to record it (Issue #2630)
15
+ * 2. savePendingAssistantResponse — persist the previous assistant reply;
16
+ * the user-row stamp is read just before
17
+ * it, after step 1 (Issue #2630)
18
+ * 3. orphan detection — Issue #379 duplicate-message guard
15
19
  * 4. send to CLI tool — image branch / ICLITool.sendMessage
16
20
  * 5. createMessage (role: 'user') — INSERT INTO chat_messages (History source)
17
21
  * 5b. broadcastMessage('message') — Issue #2195, push the user row to every
@@ -30,6 +34,7 @@
30
34
  * and session-start (running) checks. The caller passes already-validated input.
31
35
  */
32
36
  Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.PREVIOUS_TURN_RECORD_TIMEOUT_MS = void 0;
33
38
  exports.sendUserMessage = sendUserMessage;
34
39
  const db_1 = require("../../lib/db");
35
40
  const manager_1 = require("../../lib/cli-tools/manager");
@@ -45,6 +50,45 @@ const logger = (0, logger_1.createLogger)('session/send-user-message');
45
50
  function getErrorMessage(error) {
46
51
  return error instanceof Error ? error.message : String(error);
47
52
  }
53
+ /**
54
+ * How long a copilot body waits, after its `/model` switch, for the response
55
+ * poller still watching the previous turn to record that turn (Issue #2630).
56
+ *
57
+ * Two of the poller's ticks (`POLLING_INTERVAL`, 2 s) and a second of margin.
58
+ * The switch ends with `invalidateCache`, so the first tick that starts after
59
+ * it reads a fresh, idle frame; the second tick covers one that was already
60
+ * in flight with an older capture. Past this bound the body is sent anyway:
61
+ * a live poller that did not stop has declined to record the frame (an empty
62
+ * or duplicate reply), and waiting longer would not change its answer.
63
+ */
64
+ exports.PREVIOUS_TURN_RECORD_TIMEOUT_MS = 5_000;
65
+ /** How often {@link waitForPreviousTurnRecorded} re-reads the poller registry. */
66
+ const PREVIOUS_TURN_RECORD_CHECK_MS = 100;
67
+ /**
68
+ * Wait until no response poller is watching this instance (Issue #2630).
69
+ *
70
+ * copilot's replies are recorded by the response poller alone:
71
+ * `savePendingAssistantResponse` returns early for every alternate-screen tool
72
+ * (Issue #1292). The poller records a turn only from a frame in which that turn
73
+ * is the newest one, and a copilot chain stops itself once it has recorded one
74
+ * — so a chain that is still registered once copilot has gone idle is one that
75
+ * has not recorded the turn yet.
76
+ *
77
+ * @param worktreeId - Target worktree
78
+ * @param resolvedInstanceId - The instance, already resolved to its id
79
+ * @returns false when the chain was still registered at the deadline
80
+ */
81
+ async function waitForPreviousTurnRecorded(worktreeId, resolvedInstanceId) {
82
+ // The key `getPollerKey` (lib/polling/response-poller-core) builds.
83
+ const pollerKey = `${worktreeId}:${resolvedInstanceId}`;
84
+ const deadline = Date.now() + exports.PREVIOUS_TURN_RECORD_TIMEOUT_MS;
85
+ while ((0, response_poller_1.getActivePollers)().includes(pollerKey)) {
86
+ if (Date.now() >= deadline)
87
+ return false;
88
+ await new Promise((resolve) => setTimeout(resolve, PREVIOUS_TURN_RECORD_CHECK_MS));
89
+ }
90
+ return true;
91
+ }
48
92
  /**
49
93
  * Send a validated user message to the CLI tool and record it in history.
50
94
  *
@@ -98,10 +142,69 @@ async function sendUserMessage(db, params) {
98
142
  error: (0, prompt_waiting_guard_1.promptWaitingMessage)(worktreeId, promptGuard.blockedBy),
99
143
  };
100
144
  }
145
+ // 1. Issue #576: Send /model command before message if model is specified (copilot only).
146
+ //
147
+ // Issue #2623: the body below is typed only once this resolves, and it now
148
+ // resolves only on copilot's own answer to `/model` — never merely because
149
+ // the composer is drawn, which it is while copilot is still loading and a
150
+ // body typed then is never run. A refused id (`✗ Model "…" is unsupported.`)
151
+ // or no answer rejects, so the send stops here with `stage: 'model'` and the
152
+ // body is not typed into a model nobody confirmed.
153
+ //
154
+ // Issue #2630: that wait is also why this step now comes FIRST. It waits for
155
+ // copilot to be idle — up to 30 s when the send arrives mid-turn — so the
156
+ // previous turn can end inside it, and everything that used to run before it
157
+ // described the moment the request arrived rather than the moment the body is
158
+ // typed. A failed switch returns before anything below has run, which loses
159
+ // nothing: the only tool that gets here is copilot, whose pending-response
160
+ // save is a no-op (#1292), and the poller watching its previous turn is left
161
+ // running because `startPolling` below is never reached.
162
+ if (copilotModel && cliToolId === 'copilot') {
163
+ try {
164
+ const copilotTool = cliTool;
165
+ await copilotTool.sendModelCommand(worktreeId, copilotModel, instanceId);
166
+ logger.info('copilot-model-command-sent', { model: copilotModel });
167
+ }
168
+ catch (error) {
169
+ logger.error('failed-to-send-model-command:', { error: getErrorMessage(error) });
170
+ return { ok: false, stage: 'model', error: getErrorMessage(error) };
171
+ }
172
+ // Issue #2630: copilot is idle now, and if the previous turn ended during the
173
+ // switch its reply is still unrecorded: the poller watching it ticks every
174
+ // 2 s, and the body typed next makes the NEXT prompt the newest turn on the
175
+ // pane, after which that poller — and the fresh one `startPolling` starts
176
+ // below — extract only what follows it. Measured on copilot 1.0.85 (UAT
177
+ // TC-2623-06): the turn stopped 5.6 s before `/model` answered, the body
178
+ // followed 0.3 s after the answer, and the reply never reached History.
179
+ // Typing only once that poller has recorded the turn and stopped closes the
180
+ // window; a send to an already idle copilot finds no poller and waits for
181
+ // nothing.
182
+ const recorded = await waitForPreviousTurnRecorded(worktreeId, resolvedInstanceId);
183
+ if (!recorded) {
184
+ logger.warn('previous-turn-poller-still-running', {
185
+ worktreeId,
186
+ instanceId: resolvedInstanceId,
187
+ waitedMs: exports.PREVIOUS_TURN_RECORD_TIMEOUT_MS,
188
+ });
189
+ }
190
+ }
101
191
  // Generate the user-message timestamp BEFORE saving the pending response so
102
192
  // ordering holds: assistantResponse < userMessage.
193
+ //
194
+ // Issue #2630: and only AFTER step 1. This is the row `wait`'s #1975 gate
195
+ // (src/cli/commands/wait.ts `outstandingPrompt`) compares with the agent's
196
+ // last `stop`: a stamp taken when the request arrived was older than a
197
+ // previous turn that ended during the `/model` wait, so that turn's `stop`
198
+ // read as the end of this one and `wait` completed before the body reached
199
+ // copilot. Read here, it is later than any turn that ended before the body is
200
+ // typed and earlier than the `stop` of the turn the body starts. copilot's
201
+ // body send cannot move a previous turn's end past it either: its composer
202
+ // wait holds only while copilot is still loading (no turn is running) or
203
+ // behind a dialog (refused by the prompt guard above), and returns at once
204
+ // while a turn is running. A send without `--model` skips step 1, so its stamp
205
+ // is read at the same point as before.
103
206
  const userMessageTimestamp = new Date();
104
- // 1. Save any pending assistant response before sending the new user message.
207
+ // 2. Save any pending assistant response before sending the new user message.
105
208
  try {
106
209
  await (0, assistant_response_saver_1.savePendingAssistantResponse)(db, worktreeId, cliToolId, userMessageTimestamp, instanceId);
107
210
  }
@@ -109,7 +212,7 @@ async function sendUserMessage(db, params) {
109
212
  // Log but don't fail - user message should still be saved
110
213
  logger.error('failed-to-save-pending-assistant-response:', { error: getErrorMessage(error) });
111
214
  }
112
- // 2. Clean up orphaned user messages (Issue #379: duplicate message prevention).
215
+ // 3. Clean up orphaned user messages (Issue #379: duplicate message prevention).
113
216
  // If the most recent message for THIS INSTANCE is a user message with the same
114
217
  // content, the assistant never responded and the user is retrying. Remove it
115
218
  // (only after the retry message is persisted) to prevent duplicates.
@@ -127,6 +230,10 @@ async function sendUserMessage(db, params) {
127
230
  // NULL and read back as the primary instance), so the orphan they are would
128
231
  // survive as a visible duplicate. Same expression as #2196's
129
232
  // `findUnkeyedUserMessages`.
233
+ //
234
+ // Issue #2630: read after step 2 as before, and now after step 1 too. A reply
235
+ // the poller recorded during the `/model` wait is the newest row by then, so
236
+ // the user row above it is no longer mistaken for one nobody answered.
130
237
  let orphanedMessageIdToDelete = null;
131
238
  try {
132
239
  const recentMessages = (0, db_1.getMessages)(db, worktreeId, {
@@ -145,18 +252,6 @@ async function sendUserMessage(db, params) {
145
252
  // Log but don't fail - cleanup candidate discovery is best-effort
146
253
  logger.error('failed-to-detect-orphaned-messages:', { error: getErrorMessage(error) });
147
254
  }
148
- // 3. Issue #576: Send /model command before message if model is specified (copilot only).
149
- if (copilotModel && cliToolId === 'copilot') {
150
- try {
151
- const copilotTool = cliTool;
152
- await copilotTool.sendModelCommand(worktreeId, copilotModel, instanceId);
153
- logger.info('copilot-model-command-sent', { model: copilotModel });
154
- }
155
- catch (error) {
156
- logger.error('failed-to-send-model-command:', { error: getErrorMessage(error) });
157
- return { ok: false, stage: 'model', error: getErrorMessage(error) };
158
- }
159
- }
160
255
  // 4. Send message to CLI tool.
161
256
  try {
162
257
  // Issue #474: Image-aware sending
@@ -13,8 +13,8 @@
13
13
  * closed as `error` rather than `failed`: no gate reached a verdict about the
14
14
  * work, which is exactly the distinction `error` encodes.
15
15
  *
16
- * Follows the shape of {@link reconcileAllAssistantExecutions}
17
- * (`src/lib/assistant/non-interactive-execution-reconciler.ts`).
16
+ * Modelled on the Assistant Chat execution reconciler, which Issue #2655
17
+ * removed together with the feature.
18
18
  *
19
19
  * @module lib/verification/verification-reconciler
20
20
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "commandmate",
3
- "version": "0.38.0",
3
+ "version": "0.39.0",
4
4
  "description": "A local control plane for agent CLIs — orchestration and visibility for Claude Code, Codex, Gemini CLI, and more across Git worktrees",
5
5
  "keywords": [
6
6
  "claude-code",
@@ -33,7 +33,8 @@
33
33
  "!.next/cache",
34
34
  "public/",
35
35
  "scripts/hooks/",
36
- ".env.example"
36
+ ".env.example",
37
+ "release-notes/"
37
38
  ],
38
39
  "scripts": {
39
40
  "dev": "tsx server.ts",
@@ -0,0 +1,94 @@
1
+ {
2
+ "version": "0.39.0",
3
+ "date": "2026-09-19",
4
+ "highlight": {
5
+ "ja": "サイドバーの上端がリポジトリ・セッション・レビューの画面移動ナビになり、画面を移ってもサイドバーとヘッダーが作り直されなくなりました。",
6
+ "en": "The top of the sidebar is now navigation for Repositories, Sessions and Review, and moving between screens no longer rebuilds the sidebar and header."
7
+ },
8
+ "added": [
9
+ {
10
+ "ja": "サイドバーの表示に「セッション」が加わり、エージェント 1 つを 1 行で一覧できるようになりました。",
11
+ "en": "The sidebar can now show Sessions, listing one row per agent."
12
+ },
13
+ {
14
+ "ja": "更新のあとに「新機能と改善」が表示されるようになりました。",
15
+ "en": "After an update, a list of what is new and improved is now shown."
16
+ },
17
+ {
18
+ "ja": "ブランチ画面のアクティビティバーの一番下に、設定メニューの歯車ボタンが付きました。",
19
+ "en": "A settings menu is now available from the gear button at the bottom of the activity bar."
20
+ },
21
+ {
22
+ "ja": "レビュー行に要対応の件数が表示されるようになりました。",
23
+ "en": "The Review row now shows how many items need your attention."
24
+ }
25
+ ],
26
+ "improved": [
27
+ {
28
+ "ja": "画面を移ってもサイドバーとヘッダーが作り直されなくなり、スクロール位置や並びが保たれるようになりました。",
29
+ "en": "Moving between screens no longer rebuilds the sidebar and header, so scroll position and ordering are kept."
30
+ },
31
+ {
32
+ "ja": "サイドバーのナビとコマンドパレットからの移動も、ほかの画面移動と同じクロスフェードになりました。",
33
+ "en": "Navigating from the sidebar and the command palette now uses the same crossfade as elsewhere."
34
+ },
35
+ {
36
+ "ja": "更新があるとき、画面右上の「Update」ボタンからそのまま更新できるようになりました。",
37
+ "en": "When an update is available, you can now start it from the Update button at the top right."
38
+ },
39
+ {
40
+ "ja": "サイドバーの表示切替と並び替えが、アイコンではなく文字で選べるようになりました。",
41
+ "en": "The sidebar's view switch and sort order are now chosen by text instead of icons."
42
+ },
43
+ {
44
+ "ja": "PC の入力欄が、手動で高さを変えたあとも内容に応じて伸び縮みするようになりました。手動の高さは縮まないための下限として扱われます。",
45
+ "en": "The desktop composer now grows and shrinks with its content even after a manual resize, and the manual height is kept as a floor."
46
+ },
47
+ {
48
+ "ja": "ファイルツリーのアイコンが見分けやすくなりました。",
49
+ "en": "The file tree icon is now easier to tell apart."
50
+ },
51
+ {
52
+ "ja": "スマホの下部ナビに「ブランチ」ボタンが加わりました。",
53
+ "en": "A Branch button has been added to the bottom navigation on phones."
54
+ },
55
+ {
56
+ "ja": "ホーム画面とアシスタントチャットを廃止しました。ホームを開くと、最後に見ていたブランチに移動します。",
57
+ "en": "The Home screen and Assistant Chat have been removed. Opening Home now takes you to the branch you last viewed."
58
+ }
59
+ ],
60
+ "fixed": [
61
+ {
62
+ "ja": "画面を移るときのスピナーが、画面全体ではなく本文の中央に出るようになりました。",
63
+ "en": "The spinner shown while moving between screens now appears centered in the content area instead of covering the screen."
64
+ },
65
+ {
66
+ "ja": "スマホで、ページの一番下が下部ナビに隠れる問題を直しました。",
67
+ "en": "Fixed the bottom of the page being hidden behind the bottom navigation on phones."
68
+ },
69
+ {
70
+ "ja": "ファイルツリーの幅を狭めたときに、ファイル名が消えたりツールバーの文字が折り返したりする問題を直しました。",
71
+ "en": "Fixed file names disappearing and toolbar text wrapping when the file tree panel is narrow."
72
+ },
73
+ {
74
+ "ja": "検索欄が狭い幅で崩れる問題を直しました。",
75
+ "en": "Fixed the search box breaking at narrow widths."
76
+ },
77
+ {
78
+ "ja": "Copilot をモデル指定で起動すると、依頼の本文が実行されない問題を直しました。",
79
+ "en": "Fixed the message body not running when Copilot is started with a model specified."
80
+ },
81
+ {
82
+ "ja": "作業中の Copilot にモデル指定で送ったとき、前の応答が履歴に残らない問題を直しました。",
83
+ "en": "Fixed an earlier reply going missing from the history when sending to a busy Copilot with a model specified."
84
+ },
85
+ {
86
+ "ja": "Codex の確認画面で、状態表示と送信の判定が食い違う問題を直しました。",
87
+ "en": "Fixed the status display and send detection disagreeing on Codex approval screens."
88
+ },
89
+ {
90
+ "ja": "エージェントが自分で作業を再開するとき、待機が途中で完了と判断される問題を直しました。",
91
+ "en": "Fixed a wait finishing early when an agent resumes its own work."
92
+ }
93
+ ]
94
+ }
@@ -1 +0,0 @@
1
- "use strict";(()=>{var a={};a.id=9996,a.ids=[964,8583,9996],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3421:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(71237),e=c(55088),f=c(17679);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12412:a=>{a.exports=require("assert")},16700:(a,b,c)=>{c.d(b,{A:()=>e,Y:()=>f});let d=new Set(["claude","codex","antigravity"]);function e(a){return d.has(a)?"non_interactive":"interactive"}function f(a){return"non_interactive"===e(a)}},19121:a=>{a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},19771:a=>{a.exports=require("process")},21820:a=>{a.exports=require("os")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},34631:a=>{a.exports=require("tls")},40964:(a,b,c)=>{c.d(b,{m:()=>g});var d=c(15194);let e=/^[a-zA-Z0-9_-]+$/;function f(a){if(!e.test(a))throw Error(`Invalid session name format: ${a}`)}function g(a,b,c){let e=`mcbd-${a}-${b}`;if(!c||c===a)return f(e),e;let g=(0,d.pL)(c,a),h=g?`${e}-${g}`:e;return f(h),h}},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46961:(a,b,c)=>{c.d(b,{e:()=>f});var d=c(56791),e=c(82149);function f(a,b){if(!(0,d.getAssistantConversationById)(a,b))return;let c=(0,d.getRunningAssistantExecutionByConversation)(a,b),f=(0,e.kx)(b);c&&!f&&((0,d.updateAssistantExecution)(a,c.id,{status:"failed",finishedAt:new Date,stderrText:[c.stderrText??"","[Execution reconciled after process registry loss]"].filter(Boolean).join("\n")}),(0,d.updateAssistantConversation)(a,b,{status:"ready"}))}},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57821:(a,b,c)=>{c.d(b,{G:()=>e,O:()=>f});var d=c(43234);function e(a){return`assistant-${a}`}function f(a,b){let c=d.CLIToolManager.getInstance().getTool(a),f=e(b),g=c.getSessionName(f);return{cliTool:c,worktreeId:f,sessionName:g}}},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},74075:a=>{a.exports=require("zlib")},79428:a=>{a.exports=require("buffer")},79551:a=>{a.exports=require("url")},79646:a=>{a.exports=require("child_process")},79748:a=>{a.exports=require("fs/promises")},80668:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>J,patchFetch:()=>I,routeModule:()=>E,serverHooks:()=>H,workAsyncStorage:()=>F,workUnitAsyncStorage:()=>G});var d={};c.r(d),c.d(d,{GET:()=>D});var e=c(95736),f=c(9117),g=c(4044),h=c(39326),i=c(32324),j=c(261),k=c(54290),l=c(85328),m=c(38928),n=c(46595),o=c(3421),p=c(17679),q=c(41681),r=c(63446),s=c(86439),t=c(51356),u=c(10641),v=c(15194),w=c(88807),x=c(56791),y=c(10406),z=c(79892),A=c(57821),B=c(16700),C=c(46961);async function D(a){let{searchParams:b}=new URL(a.url),c=b.get("repositoryId"),d=b.get("cliToolId");if(!c||"string"!=typeof c)return u.NextResponse.json({error:"Invalid repositoryId parameter"},{status:400});if(!d||!(0,v.hR)(d))return u.NextResponse.json({error:"Invalid cliToolId parameter"},{status:400});let e=(0,w.getDbInstance)();if(!(0,y.r)(e,c))return u.NextResponse.json({error:"Repository not found"},{status:404});let f=(0,x.getAssistantConversationByRepositoryAndCliTool)(e,c,d);if(!f)return u.NextResponse.json({conversation:null});if((0,B.Y)(d))return(0,C.e)(e,f.id),u.NextResponse.json({conversation:(0,x.getAssistantConversationByRepositoryAndCliTool)(e,c,d)});if("running"===f.status){let{sessionName:a}=(0,A.O)(d,f.id);if(!await (0,z.N)(a)){let a=(0,x.updateAssistantConversation)(e,f.id,{status:"stopped",lastStoppedAt:new Date});return u.NextResponse.json({conversation:a})}}return u.NextResponse.json({conversation:f})}let E=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/assistant/conversation/route",pathname:"/api/assistant/conversation",filename:"route",bundlePath:"app/api/assistant/conversation/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/CommandMate/CommandMate/src/app/api/assistant/conversation/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:F,workUnitAsyncStorage:G,serverHooks:H}=E;function I(){return(0,g.patchFetch)({workAsyncStorage:F,workUnitAsyncStorage:G})}async function J(a,b,c){var d;let e="/api/assistant/conversation/route";"/index"===e&&(e="/");let g=await E.prepare(a,b,{srcPage:e,multiZoneDraftMode:!1});if(!g)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:u,params:v,nextConfig:w,isDraftMode:x,prerenderManifest:y,routerServerContext:z,isOnDemandRevalidate:A,revalidateOnlyGenerated:B,resolvedPathname:C}=g,D=(0,j.normalizeAppPath)(e),F=!!(y.dynamicRoutes[D]||y.routes[C]);if(F&&!x){let a=!!y.routes[C],b=y.dynamicRoutes[D];if(b&&!1===b.fallback&&!a)throw new s.NoFallbackError}let G=null;!F||E.isDev||x||(G="/index"===(G=C)?"/":G);let H=!0===E.isDev||!F,I=F&&!H,J=a.method||"GET",K=(0,i.getTracer)(),L=K.getActiveScopeSpan(),M={params:v,prerenderManifest:y,renderOpts:{experimental:{cacheComponents:!!w.experimental.cacheComponents,authInterrupts:!!w.experimental.authInterrupts},supportsDynamicResponse:H,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:null==(d=w.experimental)?void 0:d.cacheLife,isRevalidate:I,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d)=>E.onRequestError(a,b,d,z)},sharedContext:{buildId:u}},N=new k.NodeNextRequest(a),O=new k.NodeNextResponse(b),P=l.NextRequestAdapter.fromNodeNextRequest(N,(0,l.signalFromNodeResponse)(b));try{let d=async c=>E.handle(P,M).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=K.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==m.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${J} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${J} ${a.url}`)}),g=async g=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!(0,h.getRequestMeta)(a,"minimalMode")&&A&&B&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let e=await d(g);a.fetchMetrics=M.renderOpts.fetchMetrics;let i=M.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=M.renderOpts.collectedTags;if(!F)return await (0,o.I)(N,O,e,M.renderOpts.pendingWaitUntil),null;{let a=await e.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(e.headers);j&&(b[r.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,d=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=r.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:e.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:d}}}}catch(b){throw(null==f?void 0:f.isStale)&&await E.onRequestError(a,b,{routerKind:"App Router",routePath:e,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:A})},z),b}},l=await E.handleResponse({req:a,nextConfig:w,cacheKey:G,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:B,responseGenerator:k,waitUntil:c.waitUntil});if(!F)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});(0,h.getRequestMeta)(a,"minimalMode")||b.setHeader("x-nextjs-cache",A?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),x&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,p.fromNodeOutgoingHttpHeaders)(l.value.headers);return(0,h.getRequestMeta)(a,"minimalMode")&&F||m.delete(r.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,q.getCacheControlHeader)(l.cacheControl)),await (0,o.I)(N,O,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};L?await g(L):await K.withPropagatedContext(a.headers,()=>K.trace(m.BaseServerSpan.handleRequest,{spanName:`${J} ${a.url}`,kind:i.SpanKind.SERVER,attributes:{"http.method":J,"http.target":a.url}},g))}catch(b){if(b instanceof s.NoFallbackError||await E.onRequestError(a,b,{routerKind:"App Router",routePath:D,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:A})}),F)throw b;return await (0,o.I)(N,O,new Response(null,{status:500})),null}}},81630:a=>{a.exports=require("http")},82149:(a,b,c)=>{c.d(b,{AR:()=>i,Qi:()=>j,XO:()=>f,kx:()=>h,uT:()=>g});let d=new Map,e=new Map;function f(a,b,c){d.set(a,{executionId:a,conversationId:b,process:c,cancellationRequested:!1}),e.set(b,a)}function g(a){let b=d.get(a);b&&(e.delete(b.conversationId),d.delete(a))}function h(a){let b=e.get(a);return b?d.get(b)??null:null}function i(a){return d.get(a)?.cancellationRequested??!1}function j(a){let b=h(a);return!!b&&(b.cancellationRequested=!0,!b.process.killed&&b.process.kill("SIGTERM"))}},83997:a=>{a.exports=require("tty")},84297:a=>{a.exports=require("async_hooks")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")},95736:(a,b,c)=>{a.exports=c(44870)}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[1331,641,3722,4390,9627,8807,406,5164,6661,9080,9130,4443,8800,7905,1886],()=>b(b.s=80668));module.exports=c})();
@@ -1 +0,0 @@
1
- {"version":1,"files":["../../../../../../data/cm.db","../../../../../../locales/en/notifications.json","../../../../../../locales/en/worktree.json","../../../../../../locales/ja/notifications.json","../../../../../../locales/ja/worktree.json","../../../../../../node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../../../../../node_modules/better-sqlite3/lib/database.js","../../../../../../node_modules/better-sqlite3/lib/index.js","../../../../../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../../../node_modules/better-sqlite3/lib/methods/backup.js","../../../../../../node_modules/better-sqlite3/lib/methods/function.js","../../../../../../node_modules/better-sqlite3/lib/methods/inspect.js","../../../../../../node_modules/better-sqlite3/lib/methods/pragma.js","../../../../../../node_modules/better-sqlite3/lib/methods/serialize.js","../../../../../../node_modules/better-sqlite3/lib/methods/table.js","../../../../../../node_modules/better-sqlite3/lib/methods/transaction.js","../../../../../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../../../node_modules/better-sqlite3/lib/sqlite-error.js","../../../../../../node_modules/better-sqlite3/lib/util.js","../../../../../../node_modules/better-sqlite3/package.json","../../../../../../node_modules/bindings/bindings.js","../../../../../../node_modules/bindings/package.json","../../../../../../node_modules/file-uri-to-path/index.js","../../../../../../node_modules/file-uri-to-path/package.json","../../../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js","../../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../../node_modules/next/dist/lib/constants.js","../../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../../node_modules/next/dist/lib/is-error.js","../../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../../../node_modules/next/dist/shared/lib/segment.js","../../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../node_modules/next/package.json","../../../../../../package.json","../../../../../../scripts/hooks/cmate-agent-event.sh","../../../../../../src/lib/relay/relay-delivery.ts","../../../../../package.json","../../../../chunks/1191.js","../../../../chunks/1210.js","../../../../chunks/1331.js","../../../../chunks/1356.js","../../../../chunks/1501.js","../../../../chunks/1503.js","../../../../chunks/1634.js","../../../../chunks/1719.js","../../../../chunks/1886.js","../../../../chunks/2119.js","../../../../chunks/2445.js","../../../../chunks/2839.js","../../../../chunks/3077.js","../../../../chunks/3241.js","../../../../chunks/3323.js","../../../../chunks/3480.js","../../../../chunks/3707.js","../../../../chunks/3722.js","../../../../chunks/406.js","../../../../chunks/4390.js","../../../../chunks/4443.js","../../../../chunks/5164.js","../../../../chunks/5220.js","../../../../chunks/6065.js","../../../../chunks/641.js","../../../../chunks/650.js","../../../../chunks/6661.js","../../../../chunks/6677.js","../../../../chunks/6781.js","../../../../chunks/7905.js","../../../../chunks/8583.js","../../../../chunks/8728.js","../../../../chunks/8800.js","../../../../chunks/8807.js","../../../../chunks/8918.js","../../../../chunks/9080.js","../../../../chunks/9130.js","../../../../chunks/9627.js","../../../../chunks/964.js","../../../../webpack-runtime.js","route_client-reference-manifest.js"]}