commandmate 0.19.0 → 0.21.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 (830) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +259 -238
  3. package/.next/app-path-routes-manifest.json +28 -26
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/prerender-manifest.json +12 -12
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/routes-manifest.json +18 -0
  8. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/api/app/update/route.js +5 -3
  10. package/.next/server/app/api/app/update/route.js.nft.json +1 -1
  11. package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
  12. package/.next/server/app/api/app/update-check/route.js +1 -1
  13. package/.next/server/app/api/app/update-check/route.js.nft.json +1 -1
  14. package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/assistant/conversation/route.js +1 -1
  16. package/.next/server/app/api/assistant/conversation/route.js.nft.json +1 -1
  17. package/.next/server/app/api/assistant/conversation/route_client-reference-manifest.js +1 -1
  18. package/.next/server/app/api/assistant/current-output/route.js +1 -1
  19. package/.next/server/app/api/assistant/current-output/route.js.nft.json +1 -1
  20. package/.next/server/app/api/assistant/current-output/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/assistant/messages/route.js +1 -1
  22. package/.next/server/app/api/assistant/messages/route.js.nft.json +1 -1
  23. package/.next/server/app/api/assistant/messages/route_client-reference-manifest.js +1 -1
  24. package/.next/server/app/api/assistant/session/route.js +1 -1
  25. package/.next/server/app/api/assistant/session/route.js.nft.json +1 -1
  26. package/.next/server/app/api/assistant/session/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/assistant/start/route.js +1 -1
  28. package/.next/server/app/api/assistant/start/route.js.nft.json +1 -1
  29. package/.next/server/app/api/assistant/start/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/assistant/terminal/route.js +1 -1
  31. package/.next/server/app/api/assistant/terminal/route.js.nft.json +1 -1
  32. package/.next/server/app/api/assistant/terminal/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/assistant/tools/route.js +1 -1
  34. package/.next/server/app/api/assistant/tools/route.js.nft.json +1 -1
  35. package/.next/server/app/api/assistant/tools/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/auth/login/route.js +1 -1
  37. package/.next/server/app/api/auth/login/route.js.nft.json +1 -1
  38. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/auth/logout/route.js +1 -1
  40. package/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
  41. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/auth/status/route.js +1 -1
  43. package/.next/server/app/api/auth/status/route.js.nft.json +1 -1
  44. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  45. package/.next/server/app/api/daily-summary/route.js +1 -1
  46. package/.next/server/app/api/daily-summary/route.js.nft.json +1 -1
  47. package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
  48. package/.next/server/app/api/daily-summary/status/route.js +1 -1
  49. package/.next/server/app/api/daily-summary/status/route.js.nft.json +1 -1
  50. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  51. package/.next/server/app/api/external-apps/[id]/health/route.js +1 -1
  52. package/.next/server/app/api/external-apps/[id]/health/route.js.nft.json +1 -1
  53. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  54. package/.next/server/app/api/external-apps/[id]/route.js +1 -1
  55. package/.next/server/app/api/external-apps/[id]/route.js.nft.json +1 -1
  56. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  57. package/.next/server/app/api/external-apps/route.js +1 -1
  58. package/.next/server/app/api/external-apps/route.js.nft.json +1 -1
  59. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  60. package/.next/server/app/api/fs/browse/route.js +2 -2
  61. package/.next/server/app/api/fs/browse/route.js.nft.json +1 -1
  62. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/fs/recent-paths/route.js +2 -2
  64. package/.next/server/app/api/fs/recent-paths/route.js.nft.json +1 -1
  65. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
  66. package/.next/server/app/api/hooks/agent-event/route.js +1 -1
  67. package/.next/server/app/api/hooks/agent-event/route.js.nft.json +1 -1
  68. package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/hooks/claude-done/route.js +1 -1
  70. package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
  71. package/.next/server/app/api/hooks/claude-done/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/subscriptions/route.js +1 -1
  79. package/.next/server/app/api/push/subscriptions/route.js.nft.json +1 -1
  80. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/push/vapid/route.js +1 -1
  82. package/.next/server/app/api/push/vapid/route.js.nft.json +1 -1
  83. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  84. package/.next/server/app/api/repositories/[id]/route.js +1 -1
  85. package/.next/server/app/api/repositories/[id]/route.js.nft.json +1 -1
  86. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/repositories/[id]/todos/[todoId]/route.js +1 -1
  88. package/.next/server/app/api/repositories/[id]/todos/[todoId]/route.js.nft.json +1 -1
  89. package/.next/server/app/api/repositories/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  90. package/.next/server/app/api/repositories/[id]/todos/route.js +1 -1
  91. package/.next/server/app/api/repositories/[id]/todos/route.js.nft.json +1 -1
  92. package/.next/server/app/api/repositories/[id]/todos/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
  94. package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
  95. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/repositories/clone/route.js +1 -1
  97. package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
  98. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/repositories/excluded/route.js +1 -1
  100. package/.next/server/app/api/repositories/excluded/route.js.nft.json +1 -1
  101. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  102. package/.next/server/app/api/repositories/restore/route.js +1 -1
  103. package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
  104. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/repositories/route.js +1 -1
  106. package/.next/server/app/api/repositories/route.js.nft.json +1 -1
  107. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/repositories/scan/route.js +1 -1
  109. package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
  110. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  111. package/.next/server/app/api/repositories/sync/route.js +1 -1
  112. package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
  113. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  114. package/.next/server/app/api/repositories/validate-path/route.js +1 -1
  115. package/.next/server/app/api/repositories/validate-path/route.js.nft.json +1 -1
  116. package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/sidebar/group-order/route.js +2 -2
  118. package/.next/server/app/api/sidebar/group-order/route.js.nft.json +1 -1
  119. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/skills/[id]/route.js +1 -1
  121. package/.next/server/app/api/skills/[id]/route.js.nft.json +1 -1
  122. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  123. package/.next/server/app/api/skills/installations/route.js +1 -1
  124. package/.next/server/app/api/skills/installations/route.js.nft.json +1 -1
  125. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
  126. package/.next/server/app/api/skills/operations/route.js +3 -3
  127. package/.next/server/app/api/skills/operations/route.js.nft.json +1 -1
  128. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
  129. package/.next/server/app/api/skills/reindex/route.js +1 -1
  130. package/.next/server/app/api/skills/reindex/route.js.nft.json +1 -1
  131. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/api/skills/route.js +1 -1
  133. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  134. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  135. package/.next/server/app/api/slash-commands/route.js +1 -1
  136. package/.next/server/app/api/slash-commands/route.js.nft.json +1 -1
  137. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  138. package/.next/server/app/api/tasks/[taskId]/cancel/route.js +2 -2
  139. package/.next/server/app/api/tasks/[taskId]/cancel/route.js.nft.json +1 -1
  140. package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  141. package/.next/server/app/api/tasks/[taskId]/route.js +2 -2
  142. package/.next/server/app/api/tasks/[taskId]/route.js.nft.json +1 -1
  143. package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/api/templates/[id]/route.js +2 -2
  145. package/.next/server/app/api/templates/[id]/route.js.nft.json +1 -1
  146. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  147. package/.next/server/app/api/templates/route.js +2 -2
  148. package/.next/server/app/api/templates/route.js.nft.json +1 -1
  149. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  150. package/.next/server/app/api/todos/route.js +1 -1
  151. package/.next/server/app/api/todos/route.js.nft.json +1 -1
  152. package/.next/server/app/api/todos/route_client-reference-manifest.js +1 -1
  153. package/.next/server/app/api/verification/runs/[runId]/route.js +1 -1
  154. package/.next/server/app/api/verification/runs/[runId]/route.js.nft.json +1 -1
  155. package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
  156. package/.next/server/app/api/verification/runs/route.js +1 -1
  157. package/.next/server/app/api/verification/runs/route.js.nft.json +1 -1
  158. package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
  159. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
  160. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
  161. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  162. package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -1
  163. package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
  164. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  165. package/.next/server/app/api/worktrees/[id]/cli-tool/route.js +1 -1
  166. package/.next/server/app/api/worktrees/[id]/cli-tool/route.js.nft.json +1 -1
  167. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  168. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +2 -2
  169. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js.nft.json +1 -1
  170. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  171. package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
  172. package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
  173. package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
  174. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js +1 -1
  175. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js.nft.json +1 -1
  176. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
  177. package/.next/server/app/api/worktrees/[id]/execution-logs/route.js +2 -2
  178. package/.next/server/app/api/worktrees/[id]/execution-logs/route.js.nft.json +1 -1
  179. package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
  180. package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js +1 -1
  181. package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js.nft.json +1 -1
  182. package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
  183. package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js +1 -1
  184. package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js.nft.json +1 -1
  185. package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
  186. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js +1 -1
  187. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js.nft.json +1 -1
  188. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
  189. package/.next/server/app/api/worktrees/[id]/git/branches/route.js +1 -1
  190. package/.next/server/app/api/worktrees/[id]/git/branches/route.js.nft.json +1 -1
  191. package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
  192. package/.next/server/app/api/worktrees/[id]/git/checkout/route.js +1 -1
  193. package/.next/server/app/api/worktrees/[id]/git/checkout/route.js.nft.json +1 -1
  194. package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
  195. package/.next/server/app/api/worktrees/[id]/git/commit/route.js +1 -1
  196. package/.next/server/app/api/worktrees/[id]/git/commit/route.js.nft.json +1 -1
  197. package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
  198. package/.next/server/app/api/worktrees/[id]/git/diff/route.js +1 -1
  199. package/.next/server/app/api/worktrees/[id]/git/diff/route.js.nft.json +1 -1
  200. package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
  201. package/.next/server/app/api/worktrees/[id]/git/fetch/route.js +1 -1
  202. package/.next/server/app/api/worktrees/[id]/git/fetch/route.js.nft.json +1 -1
  203. package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
  204. package/.next/server/app/api/worktrees/[id]/git/log/route.js +1 -1
  205. package/.next/server/app/api/worktrees/[id]/git/log/route.js.nft.json +1 -1
  206. package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
  207. package/.next/server/app/api/worktrees/[id]/git/pull/route.js +1 -1
  208. package/.next/server/app/api/worktrees/[id]/git/pull/route.js.nft.json +1 -1
  209. package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
  210. package/.next/server/app/api/worktrees/[id]/git/push/route.js +1 -1
  211. package/.next/server/app/api/worktrees/[id]/git/push/route.js.nft.json +1 -1
  212. package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
  213. package/.next/server/app/api/worktrees/[id]/git/reset/route.js +1 -1
  214. package/.next/server/app/api/worktrees/[id]/git/reset/route.js.nft.json +1 -1
  215. package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
  216. package/.next/server/app/api/worktrees/[id]/git/revert/route.js +1 -1
  217. package/.next/server/app/api/worktrees/[id]/git/revert/route.js.nft.json +1 -1
  218. package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
  219. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js +1 -1
  220. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js.nft.json +1 -1
  221. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
  222. package/.next/server/app/api/worktrees/[id]/git/stage/route.js +1 -1
  223. package/.next/server/app/api/worktrees/[id]/git/stage/route.js.nft.json +1 -1
  224. package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
  225. package/.next/server/app/api/worktrees/[id]/git/staged/route.js +1 -1
  226. package/.next/server/app/api/worktrees/[id]/git/staged/route.js.nft.json +1 -1
  227. package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
  228. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js +1 -1
  229. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js.nft.json +1 -1
  230. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
  231. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js +1 -1
  232. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js.nft.json +1 -1
  233. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
  234. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js +1 -1
  235. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js.nft.json +1 -1
  236. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
  237. package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js +1 -1
  238. package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js.nft.json +1 -1
  239. package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
  240. package/.next/server/app/api/worktrees/[id]/git/stash/route.js +1 -1
  241. package/.next/server/app/api/worktrees/[id]/git/stash/route.js.nft.json +1 -1
  242. package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
  243. package/.next/server/app/api/worktrees/[id]/git/status/route.js +1 -1
  244. package/.next/server/app/api/worktrees/[id]/git/status/route.js.nft.json +1 -1
  245. package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
  246. package/.next/server/app/api/worktrees/[id]/git/unstage/route.js +1 -1
  247. package/.next/server/app/api/worktrees/[id]/git/unstage/route.js.nft.json +1 -1
  248. package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
  249. package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js +1 -1
  250. package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js.nft.json +1 -1
  251. package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
  252. package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
  253. package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
  254. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  255. package/.next/server/app/api/worktrees/[id]/kill-session/route.js +1 -1
  256. package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
  257. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  258. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js +1 -1
  259. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js.nft.json +1 -1
  260. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  261. package/.next/server/app/api/worktrees/[id]/logs/route.js +2 -2
  262. package/.next/server/app/api/worktrees/[id]/logs/route.js.nft.json +1 -1
  263. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  264. package/.next/server/app/api/worktrees/[id]/marp-render/route.js +6 -6
  265. package/.next/server/app/api/worktrees/[id]/marp-render/route.js.nft.json +1 -1
  266. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  267. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js +1 -1
  268. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js.nft.json +1 -1
  269. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  270. package/.next/server/app/api/worktrees/[id]/memos/route.js +1 -1
  271. package/.next/server/app/api/worktrees/[id]/memos/route.js.nft.json +1 -1
  272. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  273. package/.next/server/app/api/worktrees/[id]/messages/route.js +1 -1
  274. package/.next/server/app/api/worktrees/[id]/messages/route.js.nft.json +1 -1
  275. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  276. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
  277. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
  278. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  279. package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
  280. package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
  281. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  282. package/.next/server/app/api/worktrees/[id]/route.js +1 -1
  283. package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
  284. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  285. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +2 -2
  286. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js.nft.json +1 -1
  287. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  288. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +1 -1
  289. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js.nft.json +1 -1
  290. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  291. package/.next/server/app/api/worktrees/[id]/schedules/route.js +3 -3
  292. package/.next/server/app/api/worktrees/[id]/schedules/route.js.nft.json +1 -1
  293. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  294. package/.next/server/app/api/worktrees/[id]/search/route.js +1 -1
  295. package/.next/server/app/api/worktrees/[id]/search/route.js.nft.json +1 -1
  296. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  297. package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
  298. package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
  299. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  300. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js +1 -1
  301. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
  302. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
  303. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js +1 -1
  304. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js.nft.json +1 -1
  305. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  306. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js +1 -1
  307. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js.nft.json +1 -1
  308. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  309. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js +1 -1
  310. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js.nft.json +1 -1
  311. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  312. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js +1 -1
  313. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js.nft.json +1 -1
  314. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  315. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route.js +1 -0
  316. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route.js.nft.json +1 -0
  317. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -0
  318. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js +1 -0
  319. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js.nft.json +1 -0
  320. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -0
  321. package/.next/server/app/api/worktrees/[id]/skills/route.js +2 -2
  322. package/.next/server/app/api/worktrees/[id]/skills/route.js.nft.json +1 -1
  323. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  324. package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
  325. package/.next/server/app/api/worktrees/[id]/slash-commands/route.js.nft.json +1 -1
  326. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  327. package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
  328. package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
  329. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  330. package/.next/server/app/api/worktrees/[id]/start-polling/route.js +1 -1
  331. package/.next/server/app/api/worktrees/[id]/start-polling/route.js.nft.json +1 -1
  332. package/.next/server/app/api/worktrees/[id]/start-polling/route_client-reference-manifest.js +1 -1
  333. package/.next/server/app/api/worktrees/[id]/tasks/route.js +4 -4
  334. package/.next/server/app/api/worktrees/[id]/tasks/route.js.nft.json +1 -1
  335. package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
  336. package/.next/server/app/api/worktrees/[id]/terminal/route.js +1 -1
  337. package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
  338. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  339. package/.next/server/app/api/worktrees/[id]/timers/history/route.js +1 -1
  340. package/.next/server/app/api/worktrees/[id]/timers/history/route.js.nft.json +1 -1
  341. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  342. package/.next/server/app/api/worktrees/[id]/timers/route.js +1 -1
  343. package/.next/server/app/api/worktrees/[id]/timers/route.js.nft.json +1 -1
  344. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  345. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js +1 -1
  346. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js.nft.json +1 -1
  347. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  348. package/.next/server/app/api/worktrees/[id]/todos/route.js +1 -1
  349. package/.next/server/app/api/worktrees/[id]/todos/route.js.nft.json +1 -1
  350. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  351. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.js +1 -1
  352. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.js.nft.json +1 -1
  353. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  354. package/.next/server/app/api/worktrees/[id]/tree/route.js +1 -1
  355. package/.next/server/app/api/worktrees/[id]/tree/route.js.nft.json +1 -1
  356. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  357. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route.js +1 -1
  358. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route.js.nft.json +1 -1
  359. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  360. package/.next/server/app/api/worktrees/[id]/verify/route.js +2 -2
  361. package/.next/server/app/api/worktrees/[id]/verify/route.js.nft.json +1 -1
  362. package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
  363. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js +1 -1
  364. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js.nft.json +1 -1
  365. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
  366. package/.next/server/app/api/worktrees/[id]/verify/runs/route.js +1 -1
  367. package/.next/server/app/api/worktrees/[id]/verify/runs/route.js.nft.json +1 -1
  368. package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
  369. package/.next/server/app/api/worktrees/[id]/viewed/route.js +1 -1
  370. package/.next/server/app/api/worktrees/[id]/viewed/route.js.nft.json +1 -1
  371. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  372. package/.next/server/app/api/worktrees/route.js +1 -1
  373. package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
  374. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  375. package/.next/server/app/apple-icon.png/route.js +1 -1
  376. package/.next/server/app/apple-icon.png/route.js.nft.json +1 -1
  377. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  378. package/.next/server/app/icon.png/route.js +1 -1
  379. package/.next/server/app/icon.png/route.js.nft.json +1 -1
  380. package/.next/server/app/icon1.png/route.js +1 -1
  381. package/.next/server/app/icon1.png/route.js.nft.json +1 -1
  382. package/.next/server/app/icon2.png/route.js +1 -1
  383. package/.next/server/app/icon2.png/route.js.nft.json +1 -1
  384. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  385. package/.next/server/app/manifest.webmanifest/route.js +2 -2
  386. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  387. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  388. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  389. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  390. package/.next/server/app/page_client-reference-manifest.js +1 -1
  391. package/.next/server/app/proxy/[...path]/route.js +1 -1
  392. package/.next/server/app/proxy/[...path]/route.js.nft.json +1 -1
  393. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  394. package/.next/server/app/repositories/page.js +1 -1
  395. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  396. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  397. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  398. package/.next/server/app/skills/[skillId]/page.js +2 -2
  399. package/.next/server/app/skills/[skillId]/page.js.nft.json +1 -1
  400. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  401. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
  402. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  403. package/.next/server/app/worktrees/[id]/files/[...path]/page.js +2 -2
  404. package/.next/server/app/worktrees/[id]/files/[...path]/page.js.nft.json +1 -1
  405. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  406. package/.next/server/app/worktrees/[id]/page.js +8 -8
  407. package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
  408. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  409. package/.next/server/app/worktrees/[id]/terminal/page.js +3 -3
  410. package/.next/server/app/worktrees/[id]/terminal/page.js.nft.json +1 -1
  411. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  412. package/.next/server/app-paths-manifest.json +28 -26
  413. package/.next/server/chunks/1029.js +1 -0
  414. package/.next/server/chunks/1068.js +1 -1
  415. package/.next/server/chunks/1503.js +1 -1
  416. package/.next/server/chunks/1598.js +4 -0
  417. package/.next/server/chunks/22.js +1 -1
  418. package/.next/server/chunks/2328.js +1 -1
  419. package/.next/server/chunks/2546.js +1 -0
  420. package/.next/server/chunks/2710.js +2 -2
  421. package/.next/server/chunks/28.js +2 -2
  422. package/.next/server/chunks/3417.js +1 -0
  423. package/.next/server/chunks/3451.js +1 -1
  424. package/.next/server/chunks/3543.js +1 -1
  425. package/.next/server/chunks/365.js +1 -0
  426. package/.next/server/chunks/3736.js +1 -1
  427. package/.next/server/chunks/3753.js +33 -20
  428. package/.next/server/chunks/3945.js +1 -1
  429. package/.next/server/chunks/406.js +5 -5
  430. package/.next/server/chunks/4444.js +1 -1
  431. package/.next/server/chunks/{1185.js → 5048.js} +1 -1
  432. package/.next/server/chunks/5064.js +1 -1
  433. package/.next/server/chunks/5737.js +1 -1
  434. package/.next/server/chunks/5959.js +10 -3
  435. package/.next/server/chunks/{5381.js → 5998.js} +2 -2
  436. package/.next/server/chunks/6130.js +1 -1
  437. package/.next/server/chunks/6274.js +5 -5
  438. package/.next/server/chunks/6283.js +1 -1
  439. package/.next/server/chunks/6401.js +1 -0
  440. package/.next/server/chunks/641.js +1 -0
  441. package/.next/server/chunks/848.js +1 -0
  442. package/.next/server/chunks/8536.js +1 -0
  443. package/.next/server/chunks/8543.js +1 -0
  444. package/.next/server/chunks/8584.js +1 -1
  445. package/.next/server/chunks/8807.js +157 -143
  446. package/.next/server/chunks/8856.js +2 -2
  447. package/.next/server/chunks/9058.js +1 -0
  448. package/.next/server/chunks/9067.js +1 -0
  449. package/.next/server/chunks/9123.js +1 -1
  450. package/.next/server/chunks/9360.js +2 -0
  451. package/.next/server/chunks/9687.js +1 -1
  452. package/.next/server/middleware-manifest.json +5 -5
  453. package/.next/server/pages/500.html +1 -1
  454. package/.next/server/server-reference-manifest.json +1 -1
  455. package/.next/server/src/middleware.js +1 -1
  456. package/.next/server/src/middleware.js.map +1 -1
  457. package/.next/static/chunks/{8562-6e2ab32452f4fa5b.js → 2053-52d3c82014e1cd54.js} +1 -1
  458. package/.next/static/chunks/2751-9ef0f4b450bd4ef0.js +1 -0
  459. package/.next/static/chunks/{6488-2c412c29258637b6.js → 6488-b5e707dfdd33d633.js} +1 -1
  460. package/.next/static/chunks/744-fa8c0ae444c8338c.js +1 -0
  461. package/.next/static/chunks/app/api/app/update/route-be21650964d61b1d.js +1 -0
  462. package/.next/static/chunks/app/api/app/update-check/route-be21650964d61b1d.js +1 -0
  463. package/.next/static/chunks/app/api/assistant/conversation/route-be21650964d61b1d.js +1 -0
  464. package/.next/static/chunks/app/api/assistant/current-output/route-be21650964d61b1d.js +1 -0
  465. package/.next/static/chunks/app/api/assistant/messages/route-be21650964d61b1d.js +1 -0
  466. package/.next/static/chunks/app/api/assistant/session/route-be21650964d61b1d.js +1 -0
  467. package/.next/static/chunks/app/api/assistant/start/route-be21650964d61b1d.js +1 -0
  468. package/.next/static/chunks/app/api/assistant/terminal/route-be21650964d61b1d.js +1 -0
  469. package/.next/static/chunks/app/api/assistant/tools/route-be21650964d61b1d.js +1 -0
  470. package/.next/static/chunks/app/api/auth/login/route-be21650964d61b1d.js +1 -0
  471. package/.next/static/chunks/app/api/auth/logout/route-be21650964d61b1d.js +1 -0
  472. package/.next/static/chunks/app/api/auth/status/route-be21650964d61b1d.js +1 -0
  473. package/.next/static/chunks/app/api/daily-summary/route-be21650964d61b1d.js +1 -0
  474. package/.next/static/chunks/app/api/daily-summary/status/route-be21650964d61b1d.js +1 -0
  475. package/.next/static/chunks/app/api/external-apps/[id]/health/route-be21650964d61b1d.js +1 -0
  476. package/.next/static/chunks/app/api/external-apps/[id]/route-be21650964d61b1d.js +1 -0
  477. package/.next/static/chunks/app/api/external-apps/route-be21650964d61b1d.js +1 -0
  478. package/.next/static/chunks/app/api/fs/browse/route-be21650964d61b1d.js +1 -0
  479. package/.next/static/chunks/app/api/fs/recent-paths/route-be21650964d61b1d.js +1 -0
  480. package/.next/static/chunks/app/api/hooks/agent-event/route-be21650964d61b1d.js +1 -0
  481. package/.next/static/chunks/app/api/hooks/claude-done/route-be21650964d61b1d.js +1 -0
  482. package/.next/static/chunks/app/api/metrics/vibe/route-be21650964d61b1d.js +1 -0
  483. package/.next/static/chunks/app/api/ollama/models/route-be21650964d61b1d.js +1 -0
  484. package/.next/static/chunks/app/api/push/subscriptions/route-be21650964d61b1d.js +1 -0
  485. package/.next/static/chunks/app/api/push/vapid/route-be21650964d61b1d.js +1 -0
  486. package/.next/static/chunks/app/api/repositories/[id]/route-be21650964d61b1d.js +1 -0
  487. package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-be21650964d61b1d.js +1 -0
  488. package/.next/static/chunks/app/api/repositories/[id]/todos/route-be21650964d61b1d.js +1 -0
  489. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-be21650964d61b1d.js +1 -0
  490. package/.next/static/chunks/app/api/repositories/clone/route-be21650964d61b1d.js +1 -0
  491. package/.next/static/chunks/app/api/repositories/excluded/route-be21650964d61b1d.js +1 -0
  492. package/.next/static/chunks/app/api/repositories/restore/route-be21650964d61b1d.js +1 -0
  493. package/.next/static/chunks/app/api/repositories/route-be21650964d61b1d.js +1 -0
  494. package/.next/static/chunks/app/api/repositories/scan/route-be21650964d61b1d.js +1 -0
  495. package/.next/static/chunks/app/api/repositories/sync/route-be21650964d61b1d.js +1 -0
  496. package/.next/static/chunks/app/api/repositories/validate-path/route-be21650964d61b1d.js +1 -0
  497. package/.next/static/chunks/app/api/sidebar/group-order/route-be21650964d61b1d.js +1 -0
  498. package/.next/static/chunks/app/api/skills/[id]/route-be21650964d61b1d.js +1 -0
  499. package/.next/static/chunks/app/api/skills/installations/route-be21650964d61b1d.js +1 -0
  500. package/.next/static/chunks/app/api/skills/operations/route-be21650964d61b1d.js +1 -0
  501. package/.next/static/chunks/app/api/skills/reindex/route-be21650964d61b1d.js +1 -0
  502. package/.next/static/chunks/app/api/skills/route-be21650964d61b1d.js +1 -0
  503. package/.next/static/chunks/app/api/slash-commands/route-be21650964d61b1d.js +1 -0
  504. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-be21650964d61b1d.js +1 -0
  505. package/.next/static/chunks/app/api/tasks/[taskId]/route-be21650964d61b1d.js +1 -0
  506. package/.next/static/chunks/app/api/templates/[id]/route-be21650964d61b1d.js +1 -0
  507. package/.next/static/chunks/app/api/templates/route-be21650964d61b1d.js +1 -0
  508. package/.next/static/chunks/app/api/todos/route-be21650964d61b1d.js +1 -0
  509. package/.next/static/chunks/app/api/verification/runs/[runId]/route-be21650964d61b1d.js +1 -0
  510. package/.next/static/chunks/app/api/verification/runs/route-be21650964d61b1d.js +1 -0
  511. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-be21650964d61b1d.js +1 -0
  512. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-be21650964d61b1d.js +1 -0
  513. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-be21650964d61b1d.js +1 -0
  514. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-be21650964d61b1d.js +1 -0
  515. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-be21650964d61b1d.js +1 -0
  516. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-be21650964d61b1d.js +1 -0
  517. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-be21650964d61b1d.js +1 -0
  518. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-be21650964d61b1d.js +1 -0
  519. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-be21650964d61b1d.js +1 -0
  520. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-be21650964d61b1d.js +1 -0
  521. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-be21650964d61b1d.js +1 -0
  522. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-be21650964d61b1d.js +1 -0
  523. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-be21650964d61b1d.js +1 -0
  524. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-be21650964d61b1d.js +1 -0
  525. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-be21650964d61b1d.js +1 -0
  526. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-be21650964d61b1d.js +1 -0
  527. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-be21650964d61b1d.js +1 -0
  528. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-be21650964d61b1d.js +1 -0
  529. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-be21650964d61b1d.js +1 -0
  530. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-be21650964d61b1d.js +1 -0
  531. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-be21650964d61b1d.js +1 -0
  532. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-be21650964d61b1d.js +1 -0
  533. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-be21650964d61b1d.js +1 -0
  534. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-be21650964d61b1d.js +1 -0
  535. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-be21650964d61b1d.js +1 -0
  536. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-be21650964d61b1d.js +1 -0
  537. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-be21650964d61b1d.js +1 -0
  538. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-be21650964d61b1d.js +1 -0
  539. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-be21650964d61b1d.js +1 -0
  540. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-be21650964d61b1d.js +1 -0
  541. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-be21650964d61b1d.js +1 -0
  542. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-be21650964d61b1d.js +1 -0
  543. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-be21650964d61b1d.js +1 -0
  544. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-be21650964d61b1d.js +1 -0
  545. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-be21650964d61b1d.js +1 -0
  546. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-be21650964d61b1d.js +1 -0
  547. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-be21650964d61b1d.js +1 -0
  548. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-be21650964d61b1d.js +1 -0
  549. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-be21650964d61b1d.js +1 -0
  550. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-be21650964d61b1d.js +1 -0
  551. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-be21650964d61b1d.js +1 -0
  552. package/.next/static/chunks/app/api/worktrees/[id]/route-be21650964d61b1d.js +1 -0
  553. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-be21650964d61b1d.js +1 -0
  554. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-be21650964d61b1d.js +1 -0
  555. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-be21650964d61b1d.js +1 -0
  556. package/.next/static/chunks/app/api/worktrees/[id]/search/route-be21650964d61b1d.js +1 -0
  557. package/.next/static/chunks/app/api/worktrees/[id]/send/route-be21650964d61b1d.js +1 -0
  558. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-be21650964d61b1d.js +1 -0
  559. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-be21650964d61b1d.js +1 -0
  560. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-be21650964d61b1d.js +1 -0
  561. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-be21650964d61b1d.js +1 -0
  562. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-be21650964d61b1d.js +1 -0
  563. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-be21650964d61b1d.js +1 -0
  564. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-be21650964d61b1d.js +1 -0
  565. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-be21650964d61b1d.js +1 -0
  566. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-be21650964d61b1d.js +1 -0
  567. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-be21650964d61b1d.js +1 -0
  568. package/.next/static/chunks/app/api/worktrees/[id]/start-polling/route-be21650964d61b1d.js +1 -0
  569. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-be21650964d61b1d.js +1 -0
  570. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-be21650964d61b1d.js +1 -0
  571. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-be21650964d61b1d.js +1 -0
  572. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-be21650964d61b1d.js +1 -0
  573. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-be21650964d61b1d.js +1 -0
  574. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-be21650964d61b1d.js +1 -0
  575. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-be21650964d61b1d.js +1 -0
  576. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-be21650964d61b1d.js +1 -0
  577. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-be21650964d61b1d.js +1 -0
  578. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-be21650964d61b1d.js +1 -0
  579. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-be21650964d61b1d.js +1 -0
  580. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-be21650964d61b1d.js +1 -0
  581. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-be21650964d61b1d.js +1 -0
  582. package/.next/static/chunks/app/api/worktrees/route-be21650964d61b1d.js +1 -0
  583. package/.next/static/chunks/app/manifest.webmanifest/route-be21650964d61b1d.js +1 -0
  584. package/.next/static/chunks/app/proxy/[...path]/route-be21650964d61b1d.js +1 -0
  585. package/.next/static/chunks/app/repositories/page-202680fe6ec169c8.js +1 -0
  586. package/.next/static/chunks/app/skills/[skillId]/page-10d6f983e5f06ffb.js +1 -0
  587. package/.next/static/chunks/app/worktrees/[id]/layout-be21650964d61b1d.js +1 -0
  588. package/.next/static/chunks/app/worktrees/[id]/page-b73ac6531829c698.js +1 -0
  589. package/.next/trace +12 -12
  590. package/.next/types/app/api/worktrees/[id]/skills/[skillId]/update/route.ts +347 -0
  591. package/.next/types/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.ts +347 -0
  592. package/.next/types/routes.d.ts +5 -2
  593. package/.next/types/validator.ts +27 -0
  594. package/README.md +10 -1
  595. package/dist/cli/commands/auto-yes.d.ts.map +1 -1
  596. package/dist/cli/commands/auto-yes.js +4 -3
  597. package/dist/cli/commands/capture.d.ts +1 -0
  598. package/dist/cli/commands/capture.d.ts.map +1 -1
  599. package/dist/cli/commands/capture.js +112 -2
  600. package/dist/cli/commands/ls.d.ts.map +1 -1
  601. package/dist/cli/commands/ls.js +9 -3
  602. package/dist/cli/commands/respond.d.ts.map +1 -1
  603. package/dist/cli/commands/respond.js +34 -8
  604. package/dist/cli/commands/send.d.ts.map +1 -1
  605. package/dist/cli/commands/send.js +6 -5
  606. package/dist/cli/commands/skill-format.d.ts +7 -1
  607. package/dist/cli/commands/skill-format.d.ts.map +1 -1
  608. package/dist/cli/commands/skill-format.js +67 -0
  609. package/dist/cli/commands/skill.d.ts +2 -0
  610. package/dist/cli/commands/skill.d.ts.map +1 -1
  611. package/dist/cli/commands/skill.js +149 -0
  612. package/dist/cli/commands/sync.d.ts +14 -0
  613. package/dist/cli/commands/sync.d.ts.map +1 -0
  614. package/dist/cli/commands/sync.js +53 -0
  615. package/dist/cli/commands/update.d.ts.map +1 -1
  616. package/dist/cli/commands/update.js +66 -0
  617. package/dist/cli/commands/wait.d.ts.map +1 -1
  618. package/dist/cli/commands/wait.js +3 -2
  619. package/dist/cli/config/agent-target-options.d.ts +46 -0
  620. package/dist/cli/config/agent-target-options.d.ts.map +1 -0
  621. package/dist/cli/config/agent-target-options.js +54 -0
  622. package/dist/cli/docs/agent-operations.d.ts +2 -2
  623. package/dist/cli/docs/agent-operations.d.ts.map +1 -1
  624. package/dist/cli/docs/agent-operations.js +72 -17
  625. package/dist/cli/program.d.ts.map +1 -1
  626. package/dist/cli/program.js +3 -0
  627. package/dist/cli/types/api-responses.d.ts +174 -0
  628. package/dist/cli/types/api-responses.d.ts.map +1 -1
  629. package/dist/cli/types/index.d.ts +31 -0
  630. package/dist/cli/types/index.d.ts.map +1 -1
  631. package/dist/cli/utils/api-client.d.ts +4 -1
  632. package/dist/cli/utils/api-client.d.ts.map +1 -1
  633. package/dist/cli/utils/api-client.js +43 -5
  634. package/dist/cli/utils/npm-runner.d.ts +24 -0
  635. package/dist/cli/utils/npm-runner.d.ts.map +1 -1
  636. package/dist/cli/utils/npm-runner.js +51 -1
  637. package/dist/cli/utils/pid-manager.d.ts +12 -2
  638. package/dist/cli/utils/pid-manager.d.ts.map +1 -1
  639. package/dist/cli/utils/pid-manager.js +76 -13
  640. package/dist/cli/utils/verify-runner.d.ts +9 -0
  641. package/dist/cli/utils/verify-runner.d.ts.map +1 -1
  642. package/dist/cli/utils/verify-runner.js +28 -2
  643. package/dist/config/history-display-config.d.ts +61 -0
  644. package/dist/config/history-display-config.d.ts.map +1 -0
  645. package/dist/config/history-display-config.js +62 -0
  646. package/dist/server/server.js +107 -14
  647. package/dist/server/src/lib/auto-yes-poller.js +49 -0
  648. package/dist/server/src/lib/auto-yes-state.js +64 -0
  649. package/dist/server/src/lib/db/chat-db.js +75 -1
  650. package/dist/server/src/lib/db/db-repository.js +66 -2
  651. package/dist/server/src/lib/db/db.js +13 -3
  652. package/dist/server/src/lib/db/migrations/index.js +6 -0
  653. package/dist/server/src/lib/db/migrations/runner.js +1 -1
  654. package/dist/server/src/lib/db/migrations/v53-worktree-aliases.js +53 -0
  655. package/dist/server/src/lib/db/migrations/v54-worktree-id-path-derived.js +204 -0
  656. package/dist/server/src/lib/db/migrations/v55-compact-churned-worktree-ids.js +207 -0
  657. package/dist/server/src/lib/db/migrations/worktree-id-rename.js +153 -0
  658. package/dist/server/src/lib/db/worktree-alias-db.js +155 -0
  659. package/dist/server/src/lib/db/worktree-db.js +53 -71
  660. package/dist/server/src/lib/detection/cli-patterns.js +86 -2
  661. package/dist/server/src/lib/detection/prompt-detect-multiple-choice.js +10 -1
  662. package/dist/server/src/lib/git/worktree-id.js +145 -0
  663. package/dist/server/src/lib/git/worktree-redirect.js +155 -0
  664. package/dist/server/src/lib/git/worktrees.js +173 -27
  665. package/dist/server/src/lib/logger.js +13 -1
  666. package/dist/server/src/lib/polling/auto-yes-manager.js +3 -1
  667. package/dist/server/src/lib/polling/auto-yes-suppression-state.js +54 -0
  668. package/dist/server/src/lib/polling/prompt-dedup.js +22 -0
  669. package/dist/server/src/lib/polling/response-checker.js +53 -13
  670. package/dist/server/src/lib/polling/response-dedup.js +22 -0
  671. package/dist/server/src/lib/polling/response-poller-core.js +107 -0
  672. package/dist/server/src/lib/polling/response-poller.js +4 -1
  673. package/dist/server/src/lib/response-extractor.js +22 -2
  674. package/dist/server/src/lib/session/claude-session.js +117 -35
  675. package/dist/server/src/lib/session/current-output-builder.js +16 -1
  676. package/dist/server/src/lib/session/session-start-error.js +125 -0
  677. package/dist/server/src/lib/session/worktree-session-reconcile.js +603 -0
  678. package/dist/server/src/lib/skills/install-apply.js +63 -23
  679. package/dist/server/src/lib/skills/operation-audit.js +5 -6
  680. package/dist/server/src/lib/skills/startup-reconcile.js +26 -5
  681. package/dist/server/src/lib/skills/updater.js +830 -0
  682. package/dist/server/src/lib/tasks/contract-parser.js +17 -1
  683. package/dist/server/src/lib/tasks/task-state-machine.js +23 -1
  684. package/dist/server/src/lib/tmux/control-mode-tmux-transport.js +7 -0
  685. package/dist/server/src/lib/tmux/read-mode.js +22 -2
  686. package/dist/server/src/lib/tmux/tmux-capture-cache.js +33 -0
  687. package/dist/server/src/lib/tmux/tmux-control-client.js +12 -0
  688. package/dist/server/src/lib/tmux/tmux-control-registry.js +55 -11
  689. package/dist/server/src/lib/tmux/tmux.js +61 -0
  690. package/dist/server/src/lib/ws-server.js +104 -1
  691. package/package.json +1 -1
  692. package/.next/server/chunks/1117.js +0 -1
  693. package/.next/server/chunks/1356.js +0 -4
  694. package/.next/server/chunks/1692.js +0 -1
  695. package/.next/server/chunks/3042.js +0 -1
  696. package/.next/server/chunks/4018.js +0 -1
  697. package/.next/server/chunks/4390.js +0 -1
  698. package/.next/server/chunks/4440.js +0 -2
  699. package/.next/server/chunks/4548.js +0 -1
  700. package/.next/server/chunks/5793.js +0 -1
  701. package/.next/server/chunks/8681.js +0 -1
  702. package/.next/static/chunks/2751-7fabd91275b14ca3.js +0 -1
  703. package/.next/static/chunks/744-d5e47fe16e7b9e06.js +0 -1
  704. package/.next/static/chunks/app/api/app/update/route-8440b6c72bed83a1.js +0 -1
  705. package/.next/static/chunks/app/api/app/update-check/route-8440b6c72bed83a1.js +0 -1
  706. package/.next/static/chunks/app/api/assistant/conversation/route-8440b6c72bed83a1.js +0 -1
  707. package/.next/static/chunks/app/api/assistant/current-output/route-8440b6c72bed83a1.js +0 -1
  708. package/.next/static/chunks/app/api/assistant/messages/route-8440b6c72bed83a1.js +0 -1
  709. package/.next/static/chunks/app/api/assistant/session/route-8440b6c72bed83a1.js +0 -1
  710. package/.next/static/chunks/app/api/assistant/start/route-8440b6c72bed83a1.js +0 -1
  711. package/.next/static/chunks/app/api/assistant/terminal/route-8440b6c72bed83a1.js +0 -1
  712. package/.next/static/chunks/app/api/assistant/tools/route-8440b6c72bed83a1.js +0 -1
  713. package/.next/static/chunks/app/api/auth/login/route-8440b6c72bed83a1.js +0 -1
  714. package/.next/static/chunks/app/api/auth/logout/route-8440b6c72bed83a1.js +0 -1
  715. package/.next/static/chunks/app/api/auth/status/route-8440b6c72bed83a1.js +0 -1
  716. package/.next/static/chunks/app/api/daily-summary/route-8440b6c72bed83a1.js +0 -1
  717. package/.next/static/chunks/app/api/daily-summary/status/route-8440b6c72bed83a1.js +0 -1
  718. package/.next/static/chunks/app/api/external-apps/[id]/health/route-8440b6c72bed83a1.js +0 -1
  719. package/.next/static/chunks/app/api/external-apps/[id]/route-8440b6c72bed83a1.js +0 -1
  720. package/.next/static/chunks/app/api/external-apps/route-8440b6c72bed83a1.js +0 -1
  721. package/.next/static/chunks/app/api/fs/browse/route-8440b6c72bed83a1.js +0 -1
  722. package/.next/static/chunks/app/api/fs/recent-paths/route-8440b6c72bed83a1.js +0 -1
  723. package/.next/static/chunks/app/api/hooks/agent-event/route-8440b6c72bed83a1.js +0 -1
  724. package/.next/static/chunks/app/api/hooks/claude-done/route-8440b6c72bed83a1.js +0 -1
  725. package/.next/static/chunks/app/api/metrics/vibe/route-8440b6c72bed83a1.js +0 -1
  726. package/.next/static/chunks/app/api/ollama/models/route-8440b6c72bed83a1.js +0 -1
  727. package/.next/static/chunks/app/api/push/subscriptions/route-8440b6c72bed83a1.js +0 -1
  728. package/.next/static/chunks/app/api/push/vapid/route-8440b6c72bed83a1.js +0 -1
  729. package/.next/static/chunks/app/api/repositories/[id]/route-8440b6c72bed83a1.js +0 -1
  730. package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-8440b6c72bed83a1.js +0 -1
  731. package/.next/static/chunks/app/api/repositories/[id]/todos/route-8440b6c72bed83a1.js +0 -1
  732. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-8440b6c72bed83a1.js +0 -1
  733. package/.next/static/chunks/app/api/repositories/clone/route-8440b6c72bed83a1.js +0 -1
  734. package/.next/static/chunks/app/api/repositories/excluded/route-8440b6c72bed83a1.js +0 -1
  735. package/.next/static/chunks/app/api/repositories/restore/route-8440b6c72bed83a1.js +0 -1
  736. package/.next/static/chunks/app/api/repositories/route-8440b6c72bed83a1.js +0 -1
  737. package/.next/static/chunks/app/api/repositories/scan/route-8440b6c72bed83a1.js +0 -1
  738. package/.next/static/chunks/app/api/repositories/sync/route-8440b6c72bed83a1.js +0 -1
  739. package/.next/static/chunks/app/api/repositories/validate-path/route-8440b6c72bed83a1.js +0 -1
  740. package/.next/static/chunks/app/api/sidebar/group-order/route-8440b6c72bed83a1.js +0 -1
  741. package/.next/static/chunks/app/api/skills/[id]/route-8440b6c72bed83a1.js +0 -1
  742. package/.next/static/chunks/app/api/skills/installations/route-8440b6c72bed83a1.js +0 -1
  743. package/.next/static/chunks/app/api/skills/operations/route-8440b6c72bed83a1.js +0 -1
  744. package/.next/static/chunks/app/api/skills/reindex/route-8440b6c72bed83a1.js +0 -1
  745. package/.next/static/chunks/app/api/skills/route-8440b6c72bed83a1.js +0 -1
  746. package/.next/static/chunks/app/api/slash-commands/route-8440b6c72bed83a1.js +0 -1
  747. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-8440b6c72bed83a1.js +0 -1
  748. package/.next/static/chunks/app/api/tasks/[taskId]/route-8440b6c72bed83a1.js +0 -1
  749. package/.next/static/chunks/app/api/templates/[id]/route-8440b6c72bed83a1.js +0 -1
  750. package/.next/static/chunks/app/api/templates/route-8440b6c72bed83a1.js +0 -1
  751. package/.next/static/chunks/app/api/todos/route-8440b6c72bed83a1.js +0 -1
  752. package/.next/static/chunks/app/api/verification/runs/[runId]/route-8440b6c72bed83a1.js +0 -1
  753. package/.next/static/chunks/app/api/verification/runs/route-8440b6c72bed83a1.js +0 -1
  754. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-8440b6c72bed83a1.js +0 -1
  755. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-8440b6c72bed83a1.js +0 -1
  756. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-8440b6c72bed83a1.js +0 -1
  757. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-8440b6c72bed83a1.js +0 -1
  758. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-8440b6c72bed83a1.js +0 -1
  759. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-8440b6c72bed83a1.js +0 -1
  760. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-8440b6c72bed83a1.js +0 -1
  761. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-8440b6c72bed83a1.js +0 -1
  762. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-8440b6c72bed83a1.js +0 -1
  763. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-8440b6c72bed83a1.js +0 -1
  764. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-8440b6c72bed83a1.js +0 -1
  765. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-8440b6c72bed83a1.js +0 -1
  766. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-8440b6c72bed83a1.js +0 -1
  767. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-8440b6c72bed83a1.js +0 -1
  768. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-8440b6c72bed83a1.js +0 -1
  769. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-8440b6c72bed83a1.js +0 -1
  770. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-8440b6c72bed83a1.js +0 -1
  771. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-8440b6c72bed83a1.js +0 -1
  772. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-8440b6c72bed83a1.js +0 -1
  773. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-8440b6c72bed83a1.js +0 -1
  774. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-8440b6c72bed83a1.js +0 -1
  775. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-8440b6c72bed83a1.js +0 -1
  776. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-8440b6c72bed83a1.js +0 -1
  777. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-8440b6c72bed83a1.js +0 -1
  778. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-8440b6c72bed83a1.js +0 -1
  779. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-8440b6c72bed83a1.js +0 -1
  780. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-8440b6c72bed83a1.js +0 -1
  781. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-8440b6c72bed83a1.js +0 -1
  782. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-8440b6c72bed83a1.js +0 -1
  783. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-8440b6c72bed83a1.js +0 -1
  784. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-8440b6c72bed83a1.js +0 -1
  785. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-8440b6c72bed83a1.js +0 -1
  786. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-8440b6c72bed83a1.js +0 -1
  787. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-8440b6c72bed83a1.js +0 -1
  788. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-8440b6c72bed83a1.js +0 -1
  789. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-8440b6c72bed83a1.js +0 -1
  790. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-8440b6c72bed83a1.js +0 -1
  791. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-8440b6c72bed83a1.js +0 -1
  792. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-8440b6c72bed83a1.js +0 -1
  793. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-8440b6c72bed83a1.js +0 -1
  794. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-8440b6c72bed83a1.js +0 -1
  795. package/.next/static/chunks/app/api/worktrees/[id]/route-8440b6c72bed83a1.js +0 -1
  796. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-8440b6c72bed83a1.js +0 -1
  797. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-8440b6c72bed83a1.js +0 -1
  798. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-8440b6c72bed83a1.js +0 -1
  799. package/.next/static/chunks/app/api/worktrees/[id]/search/route-8440b6c72bed83a1.js +0 -1
  800. package/.next/static/chunks/app/api/worktrees/[id]/send/route-8440b6c72bed83a1.js +0 -1
  801. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-8440b6c72bed83a1.js +0 -1
  802. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-8440b6c72bed83a1.js +0 -1
  803. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-8440b6c72bed83a1.js +0 -1
  804. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-8440b6c72bed83a1.js +0 -1
  805. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-8440b6c72bed83a1.js +0 -1
  806. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-8440b6c72bed83a1.js +0 -1
  807. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-8440b6c72bed83a1.js +0 -1
  808. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-8440b6c72bed83a1.js +0 -1
  809. package/.next/static/chunks/app/api/worktrees/[id]/start-polling/route-8440b6c72bed83a1.js +0 -1
  810. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-8440b6c72bed83a1.js +0 -1
  811. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-8440b6c72bed83a1.js +0 -1
  812. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-8440b6c72bed83a1.js +0 -1
  813. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-8440b6c72bed83a1.js +0 -1
  814. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-8440b6c72bed83a1.js +0 -1
  815. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-8440b6c72bed83a1.js +0 -1
  816. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-8440b6c72bed83a1.js +0 -1
  817. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-8440b6c72bed83a1.js +0 -1
  818. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-8440b6c72bed83a1.js +0 -1
  819. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-8440b6c72bed83a1.js +0 -1
  820. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-8440b6c72bed83a1.js +0 -1
  821. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-8440b6c72bed83a1.js +0 -1
  822. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-8440b6c72bed83a1.js +0 -1
  823. package/.next/static/chunks/app/api/worktrees/route-8440b6c72bed83a1.js +0 -1
  824. package/.next/static/chunks/app/manifest.webmanifest/route-8440b6c72bed83a1.js +0 -1
  825. package/.next/static/chunks/app/proxy/[...path]/route-8440b6c72bed83a1.js +0 -1
  826. package/.next/static/chunks/app/repositories/page-1ed1e5a542ecc168.js +0 -1
  827. package/.next/static/chunks/app/skills/[skillId]/page-6008b904225ebb25.js +0 -1
  828. package/.next/static/chunks/app/worktrees/[id]/page-f6e09d25cd3b56f9.js +0 -1
  829. /package/.next/static/{-E7I667pJDTBamyG8M_Z- → _AR-TSCnEog5nL9JjjCna}/_buildManifest.js +0 -0
  830. /package/.next/static/{-E7I667pJDTBamyG8M_Z- → _AR-TSCnEog5nL9JjjCna}/_ssgManifest.js +0 -0
