commandmate 0.31.3 → 0.32.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 (802) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +487 -473
  3. package/.next/app-path-routes-manifest.json +37 -35
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/prerender-manifest.json +9 -9
  6. package/.next/react-loadable-manifest.json +2 -2
  7. package/.next/required-server-files.json +1 -1
  8. package/.next/routes-manifest.json +8 -0
  9. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -1
  11. package/.next/server/app/api/agents/versions/route_client-reference-manifest.js +1 -1
  12. package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/app/update-check/route.js +1 -1
  14. package/.next/server/app/api/app/update-check/route.js.nft.json +1 -1
  15. package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/assistant/conversation/route.js +1 -1
  17. package/.next/server/app/api/assistant/conversation/route.js.nft.json +1 -1
  18. package/.next/server/app/api/assistant/conversation/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/assistant/current-output/route.js +1 -1
  20. package/.next/server/app/api/assistant/current-output/route.js.nft.json +1 -1
  21. package/.next/server/app/api/assistant/current-output/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/assistant/messages/route.js +1 -1
  23. package/.next/server/app/api/assistant/messages/route.js.nft.json +1 -1
  24. package/.next/server/app/api/assistant/messages/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/assistant/session/route.js +1 -1
  26. package/.next/server/app/api/assistant/session/route.js.nft.json +1 -1
  27. package/.next/server/app/api/assistant/session/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/assistant/start/route.js +1 -32
  29. package/.next/server/app/api/assistant/start/route.js.nft.json +1 -1
  30. package/.next/server/app/api/assistant/start/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/assistant/terminal/route.js +2 -33
  32. package/.next/server/app/api/assistant/terminal/route.js.nft.json +1 -1
  33. package/.next/server/app/api/assistant/terminal/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/assistant/tools/route.js +1 -1
  35. package/.next/server/app/api/assistant/tools/route.js.nft.json +1 -1
  36. package/.next/server/app/api/assistant/tools/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/capabilities/route.js +1 -1
  41. package/.next/server/app/api/capabilities/route.js.nft.json +1 -1
  42. package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  45. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  48. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/hooks/agent-event/route.js +1 -1
  51. package/.next/server/app/api/hooks/agent-event/route.js.nft.json +1 -1
  52. package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
  53. package/.next/server/app/api/hooks/claude-done/route.js +2 -2
  54. package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
  55. package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
  56. package/.next/server/app/api/hooks/permission-request/route.js +1 -1
  57. package/.next/server/app/api/hooks/permission-request/route.js.nft.json +1 -1
  58. package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
  60. package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  61. package/.next/server/app/api/push/escalation/route.js +1 -1
  62. package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/push/subscriptions/route.js +1 -1
  64. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/push/vapid/route.js +1 -1
  66. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  67. package/.next/server/app/api/relays/[relayId]/cancel/route.js +1 -0
  68. package/.next/server/app/api/relays/[relayId]/cancel/route.js.nft.json +1 -0
  69. package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -0
  70. package/.next/server/app/api/relays/route.js +1 -0
  71. package/.next/server/app/api/relays/route.js.nft.json +1 -0
  72. package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -0
  73. package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/repositories/[id]/todos/[todoId]/route.js +1 -1
  76. package/.next/server/app/api/repositories/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/repositories/[id]/todos/route.js +1 -1
  78. package/.next/server/app/api/repositories/[id]/todos/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
  80. package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
  81. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  82. package/.next/server/app/api/repositories/clone/route.js +1 -1
  83. package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
  84. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  86. package/.next/server/app/api/repositories/restore/route.js +1 -1
  87. package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
  88. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/repositories/route.js +1 -1
  90. package/.next/server/app/api/repositories/route.js.nft.json +1 -1
  91. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  92. package/.next/server/app/api/repositories/scan/route.js +1 -1
  93. package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
  94. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  95. package/.next/server/app/api/repositories/sync/route.js +1 -1
  96. package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
  97. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  98. package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/settings/default-agents/route.js +1 -1
  100. package/.next/server/app/api/settings/default-agents/route.js.nft.json +1 -1
  101. package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
  102. package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  104. package/.next/server/app/api/skills/[id]/route.js +1 -1
  105. package/.next/server/app/api/skills/[id]/route.js.nft.json +1 -1
  106. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  107. package/.next/server/app/api/skills/installations/route.js +1 -1
  108. package/.next/server/app/api/skills/installations/route.js.nft.json +1 -1
  109. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
  110. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
  111. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
  112. package/.next/server/app/api/skills/route.js +1 -1
  113. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  114. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  115. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  116. package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/tasks/[taskId]/route.js +1 -1
  118. package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  119. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  121. package/.next/server/app/api/todos/route.js +1 -1
  122. package/.next/server/app/api/todos/route_client-reference-manifest.js +1 -1
  123. package/.next/server/app/api/verification/runs/[runId]/route.js +1 -1
  124. package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
  125. package/.next/server/app/api/verification/runs/route.js +1 -1
  126. package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
  127. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
  128. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
  129. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  130. package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -1
  131. package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
  132. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  133. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js +1 -1
  134. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js.nft.json +1 -1
  135. package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
  136. package/.next/server/app/api/worktrees/[id]/cli-reference/route.js +1 -1
  137. package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
  138. package/.next/server/app/api/worktrees/[id]/cli-tool/route.js +1 -1
  139. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  140. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +1 -1
  141. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  142. package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
  143. package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
  144. package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
  145. package/.next/server/app/api/worktrees/[id]/env/route.js +1 -1
  146. package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
  147. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js +1 -1
  148. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
  149. package/.next/server/app/api/worktrees/[id]/execution-logs/route.js +1 -1
  150. package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
  151. package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
  152. package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js +1 -1
  153. package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
  154. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js +1 -1
  155. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
  156. package/.next/server/app/api/worktrees/[id]/git/branches/route.js +1 -1
  157. package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
  158. package/.next/server/app/api/worktrees/[id]/git/checkout/route.js +1 -1
  159. package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
  160. package/.next/server/app/api/worktrees/[id]/git/commit/route.js +1 -1
  161. package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
  162. package/.next/server/app/api/worktrees/[id]/git/diff/route.js +1 -1
  163. package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
  164. package/.next/server/app/api/worktrees/[id]/git/fetch/route.js +1 -1
  165. package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
  166. package/.next/server/app/api/worktrees/[id]/git/log/route.js +1 -1
  167. package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
  168. package/.next/server/app/api/worktrees/[id]/git/pull/route.js +1 -1
  169. package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
  170. package/.next/server/app/api/worktrees/[id]/git/push/route.js +1 -1
  171. package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
  172. package/.next/server/app/api/worktrees/[id]/git/reset/route.js +1 -1
  173. package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
  174. package/.next/server/app/api/worktrees/[id]/git/revert/route.js +1 -1
  175. package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
  176. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js +1 -1
  177. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
  178. package/.next/server/app/api/worktrees/[id]/git/stage/route.js +1 -1
  179. package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
  180. package/.next/server/app/api/worktrees/[id]/git/staged/route.js +1 -1
  181. package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
  182. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js +1 -1
  183. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
  184. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js +1 -1
  185. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
  186. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js +1 -1
  187. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
  188. package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js +1 -1
  189. package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
  190. package/.next/server/app/api/worktrees/[id]/git/stash/route.js +1 -1
  191. package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
  192. package/.next/server/app/api/worktrees/[id]/git/status/route.js +1 -1
  193. package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
  194. package/.next/server/app/api/worktrees/[id]/git/unstage/route.js +1 -1
  195. package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
  196. package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js +1 -1
  197. package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
  198. package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js +1 -1
  199. package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js.nft.json +1 -1
  200. package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
  201. package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
  202. package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
  203. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  204. package/.next/server/app/api/worktrees/[id]/kill-session/route.js +1 -1
  205. package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
  206. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  207. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js +1 -1
  208. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  209. package/.next/server/app/api/worktrees/[id]/logs/route.js +1 -1
  210. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  211. package/.next/server/app/api/worktrees/[id]/marp-render/route.js +1 -1
  212. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  213. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js +1 -1
  214. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  215. package/.next/server/app/api/worktrees/[id]/memos/route.js +1 -1
  216. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  217. package/.next/server/app/api/worktrees/[id]/messages/route.js +1 -1
  218. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  219. package/.next/server/app/api/worktrees/[id]/opencode/diff/route.js +1 -1
  220. package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
  221. package/.next/server/app/api/worktrees/[id]/opencode/session/route.js +2 -1
  222. package/.next/server/app/api/worktrees/[id]/opencode/session/route.js.nft.json +1 -1
  223. package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
  224. package/.next/server/app/api/worktrees/[id]/opencode/share/route.js +2 -1
  225. package/.next/server/app/api/worktrees/[id]/opencode/share/route.js.nft.json +1 -1
  226. package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
  227. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
  228. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
  229. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  230. package/.next/server/app/api/worktrees/[id]/resolve-target/route.js +1 -1
  231. package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
  232. package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
  233. package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
  234. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  235. package/.next/server/app/api/worktrees/[id]/route.js +1 -1
  236. package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
  237. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  238. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +1 -1
  239. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  240. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +1 -1
  241. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  242. package/.next/server/app/api/worktrees/[id]/schedules/route.js +1 -1
  243. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  244. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  245. package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
  246. package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
  247. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  248. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js +103 -1
  249. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
  250. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
  251. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  252. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js +1 -1
  253. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js.nft.json +1 -1
  254. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  255. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  256. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  257. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
  258. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js +1 -1
  259. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js.nft.json +1 -1
  260. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
  261. package/.next/server/app/api/worktrees/[id]/skills/route.js +1 -1
  262. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  263. package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
  264. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  265. package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
  266. package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
  267. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  268. package/.next/server/app/api/worktrees/[id]/tasks/route.js +1 -1
  269. package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
  270. package/.next/server/app/api/worktrees/[id]/terminal/route.js +1 -1
  271. package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
  272. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  273. package/.next/server/app/api/worktrees/[id]/timers/history/route.js +1 -1
  274. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  275. package/.next/server/app/api/worktrees/[id]/timers/route.js +1 -1
  276. package/.next/server/app/api/worktrees/[id]/timers/route.js.nft.json +1 -1
  277. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  278. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js +1 -1
  279. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  280. package/.next/server/app/api/worktrees/[id]/todos/route.js +1 -1
  281. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  282. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  283. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  284. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  285. package/.next/server/app/api/worktrees/[id]/verify/config/route.js +1 -1
  286. package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
  287. package/.next/server/app/api/worktrees/[id]/verify/route.js +1 -1
  288. package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
  289. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js +1 -1
  290. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
  291. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js +1 -1
  292. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
  293. package/.next/server/app/api/worktrees/[id]/verify/runs/route.js +1 -1
  294. package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
  295. package/.next/server/app/api/worktrees/[id]/viewed/route.js +1 -1
  296. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  297. package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
  298. package/.next/server/app/api/worktrees/route.js +1 -1
  299. package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
  300. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  301. package/.next/server/app/chat/page.js +2 -2
  302. package/.next/server/app/chat/page.js.nft.json +1 -1
  303. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  304. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  305. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  306. package/.next/server/app/more/page.js +2 -2
  307. package/.next/server/app/more/page.js.nft.json +1 -1
  308. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  309. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  310. package/.next/server/app/page.js +1 -1
  311. package/.next/server/app/page.js.nft.json +1 -1
  312. package/.next/server/app/page_client-reference-manifest.js +1 -1
  313. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  314. package/.next/server/app/repositories/page.js +2 -2
  315. package/.next/server/app/repositories/page.js.nft.json +1 -1
  316. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  317. package/.next/server/app/review/page.js +1 -1
  318. package/.next/server/app/review/page.js.nft.json +1 -1
  319. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  320. package/.next/server/app/sessions/page.js +1 -1
  321. package/.next/server/app/sessions/page.js.nft.json +1 -1
  322. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  323. package/.next/server/app/skills/[skillId]/page.js +2 -2
  324. package/.next/server/app/skills/[skillId]/page.js.nft.json +1 -1
  325. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  326. package/.next/server/app/skills/installed/page.js +2 -2
  327. package/.next/server/app/skills/installed/page.js.nft.json +1 -1
  328. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
  329. package/.next/server/app/skills/page.js +1 -1
  330. package/.next/server/app/skills/page.js.nft.json +1 -1
  331. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  332. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  333. package/.next/server/app/worktrees/[id]/page.js +11 -11
  334. package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
  335. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  336. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  337. package/.next/server/app-paths-manifest.json +37 -35
  338. package/.next/server/chunks/1210.js +1 -0
  339. package/.next/server/chunks/153.js +1 -0
  340. package/.next/server/chunks/1886.js +1 -1
  341. package/.next/server/chunks/21.js +1 -0
  342. package/.next/server/chunks/2119.js +1 -1
  343. package/.next/server/chunks/2445.js +1 -1
  344. package/.next/server/chunks/3077.js +67 -0
  345. package/.next/server/chunks/3086.js +1 -0
  346. package/.next/server/chunks/3241.js +1 -1
  347. package/.next/server/chunks/3270.js +1 -0
  348. package/.next/server/chunks/3543.js +1 -1
  349. package/.next/server/chunks/3730.js +1 -0
  350. package/.next/server/chunks/3925.js +1 -0
  351. package/.next/server/chunks/3945.js +1 -1
  352. package/.next/server/chunks/4443.js +2 -1
  353. package/.next/server/chunks/5043.js +1 -1
  354. package/.next/server/chunks/5164.js +1 -1
  355. package/.next/server/chunks/5220.js +1 -1
  356. package/.next/server/chunks/5354.js +1 -1
  357. package/.next/server/chunks/595.js +3 -3
  358. package/.next/server/chunks/6286.js +48 -0
  359. package/.next/server/chunks/6306.js +1 -0
  360. package/.next/server/chunks/6363.js +1 -0
  361. package/.next/server/chunks/6401.js +1 -1
  362. package/.next/server/chunks/6491.js +103 -0
  363. package/.next/server/chunks/{9798.js → 6661.js} +1 -2
  364. package/.next/server/chunks/6838.js +1 -0
  365. package/.next/server/chunks/7875.js +25 -0
  366. package/.next/server/chunks/7890.js +1 -0
  367. package/.next/server/chunks/8063.js +32 -0
  368. package/.next/server/chunks/8118.js +1 -1
  369. package/.next/server/chunks/{7587.js → 8554.js} +1 -1
  370. package/.next/server/chunks/8687.js +1 -0
  371. package/.next/server/chunks/8807.js +37 -3
  372. package/.next/server/chunks/8918.js +6 -4
  373. package/.next/server/chunks/9123.js +2 -2
  374. package/.next/server/chunks/9584.js +1 -1
  375. package/.next/server/chunks/9627.js +21 -5
  376. package/.next/server/middleware-build-manifest.js +1 -1
  377. package/.next/server/middleware-manifest.json +5 -5
  378. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  379. package/.next/server/pages/500.html +1 -1
  380. package/.next/server/server-reference-manifest.json +1 -1
  381. package/.next/static/UIUPchtWvcEuQgcbGJv4g/_buildManifest.js +1 -0
  382. package/.next/static/chunks/{5694.dda65070757534df.js → 3313.53f7ff985c0c8852.js} +1 -1
  383. package/.next/static/chunks/4718-0053d42fb635e700.js +1 -0
  384. package/.next/static/chunks/{4974-35592ec312322124.js → 5694-498765336d0b8c2b.js} +1 -1
  385. package/.next/static/chunks/{7485.442b21101fca7257.js → 7485.52361bc061cc663a.js} +1 -1
  386. package/.next/static/chunks/8019-cbf130d0e6334d2d.js +1 -0
  387. package/.next/static/chunks/8361-9bb887203c456edb.js +1 -0
  388. package/.next/static/chunks/8772-9be53a530950d804.js +1 -0
  389. package/.next/static/chunks/998-ac0ded6d5eeb4dc0.js +1 -0
  390. package/.next/static/chunks/app/api/agents/update/route-8bc5b680c5f3eae4.js +1 -0
  391. package/.next/static/chunks/app/api/agents/versions/route-8bc5b680c5f3eae4.js +1 -0
  392. package/.next/static/chunks/app/api/app/update/route-8bc5b680c5f3eae4.js +1 -0
  393. package/.next/static/chunks/app/api/app/update-check/route-8bc5b680c5f3eae4.js +1 -0
  394. package/.next/static/chunks/app/api/assistant/conversation/route-8bc5b680c5f3eae4.js +1 -0
  395. package/.next/static/chunks/app/api/assistant/current-output/route-8bc5b680c5f3eae4.js +1 -0
  396. package/.next/static/chunks/app/api/assistant/messages/route-8bc5b680c5f3eae4.js +1 -0
  397. package/.next/static/chunks/app/api/assistant/session/route-8bc5b680c5f3eae4.js +1 -0
  398. package/.next/static/chunks/app/api/assistant/start/route-8bc5b680c5f3eae4.js +1 -0
  399. package/.next/static/chunks/app/api/assistant/terminal/route-8bc5b680c5f3eae4.js +1 -0
  400. package/.next/static/chunks/app/api/assistant/tools/route-8bc5b680c5f3eae4.js +1 -0
  401. package/.next/static/chunks/app/api/auth/login/route-8bc5b680c5f3eae4.js +1 -0
  402. package/.next/static/chunks/app/api/auth/logout/route-8bc5b680c5f3eae4.js +1 -0
  403. package/.next/static/chunks/app/api/auth/status/route-8bc5b680c5f3eae4.js +1 -0
  404. package/.next/static/chunks/app/api/capabilities/route-8bc5b680c5f3eae4.js +1 -0
  405. package/.next/static/chunks/app/api/daily-summary/route-8bc5b680c5f3eae4.js +1 -0
  406. package/.next/static/chunks/app/api/daily-summary/status/route-8bc5b680c5f3eae4.js +1 -0
  407. package/.next/static/chunks/app/api/external-apps/[id]/health/route-8bc5b680c5f3eae4.js +1 -0
  408. package/.next/static/chunks/app/api/external-apps/[id]/route-8bc5b680c5f3eae4.js +1 -0
  409. package/.next/static/chunks/app/api/external-apps/route-8bc5b680c5f3eae4.js +1 -0
  410. package/.next/static/chunks/app/api/fs/browse/route-8bc5b680c5f3eae4.js +1 -0
  411. package/.next/static/chunks/app/api/fs/recent-paths/route-8bc5b680c5f3eae4.js +1 -0
  412. package/.next/static/chunks/app/api/hooks/agent-event/route-8bc5b680c5f3eae4.js +1 -0
  413. package/.next/static/chunks/app/api/hooks/claude-done/route-8bc5b680c5f3eae4.js +1 -0
  414. package/.next/static/chunks/app/api/hooks/permission-request/route-8bc5b680c5f3eae4.js +1 -0
  415. package/.next/static/chunks/app/api/metrics/vibe/route-8bc5b680c5f3eae4.js +1 -0
  416. package/.next/static/chunks/app/api/ollama/models/route-8bc5b680c5f3eae4.js +1 -0
  417. package/.next/static/chunks/app/api/push/escalation/route-8bc5b680c5f3eae4.js +1 -0
  418. package/.next/static/chunks/app/api/push/subscriptions/route-8bc5b680c5f3eae4.js +1 -0
  419. package/.next/static/chunks/app/api/push/vapid/route-8bc5b680c5f3eae4.js +1 -0
  420. package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-8bc5b680c5f3eae4.js +1 -0
  421. package/.next/static/chunks/app/api/relays/route-8bc5b680c5f3eae4.js +1 -0
  422. package/.next/static/chunks/app/api/remote/pair/route-8bc5b680c5f3eae4.js +1 -0
  423. package/.next/static/chunks/app/api/repositories/[id]/route-8bc5b680c5f3eae4.js +1 -0
  424. package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-8bc5b680c5f3eae4.js +1 -0
  425. package/.next/static/chunks/app/api/repositories/[id]/todos/route-8bc5b680c5f3eae4.js +1 -0
  426. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-8bc5b680c5f3eae4.js +1 -0
  427. package/.next/static/chunks/app/api/repositories/clone/route-8bc5b680c5f3eae4.js +1 -0
  428. package/.next/static/chunks/app/api/repositories/excluded/route-8bc5b680c5f3eae4.js +1 -0
  429. package/.next/static/chunks/app/api/repositories/restore/route-8bc5b680c5f3eae4.js +1 -0
  430. package/.next/static/chunks/app/api/repositories/route-8bc5b680c5f3eae4.js +1 -0
  431. package/.next/static/chunks/app/api/repositories/scan/route-8bc5b680c5f3eae4.js +1 -0
  432. package/.next/static/chunks/app/api/repositories/sync/route-8bc5b680c5f3eae4.js +1 -0
  433. package/.next/static/chunks/app/api/repositories/validate-path/route-8bc5b680c5f3eae4.js +1 -0
  434. package/.next/static/chunks/app/api/settings/default-agents/route-8bc5b680c5f3eae4.js +1 -0
  435. package/.next/static/chunks/app/api/settings/default-surface-mode/route-8bc5b680c5f3eae4.js +1 -0
  436. package/.next/static/chunks/app/api/sidebar/group-order/route-8bc5b680c5f3eae4.js +1 -0
  437. package/.next/static/chunks/app/api/skills/[id]/route-8bc5b680c5f3eae4.js +1 -0
  438. package/.next/static/chunks/app/api/skills/installations/route-8bc5b680c5f3eae4.js +1 -0
  439. package/.next/static/chunks/app/api/skills/operations/route-8bc5b680c5f3eae4.js +1 -0
  440. package/.next/static/chunks/app/api/skills/reindex/route-8bc5b680c5f3eae4.js +1 -0
  441. package/.next/static/chunks/app/api/skills/route-8bc5b680c5f3eae4.js +1 -0
  442. package/.next/static/chunks/app/api/slash-commands/route-8bc5b680c5f3eae4.js +1 -0
  443. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-8bc5b680c5f3eae4.js +1 -0
  444. package/.next/static/chunks/app/api/tasks/[taskId]/route-8bc5b680c5f3eae4.js +1 -0
  445. package/.next/static/chunks/app/api/templates/[id]/route-8bc5b680c5f3eae4.js +1 -0
  446. package/.next/static/chunks/app/api/templates/route-8bc5b680c5f3eae4.js +1 -0
  447. package/.next/static/chunks/app/api/todos/route-8bc5b680c5f3eae4.js +1 -0
  448. package/.next/static/chunks/app/api/verification/runs/[runId]/route-8bc5b680c5f3eae4.js +1 -0
  449. package/.next/static/chunks/app/api/verification/runs/route-8bc5b680c5f3eae4.js +1 -0
  450. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-8bc5b680c5f3eae4.js +1 -0
  451. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-8bc5b680c5f3eae4.js +1 -0
  452. package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-8bc5b680c5f3eae4.js +1 -0
  453. package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-8bc5b680c5f3eae4.js +1 -0
  454. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-8bc5b680c5f3eae4.js +1 -0
  455. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-8bc5b680c5f3eae4.js +1 -0
  456. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-8bc5b680c5f3eae4.js +1 -0
  457. package/.next/static/chunks/app/api/worktrees/[id]/env/route-8bc5b680c5f3eae4.js +1 -0
  458. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-8bc5b680c5f3eae4.js +1 -0
  459. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-8bc5b680c5f3eae4.js +1 -0
  460. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-8bc5b680c5f3eae4.js +1 -0
  461. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-8bc5b680c5f3eae4.js +1 -0
  462. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-8bc5b680c5f3eae4.js +1 -0
  463. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-8bc5b680c5f3eae4.js +1 -0
  464. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-8bc5b680c5f3eae4.js +1 -0
  465. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-8bc5b680c5f3eae4.js +1 -0
  466. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-8bc5b680c5f3eae4.js +1 -0
  467. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-8bc5b680c5f3eae4.js +1 -0
  468. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-8bc5b680c5f3eae4.js +1 -0
  469. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-8bc5b680c5f3eae4.js +1 -0
  470. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-8bc5b680c5f3eae4.js +1 -0
  471. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-8bc5b680c5f3eae4.js +1 -0
  472. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-8bc5b680c5f3eae4.js +1 -0
  473. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-8bc5b680c5f3eae4.js +1 -0
  474. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-8bc5b680c5f3eae4.js +1 -0
  475. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-8bc5b680c5f3eae4.js +1 -0
  476. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-8bc5b680c5f3eae4.js +1 -0
  477. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-8bc5b680c5f3eae4.js +1 -0
  478. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-8bc5b680c5f3eae4.js +1 -0
  479. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-8bc5b680c5f3eae4.js +1 -0
  480. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-8bc5b680c5f3eae4.js +1 -0
  481. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-8bc5b680c5f3eae4.js +1 -0
  482. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-8bc5b680c5f3eae4.js +1 -0
  483. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-8bc5b680c5f3eae4.js +1 -0
  484. package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-8bc5b680c5f3eae4.js +1 -0
  485. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-8bc5b680c5f3eae4.js +1 -0
  486. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-8bc5b680c5f3eae4.js +1 -0
  487. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-8bc5b680c5f3eae4.js +1 -0
  488. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-8bc5b680c5f3eae4.js +1 -0
  489. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-8bc5b680c5f3eae4.js +1 -0
  490. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-8bc5b680c5f3eae4.js +1 -0
  491. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-8bc5b680c5f3eae4.js +1 -0
  492. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-8bc5b680c5f3eae4.js +1 -0
  493. package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-8bc5b680c5f3eae4.js +1 -0
  494. package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-8bc5b680c5f3eae4.js +1 -0
  495. package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-8bc5b680c5f3eae4.js +1 -0
  496. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-8bc5b680c5f3eae4.js +1 -0
  497. package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-8bc5b680c5f3eae4.js +1 -0
  498. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-8bc5b680c5f3eae4.js +1 -0
  499. package/.next/static/chunks/app/api/worktrees/[id]/route-8bc5b680c5f3eae4.js +1 -0
  500. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-8bc5b680c5f3eae4.js +1 -0
  501. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-8bc5b680c5f3eae4.js +1 -0
  502. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-8bc5b680c5f3eae4.js +1 -0
  503. package/.next/static/chunks/app/api/worktrees/[id]/search/route-8bc5b680c5f3eae4.js +1 -0
  504. package/.next/static/chunks/app/api/worktrees/[id]/send/route-8bc5b680c5f3eae4.js +1 -0
  505. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-8bc5b680c5f3eae4.js +1 -0
  506. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-8bc5b680c5f3eae4.js +1 -0
  507. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-8bc5b680c5f3eae4.js +1 -0
  508. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-8bc5b680c5f3eae4.js +1 -0
  509. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-8bc5b680c5f3eae4.js +1 -0
  510. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-8bc5b680c5f3eae4.js +1 -0
  511. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-8bc5b680c5f3eae4.js +1 -0
  512. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-8bc5b680c5f3eae4.js +1 -0
  513. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-8bc5b680c5f3eae4.js +1 -0
  514. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-8bc5b680c5f3eae4.js +1 -0
  515. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-8bc5b680c5f3eae4.js +1 -0
  516. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-8bc5b680c5f3eae4.js +1 -0
  517. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-8bc5b680c5f3eae4.js +1 -0
  518. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-8bc5b680c5f3eae4.js +1 -0
  519. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-8bc5b680c5f3eae4.js +1 -0
  520. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-8bc5b680c5f3eae4.js +1 -0
  521. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-8bc5b680c5f3eae4.js +1 -0
  522. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-8bc5b680c5f3eae4.js +1 -0
  523. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-8bc5b680c5f3eae4.js +1 -0
  524. package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-8bc5b680c5f3eae4.js +1 -0
  525. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-8bc5b680c5f3eae4.js +1 -0
  526. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-8bc5b680c5f3eae4.js +1 -0
  527. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-8bc5b680c5f3eae4.js +1 -0
  528. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-8bc5b680c5f3eae4.js +1 -0
  529. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-8bc5b680c5f3eae4.js +1 -0
  530. package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-8bc5b680c5f3eae4.js +1 -0
  531. package/.next/static/chunks/app/api/worktrees/route-8bc5b680c5f3eae4.js +1 -0
  532. package/.next/static/chunks/app/chat/{page-37d7615d17d7e2a0.js → page-e60d07c4c79602f0.js} +1 -1
  533. package/.next/static/chunks/app/manifest.webmanifest/route-8bc5b680c5f3eae4.js +1 -0
  534. package/.next/static/chunks/app/more/{page-353a3924e6d7968e.js → page-fc94f86aa881489e.js} +1 -1
  535. package/.next/static/chunks/app/{page-c2bf871d953a1d6f.js → page-6871cca022b24807.js} +1 -1
  536. package/.next/static/chunks/app/proxy/[...path]/route-8bc5b680c5f3eae4.js +1 -0
  537. package/.next/static/chunks/app/repositories/{page-7d0f26df0537254c.js → page-788ded1b72963d94.js} +1 -1
  538. package/.next/static/chunks/app/review/{page-e3f141b2829973e9.js → page-35b99baaf3c93b38.js} +1 -1
  539. package/.next/static/chunks/app/sessions/{page-53f188ed9ca49e5f.js → page-fa2d62f3e8436c69.js} +1 -1
  540. package/.next/static/chunks/app/skills/[skillId]/{page-80569b720aea59cc.js → page-06799157652e8fa9.js} +1 -1
  541. package/.next/static/chunks/app/skills/installed/{page-dbd2690ad72da95b.js → page-2f3987e3a131c8d0.js} +1 -1
  542. package/.next/static/chunks/app/skills/{page-dacd36f9c11aa7da.js → page-e70bfcf5ed4e4865.js} +1 -1
  543. package/.next/static/chunks/app/worktrees/[id]/layout-8bc5b680c5f3eae4.js +1 -0
  544. package/.next/static/chunks/app/worktrees/[id]/page-06e1ff5ce2d126fd.js +1 -0
  545. package/.next/static/chunks/webpack-1dc9eb5ebb4fa5ff.js +1 -0
  546. package/.next/static/css/96d94a4ba771efc3.css +1 -0
  547. package/.next/trace +13 -13
  548. package/.next/types/app/api/relays/[relayId]/cancel/route.ts +347 -0
  549. package/.next/types/app/api/relays/route.ts +347 -0
  550. package/.next/types/routes.d.ts +3 -1
  551. package/.next/types/validator.ts +18 -0
  552. package/dist/cli/commands/ask.d.ts +34 -0
  553. package/dist/cli/commands/ask.d.ts.map +1 -0
  554. package/dist/cli/commands/ask.js +494 -0
  555. package/dist/cli/commands/capture.d.ts +20 -0
  556. package/dist/cli/commands/capture.d.ts.map +1 -1
  557. package/dist/cli/commands/capture.js +80 -30
  558. package/dist/cli/commands/docs.d.ts.map +1 -1
  559. package/dist/cli/commands/docs.js +47 -4
  560. package/dist/cli/commands/instances.d.ts +67 -0
  561. package/dist/cli/commands/instances.d.ts.map +1 -1
  562. package/dist/cli/commands/instances.js +103 -7
  563. package/dist/cli/commands/peers.d.ts +64 -0
  564. package/dist/cli/commands/peers.d.ts.map +1 -0
  565. package/dist/cli/commands/peers.js +196 -0
  566. package/dist/cli/commands/relays.d.ts +92 -0
  567. package/dist/cli/commands/relays.d.ts.map +1 -0
  568. package/dist/cli/commands/relays.js +293 -0
  569. package/dist/cli/commands/report.d.ts +3 -0
  570. package/dist/cli/commands/report.d.ts.map +1 -1
  571. package/dist/cli/commands/report.js +29 -1
  572. package/dist/cli/commands/respond.d.ts.map +1 -1
  573. package/dist/cli/commands/respond.js +13 -10
  574. package/dist/cli/commands/send.d.ts.map +1 -1
  575. package/dist/cli/commands/send.js +66 -20
  576. package/dist/cli/commands/task.d.ts.map +1 -1
  577. package/dist/cli/commands/task.js +30 -0
  578. package/dist/cli/commands/wait.d.ts +20 -0
  579. package/dist/cli/commands/wait.d.ts.map +1 -1
  580. package/dist/cli/commands/wait.js +55 -6
  581. package/dist/cli/commands/whoami.d.ts +109 -0
  582. package/dist/cli/commands/whoami.d.ts.map +1 -0
  583. package/dist/cli/commands/whoami.js +271 -0
  584. package/dist/cli/docs/agent-operations.d.ts +25 -1
  585. package/dist/cli/docs/agent-operations.d.ts.map +1 -1
  586. package/dist/cli/docs/agent-operations.js +184 -1
  587. package/dist/cli/index.d.ts +13 -0
  588. package/dist/cli/index.d.ts.map +1 -1
  589. package/dist/cli/index.js +25 -1
  590. package/dist/cli/types/api-responses.d.ts +93 -0
  591. package/dist/cli/types/api-responses.d.ts.map +1 -1
  592. package/dist/cli/types/index.d.ts +16 -0
  593. package/dist/cli/types/index.d.ts.map +1 -1
  594. package/dist/lib/cli/command-reference.d.ts +179 -0
  595. package/dist/lib/cli/command-reference.d.ts.map +1 -0
  596. package/dist/lib/cli/command-reference.js +210 -0
  597. package/dist/lib/detection/ansi.d.ts +14 -1
  598. package/dist/lib/detection/ansi.d.ts.map +1 -1
  599. package/dist/lib/detection/ansi.js +40 -3
  600. package/dist/lib/detection/status-reason.d.ts +28 -0
  601. package/dist/lib/detection/status-reason.d.ts.map +1 -1
  602. package/dist/lib/detection/status-reason.js +28 -0
  603. package/dist/server/locales/en/worktree.json +23 -0
  604. package/dist/server/locales/ja/worktree.json +23 -0
  605. package/dist/server/src/lib/auto-yes-poller.js +26 -11
  606. package/dist/server/src/lib/db/chat-db.js +161 -7
  607. package/dist/server/src/lib/db/migrations/index.js +2 -0
  608. package/dist/server/src/lib/db/migrations/runner.js +1 -1
  609. package/dist/server/src/lib/db/migrations/v60-session-relays.js +110 -0
  610. package/dist/server/src/lib/db/relay-db.js +343 -0
  611. package/dist/server/src/lib/detection/ansi.js +40 -3
  612. package/dist/server/src/lib/detection/selection-shape.js +72 -1
  613. package/dist/server/src/lib/detection/status-reason.js +28 -0
  614. package/dist/server/src/lib/detection/tools/antigravity/dialog.js +13 -7
  615. package/dist/server/src/lib/detection/tools/command-code/detect.js +33 -0
  616. package/dist/server/src/lib/history/user-turn-recorder.js +79 -16
  617. package/dist/server/src/lib/polling/response-checker.js +45 -8
  618. package/dist/server/src/lib/polling/structured-history-gate.js +14 -1
  619. package/dist/server/src/lib/realtime/terminal-broadcast.js +5 -0
  620. package/dist/server/src/lib/realtime/waiting-broadcast.js +12 -0
  621. package/dist/server/src/lib/relay/relay-delivery.js +400 -0
  622. package/dist/server/src/lib/relay/relay-messages.js +144 -0
  623. package/dist/server/src/lib/relay/relay-policy.js +127 -0
  624. package/dist/server/src/lib/relay/relay-readiness.js +63 -0
  625. package/dist/server/src/lib/relay/relay-session-ref.js +72 -0
  626. package/dist/server/src/lib/relay/relay-system-line.js +79 -0
  627. package/dist/server/src/lib/relay/relay-triggers.js +177 -0
  628. package/dist/server/src/lib/relay/types.js +25 -0
  629. package/dist/server/src/lib/session/current-output-builder.js +18 -0
  630. package/dist/server/src/lib/session/send-user-message.js +1 -0
  631. package/package.json +1 -1
  632. package/.next/server/chunks/1058.js +0 -1
  633. package/.next/server/chunks/1068.js +0 -1
  634. package/.next/server/chunks/1990.js +0 -103
  635. package/.next/server/chunks/261.js +0 -1
  636. package/.next/server/chunks/2739.js +0 -1
  637. package/.next/server/chunks/2839.js +0 -1
  638. package/.next/server/chunks/3484.js +0 -1
  639. package/.next/server/chunks/358.js +0 -1
  640. package/.next/server/chunks/3869.js +0 -1
  641. package/.next/server/chunks/4325.js +0 -1
  642. package/.next/server/chunks/4393.js +0 -1
  643. package/.next/server/chunks/5017.js +0 -1
  644. package/.next/server/chunks/5120.js +0 -1
  645. package/.next/server/chunks/552.js +0 -25
  646. package/.next/server/chunks/6130.js +0 -1
  647. package/.next/server/chunks/7836.js +0 -1
  648. package/.next/server/chunks/7859.js +0 -21
  649. package/.next/server/chunks/9696.js +0 -3
  650. package/.next/static/0hTIackGXw6v7diXJS6yN/_buildManifest.js +0 -1
  651. package/.next/static/chunks/2813-de885de8a4b11910.js +0 -1
  652. package/.next/static/chunks/4718-07ec4e10186928db.js +0 -1
  653. package/.next/static/chunks/6170-951b9f5fe6b4b3b5.js +0 -1
  654. package/.next/static/chunks/8019-f8e73c1fb5f6f0d3.js +0 -1
  655. package/.next/static/chunks/8593-fa0eb2802e0ce68a.js +0 -1
  656. package/.next/static/chunks/app/api/agents/update/route-ee11f7b8a34cba8c.js +0 -1
  657. package/.next/static/chunks/app/api/agents/versions/route-ee11f7b8a34cba8c.js +0 -1
  658. package/.next/static/chunks/app/api/app/update/route-ee11f7b8a34cba8c.js +0 -1
  659. package/.next/static/chunks/app/api/app/update-check/route-ee11f7b8a34cba8c.js +0 -1
  660. package/.next/static/chunks/app/api/assistant/conversation/route-ee11f7b8a34cba8c.js +0 -1
  661. package/.next/static/chunks/app/api/assistant/current-output/route-ee11f7b8a34cba8c.js +0 -1
  662. package/.next/static/chunks/app/api/assistant/messages/route-ee11f7b8a34cba8c.js +0 -1
  663. package/.next/static/chunks/app/api/assistant/session/route-ee11f7b8a34cba8c.js +0 -1
  664. package/.next/static/chunks/app/api/assistant/start/route-ee11f7b8a34cba8c.js +0 -1
  665. package/.next/static/chunks/app/api/assistant/terminal/route-ee11f7b8a34cba8c.js +0 -1
  666. package/.next/static/chunks/app/api/assistant/tools/route-ee11f7b8a34cba8c.js +0 -1
  667. package/.next/static/chunks/app/api/auth/login/route-ee11f7b8a34cba8c.js +0 -1
  668. package/.next/static/chunks/app/api/auth/logout/route-ee11f7b8a34cba8c.js +0 -1
  669. package/.next/static/chunks/app/api/auth/status/route-ee11f7b8a34cba8c.js +0 -1
  670. package/.next/static/chunks/app/api/capabilities/route-ee11f7b8a34cba8c.js +0 -1
  671. package/.next/static/chunks/app/api/daily-summary/route-ee11f7b8a34cba8c.js +0 -1
  672. package/.next/static/chunks/app/api/daily-summary/status/route-ee11f7b8a34cba8c.js +0 -1
  673. package/.next/static/chunks/app/api/external-apps/[id]/health/route-ee11f7b8a34cba8c.js +0 -1
  674. package/.next/static/chunks/app/api/external-apps/[id]/route-ee11f7b8a34cba8c.js +0 -1
  675. package/.next/static/chunks/app/api/external-apps/route-ee11f7b8a34cba8c.js +0 -1
  676. package/.next/static/chunks/app/api/fs/browse/route-ee11f7b8a34cba8c.js +0 -1
  677. package/.next/static/chunks/app/api/fs/recent-paths/route-ee11f7b8a34cba8c.js +0 -1
  678. package/.next/static/chunks/app/api/hooks/agent-event/route-ee11f7b8a34cba8c.js +0 -1
  679. package/.next/static/chunks/app/api/hooks/claude-done/route-ee11f7b8a34cba8c.js +0 -1
  680. package/.next/static/chunks/app/api/hooks/permission-request/route-ee11f7b8a34cba8c.js +0 -1
  681. package/.next/static/chunks/app/api/metrics/vibe/route-ee11f7b8a34cba8c.js +0 -1
  682. package/.next/static/chunks/app/api/ollama/models/route-ee11f7b8a34cba8c.js +0 -1
  683. package/.next/static/chunks/app/api/push/escalation/route-ee11f7b8a34cba8c.js +0 -1
  684. package/.next/static/chunks/app/api/push/subscriptions/route-ee11f7b8a34cba8c.js +0 -1
  685. package/.next/static/chunks/app/api/push/vapid/route-ee11f7b8a34cba8c.js +0 -1
  686. package/.next/static/chunks/app/api/remote/pair/route-ee11f7b8a34cba8c.js +0 -1
  687. package/.next/static/chunks/app/api/repositories/[id]/route-ee11f7b8a34cba8c.js +0 -1
  688. package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-ee11f7b8a34cba8c.js +0 -1
  689. package/.next/static/chunks/app/api/repositories/[id]/todos/route-ee11f7b8a34cba8c.js +0 -1
  690. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-ee11f7b8a34cba8c.js +0 -1
  691. package/.next/static/chunks/app/api/repositories/clone/route-ee11f7b8a34cba8c.js +0 -1
  692. package/.next/static/chunks/app/api/repositories/excluded/route-ee11f7b8a34cba8c.js +0 -1
  693. package/.next/static/chunks/app/api/repositories/restore/route-ee11f7b8a34cba8c.js +0 -1
  694. package/.next/static/chunks/app/api/repositories/route-ee11f7b8a34cba8c.js +0 -1
  695. package/.next/static/chunks/app/api/repositories/scan/route-ee11f7b8a34cba8c.js +0 -1
  696. package/.next/static/chunks/app/api/repositories/sync/route-ee11f7b8a34cba8c.js +0 -1
  697. package/.next/static/chunks/app/api/repositories/validate-path/route-ee11f7b8a34cba8c.js +0 -1
  698. package/.next/static/chunks/app/api/settings/default-agents/route-ee11f7b8a34cba8c.js +0 -1
  699. package/.next/static/chunks/app/api/settings/default-surface-mode/route-ee11f7b8a34cba8c.js +0 -1
  700. package/.next/static/chunks/app/api/sidebar/group-order/route-ee11f7b8a34cba8c.js +0 -1
  701. package/.next/static/chunks/app/api/skills/[id]/route-ee11f7b8a34cba8c.js +0 -1
  702. package/.next/static/chunks/app/api/skills/installations/route-ee11f7b8a34cba8c.js +0 -1
  703. package/.next/static/chunks/app/api/skills/operations/route-ee11f7b8a34cba8c.js +0 -1
  704. package/.next/static/chunks/app/api/skills/reindex/route-ee11f7b8a34cba8c.js +0 -1
  705. package/.next/static/chunks/app/api/skills/route-ee11f7b8a34cba8c.js +0 -1
  706. package/.next/static/chunks/app/api/slash-commands/route-ee11f7b8a34cba8c.js +0 -1
  707. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-ee11f7b8a34cba8c.js +0 -1
  708. package/.next/static/chunks/app/api/tasks/[taskId]/route-ee11f7b8a34cba8c.js +0 -1
  709. package/.next/static/chunks/app/api/templates/[id]/route-ee11f7b8a34cba8c.js +0 -1
  710. package/.next/static/chunks/app/api/templates/route-ee11f7b8a34cba8c.js +0 -1
  711. package/.next/static/chunks/app/api/todos/route-ee11f7b8a34cba8c.js +0 -1
  712. package/.next/static/chunks/app/api/verification/runs/[runId]/route-ee11f7b8a34cba8c.js +0 -1
  713. package/.next/static/chunks/app/api/verification/runs/route-ee11f7b8a34cba8c.js +0 -1
  714. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-ee11f7b8a34cba8c.js +0 -1
  715. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-ee11f7b8a34cba8c.js +0 -1
  716. package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-ee11f7b8a34cba8c.js +0 -1
  717. package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-ee11f7b8a34cba8c.js +0 -1
  718. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-ee11f7b8a34cba8c.js +0 -1
  719. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-ee11f7b8a34cba8c.js +0 -1
  720. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-ee11f7b8a34cba8c.js +0 -1
  721. package/.next/static/chunks/app/api/worktrees/[id]/env/route-ee11f7b8a34cba8c.js +0 -1
  722. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-ee11f7b8a34cba8c.js +0 -1
  723. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-ee11f7b8a34cba8c.js +0 -1
  724. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-ee11f7b8a34cba8c.js +0 -1
  725. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-ee11f7b8a34cba8c.js +0 -1
  726. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-ee11f7b8a34cba8c.js +0 -1
  727. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-ee11f7b8a34cba8c.js +0 -1
  728. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-ee11f7b8a34cba8c.js +0 -1
  729. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-ee11f7b8a34cba8c.js +0 -1
  730. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-ee11f7b8a34cba8c.js +0 -1
  731. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-ee11f7b8a34cba8c.js +0 -1
  732. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-ee11f7b8a34cba8c.js +0 -1
  733. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-ee11f7b8a34cba8c.js +0 -1
  734. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-ee11f7b8a34cba8c.js +0 -1
  735. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-ee11f7b8a34cba8c.js +0 -1
  736. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-ee11f7b8a34cba8c.js +0 -1
  737. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-ee11f7b8a34cba8c.js +0 -1
  738. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-ee11f7b8a34cba8c.js +0 -1
  739. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-ee11f7b8a34cba8c.js +0 -1
  740. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-ee11f7b8a34cba8c.js +0 -1
  741. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-ee11f7b8a34cba8c.js +0 -1
  742. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-ee11f7b8a34cba8c.js +0 -1
  743. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-ee11f7b8a34cba8c.js +0 -1
  744. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-ee11f7b8a34cba8c.js +0 -1
  745. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-ee11f7b8a34cba8c.js +0 -1
  746. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-ee11f7b8a34cba8c.js +0 -1
  747. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-ee11f7b8a34cba8c.js +0 -1
  748. package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-ee11f7b8a34cba8c.js +0 -1
  749. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-ee11f7b8a34cba8c.js +0 -1
  750. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-ee11f7b8a34cba8c.js +0 -1
  751. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-ee11f7b8a34cba8c.js +0 -1
  752. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-ee11f7b8a34cba8c.js +0 -1
  753. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-ee11f7b8a34cba8c.js +0 -1
  754. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-ee11f7b8a34cba8c.js +0 -1
  755. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-ee11f7b8a34cba8c.js +0 -1
  756. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-ee11f7b8a34cba8c.js +0 -1
  757. package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-ee11f7b8a34cba8c.js +0 -1
  758. package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-ee11f7b8a34cba8c.js +0 -1
  759. package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-ee11f7b8a34cba8c.js +0 -1
  760. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-ee11f7b8a34cba8c.js +0 -1
  761. package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-ee11f7b8a34cba8c.js +0 -1
  762. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-ee11f7b8a34cba8c.js +0 -1
  763. package/.next/static/chunks/app/api/worktrees/[id]/route-ee11f7b8a34cba8c.js +0 -1
  764. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-ee11f7b8a34cba8c.js +0 -1
  765. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-ee11f7b8a34cba8c.js +0 -1
  766. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-ee11f7b8a34cba8c.js +0 -1
  767. package/.next/static/chunks/app/api/worktrees/[id]/search/route-ee11f7b8a34cba8c.js +0 -1
  768. package/.next/static/chunks/app/api/worktrees/[id]/send/route-ee11f7b8a34cba8c.js +0 -1
  769. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-ee11f7b8a34cba8c.js +0 -1
  770. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-ee11f7b8a34cba8c.js +0 -1
  771. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-ee11f7b8a34cba8c.js +0 -1
  772. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-ee11f7b8a34cba8c.js +0 -1
  773. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-ee11f7b8a34cba8c.js +0 -1
  774. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-ee11f7b8a34cba8c.js +0 -1
  775. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-ee11f7b8a34cba8c.js +0 -1
  776. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-ee11f7b8a34cba8c.js +0 -1
  777. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-ee11f7b8a34cba8c.js +0 -1
  778. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-ee11f7b8a34cba8c.js +0 -1
  779. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-ee11f7b8a34cba8c.js +0 -1
  780. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-ee11f7b8a34cba8c.js +0 -1
  781. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-ee11f7b8a34cba8c.js +0 -1
  782. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-ee11f7b8a34cba8c.js +0 -1
  783. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-ee11f7b8a34cba8c.js +0 -1
  784. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-ee11f7b8a34cba8c.js +0 -1
  785. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-ee11f7b8a34cba8c.js +0 -1
  786. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-ee11f7b8a34cba8c.js +0 -1
  787. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-ee11f7b8a34cba8c.js +0 -1
  788. package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-ee11f7b8a34cba8c.js +0 -1
  789. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-ee11f7b8a34cba8c.js +0 -1
  790. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-ee11f7b8a34cba8c.js +0 -1
  791. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-ee11f7b8a34cba8c.js +0 -1
  792. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-ee11f7b8a34cba8c.js +0 -1
  793. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-ee11f7b8a34cba8c.js +0 -1
  794. package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-ee11f7b8a34cba8c.js +0 -1
  795. package/.next/static/chunks/app/api/worktrees/route-ee11f7b8a34cba8c.js +0 -1
  796. package/.next/static/chunks/app/manifest.webmanifest/route-ee11f7b8a34cba8c.js +0 -1
  797. package/.next/static/chunks/app/proxy/[...path]/route-ee11f7b8a34cba8c.js +0 -1
  798. package/.next/static/chunks/app/worktrees/[id]/layout-ee11f7b8a34cba8c.js +0 -1
  799. package/.next/static/chunks/app/worktrees/[id]/page-91b639c90795baa9.js +0 -1
  800. package/.next/static/chunks/webpack-9f75198882fdaf08.js +0 -1
  801. package/.next/static/css/acc4b9c3feb04287.css +0 -1
  802. /package/.next/static/{0hTIackGXw6v7diXJS6yN → UIUPchtWvcEuQgcbGJv4g}/_ssgManifest.js +0 -0
