commandmate 0.44.2 → 0.45.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 (621) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +289 -289
  3. package/.next/app-path-routes-manifest.json +20 -20
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/next-server.js.nft.json +1 -1
  6. package/.next/prerender-manifest.json +12 -12
  7. package/.next/react-loadable-manifest.json +26 -32
  8. package/.next/required-server-files.json +1 -1
  9. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/api/agents/update/route.js +1 -1
  11. package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -1
  12. package/.next/server/app/api/agents/versions/route.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_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/app/update/route.js +2 -2
  16. package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
  18. package/.next/server/app/api/auth/login/route.js +1 -1
  19. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/capabilities/route.js +1 -1
  23. package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
  24. package/.next/server/app/api/daily-summary/route.js +1 -1
  25. package/.next/server/app/api/daily-summary/route.js.nft.json +1 -1
  26. package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/daily-summary/status/route.js +1 -1
  28. package/.next/server/app/api/daily-summary/status/route.js.nft.json +1 -1
  29. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/external-apps/[id]/route.js +1 -1
  32. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/external-apps/route.js +1 -1
  34. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/hooks/agent-event/route.js +2 -2
  38. package/.next/server/app/api/hooks/agent-event/route.js.nft.json +1 -1
  39. package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/hooks/claude-done/route.js +2 -2
  41. package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
  42. package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/hooks/permission-request/route.js +1 -1
  44. package/.next/server/app/api/hooks/permission-request/route.js.nft.json +1 -1
  45. package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  48. package/.next/server/app/api/push/escalation/route.js +1 -1
  49. package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/push/subscriptions/route.js +2 -2
  51. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/push/vapid/route.js +1 -1
  53. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  54. package/.next/server/app/api/relays/[relayId]/cancel/route.js +1 -1
  55. package/.next/server/app/api/relays/[relayId]/cancel/route.js.nft.json +1 -1
  56. package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -1
  57. package/.next/server/app/api/relays/route.js +1 -1
  58. package/.next/server/app/api/relays/route.js.nft.json +1 -1
  59. package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -1
  60. package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
  61. package/.next/server/app/api/repositories/[id]/route.js +1 -1
  62. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
  64. package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
  65. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  66. package/.next/server/app/api/repositories/clone/route.js +1 -1
  67. package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
  68. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  70. package/.next/server/app/api/repositories/restore/route.js +1 -1
  71. package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
  72. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  73. package/.next/server/app/api/repositories/route.js +1 -1
  74. package/.next/server/app/api/repositories/route.js.nft.json +1 -1
  75. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  76. package/.next/server/app/api/repositories/scan/route.js +1 -1
  77. package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
  78. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/api/repositories/sync/route.js +1 -1
  80. package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
  81. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  82. package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/settings/default-agents/route.js +1 -1
  84. package/.next/server/app/api/settings/default-agents/route.js.nft.json +1 -1
  85. package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
  86. package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/sidebar/group-order/route.js +1 -1
  88. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/skills/[id]/route.js +1 -1
  90. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
  92. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
  94. package/.next/server/app/api/skills/route.js +1 -1
  95. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  97. package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  98. package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/templates/[id]/route.js +2 -2
  100. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/api/templates/route.js +2 -2
  102. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
  104. package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
  106. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
  107. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -1
  109. package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
  110. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  111. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js +1 -1
  112. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js.nft.json +1 -1
  113. package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
  114. package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
  115. package/.next/server/app/api/worktrees/[id]/cli-tool/route.js +1 -1
  116. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +3 -3
  118. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js.nft.json +1 -1
  119. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
  121. package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
  122. package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
  123. package/.next/server/app/api/worktrees/[id]/direct-input/route.js +1 -1
  124. package/.next/server/app/api/worktrees/[id]/direct-input/route.js.nft.json +1 -1
  125. package/.next/server/app/api/worktrees/[id]/direct-input/route_client-reference-manifest.js +1 -1
  126. package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
  127. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
  128. package/.next/server/app/api/worktrees/[id]/execution-logs/route.js +2 -2
  129. package/.next/server/app/api/worktrees/[id]/execution-logs/route.js.nft.json +1 -1
  130. package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
  131. package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js +1 -1
  132. package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
  133. package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js +1 -1
  134. package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
  135. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js +1 -1
  136. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
  137. package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
  138. package/.next/server/app/api/worktrees/[id]/git/checkout/route.js +1 -1
  139. package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
  140. package/.next/server/app/api/worktrees/[id]/git/commit/route.js +1 -1
  141. package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
  142. package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
  143. package/.next/server/app/api/worktrees/[id]/git/fetch/route.js +1 -1
  144. package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
  145. package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
  146. package/.next/server/app/api/worktrees/[id]/git/pull/route.js +1 -1
  147. package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
  148. package/.next/server/app/api/worktrees/[id]/git/push/route.js +1 -1
  149. package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
  150. package/.next/server/app/api/worktrees/[id]/git/reset/route.js +1 -1
  151. package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
  152. package/.next/server/app/api/worktrees/[id]/git/revert/route.js +1 -1
  153. package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
  154. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
  155. package/.next/server/app/api/worktrees/[id]/git/stage/route.js +1 -1
  156. package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
  157. package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
  158. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
  159. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js +1 -1
  160. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
  161. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js +1 -1
  162. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
  163. package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js +1 -1
  164. package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
  165. package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
  166. package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
  167. package/.next/server/app/api/worktrees/[id]/git/unstage/route.js +1 -1
  168. package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
  169. package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
  170. package/.next/server/app/api/worktrees/[id]/instances/notes/route.js +1 -1
  171. package/.next/server/app/api/worktrees/[id]/instances/notes/route_client-reference-manifest.js +1 -1
  172. package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js +1 -1
  173. package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js.nft.json +1 -1
  174. package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
  175. package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
  176. package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
  177. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  178. package/.next/server/app/api/worktrees/[id]/kill-session/route.js +1 -1
  179. package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
  180. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  181. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  182. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  183. package/.next/server/app/api/worktrees/[id]/marp-render/route.js +3 -3
  184. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  185. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js +1 -1
  186. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  187. package/.next/server/app/api/worktrees/[id]/memos/route.js +1 -1
  188. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  189. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  190. package/.next/server/app/api/worktrees/[id]/opencode/diff/route.js +1 -1
  191. package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
  192. package/.next/server/app/api/worktrees/[id]/opencode/session/route.js +1 -1
  193. package/.next/server/app/api/worktrees/[id]/opencode/session/route.js.nft.json +1 -1
  194. package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
  195. package/.next/server/app/api/worktrees/[id]/opencode/share/route.js +1 -1
  196. package/.next/server/app/api/worktrees/[id]/opencode/share/route.js.nft.json +1 -1
  197. package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
  198. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
  199. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
  200. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  201. package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
  202. package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
  203. package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
  204. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  205. package/.next/server/app/api/worktrees/[id]/route.js +1 -1
  206. package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
  207. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  208. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +2 -2
  209. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js.nft.json +1 -1
  210. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  211. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +2 -2
  212. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js.nft.json +1 -1
  213. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  214. package/.next/server/app/api/worktrees/[id]/schedules/route.js +3 -3
  215. package/.next/server/app/api/worktrees/[id]/schedules/route.js.nft.json +1 -1
  216. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  217. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  218. package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
  219. package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
  220. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  221. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js +2 -2
  222. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
  223. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
  224. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  225. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js +1 -1
  226. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  227. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  228. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  229. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
  230. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js +1 -1
  231. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
  232. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  233. package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
  234. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  235. package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
  236. package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
  237. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  238. package/.next/server/app/api/worktrees/[id]/tasks/route.js +1 -1
  239. package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
  240. package/.next/server/app/api/worktrees/[id]/terminal/route.js +2 -2
  241. package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
  242. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  243. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  244. package/.next/server/app/api/worktrees/[id]/timers/route.js +1 -1
  245. package/.next/server/app/api/worktrees/[id]/timers/route.js.nft.json +1 -1
  246. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  247. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js +1 -1
  248. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  249. package/.next/server/app/api/worktrees/[id]/todos/route.js +1 -1
  250. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  251. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  252. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  253. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  254. package/.next/server/app/api/worktrees/[id]/verify/config/route.js +1 -1
  255. package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
  256. package/.next/server/app/api/worktrees/[id]/verify/route.js +1 -1
  257. package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
  258. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js +1 -1
  259. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
  260. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
  261. package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
  262. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  263. package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
  264. package/.next/server/app/api/worktrees/route.js +1 -1
  265. package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
  266. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  267. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  268. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  269. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  270. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  271. package/.next/server/app/page_client-reference-manifest.js +1 -1
  272. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  273. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  274. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  275. package/.next/server/app/sessions/page.js +1 -1
  276. package/.next/server/app/sessions/page.js.nft.json +1 -1
  277. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  278. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  279. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
  280. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  281. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  282. package/.next/server/app/worktrees/[id]/page.js +11 -11
  283. package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
  284. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  285. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  286. package/.next/server/app-paths-manifest.json +20 -20
  287. package/.next/server/chunks/1191.js +2 -2
  288. package/.next/server/chunks/1210.js +1 -1
  289. package/.next/server/chunks/1503.js +2 -2
  290. package/.next/server/chunks/1559.js +2 -0
  291. package/.next/server/chunks/1789.js +1 -0
  292. package/.next/server/chunks/1944.js +1 -1
  293. package/.next/server/chunks/2119.js +1 -1
  294. package/.next/server/chunks/22.js +1 -1
  295. package/.next/server/chunks/2404.js +1 -1
  296. package/.next/server/chunks/2445.js +1 -1
  297. package/.next/server/chunks/2460.js +1 -1
  298. package/.next/server/chunks/2710.js +2 -2
  299. package/.next/server/chunks/2908.js +1 -1
  300. package/.next/server/chunks/2980.js +1 -1
  301. package/.next/server/chunks/3241.js +1 -1
  302. package/.next/server/chunks/3480.js +1 -1
  303. package/.next/server/chunks/3718.js +1 -1
  304. package/.next/server/chunks/4207.js +2 -2
  305. package/.next/server/chunks/450.js +1 -1
  306. package/.next/server/chunks/{9353.js → 4718.js} +2 -2
  307. package/.next/server/chunks/4802.js +1 -1
  308. package/.next/server/chunks/4837.js +14 -0
  309. package/.next/server/chunks/5048.js +1 -1
  310. package/.next/server/chunks/5064.js +1 -1
  311. package/.next/server/chunks/5209.js +1 -0
  312. package/.next/server/chunks/5292.js +7 -0
  313. package/.next/server/chunks/5595.js +1 -1
  314. package/.next/server/chunks/5625.js +25 -0
  315. package/.next/server/chunks/5737.js +1 -1
  316. package/.next/server/chunks/6065.js +1 -1
  317. package/.next/server/chunks/611.js +1 -1
  318. package/.next/server/chunks/6130.js +1 -1
  319. package/.next/server/chunks/6401.js +1 -1
  320. package/.next/server/chunks/6781.js +1 -1
  321. package/.next/server/chunks/6793.js +3 -3
  322. package/.next/server/chunks/7491.js +2 -2
  323. package/.next/server/chunks/7905.js +1 -1
  324. package/.next/server/chunks/850.js +1 -1
  325. package/.next/server/chunks/8728.js +3 -3
  326. package/.next/server/chunks/8791.js +1 -1
  327. package/.next/server/chunks/8800.js +1 -1
  328. package/.next/server/chunks/8918.js +6 -8
  329. package/.next/server/chunks/9051.js +1 -1
  330. package/.next/server/chunks/9130.js +1 -1
  331. package/.next/server/chunks/9390.js +2 -2
  332. package/.next/server/chunks/9584.js +1 -1
  333. package/.next/server/chunks/9627.js +6 -6
  334. package/.next/server/chunks/9731.js +3 -3
  335. package/.next/server/middleware-build-manifest.js +1 -1
  336. package/.next/server/middleware-manifest.json +5 -5
  337. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  338. package/.next/server/pages/500.html +1 -1
  339. package/.next/server/server-reference-manifest.json +1 -1
  340. package/.next/static/chunks/1464.09cd37fee202ec4b.js +1 -0
  341. package/.next/static/chunks/{1642-fb2e176aaadbd137.js → 1642-767aed8e7c61ef7f.js} +1 -1
  342. package/.next/static/chunks/2053-390e77fce43b555c.js +1 -0
  343. package/.next/static/chunks/{2407-051f6f84226a9f2c.js → 2407-dd4a0f04f1349221.js} +1 -1
  344. package/.next/static/chunks/{2619-04bc32f026a0d946.js → 2619-a305ad4810f1393a.js} +1 -1
  345. package/.next/static/chunks/{2751-9ef0f4b450bd4ef0.js → 2751-5f0b2702accd164d.js} +1 -1
  346. package/.next/static/chunks/{282.6b6f2e31a96674dd.js → 282.a1013532fd9a61b4.js} +1 -1
  347. package/.next/static/chunks/3237.94c29281d9ec122e.js +1 -0
  348. package/.next/static/chunks/3480.2e21f62e5e9d3ba5.js +1 -0
  349. package/.next/static/chunks/4290.c06dbe243819fea0.js +66 -0
  350. package/.next/static/chunks/4727-5d695d71e3fdf97b.js +1 -0
  351. package/.next/static/chunks/{5222.305dc0ebba9c0784.js → 5222.39e2034d3fce233c.js} +1 -1
  352. package/.next/static/chunks/{7095.8c869e553133a40e.js → 7095.87323a4fdf426341.js} +1 -1
  353. package/.next/static/chunks/{7485.442b21101fca7257.js → 7485.8a2a9d7c5396aa26.js} +3 -3
  354. package/.next/static/chunks/{8165-3853772f6ae1299b.js → 8165-3525fb42f1b4976e.js} +1 -1
  355. package/.next/static/chunks/app/{layout-9da1ab602bcb3051.js → layout-07d040cb3d3ea657.js} +1 -1
  356. package/.next/static/chunks/app/sessions/page-2af68c63211c751f.js +1 -0
  357. package/.next/static/chunks/app/worktrees/[id]/page-35f0e31a725d1c89.js +1 -0
  358. package/.next/static/chunks/app/worktrees/[id]/terminal/{page-373ea37b16d930c7.js → page-c601f3b3ece6557e.js} +1 -1
  359. package/.next/static/chunks/{webpack-021f0741f22dd16a.js → webpack-165d8df9acd1c5d4.js} +1 -1
  360. package/.next/static/css/057f64a65726c439.css +1 -0
  361. package/.next/trace +13 -13
  362. package/dist/cli/commands/ask.d.ts.map +1 -1
  363. package/dist/cli/commands/ask.js +120 -119
  364. package/dist/cli/commands/attach.d.ts +94 -0
  365. package/dist/cli/commands/attach.d.ts.map +1 -1
  366. package/dist/cli/commands/attach.js +145 -7
  367. package/dist/cli/commands/auto-yes.js +1 -1
  368. package/dist/cli/commands/capture.d.ts.map +1 -1
  369. package/dist/cli/commands/capture.js +3 -5
  370. package/dist/cli/commands/command-target.d.ts +23 -0
  371. package/dist/cli/commands/command-target.d.ts.map +1 -0
  372. package/dist/cli/commands/command-target.js +25 -0
  373. package/dist/cli/commands/instances.d.ts.map +1 -1
  374. package/dist/cli/commands/instances.js +41 -2
  375. package/dist/cli/commands/message-dispatch.d.ts +36 -0
  376. package/dist/cli/commands/message-dispatch.d.ts.map +1 -0
  377. package/dist/cli/commands/message-dispatch.js +63 -0
  378. package/dist/cli/commands/reply.d.ts.map +1 -1
  379. package/dist/cli/commands/reply.js +2 -5
  380. package/dist/cli/commands/respond.d.ts.map +1 -1
  381. package/dist/cli/commands/respond.js +3 -6
  382. package/dist/cli/commands/send.d.ts.map +1 -1
  383. package/dist/cli/commands/send.js +149 -146
  384. package/dist/cli/commands/skill-format.d.ts +8 -0
  385. package/dist/cli/commands/skill-format.d.ts.map +1 -1
  386. package/dist/cli/commands/skill-format.js +13 -3
  387. package/dist/cli/commands/wait.d.ts.map +1 -1
  388. package/dist/cli/commands/wait.js +657 -431
  389. package/dist/cli/types/api-responses.d.ts +156 -27
  390. package/dist/cli/types/api-responses.d.ts.map +1 -1
  391. package/dist/cli/types/api-responses.js +4 -2
  392. package/dist/cli/utils/api-client.d.ts +25 -5
  393. package/dist/cli/utils/api-client.d.ts.map +1 -1
  394. package/dist/cli/utils/api-client.js +87 -55
  395. package/dist/cli/utils/server-url.d.ts +1 -0
  396. package/dist/cli/utils/server-url.d.ts.map +1 -1
  397. package/dist/cli/utils/server-url.js +7 -0
  398. package/dist/cli/utils/verify-runner.d.ts +21 -0
  399. package/dist/cli/utils/verify-runner.d.ts.map +1 -1
  400. package/dist/cli/utils/verify-runner.js +38 -1
  401. package/dist/config/uat-isolation.d.ts +140 -0
  402. package/dist/config/uat-isolation.d.ts.map +1 -0
  403. package/dist/config/uat-isolation.js +246 -0
  404. package/dist/lib/global-state.d.ts +12 -0
  405. package/dist/lib/global-state.d.ts.map +1 -0
  406. package/dist/lib/global-state.js +16 -0
  407. package/dist/lib/polling/auto-yes-suppression-reason.d.ts +33 -0
  408. package/dist/lib/polling/auto-yes-suppression-reason.d.ts.map +1 -0
  409. package/dist/lib/polling/auto-yes-suppression-reason.js +2 -0
  410. package/dist/lib/session/prompt-view.d.ts +26 -3
  411. package/dist/lib/session/prompt-view.d.ts.map +1 -1
  412. package/dist/lib/session/prompt-view.js +26 -3
  413. package/dist/lib/session/status-evidence-type.d.ts +16 -0
  414. package/dist/lib/session/status-evidence-type.d.ts.map +1 -0
  415. package/dist/lib/session/status-evidence-type.js +2 -0
  416. package/dist/lib/tmux/legacy-session-alias.d.ts.map +1 -1
  417. package/dist/lib/tmux/legacy-session-alias.js +2 -1
  418. package/dist/server/locales/en/worktree.json +8 -2
  419. package/dist/server/locales/ja/worktree.json +8 -2
  420. package/dist/server/src/cli/types/api-responses.js +4 -2
  421. package/dist/server/src/config/cli-tool-timing-config.js +1 -6
  422. package/dist/server/src/config/uat-isolation.js +246 -0
  423. package/dist/server/src/lib/assistant-response-saver.js +62 -3
  424. package/dist/server/src/lib/auto-yes-lifecycle.js +6 -0
  425. package/dist/server/src/lib/auto-yes-poller.js +450 -160
  426. package/dist/server/src/lib/auto-yes-state.js +2 -2
  427. package/dist/server/src/lib/cli-tools/antigravity.js +38 -79
  428. package/dist/server/src/lib/cli-tools/base.js +151 -0
  429. package/dist/server/src/lib/cli-tools/codex.js +44 -80
  430. package/dist/server/src/lib/cli-tools/command-code.js +24 -56
  431. package/dist/server/src/lib/cli-tools/copilot.js +25 -67
  432. package/dist/server/src/lib/cli-tools/direct-input.js +8 -0
  433. package/dist/server/src/lib/cli-tools/gemini.js +23 -73
  434. package/dist/server/src/lib/cli-tools/opencode-pane-width.js +53 -0
  435. package/dist/server/src/lib/cli-tools/opencode-v2.js +9 -7
  436. package/dist/server/src/lib/cli-tools/opencode.js +21 -85
  437. package/dist/server/src/lib/cli-tools/submit-verified-sender.js +127 -4
  438. package/dist/server/src/lib/cli-tools/vibe-local.js +21 -66
  439. package/dist/server/src/lib/detection/cli-patterns.js +374 -3065
  440. package/dist/server/src/lib/detection/idle-evidence-observation.js +2 -2
  441. package/dist/server/src/lib/detection/model-info-extractor.js +57 -3
  442. package/dist/server/src/lib/detection/prompt-detect-multiple-choice.js +7 -32
  443. package/dist/server/src/lib/detection/prompt-detector.js +2 -35
  444. package/dist/server/src/lib/detection/selection-shape-patterns.js +69 -0
  445. package/dist/server/src/lib/detection/selection-shape.js +32 -520
  446. package/dist/server/src/lib/detection/shared/pasted-text.js +41 -0
  447. package/dist/server/src/lib/detection/shared/shell-pane-command.js +16 -0
  448. package/dist/server/src/lib/detection/shared/strip-box-drawing.js +25 -0
  449. package/dist/server/src/lib/detection/status-detector.js +1 -1
  450. package/dist/server/src/lib/detection/tools/antigravity/detect.js +5 -29
  451. package/dist/server/src/lib/detection/tools/antigravity/dialog.js +2 -15
  452. package/dist/server/src/lib/detection/tools/antigravity/patterns.js +286 -0
  453. package/dist/server/src/lib/detection/tools/claude/detect.js +3 -14
  454. package/dist/server/src/lib/detection/tools/claude/patterns.js +264 -4
  455. package/dist/server/src/lib/detection/tools/claude/prompt.js +2 -10
  456. package/dist/server/src/lib/detection/tools/codex/detect.js +46 -85
  457. package/dist/server/src/lib/detection/tools/codex/live-region.js +33 -2
  458. package/dist/server/src/lib/detection/tools/codex/patterns.js +855 -0
  459. package/dist/server/src/lib/detection/tools/codex/prompt.js +2 -10
  460. package/dist/server/src/lib/detection/tools/command-code/detect.js +8 -50
  461. package/dist/server/src/lib/detection/tools/command-code/dialog.js +2 -18
  462. package/dist/server/src/lib/detection/tools/command-code/patterns.js +234 -0
  463. package/dist/server/src/lib/detection/tools/command-code/selection-shape.js +461 -0
  464. package/dist/server/src/lib/detection/tools/context-above.js +20 -0
  465. package/dist/server/src/lib/detection/tools/copilot/detect.js +10 -35
  466. package/dist/server/src/lib/detection/tools/copilot/patterns.js +640 -0
  467. package/dist/server/src/lib/detection/tools/copilot/prompt.js +2 -10
  468. package/dist/server/src/lib/detection/tools/gemini/patterns.js +29 -0
  469. package/dist/server/src/lib/detection/tools/live-region-specs.js +1 -1
  470. package/dist/server/src/lib/detection/tools/opencode/detect.js +8 -49
  471. package/dist/server/src/lib/detection/tools/opencode/patterns.js +508 -0
  472. package/dist/server/src/lib/detection/tools/opencode-v2/detect.js +7 -42
  473. package/dist/server/src/lib/detection/tools/opencode-v2/patterns.js +63 -0
  474. package/dist/server/src/lib/detection/tools/run-detection.js +6 -47
  475. package/dist/server/src/lib/detection/tools/verdicts.js +59 -0
  476. package/dist/server/src/lib/detection/tools/vibe-local/patterns.js +20 -0
  477. package/dist/server/src/lib/detection/truncate-raw-content.js +38 -0
  478. package/dist/server/src/lib/detection/turn-abandoned.js +66 -0
  479. package/dist/server/src/lib/detection/unclassified-frame-tracker.js +2 -2
  480. package/dist/server/src/lib/git/git-exec.js +23 -5
  481. package/dist/server/src/lib/global-state.js +16 -0
  482. package/dist/server/src/lib/hooks/agent-session-telemetry.js +4 -6
  483. package/dist/server/src/lib/hooks/permission-decision-state.js +2 -2
  484. package/dist/server/src/lib/hooks/sources/antigravity/history.js +11 -76
  485. package/dist/server/src/lib/hooks/sources/antigravity/hooks-config.js +63 -1
  486. package/dist/server/src/lib/hooks/sources/antigravity/source.js +16 -0
  487. package/dist/server/src/lib/hooks/sources/antigravity/transcript.js +3 -12
  488. package/dist/server/src/lib/hooks/sources/claude/history.js +17 -156
  489. package/dist/server/src/lib/hooks/sources/claude/queued-notice.js +53 -0
  490. package/dist/server/src/lib/hooks/sources/claude/self-resume.js +213 -0
  491. package/dist/server/src/lib/hooks/sources/claude/source.js +57 -10
  492. package/dist/server/src/lib/hooks/sources/claude/transcript.js +3 -13
  493. package/dist/server/src/lib/hooks/sources/codex/history.js +11 -74
  494. package/dist/server/src/lib/hooks/sources/codex/hooks-config.js +147 -11
  495. package/dist/server/src/lib/hooks/sources/codex/relay-install.js +64 -21
  496. package/dist/server/src/lib/hooks/sources/codex/transcript.js +5 -15
  497. package/dist/server/src/lib/hooks/sources/command-code/history.js +20 -121
  498. package/dist/server/src/lib/hooks/sources/command-code/transcript.js +3 -13
  499. package/dist/server/src/lib/hooks/sources/copilot/hook-settings.js +161 -31
  500. package/dist/server/src/lib/hooks/sources/define-source.js +40 -55
  501. package/dist/server/src/lib/hooks/sources/event-mapper.js +2 -1
  502. package/dist/server/src/lib/hooks/sources/opencode/diff.js +3 -4
  503. package/dist/server/src/lib/hooks/sources/opencode/history.js +2 -1
  504. package/dist/server/src/lib/hooks/sources/opencode/launch-settings.js +2 -1
  505. package/dist/server/src/lib/hooks/sources/opencode/payloads.js +2 -1
  506. package/dist/server/src/lib/hooks/sources/opencode/ports.js +2 -1
  507. package/dist/server/src/lib/hooks/sources/opencode/subscription.js +4 -3
  508. package/dist/server/src/lib/hooks/sources/opencode/transcript.js +3 -16
  509. package/dist/server/src/lib/hooks/sources/opencode-v2/history.js +2 -1
  510. package/dist/server/src/lib/hooks/sources/opencode-v2/mappers.js +5 -4
  511. package/dist/server/src/lib/hooks/sources/opencode-v2/ports.js +2 -1
  512. package/dist/server/src/lib/hooks/sources/opencode-v2/subscription.js +3 -7
  513. package/dist/server/src/lib/hooks/sources/opencode-v2/usage.js +2 -1
  514. package/dist/server/src/lib/hooks/sources/pending-decisions.js +2 -1
  515. package/dist/server/src/lib/hooks/sources/registry.js +3 -2
  516. package/dist/server/src/lib/hooks/sources/transcript-history.js +262 -0
  517. package/dist/server/src/lib/hooks/sources/turn-body.js +31 -0
  518. package/dist/server/src/lib/hooks/tool-input-normalization-state.js +2 -2
  519. package/dist/server/src/lib/polling/antigravity-permission-receipts.js +2 -2
  520. package/dist/server/src/lib/polling/auto-yes-enter-fallback-state.js +142 -0
  521. package/dist/server/src/lib/polling/auto-yes-enter-fallback.js +187 -0
  522. package/dist/server/src/lib/polling/auto-yes-resolver.js +9 -3
  523. package/dist/server/src/lib/polling/auto-yes-suppression-reason.js +2 -0
  524. package/dist/server/src/lib/polling/auto-yes-suppression-state.js +2 -2
  525. package/dist/server/src/lib/polling/pending-scraped-response.js +190 -0
  526. package/dist/server/src/lib/polling/prompt-dedup-state.js +2 -2
  527. package/dist/server/src/lib/polling/prompt-dedup.js +2 -2
  528. package/dist/server/src/lib/polling/response-checker-dialog-gate.js +95 -0
  529. package/dist/server/src/lib/polling/response-checker-extraction-result.js +50 -0
  530. package/dist/server/src/lib/polling/response-checker-extraction-steps.js +670 -0
  531. package/dist/server/src/lib/polling/response-checker.js +641 -1142
  532. package/dist/server/src/lib/polling/response-dedup.js +3 -4
  533. package/dist/server/src/lib/polling/response-poller-constants.js +17 -0
  534. package/dist/server/src/lib/polling/response-poller-core.js +54 -20
  535. package/dist/server/src/lib/polling/startup-screen.js +142 -0
  536. package/dist/server/src/lib/polling/structured-history-gate.js +3 -2
  537. package/dist/server/src/lib/prompt-answer-semantic.js +178 -0
  538. package/dist/server/src/lib/prompt-answer-sender.js +5 -4
  539. package/dist/server/src/lib/push/failure-episode-state.js +2 -2
  540. package/dist/server/src/lib/push/notification-dedup.js +3 -4
  541. package/dist/server/src/lib/push/prompt-card-state.js +2 -2
  542. package/dist/server/src/lib/push/waiting-push-notifier.js +3 -4
  543. package/dist/server/src/lib/realtime/publisher-registry.js +3 -2
  544. package/dist/server/src/lib/realtime/terminal-broadcast.js +38 -5
  545. package/dist/server/src/lib/realtime/terminal-session-ownership.js +45 -0
  546. package/dist/server/src/lib/relay/relay-delivery.js +3 -2
  547. package/dist/server/src/lib/relay/relay-readiness.js +38 -1
  548. package/dist/server/src/lib/response-cleaner.js +24 -1
  549. package/dist/server/src/lib/response-extractor.js +16 -0
  550. package/dist/server/src/lib/schedule-manager.js +8 -10
  551. package/dist/server/src/lib/session/agent-event-ask-user-question.js +168 -0
  552. package/dist/server/src/lib/session/agent-event-awaiting-instruction.js +104 -0
  553. package/dist/server/src/lib/session/agent-event-dedup.js +539 -0
  554. package/dist/server/src/lib/session/agent-event-model.js +562 -0
  555. package/dist/server/src/lib/session/agent-event-record.js +10 -0
  556. package/dist/server/src/lib/session/agent-event-state.js +107 -1854
  557. package/dist/server/src/lib/session/agent-event-structured-state.js +109 -0
  558. package/dist/server/src/lib/session/agent-event-turn.js +862 -0
  559. package/dist/server/src/lib/session/agent-session-lifecycle.js +11 -2
  560. package/dist/server/src/lib/session/chat-turn-progress.js +322 -0
  561. package/dist/server/src/lib/session/claude-executor.js +45 -5
  562. package/dist/server/src/lib/session/claude-session.js +21 -65
  563. package/dist/server/src/lib/session/cli-session.js +17 -0
  564. package/dist/server/src/lib/session/current-output-builder.js +449 -1107
  565. package/dist/server/src/lib/session/current-output-history-writers.js +255 -0
  566. package/dist/server/src/lib/session/current-output-types.js +9 -0
  567. package/dist/server/src/lib/session/detection-divergence.js +55 -0
  568. package/dist/server/src/lib/session/global-session-constants.js +2 -13
  569. package/dist/server/src/lib/session/hook-turn-hold.js +102 -0
  570. package/dist/server/src/lib/session/layer-disagreement.js +2 -2
  571. package/dist/server/src/lib/session/opencode-session-store.js +2 -1
  572. package/dist/server/src/lib/session/prompt-view.js +26 -3
  573. package/dist/server/src/lib/session/prompt-waiting-composition.js +3 -2
  574. package/dist/server/src/lib/session/provisional-turn.js +3 -1
  575. package/dist/server/src/lib/session/send-user-message.js +1 -1
  576. package/dist/server/src/lib/session/session-starting-state.js +4 -6
  577. package/dist/server/src/lib/session/status-evidence-type.js +2 -0
  578. package/dist/server/src/lib/session/status-evidence.js +2 -2
  579. package/dist/server/src/lib/session/structured-status-merge.js +335 -0
  580. package/dist/server/src/lib/session/waiting-episode-state.js +3 -4
  581. package/dist/server/src/lib/session-cleanup.js +1 -5
  582. package/dist/server/src/lib/skills/install-plan.js +3 -1
  583. package/dist/server/src/lib/skills/preview-diff.js +24 -3
  584. package/dist/server/src/lib/skills/snapshot-store.js +2 -2
  585. package/dist/server/src/lib/skills/uninstall-plan.js +3 -2
  586. package/dist/server/src/lib/timer-manager.js +6 -8
  587. package/dist/server/src/lib/tmux/geometry-delegation.js +3 -4
  588. package/dist/server/src/lib/tmux/legacy-session-alias.js +2 -1
  589. package/dist/server/src/lib/tmux/session-hooks.js +2 -1
  590. package/dist/server/src/lib/tmux/session-status-options.js +3 -3
  591. package/dist/server/src/lib/tmux/tmux-capture-cache.js +3 -2
  592. package/dist/server/src/lib/tmux/tmux.js +33 -59
  593. package/dist/server/src/lib/tui-accumulator.js +2 -2
  594. package/dist/server/src/lib/verification/env-clean-gate.js +6 -5
  595. package/dist/server/src/lib/version-checker.js +6 -6
  596. package/dist/server/src/lib/ws-server.js +47 -11
  597. package/docs/en/user-guide/commands-guide.md +0 -1
  598. package/docs/en/user-guide/webapp-guide.md +27 -3
  599. package/package.json +3 -2
  600. package/release-notes/0.44.3.json +82 -0
  601. package/release-notes/0.45.0.json +41 -0
  602. package/scripts/hooks/cmate-agent-event.sh +38 -0
  603. package/.next/server/chunks/1068.js +0 -1
  604. package/.next/server/chunks/4372.js +0 -5
  605. package/.next/server/chunks/6474.js +0 -14
  606. package/.next/server/chunks/967.js +0 -1
  607. package/.next/server/chunks/9798.js +0 -2
  608. package/.next/server/chunks/9882.js +0 -25
  609. package/.next/static/chunks/2053-85a974ddfe7498fe.js +0 -1
  610. package/.next/static/chunks/4290.6cf86f68d73b6e77.js +0 -82
  611. package/.next/static/chunks/4459.a94b52985a76509a.js +0 -1
  612. package/.next/static/chunks/591-539fec878c9dec5e.js +0 -1
  613. package/.next/static/chunks/5951.616956b6aa5df63f.js +0 -1
  614. package/.next/static/chunks/9856.15463dd58437e2ac.js +0 -1
  615. package/.next/static/chunks/app/sessions/page-049e06335187aa91.js +0 -1
  616. package/.next/static/chunks/app/worktrees/[id]/page-2a81397e60f17e63.js +0 -1
  617. package/.next/static/css/38070d879efa1371.css +0 -1
  618. package/dist/server/src/lib/cli-tools/index.js +0 -41
  619. package/dist/server/src/lib/polling/global-session-poller.js +0 -140
  620. /package/.next/static/{QlCqLjorauDDBXPa-C7TK → TPWbZB3zBp3Zv_eFEOlmt}/_buildManifest.js +0 -0
  621. /package/.next/static/{QlCqLjorauDDBXPa-C7TK → TPWbZB3zBp3Zv_eFEOlmt}/_ssgManifest.js +0 -0
