commandmate 0.46.1 → 0.47.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (999) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +587 -580
  3. package/.next/app-path-routes-manifest.json +31 -30
  4. package/.next/build-manifest.json +8 -8
  5. package/.next/diagnostics/framework.json +1 -1
  6. package/.next/next-minimal-server.js.nft.json +1 -1
  7. package/.next/next-server.js.nft.json +1 -1
  8. package/.next/prerender-manifest.json +12 -12
  9. package/.next/react-loadable-manifest.json +1 -1
  10. package/.next/required-server-files.json +1 -1
  11. package/.next/routes-manifest.json +8 -0
  12. package/.next/server/app/_not-found/page.js +2 -2
  13. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  14. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/agents/update/route.js +2 -2
  16. package/.next/server/app/api/agents/update/route.js.nft.json +1 -1
  17. package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -1
  18. package/.next/server/app/api/agents/versions/route.js +1 -1
  19. package/.next/server/app/api/agents/versions/route.js.nft.json +1 -1
  20. package/.next/server/app/api/agents/versions/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/app/release-notes/route.js +1 -1
  22. package/.next/server/app/api/app/release-notes/route.js.nft.json +1 -1
  23. package/.next/server/app/api/app/release-notes/route_client-reference-manifest.js +1 -1
  24. package/.next/server/app/api/app/update/route.js +6 -4
  25. package/.next/server/app/api/app/update/route.js.nft.json +1 -1
  26. package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/app/update-check/route.js +1 -1
  28. package/.next/server/app/api/app/update-check/route.js.nft.json +1 -1
  29. package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/auth/login/route.js +1 -1
  31. package/.next/server/app/api/auth/login/route.js.nft.json +1 -1
  32. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/auth/logout/route.js +1 -1
  34. package/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
  35. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/auth/status/route.js +1 -1
  37. package/.next/server/app/api/auth/status/route.js.nft.json +1 -1
  38. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/capabilities/route.js +1 -1
  40. package/.next/server/app/api/capabilities/route.js.nft.json +1 -1
  41. package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/daily-summary/route.js +1 -1
  43. package/.next/server/app/api/daily-summary/route.js.nft.json +1 -1
  44. package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
  45. package/.next/server/app/api/daily-summary/status/route.js +1 -1
  46. package/.next/server/app/api/daily-summary/status/route.js.nft.json +1 -1
  47. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  48. package/.next/server/app/api/external-apps/[id]/health/route.js +1 -1
  49. package/.next/server/app/api/external-apps/[id]/health/route.js.nft.json +1 -1
  50. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  51. package/.next/server/app/api/external-apps/[id]/route.js +1 -1
  52. package/.next/server/app/api/external-apps/[id]/route.js.nft.json +1 -1
  53. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  54. package/.next/server/app/api/external-apps/route.js +1 -1
  55. package/.next/server/app/api/external-apps/route.js.nft.json +1 -1
  56. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  57. package/.next/server/app/api/fs/browse/route.js +1 -1
  58. package/.next/server/app/api/fs/browse/route.js.nft.json +1 -1
  59. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
  60. package/.next/server/app/api/fs/recent-paths/route.js +1 -1
  61. package/.next/server/app/api/fs/recent-paths/route.js.nft.json +1 -1
  62. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/hooks/agent-event/route.js +2 -2
  64. package/.next/server/app/api/hooks/agent-event/route.js.nft.json +1 -1
  65. package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
  66. package/.next/server/app/api/hooks/claude-done/route.js +2 -2
  67. package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
  68. package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/hooks/permission-request/route.js +1 -1
  70. package/.next/server/app/api/hooks/permission-request/route.js.nft.json +1 -1
  71. package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
  72. package/.next/server/app/api/metrics/vibe/route.js +2 -2
  73. package/.next/server/app/api/metrics/vibe/route.js.nft.json +1 -1
  74. package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/ollama/models/route.js +1 -1
  76. package/.next/server/app/api/ollama/models/route.js.nft.json +1 -1
  77. package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  78. package/.next/server/app/api/push/escalation/route.js +1 -7
  79. package/.next/server/app/api/push/escalation/route.js.nft.json +1 -1
  80. package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/push/subscriptions/route.js +1 -1
  82. package/.next/server/app/api/push/subscriptions/route.js.nft.json +1 -1
  83. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  84. package/.next/server/app/api/push/vapid/route.js +1 -7
  85. package/.next/server/app/api/push/vapid/route.js.nft.json +1 -1
  86. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/relays/[relayId]/cancel/route.js +1 -1
  88. package/.next/server/app/api/relays/[relayId]/cancel/route.js.nft.json +1 -1
  89. package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -1
  90. package/.next/server/app/api/relays/route.js +1 -1
  91. package/.next/server/app/api/relays/route.js.nft.json +1 -1
  92. package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/remote/pair/route.js +2 -2
  94. package/.next/server/app/api/remote/pair/route.js.nft.json +1 -1
  95. package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/repositories/[id]/route.js +1 -1
  97. package/.next/server/app/api/repositories/[id]/route.js.nft.json +1 -1
  98. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
  100. package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
  101. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  102. package/.next/server/app/api/repositories/clone/route.js +1 -1
  103. package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
  104. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/repositories/excluded/route.js +1 -1
  106. package/.next/server/app/api/repositories/excluded/route.js.nft.json +1 -1
  107. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/repositories/restore/route.js +1 -1
  109. package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
  110. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  111. package/.next/server/app/api/repositories/route.js +1 -1
  112. package/.next/server/app/api/repositories/route.js.nft.json +1 -1
  113. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  114. package/.next/server/app/api/repositories/scan/route.js +1 -1
  115. package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
  116. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/repositories/sync/route.js +1 -1
  118. package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
  119. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/repositories/validate-path/route.js +1 -1
  121. package/.next/server/app/api/repositories/validate-path/route.js.nft.json +1 -1
  122. package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
  123. package/.next/server/app/api/settings/default-agents/route.js +1 -1
  124. package/.next/server/app/api/settings/default-agents/route.js.nft.json +1 -1
  125. package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
  126. package/.next/server/app/api/settings/default-surface-mode/route.js +1 -1
  127. package/.next/server/app/api/settings/default-surface-mode/route.js.nft.json +1 -1
  128. package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
  129. package/.next/server/app/api/sidebar/group-order/route.js +1 -1
  130. package/.next/server/app/api/sidebar/group-order/route.js.nft.json +1 -1
  131. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/api/skills/[id]/route.js +1 -1
  133. package/.next/server/app/api/skills/[id]/route.js.nft.json +1 -1
  134. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  135. package/.next/server/app/api/skills/installations/route.js +1 -1
  136. package/.next/server/app/api/skills/installations/route.js.nft.json +1 -1
  137. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
  138. package/.next/server/app/api/skills/operations/route.js +2 -2
  139. package/.next/server/app/api/skills/operations/route.js.nft.json +1 -1
  140. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
  141. package/.next/server/app/api/skills/reindex/route.js +1 -1
  142. package/.next/server/app/api/skills/reindex/route.js.nft.json +1 -1
  143. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/api/skills/route.js +1 -1
  145. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  146. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  147. package/.next/server/app/api/slash-commands/route.js +1 -1
  148. package/.next/server/app/api/slash-commands/route.js.nft.json +1 -1
  149. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  150. package/.next/server/app/api/tasks/[taskId]/cancel/route.js +1 -1
  151. package/.next/server/app/api/tasks/[taskId]/cancel/route.js.nft.json +1 -1
  152. package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  153. package/.next/server/app/api/tasks/[taskId]/route.js +1 -1
  154. package/.next/server/app/api/tasks/[taskId]/route.js.nft.json +1 -1
  155. package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  156. package/.next/server/app/api/templates/[id]/route.js +1 -1
  157. package/.next/server/app/api/templates/[id]/route.js.nft.json +1 -1
  158. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  159. package/.next/server/app/api/templates/route.js +1 -1
  160. package/.next/server/app/api/templates/route.js.nft.json +1 -1
  161. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  162. package/.next/server/app/api/verification/runs/[runId]/route.js +1 -1
  163. package/.next/server/app/api/verification/runs/[runId]/route.js.nft.json +1 -1
  164. package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
  165. package/.next/server/app/api/verification/runs/route.js +1 -1
  166. package/.next/server/app/api/verification/runs/route.js.nft.json +1 -1
  167. package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
  168. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
  169. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
  170. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  171. package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -1
  172. package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
  173. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  174. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js +1 -1
  175. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js.nft.json +1 -1
  176. package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
  177. package/.next/server/app/api/worktrees/[id]/cli-reference/route.js +1 -1
  178. package/.next/server/app/api/worktrees/[id]/cli-reference/route.js.nft.json +1 -1
  179. package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
  180. package/.next/server/app/api/worktrees/[id]/cli-tool/route.js +1 -1
  181. package/.next/server/app/api/worktrees/[id]/cli-tool/route.js.nft.json +1 -1
  182. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  183. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +7 -7
  184. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js.nft.json +1 -1
  185. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  186. package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
  187. package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
  188. package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
  189. package/.next/server/app/api/worktrees/[id]/direct-input/route.js +1 -1
  190. package/.next/server/app/api/worktrees/[id]/direct-input/route.js.nft.json +1 -1
  191. package/.next/server/app/api/worktrees/[id]/direct-input/route_client-reference-manifest.js +1 -1
  192. package/.next/server/app/api/worktrees/[id]/env/route.js +2 -2
  193. package/.next/server/app/api/worktrees/[id]/env/route.js.nft.json +1 -1
  194. package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
  195. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js +1 -1
  196. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js.nft.json +1 -1
  197. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
  198. package/.next/server/app/api/worktrees/[id]/execution-logs/route.js +3 -3
  199. package/.next/server/app/api/worktrees/[id]/execution-logs/route.js.nft.json +1 -1
  200. package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
  201. package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js +1 -1
  202. package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js.nft.json +1 -1
  203. package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
  204. package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js +1 -1
  205. package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js.nft.json +1 -1
  206. package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
  207. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js +1 -1
  208. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js.nft.json +1 -1
  209. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
  210. package/.next/server/app/api/worktrees/[id]/git/branches/route.js +1 -1
  211. package/.next/server/app/api/worktrees/[id]/git/branches/route.js.nft.json +1 -1
  212. package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
  213. package/.next/server/app/api/worktrees/[id]/git/checkout/route.js +1 -1
  214. package/.next/server/app/api/worktrees/[id]/git/checkout/route.js.nft.json +1 -1
  215. package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
  216. package/.next/server/app/api/worktrees/[id]/git/commit/route.js +1 -1
  217. package/.next/server/app/api/worktrees/[id]/git/commit/route.js.nft.json +1 -1
  218. package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
  219. package/.next/server/app/api/worktrees/[id]/git/diff/route.js +1 -1
  220. package/.next/server/app/api/worktrees/[id]/git/diff/route.js.nft.json +1 -1
  221. package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
  222. package/.next/server/app/api/worktrees/[id]/git/fetch/route.js +1 -1
  223. package/.next/server/app/api/worktrees/[id]/git/fetch/route.js.nft.json +1 -1
  224. package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
  225. package/.next/server/app/api/worktrees/[id]/git/log/route.js +1 -1
  226. package/.next/server/app/api/worktrees/[id]/git/log/route.js.nft.json +1 -1
  227. package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
  228. package/.next/server/app/api/worktrees/[id]/git/pull/route.js +1 -1
  229. package/.next/server/app/api/worktrees/[id]/git/pull/route.js.nft.json +1 -1
  230. package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
  231. package/.next/server/app/api/worktrees/[id]/git/push/route.js +1 -1
  232. package/.next/server/app/api/worktrees/[id]/git/push/route.js.nft.json +1 -1
  233. package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
  234. package/.next/server/app/api/worktrees/[id]/git/reset/route.js +1 -1
  235. package/.next/server/app/api/worktrees/[id]/git/reset/route.js.nft.json +1 -1
  236. package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
  237. package/.next/server/app/api/worktrees/[id]/git/revert/route.js +1 -1
  238. package/.next/server/app/api/worktrees/[id]/git/revert/route.js.nft.json +1 -1
  239. package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
  240. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js +1 -1
  241. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js.nft.json +1 -1
  242. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
  243. package/.next/server/app/api/worktrees/[id]/git/stage/route.js +1 -1
  244. package/.next/server/app/api/worktrees/[id]/git/stage/route.js.nft.json +1 -1
  245. package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
  246. package/.next/server/app/api/worktrees/[id]/git/staged/route.js +1 -1
  247. package/.next/server/app/api/worktrees/[id]/git/staged/route.js.nft.json +1 -1
  248. package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
  249. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js +1 -1
  250. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js.nft.json +1 -1
  251. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
  252. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js +1 -1
  253. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js.nft.json +1 -1
  254. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
  255. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js +1 -1
  256. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js.nft.json +1 -1
  257. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
  258. package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js +1 -1
  259. package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js.nft.json +1 -1
  260. package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
  261. package/.next/server/app/api/worktrees/[id]/git/stash/route.js +1 -1
  262. package/.next/server/app/api/worktrees/[id]/git/stash/route.js.nft.json +1 -1
  263. package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
  264. package/.next/server/app/api/worktrees/[id]/git/status/route.js +1 -1
  265. package/.next/server/app/api/worktrees/[id]/git/status/route.js.nft.json +1 -1
  266. package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
  267. package/.next/server/app/api/worktrees/[id]/git/unstage/route.js +1 -1
  268. package/.next/server/app/api/worktrees/[id]/git/unstage/route.js.nft.json +1 -1
  269. package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
  270. package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js +1 -1
  271. package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js.nft.json +1 -1
  272. package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
  273. package/.next/server/app/api/worktrees/[id]/instances/notes/route.js +1 -1
  274. package/.next/server/app/api/worktrees/[id]/instances/notes/route.js.nft.json +1 -1
  275. package/.next/server/app/api/worktrees/[id]/instances/notes/route_client-reference-manifest.js +1 -1
  276. package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js +1 -1
  277. package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js.nft.json +1 -1
  278. package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
  279. package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
  280. package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
  281. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  282. package/.next/server/app/api/worktrees/[id]/kill-session/route.js +1 -1
  283. package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
  284. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  285. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js +1 -1
  286. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js.nft.json +1 -1
  287. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  288. package/.next/server/app/api/worktrees/[id]/logs/route.js +1 -1
  289. package/.next/server/app/api/worktrees/[id]/logs/route.js.nft.json +1 -1
  290. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  291. package/.next/server/app/api/worktrees/[id]/marp-render/route.js +3 -3
  292. package/.next/server/app/api/worktrees/[id]/marp-render/route.js.nft.json +1 -1
  293. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  294. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js +1 -1
  295. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js.nft.json +1 -1
  296. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  297. package/.next/server/app/api/worktrees/[id]/memos/route.js +1 -1
  298. package/.next/server/app/api/worktrees/[id]/memos/route.js.nft.json +1 -1
  299. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  300. package/.next/server/app/api/worktrees/[id]/messages/route.js +1 -1
  301. package/.next/server/app/api/worktrees/[id]/messages/route.js.nft.json +1 -1
  302. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  303. package/.next/server/app/api/worktrees/[id]/opencode/diff/route.js +1 -1
  304. package/.next/server/app/api/worktrees/[id]/opencode/diff/route.js.nft.json +1 -1
  305. package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
  306. package/.next/server/app/api/worktrees/[id]/opencode/session/route.js +1 -1
  307. package/.next/server/app/api/worktrees/[id]/opencode/session/route.js.nft.json +1 -1
  308. package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
  309. package/.next/server/app/api/worktrees/[id]/opencode/share/route.js +1 -1
  310. package/.next/server/app/api/worktrees/[id]/opencode/share/route.js.nft.json +1 -1
  311. package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
  312. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
  313. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
  314. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  315. package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route.js +1 -0
  316. package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route.js.nft.json +1 -0
  317. package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route_client-reference-manifest.js +1 -0
  318. package/.next/server/app/api/worktrees/[id]/resolve-target/route.js +1 -1
  319. package/.next/server/app/api/worktrees/[id]/resolve-target/route.js.nft.json +1 -1
  320. package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
  321. package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
  322. package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
  323. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  324. package/.next/server/app/api/worktrees/[id]/route.js +1 -1
  325. package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
  326. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  327. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +2 -2
  328. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js.nft.json +1 -1
  329. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  330. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +1 -1
  331. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js.nft.json +1 -1
  332. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  333. package/.next/server/app/api/worktrees/[id]/schedules/route.js +3 -3
  334. package/.next/server/app/api/worktrees/[id]/schedules/route.js.nft.json +1 -1
  335. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  336. package/.next/server/app/api/worktrees/[id]/search/route.js +1 -1
  337. package/.next/server/app/api/worktrees/[id]/search/route.js.nft.json +1 -1
  338. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  339. package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
  340. package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
  341. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  342. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js +5 -5
  343. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
  344. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
  345. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js +1 -1
  346. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js.nft.json +1 -1
  347. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  348. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js +1 -1
  349. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js.nft.json +1 -1
  350. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  351. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js +1 -1
  352. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js.nft.json +1 -1
  353. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  354. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js +1 -1
  355. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js.nft.json +1 -1
  356. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  357. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route.js +1 -1
  358. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route.js.nft.json +1 -1
  359. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
  360. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js +1 -1
  361. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js.nft.json +1 -1
  362. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
  363. package/.next/server/app/api/worktrees/[id]/skills/route.js +1 -1
  364. package/.next/server/app/api/worktrees/[id]/skills/route.js.nft.json +1 -1
  365. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  366. package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
  367. package/.next/server/app/api/worktrees/[id]/slash-commands/route.js.nft.json +1 -1
  368. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  369. package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
  370. package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
  371. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  372. package/.next/server/app/api/worktrees/[id]/tasks/route.js +2 -2
  373. package/.next/server/app/api/worktrees/[id]/tasks/route.js.nft.json +1 -1
  374. package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
  375. package/.next/server/app/api/worktrees/[id]/terminal/route.js +2 -2
  376. package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
  377. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  378. package/.next/server/app/api/worktrees/[id]/timers/history/route.js +1 -1
  379. package/.next/server/app/api/worktrees/[id]/timers/history/route.js.nft.json +1 -1
  380. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  381. package/.next/server/app/api/worktrees/[id]/timers/route.js +1 -1
  382. package/.next/server/app/api/worktrees/[id]/timers/route.js.nft.json +1 -1
  383. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  384. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js +1 -1
  385. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js.nft.json +1 -1
  386. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  387. package/.next/server/app/api/worktrees/[id]/todos/route.js +1 -1
  388. package/.next/server/app/api/worktrees/[id]/todos/route.js.nft.json +1 -1
  389. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  390. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.js +1 -1
  391. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.js.nft.json +1 -1
  392. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  393. package/.next/server/app/api/worktrees/[id]/tree/route.js +1 -1
  394. package/.next/server/app/api/worktrees/[id]/tree/route.js.nft.json +1 -1
  395. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  396. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route.js +1 -1
  397. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route.js.nft.json +1 -1
  398. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  399. package/.next/server/app/api/worktrees/[id]/verify/config/route.js +2 -2
  400. package/.next/server/app/api/worktrees/[id]/verify/config/route.js.nft.json +1 -1
  401. package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
  402. package/.next/server/app/api/worktrees/[id]/verify/route.js +1 -1
  403. package/.next/server/app/api/worktrees/[id]/verify/route.js.nft.json +1 -1
  404. package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
  405. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js +1 -1
  406. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js.nft.json +1 -1
  407. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
  408. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js +1 -1
  409. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js.nft.json +1 -1
  410. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
  411. package/.next/server/app/api/worktrees/[id]/verify/runs/route.js +1 -1
  412. package/.next/server/app/api/worktrees/[id]/verify/runs/route.js.nft.json +1 -1
  413. package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
  414. package/.next/server/app/api/worktrees/[id]/viewed/route.js +1 -1
  415. package/.next/server/app/api/worktrees/[id]/viewed/route.js.nft.json +1 -1
  416. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  417. package/.next/server/app/api/worktrees/apply-default-agents/route.js +1 -1
  418. package/.next/server/app/api/worktrees/apply-default-agents/route.js.nft.json +1 -1
  419. package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
  420. package/.next/server/app/api/worktrees/route.js +1 -1
  421. package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
  422. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  423. package/.next/server/app/apple-icon.png/route.js +1 -1
  424. package/.next/server/app/apple-icon.png/route.js.nft.json +1 -1
  425. package/.next/server/app/apple-icon.png.meta +1 -1
  426. package/.next/server/app/icon.png/route.js +1 -1
  427. package/.next/server/app/icon.png/route.js.nft.json +1 -1
  428. package/.next/server/app/icon.png.meta +1 -1
  429. package/.next/server/app/icon1.png/route.js +1 -1
  430. package/.next/server/app/icon1.png/route.js.nft.json +1 -1
  431. package/.next/server/app/icon1.png.meta +1 -1
  432. package/.next/server/app/icon2.png/route.js +1 -1
  433. package/.next/server/app/icon2.png/route.js.nft.json +1 -1
  434. package/.next/server/app/icon2.png.meta +1 -1
  435. package/.next/server/app/login/page.js +2 -2
  436. package/.next/server/app/login/page.js.nft.json +1 -1
  437. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  438. package/.next/server/app/manifest.webmanifest/route.js +2 -2
  439. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  440. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  441. package/.next/server/app/manifest.webmanifest.meta +1 -1
  442. package/.next/server/app/more/page.js +2 -2
  443. package/.next/server/app/more/page.js.nft.json +1 -1
  444. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  445. package/.next/server/app/offline/page.js +2 -2
  446. package/.next/server/app/offline/page.js.nft.json +1 -1
  447. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  448. package/.next/server/app/page.js +2 -2
  449. package/.next/server/app/page.js.nft.json +1 -1
  450. package/.next/server/app/page_client-reference-manifest.js +1 -1
  451. package/.next/server/app/proxy/[...path]/route.js +1 -1
  452. package/.next/server/app/proxy/[...path]/route.js.nft.json +1 -1
  453. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  454. package/.next/server/app/repositories/page.js +2 -2
  455. package/.next/server/app/repositories/page.js.nft.json +1 -1
  456. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  457. package/.next/server/app/review/page.js +2 -2
  458. package/.next/server/app/review/page.js.nft.json +1 -1
  459. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  460. package/.next/server/app/sessions/page.js +2 -2
  461. package/.next/server/app/sessions/page.js.nft.json +1 -1
  462. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  463. package/.next/server/app/skills/[skillId]/page.js +2 -2
  464. package/.next/server/app/skills/[skillId]/page.js.nft.json +1 -1
  465. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  466. package/.next/server/app/skills/installed/page.js +2 -2
  467. package/.next/server/app/skills/installed/page.js.nft.json +1 -1
  468. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
  469. package/.next/server/app/skills/page.js +2 -2
  470. package/.next/server/app/skills/page.js.nft.json +1 -1
  471. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  472. package/.next/server/app/worktrees/[id]/files/[...path]/page.js +2 -2
  473. package/.next/server/app/worktrees/[id]/files/[...path]/page.js.nft.json +1 -1
  474. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  475. package/.next/server/app/worktrees/[id]/page.js +12 -12
  476. package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
  477. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  478. package/.next/server/app/worktrees/[id]/terminal/page.js +3 -3
  479. package/.next/server/app/worktrees/[id]/terminal/page.js.nft.json +1 -1
  480. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  481. package/.next/server/app-paths-manifest.json +31 -30
  482. package/.next/server/chunks/{5048.js → 1185.js} +1 -1
  483. package/.next/server/chunks/1210.js +1 -1
  484. package/.next/server/chunks/1559.js +1 -1
  485. package/.next/server/chunks/1601.js +7 -0
  486. package/.next/server/chunks/1656.js +19 -0
  487. package/.next/server/chunks/1945.js +14 -0
  488. package/.next/server/chunks/2119.js +1 -1
  489. package/.next/server/chunks/2404.js +1 -1
  490. package/.next/server/chunks/2422.js +1 -0
  491. package/.next/server/chunks/2445.js +1 -1
  492. package/.next/server/chunks/2460.js +1 -1
  493. package/.next/server/chunks/2534.js +1 -1
  494. package/.next/server/chunks/255.js +1 -0
  495. package/.next/server/chunks/3241.js +1 -1
  496. package/.next/server/chunks/3505.js +7 -0
  497. package/.next/server/chunks/3897.js +22 -0
  498. package/.next/server/chunks/4072.js +5 -5
  499. package/.next/server/chunks/{3077.js → 4194.js} +12 -12
  500. package/.next/server/chunks/4207.js +1 -1
  501. package/.next/server/chunks/4248.js +1 -1
  502. package/.next/server/chunks/463.js +1 -0
  503. package/.next/server/chunks/5209.js +1 -1
  504. package/.next/server/chunks/5595.js +1 -1
  505. package/.next/server/chunks/5611.js +1 -1
  506. package/.next/server/chunks/5845.js +1 -1
  507. package/.next/server/chunks/610.js +1 -0
  508. package/.next/server/chunks/6119.js +1 -0
  509. package/.next/server/chunks/6130.js +1 -1
  510. package/.next/server/chunks/6345.js +1 -1
  511. package/.next/server/chunks/6401.js +1 -1
  512. package/.next/server/chunks/{2283.js → 6486.js} +7 -7
  513. package/.next/server/chunks/6722.js +1 -1
  514. package/.next/server/chunks/6781.js +1 -1
  515. package/.next/server/chunks/6784.js +1 -0
  516. package/.next/server/chunks/6793.js +2 -2
  517. package/.next/server/chunks/7905.js +1 -1
  518. package/.next/server/chunks/8581.js +10 -10
  519. package/.next/server/chunks/8728.js +2 -2
  520. package/.next/server/chunks/8791.js +1 -1
  521. package/.next/server/chunks/8918.js +4 -4
  522. package/.next/server/chunks/9130.js +1 -1
  523. package/.next/server/chunks/936.js +1 -0
  524. package/.next/server/chunks/9390.js +1 -1
  525. package/.next/server/chunks/9540.js +1 -0
  526. package/.next/server/chunks/9627.js +2 -2
  527. package/.next/server/chunks/9731.js +3 -3
  528. package/.next/server/middleware-build-manifest.js +1 -1
  529. package/.next/server/middleware-manifest.json +5 -5
  530. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  531. package/.next/server/pages/500.html +1 -1
  532. package/.next/server/pages/_document.js.nft.json +1 -1
  533. package/.next/server/pages/_error.js +3 -3
  534. package/.next/server/pages/_error.js.nft.json +1 -1
  535. package/.next/server/server-reference-manifest.json +1 -1
  536. package/.next/server/src/middleware.js.map +1 -1
  537. package/.next/static/chunks/{1111.5ab4f0ffb0d944e5.js → 1111.1b653d4a9816a0a7.js} +8 -8
  538. package/.next/static/chunks/{1255-7e5873f06b25e129.js → 1255-a85690d352f4f8fd.js} +1 -1
  539. package/.next/static/chunks/{2407-9703c569370b8a9d.js → 2407-a6533805a86d05bd.js} +1 -1
  540. package/.next/static/chunks/5371-a549a0d2c2044d41.js +1 -0
  541. package/.next/static/chunks/{5794-4eee51ff1e878aa6.js → 5794-80ac3f06f098ea29.js} +1 -1
  542. package/.next/static/chunks/602-1c1488959215e140.js +1 -0
  543. package/.next/static/chunks/9079-24f9fa549ed298f1.js +1 -0
  544. package/.next/static/chunks/9465-b59bb255b376c813.js +1 -0
  545. package/.next/static/chunks/app/api/agents/update/{route-0468c3c4baa46028.js → route-c81284a9d8b35304.js} +1 -1
  546. package/.next/static/chunks/app/api/agents/versions/{route-0468c3c4baa46028.js → route-c81284a9d8b35304.js} +1 -1
  547. package/.next/static/chunks/app/api/app/release-notes/{route-0468c3c4baa46028.js → route-c81284a9d8b35304.js} +1 -1
  548. package/.next/static/chunks/app/api/app/update/route-c81284a9d8b35304.js +1 -0
  549. package/.next/static/chunks/app/api/app/update-check/{route-0468c3c4baa46028.js → route-c81284a9d8b35304.js} +1 -1
  550. package/.next/static/chunks/app/api/auth/login/route-c81284a9d8b35304.js +1 -0
  551. package/.next/static/chunks/app/api/auth/logout/route-c81284a9d8b35304.js +1 -0
  552. package/.next/static/chunks/app/api/auth/status/route-c81284a9d8b35304.js +1 -0
  553. package/.next/static/chunks/app/api/capabilities/route-c81284a9d8b35304.js +1 -0
  554. package/.next/static/chunks/app/api/daily-summary/route-c81284a9d8b35304.js +1 -0
  555. package/.next/static/chunks/app/api/daily-summary/status/route-c81284a9d8b35304.js +1 -0
  556. package/.next/static/chunks/app/api/external-apps/[id]/health/route-c81284a9d8b35304.js +1 -0
  557. package/.next/static/chunks/app/api/external-apps/[id]/route-c81284a9d8b35304.js +1 -0
  558. package/.next/static/chunks/app/api/external-apps/route-c81284a9d8b35304.js +1 -0
  559. package/.next/static/chunks/app/api/fs/browse/route-c81284a9d8b35304.js +1 -0
  560. package/.next/static/chunks/app/api/fs/recent-paths/route-c81284a9d8b35304.js +1 -0
  561. package/.next/static/chunks/app/api/hooks/agent-event/route-c81284a9d8b35304.js +1 -0
  562. package/.next/static/chunks/app/api/hooks/claude-done/route-c81284a9d8b35304.js +1 -0
  563. package/.next/static/chunks/app/api/hooks/permission-request/route-c81284a9d8b35304.js +1 -0
  564. package/.next/static/chunks/app/api/metrics/vibe/route-c81284a9d8b35304.js +1 -0
  565. package/.next/static/chunks/app/api/ollama/models/route-c81284a9d8b35304.js +1 -0
  566. package/.next/static/chunks/app/api/push/escalation/route-c81284a9d8b35304.js +1 -0
  567. package/.next/static/chunks/app/api/push/subscriptions/route-c81284a9d8b35304.js +1 -0
  568. package/.next/static/chunks/app/api/push/vapid/route-c81284a9d8b35304.js +1 -0
  569. package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-c81284a9d8b35304.js +1 -0
  570. package/.next/static/chunks/app/api/relays/route-c81284a9d8b35304.js +1 -0
  571. package/.next/static/chunks/app/api/remote/pair/route-c81284a9d8b35304.js +1 -0
  572. package/.next/static/chunks/app/api/repositories/[id]/route-c81284a9d8b35304.js +1 -0
  573. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-c81284a9d8b35304.js +1 -0
  574. package/.next/static/chunks/app/api/repositories/clone/route-c81284a9d8b35304.js +1 -0
  575. package/.next/static/chunks/app/api/repositories/excluded/route-c81284a9d8b35304.js +1 -0
  576. package/.next/static/chunks/app/api/repositories/restore/route-c81284a9d8b35304.js +1 -0
  577. package/.next/static/chunks/app/api/repositories/route-c81284a9d8b35304.js +1 -0
  578. package/.next/static/chunks/app/api/repositories/scan/route-c81284a9d8b35304.js +1 -0
  579. package/.next/static/chunks/app/api/repositories/sync/route-c81284a9d8b35304.js +1 -0
  580. package/.next/static/chunks/app/api/repositories/validate-path/route-c81284a9d8b35304.js +1 -0
  581. package/.next/static/chunks/app/api/settings/default-agents/route-c81284a9d8b35304.js +1 -0
  582. package/.next/static/chunks/app/api/settings/default-surface-mode/route-c81284a9d8b35304.js +1 -0
  583. package/.next/static/chunks/app/api/sidebar/group-order/route-c81284a9d8b35304.js +1 -0
  584. package/.next/static/chunks/app/api/skills/[id]/route-c81284a9d8b35304.js +1 -0
  585. package/.next/static/chunks/app/api/skills/installations/route-c81284a9d8b35304.js +1 -0
  586. package/.next/static/chunks/app/api/skills/operations/route-c81284a9d8b35304.js +1 -0
  587. package/.next/static/chunks/app/api/skills/reindex/route-c81284a9d8b35304.js +1 -0
  588. package/.next/static/chunks/app/api/skills/route-c81284a9d8b35304.js +1 -0
  589. package/.next/static/chunks/app/api/slash-commands/route-c81284a9d8b35304.js +1 -0
  590. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-c81284a9d8b35304.js +1 -0
  591. package/.next/static/chunks/app/api/tasks/[taskId]/route-c81284a9d8b35304.js +1 -0
  592. package/.next/static/chunks/app/api/templates/[id]/route-c81284a9d8b35304.js +1 -0
  593. package/.next/static/chunks/app/api/templates/route-c81284a9d8b35304.js +1 -0
  594. package/.next/static/chunks/app/api/verification/runs/[runId]/route-c81284a9d8b35304.js +1 -0
  595. package/.next/static/chunks/app/api/verification/runs/route-c81284a9d8b35304.js +1 -0
  596. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-c81284a9d8b35304.js +1 -0
  597. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-c81284a9d8b35304.js +1 -0
  598. package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-c81284a9d8b35304.js +1 -0
  599. package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-c81284a9d8b35304.js +1 -0
  600. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-c81284a9d8b35304.js +1 -0
  601. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-c81284a9d8b35304.js +1 -0
  602. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-c81284a9d8b35304.js +1 -0
  603. package/.next/static/chunks/app/api/worktrees/[id]/direct-input/route-c81284a9d8b35304.js +1 -0
  604. package/.next/static/chunks/app/api/worktrees/[id]/env/route-c81284a9d8b35304.js +1 -0
  605. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-c81284a9d8b35304.js +1 -0
  606. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-c81284a9d8b35304.js +1 -0
  607. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-c81284a9d8b35304.js +1 -0
  608. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-c81284a9d8b35304.js +1 -0
  609. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-c81284a9d8b35304.js +1 -0
  610. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-c81284a9d8b35304.js +1 -0
  611. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-c81284a9d8b35304.js +1 -0
  612. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-c81284a9d8b35304.js +1 -0
  613. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-c81284a9d8b35304.js +1 -0
  614. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-c81284a9d8b35304.js +1 -0
  615. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-c81284a9d8b35304.js +1 -0
  616. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-c81284a9d8b35304.js +1 -0
  617. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-c81284a9d8b35304.js +1 -0
  618. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-c81284a9d8b35304.js +1 -0
  619. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-c81284a9d8b35304.js +1 -0
  620. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-c81284a9d8b35304.js +1 -0
  621. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-c81284a9d8b35304.js +1 -0
  622. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-c81284a9d8b35304.js +1 -0
  623. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-c81284a9d8b35304.js +1 -0
  624. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-c81284a9d8b35304.js +1 -0
  625. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-c81284a9d8b35304.js +1 -0
  626. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-c81284a9d8b35304.js +1 -0
  627. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-c81284a9d8b35304.js +1 -0
  628. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-c81284a9d8b35304.js +1 -0
  629. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-c81284a9d8b35304.js +1 -0
  630. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-c81284a9d8b35304.js +1 -0
  631. package/.next/static/chunks/app/api/worktrees/[id]/instances/notes/route-c81284a9d8b35304.js +1 -0
  632. package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-c81284a9d8b35304.js +1 -0
  633. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-c81284a9d8b35304.js +1 -0
  634. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-c81284a9d8b35304.js +1 -0
  635. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-c81284a9d8b35304.js +1 -0
  636. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-c81284a9d8b35304.js +1 -0
  637. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-c81284a9d8b35304.js +1 -0
  638. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-c81284a9d8b35304.js +1 -0
  639. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-c81284a9d8b35304.js +1 -0
  640. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-c81284a9d8b35304.js +1 -0
  641. package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-c81284a9d8b35304.js +1 -0
  642. package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-c81284a9d8b35304.js +1 -0
  643. package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-c81284a9d8b35304.js +1 -0
  644. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-c81284a9d8b35304.js +1 -0
  645. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/strict/route-c81284a9d8b35304.js +1 -0
  646. package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-c81284a9d8b35304.js +1 -0
  647. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-c81284a9d8b35304.js +1 -0
  648. package/.next/static/chunks/app/api/worktrees/[id]/route-c81284a9d8b35304.js +1 -0
  649. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-c81284a9d8b35304.js +1 -0
  650. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-c81284a9d8b35304.js +1 -0
  651. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-c81284a9d8b35304.js +1 -0
  652. package/.next/static/chunks/app/api/worktrees/[id]/search/route-c81284a9d8b35304.js +1 -0
  653. package/.next/static/chunks/app/api/worktrees/[id]/send/route-c81284a9d8b35304.js +1 -0
  654. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-c81284a9d8b35304.js +1 -0
  655. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-c81284a9d8b35304.js +1 -0
  656. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-c81284a9d8b35304.js +1 -0
  657. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-c81284a9d8b35304.js +1 -0
  658. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-c81284a9d8b35304.js +1 -0
  659. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-c81284a9d8b35304.js +1 -0
  660. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-c81284a9d8b35304.js +1 -0
  661. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-c81284a9d8b35304.js +1 -0
  662. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-c81284a9d8b35304.js +1 -0
  663. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-c81284a9d8b35304.js +1 -0
  664. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-c81284a9d8b35304.js +1 -0
  665. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-c81284a9d8b35304.js +1 -0
  666. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-c81284a9d8b35304.js +1 -0
  667. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-c81284a9d8b35304.js +1 -0
  668. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-c81284a9d8b35304.js +1 -0
  669. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-c81284a9d8b35304.js +1 -0
  670. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-c81284a9d8b35304.js +1 -0
  671. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-c81284a9d8b35304.js +1 -0
  672. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-c81284a9d8b35304.js +1 -0
  673. package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-c81284a9d8b35304.js +1 -0
  674. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-c81284a9d8b35304.js +1 -0
  675. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-c81284a9d8b35304.js +1 -0
  676. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-c81284a9d8b35304.js +1 -0
  677. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-c81284a9d8b35304.js +1 -0
  678. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-c81284a9d8b35304.js +1 -0
  679. package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-c81284a9d8b35304.js +1 -0
  680. package/.next/static/chunks/app/api/worktrees/route-c81284a9d8b35304.js +1 -0
  681. package/.next/static/chunks/app/layout-538d8d2746ad1588.js +1 -0
  682. package/.next/static/chunks/app/manifest.webmanifest/route-c81284a9d8b35304.js +1 -0
  683. package/.next/static/chunks/app/proxy/[...path]/route-c81284a9d8b35304.js +1 -0
  684. package/.next/static/chunks/app/sessions/page-e02f1adb1d1c1ccc.js +1 -0
  685. package/.next/static/chunks/app/worktrees/[id]/layout-c81284a9d8b35304.js +1 -0
  686. package/.next/static/chunks/app/worktrees/[id]/page-46aced20b2b1c010.js +1 -0
  687. package/.next/static/chunks/main-37ca13e38030fe8b.js +1 -0
  688. package/.next/static/chunks/{webpack-468b7b33030234b3.js → webpack-838df0273b03af19.js} +1 -1
  689. package/.next/trace +13 -13
  690. package/.next/types/app/api/worktrees/[id]/prompt-response/strict/route.ts +347 -0
  691. package/.next/types/routes.d.ts +2 -1
  692. package/.next/types/validator.ts +9 -0
  693. package/dist/cli/commands/auto-yes.d.ts +19 -0
  694. package/dist/cli/commands/auto-yes.d.ts.map +1 -1
  695. package/dist/cli/commands/auto-yes.js +45 -0
  696. package/dist/cli/commands/instances.d.ts.map +1 -1
  697. package/dist/cli/commands/instances.js +23 -18
  698. package/dist/cli/commands/ls.d.ts +15 -1
  699. package/dist/cli/commands/ls.d.ts.map +1 -1
  700. package/dist/cli/commands/ls.js +39 -3
  701. package/dist/cli/commands/prompt.d.ts +42 -0
  702. package/dist/cli/commands/prompt.d.ts.map +1 -0
  703. package/dist/cli/commands/prompt.js +223 -0
  704. package/dist/cli/commands/relays.d.ts.map +1 -1
  705. package/dist/cli/commands/relays.js +13 -1
  706. package/dist/cli/commands/respond-strict.d.ts +31 -0
  707. package/dist/cli/commands/respond-strict.d.ts.map +1 -0
  708. package/dist/cli/commands/respond-strict.js +214 -0
  709. package/dist/cli/commands/respond.d.ts.map +1 -1
  710. package/dist/cli/commands/respond.js +38 -0
  711. package/dist/cli/commands/send.d.ts.map +1 -1
  712. package/dist/cli/commands/send.js +41 -5
  713. package/dist/cli/commands/start.d.ts.map +1 -1
  714. package/dist/cli/commands/start.js +2 -1
  715. package/dist/cli/commands/status.d.ts.map +1 -1
  716. package/dist/cli/commands/status.js +18 -0
  717. package/dist/cli/commands/wait.d.ts +21 -1
  718. package/dist/cli/commands/wait.d.ts.map +1 -1
  719. package/dist/cli/commands/wait.js +114 -12
  720. package/dist/cli/docs/agent-operations.d.ts +1 -1
  721. package/dist/cli/docs/agent-operations.d.ts.map +1 -1
  722. package/dist/cli/docs/agent-operations.js +63 -1
  723. package/dist/cli/program.d.ts.map +1 -1
  724. package/dist/cli/program.js +6 -2
  725. package/dist/cli/types/api-responses.d.ts +69 -2
  726. package/dist/cli/types/api-responses.d.ts.map +1 -1
  727. package/dist/cli/types/index.d.ts +30 -0
  728. package/dist/cli/types/index.d.ts.map +1 -1
  729. package/dist/cli/types/index.js +12 -1
  730. package/dist/cli/utils/api-client.d.ts +13 -1
  731. package/dist/cli/utils/api-client.d.ts.map +1 -1
  732. package/dist/cli/utils/api-client.js +10 -2
  733. package/dist/cli/utils/daemon-factory.d.ts.map +1 -1
  734. package/dist/cli/utils/daemon-factory.js +3 -1
  735. package/dist/cli/utils/daemon.d.ts +38 -1
  736. package/dist/cli/utils/daemon.d.ts.map +1 -1
  737. package/dist/cli/utils/daemon.js +161 -8
  738. package/dist/cli/utils/paths.d.ts +12 -0
  739. package/dist/cli/utils/paths.d.ts.map +1 -1
  740. package/dist/cli/utils/paths.js +17 -0
  741. package/dist/lib/polling/auto-yes-suppression-reason.d.ts +54 -1
  742. package/dist/lib/polling/auto-yes-suppression-reason.d.ts.map +1 -1
  743. package/dist/lib/polling/auto-yes-suppression-reason.js +21 -1
  744. package/dist/lib/prompt-observation/kinds.d.ts +101 -0
  745. package/dist/lib/prompt-observation/kinds.d.ts.map +1 -0
  746. package/dist/lib/prompt-observation/kinds.js +123 -0
  747. package/dist/lib/prompt-observation/types.d.ts +271 -0
  748. package/dist/lib/prompt-observation/types.d.ts.map +1 -0
  749. package/dist/lib/prompt-observation/types.js +14 -0
  750. package/dist/lib/session/send-attempt-types.d.ts +66 -0
  751. package/dist/lib/session/send-attempt-types.d.ts.map +1 -0
  752. package/dist/lib/session/send-attempt-types.js +17 -0
  753. package/dist/server/locales/en/worktree.json +4 -0
  754. package/dist/server/locales/ja/worktree.json +4 -0
  755. package/dist/server/server.js +20 -1
  756. package/dist/server/src/config/auto-yes-config.js +11 -0
  757. package/dist/server/src/lib/auto-yes-lifecycle.js +28 -2
  758. package/dist/server/src/lib/auto-yes-poller.js +401 -369
  759. package/dist/server/src/lib/auto-yes-shutdown-record.js +257 -0
  760. package/dist/server/src/lib/auto-yes-state.js +197 -4
  761. package/dist/server/src/lib/cli-tools/antigravity-startup-trust.js +135 -0
  762. package/dist/server/src/lib/cli-tools/antigravity.js +162 -29
  763. package/dist/server/src/lib/cli-tools/command-code.js +10 -2
  764. package/dist/server/src/lib/cli-tools/copilot.js +21 -10
  765. package/dist/server/src/lib/cli-tools/gemini.js +60 -13
  766. package/dist/server/src/lib/cli-tools/launch-dialog.js +203 -0
  767. package/dist/server/src/lib/cli-tools/launch-window.js +96 -0
  768. package/dist/server/src/lib/detection/prompt-detect-multiple-choice.js +88 -6
  769. package/dist/server/src/lib/detection/prompt-detector.js +1 -1
  770. package/dist/server/src/lib/detection/selection-shape.js +35 -1
  771. package/dist/server/src/lib/detection/tools/antigravity/detect.js +38 -9
  772. package/dist/server/src/lib/detection/tools/antigravity/dialog.js +89 -2
  773. package/dist/server/src/lib/detection/tools/antigravity/patterns.js +41 -1
  774. package/dist/server/src/lib/detection/tools/claude/detect.js +60 -0
  775. package/dist/server/src/lib/detection/tools/command-code/selection-shape.js +63 -13
  776. package/dist/server/src/lib/detection/tools/copilot/patterns.js +7 -1
  777. package/dist/server/src/lib/hooks/permission-adjudication.js +26 -0
  778. package/dist/server/src/lib/hooks/permission-decision-service.js +42 -4
  779. package/dist/server/src/lib/hooks/permission-request-payload.js +20 -0
  780. package/dist/server/src/lib/hooks/sources/antigravity/source.js +21 -0
  781. package/dist/server/src/lib/hooks/sources/claude/source.js +3 -0
  782. package/dist/server/src/lib/hooks/sources/codex/source.js +2 -0
  783. package/dist/server/src/lib/hooks/sources/command-code/source.js +2 -0
  784. package/dist/server/src/lib/hooks/sources/copilot/source.js +2 -0
  785. package/dist/server/src/lib/hooks/sources/gemini/source.js +2 -0
  786. package/dist/server/src/lib/hooks/sources/legacy-relay.js +2 -0
  787. package/dist/server/src/lib/hooks/sources/opencode/ingest.js +6 -0
  788. package/dist/server/src/lib/hooks/sources/opencode/source.js +2 -0
  789. package/dist/server/src/lib/hooks/sources/opencode-v2/history.js +11 -2
  790. package/dist/server/src/lib/hooks/sources/opencode-v2/ingest.js +6 -0
  791. package/dist/server/src/lib/hooks/sources/opencode-v2/source.js +2 -0
  792. package/dist/server/src/lib/hooks/sources/opencode-v2/subscription.js +5 -3
  793. package/dist/server/src/lib/hooks/sources/pending-decisions.js +14 -2
  794. package/dist/server/src/lib/polling/antigravity-permission-receipts.js +29 -3
  795. package/dist/server/src/lib/polling/antigravity-receipt-episodes.js +301 -0
  796. package/dist/server/src/lib/polling/auto-yes-confirm-page.js +56 -0
  797. package/dist/server/src/lib/polling/auto-yes-confirmation-ledger-types.js +114 -0
  798. package/dist/server/src/lib/polling/auto-yes-confirmation-ledger.js +1060 -0
  799. package/dist/server/src/lib/polling/auto-yes-dialog-gate.js +8 -1
  800. package/dist/server/src/lib/polling/auto-yes-ledger-records.js +143 -0
  801. package/dist/server/src/lib/polling/auto-yes-policy.js +96 -13
  802. package/dist/server/src/lib/polling/auto-yes-poller-capture.js +50 -0
  803. package/dist/server/src/lib/polling/auto-yes-poller-enter-fallback.js +37 -0
  804. package/dist/server/src/lib/polling/auto-yes-poller-generation.js +151 -0
  805. package/dist/server/src/lib/polling/auto-yes-poller-receipt-log.js +287 -0
  806. package/dist/server/src/lib/polling/auto-yes-poller-state.js +75 -6
  807. package/dist/server/src/lib/polling/auto-yes-poller-steps.js +109 -0
  808. package/dist/server/src/lib/polling/auto-yes-poller-stop-reason.js +50 -0
  809. package/dist/server/src/lib/polling/auto-yes-prompt-suppression.js +231 -5
  810. package/dist/server/src/lib/polling/auto-yes-resolver.js +21 -1
  811. package/dist/server/src/lib/polling/auto-yes-suppression-reason.js +21 -1
  812. package/dist/server/src/lib/polling/auto-yes-suppression-state.js +10 -0
  813. package/dist/server/src/lib/polling/response-checker-blank-response.js +30 -0
  814. package/dist/server/src/lib/polling/response-checker-dialog-gate.js +2 -2
  815. package/dist/server/src/lib/polling/response-checker.js +14 -10
  816. package/dist/server/src/lib/polling/response-poller-core.js +136 -104
  817. package/dist/server/src/lib/prompt-observation/appearance.js +165 -0
  818. package/dist/server/src/lib/prompt-observation/kinds.js +123 -0
  819. package/dist/server/src/lib/prompt-observation/types.js +14 -0
  820. package/dist/server/src/lib/push/prompt-push-gate.js +195 -3
  821. package/dist/server/src/lib/push/waiting-push-notifier.js +74 -7
  822. package/dist/server/src/lib/relay/relay-delivery-claims.js +46 -0
  823. package/dist/server/src/lib/relay/relay-delivery.js +76 -30
  824. package/dist/server/src/lib/schedule-manager.js +28 -0
  825. package/dist/server/src/lib/session/cli-session.js +38 -3
  826. package/dist/server/src/lib/session/send-attempt-state.js +155 -0
  827. package/dist/server/src/lib/session/send-attempt-types.js +17 -0
  828. package/dist/server/src/lib/session/send-user-message.js +46 -0
  829. package/dist/server/src/lib/session/worktree-session-reconcile.js +2 -1
  830. package/dist/server/src/lib/tmux/session-created-signal.js +76 -0
  831. package/dist/server/src/lib/tmux/tmux-capture-cache.js +58 -6
  832. package/dist/server/src/lib/tmux/tmux.js +4 -0
  833. package/dist/server/src/lib/verification/scope-gate-format.js +100 -0
  834. package/dist/server/src/lib/verification/scope-gate-glob.js +185 -0
  835. package/dist/server/src/lib/verification/scope-gate.js +19 -271
  836. package/dist/server/src/lib/ws-server.js +48 -6
  837. package/docs/en/user-guide/cli-setup-guide.md +12 -1
  838. package/docs/en/user-guide/webapp-guide.md +2 -0
  839. package/package.json +2 -2
  840. package/release-notes/0.47.0.json +118 -0
  841. package/release-notes/0.47.1.json +20 -0
  842. package/release-notes/0.47.2.json +20 -0
  843. package/scripts/hooks/cmate-agent-event.sh +22 -0
  844. package/.next/server/chunks/1331.js +0 -22
  845. package/.next/server/chunks/1789.js +0 -1
  846. package/.next/server/chunks/1944.js +0 -1
  847. package/.next/server/chunks/2328.js +0 -1
  848. package/.next/server/chunks/2908.js +0 -1
  849. package/.next/server/chunks/2984.js +0 -25
  850. package/.next/server/chunks/3718.js +0 -1
  851. package/.next/server/chunks/4837.js +0 -14
  852. package/.next/server/chunks/5292.js +0 -7
  853. package/.next/server/chunks/611.js +0 -1
  854. package/.next/server/chunks/850.js +0 -1
  855. package/.next/server/chunks/9051.js +0 -1
  856. package/.next/static/chunks/3201-c01f1feed69020e6.js +0 -1
  857. package/.next/static/chunks/5371-0dc947683e46e78c.js +0 -1
  858. package/.next/static/chunks/602-25e45a2422d2a3ea.js +0 -1
  859. package/.next/static/chunks/9465-e5a351baa941f31b.js +0 -1
  860. package/.next/static/chunks/app/api/app/update/route-0468c3c4baa46028.js +0 -1
  861. package/.next/static/chunks/app/api/auth/login/route-0468c3c4baa46028.js +0 -1
  862. package/.next/static/chunks/app/api/auth/logout/route-0468c3c4baa46028.js +0 -1
  863. package/.next/static/chunks/app/api/auth/status/route-0468c3c4baa46028.js +0 -1
  864. package/.next/static/chunks/app/api/capabilities/route-0468c3c4baa46028.js +0 -1
  865. package/.next/static/chunks/app/api/daily-summary/route-0468c3c4baa46028.js +0 -1
  866. package/.next/static/chunks/app/api/daily-summary/status/route-0468c3c4baa46028.js +0 -1
  867. package/.next/static/chunks/app/api/external-apps/[id]/health/route-0468c3c4baa46028.js +0 -1
  868. package/.next/static/chunks/app/api/external-apps/[id]/route-0468c3c4baa46028.js +0 -1
  869. package/.next/static/chunks/app/api/external-apps/route-0468c3c4baa46028.js +0 -1
  870. package/.next/static/chunks/app/api/fs/browse/route-0468c3c4baa46028.js +0 -1
  871. package/.next/static/chunks/app/api/fs/recent-paths/route-0468c3c4baa46028.js +0 -1
  872. package/.next/static/chunks/app/api/hooks/agent-event/route-0468c3c4baa46028.js +0 -1
  873. package/.next/static/chunks/app/api/hooks/claude-done/route-0468c3c4baa46028.js +0 -1
  874. package/.next/static/chunks/app/api/hooks/permission-request/route-0468c3c4baa46028.js +0 -1
  875. package/.next/static/chunks/app/api/metrics/vibe/route-0468c3c4baa46028.js +0 -1
  876. package/.next/static/chunks/app/api/ollama/models/route-0468c3c4baa46028.js +0 -1
  877. package/.next/static/chunks/app/api/push/escalation/route-0468c3c4baa46028.js +0 -1
  878. package/.next/static/chunks/app/api/push/subscriptions/route-0468c3c4baa46028.js +0 -1
  879. package/.next/static/chunks/app/api/push/vapid/route-0468c3c4baa46028.js +0 -1
  880. package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-0468c3c4baa46028.js +0 -1
  881. package/.next/static/chunks/app/api/relays/route-0468c3c4baa46028.js +0 -1
  882. package/.next/static/chunks/app/api/remote/pair/route-0468c3c4baa46028.js +0 -1
  883. package/.next/static/chunks/app/api/repositories/[id]/route-0468c3c4baa46028.js +0 -1
  884. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-0468c3c4baa46028.js +0 -1
  885. package/.next/static/chunks/app/api/repositories/clone/route-0468c3c4baa46028.js +0 -1
  886. package/.next/static/chunks/app/api/repositories/excluded/route-0468c3c4baa46028.js +0 -1
  887. package/.next/static/chunks/app/api/repositories/restore/route-0468c3c4baa46028.js +0 -1
  888. package/.next/static/chunks/app/api/repositories/route-0468c3c4baa46028.js +0 -1
  889. package/.next/static/chunks/app/api/repositories/scan/route-0468c3c4baa46028.js +0 -1
  890. package/.next/static/chunks/app/api/repositories/sync/route-0468c3c4baa46028.js +0 -1
  891. package/.next/static/chunks/app/api/repositories/validate-path/route-0468c3c4baa46028.js +0 -1
  892. package/.next/static/chunks/app/api/settings/default-agents/route-0468c3c4baa46028.js +0 -1
  893. package/.next/static/chunks/app/api/settings/default-surface-mode/route-0468c3c4baa46028.js +0 -1
  894. package/.next/static/chunks/app/api/sidebar/group-order/route-0468c3c4baa46028.js +0 -1
  895. package/.next/static/chunks/app/api/skills/[id]/route-0468c3c4baa46028.js +0 -1
  896. package/.next/static/chunks/app/api/skills/installations/route-0468c3c4baa46028.js +0 -1
  897. package/.next/static/chunks/app/api/skills/operations/route-0468c3c4baa46028.js +0 -1
  898. package/.next/static/chunks/app/api/skills/reindex/route-0468c3c4baa46028.js +0 -1
  899. package/.next/static/chunks/app/api/skills/route-0468c3c4baa46028.js +0 -1
  900. package/.next/static/chunks/app/api/slash-commands/route-0468c3c4baa46028.js +0 -1
  901. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-0468c3c4baa46028.js +0 -1
  902. package/.next/static/chunks/app/api/tasks/[taskId]/route-0468c3c4baa46028.js +0 -1
  903. package/.next/static/chunks/app/api/templates/[id]/route-0468c3c4baa46028.js +0 -1
  904. package/.next/static/chunks/app/api/templates/route-0468c3c4baa46028.js +0 -1
  905. package/.next/static/chunks/app/api/verification/runs/[runId]/route-0468c3c4baa46028.js +0 -1
  906. package/.next/static/chunks/app/api/verification/runs/route-0468c3c4baa46028.js +0 -1
  907. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-0468c3c4baa46028.js +0 -1
  908. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-0468c3c4baa46028.js +0 -1
  909. package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-0468c3c4baa46028.js +0 -1
  910. package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-0468c3c4baa46028.js +0 -1
  911. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-0468c3c4baa46028.js +0 -1
  912. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-0468c3c4baa46028.js +0 -1
  913. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-0468c3c4baa46028.js +0 -1
  914. package/.next/static/chunks/app/api/worktrees/[id]/direct-input/route-0468c3c4baa46028.js +0 -1
  915. package/.next/static/chunks/app/api/worktrees/[id]/env/route-0468c3c4baa46028.js +0 -1
  916. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-0468c3c4baa46028.js +0 -1
  917. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-0468c3c4baa46028.js +0 -1
  918. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-0468c3c4baa46028.js +0 -1
  919. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-0468c3c4baa46028.js +0 -1
  920. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-0468c3c4baa46028.js +0 -1
  921. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-0468c3c4baa46028.js +0 -1
  922. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-0468c3c4baa46028.js +0 -1
  923. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-0468c3c4baa46028.js +0 -1
  924. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-0468c3c4baa46028.js +0 -1
  925. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-0468c3c4baa46028.js +0 -1
  926. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-0468c3c4baa46028.js +0 -1
  927. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-0468c3c4baa46028.js +0 -1
  928. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-0468c3c4baa46028.js +0 -1
  929. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-0468c3c4baa46028.js +0 -1
  930. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-0468c3c4baa46028.js +0 -1
  931. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-0468c3c4baa46028.js +0 -1
  932. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-0468c3c4baa46028.js +0 -1
  933. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-0468c3c4baa46028.js +0 -1
  934. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-0468c3c4baa46028.js +0 -1
  935. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-0468c3c4baa46028.js +0 -1
  936. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-0468c3c4baa46028.js +0 -1
  937. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-0468c3c4baa46028.js +0 -1
  938. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-0468c3c4baa46028.js +0 -1
  939. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-0468c3c4baa46028.js +0 -1
  940. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-0468c3c4baa46028.js +0 -1
  941. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-0468c3c4baa46028.js +0 -1
  942. package/.next/static/chunks/app/api/worktrees/[id]/instances/notes/route-0468c3c4baa46028.js +0 -1
  943. package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-0468c3c4baa46028.js +0 -1
  944. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-0468c3c4baa46028.js +0 -1
  945. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-0468c3c4baa46028.js +0 -1
  946. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-0468c3c4baa46028.js +0 -1
  947. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-0468c3c4baa46028.js +0 -1
  948. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-0468c3c4baa46028.js +0 -1
  949. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-0468c3c4baa46028.js +0 -1
  950. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-0468c3c4baa46028.js +0 -1
  951. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-0468c3c4baa46028.js +0 -1
  952. package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-0468c3c4baa46028.js +0 -1
  953. package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-0468c3c4baa46028.js +0 -1
  954. package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-0468c3c4baa46028.js +0 -1
  955. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-0468c3c4baa46028.js +0 -1
  956. package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-0468c3c4baa46028.js +0 -1
  957. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-0468c3c4baa46028.js +0 -1
  958. package/.next/static/chunks/app/api/worktrees/[id]/route-0468c3c4baa46028.js +0 -1
  959. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-0468c3c4baa46028.js +0 -1
  960. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-0468c3c4baa46028.js +0 -1
  961. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-0468c3c4baa46028.js +0 -1
  962. package/.next/static/chunks/app/api/worktrees/[id]/search/route-0468c3c4baa46028.js +0 -1
  963. package/.next/static/chunks/app/api/worktrees/[id]/send/route-0468c3c4baa46028.js +0 -1
  964. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-0468c3c4baa46028.js +0 -1
  965. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-0468c3c4baa46028.js +0 -1
  966. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-0468c3c4baa46028.js +0 -1
  967. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-0468c3c4baa46028.js +0 -1
  968. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-0468c3c4baa46028.js +0 -1
  969. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-0468c3c4baa46028.js +0 -1
  970. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-0468c3c4baa46028.js +0 -1
  971. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-0468c3c4baa46028.js +0 -1
  972. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-0468c3c4baa46028.js +0 -1
  973. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-0468c3c4baa46028.js +0 -1
  974. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-0468c3c4baa46028.js +0 -1
  975. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-0468c3c4baa46028.js +0 -1
  976. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-0468c3c4baa46028.js +0 -1
  977. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-0468c3c4baa46028.js +0 -1
  978. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-0468c3c4baa46028.js +0 -1
  979. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-0468c3c4baa46028.js +0 -1
  980. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-0468c3c4baa46028.js +0 -1
  981. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-0468c3c4baa46028.js +0 -1
  982. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-0468c3c4baa46028.js +0 -1
  983. package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-0468c3c4baa46028.js +0 -1
  984. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-0468c3c4baa46028.js +0 -1
  985. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-0468c3c4baa46028.js +0 -1
  986. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-0468c3c4baa46028.js +0 -1
  987. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-0468c3c4baa46028.js +0 -1
  988. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-0468c3c4baa46028.js +0 -1
  989. package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-0468c3c4baa46028.js +0 -1
  990. package/.next/static/chunks/app/api/worktrees/route-0468c3c4baa46028.js +0 -1
  991. package/.next/static/chunks/app/layout-3e357690446cd2da.js +0 -1
  992. package/.next/static/chunks/app/manifest.webmanifest/route-0468c3c4baa46028.js +0 -1
  993. package/.next/static/chunks/app/proxy/[...path]/route-0468c3c4baa46028.js +0 -1
  994. package/.next/static/chunks/app/sessions/page-9859ed61e93e6890.js +0 -1
  995. package/.next/static/chunks/app/worktrees/[id]/layout-0468c3c4baa46028.js +0 -1
  996. package/.next/static/chunks/app/worktrees/[id]/page-effbf0796881dd5a.js +0 -1
  997. package/.next/static/chunks/main-ac91ed6e71380841.js +0 -1
  998. /package/.next/static/{QxDf7lm-JJkWoj-TyWiSB → etorRtpxbQqqOzdUeXdw2}/_buildManifest.js +0 -0
  999. /package/.next/static/{QxDf7lm-JJkWoj-TyWiSB → etorRtpxbQqqOzdUeXdw2}/_ssgManifest.js +0 -0