@@ -2,9 +2,9 @@
2
2
  // Do not edit this file manually
3
3
 
4
4
  type AppRoutes = "/" | "/chat" | "/login" | "/more" | "/offline" | "/repositories" | "/review" | "/sessions" | "/skills" | "/skills/[skillId]" | "/skills/installed" | "/worktrees/[id]" | "/worktrees/[id]/files/[...path]" | "/worktrees/[id]/terminal"
5
- type AppRouteHandlerRoutes = "/api/app/update" | "/api/app/update-check" | "/api/assistant/conversation" | "/api/assistant/current-output" | "/api/assistant/messages" | "/api/assistant/session" | "/api/assistant/start" | "/api/assistant/terminal" | "/api/assistant/tools" | "/api/auth/login" | "/api/auth/logout" | "/api/auth/status" | "/api/daily-summary" | "/api/daily-summary/status" | "/api/external-apps" | "/api/external-apps/[id]" | "/api/external-apps/[id]/health" | "/api/fs/browse" | "/api/fs/recent-paths" | "/api/hooks/agent-event" | "/api/hooks/claude-done" | "/api/metrics/vibe" | "/api/ollama/models" | "/api/push/subscriptions" | "/api/push/vapid" | "/api/repositories" | "/api/repositories/[id]" | "/api/repositories/[id]/todos" | "/api/repositories/[id]/todos/[todoId]" | "/api/repositories/clone" | "/api/repositories/clone/[jobId]" | "/api/repositories/excluded" | "/api/repositories/restore" | "/api/repositories/scan" | "/api/repositories/sync" | "/api/repositories/validate-path" | "/api/sidebar/group-order" | "/api/skills" | "/api/skills/[id]" | "/api/skills/installations" | "/api/skills/operations" | "/api/skills/reindex" | "/api/slash-commands" | "/api/tasks/[taskId]" | "/api/tasks/[taskId]/cancel" | "/api/templates" | "/api/templates/[id]" | "/api/todos" | "/api/verification/runs" | "/api/verification/runs/[runId]" | "/api/worktrees" | "/api/worktrees/[id]" | "/api/worktrees/[id]/auto-yes" | "/api/worktrees/[id]/capture" | "/api/worktrees/[id]/cli-tool" | "/api/worktrees/[id]/cmate/schedules" | "/api/worktrees/[id]/current-output" | "/api/worktrees/[id]/execution-logs" | "/api/worktrees/[id]/execution-logs/[logId]" | "/api/worktrees/[id]/files/[...path]" | "/api/worktrees/[id]/git/branch/create" | "/api/worktrees/[id]/git/branch/delete" | "/api/worktrees/[id]/git/branches" | "/api/worktrees/[id]/git/checkout" | "/api/worktrees/[id]/git/commit" | "/api/worktrees/[id]/git/diff" | "/api/worktrees/[id]/git/fetch" | "/api/worktrees/[id]/git/log" | "/api/worktrees/[id]/git/pull" | "/api/worktrees/[id]/git/push" | "/api/worktrees/[id]/git/reset" | "/api/worktrees/[id]/git/revert" | "/api/worktrees/[id]/git/show/[commitHash]" | "/api/worktrees/[id]/git/stage" | "/api/worktrees/[id]/git/staged" | "/api/worktrees/[id]/git/stash" | "/api/worktrees/[id]/git/stash/[index]" | "/api/worktrees/[id]/git/stash/apply" | "/api/worktrees/[id]/git/stash/pop" | "/api/worktrees/[id]/git/stash/push" | "/api/worktrees/[id]/git/status" | "/api/worktrees/[id]/git/unstage" | "/api/worktrees/[id]/git/working-diff" | "/api/worktrees/[id]/interrupt" | "/api/worktrees/[id]/kill-session" | "/api/worktrees/[id]/logs" | "/api/worktrees/[id]/logs/[filename]" | "/api/worktrees/[id]/marp-render" | "/api/worktrees/[id]/memos" | "/api/worktrees/[id]/memos/[memoId]" | "/api/worktrees/[id]/messages" | "/api/worktrees/[id]/prompt-response" | "/api/worktrees/[id]/respond" | "/api/worktrees/[id]/schedules" | "/api/worktrees/[id]/schedules/[scheduleId]" | "/api/worktrees/[id]/schedules/active" | "/api/worktrees/[id]/search" | "/api/worktrees/[id]/send" | "/api/worktrees/[id]/skills" | "/api/worktrees/[id]/skills/[skillId]/git-workflow" | "/api/worktrees/[id]/skills/[skillId]/install" | "/api/worktrees/[id]/skills/[skillId]/plan" | "/api/worktrees/[id]/skills/[skillId]/uninstall" | "/api/worktrees/[id]/skills/[skillId]/uninstall-plan" | "/api/worktrees/[id]/slash-commands" | "/api/worktrees/[id]/special-keys" | "/api/worktrees/[id]/start-polling" | "/api/worktrees/[id]/tasks" | "/api/worktrees/[id]/terminal" | "/api/worktrees/[id]/timers" | "/api/worktrees/[id]/timers/history" | "/api/worktrees/[id]/todos" | "/api/worktrees/[id]/todos/[todoId]" | "/api/worktrees/[id]/tree" | "/api/worktrees/[id]/tree/[...path]" | "/api/worktrees/[id]/upload/[...path]" | "/api/worktrees/[id]/verify" | "/api/worktrees/[id]/verify/runs" | "/api/worktrees/[id]/verify/runs/[runId]" | "/api/worktrees/[id]/viewed" | "/proxy/[...path]"
5
+ type AppRouteHandlerRoutes = "/api/app/update" | "/api/app/update-check" | "/api/assistant/conversation" | "/api/assistant/current-output" | "/api/assistant/messages" | "/api/assistant/session" | "/api/assistant/start" | "/api/assistant/terminal" | "/api/assistant/tools" | "/api/auth/login" | "/api/auth/logout" | "/api/auth/status" | "/api/daily-summary" | "/api/daily-summary/status" | "/api/external-apps" | "/api/external-apps/[id]" | "/api/external-apps/[id]/health" | "/api/fs/browse" | "/api/fs/recent-paths" | "/api/hooks/agent-event" | "/api/hooks/claude-done" | "/api/metrics/vibe" | "/api/ollama/models" | "/api/push/subscriptions" | "/api/push/vapid" | "/api/repositories" | "/api/repositories/[id]" | "/api/repositories/[id]/todos" | "/api/repositories/[id]/todos/[todoId]" | "/api/repositories/clone" | "/api/repositories/clone/[jobId]" | "/api/repositories/excluded" | "/api/repositories/restore" | "/api/repositories/scan" | "/api/repositories/sync" | "/api/repositories/validate-path" | "/api/sidebar/group-order" | "/api/skills" | "/api/skills/[id]" | "/api/skills/installations" | "/api/skills/operations" | "/api/skills/reindex" | "/api/slash-commands" | "/api/tasks/[taskId]" | "/api/tasks/[taskId]/cancel" | "/api/templates" | "/api/templates/[id]" | "/api/todos" | "/api/verification/runs" | "/api/verification/runs/[runId]" | "/api/worktrees" | "/api/worktrees/[id]" | "/api/worktrees/[id]/auto-yes" | "/api/worktrees/[id]/capture" | "/api/worktrees/[id]/cli-tool" | "/api/worktrees/[id]/cmate/schedules" | "/api/worktrees/[id]/current-output" | "/api/worktrees/[id]/execution-logs" | "/api/worktrees/[id]/execution-logs/[logId]" | "/api/worktrees/[id]/files/[...path]" | "/api/worktrees/[id]/git/branch/create" | "/api/worktrees/[id]/git/branch/delete" | "/api/worktrees/[id]/git/branches" | "/api/worktrees/[id]/git/checkout" | "/api/worktrees/[id]/git/commit" | "/api/worktrees/[id]/git/diff" | "/api/worktrees/[id]/git/fetch" | "/api/worktrees/[id]/git/log" | "/api/worktrees/[id]/git/pull" | "/api/worktrees/[id]/git/push" | "/api/worktrees/[id]/git/reset" | "/api/worktrees/[id]/git/revert" | "/api/worktrees/[id]/git/show/[commitHash]" | "/api/worktrees/[id]/git/stage" | "/api/worktrees/[id]/git/staged" | "/api/worktrees/[id]/git/stash" | "/api/worktrees/[id]/git/stash/[index]" | "/api/worktrees/[id]/git/stash/apply" | "/api/worktrees/[id]/git/stash/pop" | "/api/worktrees/[id]/git/stash/push" | "/api/worktrees/[id]/git/status" | "/api/worktrees/[id]/git/unstage" | "/api/worktrees/[id]/git/working-diff" | "/api/worktrees/[id]/interrupt" | "/api/worktrees/[id]/kill-session" | "/api/worktrees/[id]/logs" | "/api/worktrees/[id]/logs/[filename]" | "/api/worktrees/[id]/marp-render" | "/api/worktrees/[id]/memos" | "/api/worktrees/[id]/memos/[memoId]" | "/api/worktrees/[id]/messages" | "/api/worktrees/[id]/prompt-response" | "/api/worktrees/[id]/respond" | "/api/worktrees/[id]/schedules" | "/api/worktrees/[id]/schedules/[scheduleId]" | "/api/worktrees/[id]/schedules/active" | "/api/worktrees/[id]/search" | "/api/worktrees/[id]/send" | "/api/worktrees/[id]/skills" | "/api/worktrees/[id]/skills/[skillId]/git-workflow" | "/api/worktrees/[id]/skills/[skillId]/install" | "/api/worktrees/[id]/skills/[skillId]/plan" | "/api/worktrees/[id]/skills/[skillId]/uninstall" | "/api/worktrees/[id]/skills/[skillId]/uninstall-plan" | "/api/worktrees/[id]/skills/[skillId]/update" | "/api/worktrees/[id]/skills/[skillId]/update-plan" | "/api/worktrees/[id]/slash-commands" | "/api/worktrees/[id]/special-keys" | "/api/worktrees/[id]/start-polling" | "/api/worktrees/[id]/tasks" | "/api/worktrees/[id]/terminal" | "/api/worktrees/[id]/timers" | "/api/worktrees/[id]/timers/history" | "/api/worktrees/[id]/todos" | "/api/worktrees/[id]/todos/[todoId]" | "/api/worktrees/[id]/tree" | "/api/worktrees/[id]/tree/[...path]" | "/api/worktrees/[id]/upload/[...path]" | "/api/worktrees/[id]/verify" | "/api/worktrees/[id]/verify/runs" | "/api/worktrees/[id]/verify/runs/[runId]" | "/api/worktrees/[id]/viewed" | "/proxy/[...path]"
6
6
  type PageRoutes = never
