commandmate 0.47.0 → 0.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (696) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +501 -501
  3. package/.next/app-path-routes-manifest.json +34 -34
  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/server/app/_not-found/page.js +2 -2
  12. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  13. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/agents/update/route.js +2 -2
  15. package/.next/server/app/api/agents/update/route.js.nft.json +1 -1
  16. package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/agents/versions/route.js +1 -1
  18. package/.next/server/app/api/agents/versions/route.js.nft.json +1 -1
  19. package/.next/server/app/api/agents/versions/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/app/release-notes/route.js +1 -1
  21. package/.next/server/app/api/app/release-notes/route.js.nft.json +1 -1
  22. package/.next/server/app/api/app/release-notes/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/app/update/route.js +5 -5
  24. package/.next/server/app/api/app/update/route.js.nft.json +1 -1
  25. package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/app/update-check/route.js +1 -1
  27. package/.next/server/app/api/app/update-check/route.js.nft.json +1 -1
  28. package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/auth/login/route.js +1 -1
  30. package/.next/server/app/api/auth/login/route.js.nft.json +1 -1
  31. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/auth/logout/route.js +1 -1
  33. package/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
  34. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/auth/status/route.js +1 -1
  36. package/.next/server/app/api/auth/status/route.js.nft.json +1 -1
  37. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/capabilities/route.js +1 -1
  39. package/.next/server/app/api/capabilities/route.js.nft.json +1 -1
  40. package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/daily-summary/route.js +1 -1
  42. package/.next/server/app/api/daily-summary/route.js.nft.json +1 -1
  43. package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/daily-summary/status/route.js +1 -1
  45. package/.next/server/app/api/daily-summary/status/route.js.nft.json +1 -1
  46. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/external-apps/[id]/health/route.js +1 -1
  48. package/.next/server/app/api/external-apps/[id]/health/route.js.nft.json +1 -1
  49. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/external-apps/[id]/route.js +1 -1
  51. package/.next/server/app/api/external-apps/[id]/route.js.nft.json +1 -1
  52. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  53. package/.next/server/app/api/external-apps/route.js +1 -1
  54. package/.next/server/app/api/external-apps/route.js.nft.json +1 -1
  55. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  56. package/.next/server/app/api/fs/browse/route.js +1 -1
  57. package/.next/server/app/api/fs/browse/route.js.nft.json +1 -1
  58. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/fs/recent-paths/route.js +1 -1
  60. package/.next/server/app/api/fs/recent-paths/route.js.nft.json +1 -1
  61. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/hooks/agent-event/route.js +2 -2
  63. package/.next/server/app/api/hooks/agent-event/route.js.nft.json +1 -1
  64. package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/hooks/claude-done/route.js +2 -2
  66. package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
  67. package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/hooks/permission-request/route.js +1 -1
  69. package/.next/server/app/api/hooks/permission-request/route.js.nft.json +1 -1
  70. package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/metrics/vibe/route.js +2 -2
  72. package/.next/server/app/api/metrics/vibe/route.js.nft.json +1 -1
  73. package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/ollama/models/route.js +1 -1
  75. package/.next/server/app/api/ollama/models/route.js.nft.json +1 -1
  76. package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/push/escalation/route.js +1 -1
  78. package/.next/server/app/api/push/escalation/route.js.nft.json +1 -1
  79. package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/push/subscriptions/route.js +1 -1
  81. package/.next/server/app/api/push/subscriptions/route.js.nft.json +1 -1
  82. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/push/vapid/route.js +1 -1
  84. package/.next/server/app/api/push/vapid/route.js.nft.json +1 -1
  85. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  86. package/.next/server/app/api/relays/[relayId]/cancel/route.js +1 -1
  87. package/.next/server/app/api/relays/[relayId]/cancel/route.js.nft.json +1 -1
  88. package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/relays/route.js +1 -1
  90. package/.next/server/app/api/relays/route.js.nft.json +1 -1
  91. package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -1
  92. package/.next/server/app/api/remote/pair/route.js +2 -2
  93. package/.next/server/app/api/remote/pair/route.js.nft.json +1 -1
  94. package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
  95. package/.next/server/app/api/repositories/[id]/route.js +1 -1
  96. package/.next/server/app/api/repositories/[id]/route.js.nft.json +1 -1
  97. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  98. package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
  99. package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
  100. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/api/repositories/clone/route.js +1 -1
  102. package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
  103. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  104. package/.next/server/app/api/repositories/excluded/route.js +1 -1
  105. package/.next/server/app/api/repositories/excluded/route.js.nft.json +1 -1
  106. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  107. package/.next/server/app/api/repositories/restore/route.js +1 -1
  108. package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
  109. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  110. package/.next/server/app/api/repositories/route.js +1 -1
  111. package/.next/server/app/api/repositories/route.js.nft.json +1 -1
  112. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  113. package/.next/server/app/api/repositories/scan/route.js +1 -1
  114. package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
  115. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  116. package/.next/server/app/api/repositories/sync/route.js +1 -1
  117. package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
  118. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  119. package/.next/server/app/api/repositories/validate-path/route.js +1 -1
  120. package/.next/server/app/api/repositories/validate-path/route.js.nft.json +1 -1
  121. package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
  122. package/.next/server/app/api/settings/default-agents/route.js +1 -1
  123. package/.next/server/app/api/settings/default-agents/route.js.nft.json +1 -1
  124. package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
  125. package/.next/server/app/api/settings/default-surface-mode/route.js +1 -1
  126. package/.next/server/app/api/settings/default-surface-mode/route.js.nft.json +1 -1
  127. package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
  128. package/.next/server/app/api/sidebar/group-order/route.js +1 -1
  129. package/.next/server/app/api/sidebar/group-order/route.js.nft.json +1 -1
  130. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  131. package/.next/server/app/api/skills/[id]/route.js +1 -1
  132. package/.next/server/app/api/skills/[id]/route.js.nft.json +1 -1
  133. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  134. package/.next/server/app/api/skills/installations/route.js +1 -1
  135. package/.next/server/app/api/skills/installations/route.js.nft.json +1 -1
  136. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
  137. package/.next/server/app/api/skills/operations/route.js +2 -2
  138. package/.next/server/app/api/skills/operations/route.js.nft.json +1 -1
  139. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
  140. package/.next/server/app/api/skills/reindex/route.js +1 -1
  141. package/.next/server/app/api/skills/reindex/route.js.nft.json +1 -1
  142. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
  143. package/.next/server/app/api/skills/route.js +1 -1
  144. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  145. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  146. package/.next/server/app/api/slash-commands/route.js +1 -1
  147. package/.next/server/app/api/slash-commands/route.js.nft.json +1 -1
  148. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  149. package/.next/server/app/api/tasks/[taskId]/cancel/route.js +1 -1
  150. package/.next/server/app/api/tasks/[taskId]/cancel/route.js.nft.json +1 -1
  151. package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  152. package/.next/server/app/api/tasks/[taskId]/route.js +1 -1
  153. package/.next/server/app/api/tasks/[taskId]/route.js.nft.json +1 -1
  154. package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  155. package/.next/server/app/api/templates/[id]/route.js +1 -1
  156. package/.next/server/app/api/templates/[id]/route.js.nft.json +1 -1
  157. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  158. package/.next/server/app/api/templates/route.js +1 -1
  159. package/.next/server/app/api/templates/route.js.nft.json +1 -1
  160. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  161. package/.next/server/app/api/verification/runs/[runId]/route.js +1 -1
  162. package/.next/server/app/api/verification/runs/[runId]/route.js.nft.json +1 -1
  163. package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
  164. package/.next/server/app/api/verification/runs/route.js +1 -1
  165. package/.next/server/app/api/verification/runs/route.js.nft.json +1 -1
  166. package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
  167. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
  168. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
  169. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  170. package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -1
  171. package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
  172. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  173. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js +1 -1
  174. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js.nft.json +1 -1
  175. package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
  176. package/.next/server/app/api/worktrees/[id]/cli-reference/route.js +1 -1
  177. package/.next/server/app/api/worktrees/[id]/cli-reference/route.js.nft.json +1 -1
  178. package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
  179. package/.next/server/app/api/worktrees/[id]/cli-tool/route.js +1 -1
  180. package/.next/server/app/api/worktrees/[id]/cli-tool/route.js.nft.json +1 -1
  181. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  182. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +7 -7
  183. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js.nft.json +1 -1
  184. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  185. package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
  186. package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
  187. package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
  188. package/.next/server/app/api/worktrees/[id]/direct-input/route.js +1 -1
  189. package/.next/server/app/api/worktrees/[id]/direct-input/route.js.nft.json +1 -1
  190. package/.next/server/app/api/worktrees/[id]/direct-input/route_client-reference-manifest.js +1 -1
  191. package/.next/server/app/api/worktrees/[id]/env/route.js +2 -2
  192. package/.next/server/app/api/worktrees/[id]/env/route.js.nft.json +1 -1
  193. package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
  194. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js +1 -1
  195. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js.nft.json +1 -1
  196. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
  197. package/.next/server/app/api/worktrees/[id]/execution-logs/route.js +3 -3
  198. package/.next/server/app/api/worktrees/[id]/execution-logs/route.js.nft.json +1 -1
  199. package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
  200. package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js +1 -1
  201. package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js.nft.json +1 -1
  202. package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
  203. package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js +1 -1
  204. package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js.nft.json +1 -1
  205. package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
  206. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js +1 -1
  207. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js.nft.json +1 -1
  208. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
  209. package/.next/server/app/api/worktrees/[id]/git/branches/route.js +1 -1
  210. package/.next/server/app/api/worktrees/[id]/git/branches/route.js.nft.json +1 -1
  211. package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
  212. package/.next/server/app/api/worktrees/[id]/git/checkout/route.js +1 -1
  213. package/.next/server/app/api/worktrees/[id]/git/checkout/route.js.nft.json +1 -1
  214. package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
  215. package/.next/server/app/api/worktrees/[id]/git/commit/route.js +1 -1
  216. package/.next/server/app/api/worktrees/[id]/git/commit/route.js.nft.json +1 -1
  217. package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
  218. package/.next/server/app/api/worktrees/[id]/git/diff/route.js +1 -1
  219. package/.next/server/app/api/worktrees/[id]/git/diff/route.js.nft.json +1 -1
  220. package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
  221. package/.next/server/app/api/worktrees/[id]/git/fetch/route.js +1 -1
  222. package/.next/server/app/api/worktrees/[id]/git/fetch/route.js.nft.json +1 -1
  223. package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
  224. package/.next/server/app/api/worktrees/[id]/git/log/route.js +1 -1
  225. package/.next/server/app/api/worktrees/[id]/git/log/route.js.nft.json +1 -1
  226. package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
  227. package/.next/server/app/api/worktrees/[id]/git/pull/route.js +1 -1
  228. package/.next/server/app/api/worktrees/[id]/git/pull/route.js.nft.json +1 -1
  229. package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
  230. package/.next/server/app/api/worktrees/[id]/git/push/route.js +1 -1
  231. package/.next/server/app/api/worktrees/[id]/git/push/route.js.nft.json +1 -1
  232. package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
  233. package/.next/server/app/api/worktrees/[id]/git/reset/route.js +1 -1
  234. package/.next/server/app/api/worktrees/[id]/git/reset/route.js.nft.json +1 -1
  235. package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
  236. package/.next/server/app/api/worktrees/[id]/git/revert/route.js +1 -1
  237. package/.next/server/app/api/worktrees/[id]/git/revert/route.js.nft.json +1 -1
  238. package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
  239. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js +1 -1
  240. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js.nft.json +1 -1
  241. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
  242. package/.next/server/app/api/worktrees/[id]/git/stage/route.js +1 -1
  243. package/.next/server/app/api/worktrees/[id]/git/stage/route.js.nft.json +1 -1
  244. package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
  245. package/.next/server/app/api/worktrees/[id]/git/staged/route.js +1 -1
  246. package/.next/server/app/api/worktrees/[id]/git/staged/route.js.nft.json +1 -1
  247. package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
  248. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js +1 -1
  249. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js.nft.json +1 -1
  250. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
  251. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js +1 -1
  252. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js.nft.json +1 -1
  253. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
  254. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js +1 -1
  255. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js.nft.json +1 -1
  256. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
  257. package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js +1 -1
  258. package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js.nft.json +1 -1
  259. package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
  260. package/.next/server/app/api/worktrees/[id]/git/stash/route.js +1 -1
  261. package/.next/server/app/api/worktrees/[id]/git/stash/route.js.nft.json +1 -1
  262. package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
  263. package/.next/server/app/api/worktrees/[id]/git/status/route.js +1 -1
  264. package/.next/server/app/api/worktrees/[id]/git/status/route.js.nft.json +1 -1
  265. package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
  266. package/.next/server/app/api/worktrees/[id]/git/unstage/route.js +1 -1
  267. package/.next/server/app/api/worktrees/[id]/git/unstage/route.js.nft.json +1 -1
  268. package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
  269. package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js +1 -1
  270. package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js.nft.json +1 -1
  271. package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
  272. package/.next/server/app/api/worktrees/[id]/instances/notes/route.js +1 -1
  273. package/.next/server/app/api/worktrees/[id]/instances/notes/route.js.nft.json +1 -1
  274. package/.next/server/app/api/worktrees/[id]/instances/notes/route_client-reference-manifest.js +1 -1
  275. package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js +1 -1
  276. package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js.nft.json +1 -1
  277. package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
  278. package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
  279. package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
  280. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  281. package/.next/server/app/api/worktrees/[id]/kill-session/route.js +1 -1
  282. package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
  283. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  284. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js +1 -1
  285. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js.nft.json +1 -1
  286. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  287. package/.next/server/app/api/worktrees/[id]/logs/route.js +1 -1
  288. package/.next/server/app/api/worktrees/[id]/logs/route.js.nft.json +1 -1
  289. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  290. package/.next/server/app/api/worktrees/[id]/marp-render/route.js +3 -3
  291. package/.next/server/app/api/worktrees/[id]/marp-render/route.js.nft.json +1 -1
  292. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  293. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js +1 -1
  294. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js.nft.json +1 -1
  295. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  296. package/.next/server/app/api/worktrees/[id]/memos/route.js +1 -1
  297. package/.next/server/app/api/worktrees/[id]/memos/route.js.nft.json +1 -1
  298. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  299. package/.next/server/app/api/worktrees/[id]/messages/route.js +1 -1
  300. package/.next/server/app/api/worktrees/[id]/messages/route.js.nft.json +1 -1
  301. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  302. package/.next/server/app/api/worktrees/[id]/opencode/diff/route.js +1 -1
  303. package/.next/server/app/api/worktrees/[id]/opencode/diff/route.js.nft.json +1 -1
  304. package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
  305. package/.next/server/app/api/worktrees/[id]/opencode/session/route.js +1 -1
  306. package/.next/server/app/api/worktrees/[id]/opencode/session/route.js.nft.json +1 -1
  307. package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
  308. package/.next/server/app/api/worktrees/[id]/opencode/share/route.js +1 -1
  309. package/.next/server/app/api/worktrees/[id]/opencode/share/route.js.nft.json +1 -1
  310. package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
  311. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
  312. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
  313. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  314. package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route.js +1 -1
  315. package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route.js.nft.json +1 -1
  316. package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route_client-reference-manifest.js +1 -1
  317. package/.next/server/app/api/worktrees/[id]/resolve-target/route.js +1 -1
  318. package/.next/server/app/api/worktrees/[id]/resolve-target/route.js.nft.json +1 -1
  319. package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
  320. package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
  321. package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
  322. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  323. package/.next/server/app/api/worktrees/[id]/route.js +1 -1
  324. package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
  325. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  326. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +2 -2
  327. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js.nft.json +1 -1
  328. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  329. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +1 -1
  330. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js.nft.json +1 -1
  331. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  332. package/.next/server/app/api/worktrees/[id]/schedules/route.js +3 -3
  333. package/.next/server/app/api/worktrees/[id]/schedules/route.js.nft.json +1 -1
  334. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  335. package/.next/server/app/api/worktrees/[id]/search/route.js +1 -1
  336. package/.next/server/app/api/worktrees/[id]/search/route.js.nft.json +1 -1
  337. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  338. package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
  339. package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
  340. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  341. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js +5 -5
  342. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
  343. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
  344. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js +1 -1
  345. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js.nft.json +1 -1
  346. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  347. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js +1 -1
  348. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js.nft.json +1 -1
  349. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  350. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js +1 -1
  351. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js.nft.json +1 -1
  352. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  353. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js +1 -1
  354. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js.nft.json +1 -1
  355. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  356. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route.js +1 -1
  357. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route.js.nft.json +1 -1
  358. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
  359. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js +1 -1
  360. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js.nft.json +1 -1
  361. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
  362. package/.next/server/app/api/worktrees/[id]/skills/route.js +1 -1
  363. package/.next/server/app/api/worktrees/[id]/skills/route.js.nft.json +1 -1
  364. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  365. package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
  366. package/.next/server/app/api/worktrees/[id]/slash-commands/route.js.nft.json +1 -1
  367. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  368. package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
  369. package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
  370. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  371. package/.next/server/app/api/worktrees/[id]/tasks/route.js +2 -2
  372. package/.next/server/app/api/worktrees/[id]/tasks/route.js.nft.json +1 -1
  373. package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
  374. package/.next/server/app/api/worktrees/[id]/terminal/route.js +1 -103
  375. package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
  376. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  377. package/.next/server/app/api/worktrees/[id]/timers/history/route.js +1 -1
  378. package/.next/server/app/api/worktrees/[id]/timers/history/route.js.nft.json +1 -1
  379. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  380. package/.next/server/app/api/worktrees/[id]/timers/route.js +1 -1
  381. package/.next/server/app/api/worktrees/[id]/timers/route.js.nft.json +1 -1
  382. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  383. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js +1 -1
  384. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js.nft.json +1 -1
  385. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  386. package/.next/server/app/api/worktrees/[id]/todos/route.js +1 -1
  387. package/.next/server/app/api/worktrees/[id]/todos/route.js.nft.json +1 -1
  388. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  389. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.js +1 -1
  390. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.js.nft.json +1 -1
  391. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  392. package/.next/server/app/api/worktrees/[id]/tree/route.js +1 -1
  393. package/.next/server/app/api/worktrees/[id]/tree/route.js.nft.json +1 -1
  394. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  395. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route.js +1 -1
  396. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route.js.nft.json +1 -1
  397. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  398. package/.next/server/app/api/worktrees/[id]/verify/config/route.js +2 -2
  399. package/.next/server/app/api/worktrees/[id]/verify/config/route.js.nft.json +1 -1
  400. package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
  401. package/.next/server/app/api/worktrees/[id]/verify/route.js +1 -1
  402. package/.next/server/app/api/worktrees/[id]/verify/route.js.nft.json +1 -1
  403. package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
  404. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js +1 -1
  405. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js.nft.json +1 -1
  406. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
  407. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js +1 -1
  408. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js.nft.json +1 -1
  409. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
  410. package/.next/server/app/api/worktrees/[id]/verify/runs/route.js +1 -1
  411. package/.next/server/app/api/worktrees/[id]/verify/runs/route.js.nft.json +1 -1
  412. package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
  413. package/.next/server/app/api/worktrees/[id]/viewed/route.js +1 -1
  414. package/.next/server/app/api/worktrees/[id]/viewed/route.js.nft.json +1 -1
  415. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  416. package/.next/server/app/api/worktrees/apply-default-agents/route.js +1 -1
  417. package/.next/server/app/api/worktrees/apply-default-agents/route.js.nft.json +1 -1
  418. package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
  419. package/.next/server/app/api/worktrees/route.js +1 -1
  420. package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
  421. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  422. package/.next/server/app/apple-icon.png/route.js +1 -1
  423. package/.next/server/app/apple-icon.png/route.js.nft.json +1 -1
  424. package/.next/server/app/apple-icon.png.meta +1 -1
  425. package/.next/server/app/icon.png/route.js +1 -1
  426. package/.next/server/app/icon.png/route.js.nft.json +1 -1
  427. package/.next/server/app/icon.png.meta +1 -1
  428. package/.next/server/app/icon1.png/route.js +1 -1
  429. package/.next/server/app/icon1.png/route.js.nft.json +1 -1
  430. package/.next/server/app/icon1.png.meta +1 -1
  431. package/.next/server/app/icon2.png/route.js +1 -1
  432. package/.next/server/app/icon2.png/route.js.nft.json +1 -1
  433. package/.next/server/app/icon2.png.meta +1 -1
  434. package/.next/server/app/login/page.js +2 -2
  435. package/.next/server/app/login/page.js.nft.json +1 -1
  436. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  437. package/.next/server/app/manifest.webmanifest/route.js +2 -2
  438. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  439. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  440. package/.next/server/app/manifest.webmanifest.meta +1 -1
  441. package/.next/server/app/more/page.js +2 -2
  442. package/.next/server/app/more/page.js.nft.json +1 -1
  443. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  444. package/.next/server/app/offline/page.js +2 -2
  445. package/.next/server/app/offline/page.js.nft.json +1 -1
  446. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  447. package/.next/server/app/page.js +2 -2
  448. package/.next/server/app/page.js.nft.json +1 -1
  449. package/.next/server/app/page_client-reference-manifest.js +1 -1
  450. package/.next/server/app/proxy/[...path]/route.js +1 -1
  451. package/.next/server/app/proxy/[...path]/route.js.nft.json +1 -1
  452. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  453. package/.next/server/app/repositories/page.js +2 -2
  454. package/.next/server/app/repositories/page.js.nft.json +1 -1
  455. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  456. package/.next/server/app/review/page.js +2 -2
  457. package/.next/server/app/review/page.js.nft.json +1 -1
  458. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  459. package/.next/server/app/sessions/page.js +2 -2
  460. package/.next/server/app/sessions/page.js.nft.json +1 -1
  461. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  462. package/.next/server/app/skills/[skillId]/page.js +2 -2
  463. package/.next/server/app/skills/[skillId]/page.js.nft.json +1 -1
  464. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  465. package/.next/server/app/skills/installed/page.js +2 -2
  466. package/.next/server/app/skills/installed/page.js.nft.json +1 -1
  467. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
  468. package/.next/server/app/skills/page.js +2 -2
  469. package/.next/server/app/skills/page.js.nft.json +1 -1
  470. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  471. package/.next/server/app/worktrees/[id]/files/[...path]/page.js +2 -2
  472. package/.next/server/app/worktrees/[id]/files/[...path]/page.js.nft.json +1 -1
  473. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  474. package/.next/server/app/worktrees/[id]/page.js +12 -12
  475. package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
  476. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  477. package/.next/server/app/worktrees/[id]/terminal/page.js +3 -3
  478. package/.next/server/app/worktrees/[id]/terminal/page.js.nft.json +1 -1
  479. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  480. package/.next/server/app-paths-manifest.json +34 -34
  481. package/.next/server/chunks/{5048.js → 1185.js} +1 -1
  482. package/.next/server/chunks/1191.js +11 -4
  483. package/.next/server/chunks/1501.js +1 -1
  484. package/.next/server/chunks/1601.js +2 -2
  485. package/.next/server/chunks/1656.js +19 -0
  486. package/.next/server/chunks/1945.js +3 -3
  487. package/.next/server/chunks/1990.js +103 -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 -1
  491. package/.next/server/chunks/2445.js +1 -1
  492. package/.next/server/chunks/2534.js +1 -1
  493. package/.next/server/chunks/255.js +1 -0
  494. package/.next/server/chunks/3241.js +1 -1
  495. package/.next/server/chunks/3505.js +7 -0
  496. package/.next/server/chunks/3897.js +22 -0
  497. package/.next/server/chunks/4072.js +5 -5
  498. package/.next/server/chunks/4248.js +1 -1
  499. package/.next/server/chunks/4280.js +1 -0
  500. package/.next/server/chunks/463.js +1 -0
  501. package/.next/server/chunks/5209.js +1 -1
  502. package/.next/server/chunks/5611.js +1 -1
  503. package/.next/server/chunks/6119.js +1 -0
  504. package/.next/server/chunks/6130.js +1 -1
  505. package/.next/server/chunks/6345.js +1 -1
  506. package/.next/server/chunks/6401.js +1 -1
  507. package/.next/server/chunks/6486.js +9 -8
  508. package/.next/server/chunks/6781.js +1 -1
  509. package/.next/server/chunks/6784.js +1 -0
  510. package/.next/server/chunks/720.js +103 -0
  511. package/.next/server/chunks/7604.js +2 -0
  512. package/.next/server/chunks/7905.js +1 -1
  513. package/.next/server/chunks/8581.js +7 -7
  514. package/.next/server/chunks/8728.js +3 -3
  515. package/.next/server/chunks/8791.js +1 -1
  516. package/.next/server/chunks/8807.js +19 -18
  517. package/.next/server/chunks/8918.js +2 -104
  518. package/.next/server/chunks/9130.js +1 -1
  519. package/.next/server/chunks/936.js +1 -1
  520. package/.next/server/chunks/9390.js +1 -1
  521. package/.next/server/chunks/9540.js +1 -1
  522. package/.next/server/chunks/9627.js +4 -4
  523. package/.next/server/chunks/9731.js +3 -3
  524. package/.next/server/middleware-build-manifest.js +1 -1
  525. package/.next/server/middleware-manifest.json +5 -5
  526. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  527. package/.next/server/pages/500.html +1 -1
  528. package/.next/server/pages/_document.js.nft.json +1 -1
  529. package/.next/server/pages/_error.js +3 -3
  530. package/.next/server/pages/_error.js.nft.json +1 -1
  531. package/.next/server/server-reference-manifest.json +1 -1
  532. package/.next/server/src/middleware.js.map +1 -1
  533. package/.next/static/chunks/{1111.5ab4f0ffb0d944e5.js → 1111.1b653d4a9816a0a7.js} +8 -8
  534. package/.next/static/chunks/{1255-7e5873f06b25e129.js → 1255-a85690d352f4f8fd.js} +1 -1
  535. package/.next/static/chunks/2099-c3e0ab70a1b95dd3.js +1 -0
  536. package/.next/static/chunks/{2407-b2f524f99f7fc353.js → 2407-26139a8a2f1adbe8.js} +1 -1
  537. package/.next/static/chunks/{2619-04bc32f026a0d946.js → 2619-a305ad4810f1393a.js} +1 -1
  538. package/.next/static/chunks/{2863-6a07ec82fb52f4dd.js → 2863-f0121af1cbbedb3b.js} +1 -1
  539. package/.next/static/chunks/{8165-263172c17ae8e8c3.js → 8165-c68b3dc844210e6a.js} +1 -1
  540. package/.next/static/chunks/8407-35bbfc84793d7004.js +1 -0
  541. package/.next/static/chunks/9079-406b84d3cc891a87.js +1 -0
  542. package/.next/static/chunks/9465-b59bb255b376c813.js +1 -0
  543. package/.next/static/chunks/app/{layout-419eaf7de340f4ab.js → layout-46b4cbf07520d9b6.js} +1 -1
  544. package/.next/static/chunks/app/sessions/page-fb241bed579c67aa.js +1 -0
  545. package/.next/static/chunks/app/worktrees/[id]/page-cbc7749a33450cc5.js +1 -0
  546. package/.next/static/chunks/app/worktrees/[id]/terminal/{page-373ea37b16d930c7.js → page-c601f3b3ece6557e.js} +1 -1
  547. package/.next/static/chunks/main-37ca13e38030fe8b.js +1 -0
  548. package/.next/static/chunks/{webpack-468b7b33030234b3.js → webpack-838df0273b03af19.js} +1 -1
  549. package/.next/trace +13 -13
  550. package/dist/cli/commands/auto-yes.d.ts +24 -0
  551. package/dist/cli/commands/auto-yes.d.ts.map +1 -1
  552. package/dist/cli/commands/auto-yes.js +73 -3
  553. package/dist/cli/commands/instances.d.ts.map +1 -1
  554. package/dist/cli/commands/instances.js +10 -1
  555. package/dist/cli/commands/prompt.d.ts.map +1 -1
  556. package/dist/cli/commands/prompt.js +28 -14
  557. package/dist/cli/commands/send.d.ts.map +1 -1
  558. package/dist/cli/commands/send.js +15 -0
  559. package/dist/cli/commands/wait.d.ts.map +1 -1
  560. package/dist/cli/commands/wait.js +108 -14
  561. package/dist/cli/docs/agent-operations.d.ts +2 -2
  562. package/dist/cli/docs/agent-operations.d.ts.map +1 -1
  563. package/dist/cli/docs/agent-operations.js +27 -0
  564. package/dist/cli/types/api-responses.d.ts +131 -4
  565. package/dist/cli/types/api-responses.d.ts.map +1 -1
  566. package/dist/cli/types/index.d.ts +4 -0
  567. package/dist/cli/types/index.d.ts.map +1 -1
  568. package/dist/cli/utils/resource-resolvers.d.ts +0 -18
  569. package/dist/cli/utils/resource-resolvers.d.ts.map +1 -1
  570. package/dist/cli/utils/resource-resolvers.js +1 -51
  571. package/dist/lib/polling/auto-yes-suppression-reason.d.ts +65 -2
  572. package/dist/lib/polling/auto-yes-suppression-reason.d.ts.map +1 -1
  573. package/dist/lib/polling/auto-yes-suppression-reason.js +36 -2
  574. package/dist/lib/prompt-observation/types.d.ts +13 -0
  575. package/dist/lib/prompt-observation/types.d.ts.map +1 -1
  576. package/dist/server/locales/en/worktree.json +2 -1
  577. package/dist/server/locales/ja/worktree.json +2 -1
  578. package/dist/server/src/lib/auto-yes-poller-answer-target.js +38 -0
  579. package/dist/server/src/lib/auto-yes-poller-keys.js +35 -0
  580. package/dist/server/src/lib/auto-yes-poller-session-presence.js +26 -0
  581. package/dist/server/src/lib/auto-yes-poller-tick.js +233 -0
  582. package/dist/server/src/lib/auto-yes-poller.js +468 -792
  583. package/dist/server/src/lib/auto-yes-state.js +50 -2
  584. package/dist/server/src/lib/cli-tools/submit-verified-sender.js +107 -14
  585. package/dist/server/src/lib/db/chat-db.js +5 -1
  586. package/dist/server/src/lib/db/verification-db.js +23 -2
  587. package/dist/server/src/lib/detection/option-recommendation.js +120 -0
  588. package/dist/server/src/lib/detection/prompt-detect-multiple-choice-approval-context.js +290 -0
  589. package/dist/server/src/lib/detection/prompt-detect-multiple-choice.js +396 -268
  590. package/dist/server/src/lib/detection/prompt-detector.js +92 -21
  591. package/dist/server/src/lib/detection/prompt-screen-key.js +60 -0
  592. package/dist/server/src/lib/detection/tools/antigravity/dialog.js +158 -35
  593. package/dist/server/src/lib/detection/tools/claude/detect.js +111 -10
  594. package/dist/server/src/lib/detection/tools/command-code/dialog.js +67 -0
  595. package/dist/server/src/lib/detection/tools/dialog-block.js +16 -0
  596. package/dist/server/src/lib/detection/waiting-screen-reading.js +98 -0
  597. package/dist/server/src/lib/hooks/permission-adjudication.js +26 -0
  598. package/dist/server/src/lib/hooks/permission-decision-service.js +49 -4
  599. package/dist/server/src/lib/hooks/permission-request-payload.js +20 -0
  600. package/dist/server/src/lib/hooks/sources/antigravity/source.js +21 -0
  601. package/dist/server/src/lib/hooks/sources/claude/source.js +3 -0
  602. package/dist/server/src/lib/hooks/sources/codex/source.js +2 -0
  603. package/dist/server/src/lib/hooks/sources/command-code/source.js +2 -0
  604. package/dist/server/src/lib/hooks/sources/copilot/source.js +2 -0
  605. package/dist/server/src/lib/hooks/sources/gemini/source.js +2 -0
  606. package/dist/server/src/lib/hooks/sources/legacy-relay.js +2 -0
  607. package/dist/server/src/lib/hooks/sources/opencode/ingest.js +6 -0
  608. package/dist/server/src/lib/hooks/sources/opencode/source.js +2 -0
  609. package/dist/server/src/lib/hooks/sources/opencode-v2/ingest.js +6 -0
  610. package/dist/server/src/lib/hooks/sources/opencode-v2/source.js +2 -0
  611. package/dist/server/src/lib/hooks/sources/pending-decisions.js +14 -2
  612. package/dist/server/src/lib/polling/antigravity-permission-receipts.js +14 -3
  613. package/dist/server/src/lib/polling/antigravity-receipt-episodes.js +21 -1
  614. package/dist/server/src/lib/polling/auto-yes-confirm-page.js +2 -2
  615. package/dist/server/src/lib/polling/auto-yes-confirmation-ledger-types.js +117 -0
  616. package/dist/server/src/lib/polling/auto-yes-confirmation-ledger.js +1091 -0
  617. package/dist/server/src/lib/polling/auto-yes-decision-state.js +195 -0
  618. package/dist/server/src/lib/polling/auto-yes-dialog-gate.js +139 -10
  619. package/dist/server/src/lib/polling/auto-yes-enter-fallback.js +14 -0
  620. package/dist/server/src/lib/polling/auto-yes-ledger-records.js +143 -0
  621. package/dist/server/src/lib/polling/auto-yes-manual-answer.js +122 -0
  622. package/dist/server/src/lib/polling/auto-yes-option-effect.js +157 -0
  623. package/dist/server/src/lib/polling/auto-yes-policy.js +46 -11
  624. package/dist/server/src/lib/polling/auto-yes-poller-capture.js +63 -0
  625. package/dist/server/src/lib/polling/auto-yes-poller-enter-fallback.js +37 -0
  626. package/dist/server/src/lib/polling/auto-yes-poller-generation.js +192 -0
  627. package/dist/server/src/lib/polling/auto-yes-poller-receipt-log.js +324 -0
  628. package/dist/server/src/lib/polling/auto-yes-poller-state.js +193 -26
  629. package/dist/server/src/lib/polling/auto-yes-poller-steps.js +279 -0
  630. package/dist/server/src/lib/polling/auto-yes-prompt-suppression.js +13 -2
  631. package/dist/server/src/lib/polling/auto-yes-question-choice.js +57 -0
  632. package/dist/server/src/lib/polling/auto-yes-resolver.js +117 -22
  633. package/dist/server/src/lib/polling/auto-yes-suppression-reason.js +36 -2
  634. package/dist/server/src/lib/polling/auto-yes-suppression-state.js +25 -1
  635. package/dist/server/src/lib/polling/prompt-screen-reading.js +232 -0
  636. package/dist/server/src/lib/polling/response-checker-blank-response.js +30 -0
  637. package/dist/server/src/lib/polling/response-checker-dialog-gate.js +39 -0
  638. package/dist/server/src/lib/polling/response-checker.js +138 -53
  639. package/dist/server/src/lib/prompt-answer-sender.js +104 -10
  640. package/dist/server/src/lib/prompt-observation/appearance.js +165 -0
  641. package/dist/server/src/lib/push/notification-dedup.js +15 -2
  642. package/dist/server/src/lib/push/prompt-card-state.js +140 -19
  643. package/dist/server/src/lib/push/prompt-push-gate.js +158 -12
  644. package/dist/server/src/lib/push/push-sender.js +23 -3
  645. package/dist/server/src/lib/push/resolution-push-notifier.js +14 -0
  646. package/dist/server/src/lib/push/waiting-push-notifier.js +139 -17
  647. package/dist/server/src/lib/realtime/terminal-broadcast.js +16 -0
  648. package/dist/server/src/lib/session/agent-event-state.js +25 -5
  649. package/dist/server/src/lib/session/agent-event-turn.js +140 -46
  650. package/dist/server/src/lib/session/cli-session.js +21 -2
  651. package/dist/server/src/lib/session/current-output-builder.js +64 -11
  652. package/dist/server/src/lib/session/send-attempt-state.js +23 -7
  653. package/dist/server/src/lib/session/waiting-episode-binding-observation.js +289 -0
  654. package/dist/server/src/lib/session/waiting-episode-binding-resolve.js +38 -0
  655. package/dist/server/src/lib/session/waiting-episode-binding.js +276 -0
  656. package/dist/server/src/lib/session/waiting-episode-state.js +307 -17
  657. package/dist/server/src/lib/session/waiting-episode-verdict.js +174 -0
  658. package/dist/server/src/lib/tmux/tmux-capture-cache.js +76 -11
  659. package/dist/server/src/lib/tmux/tmux.js +54 -9
  660. package/dist/server/src/lib/verification/gate-runner.js +162 -13
  661. package/dist/server/src/lib/verification/machine-lock.js +5 -0
  662. package/dist/server/src/lib/ws-server.js +18 -3
  663. package/dist/server/src/types/auto-yes-answer-mode.js +38 -0
  664. package/dist/server/src/types/auto-yes-decision.js +61 -0
  665. package/dist/server/src/types/auto-yes.js +6 -0
  666. package/dist/server/src/types/prompt-reading.js +32 -0
  667. package/dist/types/auto-yes-answer-mode.d.ts +35 -0
  668. package/dist/types/auto-yes-answer-mode.d.ts.map +1 -0
  669. package/dist/types/auto-yes-answer-mode.js +38 -0
  670. package/docs/en/user-guide/webapp-guide.md +33 -4
  671. package/package.json +2 -2
  672. package/public/sw.js +76 -4
  673. package/release-notes/0.47.1.json +20 -0
  674. package/release-notes/0.47.2.json +20 -0
  675. package/release-notes/0.48.0.json +57 -0
  676. package/scripts/hooks/cmate-agent-event.sh +22 -0
  677. package/.next/server/chunks/1331.js +0 -22
  678. package/.next/server/chunks/1559.js +0 -2
  679. package/.next/server/chunks/1836.js +0 -1
  680. package/.next/server/chunks/1944.js +0 -1
  681. package/.next/server/chunks/2328.js +0 -1
  682. package/.next/server/chunks/2460.js +0 -1
  683. package/.next/server/chunks/5292.js +0 -7
  684. package/.next/server/chunks/5595.js +0 -1
  685. package/.next/server/chunks/7166.js +0 -19
  686. package/.next/server/chunks/9051.js +0 -1
  687. package/.next/server/chunks/9199.js +0 -1
  688. package/.next/static/chunks/602-1c1488959215e140.js +0 -1
  689. package/.next/static/chunks/8407-155f84e5ba05f1d5.js +0 -1
  690. package/.next/static/chunks/9079-24f9fa549ed298f1.js +0 -1
  691. package/.next/static/chunks/9465-e5a351baa941f31b.js +0 -1
  692. package/.next/static/chunks/app/sessions/page-e02f1adb1d1c1ccc.js +0 -1
  693. package/.next/static/chunks/app/worktrees/[id]/page-45294052ee3032f1.js +0 -1
  694. package/.next/static/chunks/main-ac91ed6e71380841.js +0 -1
  695. /package/.next/static/{b5BiQC9F6r_XFPdA9cuSj → PTlAswXLq8PAe2vUJ8dVP}/_buildManifest.js +0 -0
  696. /package/.next/static/{b5BiQC9F6r_XFPdA9cuSj → PTlAswXLq8PAe2vUJ8dVP}/_ssgManifest.js +0 -0
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ /**
3
+ * How Auto-Yes answers a question the agent asks (Issue #3863).
4
+ *
5
+ * - `recommended` (おまかせ, the default) — a single-select question on the
6
+ * screen is answered too: the option whose title ends in a recommendation
7
+ * marker (`(Recommended)` / `(推奨)` / `(推奨)`), or the default (the
8
+ * cursor, else option 1) when none does. A question it cannot read that far
9
+ * (two markers, a marker on a free-text or multi-select row, a title it
10
+ * cannot tell from its description) is left to a human.
11
+ * - `careful` (慎重) — a question is never answered; it is left to a human
12
+ * (`question-left-to-human`).
13
+ *
14
+ * The two differ only there. Permissions are answered alike (the one "allow
15
+ * this call once" row, #3822), and what a contract's `autoYes` block withholds
16
+ * stays withheld under either (the contract is the ceiling; the answer mode is
17
+ * below it).
18
+ *
19
+ * Set each time Auto-Yes is turned on (worktree × instance). Turning it on
20
+ * from off — or after it ran out — starts at `recommended` unless a mode is
21
+ * given; turning it on again while it is on keeps the mode it has.
22
+ *
23
+ * Dependency-free so the CLI build (`tsconfig.cli.json`, no path aliases) can
24
+ * import it by a relative path.
25
+ *
26
+ * @module types/auto-yes-answer-mode
27
+ */
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.DEFAULT_AUTO_YES_ANSWER_MODE = exports.AUTO_YES_ANSWER_MODES = void 0;
30
+ exports.isAutoYesAnswerMode = isAutoYesAnswerMode;
31
+ /** Every {@link AutoYesAnswerMode}, the default first. */
32
+ exports.AUTO_YES_ANSWER_MODES = ['recommended', 'careful'];
33
+ /** The mode of a grant that names none: one turned on without a mode, or kept from before the field. */
34
+ exports.DEFAULT_AUTO_YES_ANSWER_MODE = 'recommended';
35
+ /** Type guard for a value read off a request body or the wire. */
36
+ function isAutoYesAnswerMode(value) {
37
+ return value === 'recommended' || value === 'careful';
38
+ }
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ /**
3
+ * Auto-Yes's decision about the confirmation on screen, as published
4
+ * (Issue #3821).
5
+ *
6
+ * The server's Auto-Yes poller is the only thing that answers a screen
7
+ * confirmation automatically (the browser no longer does, and the Enter on an
8
+ * unreadable screen is gone). What it decided for the confirmation it last
9
+ * judged is published next to the prompt it was judged for, so the answer
10
+ * surfaces know whether a human has to answer it:
11
+ *
12
+ * - `answering` — an automatic answer to this confirmation is under way (being
13
+ * sent, or sent and the screen not redrawn yet);
14
+ * - `withheld` — Auto-Yes has left this confirmation to a human, with a
15
+ * `reason` (the contract, a screen it cannot read, a question, no poller
16
+ * running for the instance, …);
17
+ * - `none` — no confirmation, or one not judged yet. Never read as answering.
18
+ *
19
+ * Client-safe: no imports but the dependency-free answer mode (Issue #3863),
20
+ * so the browser hooks and the server read one shape.
21
+ *
22
+ * @module types/auto-yes-decision
23
+ */
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.NO_AUTO_ANSWER_DECISION_REASON = exports.SERVER_POLLER_INACTIVE_DECISION_REASON = void 0;
26
+ exports.isAutoYesAnswering = isAutoYesAnswering;
27
+ exports.laterAutoYesDecision = laterAutoYesDecision;
28
+ /** The reasons this record adds to the poller's suppression reasons. */
29
+ exports.SERVER_POLLER_INACTIVE_DECISION_REASON = 'server-poller-inactive';
30
+ exports.NO_AUTO_ANSWER_DECISION_REASON = 'no-auto-answer';
31
+ /**
32
+ * Whether the answer panel may stay hidden under Auto-Yes for a prompt with
33
+ * this decision: only while an automatic answer is under way. A missing
34
+ * decision (an older server, a delivery path that did not carry it) is not
35
+ * `answering`.
36
+ */
37
+ function isAutoYesAnswering(decision) {
38
+ return decision?.state === 'answering';
39
+ }
40
+ /**
41
+ * Of two decisions about the SAME prompt window, the one observed later
42
+ * (Issue #3821). The HTTP poll and the push deliver the same payload over two
43
+ * paths whose arrival order is not their build order; a decision observed
44
+ * before the one already applied is not applied over it.
45
+ *
46
+ * Only for the same confirmation (`confirmation`): a window with the same
47
+ * question and options may approve something else, and a decision about
48
+ * another confirmation — or one that does not say which (`confirmation`
49
+ * absent on one side only) — is dropped for the one this delivery carries,
50
+ * whatever their times. Two without the field are compared by time.
51
+ *
52
+ * @param previous - What is applied now for this window, if anything
53
+ * @param next - What this delivery carries
54
+ */
55
+ function laterAutoYesDecision(previous, next) {
56
+ if (previous === undefined || next === undefined)
57
+ return next;
58
+ if ((previous.confirmation ?? null) !== (next.confirmation ?? null))
59
+ return next;
60
+ return next.observedAt < previous.observedAt ? previous : next;
61
+ }
@@ -10,3 +10,9 @@
10
10
  * `AutoYesToggleParams` from the component keep working unchanged.