@@ -15,6 +15,8 @@ const cli_tool_ids_1 = require("../config/cli-tool-ids");
15
15
  const agent_target_options_1 = require("../config/agent-target-options");
16
16
  const instances_1 = require("./instances");
17
17
  const command_target_1 = require("./command-target");
18
+ const respond_strict_1 = require("./respond-strict");
19
+ const kinds_1 = require("../../lib/prompt-observation/kinds");
18
20
  /**
19
21
  * Whether this instance's agent can be answered by naming a decision
20
22
  * (Issue #2040).
@@ -367,8 +369,44 @@ function createRespondCommand() {
367
369
  .option('--instance <id>', `${agent_target_options_1.INSTANCE_OPTION_DESCRIPTION} ${instances_1.INSTANCE_ALIAS_HELP_SUFFIX}`)
368
370
  .option('--agent <agent>', agent_target_options_1.AGENT_OPTION_DESCRIPTION)
369
371
  .option('--token <token>', command_helpers_1.TOKEN_WARNING)
372
+ .option('--expect-screen <kind>', `Strict respond (Issue #3756): answer only if the screen is still this kind (${kinds_1.STRICT_RESPOND_KINDS.join(', ')}). ` +
373
+ 'Needs --observation; never falls back to the unchecked route')
374
+ .option('--observation <token>', 'Strict respond: the observation token `commandmate prompt` printed for the screen (not the auth --token)')
375
+ .option('--expect-target <folder>', 'Strict respond: the folder a trust screen must name (omit it to be shown the folder; nothing is sent)')
376
+ .option('--operation-id <id>', 'Strict respond: reuse this id to retry without sending twice (default: a new random id)')
377
+ .option('--json', 'Strict respond: print the result object as JSON on stdout')
378
+ .addHelpText('after', `
379
+ Strict respond (--expect-screen <kind> --observation <token> <label>):
380
+ Run \`commandmate prompt <worktree-id> --instance <id>\` first, then answer with its
381
+ token. The server takes a fresh capture and sends nothing unless the kind, the
382
+ token (same pane, generation, appearance, options and highlight) and, on a
383
+ trust screen, --expect-target all match. Unnumbered screens (antigravity-trust)
384
+ are answered by label only — sent as Up/Down and Enter; a number and --default
385
+ are refused, and so are labels that match two options or no visible one.
386
+ Residual race: a key typed at the pane between the last check and a key is not
387
+ seen. While the instance's Auto-Yes is on, antigravity-permission is refused
388
+ (run auto-yes <worktree-id> --disable first). This is not a way to get auto
389
+ mode's permission for an approval.
390
+
391
+ Exit codes: 0 answered / 40 nothing sent (re-observe first) /
392
+ 41 keys sent, result not confirmed (do NOT send again) / 2 bad arguments`)
370
393
  .action(async (worktreeId, answer, options) => {
371
394
  try {
395
+ // Issue #3756: its own endpoint, and never the unchecked one below.
396
+ if ((0, respond_strict_1.isStrictRespond)(options)) {
397
+ if (!(0, api_client_1.isValidWorktreeId)(worktreeId)) {
398
+ console.error('Error: Invalid worktree ID format.');
399
+ process.exit(types_1.ExitCode.CONFIG_ERROR);
400
+ return;
401
+ }
402
+ await (0, respond_strict_1.runStrictRespond)(worktreeId, answer, options);
403
+ return;
404
+ }
405
+ if (options.json) {
406
+ console.error('Error: --json applies to the strict respond (--expect-screen) only.');
407
+ process.exit(types_1.ExitCode.CONFIG_ERROR);
408
+ return;
409
+ }
372
410
  const useDefault = validateRespondArgs(worktreeId, answer, options);
373
411
  const client = new api_client_1.ApiClient({ token: options.token });
374
412
  // Issue #1629: /prompt-response derives the session name from cliTool
@@ -1 +1 @@
1
- {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/send.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoUpC,wBAAgB,iBAAiB,IAAI,OAAO,CA2J3C"}
1
+ {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/send.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyWpC,wBAAgB,iBAAiB,IAAI,OAAO,CA8J3C"}
@@ -16,6 +16,7 @@ const model_validation_1 = require("../config/model-validation");
16
16
  const agent_instances_1 = require("../utils/agent-instances");
17
17
  const instances_1 = require("./instances");
18
18
  const command_target_1 = require("./command-target");
19
+ const auto_yes_1 = require("./auto-yes");
19
20
  const relays_1 = require("./relays");
20
21
  const message_dispatch_1 = require("./message-dispatch");
21
22
  /** Auto-yes duration used when --duration is omitted. */