7
- type LayoutRoutes = "/"
7
+ type LayoutRoutes = "/" | "/worktrees/[id]"
8
8
  type RedirectRoutes = never
9
9
  type RewriteRoutes = never
10
10
  type Routes = AppRoutes | PageRoutes | LayoutRoutes | RedirectRoutes | RewriteRoutes | AppRouteHandlerRoutes
@@ -116,6 +116,8 @@ interface ParamMap {
116
116
  "/api/worktrees/[id]/skills/[skillId]/plan": { "id": string; "skillId": string; }
117
117
  "/api/worktrees/[id]/skills/[skillId]/uninstall": { "id": string; "skillId": string; }
118
118
  "/api/worktrees/[id]/skills/[skillId]/uninstall-plan": { "id": string; "skillId": string; }
119
+ "/api/worktrees/[id]/skills/[skillId]/update": { "id": string; "skillId": string; }
120
+ "/api/worktrees/[id]/skills/[skillId]/update-plan": { "id": string; "skillId": string; }
119
121
  "/api/worktrees/[id]/slash-commands": { "id": string; }
120
122
  "/api/worktrees/[id]/special-keys": { "id": string; }
121
123
  "/api/worktrees/[id]/start-polling": { "id": string; }
@@ -153,6 +155,7 @@ export type ParamsOf<Route extends Routes> = ParamMap[Route]
153
155
 
154
156
  interface LayoutSlotMap {
155
157
  "/": never
158
+ "/worktrees/[id]": never
156
159
  }
157
160
 
158
161
 
@@ -1091,6 +1091,24 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
1091
1091
  type __Unused = __Check
1092
1092
  }