11
11
  */
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.isAutoYesAnswerMode = exports.DEFAULT_AUTO_YES_ANSWER_MODE = exports.AUTO_YES_ANSWER_MODES = void 0;
14
+ // Issue #3863: the answer mode, declared dependency-free for the CLI build.
15
+ var auto_yes_answer_mode_1 = require("./auto-yes-answer-mode");
16
+ Object.defineProperty(exports, "AUTO_YES_ANSWER_MODES", { enumerable: true, get: function () { return auto_yes_answer_mode_1.AUTO_YES_ANSWER_MODES; } });
17
+ Object.defineProperty(exports, "DEFAULT_AUTO_YES_ANSWER_MODE", { enumerable: true, get: function () { return auto_yes_answer_mode_1.DEFAULT_AUTO_YES_ANSWER_MODE; } });
18
+ Object.defineProperty(exports, "isAutoYesAnswerMode", { enumerable: true, get: function () { return auto_yes_answer_mode_1.isAutoYesAnswerMode; } });
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ /**
3
+ * What a prompt screen was READ as, kept beside the prompt (Issue #3881).
4
+ *
5
+ * The detectors hand on `PromptData` — a question, options, and the deny
6
+ * surface — and drop what they knew about the screen while reading it: which
7
+ * kind of dialog it was, which rows were live, whether the approval target is
8
+ * the whole of what the panel asks about. Each later path then decided those
9
+ * again from the cut-down strings, and they disagreed: the chat transcript drew
10
+ * Claude's 16-column `Ready to submit your answers?` page — which the Auto-Yes
11
+ * poller leaves to a human as `question-confirm-page` — as a tool approval,
12
+ * because the stored options read `Submit` / `Cancel` and the review list was
13
+ * cut off the stored question.
14
+ *
15
+ * So the reading is decided once, where the frame is still in hand (the
16
+ * response poller's save, `polling/prompt-screen-reading`), and stored with
17
+ * the row. Readers take it as stated and never derive it again from the text;
18
+ * a row without one (written before #3881, or by a producer that has no frame)
19
+ * goes through each reader's own compatibility rules, explicitly.
20
+ *
21
+ * Types only: imported by `types/models` and by client code.
22
+ *
23
+ * @module types/prompt-reading
24
+ */
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.PROMPT_READING_VERSION = void 0;
27
+ /**
28
+ * The version of {@link PromptReading} a row carries. A reader that meets
29
+ * another version treats the row as having no reading (its compatibility
30
+ * rules), rather than guess at fields it does not know.
31
+ */
32
+ exports.PROMPT_READING_VERSION = 1;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * How Auto-Yes answers a question the agent asks (Issue #3863).
3
+ *
4
+ * - `recommended` (おまかせ, the default) — a single-select question on the
5
+ * screen is answered too: the option whose title ends in a recommendation
6
+ * marker (`(Recommended)` / `(推奨)` / `(推奨)`), or the default (the
7
+ * cursor, else option 1) when none does. A question it cannot read that far
8
+ * (two markers, a marker on a free-text or multi-select row, a title it
9
+ * cannot tell from its description) is left to a human.
10
+ * - `careful` (慎重) — a question is never answered; it is left to a human
11
+ * (`question-left-to-human`).
12
+ *
13
+ * The two differ only there. Permissions are answered alike (the one "allow
14
+ * this call once" row, #3822), and what a contract's `autoYes` block withholds
15
+ * stays withheld under either (the contract is the ceiling; the answer mode is
16
+ * below it).
17
+ *
18
+ * Set each time Auto-Yes is turned on (worktree × instance). Turning it on
19
+ * from off — or after it ran out — starts at `recommended` unless a mode is
20
+ * given; turning it on again while it is on keeps the mode it has.
21
+ *
22
+ * Dependency-free so the CLI build (`tsconfig.cli.json`, no path aliases) can
23
+ * import it by a relative path.
24
+ *
25
+ * @module types/auto-yes-answer-mode
26
+ */
27
+ /** Auto-Yes's answer mode (Issue #3863). */
28
+ export type AutoYesAnswerMode = 'recommended' | 'careful';
29
+ /** Every {@link AutoYesAnswerMode}, the default first. */
30
+ export declare const AUTO_YES_ANSWER_MODES: readonly AutoYesAnswerMode[];
31
+ /** The mode of a grant that names none: one turned on without a mode, or kept from before the field. */
32
+ export declare const DEFAULT_AUTO_YES_ANSWER_MODE: AutoYesAnswerMode;
33
+ /** Type guard for a value read off a request body or the wire. */
34
+ export declare function isAutoYesAnswerMode(value: unknown): value is AutoYesAnswerMode;
35
+ //# sourceMappingURL=auto-yes-answer-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-yes-answer-mode.d.ts","sourceRoot":"","sources":["../../src/types/auto-yes-answer-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,4CAA4C;AAC5C,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,SAAS,CAAC;AAE1D,0DAA0D;AAC1D,eAAO,MAAM,qBAAqB,EAAE,SAAS,iBAAiB,EAA+B,CAAC;AAE9F,wGAAwG;AACxG,eAAO,MAAM,4BAA4B,EAAE,iBAAiC,CAAC;AAE7E,kEAAkE;AAClE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAE9E"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ /**
3
+ * How Auto-Yes answers a question the agent asks (Issue #3863).
4
+ *
5
+ * - `recommended` (おまかせ, the default) — a single-select question on the
6
+ * screen is answered too: the option whose title ends in a recommendation
7
+ * marker (`(Recommended)` / `(推奨)` / `(推奨)`), or the default (the
8
+ * cursor, else option 1) when none does. A question it cannot read that far
9
+ * (two markers, a marker on a free-text or multi-select row, a title it
10
+ * cannot tell from its description) is left to a human.
11
+ * - `careful` (慎重) — a question is never answered; it is left to a human
12
+ * (`question-left-to-human`).
13
+ *
14
+ * The two differ only there. Permissions are answered alike (the one "allow
15
+ * this call once" row, #3822), and what a contract's `autoYes` block withholds
16
+ * stays withheld under either (the contract is the ceiling; the answer mode is
17
+ * below it).
18
+ *
19
+ * Set each time Auto-Yes is turned on (worktree × instance). Turning it on
20
+ * from off — or after it ran out — starts at `recommended` unless a mode is
21
+ * given; turning it on again while it is on keeps the mode it has.
22
+ *
23
+ * Dependency-free so the CLI build (`tsconfig.cli.json`, no path aliases) can
24
+ * import it by a relative path.
25
+ *
26
+ * @module types/auto-yes-answer-mode
27
+ */
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.DEFAULT_AUTO_YES_ANSWER_MODE = exports.AUTO_YES_ANSWER_MODES = void 0;
30
+ exports.isAutoYesAnswerMode = isAutoYesAnswerMode;
31
+ /** Every {@link AutoYesAnswerMode}, the default first. */
32
+ exports.AUTO_YES_ANSWER_MODES = ['recommended', 'careful'];
33
+ /** The mode of a grant that names none: one turned on without a mode, or kept from before the field. */
34
+ exports.DEFAULT_AUTO_YES_ANSWER_MODE = 'recommended';
35
+ /** Type guard for a value read off a request body or the wire. */
36
+ function isAutoYesAnswerMode(value) {
37
+ return value === 'recommended' || value === 'careful';
38
+ }
@@ -200,7 +200,24 @@ Useful when you want to run continuous processes without interruption.
200
200
  - Default is **1 hour**
201
201
  - Select the minimum time needed for your work
202
202
  5. The description text changes dynamically based on your selection (e.g., "Will automatically turn OFF after 3 hours.")
203
- 6. Click **"Agree and Enable"**
203
+ 6. **Choose how questions are answered** ("Answer questions with the recommended option (Recommended)" / "Answer questions yourself (Careful)"; see "Answer Modes" below)
204
+ 7. Click **"Agree and Enable"**
205
+
206
+ ### Answer Modes (Issue #3863)
207
+
208
+ The dialog that turns Auto Yes on asks how a question from the agent (one that picks a single option) is answered. You choose each time you turn it on, and the dialog always opens with **Recommended** selected.
209
+
210
+ | Option | Questions | Permission confirmations |
211
+ |--------|-----------|--------------------------|
212
+ | **Answer questions with the recommended option (Recommended)** (default) | Answered with the option marked as recommended (a title ending in `(Recommended)` / `(推奨)`), or the default option (the cursor, else option 1) when none is. A question with two or more recommended options, or one it cannot read that far, is left for you to answer from the answer panel | Answered automatically ("allow this once" is chosen) |
213
+ | **Answer questions yourself (Careful)** | Not answered. Auto Yes stays ON and you answer from the answer panel | Answered automatically ("allow this once" is chosen) |
214
+
215
+ - While ON, the mode (**Recommended** / **Careful**; 「おまかせ」 / 「慎重」 in the Japanese UI) is shown beside the toggle — in each PC split, under the phone's composer, and after a change made from another tab, which the periodic re-read picks up
216
+ - Connected to an older server that does not report the mode, no mode is shown (it is not assumed to be Recommended)
217
+ - A tile on the Sessions screen offers the same dialog and, while ON, shows the mode beside its toggle (a reload or a change from another tab shows up on the next list read)
218
+ - In the new-task dialog, picking an Auto Yes duration brings up the same two options (Recommended by default); Auto Yes is turned on in the chosen mode before the message is sent
219
+ - A question's Submit / Cancel page and OpenCode's API questions are answered by you in either mode. Copilot's and codex's questions carry no question marker on screen, so under Careful a copilot / codex numbered list whose options do not read as permission wording (`Yes` / `Allow` and so on) is left to you as possibly a question (under Recommended it is answered as before)
220
+ - The CLI and the API can choose it too ([CLI Operations Guide](./cli-operations-guide.md#answer-modes-recommended-and-careful-issue-3863))
204
221
 
205
222
  ### Active Duration
206
223
 
@@ -223,7 +240,8 @@ POST /api/worktrees/:id/auto-yes
223
240
 
224
241
  {
225
242
  "enabled": true,
226
- "duration": 3600000 | 10800000 | 28800000 // Optional (default: 3600000)
243
+ "duration": 3600000 | 10800000 | 28800000, // Optional (default: 3600000)
244
+ "answerMode": "recommended" | "careful" // Optional (Issue #3863; recommended for a new grant, the current mode for one that is on)
227
245
  }
228
246
  ```
229
247
 
@@ -262,10 +280,21 @@ looks and what it depends on.
262
280
 
263
281
  See [Agent event hooks](./agent-event-hooks.md) for the per-route technical detail.
264
282
 
283
+ ### Confirmations Auto Yes Does Not Answer Are Yours to Answer (Issue #3821)
284
+
285
+ Only the **server** answers automatically (the poller that reads the screen, hooks approval, and the API adjudication). **The browser sends no automatic answers.**
286
+
287
+ - With Auto Yes on, a confirmation the server is not answering **shows its answer panel**: one the execution contract withholds, a screen CommandMate cannot read, a question from the agent, or a screen of an agent whose poller is not running (the concurrent poller limit was reached, for one). The panel stays hidden only while the server is answering that confirmation
288
+ - A question OpenCode asks over its API always shows its panel, Auto Yes or not. Command Code's Review page is still answered from its manual-action card
289
+ - Answering from the panel by hand leaves Auto Yes on. Once you start answering by hand, an automatic answer the server was in the middle of sends no further key, and for about 10 seconds after that the server does not answer that agent's confirmations (so your keys and its keys do not mix)
290
+ - Auto Yes does not answer the screen of an agent with no poller running (hooks approval and the API adjudication run apart from the poller)
291
+ - The single Enter Auto Yes used to send to an unreadable choice screen, and the "Auto responded" notice next to the toggle, are gone
292
+ - A tab opened before this release that still sends an automatic answer is refused by the server with 409. A tab on a bundle from before Auto Yes marked its answers with their origin (before Issue #3820), however, cannot be told from a person answering; reload old tabs
293
+
265
294
  ### Important Notes
266
295
 
267
- - While Auto Yes is active, all confirmations are automatically answered with "Yes"
268
- - Important changes (file deletions, etc.) are also auto-approved, so use with caution
296
+ - While Auto Yes is active, the server answers the agent's requests for permission to run a tool (editing, creating or deleting files, running commands, …). Important changes (file deletions, etc.) are also auto-approved, so use with caution
297
+ - It does not answer these, and leaves them to you (their answer panel shows): a confirmation the execution contract (`autoYes`) withholds, a question from the agent under the Careful mode (or one whose recommended option cannot be told under Recommended) and its Submit / Cancel page, a screen CommandMate cannot read, a confirmation that needs checkboxes or typed text, a CLI's launch confirmations, any confirmation of an agent whose poller is not running, and the few seconds after you answer from the panel by hand (see "Confirmations Auto Yes Does Not Answer Are Yours to Answer" above)
269
298
  - You can disable it by turning off the toggle
270
299
  - Auto Yes automatically turns OFF after the selected duration
271
300
  - **When the server restarts (`/rebuild`, `commandmate stop`, etc.), an active Auto Yes is turned OFF and does not come back.** The affected instance shows **"Released by restart"** (「再起動で解除」 in the Japanese UI). The label stays until the original grant's deadline, and disappears when you turn the toggle on again or turn it off manually (it is not shown after SIGKILL or a crash). A manual OFF or an expiry does not show it
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "commandmate",
3
- "version": "0.47.0",
3
+ "version": "0.48.0",
4
4
  "description": "No long blocks of time? Run an AI team from your phone. Git worktree sessions, task contracts and verification gates for Claude Code, Codex, Gemini CLI, Copilot, OpenCode, Antigravity and Command Code.",
5
5
  "keywords": [
6
6
  "ai-agents",
@@ -99,7 +99,7 @@
99
99
  "jsdom": "^28.1.0",
100
100
  "lucide-react": "^0.554.0",
101
101
  "mermaid": "^11.12.2",
102
- "next": "^15.5.25",
102
+ "next": "^15.5.28",
103
103
  "next-intl": "^4.8.2",
104
104
  "next-themes": "^0.4.6",
105
105
  "postcss": "^8.5.6",
package/public/sw.js CHANGED
@@ -181,30 +181,92 @@ self.addEventListener('message', function (event) {
181
181
  // This is also why there is no "close and show nothing" branch: a resolution
182
182
  // with nothing to close still shows its card. That is the contract, not an
183
183
  // oversight.
184
- function replaceStaleNotifications(title, options) {
184
+ //
185
+ // --- Issue #3798 (the resolution names its episode) -------------------------
186
+ // A resolution may carry `resolvedEpisodeId`: the waiting episode whose card it
187
+ // clears. It can arrive after the card of a NEWER wait in the same worktree
188
+ // (same tag) — the next prompt's push overtook it — and closing that card would
189
+ // hide a wait that is still open.
190
+ //
191
+ // A different id alone does NOT make a card newer. Delivery fails per device,
192
+ // and the server sends a resolution only once nothing in the worktree is still
193
+ // waiting, so a device that missed wait B's card can still be showing wait A's
194
+ // when B's resolution arrives — A is over too, and nothing would ever close it
195
+ // again (the server's mark is spent). Nor does the wait's start (`since`): a
196
+ // structured since is reused by the next wait and can be older than the
197
+ // observation, and two waits can start and end in one millisecond.
198
+ //
199
+ // Newer is proved by `order`: a per-worktree counter the server advances, in
200
+ // one database statement, for every episode-named card it sends and for every
201
+ // resolution it decides (`nextPromptOrder`). A wait open when the resolution
202
+ // was decided would have stopped it, so a card whose order is greater than the
203
+ // resolution's can only be a wait that opened later.
204
+ //
205
+ // So: a card of another episode with a greater order is closed and shown again
206
+ // with the same content, silently (`silent: true`, `renotify: false`), INSTEAD
207
+ // of the resolution; every other card — the resolved episode's, one naming no
208
+ // episode or carrying no order, one sent before the resolution — is closed and
209
+ // the resolution shown in its place, as before. Every branch still calls
210
+ // `showNotification` exactly once, so the `userVisibleOnly` contract above
211
+ // holds. A resolution without the id or the order (a server before #3798)
212
+ // clears the tag as it always has.
213
+ function isNewerThanResolution(card, resolvedEpisodeId, resolvedOrder) {
214
+ var data = card.data || {};
215
+ return (
216
+ typeof resolvedEpisodeId === 'string' &&
217
+ typeof resolvedOrder === 'number' &&
218
+ typeof data.episodeId === 'string' &&
219
+ data.episodeId !== resolvedEpisodeId &&
220
+ typeof data.order === 'number' &&
221
+ data.order > resolvedOrder
222
+ );
223
+ }
224
+
225
+ function replaceStaleNotifications(title, options, resolvedEpisodeId, resolvedOrder) {
185
226
  var registration = self.registration;
186
227
  var tag = options.tag;
187
228
  var closing;
188
229
 
189
230
  if (!tag || typeof registration.getNotifications !== 'function') {
190
- closing = Promise.resolve();
231
+ closing = Promise.resolve(null);
191
232
  } else {
192
233
  closing = registration
193
234
  // Correct either way: whether an engine hands back every card carrying the tag or only the newest one, the loop closes exactly what it was handed (iOS is still unmeasured on this point — Issue #2155).
194
235
  .getNotifications({ tag: tag })
195
236
  .then(function (stale) {
237
+ var newer = null;
196
238
  for (var i = 0; i < stale.length; i++) {
239
+ if (
240
+ isNewerThanResolution(stale[i], resolvedEpisodeId, resolvedOrder) &&
241
+ // Of several, the card the server sent last.
242
+ (newer === null || stale[i].data.order > newer.data.order)
243
+ ) {
244
+ newer = stale[i];
245
+ }
197
246
  stale[i].close();
198
247
  }
248
+ return newer;
199
249
  })
200
250
  .catch(function (_err) {
201
251
  // A registration that cannot enumerate its notifications still has to
202
252
  // show one. Showing the replacement below is what keeps the promise;
203
253
  // on this path the tag alone collapses the stale card on most engines.
254
+ return null;
204
255
  });
205
256
  }
206
257
 
207
- return closing.then(function () {
258
+ return closing.then(function (newer) {
259
+ if (newer) {
260
+ return registration.showNotification(newer.title, {
261
+ body: newer.body,
262
+ tag: tag,
263
+ renotify: false,
264
+ silent: true,
265
+ icon: newer.icon || options.icon,
266
+ badge: newer.badge || options.badge,
267
+ data: newer.data,
268
+ });
269
+ }
208
270
  return registration.showNotification(title, options);
209
271
  });
210
272
  }
@@ -243,6 +305,16 @@ self.addEventListener('push', function (event) {
243
305
  // different, louder instruction.
244
306
  if (resolved) options.silent = true;
245
307
 
308
+ // Issue #3798: a waiting card remembers its episode, so a later resolution
309
+ // can tell it from the card it is clearing. Absent from older payloads.
310
+ if (typeof payload.episodeId === 'string') options.data.episodeId = payload.episodeId;
311
+ // ...and its place in the worktree's order, so a later resolution can tell
312
+ // whether the card was sent after the resolution was decided.
313
+ if (typeof payload.order === 'number') options.data.order = payload.order;
314
+ var resolvedEpisodeId =
315
+ resolved && typeof payload.resolvedEpisodeId === 'string' ? payload.resolvedEpisodeId : null;
316
+ var resolvedOrder = resolved && typeof payload.order === 'number' ? payload.order : null;
317
+
246
318
  // --- Issue #2155 ---------------------------------------------------------
247
319
  // Every TAGGED push takes the close-then-show path, not just resolutions.
248
320
  // Safari/iOS does not collapse same-tag cards on a plain `showNotification`,
@@ -253,7 +325,7 @@ self.addEventListener('push', function (event) {
253
325
  // nothing to replace and goes straight to `showNotification`.
254
326
  event.waitUntil(
255
327
  options.tag
256
- ? replaceStaleNotifications(title, options)
328
+ ? replaceStaleNotifications(title, options, resolvedEpisodeId, resolvedOrder)
257
329
  : self.registration.showNotification(title, options)
258
330
  );
259
331
  });
@@ -0,0 +1,20 @@
1
+ {
2
+ "version": "0.47.1",
3
+ "date": "2026-10-23",
4
+ "highlight": {
5
+ "ja": "Auto-Yes が実行契約の制限を守らずに答えたり、危険なコマンドを見落としたりする問題を直しました。",
6
+ "en": "Fixed cases where Auto-Yes answered without honoring the execution contract's limits or missed a dangerous command."
7
+ },
8
+ "added": [],
9
+ "improved": [],
10
+ "fixed": [
11
+ {
12
+ "ja": "実行契約を一時的に読めなかったとき、Auto-Yes が契約の制限を無視して答えていた問題を直しました。読めない間は答えません。",
13
+ "en": "Fixed Auto-Yes answering without the contract's limits when the execution contract briefly could not be read. It now waits instead."
14
+ },
15
+ {
16
+ "ja": "承認を求めるコマンドの途中に「>」で始まる行があると、その上の危険なコマンドが拒否の判定から漏れていた問題を直しました。",
17
+ "en": "Fixed a dangerous command being missed by the deny check when the command awaiting approval contained a line starting with \">\"."
18
+ }
19
+ ]
20
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "version": "0.47.2",
3
+ "date": "2026-10-23",
4
+ "highlight": {
5
+ "ja": "依存パッケージの脆弱性を直しました。Next.js の重大な脆弱性への対応を含みます。",
6
+ "en": "Fixed vulnerabilities in dependencies, including a critical one in Next.js."
7
+ },
8
+ "added": [],
9
+ "improved": [],
10
+ "fixed": [
11
+ {
12
+ "ja": "Next.js を更新し、画像の最適化で外部からコードを実行されうる重大な脆弱性と、サービス停止の脆弱性を直しました。",
13
+ "en": "Updated Next.js to fix a critical vulnerability that could allow remote code execution through image optimization, and a denial-of-service issue."
14
+ },
15
+ {
16
+ "ja": "Markdown の表示に使うライブラリを更新し、高リスクの脆弱性を直しました。",
17
+ "en": "Updated libraries used to render Markdown to fix high-severity vulnerabilities."
18
+ }
19
+ ]
20
+ }
@@ -0,0 +1,57 @@
1
+ {
2
+ "version": "0.48.0",
3
+ "date": "2026-10-25",
4
+ "highlight": {
5
+ "ja": "Auto-Yes の答え方を見直しました。質問への答え方を「おまかせ」と「慎重」から選べ、判断できない確認には答えず人に返します。",
6
+ "en": "Auto-Yes now lets you choose how it answers (Recommended or Careful), and leaves confirmations it cannot judge to you."
7
+ },
8
+ "added": [
9
+ {
10
+ "ja": "Auto-Yes に答え方のモードを追加しました。おまかせは質問に推奨の選択肢で答え、慎重は質問を人に任せます。",
11
+ "en": "Added answer modes to Auto-Yes: Recommended answers questions with the recommended option, Careful leaves questions to you."
12
+ }
13
+ ],
14
+ "improved": [],
15
+ "fixed": [
16
+ {
17
+ "ja": "Auto-Yes が許可の確認で、常に許可やモード変更ではなく「今回だけ許可」を選ぶようにしました。",
18
+ "en": "Auto-Yes now picks only the allow-this-time option on permission prompts, never permanent permission or mode changes."
19
+ },
20
+ {
21
+ "ja": "Auto-Yes が根拠の無い y/n や読めない選択画面に答えないようにし、ブラウザからの自動回答をやめました。",
22
+ "en": "Auto-Yes no longer answers unverified y/n prompts or unreadable choice screens, and the browser no longer answers automatically."
23
+ },
24
+ {
25
+ "ja": "送信に失敗した、または届いたか分からない回答を、Auto-Yes が同じ確認へ打ち直す問題を直しました。",
26
+ "en": "Fixed Auto-Yes re-sending an answer to the same prompt after a failed or uncertain send."
27
+ },
28
+ {
29
+ "ja": "確認画面の種類を一度で判定し、Auto-Yes とチャットの表示が食い違わないようにしました。",
30
+ "en": "Confirmation screens are now classified once, so Auto-Yes and the chat view no longer disagree about them."
31
+ },
32
+ {
33
+ "ja": "Antigravity の番号付きの画面に、Auto-Yes が既定で答えないようにしました。",
34
+ "en": "Auto-Yes no longer answers numbered Antigravity screens by default."
35
+ },
36
+ {
37
+ "ja": "Auto-Yes が答えた後に、答えていないという誤った通知が出る問題を直しました。",
38
+ "en": "Fixed false notifications saying Auto-Yes had not answered after it did."
39
+ },
40
+ {
41
+ "ja": "狭い・低いペインで Claude の確認画面を見落とす問題を直しました。",
42
+ "en": "Fixed Claude confirmation screens being missed in narrow or short panes."
43
+ },
44
+ {
45
+ "ja": "ターミナルの表示が、購読の切り替えで止まったり切断と表示されたりする問題を直しました。",
46
+ "en": "Fixed the terminal view stopping or showing as disconnected when switching subscriptions."
47
+ },
48
+ {
49
+ "ja": "サーバーと更新のログファイルの権限を本人だけが読める設定にそろえ、大きくなったら切り替えるようにしました。",
50
+ "en": "Server and update log files are now readable only by you and are rotated when they grow large."
51
+ },
52
+ {
53
+ "ja": "依存パッケージを更新し、高リスクの脆弱性を直しました。",
54
+ "en": "Updated a dependency to fix a high-severity vulnerability."
55
+ }
56
+ ]
57
+ }
@@ -71,6 +71,14 @@ json_string_field() {
71
71
  sed -n 's/.*"'"$2"'"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p'
72
72
  }
73
73
 
74
+ # Extract a flat JSON non-negative integer field (digits only). A value that is
75
+ # not a bare run of digits — a string, a negative or fractional number — yields
76
+ # nothing. Text inside a string cannot produce the match: its quotes are escaped.
77
+ json_integer_field() {
78
+ printf '%s' "$1" | tr -d '\n' |
79
+ sed -n 's/.*"'"$2"'"[[:space:]]*:[[:space:]]*\([0-9][0-9]*\)[[:space:]]*[,}].*/\1/p'
80
+ }
81
+
74
82
  # Escape a value for embedding in a JSON string literal.
75
83
  json_escape() {
76
84
  printf '%s' "$1" | sed -e 's/\\/\\\\/g' -e 's/"/\\"/g'
@@ -317,6 +325,20 @@ if [ "$EVENT" = "stop" ] && [ "$TOOL" = "claude" ] && [ -n "$HOOK_JSON" ]; then
317
325
  ;;
318
326
  esac
319
327
  fi
328
+ # Issue #3820 (design docs/design/auto-yes-measurement-3820.md §2.4). agy's
329
+ # `PostToolUse` names its call by `stepIdx` (unique within a conversation; the
330
+ # conversation is the `sessionId` above), and the server ties it to the
331
+ # `PreToolUse` of the same call — which reaches the permission route directly,
332
+ # not through here — to tell when the call ended. Forwarded as a number on
333
+ # antigravity's post_tool_use only, so every other tool and event keeps the
334
+ # body it had; omitted when the payload has none (an older agy), which the
335
+ # server reads as before. Bounded to 15 digits so it stays a safe integer.
336
+ if [ "$EVENT" = "post_tool_use" ] && [ "$TOOL" = "antigravity" ] && [ -n "$HOOK_JSON" ]; then
337
+ STEP_IDX="$(json_integer_field "$HOOK_JSON" 'stepIdx')"
338
+ if [ -n "$STEP_IDX" ] && [ "${#STEP_IDX}" -le 15 ]; then
339
+ BODY="$BODY,\"stepIdx\":$STEP_IDX"
340
+ fi
341
+ fi
320
342
  BODY="$BODY}"
321
343
 
322
344
  # Token via --header rather than the command line of a subprocess: argv is world