@@ -63,8 +64,9 @@ function resolveAutoYesDurationMs(duration) {
63
64
  * @param options - Send command options containing auto-yes settings
64
65
  * @param durationMs - Duration already validated by resolveAutoYesDurationMs()
65
66
  * @param agent - CLI tool resolved for --instance (Issue #1629), else --agent
67
+ * @param contractPolicy - The policy of the contract this send created (Issue #3723), else null
66
68
  */
67
- async function enableAutoYes(client, worktreeId, options, durationMs, agent, instanceId) {
69
+ async function enableAutoYes(client, worktreeId, options, durationMs, agent, instanceId, contractPolicy = null) {
68
70
  const autoYesBody = {
69
71
  enabled: true,
70
72
  duration: durationMs,
@@ -81,8 +83,19 @@ async function enableAutoYes(client, worktreeId, options, durationMs, agent, ins
81
83
  if (options.stopPattern) {
82
84
  autoYesBody.stopPattern = options.stopPattern;
83
85
  }
84
- await client.post(`/api/worktrees/${worktreeId}/auto-yes`, autoYesBody);
86
+ // Issue #3723: the response is read now. It names what the contract on the
87
+ // instance lets Auto-Yes answer; with `autoYes.mode: off` the poller this
88
+ // armed answers nothing, and "Auto-yes enabled." alone said otherwise.
89
+ const result = await client.post(`/api/worktrees/${worktreeId}/auto-yes`, autoYesBody);
85
90
  console.error('Auto-yes enabled.');
91
+ // The server's reading wins when it has one. It has none for a `--contract`
92
+ // send armed before the message goes out: the task is still `pending`, which
93
+ // the server does not count as governing the instance (ACTIVE_TASK_STATUSES).
94
+ // The contract this send just created is what will govern it, so its policy
95
+ // is the one to describe then — a null from the server is not "no contract".
96
+ for (const line of (0, auto_yes_1.describeContractPolicy)(result?.contractPolicy ?? contractPolicy)) {
97
+ console.error(line);
98
+ }
86
99
  }
87
100
  /**
88
101
  * Register an ad-hoc --instance session into the agent-instance roster
@@ -102,6 +115,22 @@ async function registerInstance(client, worktreeId, instanceId, cliTool) {
102
115
  await (0, agent_instances_1.saveAgentInstances)(client, worktreeId, next);
103
116
  console.error(`Instance registered in roster: ${instanceId}`);
104
117
  }
118
+ /**
119
+ * The `autoYes` block of a just-created task in the shape `describeContractPolicy`
120
+ * reads (Issue #3723), or null when the response carries none. Read defensively:
121
+ * `contract_json` is replayed verbatim, never re-validated.
122
+ */
123
+ function contractPolicyOf(task) {
124
+ const autoYes = task.contract?.autoYes;
125
+ if (!autoYes || typeof autoYes !== 'object')
126
+ return null;
127
+ return {
128
+ taskId: task.id,
129
+ mode: typeof autoYes.mode === 'string' ? autoYes.mode : null,
130
+ allowPromptTypes: Array.isArray(autoYes.allowPromptTypes) ? autoYes.allowPromptTypes : [],
131
+ denyPatternCount: Array.isArray(autoYes.denyPatterns) ? autoYes.denyPatterns.length : 0,
132
+ };
133
+ }
105
134
  /**
106
135
  * Create the task row for `--contract` and get the message to send back.
107
136
  *
@@ -121,7 +150,11 @@ async function createContractTask(client, worktreeId, options, agent, instanceId
121
150
  try {
122
151
  const response = await client.post(`/api/worktrees/${worktreeId}/tasks`, body);
123
152
  const created = (0, api_client_1.assertResponseShape)(response, ['task', 'message'], 'POST /api/worktrees/:id/tasks');
124
- return { taskId: created.task.id, message: created.message };
153
+ return {
154
+ taskId: created.task.id,
155
+ message: created.message,
156
+ contractPolicy: contractPolicyOf(created.task),
157
+ };
125
158
  }
126
159
  catch (error) {
127
160
  if (error instanceof api_client_1.ApiError && error.statusCode === 400 && error.payload?.issues?.length) {
@@ -312,11 +345,14 @@ worktree and send a short message that tells the agent to read that file.
312
345
  // so an invalid contract cannot leave auto-yes enabled for a message
313
346
  // that was never sent.
314
347
  let taskId;
348
+ // Issue #3723: what the created contract lets Auto-Yes answer.
349
+ let contractPolicy = null;
315
350
  let content = message;
316
351
  if (options.contract) {
317
352
  const task = await createContractTask(client, worktreeId, options, agent, instanceId);
318
353
  taskId = task.taskId;
319
354
  content = task.message;
355
+ contractPolicy = task.contractPolicy;
320
356
  console.error(`Task created: ${taskId}`);
321
357
  console.log(taskId);
322
358
  }
@@ -344,7 +380,7 @@ worktree and send a short message that tells the agent to read that file.
344
380
  // that never went out, which is the state #1608 removed for a bad
345
381
  // --duration.
346
382
  try {
347
- await enableAutoYes(client, worktreeId, options, autoYesDurationMs, agent, instanceId);
383
+ await enableAutoYes(client, worktreeId, options, autoYesDurationMs, agent, instanceId, contractPolicy);
348
384
  }
349
385
  catch (error) {
350
386
  await failTask();
@@ -391,7 +427,7 @@ worktree and send a short message that tells the agent to read that file.
391
427
  // A failure here does not fail the task: the message was delivered and
392
428
  // the task is running, which is what the row already says.
393
429
  if (options.autoYes && deferAutoYes) {
394
- await enableAutoYes(client, worktreeId, options, autoYesDurationMs, agent, instanceId);
430
+ await enableAutoYes(client, worktreeId, options, autoYesDurationMs, agent, instanceId, contractPolicy);
395
431
  }
396
432
  }
397
433
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAmB,MAAM,UAAU,CAAC;AA4CnE;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wFAAwF;IACxF,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAgU1E;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CASvE"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAmB,MAAM,UAAU,CAAC;AA4CnE;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wFAAwF;IACxF,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAiU1E;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CASvE"}
@@ -95,7 +95,8 @@ async function runStart(options) {
95
95
  logger.info('Run "commandmate init" to create a configuration file');
96
96
  return { ok: false, exitCode: types_1.ExitCode.CONFIG_ERROR };
97
97
  }
98
- const daemonManager = new daemon_1.DaemonManager(pidFilePath);
98
+ // Issue #3731: --daemon appends the server's stdout/stderr to <configDir>/logs/server[-N].log
99
+ const daemonManager = new daemon_1.DaemonManager(pidFilePath, undefined, () => (0, paths_1.getServerLogPath)(options.issue));
99
100
  // Issue #136: Handle auto-port allocation for worktree servers
100
101
  let port = options.port;
101
102
  if (options.autoPort && options.issue !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAA2C,aAAa,EAAE,MAAM,UAAU,CAAC;AAwZlF;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkG9E"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAA2C,aAAa,EAAE,MAAM,UAAU,CAAC;AAyalF;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqG9E"}
@@ -12,6 +12,7 @@ const fs_1 = require("fs");
12
12
  const types_1 = require("../types");
13
13
  const logger_1 = require("../utils/logger");
14
14
  const daemon_1 = require("../utils/daemon");
15
+ const paths_1 = require("../utils/paths");
15
16
  const env_setup_1 = require("../utils/env-setup");
16
17
  const server_url_1 = require("../utils/server-url");
17
18
  const package_info_1 = require("../utils/package-info");
@@ -39,6 +40,19 @@ function printVersionInfo(status) {
39
40
  'Restart the server ("commandmate stop && commandmate start") to run the current version.');
40
41
  }
41
42
  }
43
+ /**
44
+ * Issue #3731: print where `start --daemon` writes this server's stdout/stderr.
45
+ * Marks a path that does not exist (a server started in the foreground or by an older CLI).
46
+ */
47
+ function printServerLogPath(issueNo) {
48
+ try {
49
+ const logPath = (0, paths_1.getServerLogPath)(issueNo);
50
+ console.log(`Log: ${logPath}${(0, fs_1.existsSync)(logPath) ? '' : ' (not created yet)'}`);
51
+ }
52
+ catch {
53
+ // The log path is a hint; failing to resolve it changes nothing about server status.
54
+ }
55
+ }
42
56
  /**
43
57
  * Surface the startup self-check's verdict (Issue #2113).
44
58
  *
@@ -318,6 +332,7 @@ async function showSingleStatus(issueNo) {
318
332
  }
319
333
  if (!status.running) {
320
334
  console.log('Status: Not running (stale PID file)');
335
+ printServerLogPath(issueNo);
321
336
  console.log('');
322
337
  const startCmd = issueNo !== undefined
323
338
  ? `commandmate start --issue ${issueNo}`
@@ -336,6 +351,7 @@ async function showSingleStatus(issueNo) {
336
351
  if (status.url) {
337
352
  console.log(`URL: ${status.url}`);
338
353
  }
354
+ printServerLogPath(issueNo);
339
355
  // Issue #2113: the advertised localhost URL may not reach this server at all
340
356
  printLocalhostConflict(status);
341
357
  // Issue #2123 / #2124: whether Web Push can work at all on this server
@@ -411,6 +427,7 @@ async function statusCommand(options = {}) {
411
427
  }
412
428
  if (!status.running) {
413
429
  console.log('Status: Not running (stale PID file)');
430
+ printServerLogPath(options.issue);
414
431
  console.log('');
415
432
  const startCmd = options.issue !== undefined
416
433
  ? `commandmate start --issue ${options.issue}`
@@ -430,6 +447,7 @@ async function statusCommand(options = {}) {
430
447
  if (status.url) {
431
448
  console.log(`URL: ${status.url}`);
432
449
  }
450
+ printServerLogPath(options.issue);
433
451
  // Issue #2113: the advertised localhost URL may not reach this server at all
434
452
  printLocalhostConflict(status);
435
453
  // Issue #2123 / #2124: whether Web Push can work at all on this server
@@ -22,7 +22,7 @@
22
22
  */
23
23
  import { Command } from 'commander';
24
24
  import type { WaitOptions } from '../types';
25
- import type { WaitPromptOutput } from '../types/api-responses';
25
+ import type { CurrentOutputResponse, WaitPromptOutput } from '../types/api-responses';
26
26
  import { ApiClient } from '../utils/api-client';
27
27
  /**
28
28
  * Structured event types that mean "a turn is under way" (Issue #1839).
@@ -50,6 +50,26 @@ import { ApiClient } from '../utils/api-client';
50
50
  * `"paths": {}`), so the test is the only thing holding the two together.
51
51
  */
52
52
  export declare const TURN_OPENING_EVENT_TYPES: ReadonlySet<string>;
53
+ /**
54
+ * One stderr line saying Auto-Yes is off on this instance because the server
55
+ * restarted (Issue #3730), or null.
56
+ *
57
+ * Only words: the prompt was going to be reported either way — an instance
58
+ * whose grant the restart released is an instance with Auto-Yes off, and exit
59
+ * 10 for it is exactly the hand-back it always was. What this adds is the WHY,
60
+ * so a delegating agent re-enables Auto-Yes instead of guessing. A server
61
+ * older than the reason sends none, and nothing is printed.
62
+ *
63
+ * The command it suggests names the instance this wait is about: without
64
+ * `--instance`, `auto-yes --enable` arms the worktree's default primary, which
65
+ * for an alias (or a non-default tool) is another instance — the waited-on one
66
+ * would stay off while a grant went somewhere nobody asked for. The instance is
67
+ * the resolved `--instance` when one was given, else the CLI tool the server
68
+ * answered for (a primary's instance ID is its tool ID).
69
+ *
70
+ * @param instanceId - The resolved `--instance` of this wait, if any
71
+ */
72
+ export declare function formatRestartReleaseNotice(worktreeId: string, data: CurrentOutputResponse, instanceId?: string): string | null;
53
73
  /**
54
74
  * The `stop` detail meaning "the agent ended its turn with its own background
55
75
  * work still running, and resumes by itself when that work finishes"
@@ -1 +1 @@
1
- {"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/wait.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAOV,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,SAAS,EAA+B,MAAM,qBAAqB,CAAC;AA6E7E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CAIvD,CAAC;AA+YH;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,wBAAwB,CAAC;AAEhE;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,0BAA0B,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,mBAAmB,QAAiB,CAAC;AA2JlD;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA2zBD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,6EAA6E;IAC7E,aAAa,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACrD,CAAC,CAwID;AAwKD,wBAAgB,iBAAiB,IAAI,OAAO,CAqM3C"}
1
+ {"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/wait.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAGV,qBAAqB,EAKrB,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,SAAS,EAA+B,MAAM,qBAAqB,CAAC;AA8E7E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CAIvD,CAAC;AAwOH;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,qBAAqB,EAC3B,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,GAAG,IAAI,CAMf;AAyMD;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,wBAAwB,CAAC;AAEhE;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,0BAA0B,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,mBAAmB,QAAiB,CAAC;AA2JlD;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA21BD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,6EAA6E;IAC7E,aAAa,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACrD,CAAC,CAyID;AAwKD,wBAAgB,iBAAiB,IAAI,OAAO,CA6M3C"}
@@ -23,6 +23,7 @@
23
23
  */
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
25
  exports.SELF_RESUME_HOLD_MS = exports.SELF_RESUME_CAPABILITY = exports.SELF_RESUME_PENDING_DETAIL = exports.TURN_OPENING_EVENT_TYPES = void 0;
26
+ exports.formatRestartReleaseNotice = formatRestartReleaseNotice;
26
27
  exports.pollWorktree = pollWorktree;
27
28
  exports.createWaitCommand = createWaitCommand;
28
29
  const commander_1 = require("commander");
@@ -31,6 +32,7 @@ const api_client_1 = require("../utils/api-client");
31
32
  const command_helpers_1 = require("../utils/command-helpers");
32
33
  const verify_runner_1 = require("../utils/verify-runner");
33
34
  const agent_target_options_1 = require("../config/agent-target-options");
35
+ const prompt_1 = require("./prompt");
34
36
  const prompt_view_1 = require("../../lib/session/prompt-view");
35
37
  const instances_1 = require("./instances");
36
38
  /** [IA3-02] Polling interval 5 seconds (matches tmux-capture-cache TTL=2s) */
@@ -239,22 +241,36 @@ const CONTRACT_POLICY_CAUSE = 'by contract policy';
239
241
  * say about it is a compile error here, which is the point. Until #1843 the
240
242
  * notice hard-coded "by contract policy" for every reason, so #1829's
241
243
  * `agent-launch-dialog` — a product-side decision the poller makes with no
242
- * contract in sight (`src/lib/auto-yes-poller.ts`, the `getCodexLifecycleDialog`
243
- * branch) — sent operators of contract-less worktrees hunting for a
244
- * `denyPatterns` entry that did not exist.
244
+ * contract in sight (`suppressIfNotOursToAnswer` in
245
+ * `src/lib/polling/auto-yes-prompt-suppression.ts`: codex's lifecycle dialogs,
246
+ * gemini's folder trust since #3776 and copilot's since #3790) — sent operators
247
+ * of contract-less worktrees hunting for a `denyPatterns` entry that did not
248
+ * exist.
245
249
  *
246
250
  * The three sites that record a suppression are covered: the poller's launch-dialog
247
251
  * branch (`agent-launch-dialog`), the poller's policy branch and
248
252
  * `lib/hooks/permission-decision-service.ts` (both the four `evaluatePolicyAgainstTexts`
249
253
  * verdicts, which is why those four keep the pre-#1843 wording exactly), and
250
- * the poller's stopped-answer branch (`partial-answer`, Issue #3706 / #3713).
254
+ * the poller's stopped-answer branch (`partial-answer`, Issue #3706 / #3713),
255
+ * and the poller's agy trust-screen branch (`startup-trust-unhandled`, Issue #3757),
256
+ * and the poller's question confirm-page branch (`question-confirm-page`, Issue #3748),
257
+ * and the poller's agy receipt-gate branch (`no-hook-receipt`, Issue #3767),
258
+ * and a contract lookup that failed on either of the policy paths
259
+ * (`policy-lookup-failed`, Issue #3822).
251
260
  */
252
261
  const SUPPRESSION_CAUSE = {
253
262
  'mode-off': CONTRACT_POLICY_CAUSE,
254
263
  'deny-pattern': CONTRACT_POLICY_CAUSE,
255
264
  'deny-pattern-unusable': CONTRACT_POLICY_CAUSE,
256
265
  'type-not-allowed': CONTRACT_POLICY_CAUSE,
257
- 'agent-launch-dialog': "while the agent's launch dialog was on screen",
266
+ // Issue #3822. Not "by contract policy": the contract could not be read at
267
+ // all, so nothing it says was applied. Withheld rather than answered, since
268
+ // the contract may state `off`; it clears once the server reads it again.
269
+ 'policy-lookup-failed': 'because the server could not read the execution contract (the database lookup failed), so Auto-Yes does not answer until it can; check the server log for policy-lookup-failed',
270
+ // Issue #3790: after the launch window the poller still leaves copilot's and
271
+ // gemini's trust dialogs alone when the cursor is not on the safe row, and
272
+ // nobody else answers them then.
273
+ 'agent-launch-dialog': "while the agent's launch dialog was on screen; if it stays after the launch (copilot's cursor on 2. or 3., gemini's not on 1. Trust folder), answer it at the pane",
258
274
  // Issue #1924. Deliberately not "by contract policy": no contract was
259
275
  // consulted. The frame looked like a numbered list to the generic estimator
260
276
  // and like prose to the tool's own detector, and an operator who reads this
@@ -264,6 +280,19 @@ const SUPPRESSION_CAUSE = {
264
280
  // Auto-Yes answer was stopped with some of its keys already in the input, and
265
281
  // typing it again would append to them, so the prompt waits for a human.
266
282
  'partial-answer': 'because an earlier answer left partial input; Auto-Yes is waiting for a human',
283
+ // Issue #3757. agy's startup folder-trust screen: the launch's to confirm, not
284
+ // Auto-Yes's, and agy drew it after the launch window had ended.
285
+ 'startup-trust-unhandled': "because agy's startup folder-trust confirmation is the launch's to answer, not Auto-Yes's; the next send confirms it once, or answer it at the pane",
286
+ // Issue #3748. The AskUserQuestion confirm page (`Submit` / `Cancel`): the
287
+ // tool's own reader recognised it, and `Submit` commits whatever stands as the
288
+ // answers, so it waits for a human. Was recorded as `unclassified-frame`,
289
+ // whose wording above says the opposite (nothing recognised the frame).
290
+ 'question-confirm-page': "because the question's Submit/Cancel confirmation commits the answers as they stand, so Auto-Yes leaves it to a human",
291
+ // Issue #3767. agy's approval dialog has no matching hook question (none, too
292
+ // late, already on screen, or the hook stopped arriving). Not a contract verdict.
293
+ // Issue #3789: nor one left unused — the last was spent on keys Auto-Yes sent,
294
+ // and a dialog is still up past the grace — so "no unused question" covers both.
295
+ 'no-hook-receipt': "because there is no unused agy hook permission question for this dialog (none arrived in time, or the last one was spent on keys that did not clear it); answer it yourself (auto-yes --disable, prompt --json, respond --expect-screen) or check hooks.json",
267
296
  };
268
297
  /**
269
298
  * {@link SUPPRESSION_CAUSE} for a reason that arrived over the wire.
@@ -303,6 +332,33 @@ function formatSuppressionNotice(suppression, ageSeconds) {
303
332
  const cause = suppressionCause(suppression.reason);
304
333
  return ` auto-yes suppressed this prompt ${cause}: ${parts.join(' ')} (${ageSeconds}s ago)`;
305
334
  }
335
+ /**
336
+ * One stderr line saying Auto-Yes is off on this instance because the server
337
+ * restarted (Issue #3730), or null.
338
+ *
339
+ * Only words: the prompt was going to be reported either way — an instance
340
+ * whose grant the restart released is an instance with Auto-Yes off, and exit
341
+ * 10 for it is exactly the hand-back it always was. What this adds is the WHY,
342
+ * so a delegating agent re-enables Auto-Yes instead of guessing. A server
343
+ * older than the reason sends none, and nothing is printed.
344
+ *
345
+ * The command it suggests names the instance this wait is about: without
346
+ * `--instance`, `auto-yes --enable` arms the worktree's default primary, which
347
+ * for an alias (or a non-default tool) is another instance — the waited-on one
348
+ * would stay off while a grant went somewhere nobody asked for. The instance is
349
+ * the resolved `--instance` when one was given, else the CLI tool the server
350
+ * answered for (a primary's instance ID is its tool ID).
351
+ *
352
+ * @param instanceId - The resolved `--instance` of this wait, if any
353
+ */
354
+ function formatRestartReleaseNotice(worktreeId, data, instanceId) {
355
+ if (data.autoYes?.enabled !== false || data.autoYes.stopReason !== 'server-restart')
356
+ return null;
357
+ const target = instanceId ?? data.cliToolId;
358
+ const command = `commandmate auto-yes ${worktreeId} --enable${target ? ` --instance ${target}` : ''}`;
359
+ return ` auto-yes was released by a server restart on ${worktreeId} (it is not turned back on ` +
360
+ `automatically); re-enable it with \`${command}\` if this session should keep answering.`;
361
+ }
306
362
  /**
307
363
  * One stderr line saying Auto-Yes pressed Enter on THIS prompt (Issue #3397), or
308
364
  * null when the record is absent or about another screen.
@@ -805,6 +861,23 @@ function buildUnclassifiedOutput(worktreeId, data, question) {
805
861
  answerVia: 'terminal',
806
862
  };
807
863
  }
864
+ /**
865
+ * The exit-10 result with the poll's prompt observation added as `observation`
866
+ * (Issue #3755), or the result untouched.
867
+ *
868
+ * Only words added to a payload that is reported anyway: no exit code, hold or
869
+ * grace reads the observation, and a daemon older than the field (no
870
+ * `promptObservation`) gets the payload it always got. `autoYesSuppression`
871
+ * keeps its #1699 meaning beside it; the observation is where the poller's
872
+ * record and the contract's re-evaluation are told apart.
873
+ */
874
+ function withObservation(result, data) {
875
+ if (result.exitCode !== types_1.WaitExitCode.PROMPT_DETECTED || !result.output)
876
+ return result;
877
+ if (!(0, prompt_1.isPromptObservation)(data.promptObservation))
878
+ return result;
879
+ return { ...result, output: { ...result.output, observation: data.promptObservation } };
880
+ }
808
881
  /** The stderr line for a session this wait never saw running (Issue #1628). */
809
882
  function describeNotStarted(worktreeId, data, options) {
810
883
  return (`Not started: ${worktreeId} has no running ${data.cliToolId ?? 'agent'} session` +
@@ -868,6 +941,10 @@ function promptStage(poll, state, data) {
868
941
  const enterNotice = formatEnterFallbackNotice(data, Date.now());
869
942
  if (enterNotice)
870
943
  console.error(enterNotice);
944
+ // Issue #3730: and whether a restart is why nothing is answering it.
945
+ const restartNotice = formatRestartReleaseNotice(worktreeId, data, poll.options.instance);
946
+ if (restartNotice)
947
+ console.error(restartNotice);
871
948
  return { kind: 'wait' };
872
949
  }
873
950
  // Issue #2463: the one case `decidePromptPush()` stays quiet about —
@@ -908,6 +985,10 @@ function promptStage(poll, state, data) {
908
985
  const enterNotice = formatEnterFallbackNotice(data, Date.now());
909
986
  if (enterNotice)
910
987
  console.error(enterNotice);
988
+ // Issue #3730: stderr only as well.
989
+ const restartNotice = formatRestartReleaseNotice(worktreeId, data, poll.options.instance);
990
+ if (restartNotice)
991
+ console.error(restartNotice);
911
992
  return exitWith({ exitCode: types_1.WaitExitCode.PROMPT_DETECTED, output: promptOutput });
912
993
  }
913
994
  return { kind: 'next' };
@@ -929,8 +1010,16 @@ function selectionListStage(poll, data) {
929
1010
  if (suppressed) {
930
1011
  console.error(formatSuppressionNotice(suppressed.suppression, suppressed.ageSeconds));
931
1012
  }
1013
+ // Issue #3730
1014
+ const restartNotice = formatRestartReleaseNotice(worktreeId, data, poll.options.instance);
1015
+ if (restartNotice)
1016
+ console.error(restartNotice);
932
1017
  return { kind: 'wait' };
933
1018
  }
1019
+ // Issue #3730: stderr only; the exit-10 payload is unchanged.
1020
+ const restartNotice = formatRestartReleaseNotice(worktreeId, data, poll.options.instance);
1021
+ if (restartNotice)
1022
+ console.error(restartNotice);
934
1023
  return exitWith({
935
1024
  exitCode: types_1.WaitExitCode.PROMPT_DETECTED,
936
1025
  output: buildSelectionListOutput(worktreeId, data),
@@ -986,12 +1075,18 @@ function unclassifiedStage(poll, state, data) {
986
1075
  const dwellMs = Date.now() - state.unclassifiedSince;
987
1076
  if (dwellMs >= UNCLASSIFIED_DWELL_MS) {
988
1077
  const question = describeUnclassifiedFrame(worktreeId, data, dwellMs);
1078
+ // Issue #3730: why Auto-Yes is not there to answer it, if a restart is why.
1079
+ const restartNotice = formatRestartReleaseNotice(worktreeId, data, poll.options.instance);
989
1080
  if (options.onPrompt === 'human') {
990
1081
  console.error(question);
1082
+ if (restartNotice)
1083
+ console.error(restartNotice);
991
1084
  console.error('Waiting for human response...');
992
1085
  return { kind: 'wait' };
993
1086
  }
994
1087
  console.error(question);
1088
+ if (restartNotice)
1089
+ console.error(restartNotice);
995
1090
  return exitWith({
996
1091
  exitCode: types_1.WaitExitCode.PROMPT_DETECTED,
997
1092
  output: buildUnclassifiedOutput(worktreeId, data, question),
@@ -1330,10 +1425,9 @@ async function pollWorktree(client, worktreeId, options) {
1330
1425
  return deadlineOutcome.result;
1331
1426
  try {
1332
1427
  // Issue #868: scope polling to a specific agent instance when provided.
1333
- const path = options.instance
1334
- ? `/api/worktrees/${worktreeId}/current-output?instance=${encodeURIComponent(options.instance)}`
1335
- : `/api/worktrees/${worktreeId}/current-output`;
1336
- const data = await client.get(path);
1428
+ // Issue #3755: `observe=1` so an exit 10 carries the observation of the
1429
+ // very capture it was decided on (see {@link withObservation}).
1430
+ const data = await client.get((0, prompt_1.observedCurrentOutputPath)(worktreeId, options.instance));
1337
1431
  // Track content changes for stall detection
1338
1432
  if (data.content !== state.lastContent) {
1339
1433
  state.lastContent = data.content;
@@ -1372,7 +1466,7 @@ async function pollWorktree(client, worktreeId, options) {
1372
1466
  }
1373
1467
  const promptOutcome = promptStage(poll, state, data);
1374
1468
  if (promptOutcome.kind === 'exit')
1375
- return promptOutcome.result;
1469
+ return withObservation(promptOutcome.result, data);
1376
1470
  if (promptOutcome.kind === 'wait') {
1377
1471
  await sleep(POLL_INTERVAL_MS);
1378
1472
  continue;
@@ -1387,14 +1481,14 @@ async function pollWorktree(client, worktreeId, options) {
1387
1481
  }
1388
1482
  const selectionListOutcome = selectionListStage(poll, data);
1389
1483
  if (selectionListOutcome.kind === 'exit')
1390
- return selectionListOutcome.result;
1484
+ return withObservation(selectionListOutcome.result, data);
1391
1485
  if (selectionListOutcome.kind === 'wait') {
1392
1486
  await sleep(POLL_INTERVAL_MS);
1393
1487
  continue;
1394
1488
  }
1395
1489
  const unclassifiedOutcome = unclassifiedStage(poll, state, data);
1396
1490
  if (unclassifiedOutcome.kind === 'exit')
1397
- return unclassifiedOutcome.result;
1491
+ return withObservation(unclassifiedOutcome.result, data);
1398
1492
  if (unclassifiedOutcome.kind === 'wait') {
1399
1493
  await sleep(POLL_INTERVAL_MS);
1400
1494
  continue;
@@ -1646,6 +1740,14 @@ A prompt the target's Auto-Yes is answering (Issue #2463):
1646
1740
  would lapse during the grace ends it early with exit 10, not 124.
1647
1741
  --auto-yes-grace 0 restores the immediate exit; --on-prompt human is
1648
1742
  unchanged.
1743
+
1744
+ The observation on exit 10 (Issue #3755):
1745
+ The exit-10 payload also carries "observation": the same payload
1746
+ \`commandmate prompt <id> --json\` prints, read off the capture the exit was
1747
+ decided on — the screen's kind, an observation token, and Auto-Yes as two
1748
+ separate items (the poller's record, the contract re-evaluated now). It
1749
+ changes no exit code, hold or grace. autoYesSuppression keeps its meaning (a
1750
+ record under a minute old); a missing record does not mean Auto-Yes can answer.
1649
1751
  `)
1650
1752
  .action(async (worktreeIds, options) => {
1651
1753
  try {