commandmate 0.49.2 → 0.50.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 (927) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +476 -423
  3. package/.next/app-path-routes-manifest.json +28 -21
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/prerender-manifest.json +9 -9
  6. package/.next/react-loadable-manifest.json +1 -1
  7. package/.next/required-server-files.json +1 -1
  8. package/.next/routes-manifest.json +40 -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/release-notes/route_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  18. package/.next/server/app/api/capabilities/route.js +1 -1
  19. package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/daily-summary/route.js +1 -1
  21. package/.next/server/app/api/daily-summary/route.js.nft.json +1 -1
  22. package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/daily-summary/status/route.js +1 -1
  24. package/.next/server/app/api/daily-summary/status/route.js.nft.json +1 -1
  25. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/hooks/agent-event/route.js +1 -103
  32. package/.next/server/app/api/hooks/agent-event/route.js.nft.json +1 -1
  33. package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/hooks/claude-done/route.js +2 -2
  35. package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
  36. package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/hooks/permission-request/route.js +1 -1
  38. package/.next/server/app/api/hooks/permission-request/route.js.nft.json +1 -1
  39. package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/push/escalation/route.js +1 -1
  43. package/.next/server/app/api/push/escalation/route.js.nft.json +1 -1
  44. package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
  45. package/.next/server/app/api/push/subscriptions/route.js +1 -1
  46. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/push/vapid/route.js +1 -1
  48. package/.next/server/app/api/push/vapid/route.js.nft.json +1 -1
  49. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/relays/[relayId]/cancel/route.js +4 -1
  51. package/.next/server/app/api/relays/[relayId]/cancel/route.js.nft.json +1 -1
  52. package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -1
  53. package/.next/server/app/api/relays/[relayId]/resolve/route.js +1 -0
  54. package/.next/server/app/api/relays/[relayId]/resolve/route.js.nft.json +1 -0
  55. package/.next/server/app/api/relays/[relayId]/resolve/route_client-reference-manifest.js +1 -0
  56. package/.next/server/app/api/relays/[relayId]/route.js +1 -1
  57. package/.next/server/app/api/relays/[relayId]/route.js.nft.json +1 -1
  58. package/.next/server/app/api/relays/[relayId]/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/relays/route.js +4 -1
  60. package/.next/server/app/api/relays/route.js.nft.json +1 -1
  61. package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/remote/pair/route.js +2 -2
  63. package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
  64. package/.next/server/app/api/repositories/[id]/role-defaults/route.js +1 -0
  65. package/.next/server/app/api/repositories/[id]/role-defaults/route.js.nft.json +1 -0
  66. package/.next/server/app/api/repositories/[id]/role-defaults/route_client-reference-manifest.js +1 -0
  67. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
  69. package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
  70. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/repositories/clone/route.js +1 -1
  72. package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
  73. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/repositories/restore/route.js +1 -1
  76. package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
  77. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  78. package/.next/server/app/api/repositories/route.js +1 -1
  79. package/.next/server/app/api/repositories/route.js.nft.json +1 -1
  80. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/repositories/scan/route.js +1 -1
  82. package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
  83. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  84. package/.next/server/app/api/repositories/sync/route.js +1 -1
  85. package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
  86. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/repositories/validate-path/route.js +1 -1
  88. package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/roles/[id]/route.js +1 -0
  90. package/.next/server/app/api/roles/[id]/route.js.nft.json +1 -0
  91. package/.next/server/app/api/roles/[id]/route_client-reference-manifest.js +1 -0
  92. package/.next/server/app/api/roles/route.js +1 -0
  93. package/.next/server/app/api/roles/route.js.nft.json +1 -0
  94. package/.next/server/app/api/roles/route_client-reference-manifest.js +1 -0
  95. package/.next/server/app/api/settings/agent-role-defaults/route.js +1 -0
  96. package/.next/server/app/api/settings/agent-role-defaults/route.js.nft.json +1 -0
  97. package/.next/server/app/api/settings/agent-role-defaults/route_client-reference-manifest.js +1 -0
  98. package/.next/server/app/api/settings/default-agents/route.js +1 -1
  99. package/.next/server/app/api/settings/default-agents/route.js.nft.json +1 -1
  100. package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
  102. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  104. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
  106. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
  107. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/slash-commands/route.js +1 -1
  109. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  110. package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  111. package/.next/server/app/api/tasks/[taskId]/route.js +1 -1
  112. package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  113. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  114. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  115. package/.next/server/app/api/verification/runs/[runId]/route.js +1 -1
  116. package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/verification/runs/route.js +1 -1
  118. package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
  119. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
  120. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
  121. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  122. package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -1
  123. package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
  124. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  125. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js +1 -1
  126. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js.nft.json +1 -1
  127. package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
  128. package/.next/server/app/api/worktrees/[id]/cli-reference/route.js +1 -1
  129. package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
  130. package/.next/server/app/api/worktrees/[id]/cli-tool/route.js +1 -1
  131. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +3 -3
  133. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js.nft.json +1 -1
  134. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  135. package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
  136. package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
  137. package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
  138. package/.next/server/app/api/worktrees/[id]/direct-input/route.js +1 -1
  139. package/.next/server/app/api/worktrees/[id]/direct-input/route.js.nft.json +1 -1
  140. package/.next/server/app/api/worktrees/[id]/direct-input/route_client-reference-manifest.js +1 -1
  141. package/.next/server/app/api/worktrees/[id]/env/route.js +1 -1
  142. package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
  143. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js +1 -1
  144. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
  145. package/.next/server/app/api/worktrees/[id]/execution-logs/route.js +2 -2
  146. package/.next/server/app/api/worktrees/[id]/execution-logs/route.js.nft.json +1 -1
  147. package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
  148. package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
  149. package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js +1 -1
  150. package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
  151. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js +1 -1
  152. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
  153. package/.next/server/app/api/worktrees/[id]/git/branches/route.js +1 -1
  154. package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
  155. package/.next/server/app/api/worktrees/[id]/git/checkout/route.js +1 -1
  156. package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
  157. package/.next/server/app/api/worktrees/[id]/git/commit/route.js +1 -1
  158. package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
  159. package/.next/server/app/api/worktrees/[id]/git/diff/route.js +1 -1
  160. package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
  161. package/.next/server/app/api/worktrees/[id]/git/fetch/route.js +1 -1
  162. package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
  163. package/.next/server/app/api/worktrees/[id]/git/log/route.js +1 -1
  164. package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
  165. package/.next/server/app/api/worktrees/[id]/git/pull/route.js +1 -1
  166. package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
  167. package/.next/server/app/api/worktrees/[id]/git/push/route.js +1 -1
  168. package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
  169. package/.next/server/app/api/worktrees/[id]/git/reset/route.js +1 -1
  170. package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
  171. package/.next/server/app/api/worktrees/[id]/git/revert/route.js +1 -1
  172. package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
  173. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js +1 -1
  174. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
  175. package/.next/server/app/api/worktrees/[id]/git/stage/route.js +1 -1
  176. package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
  177. package/.next/server/app/api/worktrees/[id]/git/staged/route.js +1 -1
  178. package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
  179. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js +1 -1
  180. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
  181. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js +1 -1
  182. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
  183. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js +1 -1
  184. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
  185. package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js +1 -1
  186. package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
  187. package/.next/server/app/api/worktrees/[id]/git/stash/route.js +1 -1
  188. package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
  189. package/.next/server/app/api/worktrees/[id]/git/status/route.js +1 -1
  190. package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
  191. package/.next/server/app/api/worktrees/[id]/git/unstage/route.js +1 -1
  192. package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
  193. package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js +1 -1
  194. package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
  195. package/.next/server/app/api/worktrees/[id]/instances/notes/route.js +1 -1
  196. package/.next/server/app/api/worktrees/[id]/instances/notes/route_client-reference-manifest.js +1 -1
  197. package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js +1 -1
  198. package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js.nft.json +1 -1
  199. package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
  200. package/.next/server/app/api/worktrees/[id]/instances/roles/route.js +1 -0
  201. package/.next/server/app/api/worktrees/[id]/instances/roles/route.js.nft.json +1 -0
  202. package/.next/server/app/api/worktrees/[id]/instances/roles/route_client-reference-manifest.js +1 -0
  203. package/.next/server/app/api/worktrees/[id]/instances/roles/settle/route.js +1 -0
  204. package/.next/server/app/api/worktrees/[id]/instances/roles/settle/route.js.nft.json +1 -0
  205. package/.next/server/app/api/worktrees/[id]/instances/roles/settle/route_client-reference-manifest.js +1 -0
  206. package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
  207. package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
  208. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  209. package/.next/server/app/api/worktrees/[id]/kill-session/route.js +2 -2
  210. package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
  211. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  212. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  213. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  214. package/.next/server/app/api/worktrees/[id]/marp-render/route.js +1 -1
  215. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  216. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js +1 -1
  217. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  218. package/.next/server/app/api/worktrees/[id]/memos/route.js +1 -1
  219. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  220. package/.next/server/app/api/worktrees/[id]/messages/route.js +1 -1
  221. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  222. package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
  223. package/.next/server/app/api/worktrees/[id]/opencode/session/route.js +1 -1
  224. package/.next/server/app/api/worktrees/[id]/opencode/session/route.js.nft.json +1 -1
  225. package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
  226. package/.next/server/app/api/worktrees/[id]/opencode/share/route.js +1 -1
  227. package/.next/server/app/api/worktrees/[id]/opencode/share/route.js.nft.json +1 -1
  228. package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
  229. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
  230. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
  231. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  232. package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route.js +1 -1
  233. package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route.js.nft.json +1 -1
  234. package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route_client-reference-manifest.js +1 -1
  235. package/.next/server/app/api/worktrees/[id]/resolve-target/route.js +1 -1
  236. package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
  237. package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
  238. package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
  239. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  240. package/.next/server/app/api/worktrees/[id]/route.js +1 -1
  241. package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
  242. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  243. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +2 -2
  244. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js.nft.json +1 -1
  245. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  246. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +2 -2
  247. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js.nft.json +1 -1
  248. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  249. package/.next/server/app/api/worktrees/[id]/schedules/route.js +2 -2
  250. package/.next/server/app/api/worktrees/[id]/schedules/route.js.nft.json +1 -1
  251. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  252. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  253. package/.next/server/app/api/worktrees/[id]/send/route.js +1 -144
  254. package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
  255. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  256. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js +3 -104
  257. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
  258. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
  259. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js +1 -1
  260. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js.nft.json +1 -1
  261. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  262. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js +1 -1
  263. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js.nft.json +1 -1
  264. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  265. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js +1 -1
  266. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js.nft.json +1 -1
  267. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  268. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js +1 -1
  269. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js.nft.json +1 -1
  270. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  271. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route.js +1 -1
  272. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route.js.nft.json +1 -1
  273. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
  274. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js +1 -1
  275. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js.nft.json +1 -1
  276. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
  277. package/.next/server/app/api/worktrees/[id]/skills/route.js +1 -1
  278. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  279. package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
  280. package/.next/server/app/api/worktrees/[id]/slash-commands/route.js.nft.json +1 -1
  281. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  282. package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
  283. package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
  284. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  285. package/.next/server/app/api/worktrees/[id]/tasks/route.js +2 -2
  286. package/.next/server/app/api/worktrees/[id]/tasks/route.js.nft.json +1 -1
  287. package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
  288. package/.next/server/app/api/worktrees/[id]/terminal/route.js +1 -103
  289. package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
  290. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  291. package/.next/server/app/api/worktrees/[id]/timers/history/route.js +1 -1
  292. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  293. package/.next/server/app/api/worktrees/[id]/timers/route.js +1 -1
  294. package/.next/server/app/api/worktrees/[id]/timers/route.js.nft.json +1 -1
  295. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  296. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  297. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  298. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  299. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  300. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  301. package/.next/server/app/api/worktrees/[id]/verify/config/route.js +1 -1
  302. package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
  303. package/.next/server/app/api/worktrees/[id]/verify/route.js +1 -1
  304. package/.next/server/app/api/worktrees/[id]/verify/route.js.nft.json +1 -1
  305. package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
  306. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js +1 -1
  307. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js.nft.json +1 -1
  308. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
  309. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js +1 -1
  310. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
  311. package/.next/server/app/api/worktrees/[id]/verify/runs/route.js +1 -1
  312. package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
  313. package/.next/server/app/api/worktrees/[id]/viewed/route.js +1 -1
  314. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  315. package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
  316. package/.next/server/app/api/worktrees/route.js +1 -1
  317. package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
  318. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  319. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  320. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  321. package/.next/server/app/more/page.js +1 -1
  322. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  323. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  324. package/.next/server/app/page_client-reference-manifest.js +1 -1
  325. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  326. package/.next/server/app/repositories/page.js +2 -2
  327. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  328. package/.next/server/app/review/page.js +1 -1
  329. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  330. package/.next/server/app/sessions/page.js +1 -1
  331. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  332. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  333. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
  334. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  335. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  336. package/.next/server/app/worktrees/[id]/page.js +10 -10
  337. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  338. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  339. package/.next/server/app-paths-manifest.json +28 -21
  340. package/.next/server/chunks/1184.js +5 -0
  341. package/.next/server/chunks/1501.js +5 -5
  342. package/.next/server/chunks/1656.js +2 -2
  343. package/.next/server/chunks/1957.js +2 -2
  344. package/.next/server/chunks/1990.js +103 -0
  345. package/.next/server/chunks/2119.js +1 -1
  346. package/.next/server/chunks/2404.js +1 -1
  347. package/.next/server/chunks/2445.js +1 -1
  348. package/.next/server/chunks/2819.js +1 -0
  349. package/.next/server/chunks/2897.js +1 -1
  350. package/.next/server/chunks/3042.js +2 -0
  351. package/.next/server/chunks/3241.js +1 -1
  352. package/.next/server/chunks/3294.js +3 -0
  353. package/.next/server/chunks/3417.js +1 -1
  354. package/.next/server/chunks/3480.js +1 -1
  355. package/.next/server/chunks/3505.js +2 -6
  356. package/.next/server/chunks/3543.js +1 -1
  357. package/.next/server/chunks/3801.js +7 -7
  358. package/.next/server/chunks/3945.js +1 -1
  359. package/.next/server/chunks/4207.js +1 -1
  360. package/.next/server/chunks/454.js +1 -0
  361. package/.next/server/chunks/4645.js +1 -0
  362. package/.next/server/chunks/4911.js +1 -1
  363. package/.next/server/chunks/5209.js +2 -2
  364. package/.next/server/chunks/5350.js +216 -0
  365. package/.next/server/chunks/5354.js +1 -1
  366. package/.next/server/chunks/5571.js +1 -1
  367. package/.next/server/chunks/6009.js +12 -0
  368. package/.next/server/chunks/6130.js +1 -1
  369. package/.next/server/chunks/6285.js +1 -1
  370. package/.next/server/chunks/6401.js +1 -1
  371. package/.next/server/chunks/6486.js +2 -2
  372. package/.next/server/chunks/6569.js +1 -0
  373. package/.next/server/chunks/6781.js +1 -1
  374. package/.next/server/chunks/6793.js +4 -4
  375. package/.next/server/chunks/696.js +3 -0
  376. package/.next/server/chunks/7023.js +3 -3
  377. package/.next/server/chunks/7083.js +1 -0
  378. package/.next/server/chunks/741.js +1 -0
  379. package/.next/server/chunks/7662.js +1 -0
  380. package/.next/server/chunks/7905.js +1 -1
  381. package/.next/server/chunks/8143.js +33 -0
  382. package/.next/server/chunks/8581.js +6 -6
  383. package/.next/server/chunks/8728.js +2 -2
  384. package/.next/server/chunks/8782.js +1 -1
  385. package/.next/server/chunks/8807.js +181 -93
  386. package/.next/server/chunks/8918.js +3 -105
  387. package/.next/server/chunks/8955.js +1 -0
  388. package/.next/server/chunks/9169.js +1 -0
  389. package/.next/server/chunks/923.js +1 -0
  390. package/.next/server/chunks/9390.js +2 -2
  391. package/.next/server/chunks/9627.js +9 -9
  392. package/.next/server/chunks/973.js +1 -0
  393. package/.next/server/chunks/9731.js +3 -3
  394. package/.next/server/middleware-build-manifest.js +1 -1
  395. package/.next/server/middleware-manifest.json +5 -5
  396. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  397. package/.next/server/pages/500.html +1 -1
  398. package/.next/server/server-reference-manifest.json +1 -1
  399. package/.next/static/chunks/2314-2c9d587a27e8f731.js +1 -0
  400. package/.next/static/chunks/2407-ee881c99e218975b.js +1 -0
  401. package/.next/static/chunks/3931-24d7e245a93feb25.js +1 -0
  402. package/.next/static/chunks/4548-9afa02fd18afa6c7.js +1 -0
  403. package/.next/static/chunks/{5794-7975b8e51e731b19.js → 5794-38b3b504b3d97e04.js} +1 -1
  404. package/.next/static/chunks/{6966-d8dc6032410ffaba.js → 6966-dbfa4a43397f8c6d.js} +1 -1
  405. package/.next/static/chunks/7090-28e83f5a0efdb3b4.js +1 -0
  406. package/.next/static/chunks/7229.016d007c467a3600.js +1 -0
  407. package/.next/static/chunks/{8407-35bbfc84793d7004.js → 8407-dd6a8062fc449899.js} +1 -1
  408. package/.next/static/chunks/app/api/agents/update/route-476063c3571b81dd.js +1 -0
  409. package/.next/static/chunks/app/api/agents/versions/route-476063c3571b81dd.js +1 -0
  410. package/.next/static/chunks/app/api/app/release-notes/route-476063c3571b81dd.js +1 -0
  411. package/.next/static/chunks/app/api/app/update/route-476063c3571b81dd.js +1 -0
  412. package/.next/static/chunks/app/api/app/update-check/route-476063c3571b81dd.js +1 -0
  413. package/.next/static/chunks/app/api/auth/login/route-476063c3571b81dd.js +1 -0
  414. package/.next/static/chunks/app/api/auth/logout/route-476063c3571b81dd.js +1 -0
  415. package/.next/static/chunks/app/api/auth/status/route-476063c3571b81dd.js +1 -0
  416. package/.next/static/chunks/app/api/capabilities/route-476063c3571b81dd.js +1 -0
  417. package/.next/static/chunks/app/api/daily-summary/route-476063c3571b81dd.js +1 -0
  418. package/.next/static/chunks/app/api/daily-summary/status/route-476063c3571b81dd.js +1 -0
  419. package/.next/static/chunks/app/api/external-apps/[id]/health/route-476063c3571b81dd.js +1 -0
  420. package/.next/static/chunks/app/api/external-apps/[id]/route-476063c3571b81dd.js +1 -0
  421. package/.next/static/chunks/app/api/external-apps/route-476063c3571b81dd.js +1 -0
  422. package/.next/static/chunks/app/api/fs/browse/route-476063c3571b81dd.js +1 -0
  423. package/.next/static/chunks/app/api/fs/recent-paths/route-476063c3571b81dd.js +1 -0
  424. package/.next/static/chunks/app/api/hooks/agent-event/route-476063c3571b81dd.js +1 -0
  425. package/.next/static/chunks/app/api/hooks/claude-done/route-476063c3571b81dd.js +1 -0
  426. package/.next/static/chunks/app/api/hooks/permission-request/route-476063c3571b81dd.js +1 -0
  427. package/.next/static/chunks/app/api/metrics/vibe/route-476063c3571b81dd.js +1 -0
  428. package/.next/static/chunks/app/api/ollama/models/route-476063c3571b81dd.js +1 -0
  429. package/.next/static/chunks/app/api/push/escalation/route-476063c3571b81dd.js +1 -0
  430. package/.next/static/chunks/app/api/push/subscriptions/route-476063c3571b81dd.js +1 -0
  431. package/.next/static/chunks/app/api/push/vapid/route-476063c3571b81dd.js +1 -0
  432. package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-476063c3571b81dd.js +1 -0
  433. package/.next/static/chunks/app/api/relays/[relayId]/resolve/route-476063c3571b81dd.js +1 -0
  434. package/.next/static/chunks/app/api/relays/[relayId]/route-476063c3571b81dd.js +1 -0
  435. package/.next/static/chunks/app/api/relays/route-476063c3571b81dd.js +1 -0
  436. package/.next/static/chunks/app/api/remote/pair/route-476063c3571b81dd.js +1 -0
  437. package/.next/static/chunks/app/api/repositories/[id]/role-defaults/route-476063c3571b81dd.js +1 -0
  438. package/.next/static/chunks/app/api/repositories/[id]/route-476063c3571b81dd.js +1 -0
  439. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-476063c3571b81dd.js +1 -0
  440. package/.next/static/chunks/app/api/repositories/clone/route-476063c3571b81dd.js +1 -0
  441. package/.next/static/chunks/app/api/repositories/excluded/route-476063c3571b81dd.js +1 -0
  442. package/.next/static/chunks/app/api/repositories/restore/route-476063c3571b81dd.js +1 -0
  443. package/.next/static/chunks/app/api/repositories/route-476063c3571b81dd.js +1 -0
  444. package/.next/static/chunks/app/api/repositories/scan/route-476063c3571b81dd.js +1 -0
  445. package/.next/static/chunks/app/api/repositories/sync/route-476063c3571b81dd.js +1 -0
  446. package/.next/static/chunks/app/api/repositories/validate-path/route-476063c3571b81dd.js +1 -0
  447. package/.next/static/chunks/app/api/roles/[id]/route-476063c3571b81dd.js +1 -0
  448. package/.next/static/chunks/app/api/roles/route-476063c3571b81dd.js +1 -0
  449. package/.next/static/chunks/app/api/settings/agent-role-defaults/route-476063c3571b81dd.js +1 -0
  450. package/.next/static/chunks/app/api/settings/default-agents/route-476063c3571b81dd.js +1 -0
  451. package/.next/static/chunks/app/api/settings/default-surface-mode/route-476063c3571b81dd.js +1 -0
  452. package/.next/static/chunks/app/api/sidebar/group-order/route-476063c3571b81dd.js +1 -0
  453. package/.next/static/chunks/app/api/skills/[id]/route-476063c3571b81dd.js +1 -0
  454. package/.next/static/chunks/app/api/skills/installations/route-476063c3571b81dd.js +1 -0
  455. package/.next/static/chunks/app/api/skills/operations/route-476063c3571b81dd.js +1 -0
  456. package/.next/static/chunks/app/api/skills/reindex/route-476063c3571b81dd.js +1 -0
  457. package/.next/static/chunks/app/api/skills/route-476063c3571b81dd.js +1 -0
  458. package/.next/static/chunks/app/api/slash-commands/route-476063c3571b81dd.js +1 -0
  459. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-476063c3571b81dd.js +1 -0
  460. package/.next/static/chunks/app/api/tasks/[taskId]/route-476063c3571b81dd.js +1 -0
  461. package/.next/static/chunks/app/api/templates/[id]/route-476063c3571b81dd.js +1 -0
  462. package/.next/static/chunks/app/api/templates/route-476063c3571b81dd.js +1 -0
  463. package/.next/static/chunks/app/api/verification/runs/[runId]/route-476063c3571b81dd.js +1 -0
  464. package/.next/static/chunks/app/api/verification/runs/route-476063c3571b81dd.js +1 -0
  465. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-476063c3571b81dd.js +1 -0
  466. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-476063c3571b81dd.js +1 -0
  467. package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-476063c3571b81dd.js +1 -0
  468. package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-476063c3571b81dd.js +1 -0
  469. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-476063c3571b81dd.js +1 -0
  470. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-476063c3571b81dd.js +1 -0
  471. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-476063c3571b81dd.js +1 -0
  472. package/.next/static/chunks/app/api/worktrees/[id]/direct-input/route-476063c3571b81dd.js +1 -0
  473. package/.next/static/chunks/app/api/worktrees/[id]/env/route-476063c3571b81dd.js +1 -0
  474. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-476063c3571b81dd.js +1 -0
  475. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-476063c3571b81dd.js +1 -0
  476. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-476063c3571b81dd.js +1 -0
  477. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-476063c3571b81dd.js +1 -0
  478. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-476063c3571b81dd.js +1 -0
  479. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-476063c3571b81dd.js +1 -0
  480. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-476063c3571b81dd.js +1 -0
  481. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-476063c3571b81dd.js +1 -0
  482. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-476063c3571b81dd.js +1 -0
  483. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-476063c3571b81dd.js +1 -0
  484. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-476063c3571b81dd.js +1 -0
  485. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-476063c3571b81dd.js +1 -0
  486. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-476063c3571b81dd.js +1 -0
  487. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-476063c3571b81dd.js +1 -0
  488. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-476063c3571b81dd.js +1 -0
  489. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-476063c3571b81dd.js +1 -0
  490. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-476063c3571b81dd.js +1 -0
  491. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-476063c3571b81dd.js +1 -0
  492. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-476063c3571b81dd.js +1 -0
  493. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-476063c3571b81dd.js +1 -0
  494. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-476063c3571b81dd.js +1 -0
  495. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-476063c3571b81dd.js +1 -0
  496. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-476063c3571b81dd.js +1 -0
  497. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-476063c3571b81dd.js +1 -0
  498. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-476063c3571b81dd.js +1 -0
  499. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-476063c3571b81dd.js +1 -0
  500. package/.next/static/chunks/app/api/worktrees/[id]/instances/notes/route-476063c3571b81dd.js +1 -0
  501. package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-476063c3571b81dd.js +1 -0
  502. package/.next/static/chunks/app/api/worktrees/[id]/instances/roles/route-476063c3571b81dd.js +1 -0
  503. package/.next/static/chunks/app/api/worktrees/[id]/instances/roles/settle/route-476063c3571b81dd.js +1 -0
  504. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-476063c3571b81dd.js +1 -0
  505. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-476063c3571b81dd.js +1 -0
  506. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-476063c3571b81dd.js +1 -0
  507. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-476063c3571b81dd.js +1 -0
  508. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-476063c3571b81dd.js +1 -0
  509. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-476063c3571b81dd.js +1 -0
  510. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-476063c3571b81dd.js +1 -0
  511. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-476063c3571b81dd.js +1 -0
  512. package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-476063c3571b81dd.js +1 -0
  513. package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-476063c3571b81dd.js +1 -0
  514. package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-476063c3571b81dd.js +1 -0
  515. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-476063c3571b81dd.js +1 -0
  516. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/strict/route-476063c3571b81dd.js +1 -0
  517. package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-476063c3571b81dd.js +1 -0
  518. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-476063c3571b81dd.js +1 -0
  519. package/.next/static/chunks/app/api/worktrees/[id]/route-476063c3571b81dd.js +1 -0
  520. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-476063c3571b81dd.js +1 -0
  521. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-476063c3571b81dd.js +1 -0
  522. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-476063c3571b81dd.js +1 -0
  523. package/.next/static/chunks/app/api/worktrees/[id]/search/route-476063c3571b81dd.js +1 -0
  524. package/.next/static/chunks/app/api/worktrees/[id]/send/route-476063c3571b81dd.js +1 -0
  525. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-476063c3571b81dd.js +1 -0
  526. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-476063c3571b81dd.js +1 -0
  527. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-476063c3571b81dd.js +1 -0
  528. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-476063c3571b81dd.js +1 -0
  529. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-476063c3571b81dd.js +1 -0
  530. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-476063c3571b81dd.js +1 -0
  531. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-476063c3571b81dd.js +1 -0
  532. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-476063c3571b81dd.js +1 -0
  533. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-476063c3571b81dd.js +1 -0
  534. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-476063c3571b81dd.js +1 -0
  535. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-476063c3571b81dd.js +1 -0
  536. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-476063c3571b81dd.js +1 -0
  537. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-476063c3571b81dd.js +1 -0
  538. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-476063c3571b81dd.js +1 -0
  539. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-476063c3571b81dd.js +1 -0
  540. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-476063c3571b81dd.js +1 -0
  541. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-476063c3571b81dd.js +1 -0
  542. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-476063c3571b81dd.js +1 -0
  543. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-476063c3571b81dd.js +1 -0
  544. package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-476063c3571b81dd.js +1 -0
  545. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-476063c3571b81dd.js +1 -0
  546. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-476063c3571b81dd.js +1 -0
  547. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-476063c3571b81dd.js +1 -0
  548. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-476063c3571b81dd.js +1 -0
  549. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-476063c3571b81dd.js +1 -0
  550. package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-476063c3571b81dd.js +1 -0
  551. package/.next/static/chunks/app/api/worktrees/route-476063c3571b81dd.js +1 -0
  552. package/.next/static/chunks/app/layout-7bf800fcc5e025b1.js +1 -0
  553. package/.next/static/chunks/app/manifest.webmanifest/route-476063c3571b81dd.js +1 -0
  554. package/.next/static/chunks/app/more/{page-ff5af5ca48774c89.js → page-e8f5780f6e4fb657.js} +1 -1
  555. package/.next/static/chunks/app/{page-b4863bfe0452e09d.js → page-869f353a4ac4e15b.js} +1 -1
  556. package/.next/static/chunks/app/proxy/[...path]/route-476063c3571b81dd.js +1 -0
  557. package/.next/static/chunks/app/repositories/page-bedb505687010f18.js +1 -0
  558. package/.next/static/chunks/app/review/page-87c4a9b0de50fa80.js +1 -0
  559. package/.next/static/chunks/app/sessions/{page-c6eb7c02db2f4c80.js → page-82ca46793789fce4.js} +1 -1
  560. package/.next/static/chunks/app/worktrees/[id]/layout-476063c3571b81dd.js +1 -0
  561. package/.next/static/chunks/app/worktrees/[id]/page-570eb79fbbd1a934.js +1 -0
  562. package/.next/static/chunks/{webpack-838df0273b03af19.js → webpack-16b1a3143fa42ca0.js} +1 -1
  563. package/.next/static/css/d4f2c9522cf1b449.css +1 -0
  564. package/.next/static/z4d8-5MaLkoD-4EhueZwk/_buildManifest.js +1 -0
  565. package/.next/trace +14 -13
  566. package/.next/types/app/api/relays/[relayId]/resolve/route.ts +347 -0
  567. package/.next/types/app/api/repositories/[id]/role-defaults/route.ts +347 -0
  568. package/.next/types/app/api/roles/[id]/route.ts +347 -0
  569. package/.next/types/app/api/roles/route.ts +347 -0
  570. package/.next/types/app/api/settings/agent-role-defaults/route.ts +347 -0
  571. package/.next/types/app/api/worktrees/[id]/instances/roles/route.ts +347 -0
  572. package/.next/types/app/api/worktrees/[id]/instances/roles/settle/route.ts +347 -0
  573. package/.next/types/routes.d.ts +8 -1
  574. package/.next/types/validator.ts +63 -0
  575. package/dist/cli/commands/instances.d.ts +1 -0
  576. package/dist/cli/commands/instances.d.ts.map +1 -1
  577. package/dist/cli/commands/instances.js +290 -33
  578. package/dist/cli/commands/message-dispatch.d.ts +25 -3
  579. package/dist/cli/commands/message-dispatch.d.ts.map +1 -1
  580. package/dist/cli/commands/message-dispatch.js +26 -6
  581. package/dist/cli/commands/prompt.d.ts.map +1 -1
  582. package/dist/cli/commands/prompt.js +2 -1
  583. package/dist/cli/commands/relays.d.ts +7 -0
  584. package/dist/cli/commands/relays.d.ts.map +1 -1
  585. package/dist/cli/commands/relays.js +179 -6
  586. package/dist/cli/commands/report.d.ts +7 -2
  587. package/dist/cli/commands/report.d.ts.map +1 -1
  588. package/dist/cli/commands/report.js +19 -6
  589. package/dist/cli/commands/respond-strict.d.ts.map +1 -1
  590. package/dist/cli/commands/respond-strict.js +9 -2
  591. package/dist/cli/commands/roles.d.ts +11 -0
  592. package/dist/cli/commands/roles.d.ts.map +1 -0
  593. package/dist/cli/commands/roles.js +392 -0
  594. package/dist/cli/commands/send.d.ts.map +1 -1
  595. package/dist/cli/commands/send.js +526 -38
  596. package/dist/cli/commands/task.d.ts +22 -0
  597. package/dist/cli/commands/task.d.ts.map +1 -1
  598. package/dist/cli/commands/task.js +26 -18
  599. package/dist/cli/docs/agent-operations.d.ts +1 -1
  600. package/dist/cli/docs/agent-operations.d.ts.map +1 -1
  601. package/dist/cli/docs/agent-operations.js +91 -3
  602. package/dist/cli/index.d.ts +4 -0
  603. package/dist/cli/index.d.ts.map +1 -1
  604. package/dist/cli/index.js +6 -0
  605. package/dist/cli/types/api-responses.d.ts +106 -0
  606. package/dist/cli/types/api-responses.d.ts.map +1 -1
  607. package/dist/cli/types/index.d.ts +38 -0
  608. package/dist/cli/types/index.d.ts.map +1 -1
  609. package/dist/cli/types/index.js +15 -1
  610. package/dist/cli/utils/agent-instances.d.ts +29 -1
  611. package/dist/cli/utils/agent-instances.d.ts.map +1 -1
  612. package/dist/cli/utils/agent-instances.js +67 -7
  613. package/dist/cli/utils/agent-roles.d.ts +75 -0
  614. package/dist/cli/utils/agent-roles.d.ts.map +1 -0
  615. package/dist/cli/utils/agent-roles.js +238 -0
  616. package/dist/cli/utils/api-client-deadline.d.ts +28 -0
  617. package/dist/cli/utils/api-client-deadline.d.ts.map +1 -0
  618. package/dist/cli/utils/api-client-deadline.js +46 -0
  619. package/dist/cli/utils/api-client-errors.d.ts +140 -0
  620. package/dist/cli/utils/api-client-errors.d.ts.map +1 -0
  621. package/dist/cli/utils/api-client-errors.js +222 -0
  622. package/dist/cli/utils/api-client.d.ts +9 -131
  623. package/dist/cli/utils/api-client.d.ts.map +1 -1
  624. package/dist/cli/utils/api-client.js +43 -258
  625. package/dist/cli/utils/role-failure.d.ts +31 -0
  626. package/dist/cli/utils/role-failure.d.ts.map +1 -0
  627. package/dist/cli/utils/role-failure.js +90 -0
  628. package/dist/cli/utils/role-input.d.ts +16 -0
  629. package/dist/cli/utils/role-input.d.ts.map +1 -0
  630. package/dist/cli/utils/role-input.js +78 -0
  631. package/dist/cli/utils/security-logger.d.ts +17 -0
  632. package/dist/cli/utils/security-logger.d.ts.map +1 -1
  633. package/dist/cli/utils/security-logger.js +44 -5
  634. package/dist/lib/cli-tools/types.d.ts +6 -0
  635. package/dist/lib/cli-tools/types.d.ts.map +1 -1
  636. package/dist/lib/detection/tools/verified-against.d.ts +16 -0
  637. package/dist/lib/detection/tools/verified-against.d.ts.map +1 -1
  638. package/dist/lib/detection/tools/verified-against.js +16 -0
  639. package/dist/lib/session/send-attempt-types.d.ts +4 -0
  640. package/dist/lib/session/send-attempt-types.d.ts.map +1 -1
  641. package/dist/lib/verification/verify-config.d.ts +22 -0
  642. package/dist/lib/verification/verify-config.d.ts.map +1 -1
  643. package/dist/lib/verification/verify-config.js +32 -2
  644. package/dist/server/locales/en/worktree.json +30 -4
  645. package/dist/server/locales/ja/worktree.json +30 -4
  646. package/dist/server/src/config/safe-directory.js +30 -0
  647. package/dist/server/src/lib/agent-roles/adapters.js +174 -0
  648. package/dist/server/src/lib/agent-roles/artifacts.js +638 -0
  649. package/dist/server/src/lib/agent-roles/composition.js +222 -0
  650. package/dist/server/src/lib/agent-roles/fingerprint.js +21 -0
  651. package/dist/server/src/lib/agent-roles/jsonc.js +85 -0
  652. package/dist/server/src/lib/agent-roles/launch-errors.js +58 -0
  653. package/dist/server/src/lib/agent-roles/pane-env.js +63 -0
  654. package/dist/server/src/lib/agent-roles/resolve.js +375 -0
  655. package/dist/server/src/lib/agent-roles/toml-basic.js +140 -0
  656. package/dist/server/src/lib/agent-roles/unicode.js +16 -0
  657. package/dist/server/src/lib/agent-roles/validation.js +61 -0
  658. package/dist/server/src/lib/cli-tools/antigravity.js +39 -6
  659. package/dist/server/src/lib/cli-tools/base.js +63 -5
  660. package/dist/server/src/lib/cli-tools/claude-auto-default-nudge.js +141 -0
  661. package/dist/server/src/lib/cli-tools/claude.js +15 -3
  662. package/dist/server/src/lib/cli-tools/codex.js +134 -21
  663. package/dist/server/src/lib/cli-tools/command-code.js +28 -13
  664. package/dist/server/src/lib/cli-tools/copilot.js +189 -31
  665. package/dist/server/src/lib/cli-tools/gemini.js +37 -3
  666. package/dist/server/src/lib/cli-tools/launch-answer-skips.js +76 -0
  667. package/dist/server/src/lib/cli-tools/opencode-v2.js +10 -0
  668. package/dist/server/src/lib/cli-tools/opencode.js +214 -12
  669. package/dist/server/src/lib/cli-tools/prompt-wait-dialog.js +115 -0
  670. package/dist/server/src/lib/cli-tools/submit-composer-read.js +65 -12
  671. package/dist/server/src/lib/cli-tools/submit-verified-sender-composer.js +78 -0
  672. package/dist/server/src/lib/cli-tools/submit-verified-sender-lock.js +116 -0
  673. package/dist/server/src/lib/cli-tools/submit-verified-sender-report.js +250 -0
  674. package/dist/server/src/lib/cli-tools/submit-verified-sender-shared.js +106 -0
  675. package/dist/server/src/lib/cli-tools/submit-verified-sender.js +94 -295
  676. package/dist/server/src/lib/cli-tools/vibe-local.js +111 -0
  677. package/dist/server/src/lib/db/agent-instances-db.js +53 -0
  678. package/dist/server/src/lib/db/agent-roles-db.js +409 -0
  679. package/dist/server/src/lib/db/agent-session-cost-sampler.js +3 -2
  680. package/dist/server/src/lib/db/chat-db.js +14 -1
  681. package/dist/server/src/lib/db/db-instance.js +84 -2
  682. package/dist/server/src/lib/db/migrations/index.js +6 -0
  683. package/dist/server/src/lib/db/migrations/runner.js +1 -1
  684. package/dist/server/src/lib/db/migrations/v63-session-relays-delivery-attempt.js +61 -0
  685. package/dist/server/src/lib/db/migrations/v64-agent-roles.js +123 -0
  686. package/dist/server/src/lib/db/migrations/v65-agent-instance-creation-keys.js +42 -0
  687. package/dist/server/src/lib/db/relay-bind-db-base.js +89 -0
  688. package/dist/server/src/lib/db/relay-bind-db-delivery.js +223 -0
  689. package/dist/server/src/lib/db/relay-bind-db-pending.js +183 -0
  690. package/dist/server/src/lib/db/relay-bind-db.js +88 -167
  691. package/dist/server/src/lib/db/relay-db-base.js +20 -0
  692. package/dist/server/src/lib/db/relay-db-count.js +49 -0
  693. package/dist/server/src/lib/db/relay-db-delivery.js +104 -0
  694. package/dist/server/src/lib/db/relay-db-hold.js +250 -0
  695. package/dist/server/src/lib/db/relay-db.js +68 -92
  696. package/dist/server/src/lib/detection/cli-patterns.js +13 -3
  697. package/dist/server/src/lib/detection/model-info-extractor.js +1 -1
  698. package/dist/server/src/lib/detection/tools/claude/patterns.js +76 -0
  699. package/dist/server/src/lib/detection/tools/codex/cli-patterns.js +5 -0
  700. package/dist/server/src/lib/detection/tools/codex/detect.js +5 -1
  701. package/dist/server/src/lib/detection/tools/codex/patterns.js +52 -2
  702. package/dist/server/src/lib/detection/tools/codex/prompt.js +23 -3
  703. package/dist/server/src/lib/detection/tools/opencode/composer-own-text.js +119 -0
  704. package/dist/server/src/lib/detection/tools/opencode/detect.js +30 -15
  705. package/dist/server/src/lib/detection/tools/opencode/patterns.js +268 -7
  706. package/dist/server/src/lib/detection/tools/opencode/readiness.js +71 -0
  707. package/dist/server/src/lib/detection/tools/opencode-v2/detect.js +51 -15
  708. package/dist/server/src/lib/detection/tools/opencode-v2/patterns.js +195 -11
  709. package/dist/server/src/lib/detection/tools/run-detection.js +5 -2
  710. package/dist/server/src/lib/detection/tools/verified-against.js +16 -0
  711. package/dist/server/src/lib/detection/tools/vibe-local/readiness.js +92 -0
  712. package/dist/server/src/lib/git/git-common-dir.js +192 -0
  713. package/dist/server/src/lib/hooks/hook-settings-generator.js +8 -2
  714. package/dist/server/src/lib/hooks/sources/copilot/hook-settings.js +31 -1
  715. package/dist/server/src/lib/hooks/sources/launch-command.js +31 -8
  716. package/dist/server/src/lib/hooks/sources/opencode/client.js +20 -0
  717. package/dist/server/src/lib/hooks/sources/opencode-v2/client.js +24 -0
  718. package/dist/server/src/lib/hooks/sources/opencode-v2/history.js +208 -35
  719. package/dist/server/src/lib/hooks/sources/opencode-v2/secrets.js +7 -1
  720. package/dist/server/src/lib/hooks/sources/opencode-v2/subscription.js +117 -2
  721. package/dist/server/src/lib/job-executor.js +18 -1
  722. package/dist/server/src/lib/polling/response-checker-extraction-steps.js +58 -4
  723. package/dist/server/src/lib/polling/response-checker.js +32 -7
  724. package/dist/server/src/lib/relay/relay-bound-reply.js +20 -9
  725. package/dist/server/src/lib/relay/relay-delivery-block.js +150 -0
  726. package/dist/server/src/lib/relay/relay-delivery.js +416 -79
  727. package/dist/server/src/lib/relay/relay-messages.js +13 -0
  728. package/dist/server/src/lib/relay/relay-system-line.js +28 -15
  729. package/dist/server/src/lib/relay/types.js +14 -2
  730. package/dist/server/src/lib/response-cleaner.js +13 -3
  731. package/dist/server/src/lib/response-extractor.js +38 -3
  732. package/dist/server/src/lib/session/agent-session-lifecycle.js +9 -1
  733. package/dist/server/src/lib/session/claude-executor.js +13 -1
  734. package/dist/server/src/lib/session/claude-session.js +113 -14
  735. package/dist/server/src/lib/session/current-output-builder.js +7 -5
  736. package/dist/server/src/lib/session/instance-input-lock.js +140 -6
  737. package/dist/server/src/lib/session/prompt-submit-receipt.js +87 -18
  738. package/dist/server/src/lib/session/prompt-waiting-guard.js +8 -2
  739. package/dist/server/src/lib/session/respond-target.js +82 -0
  740. package/dist/server/src/lib/session/role-launch.js +722 -0
  741. package/dist/server/src/lib/session/send-attempt-state.js +137 -3
  742. package/dist/server/src/lib/session/send-user-message.js +84 -7
  743. package/dist/server/src/lib/session/session-generation-archive.js +7 -8
  744. package/dist/server/src/lib/session/session-launch-flight.js +33 -1
  745. package/dist/server/src/lib/session/structured-prompt.js +12 -7
  746. package/dist/server/src/lib/session/worktree-session-reconcile.js +15 -0
  747. package/dist/server/src/lib/session-key-sender.js +6 -1
  748. package/dist/server/src/lib/test-run-detection.js +53 -0
  749. package/dist/server/src/lib/tmux/read-mode.js +4 -0
  750. package/dist/server/src/lib/tmux/session-hook-scripts.js +36 -4
  751. package/dist/server/src/lib/tui-accumulator.js +14 -5
  752. package/dist/server/src/lib/verification/env-clean-gate.js +117 -12
  753. package/dist/server/src/lib/verification/gate-runner.js +9 -8
  754. package/dist/server/src/lib/verification/verify-config.js +32 -2
  755. package/dist/server/src/types/agent-roles.js +56 -0
  756. package/dist/types/agent-roles.d.ts +351 -0
  757. package/dist/types/agent-roles.d.ts.map +1 -0
  758. package/dist/types/agent-roles.js +56 -0
  759. package/docs/en/user-guide/webapp-guide.md +16 -0
  760. package/package.json +2 -1
  761. package/release-notes/0.49.3.json +52 -0
  762. package/release-notes/0.50.0.json +113 -0
  763. package/.next/server/chunks/1062.js +0 -1
  764. package/.next/server/chunks/110.js +0 -1
  765. package/.next/server/chunks/2422.js +0 -1
  766. package/.next/server/chunks/3756.js +0 -1
  767. package/.next/server/chunks/4936.js +0 -1
  768. package/.next/server/chunks/5630.js +0 -1
  769. package/.next/server/chunks/610.js +0 -1
  770. package/.next/server/chunks/6119.js +0 -1
  771. package/.next/server/chunks/6808.js +0 -4
  772. package/.next/server/chunks/7491.js +0 -3
  773. package/.next/server/chunks/9198.js +0 -144
  774. package/.next/server/chunks/9360.js +0 -2
  775. package/.next/server/chunks/9584.js +0 -1
  776. package/.next/static/chunks/2407-07a237575e1ceb9e.js +0 -1
  777. package/.next/static/chunks/344-e1cefd00787060e4.js +0 -1
  778. package/.next/static/chunks/3931-61ad1a4fc0208d0e.js +0 -1
  779. package/.next/static/chunks/7229.7f0f5a7032b612b4.js +0 -1
  780. package/.next/static/chunks/8165-263172c17ae8e8c3.js +0 -1
  781. package/.next/static/chunks/app/api/agents/update/route-a4f129c451de7859.js +0 -1
  782. package/.next/static/chunks/app/api/agents/versions/route-a4f129c451de7859.js +0 -1
  783. package/.next/static/chunks/app/api/app/release-notes/route-a4f129c451de7859.js +0 -1
  784. package/.next/static/chunks/app/api/app/update/route-a4f129c451de7859.js +0 -1
  785. package/.next/static/chunks/app/api/app/update-check/route-a4f129c451de7859.js +0 -1
  786. package/.next/static/chunks/app/api/auth/login/route-a4f129c451de7859.js +0 -1
  787. package/.next/static/chunks/app/api/auth/logout/route-a4f129c451de7859.js +0 -1
  788. package/.next/static/chunks/app/api/auth/status/route-a4f129c451de7859.js +0 -1
  789. package/.next/static/chunks/app/api/capabilities/route-a4f129c451de7859.js +0 -1
  790. package/.next/static/chunks/app/api/daily-summary/route-a4f129c451de7859.js +0 -1
  791. package/.next/static/chunks/app/api/daily-summary/status/route-a4f129c451de7859.js +0 -1
  792. package/.next/static/chunks/app/api/external-apps/[id]/health/route-a4f129c451de7859.js +0 -1
  793. package/.next/static/chunks/app/api/external-apps/[id]/route-a4f129c451de7859.js +0 -1
  794. package/.next/static/chunks/app/api/external-apps/route-a4f129c451de7859.js +0 -1
  795. package/.next/static/chunks/app/api/fs/browse/route-a4f129c451de7859.js +0 -1
  796. package/.next/static/chunks/app/api/fs/recent-paths/route-a4f129c451de7859.js +0 -1
  797. package/.next/static/chunks/app/api/hooks/agent-event/route-a4f129c451de7859.js +0 -1
  798. package/.next/static/chunks/app/api/hooks/claude-done/route-a4f129c451de7859.js +0 -1
  799. package/.next/static/chunks/app/api/hooks/permission-request/route-a4f129c451de7859.js +0 -1
  800. package/.next/static/chunks/app/api/metrics/vibe/route-a4f129c451de7859.js +0 -1
  801. package/.next/static/chunks/app/api/ollama/models/route-a4f129c451de7859.js +0 -1
  802. package/.next/static/chunks/app/api/push/escalation/route-a4f129c451de7859.js +0 -1
  803. package/.next/static/chunks/app/api/push/subscriptions/route-a4f129c451de7859.js +0 -1
  804. package/.next/static/chunks/app/api/push/vapid/route-a4f129c451de7859.js +0 -1
  805. package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-a4f129c451de7859.js +0 -1
  806. package/.next/static/chunks/app/api/relays/[relayId]/route-a4f129c451de7859.js +0 -1
  807. package/.next/static/chunks/app/api/relays/route-a4f129c451de7859.js +0 -1
  808. package/.next/static/chunks/app/api/remote/pair/route-a4f129c451de7859.js +0 -1
  809. package/.next/static/chunks/app/api/repositories/[id]/route-a4f129c451de7859.js +0 -1
  810. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-a4f129c451de7859.js +0 -1
  811. package/.next/static/chunks/app/api/repositories/clone/route-a4f129c451de7859.js +0 -1
  812. package/.next/static/chunks/app/api/repositories/excluded/route-a4f129c451de7859.js +0 -1
  813. package/.next/static/chunks/app/api/repositories/restore/route-a4f129c451de7859.js +0 -1
  814. package/.next/static/chunks/app/api/repositories/route-a4f129c451de7859.js +0 -1
  815. package/.next/static/chunks/app/api/repositories/scan/route-a4f129c451de7859.js +0 -1
  816. package/.next/static/chunks/app/api/repositories/sync/route-a4f129c451de7859.js +0 -1
  817. package/.next/static/chunks/app/api/repositories/validate-path/route-a4f129c451de7859.js +0 -1
  818. package/.next/static/chunks/app/api/settings/default-agents/route-a4f129c451de7859.js +0 -1
  819. package/.next/static/chunks/app/api/settings/default-surface-mode/route-a4f129c451de7859.js +0 -1
  820. package/.next/static/chunks/app/api/sidebar/group-order/route-a4f129c451de7859.js +0 -1
  821. package/.next/static/chunks/app/api/skills/[id]/route-a4f129c451de7859.js +0 -1
  822. package/.next/static/chunks/app/api/skills/installations/route-a4f129c451de7859.js +0 -1
  823. package/.next/static/chunks/app/api/skills/operations/route-a4f129c451de7859.js +0 -1
  824. package/.next/static/chunks/app/api/skills/reindex/route-a4f129c451de7859.js +0 -1
  825. package/.next/static/chunks/app/api/skills/route-a4f129c451de7859.js +0 -1
  826. package/.next/static/chunks/app/api/slash-commands/route-a4f129c451de7859.js +0 -1
  827. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-a4f129c451de7859.js +0 -1
  828. package/.next/static/chunks/app/api/tasks/[taskId]/route-a4f129c451de7859.js +0 -1
  829. package/.next/static/chunks/app/api/templates/[id]/route-a4f129c451de7859.js +0 -1
  830. package/.next/static/chunks/app/api/templates/route-a4f129c451de7859.js +0 -1
  831. package/.next/static/chunks/app/api/verification/runs/[runId]/route-a4f129c451de7859.js +0 -1
  832. package/.next/static/chunks/app/api/verification/runs/route-a4f129c451de7859.js +0 -1
  833. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-a4f129c451de7859.js +0 -1
  834. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-a4f129c451de7859.js +0 -1
  835. package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-a4f129c451de7859.js +0 -1
  836. package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-a4f129c451de7859.js +0 -1
  837. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-a4f129c451de7859.js +0 -1
  838. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-a4f129c451de7859.js +0 -1
  839. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-a4f129c451de7859.js +0 -1
  840. package/.next/static/chunks/app/api/worktrees/[id]/direct-input/route-a4f129c451de7859.js +0 -1
  841. package/.next/static/chunks/app/api/worktrees/[id]/env/route-a4f129c451de7859.js +0 -1
  842. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-a4f129c451de7859.js +0 -1
  843. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-a4f129c451de7859.js +0 -1
  844. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-a4f129c451de7859.js +0 -1
  845. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-a4f129c451de7859.js +0 -1
  846. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-a4f129c451de7859.js +0 -1
  847. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-a4f129c451de7859.js +0 -1
  848. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-a4f129c451de7859.js +0 -1
  849. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-a4f129c451de7859.js +0 -1
  850. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-a4f129c451de7859.js +0 -1
  851. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-a4f129c451de7859.js +0 -1
  852. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-a4f129c451de7859.js +0 -1
  853. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-a4f129c451de7859.js +0 -1
  854. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-a4f129c451de7859.js +0 -1
  855. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-a4f129c451de7859.js +0 -1
  856. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-a4f129c451de7859.js +0 -1
  857. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-a4f129c451de7859.js +0 -1
  858. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-a4f129c451de7859.js +0 -1
  859. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-a4f129c451de7859.js +0 -1
  860. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-a4f129c451de7859.js +0 -1
  861. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-a4f129c451de7859.js +0 -1
  862. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-a4f129c451de7859.js +0 -1
  863. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-a4f129c451de7859.js +0 -1
  864. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-a4f129c451de7859.js +0 -1
  865. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-a4f129c451de7859.js +0 -1
  866. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-a4f129c451de7859.js +0 -1
  867. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-a4f129c451de7859.js +0 -1
  868. package/.next/static/chunks/app/api/worktrees/[id]/instances/notes/route-a4f129c451de7859.js +0 -1
  869. package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-a4f129c451de7859.js +0 -1
  870. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-a4f129c451de7859.js +0 -1
  871. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-a4f129c451de7859.js +0 -1
  872. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-a4f129c451de7859.js +0 -1
  873. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-a4f129c451de7859.js +0 -1
  874. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-a4f129c451de7859.js +0 -1
  875. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-a4f129c451de7859.js +0 -1
  876. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-a4f129c451de7859.js +0 -1
  877. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-a4f129c451de7859.js +0 -1
  878. package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-a4f129c451de7859.js +0 -1
  879. package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-a4f129c451de7859.js +0 -1
  880. package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-a4f129c451de7859.js +0 -1
  881. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-a4f129c451de7859.js +0 -1
  882. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/strict/route-a4f129c451de7859.js +0 -1
  883. package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-a4f129c451de7859.js +0 -1
  884. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-a4f129c451de7859.js +0 -1
  885. package/.next/static/chunks/app/api/worktrees/[id]/route-a4f129c451de7859.js +0 -1
  886. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-a4f129c451de7859.js +0 -1
  887. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-a4f129c451de7859.js +0 -1
  888. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-a4f129c451de7859.js +0 -1
  889. package/.next/static/chunks/app/api/worktrees/[id]/search/route-a4f129c451de7859.js +0 -1
  890. package/.next/static/chunks/app/api/worktrees/[id]/send/route-a4f129c451de7859.js +0 -1
  891. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-a4f129c451de7859.js +0 -1
  892. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-a4f129c451de7859.js +0 -1
  893. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-a4f129c451de7859.js +0 -1
  894. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-a4f129c451de7859.js +0 -1
  895. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-a4f129c451de7859.js +0 -1
  896. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-a4f129c451de7859.js +0 -1
  897. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-a4f129c451de7859.js +0 -1
  898. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-a4f129c451de7859.js +0 -1
  899. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-a4f129c451de7859.js +0 -1
  900. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-a4f129c451de7859.js +0 -1
  901. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-a4f129c451de7859.js +0 -1
  902. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-a4f129c451de7859.js +0 -1
  903. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-a4f129c451de7859.js +0 -1
  904. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-a4f129c451de7859.js +0 -1
  905. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-a4f129c451de7859.js +0 -1
  906. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-a4f129c451de7859.js +0 -1
  907. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-a4f129c451de7859.js +0 -1
  908. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-a4f129c451de7859.js +0 -1
  909. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-a4f129c451de7859.js +0 -1
  910. package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-a4f129c451de7859.js +0 -1
  911. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-a4f129c451de7859.js +0 -1
  912. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-a4f129c451de7859.js +0 -1
  913. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-a4f129c451de7859.js +0 -1
  914. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-a4f129c451de7859.js +0 -1
  915. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-a4f129c451de7859.js +0 -1
  916. package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-a4f129c451de7859.js +0 -1
  917. package/.next/static/chunks/app/api/worktrees/route-a4f129c451de7859.js +0 -1
  918. package/.next/static/chunks/app/layout-4f64316957b0a8e5.js +0 -1
  919. package/.next/static/chunks/app/manifest.webmanifest/route-a4f129c451de7859.js +0 -1
  920. package/.next/static/chunks/app/proxy/[...path]/route-a4f129c451de7859.js +0 -1
  921. package/.next/static/chunks/app/repositories/page-71f5a5ac29b0370d.js +0 -1
  922. package/.next/static/chunks/app/review/page-ff3efb96fdf9bb4b.js +0 -1
  923. package/.next/static/chunks/app/worktrees/[id]/layout-a4f129c451de7859.js +0 -1
  924. package/.next/static/chunks/app/worktrees/[id]/page-33afc6aa96289fb0.js +0 -1
  925. package/.next/static/css/c1e307d05daf93b6.css +0 -1
  926. package/.next/static/yGatWDsS532awSs51kXyd/_buildManifest.js +0 -1
  927. /package/.next/static/{yGatWDsS532awSs51kXyd → z4d8-5MaLkoD-4EhueZwk}/_ssgManifest.js +0 -0