@@ -20,8 +20,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
20
20
  exports.recordIdleEvidenceObservation = recordIdleEvidenceObservation;
21
21
  exports.getIdleEvidenceObservations = getIdleEvidenceObservations;
22
22
  exports.resetIdleEvidenceObservations = resetIdleEvidenceObservations;
23
- const observations = globalThis.__idleEvidenceObservations ??
24
- (globalThis.__idleEvidenceObservations = new Map());
23
+ const global_state_1 = require("../global-state");
24
+ const observations = (0, global_state_1.getOrInitGlobal)('__idleEvidenceObservations', () => new Map());
25
25
  /**
26
26
  * Fold one frame's idle-evidence verdict into the tally for `tool`.
27
27
  *
@@ -42,6 +42,7 @@
42
42
  * | copilot | footer: `← open sidebar · … · tab next tab GPT-5 mini · Medium` |
43
43
  * | copilot | notice: `● Model changed from gpt-5.6-terra (xhigh) to gpt-5-mini (medium) for this session.` |
44
44
  * | opencode | step: `▣ Build · GPT-5.6 Luna · 3.1s` |
45
+ * | opencode2 | step: `Build · Mistral Large 4 · 253ms` (no `▣`, 2.0.18, #3443) |
45
46
  *
46
47
  * The copilot and opencode rows were added by Issue #1912 and read off the live
47
48
  * fixtures #1885 / #1895 / #1893 / #1896 recorded, not off a fresh capture.
@@ -62,7 +63,7 @@
62
63
  * @see Issue #1784, Phase 2 of the model/effort visibility series
63
64
  */