@@ -6,6 +6,7 @@
6
6
  * Issue #1685: `--prompts` lists the resolved-prompt audit trail
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.readSqueezedPaneTail = readSqueezedPaneTail;
9
10
  exports.createCaptureCommand = createCaptureCommand;
10
11
  const commander_1 = require("commander");
11
12
  const types_1 = require("../types");
@@ -15,7 +16,6 @@ const command_helpers_1 = require("../utils/command-helpers");
15
16
  const cli_tool_ids_1 = require("../config/cli-tool-ids");
16
17
  const agent_target_options_1 = require("../config/agent-target-options");
17
18
  const instances_1 = require("./instances");
18
- const session_target_1 = require("../utils/session-target");
19
19
  const pager_1 = require("../utils/pager");
20
20
  const transcript_squeeze_1 = require("../../lib/tmux/transcript-squeeze");
21
21
  /**
@@ -80,7 +80,7 @@ function parseTail(raw) {
80
80
  *
81
81
  * POST /capture demands an explicit `cliToolId`, so unlike GET /current-output
82
82
  * this path cannot leave the choice to the server. Issue #1925 moved the choice
83
- * itself to the server anyway — `resolveSessionTarget` asks
83
+ * itself to the server anyway — `resolveInstanceTarget` asks
84
84
  * `/resolve-target`, which applies the same precedence every other route now
85
85
  * uses, so bare `capture <id> --pane` reads the session the rest of the CLI
86
86
  * addresses instead of a locally-guessed one.
@@ -93,25 +93,35 @@ function parseTail(raw) {
93
93
  * The tail of this function only runs against a server too old to resolve, the
94
94
  * one case where the CLI still has to name a default itself.
95
95
  *
96
+ * Issue #2376 widened the return to the resolved INSTANCE as well as the tool:
97
+ * `--instance` now accepts an alias, and `POST /capture` reads instance ids.
98
+ * The NAME is deliberately unchanged — the design doc
99
+ * `docs/design/multi-agent-state-architecture.md` names this function in five
100
+ * places, and `tests/unit/docs/design-doc-identifier-audit.test.ts` fails when
101
+ * a name the design doc uses is no longer in the tree.
102
+ *
96
103
  * @param client - API client
97
104
  * @param worktreeId - Worktree ID
98
105
  * @param agent - Value of `--agent`, already validated
99
106
  * @param instance - Value of `--instance`, already validated
100
- * @returns CLI tool ID to capture
107
+ * @returns The CLI tool to capture, and the resolved instance id when there is one
101
108
  */