1093
1093
 
1094
+ // Validate ../../src/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.ts
1095
+ {
1096
+ type __IsExpected<Specific extends RouteHandlerConfig<"/api/worktrees/[id]/skills/[skillId]/update-plan">> = Specific
1097
+ const handler = {} as typeof import("../../src/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js")
1098
+ type __Check = __IsExpected<typeof handler>
1099
+ // @ts-ignore
1100
+ type __Unused = __Check
1101
+ }
1102
+
1103
+ // Validate ../../src/app/api/worktrees/[id]/skills/[skillId]/update/route.ts
1104
+ {
1105
+ type __IsExpected<Specific extends RouteHandlerConfig<"/api/worktrees/[id]/skills/[skillId]/update">> = Specific
1106
+ const handler = {} as typeof import("../../src/app/api/worktrees/[id]/skills/[skillId]/update/route.js")
1107
+ type __Check = __IsExpected<typeof handler>
1108
+ // @ts-ignore
1109
+ type __Unused = __Check
1110
+ }
1111
+
1094
1112
  // Validate ../../src/app/api/worktrees/[id]/skills/route.ts
1095
1113
  {
1096
1114
  type __IsExpected<Specific extends RouteHandlerConfig<"/api/worktrees/[id]/skills">> = Specific
@@ -1274,3 +1292,12 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
1274
1292
  // @ts-ignore
1275
1293
  type __Unused = __Check
1276
1294
  }