64
65
  Object.defineProperty(exports, "__esModule", { value: true });
65
- exports.ANTIGRAVITY_MODEL_ID_EFFORT_PATTERN = exports.COMMAND_CODE_BANNER_MODELS_PATTERN = exports.OPENCODE_STEP_MODEL_PATTERN = exports.COPILOT_MODEL_CHANGE_PATTERN = exports.ANTIGRAVITY_BANNER_MODEL_PATTERN = exports.ANTIGRAVITY_STATUS_BAR_HINT_PATTERN = exports.CLAUDE_MODEL_SWITCH_PATTERN = exports.CLAUDE_EFFORT_ROW_PATTERN = exports.CLAUDE_STARTUP_BANNER_V2_1_28X_PATTERN = exports.CLAUDE_STARTUP_BANNER_PATTERN = exports.CODEX_STATUS_BAR_WITH_TRAILER_PATTERN = exports.CODEX_FOOTER_EFFORT_SLOT_PATTERN = exports.CODEX_FOOTER_MODEL_PATTERN = exports.REASONING_EFFORT_LEVELS = void 0;
66
+ exports.ANTIGRAVITY_MODEL_ID_EFFORT_PATTERN = exports.COMMAND_CODE_BANNER_MODELS_PATTERN = exports.OPENCODE_V2_STEP_MODEL_PATTERN = exports.OPENCODE_STEP_MODEL_PATTERN = exports.COPILOT_MODEL_CHANGE_PATTERN = exports.ANTIGRAVITY_BANNER_MODEL_PATTERN = exports.ANTIGRAVITY_STATUS_BAR_HINT_PATTERN = exports.CLAUDE_MODEL_SWITCH_PATTERN = exports.CLAUDE_EFFORT_ROW_PATTERN = exports.CLAUDE_STARTUP_BANNER_V2_1_28X_PATTERN = exports.CLAUDE_STARTUP_BANNER_PATTERN = exports.CODEX_STATUS_BAR_WITH_TRAILER_PATTERN = exports.CODEX_FOOTER_EFFORT_SLOT_PATTERN = exports.CODEX_FOOTER_MODEL_PATTERN = exports.REASONING_EFFORT_LEVELS = void 0;
66
67
  exports.resolveEffortToken = resolveEffortToken;