102
109
  async function resolvePaneCliTool(client, worktreeId, agent, instance) {
103
- const target = await (0, session_target_1.resolveSessionTarget)(client, worktreeId, {
104
- instanceId: instance,
105
- requestedCliTool: agent,
106
- });
107
- if (target.conflict) {
108
- console.error(`Warning: ${(0, session_target_1.describeSessionTargetConflict)(target.conflict)} `
109
- + `Reading ${target.conflict.rosterCliTool}.`);
110
+ // Issue #2376: through the shared resolver so `--instance "Codex 2"` names
111
+ // the same session here as it does on `send`, and so an alias two rows answer
112
+ // to stops with the candidates listed rather than reading one of them.
113
+ // Called with or WITHOUT a selector, exactly as before: `capture --pane` with
114
+ // no `--instance` has asked the server since #1925, and skipping the request
115
+ // when nothing was named would be the CLI resolving for itself again.
116
+ const target = await (0, instances_1.resolveInstanceTarget)(client, worktreeId, instance, agent, 'read-only');
117
+ if (target.cliToolId) {
118
+ return { cliToolId: target.cliToolId, instanceId: target.instanceId };
110
119
  }
111
- if (target.cliToolId)
112
- return target.cliToolId;
113
120
  const worktree = await client.get(`/api/worktrees/${worktreeId}`);
114
- return worktree.cliToolId || cli_tool_ids_1.DEFAULT_CLI_TOOL_ID;
121
+ return {
122
+ cliToolId: worktree.cliToolId || cli_tool_ids_1.DEFAULT_CLI_TOOL_ID,
123
+ instanceId: target.instanceId,
124
+ };
115
125
  }
116
126
  /** Default number of prompts `--prompts` lists (Issue #1685). */
117
127
  const DEFAULT_PROMPTS_LIMIT = 20;
@@ -155,11 +165,17 @@ function formatPromptOption(option) {
155
165
  async function capturePrompts(worktreeId, options) {
156
166
  const client = new api_client_1.ApiClient({ token: options.token });
157
167
  const limit = parsePromptsLimit(options.limit);
168
+ // Issue #2376: /messages filters by instance ID, so an alias has to be
169
+ // resolved before it gets there — otherwise `--instance "Codex 2"` silently
170
+ // matches nothing and the audit trail comes back empty.
171
+ const target = options.instance
172
+ ? await (0, instances_1.resolveInstanceTarget)(client, worktreeId, options.instance, options.agent, 'read-only')
173
+ : null;
158
174
  const query = new URLSearchParams({ messageType: 'prompt', limit: String(limit) });
159
175
  if (options.agent)
160
176
  query.set('cliTool', options.agent);
161
- if (options.instance)
162
- query.set('instance', options.instance);
177
+ if (target?.instanceId)
178
+ query.set('instance', target.instanceId);
163
179
  const messages = await client.get(`/api/worktrees/${worktreeId}/messages?${query.toString()}`);
164
180
  // Defensive: the endpoint already filters, but promptData-less rows would
165
181
  // render as empty entries.
@@ -235,11 +251,11 @@ async function capturePrompts(worktreeId, options) {
235
251
  async function capturePane(worktreeId, options) {
236
252
  const client = new api_client_1.ApiClient({ token: options.token });
237
253
  const tail = parseTail(options.tail);
238
- const cliToolId = await resolvePaneCliTool(client, worktreeId, options.agent, options.instance);
254
+ const { cliToolId, instanceId } = await resolvePaneCliTool(client, worktreeId, options.agent, options.instance);
239
255
  const data = await client.post(`/api/worktrees/${worktreeId}/capture`, {
240
256
  cliToolId,
241
257
  lines: PANE_CAPTURE_LINES,
242
- ...(options.instance ? { instanceId: options.instance } : {}),
258
+ ...(instanceId ? { instanceId } : {}),
243
259
  });
244
260
  const raw = data.output ?? '';
245
261
  const squeezed = (0, transcript_squeeze_1.squeezeTranscript)(raw, { tail });
@@ -247,7 +263,7 @@ async function capturePane(worktreeId, options) {
247
263
  if (options.json) {
248
264
  console.log(JSON.stringify({
249
265
  cliToolId,
250
- instanceId: options.instance ?? null,
266
+ instanceId: instanceId ?? null,
251
267
  output: text,
252
268
  lines: options.raw ? squeezed.rawLines : squeezed.lines,
253
269
  rawLines: squeezed.rawLines,
@@ -276,6 +292,38 @@ function parseFollowInterval(raw) {
276
292
  }
277
293
  return value;
278
294
  }
295
+ /**
296
+ * Read one instance's pane and return its squeezed tail, or null.
297
+ *
298
+ * Exported for `ask` (Issue #2376), which needs the same read for the tools
299
+ * that keep no transcript — and which must not import
300
+ * `lib/tmux/transcript-squeeze` itself: Issue #1922's import guard names this
301
+ * module in its allowlist as baseline debt that "may only shrink", so the
302
+ * squeeze stays behind the command that already owns it.
303
+ *
304
+ * Null on any failure. Both callers treat an unreadable pane as "no reply to
305
+ * show", never as an error of their own.
306
+ *
307
+ * @param client - API client
308
+ * @param worktreeId - Worktree ID
309
+ * @param cliToolId - Resolved CLI tool
310
+ * @param instanceId - Resolved instance ID, when there is one
311
+ * @param tail - Lines of squeezed transcript to keep
312
+ */
313
+ async function readSqueezedPaneTail(client, worktreeId, cliToolId, instanceId, tail) {
314
+ try {
315
+ const data = await client.post(`/api/worktrees/${worktreeId}/capture`, {
316
+ cliToolId,
317
+ lines: PANE_CAPTURE_LINES,
318
+ ...(instanceId ? { instanceId } : {}),
319
+ });
320
+ const text = (0, transcript_squeeze_1.squeezeTranscript)(data.output ?? '', { tail }).text.trim();
321
+ return text === '' ? null : text;
322
+ }
323
+ catch {
324
+ return null;
325
+ }
326
+ }
279
327
  /**
280
328
  * `--pane --follow`: redraw the squeezed transcript on an interval (Issue #2317).
281
329
  *
@@ -307,7 +355,7 @@ async function capturePaneFollow(worktreeId, options) {
307
355
  const client = new api_client_1.ApiClient({ token: options.token });
308
356
  const tail = parseTail(options.tail);
309
357
  const intervalMs = parseFollowInterval(options.interval);
310
- const cliToolId = await resolvePaneCliTool(client, worktreeId, options.agent, options.instance);
358
+ const { cliToolId, instanceId } = await resolvePaneCliTool(client, worktreeId, options.agent, options.instance);
311
359
  // Hide the cursor while redrawing, and put it back whatever ends the loop.
312
360
  process.stdout.write('\u001b[?25l');
313
361
  const restoreCursor = () => {
@@ -319,7 +367,7 @@ async function capturePaneFollow(worktreeId, options) {
319
367
  const data = await client.post(`/api/worktrees/${worktreeId}/capture`, {
320
368
  cliToolId,
321
369
  lines: PANE_CAPTURE_LINES,
322
- ...(options.instance ? { instanceId: options.instance } : {}),
370
+ ...(instanceId ? { instanceId } : {}),
323
371
  });
324
372
  const squeezed = (0, transcript_squeeze_1.squeezeTranscript)(data.output ?? '', { tail });
325
373
  // The visible rows, minus one for the footer. Slicing HERE rather than
@@ -354,7 +402,7 @@ function createCaptureCommand() {
354
402
  // Issue #1685: audit trail of resolved prompts (question/options/answer/answeredBy)
355
403
  .option('--prompts', 'List recent prompts from chat history (including ones Auto-Yes already resolved)')
356
404
  .option('--limit <n>', `With --prompts: number of most recent prompts to list (default ${DEFAULT_PROMPTS_LIMIT})`)
357
- .option('--instance <id>', agent_target_options_1.INSTANCE_OPTION_DESCRIPTION)
405
+ .option('--instance <id>', `${agent_target_options_1.INSTANCE_OPTION_DESCRIPTION} ${instances_1.INSTANCE_ALIAS_HELP_SUFFIX}`)
358
406
  .option('--agent <agent>', agent_target_options_1.AGENT_OPTION_DESCRIPTION)
359
407
  .option('--token <token>', command_helpers_1.TOKEN_WARNING)
360
408
  .action(async (worktreeId, options) => {
@@ -368,9 +416,9 @@ function createCaptureCommand() {
368
416
  console.error('Error: Invalid agent.');
369
417
  process.exit(types_1.ExitCode.CONFIG_ERROR);
370
418
  }
371
- // Issue #868: Validate instance ID if provided
372
- if (options.instance && !(0, api_client_1.isValidInstanceId)(options.instance)) {
373
- console.error('Error: Invalid --instance. Must be an alphanumeric/underscore/hyphen identifier (max 64 chars).');
419
+ // Issue #868 / #2376: an instance id or a roster alias.
420
+ if (options.instance && !(0, instances_1.isInstanceSelector)(options.instance)) {
421
+ console.error(instances_1.INSTANCE_SELECTOR_ERROR);
374
422
  process.exit(types_1.ExitCode.CONFIG_ERROR);
375
423
  }
376
424
  // Issue #1623: --tail / --raw only mean anything for the pane viewer.
@@ -424,16 +472,18 @@ function createCaptureCommand() {
424
472
  // alone captured the wrong (claude-named) session. Resolve the tool the
425
473
  // instance is registered under before asking. Issue #1925: 'read-only',
426
474
  // because capture looks rather than acts — see resolvePaneCliTool.
427
- const agent = options.instance
428
- ? await (0, instances_1.resolveInstanceCliTool)(client, worktreeId, options.instance, options.agent, 'read-only')
429
- : options.agent;
430
- // Build path with optional cliTool/instance query parameters
475
+ const target = options.instance
476
+ ? await (0, instances_1.resolveInstanceTarget)(client, worktreeId, options.instance, options.agent, 'read-only')
477
+ : null;
478
+ const agent = target ? target.cliToolId : options.agent;
479
+ // Build path with optional cliTool/instance query parameters. Issue
480
+ // #2376: the RESOLVED instance id — /current-output cannot read an alias.
431
481
  const query = new URLSearchParams();
432
482
  if (agent) {
433
483
  query.set('cliTool', agent);
434
484
  }
435
- if (options.instance) {
436
- query.set('instance', options.instance);
485
+ if (target?.instanceId) {
486
+ query.set('instance', target.instanceId);
437
487
  }
438
488
  const qs = query.toString();
439
489
  const path = `/api/worktrees/${worktreeId}/current-output${qs ? `?${qs}` : ''}`;
@@ -1 +1 @@
1
- {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/docs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAwE3C"}
1
+ {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/docs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiDpC;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CA8E3C"}
@@ -19,6 +19,44 @@ exports.createDocsCommand = createDocsCommand;
19
19
  const commander_1 = require("commander");
20
20
  const types_1 = require("../types");
21
21
  const docs_reader_1 = require("../utils/docs-reader");
22
+ const agent_operations_1 = require("../docs/agent-operations");
23
+ /**
24
+ * Sections this command carries itself (Issue #2376).
25
+ *
26
+ * `docs-reader.ts` owns the section registry, and it is not in this Issue's
27
+ * change scope, so the delegation guide is registered here instead: the reader
28
+ * stays the authority on every section it already serves, and this one extra
29
+ * entry is resolved before the reader is consulted. Everything the reader does
30
+ * for a section — listing, reading, searching — is done for this one too, just
31
+ * a layer up.
32
+ *
33
+ * The next change to touch `docs-reader.ts` should fold this into
34
+ * `EMBEDDED_SECTIONS` and delete the three branches below.
35
+ */
36
+ const LOCAL_SECTIONS = {
37
+ delegation: agent_operations_1.AGENT_DELEGATION_GUIDE,
38
+ };
39
+ /** Every section name, the reader's plus {@link LOCAL_SECTIONS}. */
40
+ function allSectionNames() {
41
+ return [...(0, docs_reader_1.getAvailableSections)(), ...Object.keys(LOCAL_SECTIONS)];
42
+ }
43
+ /**
44
+ * Search {@link LOCAL_SECTIONS} the way `searchDocs` searches the reader's own:
45
+ * case-insensitive substring match, one entry per section with the matching
46
+ * lines.
47
+ *
48
+ * @param query - Search query, already length-checked by `searchDocs`
49
+ */
50
+ function searchLocalSections(query) {
51
+ const lower = query.toLowerCase();
52
+ const results = [];
53
+ for (const [section, content] of Object.entries(LOCAL_SECTIONS)) {
54
+ const matches = content.split('\n').filter(line => line.toLowerCase().includes(lower));
55
+ if (matches.length > 0)
56
+ results.push({ section, matches });
57
+ }
58
+ return results;
59
+ }
22
60
  /**
23
61
  * Create the docs command.
24
62
  * [MF-CONS-001] Returns a Command instance for program.addCommand().
@@ -31,7 +69,7 @@ function createDocsCommand() {
31
69
  .option('-a, --all', 'Show all available section names')
32
70
  .action((options) => {
33
71
  if (options.all) {
34
- const sections = (0, docs_reader_1.getAvailableSections)();
72
+ const sections = allSectionNames();
35
73
  console.log('Available documentation sections:');
36
74
  console.log('');
37
75
  sections.forEach(s => console.log(` - ${s}`));
@@ -40,11 +78,16 @@ function createDocsCommand() {
40
78
  process.exit(types_1.ExitCode.SUCCESS);
41
79
  }
42
80
  if (options.section) {
81
+ const local = LOCAL_SECTIONS[options.section];
82
+ if (local !== undefined) {
83
+ console.log(local);
84
+ process.exit(types_1.ExitCode.SUCCESS);
85
+ }
43
86
  if (!(0, docs_reader_1.isValidSection)(options.section)) {
44
87
  console.error(`Unknown section: ${options.section}`);
45
88
  console.error('');
46
89
  console.error('Available sections:');
47
- (0, docs_reader_1.getAvailableSections)().forEach(s => console.error(` - ${s}`));
90
+ allSectionNames().forEach(s => console.error(` - ${s}`));
48
91
  process.exit(types_1.ExitCode.UNEXPECTED_ERROR);
49
92
  }
50
93
  try {
@@ -59,7 +102,7 @@ function createDocsCommand() {
59
102
  }
60
103
  if (options.search) {
61
104
  try {
62
- const results = (0, docs_reader_1.searchDocs)(options.search);
105
+ const results = [...(0, docs_reader_1.searchDocs)(options.search), ...searchLocalSections(options.search)];
63
106
  if (results.length === 0) {
64
107
  console.log(`No results found for: "${options.search}"`);
65
108
  }
@@ -80,7 +123,7 @@ function createDocsCommand() {
80
123
  process.exit(types_1.ExitCode.SUCCESS);
81
124
  }
82
125
  // No option specified: show help
83
- const sections = (0, docs_reader_1.getAvailableSections)();
126
+ const sections = allSectionNames();
84
127
  console.log('CommandMate Documentation');
85
128
  console.log('');
86
129
  console.log('Available sections:');
@@ -45,5 +45,72 @@ export type InstanceConflictMode = 'strict' | 'read-only';
45
45
  * @returns the CLI tool to send, or undefined to let an older server decide
46
46
  */
47
47
  export declare function resolveInstanceCliTool(client: ApiClient, worktreeId: string, instanceId: string, requestedAgent: string | undefined, mode?: InstanceConflictMode): Promise<string | undefined>;
48
+ /**
49
+ * Whether `value` is something the server could resolve to an instance.
50
+ *
51
+ * An instance id, or an alias. Issue #2376 widened `--instance` to accept the
52
+ * second because it is the only name a human has for `codex-2`: the roster pane
53
+ * shows `Codex 2`, `commandmate instances <id>` prints it in the ALIAS column,
54
+ * and `--instance "Codex 2"` used to be rejected here — before any request —
55
+ * with "must be an alphanumeric identifier".
56
+ *
57
+ * The check is deliberately loose: an alias is free text (`レビュー担当`), and
58
+ * the authority on whether one EXISTS is the roster, which only the server has.
59
+ * All this rules out is a value no alias can be — empty, longer than the alias
60
+ * field allows, or carrying control characters.
61
+ *
62
+ * @param value - The `--instance` value as given
63
+ */
64
+ export declare function isInstanceSelector(value: string): boolean;
65
+ /**
66
+ * The sentence appended to every command's `--instance` help (Issue #2376).
67
+ *
68
+ * Kept beside the validator that accepts the form, not in
69
+ * `config/agent-target-options.ts`, so the help and the check cannot drift: the
70
+ * day the alias stage is removed, both go together.
71
+ */
72
+ export declare const INSTANCE_ALIAS_HELP_SUFFIX: string;
73
+ /** The sentence `--instance` is rejected with. One place, five commands. */
74
+ export declare const INSTANCE_SELECTOR_ERROR: string;
75
+ /** A resolved target: which agent, and which instance id to address it by. */
76
+ export interface ResolvedInstanceTarget {
77
+ /** The agent to send as, or undefined to let an older server decide. */
78
+ cliToolId: string | undefined;
79
+ /**
80
+ * The instance id to put in the request, or undefined when the caller named
81
+ * no instance at all.
82
+ *
83
+ * **Not the value the user typed.** `--instance "Codex 2"` resolves here to
84
+ * `codex-2`, and every downstream body/query must carry the resolved id: the
85
+ * alias is a label the roster holds, and no other route knows how to read one.
86
+ *
87
+ * Undefined for a caller that passed no selector, even though the server
88
+ * answers with the worktree's default instance: a request that named no
89
+ * instance must keep not naming one, or `capture <id> --pane` would start
90
+ * pinning a session it was deliberately leaving to the server.
91
+ */
92
+ instanceId: string | undefined;
93
+ }
94
+ /**
95
+ * Resolve `--instance` — id or alias — to the agent and instance id to address.
96
+ *
97
+ * The one resolution path, as Issue #1925 established: the server answers,
98
+ * `resolveSessionTarget` asks, and this adds only what a CLI caller has to do
99
+ * with the two answers it can get back that a browser does not care about — a
100
+ * roster contradiction ({@link InstanceConflictMode}) and, since Issue #2376, an
101
+ * alias that names more than one row.
102
+ *
103
+ * The ambiguity is exit 2 with every candidate printed, never a pick: two rows
104
+ * called `Codex` are two different tmux sessions, and choosing one for the
105
+ * operator is how a message reaches the wrong agent silently.
106
+ *
107
+ * @param client - API client aimed at the server
108
+ * @param worktreeId - Worktree ID
109
+ * @param selector - The `--instance` value (an instance id or a roster alias),
110
+ * or undefined for a caller that resolves only to learn the agent
111
+ * @param requestedAgent - The `--agent` value, if the user gave one
112
+ * @param mode - What a roster contradiction means for this caller
113
+ */
114
+ export declare function resolveInstanceTarget(client: ApiClient, worktreeId: string, selector: string | undefined, requestedAgent: string | undefined, mode?: InstanceConflictMode): Promise<ResolvedInstanceTarget>;
48
115
  export declare function createInstancesCommand(): Command;
49
116
  //# sourceMappingURL=instances.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"instances.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/instances.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAAE,SAAS,EAAwC,MAAM,qBAAqB,CAAC;AA8HtF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,IAAI,GAAE,oBAA+B,GACpC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAiB7B;AA2ND,wBAAgB,sBAAsB,IAAI,OAAO,CAqEhD"}
1
+ {"version":3,"file":"instances.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/instances.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAAE,SAAS,EAAkD,MAAM,qBAAqB,CAAC;AA8HhG;;;;;;;;;;GAUG;AACH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,IAAI,GAAE,oBAA+B,GACpC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAG7B;AAiBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAKzD;AAED;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,QAE6D,CAAC;AAErG,4EAA4E;AAC5E,eAAO,MAAM,uBAAuB,QAE0B,CAAC;AAE/D,8EAA8E;AAC9E,MAAM,WAAW,sBAAsB;IACrC,wEAAwE;IACxE,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B;;;;;;;;;;;;OAYG;IACH,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,IAAI,GAAE,oBAA+B,GACpC,OAAO,CAAC,sBAAsB,CAAC,CAmCjC;AA2ND,wBAAgB,sBAAsB,IAAI,OAAO,CAqEhD"}
@@ -10,7 +10,10 @@
10
10
  * commandmate instances <worktree-id> kill <instance-id>
11
11
  */
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.INSTANCE_SELECTOR_ERROR = exports.INSTANCE_ALIAS_HELP_SUFFIX = void 0;
13
14
  exports.resolveInstanceCliTool = resolveInstanceCliTool;
15
+ exports.isInstanceSelector = isInstanceSelector;
16
+ exports.resolveInstanceTarget = resolveInstanceTarget;
14
17
  exports.createInstancesCommand = createInstancesCommand;
15
18
  const commander_1 = require("commander");
16
19
  const types_1 = require("../types");
@@ -103,20 +106,113 @@ function formatInstancesTable(rows) {
103
106
  * @returns the CLI tool to send, or undefined to let an older server decide
104
107
  */
105
108
  async function resolveInstanceCliTool(client, worktreeId, instanceId, requestedAgent, mode = 'strict') {
106
- const target = await (0, session_target_1.resolveSessionTarget)(client, worktreeId, {
107
- instanceId,
108
- requestedCliTool: requestedAgent,
109
- });
109
+ return (await resolveInstanceTarget(client, worktreeId, instanceId, requestedAgent, mode))
110
+ .cliToolId;
111
+ }
112
+ // ===========================================================================
113
+ // Instance selectors: an id OR an alias (Issue #2376)
114
+ // ===========================================================================
115
+ /**
116
+ * The server's code for an `--instance` two roster rows answer to.
117
+ *
118
+ * Mirrors `AMBIGUOUS_INSTANCE_ALIAS` in
119
+ * `src/app/api/worktrees/[id]/resolve-target/route.ts`; duplicated rather than
120
+ * imported because a route module may export only the names Next.js accepts
121
+ * (`scripts/check-route-exports.mjs`, Issue #1946) — the same arrangement
122
+ * `send.ts` has with `PROMPT_WAITING`.
123
+ */
124
+ const AMBIGUOUS_INSTANCE_ALIAS_CODE = 'ambiguous_instance_alias';
125
+ /**
126
+ * Whether `value` is something the server could resolve to an instance.
127
+ *
128
+ * An instance id, or an alias. Issue #2376 widened `--instance` to accept the
129
+ * second because it is the only name a human has for `codex-2`: the roster pane
130
+ * shows `Codex 2`, `commandmate instances <id>` prints it in the ALIAS column,
131
+ * and `--instance "Codex 2"` used to be rejected here — before any request —
132
+ * with "must be an alphanumeric identifier".
133
+ *
134
+ * The check is deliberately loose: an alias is free text (`レビュー担当`), and
135
+ * the authority on whether one EXISTS is the roster, which only the server has.
136
+ * All this rules out is a value no alias can be — empty, longer than the alias
137
+ * field allows, or carrying control characters.
138
+ *
139
+ * @param value - The `--instance` value as given
140
+ */
141
+ function isInstanceSelector(value) {
142
+ if ((0, api_client_1.isValidInstanceId)(value))
143
+ return true;
144
+ if (value.length === 0 || value.length > agent_instances_1.MAX_AGENT_ALIAS_LENGTH)
145
+ return false;
146
+ // eslint-disable-next-line no-control-regex
147
+ return !/[\u0000-\u001f\u007f]/.test(value);
148
+ }
149
+ /**
150
+ * The sentence appended to every command's `--instance` help (Issue #2376).
151
+ *
152
+ * Kept beside the validator that accepts the form, not in
153
+ * `config/agent-target-options.ts`, so the help and the check cannot drift: the
154
+ * day the alias stage is removed, both go together.
155
+ */
156
+ exports.INSTANCE_ALIAS_HELP_SUFFIX = 'Also accepts a roster alias as shown by `commandmate instances <worktree-id>` '
157
+ + '(e.g. --instance "Codex 2"); an alias two rows answer to is exit 2 with the candidates listed.';
158
+ /** The sentence `--instance` is rejected with. One place, five commands. */
159
+ exports.INSTANCE_SELECTOR_ERROR = 'Error: Invalid --instance. Give an instance id (alphanumeric/underscore/hyphen, max 64 chars) '
160
+ + `or a roster alias (max ${agent_instances_1.MAX_AGENT_ALIAS_LENGTH} chars).`;
161
+ /**
162
+ * Resolve `--instance` — id or alias — to the agent and instance id to address.
163
+ *
164
+ * The one resolution path, as Issue #1925 established: the server answers,
165
+ * `resolveSessionTarget` asks, and this adds only what a CLI caller has to do
166
+ * with the two answers it can get back that a browser does not care about — a
167
+ * roster contradiction ({@link InstanceConflictMode}) and, since Issue #2376, an
168
+ * alias that names more than one row.
169
+ *
170
+ * The ambiguity is exit 2 with every candidate printed, never a pick: two rows
171
+ * called `Codex` are two different tmux sessions, and choosing one for the
172
+ * operator is how a message reaches the wrong agent silently.
173
+ *
174
+ * @param client - API client aimed at the server
175
+ * @param worktreeId - Worktree ID
176
+ * @param selector - The `--instance` value (an instance id or a roster alias),
177
+ * or undefined for a caller that resolves only to learn the agent
178
+ * @param requestedAgent - The `--agent` value, if the user gave one
179
+ * @param mode - What a roster contradiction means for this caller
180
+ */
181
+ async function resolveInstanceTarget(client, worktreeId, selector, requestedAgent, mode = 'strict') {
182
+ let target;
183
+ try {
184
+ target = await (0, session_target_1.resolveSessionTarget)(client, worktreeId, {
185
+ instanceId: selector,
186
+ requestedCliTool: requestedAgent,
187
+ });
188
+ }
189
+ catch (error) {
190
+ if (error instanceof api_client_1.ApiError && error.apiCode === AMBIGUOUS_INSTANCE_ALIAS_CODE) {
191
+ console.error(`Error: ${error.payload?.error ?? `--instance '${selector}' is ambiguous.`}`);
192
+ for (const candidate of error.payload?.issues ?? []) {
193
+ console.error(` - ${candidate}`);
194
+ }
195
+ process.exit(types_1.ExitCode.CONFIG_ERROR);
196
+ }
197
+ throw error;
198
+ }
110
199
  if (target.conflict) {
111
200
  const detail = (0, session_target_1.describeSessionTargetConflict)(target.conflict);
112
201
  if (mode === 'strict') {
113
202
  console.error(`Error: ${detail}`);
114
203
  process.exit(types_1.ExitCode.CONFIG_ERROR);
115
- return requestedAgent;
116
204
  }
117
- console.error(`Warning: ${detail} Reading ${target.conflict.rosterCliTool}.`);
205
+ else {
206
+ console.error(`Warning: ${detail} Reading ${target.conflict.rosterCliTool}.`);
207
+ }
118
208
  }
119
- return target.cliToolId;
209
+ return {
210
+ cliToolId: target.cliToolId,
211
+ // The server always echoes the effective instance; the fallback covers the
212
+ // `client-fallback` path against a daemon older than the endpoint, where the
213
+ // value the user typed is the only one there is.
214
+ instanceId: selector === undefined ? undefined : (target.instanceId ?? selector),
215
+ };
120
216
  }
121
217
  /**
122
218
  * The opencode session each instance will resume, keyed by instance id
@@ -0,0 +1,64 @@
1
+ /**
2
+ * peers Command - the other agent sessions this one can talk to (Issue #2376)
3
+ *
4
+ * commandmate peers [--json]
5
+ *
6
+ * ## Why `ls` + `instances` was not enough
7
+ *
8
+ * The two ids `ask` needs live in two different commands and neither one knows
9
+ * the caller. `ls` lists every worktree on the machine — including the dozen
10
+ * belonging to repositories this session has nothing to do with — and
11
+ * `instances` needs a worktree id per call. So working out "who can I ask?" was
12
+ * a fan-out plus a filter the agent had to invent, and inventing it is what
13
+ * produced the wrong `--instance` values this Issue exists to stop.
14
+ *
15
+ * This is that fan-out, done once, narrowed to the caller's own repository, with
16
+ * the caller's own row marked `(you)` and a ready-to-run `ask` line against
17
+ * every other row. The listing is the answer AND the example: the acceptance
18
+ * criterion for this command is that a line pasted out of it works.
19
+ *
20
+ * Scoped to the repository rather than to everything because that is the unit a
21
+ * delegation is about — sibling worktrees of one project, which is what
22
+ * `/worktree-setup` produces — and because a global listing is what `ls`
23
+ * already is.
24
+ */
25
+ import { Command } from 'commander';
26
+ import type { WorktreeItem } from '../types/api-responses';
27
+ import { type SessionIdentity } from './whoami';
28
+ /**
29
+ * The repository fields the list API sends and `WorktreeItem` does not declare.
30
+ *
31
+ * `src/cli/types/api-responses.ts` declares only the fields the CLI reads ("Only
32
+ * the fields the CLI reads are declared"), and until this command nothing read
33
+ * these two. Mirrored locally rather than widened there so the shared type keeps
34
+ * meaning what its header says it means; both are optional because a row written
35
+ * before the field existed, or by a non-sync path, carries neither.
36
+ */
37
+ interface PeerWorktreeItem extends WorktreeItem {
38
+ repositoryPath?: string;
39
+ repositoryName?: string;
40
+ }
41
+ /** One session in the listing. */
42
+ interface PeerRow {
43
+ worktreeId: string;
44
+ instanceId: string;
45
+ cliTool: string;
46
+ alias: string;
47
+ /** The worktree's aggregate STATUS word, as `commandmate ls` prints it. */
48
+ status: string;
49
+ /** True for the session running this command. */
50
+ isSelf: boolean;
51
+ /** The line to paste, or null for the caller's own row. */
52
+ ask: string | null;
53
+ }
54
+ /**
55
+ * Build the listing.
56
+ *
57
+ * @param worktrees - Every worktree the server knows
58
+ * @param identity - Who is asking
59
+ * @param binary - The command name to spell the examples with
60
+ */
61
+ export declare function buildPeerRows(worktrees: PeerWorktreeItem[], identity: SessionIdentity, binary: string): PeerRow[];
62
+ export declare function createPeersCommand(): Command;
63
+ export {};
64
+ //# sourceMappingURL=peers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peers.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/peers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAiB,YAAY,EAAwB,MAAM,wBAAwB,CAAC;AAIhG,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,UAAU,CAAC;AAElB;;;;;;;;GAQG;AACH,UAAU,gBAAiB,SAAQ,YAAY;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,kCAAkC;AAClC,UAAU,OAAO;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,MAAM,EAAE,OAAO,CAAC;IAChB,2DAA2D;IAC3D,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAuED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,gBAAgB,EAAE,EAC7B,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,MAAM,GACb,OAAO,EAAE,CAuBX;AAoBD,wBAAgB,kBAAkB,IAAI,OAAO,CAkD5C"}