@@ -0,0 +1,351 @@
1
+ /**
2
+ * Roles: the vocabulary shared by the database, the resolver, the routes, the
3
+ * CLI (#4116) and the screen (#4117). Free of the database and of `fs`, so a
4
+ * client component and the launch path can both import it.
5
+ *
6
+ * Worked examples of every response: `tests/integration/fixtures/agent-roles-api-examples.ts`.
7
+ *
8
+ * Design: Epic #4112, `docs/design/agent-roles-adapters.md` §5 and §14.
9
+ *
10
+ * @module types/agent-roles
11
+ */
12
+ import type { CLIToolType } from '../lib/cli-tools/types';
13
+ /** Largest body, in UTF-8 bytes. Applied to the body, never to a composed artifact (§5). */
14
+ export declare const MAX_ROLE_BODY_BYTES = 16384;
15
+ /** Longest role name, in UTF-16 code units. The name reaches no file name or command line. */
16
+ export declare const MAX_ROLE_NAME_LENGTH = 64;
17
+ /** The tools a role can be given to (D3). Gemini and vibe-local are out of scope. */
18
+ export declare const AGENT_ROLE_CLI_TOOLS: readonly ["claude", "codex", "command-code", "opencode", "opencode-v2", "copilot", "antigravity"];
19
+ export type AgentRoleCliTool = (typeof AGENT_ROLE_CLI_TOOLS)[number];
20
+ export declare function isAgentRoleCliTool(value: unknown): value is AgentRoleCliTool;
21
+ /** Turns Antigravity's adapter on, once its check under a dedicated OS user has passed (§6.6). */
22
+ export declare const AGENT_ROLE_ANTIGRAVITY_ENABLED_ENV_VAR = "CM_AGENT_ROLE_ANTIGRAVITY_ENABLED";
23
+ /**
24
+ * Whether a launch may apply a role through this tool's adapter yet. Antigravity
25
+ * can hold settings and its adapter is built, but stays off until the check under
26
+ * a dedicated OS user has passed (D3). A role resolved for a tool that is off
27
+ * refuses the launch; it never starts without it.
28
+ */
29
+ export declare function isAgentRoleAdapterEnabled(tool: AgentRoleCliTool): boolean;
30
+ /**
31
+ * Whether a role through this tool replaces its default instructions instead of
32
+ * adding to them: OpenCode V2 overrides the agent's `system`, which removes the
33
+ * provider's base prompt (§7.2). The API says so, so a client can.
34
+ */
35
+ export declare function agentRoleReplacesDefaultInstructions(tool: string): boolean;
36
+ /** What a client asks an instance or repository to hold. */
37
+ export type RoleAssignmentInput = {
38
+ state: 'inherit';
39
+ } | {
40
+ state: 'none';
41
+ } | {
42
+ state: 'role';
43
+ roleId: string;
44
+ };
45
+ /**
46
+ * What an instance or repository holds. `inherit` is no row, `none` is a row
47
+ * with a NULL role, `role` is a row with one.
48
+ */
49
+ export type StoredRoleState = {
50
+ state: 'inherit';
51
+ } | {
52
+ state: 'none';
53
+ } | {
54
+ state: 'role';
55
+ roleId: string;
56
+ roleName: string;
57
+ };
58
+ /** What the system level holds. It has no `none`: a missing row is the end of the chain. */
59
+ export type StoredSystemRoleState = {
60
+ state: 'unset';
61
+ } | {
62
+ state: 'role';
63
+ roleId: string;
64
+ roleName: string;
65
+ };
66
+ /** Everything pointing directly at a role. Inheritors of a default are not listed one by one. */
67
+ export interface AgentRoleReferences {
68
+ instances: Array<{
69
+ worktreeId: string;
70
+ instanceId: string;
71
+ }>;
72
+ repositories: Array<{
73
+ repositoryId: string;
74
+ repositoryPath: string;
75
+ cliToolId: string;
76
+ }>;
77
+ system: Array<{
78
+ cliToolId: string;
79
+ }>;
80
+ }
81
+ /**
82
+ * The role a launch uses, taken once and never re-read. `bodyFingerprint` is the
83
+ * only fingerprint it can carry: the injection fingerprint depends on the user's
84
+ * settings at launch and comes from #4115's transform, the artifact fingerprint
85
+ * from the writer (§5).
86
+ */
87
+ export interface ResolvedRole {
88
+ readonly id: string;
89
+ readonly name: string;
90
+ readonly bodyVersion: number;
91
+ readonly body: string;
92
+ readonly bodyFingerprint: string;
93
+ }
94
+ /** The level that decided. `unsupported` is the tool being outside D3. */
95
+ export type RoleResolutionSource = 'instance' | 'repository' | 'system' | 'fallback' | 'unsupported';
96
+ /** Why there is no role. */
97
+ export type NoRoleReason = 'explicit-none' | 'no-default' | 'unsupported-tool';
98
+ /**
99
+ * - `root-settings-differ`: the roots of one git repository hold different settings.
100
+ * - `membership-undetermined`: git could not say whether a root that would
101
+ * disagree belongs to this repository.
102
+ */
103
+ export type RoleAmbiguityReason = 'root-settings-differ' | 'membership-undetermined';
104
+ export interface RoleAmbiguousRoot {
105
+ repositoryId: string;
106
+ path: string;
107
+ state: StoredRoleState;
108
+ }
109
+ interface RoleResolutionBase {
110
+ cliToolId: CLIToolType;
111
+ /**
112
+ * The registered root this answer is attributed to: the first by path among
113
+ * {@link repositoryIds}, so it does not depend on the scan order. Null when the
114
+ * worktree has no registered root.
115
+ */
116
+ repositoryId: string | null;
117
+ /** Every root the worktree belongs to. Settings are stored per root. */
118
+ repositoryIds: string[];
119
+ }
120
+ export type RoleResolution = (RoleResolutionBase & {
121
+ kind: 'role';
122
+ source: RoleResolutionSource;
123
+ role: ResolvedRole;
124
+ }) | (RoleResolutionBase & {
125
+ kind: 'none';
126
+ source: RoleResolutionSource;
127
+ reason: NoRoleReason;
128
+ }) | (RoleResolutionBase & {
129
+ kind: 'ambiguous';
130
+ source: 'repository';
131
+ reason: RoleAmbiguityReason;
132
+ roots: RoleAmbiguousRoot[];
133
+ });
134
+ /** A {@link ResolvedRole} safe to answer in a listing: no body. */
135
+ export type EffectiveRoleSummary = Omit<ResolvedRole, 'body'>;
136
+ /** A {@link RoleResolution} for an API response: the body is left out. */
137
+ export type EffectiveRole = (RoleResolutionBase & {
138
+ kind: 'role';
139
+ source: RoleResolutionSource;
140
+ role: EffectiveRoleSummary;
141
+ }) | (RoleResolutionBase & {
142
+ kind: 'none';
143
+ source: RoleResolutionSource;
144
+ reason: NoRoleReason;
145
+ }) | (RoleResolutionBase & {
146
+ kind: 'ambiguous';
147
+ source: 'repository';
148
+ reason: RoleAmbiguityReason;
149
+ roots: RoleAmbiguousRoot[];
150
+ });
151
+ export type RoleLaunchPhase = 'requested' | 'launched';
152
+ /**
153
+ * One line of evidence about a launch: what was resolved at that moment, not
154
+ * what the settings say now. Holds no body and no secret; a composition input is
155
+ * recorded only as a fingerprint. Written once.
156
+ */
157
+ export interface RoleLaunchSnapshotInput {
158
+ worktreeId: string;
159
+ instanceId: string;
160
+ cliToolId: string;
161
+ phase: RoleLaunchPhase;
162
+ sessionGeneration: string;
163
+ source: RoleResolutionSource;
164
+ /** The root at that moment. Deliberately not a foreign key. */
165
+ repositoryId: string | null;
166
+ /** The role at that moment. Deliberately not a foreign key. */
167
+ roleId: string | null;
168
+ roleName: string | null;
169
+ bodyVersion: number | null;
170
+ bodyFingerprint: string | null;
171
+ injectionFingerprint: string | null;
172
+ artifactFingerprint: string | null;
173
+ adapterId: string | null;
174
+ adapterVersion: string | null;
175
+ wrapperVersion: string | null;
176
+ artifactPath: string | null;
177
+ /** OpenCode V2: the agent whose `system` was overridden. */
178
+ effectiveAgent: string | null;
179
+ /** Codex: the fingerprint of the `developer_instructions` it composed with. */
180
+ compositionSourceFingerprint: string | null;
181
+ noRoleReason: NoRoleReason | null;
182
+ }
183
+ export interface RoleLaunchRecord extends RoleLaunchSnapshotInput {
184
+ id: string;
185
+ recordedAt: number;
186
+ }
187
+ /**
188
+ * The application state of one instance. `effectiveNext` is what the next launch
189
+ * would use; `requested` and `launched` are snapshots of a launch, and are the role
190
+ * at startup, since a switch inside the TUI cannot be seen.
191
+ *
192
+ * `launched` is null until something confirms it (§14), and after a server restart:
193
+ * null is "not known", which is not "no role". A launch with no role has a record
194
+ * with a null fingerprint and a `noRoleReason`.
195
+ *
196
+ * `restartPending` compares injection fingerprints: another name or another level
197
+ * holding the same text is `no`; `unknown` when either side cannot be computed.
198
+ * `effectiveNext.injectionFingerprint` is null with no role, and when it could not
199
+ * be computed: the role is set and {@link RoleApplicationState.restartPending} is `unknown`.
200
+ */
201
+ export interface RoleApplicationState {
202
+ effectiveNext: EffectiveRole & {
203
+ injectionFingerprint: string | null;
204
+ };
205
+ requested: RoleLaunchRecord | null;
206
+ launched: RoleLaunchRecord | null;
207
+ restartPending: 'yes' | 'no' | 'unknown';
208
+ /** Whether this tool's role replaces its default instructions. See {@link agentRoleReplacesDefaultInstructions}. */
209
+ replacesDefaultInstructions?: boolean;
210
+ /**
211
+ * OpenCode V1: the process continued a remembered conversation that had another
212
+ * role, whose replies are still in its history (§6.4). A new conversation is the
213
+ * `newConversation` of `POST /send`, at the next start.
214
+ */
215
+ resumedAcrossRole?: boolean;
216
+ }
217
+ export interface AgentRoleSummary {
218
+ id: string;
219
+ name: string;
220
+ bodyVersion: number;
221
+ bodyFingerprint: string;
222
+ bodyBytes: number;
223
+ createdAt: number;
224
+ updatedAt: number;
225
+ }
226
+ export interface AgentRoleDetail extends AgentRoleSummary {
227
+ body: string;
228
+ }
229
+ export interface AgentRoleListResponse {
230
+ success: true;
231
+ roles: AgentRoleSummary[];
232
+ }
233
+ export interface AgentRoleDetailResponse {
234
+ success: true;
235
+ role: AgentRoleDetail;
236
+ references: AgentRoleReferences;
237
+ }
238
+ export interface AgentRoleEditResponse {
239
+ success: true;
240
+ before: AgentRoleDetail;
241
+ after: AgentRoleDetail;
242
+ bodyVersion: number;
243
+ affected: AgentRoleReferences;
244
+ }
245
+ export interface AgentRoleDeleteResponse {
246
+ success: true;
247
+ deleted: {
248
+ id: string;
249
+ name: string;
250
+ };
251
+ affected: AgentRoleReferences;
252
+ }
253
+ /** Every refusal. `error` is the stable code; `message` is for people. */
254
+ export interface AgentRoleErrorResponse {
255
+ success: false;
256
+ error: 'invalid_request' | 'not_found' | 'name_conflict' | 'version_conflict' | 'name_changed' | 'role_in_use' | 'tool_not_supported' | 'instance_exists' | 'roster_changed' | 'idempotency_key_reused' | 'creation_cancelled' | 'internal_error';
257
+ message: string;
258
+ /** `version_conflict` only. */
259
+ currentBodyVersion?: number;
260
+ }
261
+ export interface AgentRoleDeleteConflictResponse extends AgentRoleErrorResponse {
262
+ error: 'role_in_use';
263
+ references: AgentRoleReferences;
264
+ }
265
+ export interface SystemRoleDefaultEntry {
266
+ cliToolId: AgentRoleCliTool;
267
+ adapterEnabled: boolean;
268
+ stored: StoredSystemRoleState;
269
+ }
270
+ export interface SystemRoleDefaultsResponse {
271
+ success: true;
272
+ defaults: SystemRoleDefaultEntry[];
273
+ }
274
+ export interface RepositoryRoleDefaultEntry {
275
+ cliToolId: AgentRoleCliTool;
276
+ adapterEnabled: boolean;
277
+ /** What this root holds. */
278
+ stored: StoredRoleState;
279
+ /** What a worktree of this root gets from the defaults, and from which level. */
280
+ effective: EffectiveRole;
281
+ }
282
+ export interface RepositoryRoleDefaultsResponse {
283
+ success: true;
284
+ repository: {
285
+ id: string;
286
+ name: string;
287
+ path: string;
288
+ enabled: boolean;
289
+ };
290
+ defaults: RepositoryRoleDefaultEntry[];
291
+ }
292
+ export interface InstanceRoleEntry {
293
+ instanceId: string;
294
+ cliToolId: CLIToolType;
295
+ alias: string;
296
+ /** False for a tool outside D3: it can hold no setting and always resolves to no role. */
297
+ supported: boolean;
298
+ adapterEnabled: boolean;
299
+ stored: StoredRoleState;
300
+ application: RoleApplicationState;
301
+ }
302
+ export interface WorktreeToolRoleDefault {
303
+ cliToolId: AgentRoleCliTool;
304
+ adapterEnabled: boolean;
305
+ /** What a new instance of this tool would get, before it exists. */
306
+ effective: EffectiveRole;
307
+ }
308
+ export interface InstanceRoleSettingsResponse {
309
+ success: true;
310
+ /** Hash of the roster as read. Hand it back as `expectedRosterRevision` to detect a change. */
311
+ rosterRevision: string;
312
+ /** False while the instances are derived primaries with no stored roster. */
313
+ rosterSaved: boolean;
314
+ instances: InstanceRoleEntry[];
315
+ toolDefaults: WorktreeToolRoleDefault[];
316
+ }
317
+ export interface InstanceRoleCreateResponse extends InstanceRoleSettingsResponse {
318
+ created: {
319
+ instanceId: string;
320
+ };
321
+ /** This `idempotencyKey` had already created it (#4132). Answered with 200 rather than 201. */
322
+ replayed?: true;
323
+ }
324
+ /**
325
+ * Carries a key on a create or a roster PATCH (#4132): a client makes one per request. A
326
+ * condition about the request rather than part of what is written, so the body is the same
327
+ * with or without it.
328
+ */
329
+ export declare const INSTANCE_CREATION_KEY_HEADER = "Idempotency-Key";
330
+ export declare const INSTANCE_CREATION_KEY_PATTERN: RegExp;
331
+ /**
332
+ * Carries the name a rename replaces (#4132), URI-encoded since a name need not be ASCII.
333
+ * A condition as well: the body of an edit stays only what the edit changes.
334
+ */
335
+ export declare const EXPECTED_ROLE_NAME_HEADER = "X-Expected-Role-Name";
336
+ /**
337
+ * `POST .../instances/roles/settle`, for a write whose answer was lost (#4132).
338
+ * `cancelled`: the key made nothing and now never will, or the row it made has left the
339
+ * roster. A row with that id now is another's. `instanceId`: the row it added; a roster PATCH
340
+ * that added not exactly one has none.
341
+ */
342
+ export type InstanceCreationSettleResponse = {
343
+ success: true;
344
+ outcome: 'committed';
345
+ instanceId?: string;
346
+ } | {
347
+ success: true;
348
+ outcome: 'cancelled';
349
+ };
350
+ export {};
351
+ //# sourceMappingURL=agent-roles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-roles.d.ts","sourceRoot":"","sources":["../../src/types/agent-roles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EXPECTED_ROLE_NAME_HEADER = exports.INSTANCE_CREATION_KEY_PATTERN = exports.INSTANCE_CREATION_KEY_HEADER = exports.AGENT_ROLE_ANTIGRAVITY_ENABLED_ENV_VAR = exports.AGENT_ROLE_CLI_TOOLS = exports.MAX_ROLE_NAME_LENGTH = exports.MAX_ROLE_BODY_BYTES = void 0;
4
+ exports.isAgentRoleCliTool = isAgentRoleCliTool;
5
+ exports.isAgentRoleAdapterEnabled = isAgentRoleAdapterEnabled;
6
+ exports.agentRoleReplacesDefaultInstructions = agentRoleReplacesDefaultInstructions;
7
+ /** Largest body, in UTF-8 bytes. Applied to the body, never to a composed artifact (§5). */
8
+ exports.MAX_ROLE_BODY_BYTES = 16384;
9
+ /** Longest role name, in UTF-16 code units. The name reaches no file name or command line. */
10
+ exports.MAX_ROLE_NAME_LENGTH = 64;
11
+ /** The tools a role can be given to (D3). Gemini and vibe-local are out of scope. */
12
+ exports.AGENT_ROLE_CLI_TOOLS = [
13
+ 'claude',
14
+ 'codex',
15
+ 'command-code',
16
+ 'opencode',
17
+ 'opencode-v2',
18
+ 'copilot',
19
+ 'antigravity',
20
+ ];
21
+ function isAgentRoleCliTool(value) {
22
+ return typeof value === 'string' && exports.AGENT_ROLE_CLI_TOOLS.includes(value);
23
+ }
24
+ /** Turns Antigravity's adapter on, once its check under a dedicated OS user has passed (§6.6). */
25
+ exports.AGENT_ROLE_ANTIGRAVITY_ENABLED_ENV_VAR = 'CM_AGENT_ROLE_ANTIGRAVITY_ENABLED';
26
+ /**
27
+ * Whether a launch may apply a role through this tool's adapter yet. Antigravity
28
+ * can hold settings and its adapter is built, but stays off until the check under
29
+ * a dedicated OS user has passed (D3). A role resolved for a tool that is off
30
+ * refuses the launch; it never starts without it.
31
+ */
32
+ function isAgentRoleAdapterEnabled(tool) {
33
+ if (tool !== 'antigravity')
34
+ return true;
35
+ return typeof process !== 'undefined' && process.env?.[exports.AGENT_ROLE_ANTIGRAVITY_ENABLED_ENV_VAR] === '1';
36
+ }
37
+ /**
38
+ * Whether a role through this tool replaces its default instructions instead of
39
+ * adding to them: OpenCode V2 overrides the agent's `system`, which removes the
40
+ * provider's base prompt (§7.2). The API says so, so a client can.
41
+ */
42
+ function agentRoleReplacesDefaultInstructions(tool) {
43
+ return tool === 'opencode-v2';
44
+ }
45
+ /**
46
+ * Carries a key on a create or a roster PATCH (#4132): a client makes one per request. A
47
+ * condition about the request rather than part of what is written, so the body is the same
48
+ * with or without it.
49
+ */
50
+ exports.INSTANCE_CREATION_KEY_HEADER = 'Idempotency-Key';
51
+ exports.INSTANCE_CREATION_KEY_PATTERN = /^[A-Za-z0-9_-]{16,128}$/;
52
+ /**
53
+ * Carries the name a rename replaces (#4132), URI-encoded since a name need not be ASCII.
54
+ * A condition as well: the body of an edit stays only what the edit changes.
55
+ */
56
+ exports.EXPECTED_ROLE_NAME_HEADER = 'X-Expected-Role-Name';
@@ -445,6 +445,22 @@ Rename, reorder and delete in the **"Agent"** tool at the right of the header.
445
445
  [Approval Routes Differ by Agent](#approval-routes-differ-by-agent)
446
446
  - These sessions appear in the session field of the header ([current session][N more ▾])
447
447
 
448
+ ### Roles
449
+
450
+ A role is the instructions given to a session when it starts. Create a name and a body, such as "Reviewer", then use it as a per-tool default or on one session. Roles apply to Claude, Codex, Command Code, OpenCode, OpenCode V2, Copilot and Antigravity (not Gemini or Vibe-Local; until Antigravity's check has passed, a start that resolves to a role is refused).
451
+
452
+ - **Create, edit, delete, and the system defaults**: under General in the gear's settings dialog on PC, and `/more` on a phone. Deleting a role in use lists where it is used, and goes ahead only if you choose "Remove the settings and delete"
453
+ - **Repository defaults**: **Roles** on each row of the Repositories screen, per tool: use the system default, none, or a role. Excluding a repository from scans keeps them, and they apply again when it is scanned again
454
+ - **When adding**: choose "Default (role name)", none, or another role in the add form. The line below says where the default comes from, such as `Inherited: Reviewer [system]` or `Inherited: None [set on the repository]`
455
+ - **Existing sessions**: open **Session roles** under Agents (the same on a phone). A session with no roster row yet can be changed too
456
+ - **When it cannot be determined**: if the roots of one git repository hold different settings, for example, the reason is shown, and starts are refused until they agree or the session names a role
457
+
458
+ **Changing a setting does not reach a running session.** The split header (on a phone, Session roles) keeps the start and the next apart, such as `At start: Reviewer / Next: PM / Pending`. When it cannot be confirmed, after a server restart for example, it reads `At start: Unknown`. **Restart** ends that session, and the next message starts a new one with the current settings.
459
+
460
+ OpenCode's persona (build, plan, …) is not a role. A persona is the agent you switch inside OpenCode; a role is instructions CommandMate gives at startup. On OpenCode V2 a role replaces the agent's default instructions.
461
+
462
+ So that nothing is overwritten from an older roster when several screens or the CLI change it at once, the screen's saves always carry the roster's revision (`expectedRosterRevision` on `PATCH /api/worktrees/:id`; a mismatch is a 409). The screen then reads the latest roster and saves again. When the current roster cannot be read, it does not save and says why. When a save went through but the latest state could not be read back, it says so, apart from a failure, and asks for a page reload.
463
+
448
464
  ### Ollama Model Selection (Vibe-Local)
449
465
 
450
466
  When Vibe-Local is selected, you can specify which Ollama model to use.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "commandmate",
3
- "version": "0.49.2",
3
+ "version": "0.50.0",
4
4
  "description": "No long blocks of time? Run an AI team from your phone. Git worktree sessions, task contracts and verification gates for Claude Code, Codex, Gemini CLI, Copilot, OpenCode, Antigravity and Command Code.",
5
5
  "keywords": [
6
6
  "ai-agents",
@@ -115,6 +115,7 @@
115
115
  "remark-gfm": "^4.0.1",
116
116
  "remark-parse": "^11.0.0",
117
117
  "safe-regex2": "^5.0.0",
118
+ "smol-toml": "1.9.1",
118
119
  "tailwind-merge": "^3.6.0",
119
120
  "unified": "^11.0.5",
120
121
  "uuid": "^13.0.0",
@@ -0,0 +1,52 @@
1
+ {
2
+ "version": "0.49.3",
3
+ "date": "2026-11-02",
4
+ "highlight": {
5
+ "ja": "エージェント間の依頼の返答が届いたか分からないとき、自動で再送せず保留として知らせるようになりました。画面を確かめてから、CLI で確認・再試行・破棄を選べます。",
6
+ "en": "When it is unknown whether a reply between agents arrived, it is now held and reported instead of being resent. After checking the screen, you can confirm, retry or discard it from the CLI."
7
+ },
8
+ "added": [],
9
+ "improved": [],
10
+ "fixed": [
11
+ {
12
+ "ja": "届いたか分からない依頼の返答を、自動で再送して二重に届けることがある問題を直しました。",
13
+ "en": "Fixed replies between agents sometimes arriving twice when it was unknown whether the first one had arrived."
14
+ },
15
+ {
16
+ "ja": "保留になった配送を、commandmate relays resolve で確認・再試行・破棄できるようにしました。",
17
+ "en": "Held deliveries can now be confirmed, retried or discarded with commandmate relays resolve."
18
+ },
19
+ {
20
+ "ja": "保留になった配送が、PC とスマホの画面、依頼元の履歴、CLI の集計に出るようにしました。",
21
+ "en": "Held deliveries now appear on the PC and phone screens, in the requester's history and in the CLI counts."
22
+ },
23
+ {
24
+ "ja": "Copilot・Vibe Local・OpenCode で、入力欄の準備ができる前に文字を打つことがある問題を直しました。",
25
+ "en": "Fixed Copilot, Vibe Local and OpenCode sometimes receiving typed text before their input box was ready."
26
+ },
27
+ {
28
+ "ja": "OpenCode と Vibe Local で、一瞬のダイアログの表示を理由に送信を断ることがある問題を直しました。",
29
+ "en": "Fixed OpenCode and Vibe Local sometimes refusing a send because of a dialog that appeared only for a moment."
30
+ },
31
+ {
32
+ "ja": "OpenCode でサイドバーを開いていると、届いた送信が失敗と報告されることがある問題を直しました。",
33
+ "en": "Fixed a delivered OpenCode message sometimes being reported as failed while the sidebar was open."
34
+ },
35
+ {
36
+ "ja": "Copilot でダイアログが出ているときに、待ち時間の上限まで待ってから送信を断っていた問題を直しました。",
37
+ "en": "Fixed Copilot waiting out the whole time limit before refusing a send while a dialog was open."
38
+ },
39
+ {
40
+ "ja": "起動した直後の Claude への最初の送信で、届いているのに失敗と報告されることがある問題を直しました。",
41
+ "en": "Fixed the first message to a just-started Claude sometimes being reported as failed after it had arrived."
42
+ },
43
+ {
44
+ "ja": "prompt --json の直近の送信の結果が、古い送信の結果で上書きされることがある問題を直しました。",
45
+ "en": "Fixed the latest send result in prompt --json sometimes being overwritten by an older send."
46
+ },
47
+ {
48
+ "ja": "ダイアログへの回答の案内が、待っているセッションへ確実に届く宛先を示すようにしました。",
49
+ "en": "The hints for answering a dialog now always name the session that is actually waiting."
50
+ }
51
+ ]
52
+ }
@@ -0,0 +1,113 @@
1
+ {
2
+ "version": "0.50.0",
3
+ "date": "2026-11-07",
4
+ "highlight": {
5
+ "ja": "エージェントに「ロール」(役割の指示)を持たせられるようになりました。CLI・設定画面・名簿でロールを作り、セッションごとに指定できます。",
6
+ "en": "Agents can now be given a role, a standing instruction for their job. Create roles and assign them to sessions from the CLI, Settings, or the instance list."
7
+ },
8
+ "added": [
9
+ {
10
+ "ja": "設定画面・追加ダイアログ・名簿で、エージェントのロールを作成・指定できるようになりました。",
11
+ "en": "You can now create and assign agent roles from Settings, the add dialog, and the instance list."
12
+ },
13
+ {
14
+ "ja": "CLI の roles コマンドで、ロールの定義・既定・セッションへの指定ができるようになりました。",
15
+ "en": "The roles command in the CLI now lets you define roles, set defaults, and assign them to sessions."
16
+ },
17
+ {
18
+ "ja": "ロールが Claude・Codex・Copilot・OpenCode など 7 つのツールの起動と Schedule に適用されるようになりました。",
19
+ "en": "Roles are now applied when launching seven tools, including Claude, Codex, Copilot, and OpenCode, and in Schedules."
20
+ },
21
+ {
22
+ "ja": "OpenCode V2 で、接続が切れている間に終わった返信も、再接続したときに履歴へ記録されるようになりました。",
23
+ "en": "With OpenCode V2, replies that finished while the connection was down are now saved to history when it reconnects."
24
+ },
25
+ {
26
+ "ja": "OpenCode V1 で新しい会話を始めて送信できるようになりました(send の新しい会話のオプション)。",
27
+ "en": "You can now start a new conversation when sending to OpenCode V1 (a new-conversation option for send)."
28
+ }
29
+ ],
30
+ "improved": [],
31
+ "fixed": [
32
+ {
33
+ "ja": "依頼元の確認画面で依頼の返事の配送が止まっているとき、その理由を一覧・名簿・チャット面で読めるようにしました。",
34
+ "en": "When a relayed reply is held up by a confirmation on the requester's screen, the reason now shows in the relay list, the instance list, and the chat view."
35
+ },
36
+ {
37
+ "ja": "OpenCode で、作業フォルダ名や返信の文言によって完了・状態・送信の判定を誤る問題を直しました。",
38
+ "en": "Fixed OpenCode misjudging completion, status, or sending because of the folder name or words quoted in a reply."
39
+ },
40
+ {
41
+ "ja": "OpenCode の返信が「esc interrupt」などの語を引用すると、完了しない・行が消える問題を直しました。",
42
+ "en": "Fixed OpenCode replies that quote words such as esc interrupt not completing or losing those lines."
43
+ },
44
+ {
45
+ "ja": "OpenCode V2 で 1 時間を超えるターンの完了を読めない問題を直しました。",
46
+ "en": "Fixed OpenCode V2 not detecting the end of turns longer than one hour."
47
+ },
48
+ {
49
+ "ja": "OpenCode V1 で短いターンの完了を待ち続ける問題などを直しました。",
50
+ "en": "Fixed waiting forever on very short OpenCode V1 turns, among other issues."
51
+ },
52
+ {
53
+ "ja": "相対パスで指定した COPILOT_HOME などの設定で、エージェントが別の設定ファイルを読む問題を直しました。",
54
+ "en": "Fixed agents reading the wrong settings file when settings such as COPILOT_HOME were given as relative paths."
55
+ },
56
+ {
57
+ "ja": "タブが隠れている間の通信(ターミナルの再接続・クローンの進捗・一覧の更新)を止めるようにしました。",
58
+ "en": "Background tabs no longer keep talking to the server (terminal reconnects, clone progress, and list refreshes)."
59
+ },
60
+ {
61
+ "ja": "Review タブと外部アプリの画面が、隠れている間も通信を続ける問題を直しました。",
62
+ "en": "Fixed the Review tab and external apps screens polling while hidden."
63
+ },
64
+ {
65
+ "ja": "Codex の起動中の確認への自動の答えが断られ続けると、起動の待ちがすぐに尽きる問題を直しました。",
66
+ "en": "Fixed Codex launches giving up too early when the automatic answer to a startup prompt kept being refused."
67
+ },
68
+ {
69
+ "ja": "Codex でロールを使うと、2 回目以降の起動が拒否される問題を直しました。",
70
+ "en": "Fixed later Codex launches being refused when a role was in use."
71
+ },
72
+ {
73
+ "ja": "Claude の信頼の確認画面で止まったときに、その旨を知らせるようにしました。",
74
+ "en": "You are now told when Claude stops on its folder trust prompt."
75
+ },
76
+ {
77
+ "ja": "エージェントの終了・再起動の結果が分からないときに、誤って失敗と表示する問題を直しました。",
78
+ "en": "Fixed stopping or restarting an agent being shown as failed when the result was simply unknown."
79
+ },
80
+ {
81
+ "ja": "詳細画面で、遅れて届いた応答により古い値が表示される問題を直しました。",
82
+ "en": "Fixed the detail screen showing stale values when an older response arrived late."
83
+ },
84
+ {
85
+ "ja": "send の送信後に名簿への登録が失敗すると、送信まで失敗と扱われる問題を直しました。",
86
+ "en": "Fixed send reporting failure for a message that was sent when only the instance list update failed."
87
+ },
88
+ {
89
+ "ja": "send の Auto-Yes つきの返信の依頼が拒否されたときに、Auto-Yes が残る問題を直しました。",
90
+ "en": "Fixed Auto-Yes staying on after a reply request sent with it was refused."
91
+ },
92
+ {
93
+ "ja": "ロールの設定が同時に更新されたときに、別の操作の設定を上書きする問題を直しました。",
94
+ "en": "Fixed simultaneous role updates overwriting each other."
95
+ },
96
+ {
97
+ "ja": "送信失敗のエラーで前置きが重なる問題と、OpenCode の起動中のダイアログで送信に時間がかかる問題を直しました。",
98
+ "en": "Fixed duplicated prefixes in send errors and slow sends while an OpenCode startup dialog was open."
99
+ },
100
+ {
101
+ "ja": "PC の名簿で保留の件数が切れる問題と、スマホで更新の案内がボタンを覆う問題を直しました。",
102
+ "en": "Fixed the held count being cut off in the desktop instance list and the update notice covering buttons on mobile."
103
+ },
104
+ {
105
+ "ja": "特定の環境変数を引き継いだ環境で、コストの定期保存などが止まる問題を直しました。",
106
+ "en": "Fixed periodic cost saving and similar work stopping when a test-only environment variable was inherited."
107
+ },
108
+ {
109
+ "ja": "応答の本文が途中で止まると、画面の読み込みが終わらない問題を直しました。",
110
+ "en": "Fixed screens never finishing loading when a response body stalled partway."
111
+ }
112
+ ]
113
+ }
@@ -1 +0,0 @@
1
- "use strict";exports.id=1062,exports.ids=[1062,2839,5220,5630],exports.modules={2669:(a,b,c)=>{c.d(b,{JI:()=>n,M7:()=>d,Sr:()=>h,Zf:()=>f,c7:()=>e,lU:()=>k,mR:()=>j,qO:()=>i,su:()=>m,wQ:()=>l});let d="SESSION_STARTING",e="SESSION_START_FAILED",f="SESSION_START_UNAVAILABLE",g=[d,e];class h extends Error{constructor(a,b,c){super(`${a} did not reach its input prompt within ${Math.round(c/1e3)}s (initialization timeout). The tmux session '${b}' and its process are still running, so this is a slow start, not a failed one — the message was not delivered, but nothing needs repairing. Retry the send in a few seconds, or run \`commandmate capture <worktree-id>\` to see what it is waiting on.`),this.toolName=a,this.sessionName=b,this.timeoutMs=c,this.code=d,this.name="SessionStartTimeoutError"}}function i(a,b){return`${a} exited before reaching its input prompt: the tmux session '${b}' is back at a shell, so this is not a slow start and waiting will not help. The message was not delivered. Run \`commandmate capture <worktree-id>\` to see why it exited (for example a startup dialog answered with exit, or a missing login), fix that, then send again.`}class j extends Error{constructor(a,b,c){super(`${a} reported an error while starting in tmux session '${b}': "${c}". Retrying will not help until that is resolved; run \`commandmate capture <worktree-id>\` to see the session output.`),this.toolName=a,this.sessionName=b,this.detectedPattern=c,this.code=e,this.name="SessionStartFailedError"}}class k extends Error{constructor(a,b=`${a} is not installed. Please install it first.`){super(b),this.toolName=a,this.code=f,this.name="SessionStartUnavailableError"}}function l(a){return o(a)===d}function m(a){let b=o(a);return void 0!==b&&g.includes(b)}function n(a){return o(a)===f}function o(a){if("object"!=typeof a||null===a)return;let b=a.code;return"string"==typeof b?b:void 0}},3421:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(71237),e=c(55088),f=c(17679);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},5007:(a,b,c)=>{c.d(b,{Sw:()=>g,nE:()=>e,of:()=>f});var d=c(10641);async function e(a){try{return{ok:!0,body:await a.json()}}catch{return{ok:!1,response:d.NextResponse.json({error:"Invalid request body"},{status:400})}}}async function f(a){let b=await e(a);if(!b.ok)return b;let c=b.body;return"object"!=typeof c||null===c||Array.isArray(c)?{ok:!1,response:d.NextResponse.json({error:"Invalid request body"},{status:400})}:{ok:!0,body:c}}async function g(a){let b;try{b=await a.json()}catch{return{ok:!0,body:{}}}return"object"!=typeof b||null===b||Array.isArray(b)?{ok:!1,response:d.NextResponse.json({error:"Invalid request body"},{status:400})}:{ok:!0,body:b}}},22354:(a,b,c)=>{c.d(b,{F0:()=>j.F,K9:()=>e.K9,VM:()=>d.VM,_0:()=>f._0,c1:()=>k.c,o:()=>i.o,vm:()=>h.v,y_:()=>g.y_});var d=c(70096);c(66101);var e=c(45567);c(57510),c(38367);var f=c(25071),g=c(50474),h=c(70997),i=c(77904),j=c(76835),k=c(2734)},27289:(a,b,c)=>{c.d(b,{t:()=>j,z:()=>i});var d=c(10641),e=c(88807),f=c(56791),g=c(95506),h=c(66007);function i(a){if(!a)return a;try{if(!(0,h.h6)(a))return a;let b=(0,e.getDbInstance)();return(0,g.l0)(b,a)??a}catch{return a}}function j(a){if(!(0,h.h6)(a))return d.NextResponse.json({error:"Invalid worktree ID format"},{status:400});let b=(0,e.getDbInstance)(),c=(0,f.getWorktreeById)(b,i(a));return c||d.NextResponse.json({error:"Worktree not found"},{status:404})}},31026:(a,b,c)=>{c.d(b,{t1:()=>t,L1:()=>s,U9:()=>q,je:()=>r});var d=c(10641),e=c(56791),f=c(43015),g=c(63869),h=c(9131),i=c(51993),j=c(95220),k=c(99508),l=c(52767),m=c(53300),n=c(90304);let o=/\btell\b[^\n]*\bwhat to do differently\b/i;var p=c(69962);function q(a,b){let c=function(a){if(a instanceof g.Pw||a instanceof g.if||a instanceof g.It)return"not-sent";if(!(a instanceof Error))return null;let b="keysSent"in a?a.keysSent:void 0,c="answerDelivery"in a?a.answerDelivery:void 0;return!0===b||"indeterminate"===c?"may-be-on-pane":!1===b?"not-sent":null}(b);null!==c?(0,i.yZ)(a,c):(0,i.IG)(a)}function r(a,b){null===b?(0,i.IG)(a):(0,i.yZ)(a,b?"answered":"not-sent")}async function s(a,b,c,e,f,j,k,l){let{resolution:m,effectivePromptData:n}=e;(0,i.R0)(j,k??n);try{await (0,g.tV)({sessionName:c,answer:m.input,cliToolId:a.cliToolId,promptData:n,fallbackPromptType:b.bodyPromptType,fallbackDefaultOptionNumber:b.bodyDefaultOptionNumber,fallbackSubmitMode:b.validSubmitMode,frame:f??void 0,readMark:l})}catch(c){return q(j,c),function(a,b,c,e){let f=(0,h.q5)(b,"prompt-response");if(null!==f){200===f.status&&(b instanceof g.Pw?(0,p.v)(a,{reason:b.reason,dialogKind:b.dialogKind,answerMode:b.answerMode}):b instanceof g.WG?(0,p.v)(a,{reason:b.reason,stage:b.stage,keysSent:b.keysSent}):b instanceof g.if||b instanceof g.It?(0,p.v)(a,{reason:b.reason,...b instanceof g.if?{optionNumbers:b.optionNumbers}:{optionCount:b.optionCount}}):b instanceof g.G4&&(0,p.v)(a,{reason:b.reason,skip:b.skip}),f.body.answer=b instanceof g.WG?e.input:c??"");return d.NextResponse.json(f.body,{status:f.status})}let i=b instanceof Error?b.message:"Unknown error";return d.NextResponse.json({error:`Failed to send answer to tmux: ${i}`},{status:500})}(a,c,b.answer,m)}return(0,i.yZ)(j,"answered"),null}function t(a,b,c,g=null){let{id:h,db:i,cliToolId:q,instanceId:r}=a,{resolution:s,structuredResolution:u,effectivePromptData:v}=c;(0,l.r)(i,h,q,r??q,"prompt_answered_human",{promptType:v?.type}),function(a,b,c,d){let{resolution:g,effectivePromptData:h}=c;if(b?.isPrompt&&h)try{let c=(0,e.recordAnsweredPrompt)(a.db,{worktreeId:a.id,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,promptData:null===d?h:(0,m.R1)(a.cliToolId,d,{...b,promptData:h},(0,m.dO)(d,5e3,a.cliToolId))??h,answer:g.input,answeredBy:"human",content:b.rawContent||b.cleanContent});(0,f.broadcastMessage)(c.created?"message":"message_updated",{worktreeId:a.id,message:c.message})}catch(a){p.O.warn("prompt-audit-record-failed",{error:a instanceof Error?a.message:String(a)})}}(a,b,c,g),(0,j.startPolling)(h,q,r),(0,k.broadcastTerminalSnapshotAfterInteraction)(h,q,r);let w=function(a,b){if(!a||"multiple_choice"!==a.type)return null;let c=b.trim();if(!/^\d+$/.test(c))return null;let d=a.options.find(a=>a.number===Number(c));return!d||(0,n.J0)(d)||!o.test(d.label)?null:{optionNumber:d.number,optionLabel:d.label,message:`Option ${d.number} asks for your text next. The dialog is closed now, so \`respond\` cannot deliver it (it would report prompt_no_longer_active) — send the text with \`commandmate send <worktree-id> "<text>"\`.`}}(v,s.input);return d.NextResponse.json({success:!0,answer:s.input,...w?{textFollowUp:w}:{},...u??s.resolved?{resolved:u??s.resolved}:{}})}},50474:(a,b,c)=>{c.d(b,{y_:()=>d});function d(a){var b=a.noDecision;switch(b.kind){case"proceeds":return{safe:!0,blocksForMs:0,summary:"the agent continues with its own approval flow"};case"blocks":return{safe:!1,blocksForMs:null,summary:"the agent waits indefinitely; nothing else will unblock it"};case"blocksUntil":return{safe:!1,blocksForMs:b.timeoutMs,summary:`the agent waits up to ${b.timeoutMs}ms before continuing`}}}},69962:(a,b,c)=>{c.d(b,{O:()=>d,v:()=>e});let d=(0,c(72626).h)("api/prompt-response");function e(a,b){d.info("prompt-response-refused",{worktreeId:a.id,cliToolId:a.cliToolId,instanceId:a.instanceId,...b})}},73495:(a,b,c)=>{c.d(b,{Me:()=>h});let d="don['’]t",e=["deny",/^No(?:,|$)/],f={claude:[["allow-once",/^Yes$/],["allow-persistent",/^Yes, and always allow\b/],["mode-change",/^Yes, allow all edits\b/],["mode-change",/^Yes, and switch to\b/],e],codex:[["allow-once",/^Yes$/],["allow-once",/^Yes, proceed\b/],["allow-once",/^Allow(?:\s{2,}|$)/],["allow-persistent",RegExp(`^Yes, and ${d} ask again\\b`)],["allow-persistent",/^Always allow\b/],["mode-change",/^Ask for approval\b/],["mode-change",/^Approve for me\b/],["mode-change",/^Full Access\b/],["deny",/^Cancel\b/],e],antigravity:[["allow-once",/^Yes$/],["allow-once",/^Yes, run command$/],["allow-once",/^Yes, allow creation$/],["allow-persistent",/^Yes, and always allow\b/],e],"command-code":[["allow-once",/^Yes$/],["allow-persistent",RegExp(`^Yes, ${d} ask again\\b`)],["mode-change",/^Yes, allow all edits\b/],e],copilot:[["allow-once",/^Yes$/],["allow-persistent",RegExp(`^Yes, and ${d} ask again\\b`)],["mode-change",/^Manual\b/],["mode-change",/^Allow all\b/],e]},g=Object.values(f).flat();function h(a,b){let c=void 0===b?g:f[b]??null;if(null===c)return{kind:"not-a-permission-dialog"};let d=a.map(a=>(function(a,b){let c=b.trim();for(let[b,d]of a)if(d.test(c))return b;return"unknown"})(c,a.label));if(!d.some(a=>"allow-once"===a||"allow-persistent"===a||"mode-change"===a))return{kind:"not-a-permission-dialog"};let e=a.filter((a,b)=>"allow-once"===d[b]);return 1===e.length?{kind:"allow-once",option:e[0]}:{kind:"unidentified",allowOnceCount:e.length}}Object.keys(f)},95220:(a,b,c)=>{c.r(b),c.d(b,{accumulateTuiContent:()=>g.IZ,cleanClaudeResponse:()=>f.NN,cleanCopilotResponse:()=>f.LH,cleanGeminiResponse:()=>f.IS,cleanOpenCodeResponse:()=>f.aW,clearPromptHashCache:()=>h.iX,clearTuiAccumulator:()=>g.q1,extractCopilotContentLines:()=>g.o0,extractTuiContentLines:()=>g.K0,findOverlapIndex:()=>g.vQ,getAccumulatedContent:()=>g.Uz,getActivePollers:()=>d.KQ,initTuiAccumulator:()=>g.tb,isDuplicatePrompt:()=>h.gv,isOpenCodeComplete:()=>e.bE,migrateResponsePollerWorktreeIds:()=>d.sR,normalizeCopilotLine:()=>g.IW,normalizePromptForDedup:()=>h.zm,renamePromptHashCacheKey:()=>h.i2,resolveExtractionStartIndex:()=>e.QM,startPolling:()=>d.g8,stopAllPolling:()=>d.fq,stopPolling:()=>d.Et,truncateMessage:()=>f.Sj});var d=c(45146),e=c(60),f=c(82450),g=c(13033),h=c(72457)},95736:(a,b,c)=>{a.exports=c(44870)}};