67
68
  exports.extractModelInfo = extractModelInfo;
68
69
  exports.deriveEffortFromModelId = deriveEffortFromModelId;
@@ -684,6 +685,58 @@ function readOpencodeStepMarker(line) {
684
685
  const model = match[1].trim();
685
686
  return isPlausibleModelLabel(model) ? { model, effort: null } : null;
686
687
  }
688
+ /**
689
+ * opencode2's step row (Issue #3443): v1's marker without the `▣`.
690
+ *
691
+ * Measured on opencode2 2.0.18 (`tests/fixtures/opencode-agent-health-3420/`):
692
+ *
693
+ * ` Error: Unauthorized`
694
+ * ` Build · Mistral Large 4 · 721ms`
695
+ * ` ┃` (the next user turn, or the composer)
696
+ *
697
+ * Without the `▣` the shape `<word> · <text> · <duration>` is ordinary prose, so
698
+ * it is only read under three guards, each of which a v1 step row also meets:
699
+ *
700
+ * - the duration is required (a row with two `·` and nothing timed is not one);
701
+ * - the row is transcript text, not inside a `┃` block — the user's own input
702
+ * and shell output are drawn inside one, the composer bar too;
703
+ * - the next non-blank row opens a `┃` block (the next user turn or the
704
+ * composer): the step row closes a reply, so a reply line that merely has the
705
+ * shape is followed by more reply, or by the step row itself.
706
+ *
707
+ * No /g. No nested quantifiers: `[^·]+?` is bounded by literal `·`.
708
+ */
709
+ exports.OPENCODE_V2_STEP_MODEL_PATTERN = /^\s*[A-Za-z][A-Za-z0-9-]*\s+·\s+([^·]+?)\s+·\s+[\d.]+\s?m?s\s*$/;
710
+ /** A row that opens or continues opencode's `┃` block (a user turn or the composer). */
711
+ const OPENCODE_BLOCK_ROW_PATTERN = /^\s*[┃╹]/;
712
+ function readOpencodeV2StepRow(lines, index) {
713
+ const match = exports.OPENCODE_V2_STEP_MODEL_PATTERN.exec(lines[index]);
714
+ if (!match)
715
+ return null;
716
+ const model = match[1].trim();
717
+ if (!isPlausibleModelLabel(model))
718
+ return null;
719
+ for (let next = index + 1; next < lines.length; next++) {
720
+ if (lines[next].trim() === '')
721
+ continue;
722
+ return OPENCODE_BLOCK_ROW_PATTERN.test(lines[next]) ? { model, effort: null } : null;
723
+ }
724
+ return null;
725
+ }
726
+ /**
727
+ * The lowest opencode step row, `▣` (v1) or not (opencode2, #3443). Both tool
728
+ * ids read both shapes: `opencode` may be running a 2.x binary, and a v1 frame
729
+ * never draws a `▣`-less row that passes {@link readOpencodeV2StepRow}'s guards.
730
+ */
731
+ function readOpencodeStepRow(captureText) {
732
+ const lines = captureText.split('\n').map((line) => (0, ansi_1.stripAnsi)(line));
733
+ for (let i = lines.length - 1; i >= 0; i--) {
734
+ const result = readOpencodeStepMarker(lines[i]) ?? readOpencodeV2StepRow(lines, i);
735
+ if (result)
736
+ return result;
737
+ }
738
+ return null;
739
+ }
687
740
  // =============================================================================