1295
+
1296
+ // Validate ../../src/app/worktrees/[id]/layout.tsx
1297
+ {
1298
+ type __IsExpected<Specific extends LayoutConfig<"/worktrees/[id]">> = Specific
1299
+ const handler = {} as typeof import("../../src/app/worktrees/[id]/layout.js")
1300
+ type __Check = __IsExpected<typeof handler>
1301
+ // @ts-ignore
1302
+ type __Unused = __Check
1303
+ }
package/README.md CHANGED
@@ -204,8 +204,9 @@ Operate agent sessions from the CLI. See the [CLI Operations Guide](./docs/en/us
204
204
  | `commandmate ls --id <prefix>` | Filter by worktree ID prefix |
205
205
  | `commandmate send <id> "message"` | Send a message to an agent |
206
206
  | `commandmate send <id> "msg" --auto-yes` | Send with auto-yes enabled |
207
- | `commandmate send <id> "msg" --agent codex` | Send to a specific agent |
207
+ | `commandmate send <id> "msg" --instance codex` | Send to a specific agent instance |
208
208
  | `commandmate wait <id> --timeout 300` | Wait for agent completion (exit 0) or prompt (exit 10) |
209
+ | `commandmate wait <id> --instance codex` | Wait on a specific agent instance |
209
210
  | `commandmate wait <id> --on-prompt human` | Wait, let human respond to prompts via browser UI |
210
211
  | `commandmate respond <id> "yes"` | Respond to an agent's prompt |
211
212
  | `commandmate capture <id>` | Get current terminal output |
@@ -213,6 +214,14 @@ Operate agent sessions from the CLI. See the [CLI Operations Guide](./docs/en/us
213
214
  | `commandmate auto-yes <id> --enable` | Enable auto-yes (default 1h) |
214
215
  | `commandmate auto-yes <id> --disable` | Disable auto-yes |
215
216
 
217
+ > **Name the target with `--instance`, on every command.** It is the only target
218
+ > flag `wait` accepts — `wait --agent` fails with `unknown option`. Naming the
219
+ > agent only on `send` leaves `wait` watching the worktree's *default* agent, so
220
+ > a worktree cut for Codex silently waits for Claude Code. `--agent` still works
221
+ > on `send`/`respond`/`capture`/`auto-yes` as the supplement for instances the
222
+ > roster does not know (it is what `--register` needs). See the
223
+ > [CLI Operations Guide](./docs/en/user-guide/cli-operations-guide.md).
224
+
216
225
  **Typical workflow:**
217
226
 
218
227
  ```bash
@@ -1 +1 @@
1
- {"version":3,"file":"auto-yes.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/auto-yes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,oBAAoB,IAAI,OAAO,CAoG9C"}
1
+ {"version":3,"file":"auto-yes.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/auto-yes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,oBAAoB,IAAI,OAAO,CAoG9C"}
@@ -11,6 +11,7 @@ const api_client_1 = require("../utils/api-client");
11
11
  const command_helpers_1 = require("../utils/command-helpers");
12
12
  const duration_constants_1 = require("../config/duration-constants");
13
13
  const cli_tool_ids_1 = require("../config/cli-tool-ids");
14
+ const agent_target_options_1 = require("../config/agent-target-options");
14
15
  const instances_1 = require("./instances");
15
16
  function createAutoYesCommand() {
16
17
  const cmd = new commander_1.Command('auto-yes');
@@ -20,9 +21,9 @@ function createAutoYesCommand() {
20
21
  .option('--enable', 'Enable auto-yes')
21
22
  .option('--disable', 'Disable auto-yes')
22
23
  .option('--duration <duration>', `Duration (${duration_constants_1.ALLOWED_DURATIONS.join(', ')})`)
23
- .option('--stop-pattern <pattern>', 'Stop pattern (regex, max 500 chars)')
24
- .option('--agent <agent>', 'CLI tool agent (claude, codex, gemini, vibe-local, opencode, copilot, antigravity)')
25
- .option('--instance <id>', 'Agent instance ID: <agent> or <agent>-<n> (e.g. claude-2). Defaults to the agent\'s primary instance.')
24
+ .option('--stop-pattern <pattern>', 'Stop pattern (regex, max 500 chars). Matched against terminal output; cannot block commands (build logs mentioning the pattern also trigger it). To suppress auto-responses per command, use the task contract\'s autoYes.denyPatterns')
25
+ .option('--instance <id>', agent_target_options_1.INSTANCE_OPTION_DESCRIPTION)
26
+ .option('--agent <agent>', agent_target_options_1.AGENT_OPTION_DESCRIPTION)
26
27
  .option('--token <token>', command_helpers_1.TOKEN_WARNING)
27
28
  .action(async (worktreeId, options) => {
28
29
  try {
@@ -2,6 +2,7 @@
2
2
  * capture Command - Get current terminal output
3
3
  * Issue #518: [DR1-08] Factory pattern
4
4
  * Issue #1623: `--pane` reads the raw tmux pane as a transcript (案B)
5
+ * Issue #1685: `--prompts` lists the resolved-prompt audit trail
5
6
  */
6
7
  import { Command } from 'commander';
7
8
  export declare function createCaptureCommand(): Command;
@@ -1 +1 @@
1
- {"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/capture.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6HpC,wBAAgB,oBAAoB,IAAI,OAAO,CA+E9C"}
1
+ {"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/capture.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2OpC,wBAAgB,oBAAoB,IAAI,OAAO,CAkG9C"}
@@ -3,14 +3,17 @@
3
3
  * capture Command - Get current terminal output
4
4
  * Issue #518: [DR1-08] Factory pattern
5
5
  * Issue #1623: `--pane` reads the raw tmux pane as a transcript (案B)
6
+ * Issue #1685: `--prompts` lists the resolved-prompt audit trail
6
7
  */
7
8
  Object.defineProperty(exports, "__esModule", { value: true });
8
9
  exports.createCaptureCommand = createCaptureCommand;
9
10
  const commander_1 = require("commander");
10
11
  const types_1 = require("../types");
12
+ const history_display_config_1 = require("../../config/history-display-config");
11
13
  const api_client_1 = require("../utils/api-client");
12
14
  const command_helpers_1 = require("../utils/command-helpers");
13
15
  const cli_tool_ids_1 = require("../config/cli-tool-ids");
16
+ const agent_target_options_1 = require("../config/agent-target-options");
14
17
  const instances_1 = require("./instances");
15
18
  const pager_1 = require("../utils/pager");
16
19
  const transcript_squeeze_1 = require("../../lib/tmux/transcript-squeeze");
@@ -72,6 +75,96 @@ async function resolvePaneCliTool(client, worktreeId, agent, instance) {
72
75
  const worktree = await client.get(`/api/worktrees/${worktreeId}`);
73
76
  return worktree.cliToolId || 'claude';
74
77
  }
78
+ /** Default number of prompts `--prompts` lists (Issue #1685). */
79
+ const DEFAULT_PROMPTS_LIMIT = 20;
80
+ /**
81
+ * Parse and validate `--limit N` for the `--prompts` listing.
82
+ *
83
+ * @param raw - Raw option value, if the user passed one
84
+ * @returns The parsed count (defaults to {@link DEFAULT_PROMPTS_LIMIT})
85
+ */
86
+ function parsePromptsLimit(raw) {
87
+ if (raw === undefined)
88
+ return DEFAULT_PROMPTS_LIMIT;
89
+ const value = Number(raw);
90
+ if (!Number.isInteger(value) || value < 1 || value > history_display_config_1.MAX_MESSAGES_LIMIT) {
91
+ console.error(`Error: --limit must be an integer between 1 and ${history_display_config_1.MAX_MESSAGES_LIMIT}.`);
92
+ process.exit(types_1.ExitCode.CONFIG_ERROR);
93
+ }
94
+ return value;
95
+ }
96
+ /**
97
+ * Render one prompt option for the text listing. Handles both the
98
+ * multiple-choice object shape ({number, label, isDefault}) and plain strings
99
+ * (yes_no options).
100
+ */
101
+ function formatPromptOption(option) {
102
+ if (option !== null && typeof option === 'object') {
103
+ const { number: num, label, isDefault } = option;
104
+ const body = `${num !== undefined ? `${num}) ` : ''}${label ?? ''}`.trim();
105
+ return isDefault ? `${body} (default)` : body;
106
+ }
107
+ return String(option);
108
+ }
109
+ /**
110
+ * `--prompts` path (Issue #1685): list the resolved-prompt audit trail.
111
+ *
112
+ * Reads prompt messages from chat history instead of the live pane, so the
113
+ * question / options / answer / answeredBy of a prompt Auto-Yes already
114
+ * resolved remain retrievable after the fact — the case where `wait` never
115
+ * exited 10 and `capture --json`'s promptData is already null.
116
+ */
117
+ async function capturePrompts(worktreeId, options) {
118
+ const client = new api_client_1.ApiClient({ token: options.token });
119
+ const limit = parsePromptsLimit(options.limit);
120
+ const query = new URLSearchParams({ messageType: 'prompt', limit: String(limit) });
121
+ if (options.agent)
122
+ query.set('cliTool', options.agent);
123
+ if (options.instance)
124
+ query.set('instance', options.instance);
125
+ const messages = await client.get(`/api/worktrees/${worktreeId}/messages?${query.toString()}`);
126
+ // Defensive: the endpoint already filters, but promptData-less rows would
127
+ // render as empty entries.
128
+ const prompts = messages.filter((m) => m.messageType === 'prompt' && m.promptData);
129
+ if (options.json) {
130
+ console.log(JSON.stringify({
131
+ worktreeId,
132
+ count: prompts.length,
133
+ prompts: prompts.map((m) => ({
134
+ id: m.id,
135
+ timestamp: m.timestamp,
136
+ cliToolId: m.cliToolId ?? null,
137
+ instanceId: m.instanceId ?? null,
138
+ type: m.promptData.type,
139
+ question: m.promptData.question,
140
+ options: m.promptData.options ?? null,
141
+ status: m.promptData.status ?? null,
142
+ answer: m.promptData.answer ?? null,
143
+ answeredAt: m.promptData.answeredAt ?? null,
144
+ answeredBy: m.promptData.answeredBy ?? null,
145
+ })),
146
+ }, null, 2));
147
+ return;
148
+ }
149
+ if (prompts.length === 0) {
150
+ console.log('No prompt history.');
151
+ return;
152
+ }
153
+ const blocks = prompts.map((m) => {
154
+ const p = m.promptData;
155
+ const answered = p.status === 'answered';
156
+ const header = `${m.timestamp} ${m.cliToolId ?? '-'}/${m.instanceId ?? '-'} [${answered ? `answered:${p.answeredBy ?? 'unknown'}` : 'pending'}]`;
157
+ const lines = [header, ` Q: ${p.question}`];
158
+ if (Array.isArray(p.options) && p.options.length > 0) {
159
+ lines.push(` options: ${p.options.map(formatPromptOption).join(' ')}`);
160
+ }
161
+ if (answered) {
162
+ lines.push(` A: ${p.answer ?? '-'}${p.answeredAt ? ` (${p.answeredAt})` : ''}`);
163
+ }
164
+ return lines.join('\n');
165
+ });
166
+ console.log(blocks.join('\n'));
167
+ }
75
168
  /**
76
169
  * `--pane` path: read the raw tmux pane and render it as a readable transcript.
77
170
  *
@@ -116,8 +209,11 @@ function createCaptureCommand() {
116
209
  .option('--pane', 'Read the raw tmux pane as a transcript, with blank layout rows squeezed')
117
210
  .option('--tail <n>', 'With --pane: keep only the last N lines OF THE SQUEEZED transcript')
118
211
  .option('--raw', 'With --pane: skip the squeeze and print the pane verbatim')
119
- .option('--agent <agent>', 'CLI tool agent (claude, codex, gemini, vibe-local, opencode, copilot, antigravity)')
120
- .option('--instance <id>', 'Agent instance ID: <agent> or <agent>-<n> (e.g. claude-2). Defaults to the agent\'s primary instance.')
212
+ // Issue #1685: audit trail of resolved prompts (question/options/answer/answeredBy)
213
+ .option('--prompts', 'List recent prompts from chat history (including ones Auto-Yes already resolved)')
214
+ .option('--limit <n>', `With --prompts: number of most recent prompts to list (default ${DEFAULT_PROMPTS_LIMIT})`)
215
+ .option('--instance <id>', agent_target_options_1.INSTANCE_OPTION_DESCRIPTION)
216
+ .option('--agent <agent>', agent_target_options_1.AGENT_OPTION_DESCRIPTION)
121
217
  .option('--token <token>', command_helpers_1.TOKEN_WARNING)
122
218
  .action(async (worktreeId, options) => {
123
219
  try {
@@ -141,6 +237,20 @@ function createCaptureCommand() {
141
237
  console.error('Error: --tail and --raw require --pane.');
142
238
  process.exit(types_1.ExitCode.CONFIG_ERROR);
143
239
  }
240
+ // Issue #1685: --prompts reads history, --pane reads the live pane —
241
+ // asking for both at once has no meaningful answer.
242
+ if (options.prompts && options.pane) {
243
+ console.error('Error: --prompts cannot be combined with --pane.');
244
+ process.exit(types_1.ExitCode.CONFIG_ERROR);
245
+ }
246
+ if (!options.prompts && options.limit !== undefined) {
247
+ console.error('Error: --limit requires --prompts.');
248
+ process.exit(types_1.ExitCode.CONFIG_ERROR);
249
+ }
250
+ if (options.prompts) {
251
+ await capturePrompts(worktreeId, options);
252
+ return;
253
+ }
144
254
  if (options.pane) {
145
255
  await capturePane(worktreeId, options);
146
256
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"ls.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/ls.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyDpC;;;GAGG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAwCzC"}
1
+ {"version":3,"file":"ls.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/ls.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyDpC;;;GAGG;AACH,wBAAgB,eAAe,IAAI,OAAO,CA8CzC"}
@@ -77,9 +77,15 @@ function createLsCommand() {
77
77
  worktrees = worktrees.filter(wt => (wt.branch ?? wt.name).startsWith(options.branch));
78
78
  }
79
79
  // Issue #1005: Filter by worktree id prefix. Independent of `--branch`
80
- // (AND-combined when both are given). Front-match / case-sensitive;
81
- // the prefix does not guarantee uniqueness because ids are
82
- // `<repo>-<branch>` slugs and startsWith can match sibling slugs.
80
+ // (AND-combined when both are given). Front-match / case-sensitive.
81
+ //
82
+ // Matched against the CURRENT ids only (Issue #1621): `/api/worktrees`
83
+ // returns live rows, and historical ids resolve exactly — never by
84
+ // prefix — via the alias table on the routes that take an `<id>`
85
+ // argument. A prefix still does not guarantee uniqueness: ids are now
86
+ // directory-basename slugs (`commandmate-issue-1644`), so sibling
87
+ // worktrees of the same feature share a prefix just as `<repo>-<branch>`
88
+ // slugs used to.
83
89
  if (options.id) {
84
90
  worktrees = worktrees.filter(wt => wt.id.startsWith(options.id));
85
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"respond.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/respond.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,oBAAoB,IAAI,OAAO,CAyE9C"}
1
+ {"version":3,"file":"respond.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/respond.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,oBAAoB,IAAI,OAAO,CAgG9C"}
@@ -12,15 +12,17 @@ const types_1 = require("../types");
12
12
  const api_client_1 = require("../utils/api-client");
13
13
  const command_helpers_1 = require("../utils/command-helpers");
14
14
  const cli_tool_ids_1 = require("../config/cli-tool-ids");
15
+ const agent_target_options_1 = require("../config/agent-target-options");
15
16
  const instances_1 = require("./instances");
16
17
  function createRespondCommand() {
17
18
  const cmd = new commander_1.Command('respond');
18
19
  cmd
19
20
  .description("Respond to an agent's prompt (yes/no, number, or text)")
20
21
  .argument('<worktree-id>', 'Worktree ID')
21
- .argument('<answer>', 'Response answer (yes, no, number, or free text)')
22
- .option('--agent <agent>', 'CLI tool agent (claude, codex, gemini, vibe-local, opencode, copilot, antigravity)')
23
- .option('--instance <id>', 'Agent instance ID: <agent> or <agent>-<n> (e.g. claude-2). Defaults to the agent\'s primary instance.')
22
+ .argument('[answer]', 'Response answer (yes, no, number, or free text)')
23
+ .option('--default', "Select the prompt's default option (mutually exclusive with <answer>)")
24
+ .option('--instance <id>', agent_target_options_1.INSTANCE_OPTION_DESCRIPTION)
25
+ .option('--agent <agent>', agent_target_options_1.AGENT_OPTION_DESCRIPTION)
24
26
  .option('--token <token>', command_helpers_1.TOKEN_WARNING)
25
27
  .action(async (worktreeId, answer, options) => {
26
28
  try {
@@ -39,9 +41,14 @@ function createRespondCommand() {
39
41
  console.error('Error: Invalid --instance. Must be an alphanumeric/underscore/hyphen identifier (max 64 chars).');
40
42
  process.exit(types_1.ExitCode.CONFIG_ERROR);
41
43
  }
42
- // Validate answer is not empty
43
- if (!answer.trim()) {
44
- console.error('Error: Answer cannot be empty.');
44
+ // Issue #1681: exactly one of <answer> / --default
45
+ const useDefault = options.default === true;
46
+ if (useDefault && answer !== undefined) {
47
+ console.error('Error: <answer> and --default are mutually exclusive.');
48
+ process.exit(types_1.ExitCode.CONFIG_ERROR);
49
+ }
50
+ if (!useDefault && (answer === undefined || !answer.trim())) {
51
+ console.error('Error: Answer cannot be empty. Provide an answer or --default.');
45
52
  process.exit(types_1.ExitCode.CONFIG_ERROR);
46
53
  }
47
54
  const client = new api_client_1.ApiClient({ token: options.token });
@@ -53,7 +60,7 @@ function createRespondCommand() {
53
60
  ? await (0, instances_1.resolveInstanceCliTool)(client, worktreeId, options.instance, options.agent)
54
61
  : options.agent;
55
62
  // [DR2-06] Use prompt-response API with cliTool (not cliToolId)
56
- const body = { answer };
63
+ const body = useDefault ? { useDefault: true } : { answer };
57
64
  if (agent) {
58
65
  body.cliTool = agent;
59
66
  }
@@ -65,9 +72,28 @@ function createRespondCommand() {
65
72
  if (result && !result.success) {
66
73
  // [DR2-06] Check reason for failure
67
74
  const reason = result.reason || 'unknown';
68
- console.error(`Warning: Response may not have been applied. Reason: ${reason}`);
75
+ if (reason === 'unresolvable_answer') {
76
+ // Issue #1681: nothing was sent to the terminal.
77
+ console.error(`Error: Answer was not sent. Reason: ${reason}${result.message ? ` (${result.message})` : ''}`);
78
+ }
79
+ else {
80
+ console.error(`Warning: Response may not have been applied. Reason: ${reason}`);
81
+ }
69
82
  process.exit(types_1.ExitCode.UNEXPECTED_ERROR);
70
83
  }
84
+ // Issue #1681: audit trail — print which option was actually selected.
85
+ const resolved = result?.resolved;
86
+ if (resolved) {
87
+ if (resolved.via === 'semantic') {
88
+ console.log(`Resolved "${answer}" to option ${resolved.optionNumber}: ${resolved.optionLabel}`);
89
+ }
90
+ else if (resolved.optionNumber !== undefined) {
91
+ console.log(`Selected default option ${resolved.optionNumber}: ${resolved.optionLabel}`);
92
+ }
93
+ else {
94
+ console.log(`Selected default answer: ${resolved.optionLabel}`);
95
+ }
96
+ }
71
97
  console.error('Response sent.');
72
98
  }
73
99
  catch (error) {
@@ -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;AAgKpC,wBAAgB,iBAAiB,IAAI,OAAO,CAoK3C"}
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;AAiKpC,wBAAgB,iBAAiB,IAAI,OAAO,CAoK3C"}
@@ -11,6 +11,7 @@ const api_client_1 = require("../utils/api-client");
11
11
  const command_helpers_1 = require("../utils/command-helpers");
12
12
  const duration_constants_1 = require("../config/duration-constants");
13
13
  const cli_tool_ids_1 = require("../config/cli-tool-ids");
14
+ const agent_target_options_1 = require("../config/agent-target-options");
14
15
  const model_validation_1 = require("../config/model-validation");
15
16
  const agent_instances_1 = require("../utils/agent-instances");
16
17
  const instances_1 = require("./instances");
@@ -132,13 +133,13 @@ function createSendCommand() {
132
133
  .description('Send a message to a worktree agent')
133
134
  .argument('<worktree-id>', 'Worktree ID')
134
135
  .argument('[message]', 'Message to send (omit when using --contract)')
135
- .option('--agent <agent>', 'CLI tool agent (claude, codex, gemini, vibe-local, opencode, copilot, antigravity)')
136
- .option('--instance <id>', 'Agent instance ID: <agent> or <agent>-<n> (e.g. claude-2). Defaults to the agent\'s primary instance.')
137
- .option('--register', 'Register the --instance session into the agent-instance roster (Issue #1000)')
136
+ .option('--instance <id>', agent_target_options_1.INSTANCE_OPTION_DESCRIPTION)
137
+ .option('--agent <agent>', agent_target_options_1.AGENT_OPTION_DESCRIPTION)
138
+ .option('--register', 'Register the --instance session into the agent-instance roster (needs --agent unless the instance id is itself a CLI tool id)')
138
139
  .option('--model <model>', 'Specify AI model for Copilot or Antigravity agent')
139
- .option('--auto-yes', 'Enable auto-yes before sending')
140
+ .option('--auto-yes', 'Enable auto-yes before sending (session-wide, no policy guard; for unattended runs prefer --contract with an autoYes policy)')
140
141
  .option('--duration <duration>', `Auto-yes duration (${duration_constants_1.ALLOWED_DURATIONS.join(', ')})`)
141
- .option('--stop-pattern <pattern>', 'Auto-yes stop pattern (regex)')
142
+ .option('--stop-pattern <pattern>', 'Auto-yes stop pattern (regex). Matched against terminal output; cannot block commands (use the task contract\'s autoYes.denyPatterns for that)')
142
143
  .option('--contract <path>', 'Execution contract path relative to the worktree root (e.g. .commandmate/tasks/my-task.yaml). Records a task and sends the contract preamble plus its goal.')
143
144
  .option('--token <token>', command_helpers_1.TOKEN_WARNING)
144
145
  .action(async (worktreeId, message, options) => {
@@ -7,7 +7,7 @@
7
7
  * Nothing here prints an absolute path, a token or an artifact URL: the API does
8
8
  * not serve them, and these functions must not reconstruct them either.
9
9
  */
10
- import type { SkillCatalogMeta, SkillCatalogSummary, SkillInstallPlan, SkillUninstallPlan } from '../types/api-responses';
10
+ import type { SkillCatalogMeta, SkillCatalogSummary, SkillInstallPlan, SkillUninstallPlan, SkillUpdatePlan } from '../types/api-responses';
11
11
  /**
12
12
  * Freshness notice for a Catalog response, or null when it was confirmed current.
13
13
  * Belongs on stderr: it qualifies the listing rather than being part of it.
@@ -23,6 +23,12 @@ export declare function formatSkillDetail(skill: SkillCatalogSummary, version?:
23
23
  export declare function formatInstallRoots(roots: readonly string[] | undefined, primary: string): string;
24
24
  /** The install preview: what lands, where, at what risk, and what stands in the way. */
25
25
  export declare function formatInstallPlan(plan: SkillInstallPlan): string;
26
+ /**
27
+ * The update preview (Issue #1243): the version move, the security-relevant
28
+ * differences, the file diff totals, and every reason the update is refused.
29
+ * Shows the same facts the browser dialog shows, in the same order.
30
+ */
31
+ export declare function formatUpdatePlan(plan: SkillUpdatePlan): string;
26
32
  /** The uninstall preview: what would be deleted, what would stay, and why. */
27
33
  export declare function formatUninstallPlan(plan: SkillUninstallPlan): string;
28
34
  //# sourceMappingURL=skill-format.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill-format.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/skill-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAgBhC;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAI/E;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAatE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CA2CtF;AAMD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhG;AAED,wFAAwF;AACxF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CA8ChE;AAED,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CA2BpE"}
1
+ {"version":3,"file":"skill-format.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/skill-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAgBhC;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,GAAG,IAAI,CAI/E;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAatE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CA2CtF;AAMD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhG;AAED,wFAAwF;AACxF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CA8ChE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAwE9D;AAED,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CA2BpE"}
@@ -14,6 +14,7 @@ exports.formatSkillTable = formatSkillTable;
14
14
  exports.formatSkillDetail = formatSkillDetail;
15
15
  exports.formatInstallRoots = formatInstallRoots;
16
16
  exports.formatInstallPlan = formatInstallPlan;
17
+ exports.formatUpdatePlan = formatUpdatePlan;
17
18
  exports.formatUninstallPlan = formatUninstallPlan;
18
19
  /** [DR1-08 consistency] Mirrors ls.ts / instances.ts table rendering. */
19
20
  function formatTable(headers, rows) {
@@ -133,6 +134,72 @@ function formatInstallPlan(plan) {
133
134
  }
134
135
  return lines.join('\n');
135
136
  }
137
+ /**
138
+ * The update preview (Issue #1243): the version move, the security-relevant
139
+ * differences, the file diff totals, and every reason the update is refused.
140
+ * Shows the same facts the browser dialog shows, in the same order.
141
+ */
142
+ function formatUpdatePlan(plan) {
143
+ const { skill, target, update, securityDiff, stats } = plan;
144
+ const lines = [
145
+ `Update plan: ${skill.name} (${skill.id}) ${update.fromVersion} -> ${update.toVersion}`,
146
+ '',
147
+ `Target: ${target.repositoryName} / ${target.worktreeName} (${target.worktreeId})`,
148
+ `Branch: ${target.branch ?? `(${target.headState})`}${target.workingTreeDirty ? ' [working tree dirty]' : ''}`,
149
+ `Install root: ${formatInstallRoots(target.installRoots, target.installRoot)}`,
150
+ `Risk: ${securityDiff.risk.from.effective} -> ${securityDiff.risk.to.effective}${securityDiff.risk.increased ? ' [RISK INCREASE]' : ''}`,
151
+ `Compatibility: ${skill.compatibility.commandmate.status} — ${skill.compatibility.commandmate.message}`,
152
+ ];
153
+ if (update.latestVersion && update.latestVersion !== update.toVersion) {
154
+ lines.push(`Newest: ${update.latestVersion} (not selected)`);
155
+ }
156
+ if (securityDiff.permissions.added.length > 0) {
157
+ lines.push(formatList('Perms added: ', securityDiff.permissions.added));
158
+ }
159
+ if (securityDiff.permissions.removed.length > 0) {
160
+ lines.push(formatList('Perms removed:', securityDiff.permissions.removed));
161
+ }
162
+ if (securityDiff.scripts.added.length > 0) {
163
+ lines.push(formatList('New scripts: ', securityDiff.scripts.added));
164
+ }
165
+ if (securityDiff.scripts.removed.length > 0) {
166
+ lines.push(formatList('Scripts gone: ', securityDiff.scripts.removed));
167
+ }
168
+ if (securityDiff.executables.added.length > 0) {
169
+ lines.push(formatList('New execs: ', securityDiff.executables.added));
170
+ }
171
+ lines.push(`Changes: +${stats.added} added, ~${stats.updated} updated, -${stats.removed} removed, =${stats.unchanged} unchanged`);
172
+ const localFindings = stats.localModified + stats.localMissing + stats.localUnknown + stats.irregular;
173
+ if (localFindings > 0) {
174
+ lines.push(`Local: ${stats.localModified} modified, ${stats.localMissing} missing, ${stats.localUnknown} unmanaged, ${stats.irregular} irregular`);
175
+ }
176
+ for (const entry of securityDiff.changelogs) {
177
+ lines.push(`Changelog ${entry.version}:`);
178
+ for (const changelogLine of entry.changelog.split('\n')) {
179
+ lines.push(` ${changelogLine}`);
180
+ }
181
+ }
182
+ if (plan.warnings.length > 0) {
183
+ lines.push(`Warnings: ${plan.warnings.join(', ')}`);
184
+ }
185
+ if (plan.blockers.length > 0) {
186
+ lines.push('Blockers:');
187
+ for (const blocker of plan.blockers) {
188
+ lines.push(` - ${blocker.code}${blocker.detail ? ` (${blocker.detail})` : ''}${blocker.path ? `: ${blocker.path}` : ''}`);
189
+ }
190
+ }
191
+ lines.push(plan.updatable
192
+ ? 'Updatable: yes'
193
+ : 'Updatable: no — nothing would be written');
194
+ if (plan.requiresRiskAcknowledgement) {
195
+ lines.push(`High risk: applying this update will require an explicit acknowledgement of ${skill.id}@${update.toVersion}`);
196
+ }
197
+ if (plan.riskIncreased) {
198
+ lines.push('Risk rises: applying this update will require a separate risk-increase confirmation');
199
+ }
200
+ lines.push(`Next action: ${plan.nextActionKey}`);
201
+ return lines.join('\n');
202
+ }
136
203
  /** The uninstall preview: what would be deleted, what would stay, and why. */
137
204
  function formatUninstallPlan(plan) {
138
205
  const { skill, target, stats } = plan;
@@ -5,6 +5,8 @@
5
5
  * commandmate skill list [--json]
6
6
  * commandmate skill info <skill-id> [--version <v>] [--json]
7
7
  * commandmate skill plan <skill-id> --worktree <id> [--version <v>] [--json]
8
+ * commandmate skill update-plan <skill-id> --worktree <id> [--version <v>] [--range <r>] [--json]
9
+ * commandmate skill update <skill-id> --worktree <id> [--version <v>] [--dry-run] [--yes] [--ack-risk <id>@<version>] [--ack-risk-increase]
8
10
  * commandmate skill install <skill-id> --worktree <id> --version <exact> [--dry-run] [--yes] [--ack-risk <id>@<version>] [--git current|dedicated] [--push] [--pr]
9
11
  * commandmate skill uninstall <skill-id> --worktree <id> [--dry-run] [--yes] [--json]
10
12
  * commandmate skill status <skill-id> --worktree <id> [--json]
@@ -1 +1 @@
1
- {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/skill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0gBpC,wBAAgB,kBAAkB,IAAI,OAAO,CAkJ5C"}
1
+ {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/skill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2qBpC,wBAAgB,kBAAkB,IAAI,OAAO,CAgM5C"}