688
741
  // Command Code (Issue #2358)
689
742
  // =============================================================================
@@ -792,7 +845,7 @@ function scanFromEnd(captureText, read) {
792
845
  * Pure and side-effect free. Never throws, and answers `{ model: null, effort:
793
846
  * null }` for every tool it has no rule for (gemini / vibe-local — neither
794
847
  * prints a model on its pane in any captured frame; copilot and opencode were
795
- * added by Issue #1912) and for every frame that does not show the chrome it
848
+ * added by Issue #1912, opencode-v2 by #3443) and for every frame that does not show the chrome it
796
849
  * looks for.
797
850
  *
798
851
  * **Answering null is a correct outcome, not a failure.** tmux keeps a
@@ -842,7 +895,8 @@ function extractModelInfo(cliToolId, captureText) {
842
895
  return sameModel(bar.model, notice.model) ? { model: bar.model, effort: notice.effort } : bar;
843
896
  }
844
897
  case 'opencode':
845
- return scanFromEnd(captureText, readOpencodeStepMarker) ?? unknown();
898
+ case 'opencode-v2':
899
+ return readOpencodeStepRow(captureText) ?? unknown();
846
900
  case 'command-code':
847
901
  // Issue #2358. The banner is the only source — hooks carry no model — and
848
902
  // bottom-up is the same "last banner wins" rule Claude uses: a relaunch in
@@ -12,6 +12,7 @@ exports.buildMultipleChoiceResult = buildMultipleChoiceResult;
12
12
  exports.detectMultipleChoicePrompt = detectMultipleChoicePrompt;
13
13
  const tui_detection_frame_1 = require("./tui-detection-frame");
14
14
  const cli_patterns_1 = require("./cli-patterns");
15
+ const prompt_view_1 = require("../../lib/session/prompt-view");
15
16
  const picker_chrome_1 = require("./tools/claude/picker-chrome");
16
17
  // ============================================================================
17
18
  // Constants
@@ -411,48 +412,22 @@ const TEXT_INPUT_PATTERNS = [
411
412
  /custom/i,
412
413
  /differently/i,
413
414
  ];
414
- /**
415
- * Labels of the rows measured to BE a text field on screen (Issue #2573).
416
- *
417
- * `requiresTextInput` (from {@link TEXT_INPUT_PATTERNS}) reads the WORDS of a
418
- * label — "tell … what to do differently", "custom", "enter …" — and says the
419
- * option is about the user's own text. It does not say where typed characters
420
- * land, and for two rows it flags alike the measured answer is opposite:
421
- *
422
- * | row | on screen | free text + Enter |
423
- * |-----|-----------|-------------------|
424
- * | Command Code `AskUserQuestion` `Type something...` (#2522) | a `TextInput` | lands in the field — the answer |
425
- * | Command Code permission `No, tell Command Code what to do differently` | a menu row | ignored; the Enter confirms the highlighted `1. Yes` |
426
- *
427
- * The second is how a "No + reason" was delivered as an approval. The same
428
- * words sit on codex's and copilot's approval rows (codex's also name letter
429
- * hotkeys, `(y)` / `(p)`), and the generic patterns match inside the command an
430
- * approval row quotes (`… commands that start with 'npm run custom'`).
431
- *
432
- * So this is an allowlist of what was measured, not a denylist of what went
433
- * wrong: a flagged row is a field only when its label is one of these. Anchored
434
- * at the start so Command Code's folded description (`Type something... Give me
435
- * a branch name …`) still matches. Command Code's reader
436
- * (`tools/command-code/dialog.ts`) marks the same rows with the same expression.
437
- */
438
- const TYPED_TEXT_FIELD_LABEL_PATTERNS = [
439
- /^[^\S\n]*type\s+something\b/i,
440
- ];
441
415
  /**
442
416
  * Whether typed text reaches this option as its answer (Issue #2573).
443
417
  *
444
418
  * `true` only for a `requiresTextInput` row whose label is a measured text field
445
- * ({@link TYPED_TEXT_FIELD_LABEL_PATTERNS}). Every other flagged row is a menu
419
+ * (`TYPED_TEXT_FIELD_LABEL_PATTERNS` in `lib/session/prompt-view`, read through
420
+ * {@link optionTakesTypedText}). Every other flagged row is a menu
446
421
  * row: it is answered by its NUMBER, and free text sent at it is swallowed while
447
422
  * the Enter after it confirms whatever is highlighted.
448
423
  *
449
- * Pure, and restated in `components/worktree/PromptPanel.tsx` for the answer
450
- * panels, which cannot import this module (its graph reaches `lib/env`'s `fs`);
424
+ * Pure, and since Issue #3218 a call to `optionTakesTypedText`, which the answer
425
+ * panels read directly (through `hooks/usePromptAnswerState`) because they
426
+ * cannot import this module (its graph reaches `lib/env`'s `fs`);
451
427
  * `tests/unit/components/PromptPanel.test.tsx` asserts the two agree.
452
428
  */
453
429
  function isTypedTextFieldOption(option) {
454
- return option.requiresTextInput === true
455
- && TYPED_TEXT_FIELD_LABEL_PATTERNS.some((pattern) => pattern.test(option.label));
430
+ return (0, prompt_view_1.optionTakesTypedText)(option);
456
431
  }
457
432
  // ============================================================================
458
433
  // Helper functions
@@ -11,6 +11,7 @@ exports.resetDetectPromptCache = resetDetectPromptCache;
11
11
  const logger_1 = require("../../lib/logger");
12
12
  const prompt_detect_multiple_choice_1 = require("./prompt-detect-multiple-choice");
13
13
  const tui_detection_frame_1 = require("./tui-detection-frame");
14
+ const truncate_raw_content_1 = require("./truncate-raw-content");
14
15
  const logger = (0, logger_1.createLogger)('prompt-detector');
15
16
  /**
16
17
  * Last output tail used for duplicate log suppression.
@@ -25,40 +26,6 @@ const logger = (0, logger_1.createLogger)('prompt-detector');
25
26
  * @internal
26
27
  */
27
28
  let lastOutputTail = null;
28
- /**
29
- * Maximum number of lines to retain in rawContent.
30
- * Tail lines are preserved (instruction text typically appears just before the prompt).
31
- * @see truncateRawContent
32
- */
33
- const RAW_CONTENT_MAX_LINES = 200;
34
- /**
35
- * Maximum number of characters to retain in rawContent.
36
- * Tail characters are preserved.
37
- * @see truncateRawContent
38
- */
39
- const RAW_CONTENT_MAX_CHARS = 5000;
40
- /**
41
- * Truncate raw content to fit within size limits.
42
- * Preserves the tail (end) of the content since instruction text
43
- * typically appears just before the prompt at the end of output.
44
- *
45
- * Security: No regular expressions used -- no ReDoS risk. [SF-S4-002]
46
- * String.split('\n') and String.slice() are literal string operations only.
47
- *
48
- * @param content - The content to truncate
49
- * @returns Truncated content (last RAW_CONTENT_MAX_LINES lines, max RAW_CONTENT_MAX_CHARS characters)
50
- */
51
- function truncateRawContent(content) {
52
- const lines = content.split('\n');
53
- const truncatedLines = lines.length > RAW_CONTENT_MAX_LINES
54
- ? lines.slice(-RAW_CONTENT_MAX_LINES)
55
- : lines;
56
- let result = truncatedLines.join('\n');
57
- if (result.length > RAW_CONTENT_MAX_CHARS) {
58
- result = result.slice(-RAW_CONTENT_MAX_CHARS);
59
- }
60
- return result;
61
- }
62
29
  /**
63
30
  * Yes/no pattern definitions for data-driven matching.
64
31
  * Each entry defines a regex pattern and its associated default option.
@@ -190,7 +157,7 @@ function detectPrompt(output, options) {
190
157
  // ❯ 1. Yes
191
158
  // 2. No
192
159
  // 3. Cancel
193
- const multipleChoiceResult = (0, prompt_detect_multiple_choice_1.detectMultipleChoicePrompt)(detectionOutput, options, truncateRawContent);
160
+ const multipleChoiceResult = (0, prompt_detect_multiple_choice_1.detectMultipleChoicePrompt)(detectionOutput, options, truncate_raw_content_1.truncateRawContent);
194
161
  if (multipleChoiceResult.isPrompt) {
195
162
  // D2-004: Suppress duplicate multipleChoice info log
196
163
  if (!isDuplicate) {
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ /**
3
+ * Regexes shared by the shape reader and the Command Code block of
4
+ * `selection-shape.ts`. Split out first so the Command Code block can move
5
+ * without a cycle (Issue #3218). Imports nothing: this file is reached from
6
+ * browser-side modules too.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.COMMAND_CODE_PLAN_REVIEW_FOOTER = exports.FILTER_INPUT_PATTERN = void 0;
10
+ /**
11
+ * A focused search/filter row inside the dialog.
12
+ *
13
+ * Three measured spellings, and nothing wider — this predicate SUPPRESSES a
14
+ * control, so a false positive costs the user their number buttons:
15
+ * - `Type to search models...` / `type to search` (Command Code 1.40.1);
16
+ * - `Search models…` (copilot 1.0.80's `/model`, recorded verbatim in
17
+ * `cli-patterns.ts`'s `COPILOT_SELECTION_FOOTER_PATTERN` docblock);
18
+ * - `/ search` (copilot's `/session` and `/settings` footers).
19
+ *
20
+ * Deliberately does NOT match claude's `/model` blurb ("Switch between Claude
21
+ * models…") or codex's ("Access legacy models by running codex -m…"), neither of
22
+ * which contains the word.
23
+ */
24
+ exports.FILTER_INPUT_PATTERN = /\btype\s+to\s+search\b|\bsearch\s+\w+\s*(?:…|\.\.\.)|(?:^|·)\s*\/\s+search\b/im;
25
+ /**
26
+ * The two footer rows of Command Code's plan review overlay (Issue #2761).
27
+ *
28
+ * Measured on 1.58.0 at 200x1000. The overlay is a rule, a `Plan review: <title>
29
+ * · <path> · v1` header, the plan with a line-number gutter, a second rule, a
30
+ * ` REVIEW ` badge and then, verbatim:
31
+ *
32
+ * Approve ctrl+a executes the plan
33
+ * Cancel esc
34
+ *
35
+ * BOTH rows, adjacent, because each half alone is weak: `Cancel esc` is two
36
+ * words any picker might print, and `Approve` is a word an agent writes in a
37
+ * plan. Multi-line on purpose — it is tested against a joined tail
38
+ * (`NormalizedFrame.lastLines`, or the tail {@link readSelectionListShape}
39
+ * builds), never against a single row.
40
+ *
41
+ * Swept against every fixture in `tests/fixtures` and
42
+ * `tests/unit/lib/detection/fixtures` when this was written (300 files): the
43
+ * only match is the plan review capture itself.
44
+ *
45
+ * ## The `❯` either row may carry (Issue #2793)
46
+ *
47
+ * `↓` past the plan's last line moves the focus onto the ACTION list, and the
48
+ * focused action is drawn with a `❯ ` in front of it and two spaces before its
49
+ * key (`tests/fixtures/command-code-plan-review-2763/`, 1.58.0):
50
+ *
51
+ * ❯ Approve ctrl+a executes the plan ← `plan-review-action-focus-approve.txt`
52
+ * Cancel esc
53
+ *
54
+ * Approve ctrl+a executes the plan · comments go along as notes
55
+ * ❯ Cancel esc ← `plan-review-long-scrolled-cancel-focused.txt`
56
+ *
57
+ * Without the optional `❯ ` this pattern missed both frames, and they went on to
58
+ * the composer check, where `COMMAND_CODE_PROMPT_PATTERN` (`^❯(\s*$|\s+\S)`)
59
+ * read the cursor row as the composer and published `ready` / `input_prompt`:
60
+ * `wait` exited 0 on a plan nobody had approved — #2754's `❯`-outside-the-list
61
+ * family. It is also the frame on which `Enter` EXECUTES the focused action, so
62
+ * missing it here would also have left the chat surface's `Enter` on screen
63
+ * (see {@link SelectionListShape.offersPlanApprove}). Only `❯`, and only as a
64
+ * prefix: `❯ ` + the row is the one measured spelling of a focused action.
65
+ * Re-swept over the same two directories with the widened pattern: every match
66
+ * is still a `command-code-plan-review-*` capture, which
67
+ * `command-code-plan-review-2793.test.ts` keeps pinned.
68
+ */
69
+ exports.COMMAND_CODE_PLAN_REVIEW_FOOTER = /^\s*(?:❯ +)?Approve\s+ctrl\+a\b[^\n]*\n\s*(?:❯ +)?Cancel\s+esc\s*$/im;