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
@@ -1 +1 @@
1
- "use strict";exports.id=7905,exports.ids=[7905],exports.modules={381:(a,b,c)=>{c.d(b,{FW:()=>U});var d=c(79646),e=c(79892),f=c(93997),g=c(56717),h=c(42422),i=c(20610),j=c(72626),k=c(36925),l=c(87673),m=c(63723),n=c(20029),o=c(7321),p=c(49973),q=c(94154);let r=/\[Pasted text[\s#]/,s=/^\/[A-Za-z]/,t=/^\s*(?:ctx:\d+%\s*)?[>❯›]/;function u(a,b,c){if("opencode-box"===a){let a=(0,h.mu)(b);if(null===a)return{kind:"absent"};if(a.some(a=>h.vU.test(a)))return{kind:"empty"};let c=a.map(h.pV).find(a=>a.length>0);return void 0===c?{kind:"empty"}:{kind:"text",text:c,rows:a}}if("input-line-marker"!==a)return{kind:"absent"};let d=function(a){for(let b=a.length-1;b>=0;b--)if(t.test(a[b]))return a[b];return null}(c);if(null===d)return{kind:"absent"};let e=x(d);return 0===e.length?{kind:"empty"}:{kind:"text",text:e,rows:[d]}}function v(a){let b=a.length;for(;b>0&&""===a[b-1].trim();)b--;return a.slice(0,b)}function w(a){return a.split("\n").map(a=>a.trim()).find(a=>a.length>0)??""}function x(a){return a.replace(t,"").trim()}function y(a,b){let c=w(b);return 0!==c.length&&c.startsWith(a)}let z=[{pattern:/\[Pasted text(?: #\d+)?(?: \+(\d+) lines?| (\d+) chars?)?\]/g,read:a=>void 0!==a[1]?{lines:Number(a[1])}:void 0!==a[2]?{chars:Number(a[2])}:{}},{pattern:/\[Pasted Content (\d+) chars?\]/g,read:a=>({chars:Number(a[1])})},{pattern:/\[([^\]\n]*?)… \+(\d+)L\]/g,read:a=>({head:a[1],lineTotal:Number(a[2])})}];function A(a){let b=[],c=a;for(let{pattern:d,read:e}of z)for(let f of a.matchAll(d))b.push(e(f)),c=c.replace(f[0],"");return{tokens:b,rest:c.trim()}}function B(a,b){let c,d,e=(b.match(/\n/g)??[]).length;if(void 0!==a.head){let c=a.head.replace(/\s+/g," ").trim();if(!b.replace(/\s+/g," ").startsWith(c))return"mismatch"}if(void 0!==a.chars)c=a.chars,d=[[...b].length,b.length];else if(void 0!==a.lineTotal)c=a.lineTotal,d=[e+1];else{if(void 0===a.lines)return 0===e?"landed":"pasting";c=a.lines,d=[e,e+1]}return d.includes(c)?"landed":c<Math.min(...d)?"pasting":"mismatch"}function C(a,b,c){let d=a=>""===(0,h.aJ)(a).trim(),e=a.length-1;for(;e>=0&&d(a[e]);)e--;let f=e;for(;f>0&&!d(a[f-1]);)f--;let g=f>c?f-1:e,i=a.slice(b,g+1).map(a=>(0,h.aJ)(a));return i[0]=i[0].replace(/^\s*\u203A ?/,""),i.join("\n")}function D(a,b){let c=b;for(;c+1<a.length&&""!==(0,h.aJ)(a[c+1]).trim();)c++;return c}function E(a,b,c,d,e,f){if("codex"===b&&"input-line-marker"===c){let g=a.split("\n"),i=d.length-e.length,j=(0,q.ji)(a,b);if("content"===j.state){let b=(0,q.mO)(g);if(null!==b&&(0,q.zF)(g,b.firstRow))return{kind:"absent"};let f=null!==b&&b.firstRow<i,h=function(a){let b=a.split("\n"),c=(0,q.mO)(b);return null===c?null:C(b,c.firstRow,c.lastRow)}(a)??j.text;if(j.text.includes("\n"))return{kind:"text",text:w(j.text),rows:j.text.split("\n"),region:h,...f?{outsideWindow:f}:{}};if(f&&(0,q.Di)(g)===b.firstRow)return{kind:"text",text:j.text.trim(),rows:[g[b.firstRow]],region:h,outsideWindow:!0};let k=u(c,d,e);return"text"===k.kind?{...k,region:h}:k}if("no_composer"===j.state){let a=(0,q.Di)(g);if(a>=0){let b=C(g,a,D(g,a)),j=x((0,h.aJ)(g[a]));if(a>=i){let f=u(c,d,e);return"text"===f.kind&&function(a,b){for(let c=a.length-1;c>=0;c--)if(t.test(a[c]))return b+c;return -1}(e,i)===a?{...f,region:b}:f}if(void 0!==f&&j.length>0&&y(j,f))return{kind:"text",text:j,rows:[g[a]],region:b,outsideWindow:!0};let k=(0,q.q9)(g.slice(0,D(g,a)+1),a);return"content"!==k.state?{kind:"empty"}:{kind:"text",text:w(k.text),rows:[g[a]],region:b,outsideWindow:!0}}}}return u(c,d,e)}function F(a,b,c,d=(0,g.gc)(b)){let e=v((0,h.aJ)(a).split("\n")),f=e.slice(-12),i=f.join("\n");if((0,h.ut)(b,i))return{state:"submitted",rule:"A"};let j=E(a,b,d.reader,e,f,c);return"text"!==j.kind?{state:"submitted",rule:"absent"===j.kind?"B-absent":"B-empty"}:j.rows.some(a=>r.test(a)||A(a).tokens.length>0)?{state:"pending",rule:"C"}:y(j.text,c)?{state:"pending",rule:"D"}:s.test(j.text)?{state:"replaced",rule:"E"}:j.outsideWindow?{state:"indeterminate",rule:"F-outside"}:{state:"submitted",rule:"F"}}function G(a,b,c,d=(0,g.gc)(b)){let e=v((0,h.aJ)(a).split("\n")),f=E(a,b,d.reader,e,e.slice(-12),c);if("text"!==f.kind)return"unseen";if(void 0!==f.region){let a=H(f.region),b=H(c);if(a===b)return"landed";let d=A(f.text);if(d.tokens.length>0){let a=H(f.region.split("\n").slice(1).join("\n"));return d.tokens.length>1||""!==d.rest||""!==a?"mismatch":B(d.tokens[0],c)}return b.startsWith(a)?"pasting":y(f.text,c)||a.startsWith(b)||b.includes(a)?"mismatch":"unseen"}if(H(f.text)===H(c))return"landed";let{tokens:i,rest:j}=A(f.text);return 0===i.length?y(f.text,c)?"landed":c.includes(f.text)?"mismatch":"unseen":i.length>1||""!==j?"mismatch":B(i[0],c)}function H(a){return a.replace(/\s+/g,"")}let I=(0,j.h)("cli-tools/submit-verified-sender"),J=(0,k.v)("__submitPasteBufferSeq",()=>({last:0}));function K(a,b){return new Promise((c,e)=>{let f=d.execFile("tmux",a,{timeout:5e3},a=>{if(a)return void e(a);c()});void 0!==b&&f.stdin?.end(b)})}async function L(a,b,c,d){J.last+=1;let f=`cm-send-${process.pid}-${J.last}`;try{await K(["load-buffer","-b",f,"-"],b)}catch(b){await K(["delete-buffer","-b",f]).catch(()=>void 0);let a=b instanceof Error?b.message:String(b);throw Object.assign(Error(`Failed to load message into tmux buffer: ${a}`),{delivery:"not-started",code:o._s})}c.isCurrent()||(await K(["delete-buffer","-b",f]).catch(()=>void 0),O(c,d,"paste-buffer",!1));try{(0,p.dy)()}catch(a){throw await K(["delete-buffer","-b",f]).catch(()=>void 0),a}try{await K(["paste-buffer","-p","-r","-d","-b",f,"-t",(0,e.lA)(a)])}catch(b){await K(["delete-buffer","-b",f]).catch(()=>void 0);let a=b instanceof Error?b.message:String(b);throw Error(`Failed to paste message into tmux session: ${a}`)}}function M(a,b,c,d){let e=v((0,h.aJ)(a).split("\n")),f=E(a,b,c.reader,e,e.slice(-12),d);return"absent"===f.kind?"no composer on screen":"empty"===f.kind?"an empty composer":JSON.stringify(f.text.length>80?`${f.text.slice(0,80)}…`:f.text)}async function N(a,b,c,d){if(!d.isCurrent())return I.error("paste-withdraw-skipped-not-owner",{sessionName:a,cliToolId:b,generation:d.generation}),!1;try{if(c.clearBeforeSend)return(await (0,l.sr)(a,b,{beforePass:()=>d.isCurrent()})).cleared;return await (0,e.Ce)(a),!1}catch(c){return I.error("paste-withdraw-failed",{sessionName:a,cliToolId:b,error:c instanceof Error?c.message:String(c)}),!1}}function O(a,b,c,d){if(!a.isCurrent()){if(I.error("input-lock-lost",{sessionName:a.sessionName,cliToolId:b,step:c,generation:a.generation}),!d)throw Error(`Session ${a.sessionName} was handed to another writer before ${c}; input lock lost, nothing was typed (Issue #3945).`);throw Error(`Session ${a.sessionName} was handed to another writer before ${c}; part of the message may be in its composer (Issue #3945).`)}}async function P(a,b,c,d){let g=(0,p.Du)(a);if(null===g)return!1;for(I.warn("carried-paste-mark-wait",{sessionName:a,cliToolId:b,originGeneration:g.originGeneration,generation:d.generation,remainingMs:g.expiresAt-Date.now()});Date.now()<g.expiresAt;){let h;if(await new Promise(a=>setTimeout(a,Math.min(200,g.expiresAt-Date.now()))),!c.clearBeforeSend)continue;O(d,b,"the carried paste wait",!1);try{h=await (0,e.Xg)(a,200)}catch{continue}if("content"!==(0,l.SQ)(h,b).state)continue;let i=await (0,l.sr)(a,b,{initialCapture:h,beforePass:()=>d.isCurrent()});(0,f.gm)(a),I.warn("carried-paste-withdrawn",{sessionName:a,cliToolId:b,originGeneration:g.originGeneration,cleared:i.cleared,discardedText:i.discardedText})}return(0,p.r)(d),!0}async function Q(a){let{sessionName:b,message:c,cliToolId:d,composer:g,attempts:h,ticket:i}=a,j="unseen",k="",l=null,m=null;try{for(let a=0;a<Math.max(1,h)&&(await new Promise(a=>setTimeout(a,100)),k=await (0,e.Xg)(b,{startLine:-g.verifyCaptureLines}),j=G(k,d,c,g),"landed"!==j&&"mismatch"!==j);a++);if("unseen"===j&&g.clearBeforeSend){let a=Math.ceil(p.bc/100);for(let f=1;f<=a;f++)if(await new Promise(a=>setTimeout(a,100)),k=await (0,e.Xg)(b,{startLine:-g.verifyCaptureLines}),j=G(k,d,c,g),"unseen"!==j){m=100*f;break}}}catch(a){l=a instanceof Error?a.message:String(a)}if(null===l&&null===m&&"landed"===j)return;if(null===l&&"unseen"===j&&!g.clearBeforeSend)return void I.warn("paste-landed-unverified",{sessionName:b,cliToolId:d,bytes:Buffer.byteLength(c,"utf8")});let n=Buffer.byteLength(c,"utf8"),o=c.split("\n").length,q=null===l?M(k,d,g,c):"an unreadable pane",r=await N(b,d,g,i);(0,f.gm)(b);let s=null!==l||"unseen"===j||"pasting"===j||!r;s&&(0,p.kJ)(i),I.error("paste-not-landed",{sessionName:b,cliToolId:d,state:j,bytes:n,lines:o,shown:q,lateAfterMs:m,readError:l,withdrawn:r,carried:s});let t=null!==l?`the composer could not be read while the paste was checked (${l})`:null!==m?`the paste appeared ${m}ms after the ${100*h}ms check and was taken back out (the composer showed ${q})`:"mismatch"===j?`the composer does not hold the message as sent (it shows ${q})`:"pasting"===j?`the paste had not finished arriving after ${100*h}ms (the composer shows ${q})`:`the message never appeared in the composer (${q})`;throw Error(`Message body did not arrive intact for session ${b}: ${t}; the message is ${n} bytes / ${o} lines. Enter was not pressed, so nothing was submitted (Issue #2464).`)}async function R(a){let{sessionName:b,message:c,cliToolId:d,composer:g,attempts:i,ticket:j}=a,k=H(function(a){let b=a.split("\n"),c=b.findIndex(a=>""!==a.trim());if(c<0)return"";let d=b.findIndex((a,b)=>b>c&&""===a.trim());return b.slice(0,d<0?b.length:d).join("\n")}(c));if(""===k)return;let l="",m=null;try{for(let a=0;a<Math.max(1,i);a++){if(await new Promise(a=>setTimeout(a,50)),l=await (0,e.Xg)(b,{startLine:-g.verifyCaptureLines}),"codex"===d){if(function(a,b,c){let d=v((0,h.aJ)(a).split("\n")),e=E(a,"codex",c.reader,d,d.slice(-12),b);return"text"===e.kind&&void 0!==e.region&&H(e.region)===H(b)}(l,c,g))return;continue}let a=(0,q.ji)(l,d);if("content"===a.state&&H(a.text)===k)return}}catch(a){m=a instanceof Error?a.message:String(a)}let n=Buffer.byteLength(c,"utf8"),o=null===m?M(l,d,g,c):"an unreadable pane",r=null===m&&function(a,b,c,d){let e=v((0,h.aJ)(a).split("\n"));return"text"===E(a,b,c.reader,e,e.slice(-12),d).kind}(l,d,g,c),s=await N(b,d,g,j);(0,f.gm)(b);let t=!r||!s;throw t&&(0,p.kJ)(j),I.error("typed-body-not-landed",{sessionName:b,cliToolId:d,bytes:n,attempts:i,shown:o,readError:m,carried:t}),Error(`Message body did not appear in the composer for session ${b} within ${50*i}ms (it shows ${o}); the message is ${n} bytes. Enter was not pressed, so nothing was submitted (Issue #3366).`)}async function S(a){let{sessionName:b,message:c,cliToolId:d,composer:f,enteredAt:g,deadline:h}=a,i=a.rule;for(;Date.now()<h;){if(await new Promise(a=>setTimeout(a,100)),"received"===(0,m.$Z)(b,d,g))return{verdict:"received"};let a=await (0,e.Xg)(b,{startLine:-f.verifyCaptureLines}),h=F(a,d,c,f);if("submitted"!==h.state||"A"===h.rule)return{verdict:"screen",...h,output:a};i=h.rule}return"received"===(0,m.$Z)(b,d,g)?{verdict:"received"}:{verdict:"unreported",rule:i}}async function T(a,b,c=(0,g.gc)(b),d={}){if(!c.clearBeforeSend)return;let{ticket:e}=d,f=await (0,l.sr)(a,b,{...void 0!==d.initialCapture?{initialCapture:d.initialCapture}:{},...void 0!==e?{beforePass:()=>e.isCurrent()}:{}});if(void 0!==e&&O(e,b,"the pre-send clear",!1),!function(a,b,c,d){if(""===c||!(0,m.L)(a,c))return;let e=(0,m.mU)(a);null!==e&&(0,n.h2)({...e,instanceId:e.instanceId??e.cliToolId}),I.warn("pre-send-found-submitted-body",{sessionName:a,cliToolId:b,cleared:d,length:c.length})}(a,b,f.discardedText,"content"!==f.state),"content"===f.state)throw I.error("pre-send-composer-clear-failed",{sessionName:a,cliToolId:b,passes:f.passes,remainingLength:f.remainingText.length,remainingText:f.remainingText}),Error(`Composer for session ${a} still holds unsent text after ${f.passes} clear passes; refusing to type the message, which would be concatenated with it (Issue #1880).`);f.passes>0&&I.warn("pre-send-composer-cleared",{sessionName:a,cliToolId:b,passes:f.passes,state:f.state,discardedLength:f.discardedText.length,discardedText:f.discardedText})}async function U(a){await (0,p.hC)(a.sessionName,b=>V(a,b))}async function V(a,b){let{sessionName:c,message:d,cliToolId:j,composer:k=(0,g.gc)(j),textInputWaitMs:n=i.pL,interEnterWaitMs:o=i.pL,verifyAttempts:r=4,verifyDelayMs:s=i.x9,pasteLandedAttempts:t=20,awaitTypedBody:u=!1,typedBodyAttempts:w=100}=a,x=a.submitEnterCount??k.submitEnterCount,y=await (0,l.H0)(c,j);if(await P(c,j,k,b)&&(y=await (0,l.H0)(c,j)),await T(c,j,k,{initialCapture:y,ticket:b}),Buffer.byteLength(d,"utf8")>512){let a=Date.now();O(b,j,"the paste",!1);try{await L(c,d,b,j)}catch(c){let a=c?.delivery==="not-started";throw(0,p.fi)(c)||a||(0,p.kJ)(b),c}await Q({sessionName:c,message:d,cliToolId:j,composer:k,attempts:t,ticket:b});let e=n-(Date.now()-a);e>0&&await new Promise(a=>setTimeout(a,e))}else{let a=Date.now();O(b,j,"the body",!1),(0,p.dy)();try{await (0,e.V1)(c,d,!1,{literal:!0})}catch(a){throw a?.delivery!=="not-started"&&(0,p.kJ)(b),a}u&&q.wn.has(j)&&await R({sessionName:c,message:d,cliToolId:j,composer:k,attempts:w,ticket:b});let f=n-(Date.now()-a);f>0&&await new Promise(a=>setTimeout(a,f))}let z=Date.now();for(let a=0;a<Math.max(1,x);a++)O(b,j,"Enter",!0),await (0,e.KB)(c,["Enter"]),a<x-1&&await new Promise(a=>setTimeout(a,o));let B=Math.max(1,r),C=null;for(let a=0;a<=B;a++){var D,H;await new Promise(a=>setTimeout(a,s));let g=await (0,e.Xg)(c,{startLine:-k.verifyCaptureLines}),{state:i,rule:l}=F(g,j,d,k),n=(D=i,H=l,"submitted"!==D||"A"===H||/^\s*[/!]/.test(d))?"not-required":(0,m.$Z)(c,j,z);if(I.info("submit-classified",{sessionName:c,cliToolId:j,attempt:a,state:i,rule:l,receipt:n}),"awaited"===n){C??=Date.now()+5e3;let b=await S({sessionName:c,message:d,cliToolId:j,composer:k,enteredAt:z,rule:l,deadline:C});if("unreported"===b.verdict)throw(0,f.gm)(c),I.error("submit-not-confirmed:prompt-unreported",{sessionName:c,cliToolId:j,attempt:a,rule:b.rule,waitedMs:5e3}),Error(`Message submit could not be confirmed for session ${c}: the composer did not show the body (rule ${b.rule}) but the agent did not report the prompt within 5000ms (Issue #4035).`);"received"===b.verdict?(I.info("submit-confirmed-by-prompt-hook",{sessionName:c,cliToolId:j,attempt:a,rule:l}),i="submitted"):({state:i,rule:l,output:g}=b,I.info("submit-classified",{sessionName:c,cliToolId:j,attempt:a,state:i,rule:l,receipt:"awaited"}))}if("submitted"===i){"received"!==(0,m.$Z)(c,j,z)&&(0,m.qF)(c,d),(0,f.gm)(c);return}if("replaced"===i){try{b.isCurrent()?await (0,e.Ce)(c):I.error("submit-clear-input-skipped-not-owner",{sessionName:c,cliToolId:j,generation:b.generation})}catch(a){I.error("submit-clear-input-failed",{sessionName:c,cliToolId:j,error:a instanceof Error?a.message:String(a)})}throw(0,f.gm)(c),I.error("submit-replaced-by-tui-completion",{sessionName:c,cliToolId:j,attempt:a}),Error(`Message was replaced by a TUI autocompletion for session ${c}; the input no longer matches the sent text. Cleared the input line without submitting to avoid executing a different command.`)}if(a===B)break;if("indeterminate"===i){I.warn("submit-not-confirmed:composer-unreadable",{sessionName:c,cliToolId:j,attempt:a});continue}if(function(a,b,c,d){let e=v((0,h.aJ)(a).split("\n")),f=E(a,b,d.reader,e,e.slice(-12),c);return"text"===f.kind&&!!f.rows.some(a=>A(a).tokens.length>0)&&"landed"!==G(a,b,c,d)}(g,j,d,k)){I.warn("submit-not-confirmed:foreign-paste-token",{sessionName:c,cliToolId:j,attempt:a});continue}if("received"===(0,m.$Z)(c,j,z)){I.info("submit-confirmed-by-prompt-hook",{sessionName:c,cliToolId:j,attempt:a,rule:l}),(0,f.gm)(c);return}I.warn("submit-not-confirmed:resending-enter",{sessionName:c,cliToolId:j,attempt:a}),O(b,j,"a resent Enter",!0),await (0,e.KB)(c,["Enter"])}throw(0,f.gm)(c),I.error("submit-verification-failed",{sessionName:c,cliToolId:j,attempts:B}),Error(`Message submit could not be confirmed for session ${c} after ${B} attempts (typed but unsent)`)}},905:(a,b,c)=>{c.d(b,{bN:()=>ai});var d=c(42422),e=c(24680),f=c(37717),g=c(52112),h=c(91010),i=c(1804),j=c(28861);let k=i.yh,l=(0,e.dX)("waiting",f.g.ANTIGRAVITY_SELECTION_LIST),m=/[\u2800-\u28FF]|Generating/,n={status:"running",confidence:"low",reason:f.g.UNKNOWN_FRAME,hasActivePrompt:!1,evidence:"none"},o=(0,h.b)({tool:"antigravity",verifiedAgainst:k,liveRegion:g.H,beforePrompt(a){if(function(a){let b=a.slice(-3),c=b.findIndex(a=>d.HR.test(a));if(c<0)return!1;let{promptPattern:e}=(0,d._X)("antigravity");return!b.slice(c+1).some(a=>e.test(a))}(a.contentLines))return l;if(!d.kT.test(a.lastLines))return m.test(a.thinkingLines)?null:(0,j.Ye)((0,d._A)(a.clean))?n:null;if(!function(a){let b=a.split("\n"),c=-1;for(let a=b.length-1;a>=0;a--)if(d.kT.test(b[a])){c=a;break}if(c<0)return!1;let{promptPattern:e}=(0,d._X)("antigravity");return!b.slice(c+1).some(a=>e.test(a))}(a.lastLines))return null;let b=(0,d._A)(a.clean);if((0,d.bH)(b)){let a=(0,j.g8)(b);return null!==a?(0,e._D)(f.g.PROMPT_DETECTED,a):n}return l},afterThinking(a){if((0,d.ut)("antigravity",a.lastLines))return(0,e.dX)("running",f.g.THINKING_INDICATOR);let{promptPattern:b}=(0,d._X)("antigravity");return b.test(a.lastLines)?(0,e.dX)("ready",f.g.INPUT_PROMPT):null}});var p=c(93923),q=c(32236),r=c(91478),s=c(96742),t=c(682);let u=/^\s*↑\/↓\s+navigate\s+·\s+enter\s+select\s+·.*\bto\s+bypass\s+all\s+permissions\b/;var v=c(46749),w=c(61878);let x=i.ji,y=(0,h.b)({tool:"command-code",verifiedAgainst:x,liveRegion:v.E,beforePrompt(a){if((0,w.Yc)(a,"command-code").composerAtBottom)return null;if((0,r.tH)(a.lastLines)||(0,r.a9)(a.lastLines))return(0,e.dX)("waiting",f.g.COMMAND_CODE_PLAN_REVIEW);let b=(0,s.nK)(a.raw);return"prompt"===b.kind?(0,e._D)(f.g.PROMPT_DETECTED,b.prompt):"unsupported"===b.kind?(0,e.dX)("waiting",f.g.COMMAND_CODE_SELECTION_LIST):null},afterPrompt:a=>(0,r.yt)(a.lastLines)?(0,e.dX)("waiting",f.g.COMMAND_CODE_DISMISSABLE_PANEL):(0,r.sl)(a.lastLines)?(0,e.dX)("waiting",f.g.COMMAND_CODE_SELECTION_LIST):null,detectDialog:a=>(function(a){let b=a.contentLines,c=b[b.length-1];if(void 0===c||!u.test(c))return null;let d=(0,t.c)(b,b.length,1);return null===d||d.footer!==c.trim()||"❯"!==d.selectedGlyph?null:{kind:"permission",options:d.options,answerMode:"numbered",submitMode:"answer_only"}})(a),afterThinking(a){if((0,d.ut)("command-code",a.lastLines))return(0,e.dX)("running",f.g.THINKING_INDICATOR);let{promptPattern:b}=(0,d._X)("command-code");return b.test(a.lastLines)?(0,e.dX)("ready",f.g.INPUT_PROMPT):null}});var z=c(26895),A=c(50435);let B=/do you want to\b/i;var C=c(83342);function D(a){return(0,z.gF)((0,d._A)(a),(0,d.KO)("copilot"))}let E=i.MJ,F=(0,h.b)({tool:"copilot",verifiedAgainst:E,liveRegion:C.b,beforePrompt(a){if((0,d.gT)(a.contentLines)){let b=D(a.clean);return b.isPrompt&&(b.promptData?.options?.length??0)<=3?(0,e._D)(f.g.PROMPT_DETECTED,b):(0,e.Xx)("waiting",f.g.COPILOT_SELECTION_LIST,b)}if("working"===(0,d.Wn)(a.contentLines)){let b=D(a.clean);return(0,e.Xx)("running",f.g.THINKING_INDICATOR,b)}return null},afterThinking:a=>"idle"===(0,d.Wn)(a.contentLines)?(0,e.dX)("ready",f.g.INPUT_PROMPT):null,skipGenericInputPrompt:!0,readIdleEvidence:function(a){return"idle"===(0,d.Wn)(a.contentLines)?"positive":"none"},detectDialog:a=>(function(a,b){if(null!==b.statusBar)return null;let c=(0,d._A)(a.clean).split("\n"),e=(0,t.c)(c,b.contentEnd);if(e&&d.V.test(e.footer)){var f;let a=(f=e.firstRow,(0,A.r)(c,f,-1));return{kind:d.rX.some(b=>a.includes(b))?"trust":B.test(a)?"permission":"picker",options:e.options,answerMode:"numbered"}}return b.selectionFrame?{kind:"picker",options:[],answerMode:"keys"}:null})(a,{statusBar:(0,d.Wn)(a.contentLines),selectionFrame:(0,d.gT)(a.contentLines),contentEnd:a.contentLines.length}),unreadableReason:f.g.UNKNOWN_FRAME});var G=c(76777),H=c(50524);let I=/\x1b\[[0-9;]*[a-zA-Z]|\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)|\[[0-9;]*m/g,J=/^(?:\x1b\[|\[)([0-9;]*)m$/,K=new Set([38,48,58]);function L(a){let b;I.lastIndex=0;let c=[],d="",e=null,f=0,g=0,h=0;for(;null!==(b=I.exec(a));){let i=a.slice(h,b.index);d+=i,f+=(0,H.LQ)(i),h=b.index+b[0].length;let j=J.exec(b[0]);if(null===j)continue;let k=function(a,b){let c=(""===b?"0":b).split(";"),d=a;for(let a=0;a<c.length;a++){let b=Number(""===c[a]?"0":c[a]);if(Number.isFinite(b)){if(K.has(b)){let e="2"===c[a+1]?4:2*("5"===c[a+1]);e>0&&48===b&&(d=c.slice(a,a+1+e).join(";")),a+=e;continue}0===b||49===b?d=null:(b>=40&&b<=47||b>=100&&b<=107)&&(d=c[a])}}return d}(e,j[1]);k!==e&&(f>g&&c.push({bg:e,start:g,end:f}),e=k,g=f)}let i=a.slice(h);d+=i,(f+=(0,H.LQ)(i))>g&&c.push({bg:e,start:g,end:f});let j=new Set(c.map(a=>a.start));return c.length>0&&j.add(c[c.length-1].end),{text:d,segments:c,edges:j,width:f}}function M(a,b){for(let c of a.segments)if(c.start<=b&&b<c.end)return c.bg;return null}let N=/\S[^\S\n]{2,}esc[^\S\n]*$/,O=/^[│┃╹]/;function P(a,b,c){if(!a.edges.has(b)||!a.edges.has(c))return!1;for(let d of a.segments)if(!(d.end<=b)&&!(d.start>=c)&&null===d.bg)return!1;return!(M(a,b-1)===M(a,b)||c<a.width&&M(a,c)===M(a,c-1)||O.test((0,H.Ml)(a.text,b-1,b)))&&!O.test((0,H.Ml)(a.text,b,c))}function Q(a){let b=function(a){let b=a.split("\n").map(L),c=new Set,d=null;for(let a of b){if(!a.text.includes("esc"))continue;let e=[...a.edges].sort((a,b)=>a-b);for(let f of e)if(!(f<1))for(let g of e){if(g-f<16)continue;let e=`${f}:${g}`;if(c.has(e)||!P(a,f,g))continue;let h=(0,H.Ml)(a.text,f,g);if(!N.test(h))continue;c.add(e);let i=b.filter(a=>P(a,f,g));if(i.length<3)continue;let j=i.indexOf(a);j<0||j>=3||(null===d||i.length>d.rows)&&(d={id:"opencode_modal_overlay",headerText:(0,G.D)(h.trim(),200,"…[truncated]"),left:f,right:g,rows:i.length,headerRow:j,frameRowStart:b.indexOf(i[0]),frameRowEnd:b.indexOf(i[i.length-1])})}}return d}(a);return null===b?null:{id:b.id,headerText:b.headerText,left:b.left,right:b.right,rows:b.rows,headerRow:b.headerRow}}let R=/\s{2,}/;var S=c(89021),T=c(46423);let U=i.BG;function V(a){let b=(0,d._A)(a.clean).split("\n"),c=Math.max(0,b.length-7);for(let a=b.length-1;a>=Math.max(0,b.length-10);a--)if(/ctrl\+[tp]/.test(b[a])){c=Math.max(0,a-2);break}let e=b.slice(0,c),f=e.length-1;for(;f>=0&&""===e[f].trim();)f--;return{candidates:e,lastIndex:f}}let W=(0,h.b)({tool:"opencode",verifiedAgainst:U,liveRegion:S.m,afterThinking(a){if(d.Ty.test(a.lastLines))return(0,e.dX)("waiting",f.g.OPENCODE_PERMISSION_PROMPT);if(d.kD.test(a.lastLines))return(0,e.dX)("running",f.g.OPENCODE_PROCESSING_INDICATOR);let{candidates:b,lastIndex:c}=V(a);if(c<0)return null;let g=b.slice(Math.max(0,c-T.$+1),c+1).join("\n");if((0,d.ut)("opencode",g))return(0,e.dX)("running",f.g.THINKING_INDICATOR);let h=b.slice(Math.max(0,c-w.h9+1),c+1).join("\n");if(d.LO.test(b.join("\n")))return(0,e.dX)("waiting",f.g.OPENCODE_SELECTION_LIST);if(null!==Q(a.raw))return(0,e.dX)("waiting",f.g.OPENCODE_MODAL_OVERLAY);if(d.$t.test(h))return(0,e.dX)("ready",f.g.OPENCODE_RESPONSE_COMPLETE);let i=a.lines.slice(Math.max(0,c-w.h9+1),c+1).join("\n");return d.vU.test(i)?(0,e.dX)("ready",f.g.INPUT_PROMPT):null},skipGenericInputPrompt:!0,readIdleEvidence:function(a){let{candidates:b,lastIndex:c}=V(a);if(c<0)return"none";let e=b.slice(Math.max(0,c-w.h9+1),c+1).join("\n");if(d.$t.test(e))return"positive";let f=a.lines.slice(Math.max(0,c-w.h9+1),c+1).join("\n");return d.vU.test(f)?"positive":"none"},detectDialog(a){var b;let{candidates:c}=V(a);return b={contentWindow:c.join("\n")},d.Ty.test(a.lastLines)?{kind:"permission",options:function(a){for(let b of a.lines){let a=d.Ty.exec(b);if(a)return a[0].replace(/^[^\S\n]*[│┃][^\S\n]*/,"").trim().split(R).map(a=>a.trim()).filter(a=>""!==a)}return[]}(a),answerMode:"keys"}:d.LO.test(b.contentWindow)||null!==Q(a.raw)?{kind:"picker",options:[],answerMode:"keys"}:null},unreadableReason:f.g.UNKNOWN_FRAME});var X=c(58546);let Y=i.u3,Z=/^[^\S\n]*[│┃][^\S\n]*Allow once[^\S\n]{2,}Always allow[^\S\n]{2,}Reject\b/m,$=/^[^\S\n]*[│┃][^\S\n]*↑↓ select[^\S\n]+enter submit[^\S\n]+esc dismiss\b/m,_=/^[^\S\n│┃]*[A-Za-z][\w-]*(?: [\w-]+)* · [^\n]+? · \d+(?:\.\d+)?(?:ms|s|m(?: \d+s)?)(?: · [\d.]+ tok\/s)?[^\S\n]*$/,aa=["Allow once","Always allow","Reject"],ab=/^[^\S\n]*[│┃]/,ac=/^[^\S\n]*[│┃][^\S\n]*(\d+)\.[^\S\n]+(\S.*?)[^\S\n]*$/,ad=(0,h.b)({tool:"opencode-v2",verifiedAgainst:Y,liveRegion:X.R,requireVouchedPrompt:!0,beforePrompt:a=>Z.test(a.lastLines)?(0,e.dX)("waiting",f.g.OPENCODE_PERMISSION_PROMPT):$.test(a.lastLines)?(0,e.dX)("waiting",f.g.OPENCODE_SELECTION_LIST):null!==(0,d.dF)((0,d.aJ)(a.raw))?(0,e.dX)("waiting",f.g.OPENCODE_MODAL_OVERLAY):null,afterThinking:a=>(0,d.ut)("opencode-v2",a.lastLines)?(0,e.dX)("running",f.g.THINKING_INDICATOR):!function(a){let b=a.contentLines;for(let a=b.length-1;a>=0;a--){var c;if(c=b[a],!(/^[\s│┃╹▀]*$/.test(c)||/^[^\S\n]*[│┃][^\S\n]*[A-Za-z][\w-]* · [^·\n]+$/.test(c)||d.c7.test(c)||/^\s*\d+\.\d+\.\d+\s*$/.test(c)))return _.test(b[a])}return!1}(a)?d.wK.test((0,d.aJ)(a.raw))||d.c7.test(a.lastLines)?(0,e.dX)("ready",f.g.INPUT_PROMPT):null:(0,e.dX)("ready",f.g.OPENCODE_RESPONSE_COMPLETE),detectDialog(a){if(Z.test(a.lastLines))return{kind:"permission",options:aa,answerMode:"keys"};let b=function(a){if(!$.test(a.lastLines))return null;let b=a.contentLines,c=-1;for(let a=b.length-1;a>=0;a--)if($.test(b[a])){c=a;break}if(c<0)return null;let d=[];for(let a=c-1;a>=0&&ab.test(b[a]);a--){let c=ac.exec(b[a]);c&&d.unshift(`${c[1]}. ${c[2]}`)}return d.length<2||!d.every((a,b)=>a.startsWith(`${b+1}. `))?null:{kind:"question",options:d,answerMode:"numbered",submitMode:"answer_only"}}(a);return null!==b?b:null!==(0,d.dF)((0,d.aJ)(a.raw))?{kind:"picker",options:[],answerMode:"keys"}:null}});function ae(a){return(0,h.b)({tool:a,verifiedAgainst:i.hB})}let af=ae("gemini"),ag=ae("vibe-local"),ah={claude:p.zu,codex:q.q,copilot:F,opencode:W,antigravity:o,"command-code":y,"opencode-v2":ad,gemini:af,"vibe-local":ag};function ai(a){return ah[a]??ae(a)}Object.values(ah)},1305:(a,b,c)=>{c.d(b,{Fq:()=>q,wK:()=>r});var d=c(22354),e=c(95375),f=c(88807),g=c(52660),h=c(54325),i=c(72626);let j=(0,i.h)("lib/session/session-generation-archive");var k=c(56588),l=c(27675),m=c(49973),n=c(63723),o=c(40964);let p=(0,i.h)("lib/session/agent-session-lifecycle");function q(a,b=Date.now()){(0,k._U)(a.worktreeId,a.cliToolId,a.instanceId,b);let i=(0,e.getAgentEventDropCounts)(a.worktreeId,a.cliToolId,a.instanceId).decisionEvicted;(0,e.beginAgentEventGeneration)(a.worktreeId,a.cliToolId,a.instanceId,b),(0,l.eZ)(a.worktreeId,a.cliToolId,a.instanceId);try{let c=(0,o.mf)(a.cliToolId,a.worktreeId,a.instanceId);(0,m.Fc)(c),(0,n.Xb)(c,a,b)}catch(b){p.warn("instance-input-invalidate-failed",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,error:b instanceof Error?b.message:String(b)})}let r=(0,e.getAgentEventDropCounts)(a.worktreeId,a.cliToolId,a.instanceId).decisionEvicted,s=(0,d.VM)(a.cliToolId);p.info("agent-session-generation-begun",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,transport:s.transport,decisionsEvicted:r-i});try{!function(a,b=process.env.VITEST?null:(0,f.getDbInstance)()){var d,e,i;let k=a.instanceId??a.cliToolId;if(!b)return;let l=(0,g.deleteMessagesByInstance)(b,a.worktreeId,k);0===l||((0,g.recomputeLastUserMessage)(b,a.worktreeId),j.info("session-generation-archived",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:k,archived:l}),d=a.worktreeId,e=a.cliToolId,i=k,Promise.all([c.e(1356),c.e(1503),c.e(1191),c.e(1719),c.e(2119),c.e(2445),c.e(8728)]).then(c.bind(c,43015)).then(({broadcastMessage:a})=>{a(h.dz,{worktreeId:d,cliToolId:e,instanceId:i,reason:"session_generation"})}).catch(a=>{j.warn("session-generation-invalidate-broadcast-failed",{worktreeId:d,instanceId:i,error:a instanceof Error?a.message:String(a)})}))}(a)}catch(b){p.warn("session-generation-archive-failed",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)})}}function r(a){return(0,d.K9)((0,d.VM)(a.target.cliToolId).prepareLaunch(a))}},7321:(a,b,c)=>{c.d(b,{$_:()=>g,Le:()=>d,_s:()=>e,a9:()=>f});let d="PLAN_REVIEW_SEND_REFUSED",e="PASTE_NOT_STARTED",f="INPUT_RECHECK_PROMPT_WAITING",g="INPUT_RECHECK_FAILED"},11472:(a,b,c)=>{c.d(b,{Bl:()=>e,GE:()=>j,Hg:()=>k,ow:()=>i,vg:()=>g,w9:()=>f});var d=c(51297);let e=["$","%","#"],f=40,g=[/^[\w.-]+@[\w.-]+[\s:].*[$%#]$/,/^\[[\w.-]+@[\w.-]+[^\]]*\][$#]$/];function h(a){return a.split("\n").filter(a=>""!==a.trim())}function i(a,b){let c=h(a.trim()).slice(-10).join("\n");for(let a of b.fatalPatterns)if(c.includes(a))return a;for(let a of b.fatalRegexPatterns)if(a.test(c))return a.source;return null}function j(a,b){let c=h(a.trim()),d=c[c.length-1]?.trim()??"";return!/\d+%$/.test(d)&&b.shellPromptPatterns.some(a=>a.test(d))?{line:d,via:"pattern"}:d.length>=b.maxShellPromptLength?null:b.shellPromptEndings.some(a=>!(!d.endsWith(a)||"%"===a&&/\d+%$/.test(d)))?{line:d,via:"ending"}:null}function k(a,b){let c=(0,d.aJ)(a).trim();if(""===c)return b.unreadableIsExited?{alive:!1,reason:"empty output"}:{alive:!0};let e=h(c),f=null===b.aliveTailLines?c:e.slice(-b.aliveTailLines).join("\n");if(b.alivePatterns.some(a=>a.test(f)))return{alive:!0};let g=i(c,b);if(null!==g)return{alive:!1,reason:`error pattern: ${g}`};let k=j(c,b);return null!==k?"pattern"===k.via?{alive:!1,reason:`shell prompt detected: ${k.line}`}:{alive:!1,reason:`shell prompt ending detected: ${k.line}`}:{alive:!0}}},16402:(a,b,c)=>{c.d(b,{Xc:()=>r,dd:()=>v,j4:()=>q,r_:()=>n,vm:()=>t});var d=c(61878),e=c(70605),f=c(905),g=c(26895),h=c(42422),i=c(28861),j=c(96742),k=c(73495);let l=["enforce","legacy"],m={claude:"enforce",codex:"enforce",copilot:"enforce",opencode:"enforce",gemini:"legacy",antigravity:"legacy","vibe-local":"legacy","command-code":"legacy","opencode-v2":"enforce"};function n(a,b,c,e=process.env){let g=function(a,b=process.env){let c=b.CM_AUTOYES_DIALOG_GATE,d=null,e=null;if("string"==typeof c&&""!==c.trim())for(let b of c.split(",")){let[c,f]=b.split("=");if(void 0===f)continue;let g=c.trim(),h=f.trim();l.includes(h)&&("*"===g?d=h:g===a&&(e=h))}return e??d??m[a]??"legacy"}(a,e),h="yes_no"===b?function(a,b,c){let e=(0,f.bN)(a);if(!e.hasDialogRules||"legacy"===c)return{present:!0,dialog:null,mode:c,gated:!1};let g=e.detectDialog("string"==typeof b?(0,d.zJ)(b,a):b);return{present:null!==g,dialog:g,mode:c,gated:!0}}(a,c,g):o(a,b,c,g);return{allowed:!h.gated||null!==h.dialog&&"numbered"===h.dialog.answerMode,dialog:h.dialog,mode:h.mode,gated:h.gated}}function o(a,b,c,e){let g=(0,f.bN)(a);if("multiple_choice"!==b||!g.hasDialogRules||"legacy"===e)return{present:!0,dialog:null,mode:e,gated:!1};let h=g.detectDialog("string"==typeof c?(0,d.zJ)(c,a):c);return{present:null!==h,dialog:h,mode:e,gated:!0}}let p=new Set(["question"]);function q(a,b,c){return b?.gated===!0&&null!==b.dialog&&p.has(b.dialog.kind)?"question-form":"multiple_choice"!==a.type?null:!0===a.isAskUserQuestion?"picker":void 0!==c&&s.has(c)&&"not-a-permission-dialog"===(0,k.Me)(a.options,c).kind?"unidentified":null}function r(a,b){return null===a?"base-rules":"question-form"===a||"careful"===b?"left-to-human":"picker"===a?"recommended-choice":"base-rules"}let s=new Set(["copilot","codex"]);function t(a,b,c){return o(a,b,c,m[a]??"legacy")}let u="unsupported_dialog_layout";function v(a,b){let c=(0,h._A)((0,h.aJ)(b)),f="antigravity"===a?(0,i.g8)(c):null,k="command-code"===a?(0,j.nK)(b):{kind:"none"};if("unsupported"===k.kind)return{promptCheck:{isPrompt:!1,cleanContent:c},isCommandCodeQuestion:!1,refusal:{reason:u,message:"A Command Code question is on screen, but its option list could not be read, so no key was sent. Answer it in the terminal, or retry once the screen has settled."},presence:{present:!1,dialog:null,mode:m[a]??"legacy",gated:!1}};let l="antigravity"===a&&null===f&&(0,i.bf)(c),n="prompt"===k.kind,o=("prompt"===k.kind?k.prompt:null)??f??(l?{isPrompt:!1,cleanContent:c}:(0,g.gF)(c,(0,h.KO)(a))),p=(0,d.zJ)(b,a),q=(0,e.z8)(p.liveRegion,o)?{isPrompt:!1,cleanContent:c}:o,r=t(a,q.promptData?.type,p);return{promptCheck:q,isCommandCodeQuestion:n,refusal:function(a,b){if(a.isPrompt&&b.present)return null;let c=a.promptData;return a.isPrompt&&b.gated&&c?.type==="multiple_choice"&&!0===c.isAskUserQuestion?{reason:u,message:"An AskUserQuestion picker is on screen, but its layout could not be verified as one of the agent's dialogs, so no key was sent. Answer it in the terminal, or retry once the screen has settled."}:{reason:"prompt_no_longer_active"}}(q,r),presence:r}}},20029:(a,b,c)=>{c.d(b,{C7:()=>s,KF:()=>n,Nq:()=>q,cu:()=>l,h2:()=>o,m4:()=>t,zE:()=>m});var d=c(55511),e=c(36925),f=c(72626),g=c(2669),h=c(7321);let i=(0,f.h)("session/send-attempt-state"),j=(0,e.v)("__sendAttemptRecords",()=>new Map);function k(a){return JSON.stringify([a.worktreeId,a.cliToolId,a.instanceId])}function l(a){return(0,d.createHash)("sha256").update(a,"utf8").digest("hex").slice(0,16)}function m(a,b,c=Date.now()){try{let d=k(a);for(j.delete(d),j.set(d,{at:Math.floor(c),state:b.state,reason:b.reason,messageDigest:l(b.content)});j.size>1024;){let a=j.keys().next().value;if(void 0===a)break;j.delete(a)}}catch(a){i.warn("send-attempt-record-failed",{error:a instanceof Error?a.message:String(a)})}}function n(a){return j.get(k(a))??null}function o(a,b=Date.now()){try{let c=k(a),d=j.get(c);if(void 0===d||"sent"!==d.state)return;j.set(c,{...d,at:Math.floor(b),state:"indeterminate",reason:"found-in-composer"})}catch(a){i.warn("send-attempt-record-failed",{error:a instanceof Error?a.message:String(a)})}}let p=/Command failed: tmux |Failed to send (?:special )?keys? to tmux session|Failed to send special key:|Failed to paste message into tmux session/;function q(a){if("object"==typeof a&&null!==a&&a.code===g.M7)return{state:"not-sent",reason:"session-starting"};if("object"==typeof a&&null!==a&&a.code===h.Le)return{state:"not-sent",reason:"plan-review"};if(function(a,b){let c=a;for(let a=0;a<=4&&"object"==typeof c&&null!==c;a++){if(c.code===b)return!0;c=c.cause}return!1}(a,h._s))return{state:"not-sent",reason:"paste-not-started"};let b=a instanceof Error?a.message:String(a);return/Enter was not pressed, so nothing was submitted/.test(b)?{state:"indeterminate",reason:"body-not-landed"}:/replaced by a TUI autocompletion/.test(b)?{state:"indeterminate",reason:"replaced-by-completion"}:/did not report the prompt within \d+ms \(Issue #4035\)/.test(b)?{state:"indeterminate",reason:"prompt-unreported"}:/submit could not be confirmed/i.test(b)?{state:"indeterminate",reason:"submit-unconfirmed"}:/Could not re-read session \S+ before typing \(.*\); nothing was typed \(Issue #3945\)/s.test(b)?{state:"not-sent",reason:"recheck-failed"}:p.test(b)?{state:"indeterminate",reason:"send-error"}:/prompt not ready/i.test(b)?{state:"not-sent",reason:"prompt-not-ready"}:/input lock not acquired, nothing was typed/.test(b)?/was replaced while this send waited/.test(b)?{state:"not-sent",reason:"session-replaced"}:{state:"not-sent",reason:"input-lock-timeout"}:/\(re-checked under the input lock\); nothing was typed/.test(b)?{state:"not-sent",reason:"prompt-waiting"}:/input lock lost, nothing was typed/.test(b)?{state:"not-sent",reason:"input-lock-lost"}:/still holds unsent text after \d+ clear passes/.test(b)?{state:"not-sent",reason:"composer-not-empty"}:{state:"indeterminate",reason:"send-error"}}function r(a){return a.replace(/\s+/g,"")}function s(a,b){let c=r(b.split("\n").find(a=>""!==a.trim())??"").slice(0,32);return""!==c&&r(a).includes(c)}function t(a){return"not-sent"===a.state?`[send state: not-sent (${a.reason}): the message was not typed. CommandMate does not resend it; send it again once the input prompt is back (\`commandmate prompt <worktree-id> --json\` shows the screen and lastSend).]`:"indeterminate"===a.state?`[send state: indeterminate (${a.reason}): part of the message may have been typed or submitted. CommandMate does not resend it; do not resend before checking the pane (\`commandmate capture <worktree-id> --pane\`), or it may arrive twice.]`:`[send state: sent (${a.reason})]`}},20610:(a,b,c)=>{c.d(b,{CV:()=>i,D1:()=>p,Is:()=>g,KI:()=>j,Lw:()=>o,PY:()=>m,Rk:()=>l,Uc:()=>d,Zf:()=>h,kZ:()=>q,os:()=>k,pL:()=>e,x9:()=>f,yO:()=>n});let d=100,e=100,f=200,g=300,h=500,i=500,j=2e3,k=300,l=3e3,m=200,n=3e3,o=3e3,p=15e3,q=1e3},24680:(a,b,c)=>{function d(a,b){return{status:a,confidence:"high",reason:b,hasActivePrompt:!1,evidence:"positive"}}function e(a,b,c){return{status:a,confidence:"high",reason:b,hasActivePrompt:!1,evidence:"positive",promptDetection:c}}function f(a,b){return{status:"waiting",confidence:"high",reason:a,hasActivePrompt:!0,evidence:"positive",promptDetection:b}}function g(a,b){return{status:"running",confidence:"low",reason:a,hasActivePrompt:!1,evidence:"none",promptDetection:b}}c.d(b,{Ru:()=>g,Xx:()=>e,_D:()=>f,dX:()=>d})},26895:(a,b,c)=>{c.d(b,{gF:()=>p,xn:()=>i});var d=c(72626),e=c(90304),f=c(67121),g=c(68652),h=c(81671);function i(a,b="yes_no"){let c=a.toLowerCase().trim();if("multiple_choice"===b){if(/^\d+$/.test(c))return c;throw Error("Invalid answer for multiple choice prompt. Expected a number.")}if("yes"===c||"y"===c)return"y";if("no"===c||"n"===c)return"n";throw Error("Invalid answer for yes/no prompt. Expected 'yes', 'no', 'y', or 'n'.")}let j=(0,d.h)("prompt-detector"),k=null,l=[{regex:/^(.+)\s+\(y\/n\)\s*$/m},{regex:/^(.+)\s+\[y\/N\]\s*$/m,defaultOption:"no"},{regex:/^(.+)\s+\[Y\/n\]\s*$/m,defaultOption:"yes"},{regex:/^(.+)\s+\(yes\/no\)\s*$/m}];function m(a,b,c){let d=c.index??0,e=a=>a.split("\n").length-1,f=b+e(a.slice(0,d));return{startLine:f,endLine:f+e(c[0])}}let n=/^(.*?)Approve\?\s*$/m;function o(a,b,c,{approvalTarget:d,approvalContext:e},f){return{isPrompt:!0,promptData:{type:"yes_no",question:a,options:["yes","no"],status:"pending",...void 0!==f&&{defaultOption:f},instructionText:c,...void 0!==d&&{approvalTarget:d},...void 0!==d&&"truncated"===e.completeness&&{approvalTargetCompleteness:"truncated"}},cleanContent:b,rawContent:c,approvalContext:e}}function p(a,b){let c=(0,g.N)(a),d=c===a&&b?.precomputedLines?b.precomputedLines:c.split("\n"),i=d.slice(-50).join("\n"),p=i===k;p||j.debug("detectPrompt:start",{outputLength:c.length}),k=i;let q=d.slice(-20).join("\n"),r=Math.max(0,d.length-20),s=(0,e.rS)(c,b,h.O8);if(s.isPrompt)return p||j.info("detectPrompt:multipleChoice",{isPrompt:!0,question:s.promptData?.question,optionsCount:s.promptData?.options?.length}),s;let t=q.trim(),u=function(a,b){let c=[];return[...l.map(a=>({regex:a.regex,defaultOption:a.defaultOption,approve:!1})),{regex:n,defaultOption:void 0,approve:!0}].forEach((d,e)=>{let f=RegExp(d.regex.source,`${d.regex.flags}g`);for(let g of a.matchAll(f)){let{startLine:f,endLine:h}=m(a,b,g);c.push({match:g,defaultOption:d.defaultOption,approve:d.approve,startLine:f,endLine:h,offset:g.index??0,order:e})}}),c.sort((a,b)=>a.endLine-b.endLine||a.offset-b.offset||a.order-b.order),c}(q,r),v=u[u.length-1];if(v){let a=function(a,b,c,d,g=[]){let{startLine:h,endLine:i}=m(b,c,d),j=(0,f.hK)(a,h,i+1),k=g.some(a=>a.endLine>=j.start&&a.endLine<h);return{approvalTarget:(0,e.ZH)(a,j.start,i+1),approvalContext:{startRow:j.start,endRow:i+1,completeness:k?"truncated":j.completeness}}}(d,q,r,v.match,u.slice(0,-1));if(v.approve){let b=v.match[1].trim();return o(b?`${b} Approve?`:"Approve?",b||"Approve?",t,a)}let b=v.match[1].trim();return o(b,b,t,a,v.defaultOption)}return p||j.debug("detectPrompt:complete",{isPrompt:!1}),{isPrompt:!1,cleanContent:c.trim()}}},28861:(a,b,c)=>{c.d(b,{FI:()=>v,Ye:()=>t,bf:()=>u,g8:()=>n});var d=c(42422),e=c(90304),f=c(68652),g=c(682),h=c(69082),i=c(81671);let j=/^\s*●\s/,k=/^\s*─{3,}\s*$/,l=/[??]\s*$/;function m(a){let b=(0,d.dx)(a);if(null===b||!h.cR.test(a[b.footer]))return null;let c=a.slice(b.start,b.footer);if(c.some(a=>d.d0.test(a)))return null;let e=(0,g.c)(c,c.length,12);if(null===e)return null;let f=[...e.options];if(""!==e.footer){let a=f.length-1;f[a]=[f[a],...e.footer.split("\n")].join(" ").trim()}let i=b.start+e.firstRow,j=-1,m=-1,n=0;for(let c=i-1;c>=b.start&&n<3;c--){let b=a[c];if(""!==b.trim()){if(d.OM.test(b)||k.test(b))break;if(n++,m<0&&(m=c),l.test(b)){j=c;break}}}return j<0&&(j=m),{question:j<0?"Please select an option:":a[j].trim(),options:f,selectedIndex:e.selectedIndex,questionRow:j<0?i:j,firstOptionRow:i,footerRow:b.footer}}function n(a){let b=(0,f.N)(a),c=b.split("\n"),g=m(c);if(null===g)return null;let h=(0,e.HD)(c,g.questionRow,g.footerRow);return(0,e.xe)(g.question,g.options.map((a,b)=>({number:b+1,label:a,isDefault:b===g.selectedIndex})),{instructionText:function(a,b){let c=(0,d.dx)(a),e=c?.start??b.questionRow,f=Math.max(0,b.questionRow-40);for(let c=b.questionRow-1;c>=f;c--)if(j.test(a[c])){e=c+1;break}let g=a.slice(e,b.footerRow+1).filter(a=>!k.test(a)).map(a=>a.trimEnd()).join("\n").trim();return g.length>0?g:void 0}(c,g),approvalTarget:(0,e.ZH)(c,h.start,g.footerRow),approvalContext:{startRow:h.start,endRow:g.footerRow,completeness:h.completeness}},b,i.O8)}let o=/^\s*(>)?\s*(\d+)\.\s+\S/,p=/^\s*esc Cancel\s*·\s*\d+-\d+\s+Select\b/,q=/↑\/↓/,r=/^\s*(?:Requesting permission for:|Do you want to proceed\?)\s*$/;function s(a){let b=(0,f.N)(a).split("\n"),c=-1;for(let a=b.length-1;a>=0;a--){if(h.lE.test(b[a]))return null;if(o.test(b[a])){c=a;break}}if(c<0)return null;let e=o.exec(b[c]),g=Number(e[2]),i=g,j=void 0!==e[1],k=!1,l=c,m=Math.max(0,c-40);for(let a=c-1;a>=m&&i>1;a--){let c=o.exec(b[a]);if(null===c){if(d.OM.test(b[a]))break;continue}let e=Number(c[2]);if(e>=i)break;e!==i-1&&(k=!0),i=e,l=a,void 0!==c[1]&&(j=!0)}let n=!1;for(let a=l-1;a>=Math.max(0,l-40)&&!d.OM.test(b[a]);a--)if(r.test(b[a])){n=!0;break}let s=b.slice(c+1).filter(a=>""!==a.trim());return{lines:b,bottom:g,lowest:i,gap:k,highlighted:j,feedbackFooter:s.length>0&&p.test(s[0]),navigateFooter:s.some(a=>q.test(a)),permissionHeading:n}}function t(a){let b=s(a);return null!==b&&!(b.bottom<2)&&1===b.lowest&&!b.gap&&!!b.highlighted&&!b.feedbackFooter&&null===m(b.lines)}function u(a){let b=s(a);return null!==b&&!(b.bottom<2)&&!b.feedbackFooter&&(1!==b.lowest||!!b.gap||!!b.highlighted||!!b.navigateFooter||!!b.permissionHeading)&&null===m(b.lines)}function v(a){return s(a)?.feedbackFooter===!0}},31239:(a,b,c)=>{c.d(b,{$y:()=>e,ds:()=>i});let d=[/^[^\S\n]*type\s+something\b/i];function e(a){return!0===a.requiresTextInput&&d.some(b=>b.test(a.label))}function f(a){if(!a)return null;let b=a.decisionId;return"string"==typeof b&&""!==b?b:null}function g(a){return Array.isArray(a.decisionOptions)&&a.decisionOptions.length>0}let h={kind:"unreadable",heading:{kind:"unreadable"},choices:[],multiSelect:!1,freeText:null,decisionId:null,apiTarget:null};function i(a){if(null==a)return null;if("unclassified"!==a.type){let b=function(a){let b=Array.isArray(a.options)?a.options:[],c=[];for(let d of b){if("string"==typeof d){c.push({answer:d,label:d,isDefault:a.defaultOption===d,takesText:!1});continue}d&&"object"==typeof d&&"number"==typeof d.number&&"string"==typeof d.label&&c.push({answer:String(d.number),label:d.label,isDefault:!0===d.isDefault,takesText:e({label:d.label,requiresTextInput:!0===d.requiresTextInput}),..."string"==typeof d.description?{description:d.description}:{}})}return c}(a);return{kind:"screen-choices",heading:{kind:"question",text:"string"==typeof a.question?a.question:""},choices:b,multiSelect:!0===a.multiSelect,freeText:b.some(a=>a.takesText)?{via:"screen"}:null,decisionId:null,apiTarget:null}}let b=f(a);if(null!==b&&g(a)){let c=function(a){if(!Array.isArray(a))return[];let b=[];for(let c of a)c&&"number"==typeof c.number&&"string"==typeof c.label&&b.push({answer:String(c.number),label:c.label,isDefault:!1,takesText:!1});return b}(a.decisionOptions);if(c.length>0)return{kind:"api-choices",heading:{kind:"approval",toolName:"string"==typeof a.toolName&&a.toolName?a.toolName:null},choices:c,multiSelect:!1,freeText:null,decisionId:b,apiTarget:"approval"}}let c=function(a){if(!a||null===f(a)||g(a))return null;let b=a.askUserQuestion;if(!b||"string"!=typeof b.question||""===b.question||!Array.isArray(b.labels)||0===b.labels.length)return null;let c=b.labels.filter(a=>"string"==typeof a&&""!==a);if(c.length!==b.labels.length)return null;let d="number"==typeof b.questionCount?b.questionCount:1;return 1!==d?null:{question:b.question,labels:c,questionCount:d,...!0===b.custom?{custom:!0}:{}}}(a);return null!==b&&null!==c?{kind:"api-choices",heading:{kind:"agent-question",text:c.question},choices:c.labels.map((a,b)=>({answer:String(b+1),label:a,isDefault:!1,takesText:!1})),multiSelect:!1,freeText:!0===c.custom?{via:"api"}:null,decisionId:b,apiTarget:"question"}:h}},32236:(a,b,c)=>{c.d(b,{q:()=>y,AD:()=>z});var d=c(42422),e=c(26895),f=c(24680),g=c(37717),h=c(65912),i=c(682),j=c(50435);let k={"hooks-review":"permission","hooks-list":"picker","hooks-detail":"picker",update:"update",trust:"trust"};var l=c(61878),m=c(85237),n=c(27789),o=c(91010),p=c(1804),q=c(46423);function r(a){return(0,e.gF)((0,d._A)(a),(0,d.KO)("codex"))}let s=p.jP,t=/press\s+(?:number|enter)\s+to\s+confirm/i,u=/^\s*[❯›●]?\s*\d{1,2}[.)]\s/;function v(a){let b=(0,m.Ut)(a),c=b>=0?b:a.length,e=-1,f=-1;for(let b=0;b<c;b++){let c=a[b],g=c.trim();""!==g&&((t.test(g)||u.test(g))&&(e=b),(0,d.ut)("codex",c)&&(f=b))}return e>=0&&f>e}function w(a){return(0,h.kp)(a)?.kind==="option"}function x(a,b){let c=(0,l.Yc)(a,"codex");return"composer"!==c.anchor||c.composerEndRow!==b?b:c.startRow}let y=(0,o.b)({tool:"codex",verifiedAgainst:s,liveRegion:m.YH,beforePrompt(a){let{contentLines:b}=a;if((0,l.Yc)(a,"codex").composerAtBottom)return null;if(d.pn.test(a.lastLines))return(0,f.Xx)("waiting",g.g.CODEX_PAGER,r(a.clean));let c=(0,d.E6)((0,l.j4)(a,"codex"));if("hooks-list"===c||"hooks-detail"===c)return(0,f.Xx)("waiting",g.g.CODEX_HOOKS_REVIEW,r(a.clean));let e=(0,m.Bh)(b)-1;if(e>=0){let c=b.slice(Math.max(0,e-l.h9+1),e+1).join("\n"),h=b[e].trim();if(d.Jn.test(c)||d.ir.test(h)||d.bh.test(h)){let e=r(a.clean);return e.isPrompt&&((e.promptData?.question?.trim()??"").endsWith("?")||d.Dd.test(c))&&!v(b)?(0,f._D)(g.g.PROMPT_DETECTED,e):(0,f.Xx)("waiting",g.g.CODEX_SELECTION_LIST,e)}}let i=(0,h.t)(a.raw,b,(0,m.Bh)(b));if(i&&!v(b)){i.footerRecognised||(0,h.AT)(i.footer);let b=r(a.clean);return b.isPrompt?(0,f._D)(g.g.PROMPT_DETECTED,b):(0,f.Xx)("waiting",g.g.CODEX_SELECTION_LIST,b)}return null},isStalePrompt:a=>v(a.contentLines)||(0,l.Yc)(a,"codex").composerAtBottom,detectDialog:a=>(0,l.Yc)(a,"codex").composerAtBottom?null:function(a,b){var c;let e=(0,d._A)(a.clean).split("\n"),f=(0,i.c)(e,b.contentEnd);if(b.lifecycleDialog)return{kind:k[b.lifecycleDialog],options:f?.options??[],answerMode:"numbered"};if(!f||!d.Jn.test(f.footer)&&!d.$I.test(f.footer)&&!d.ir.test(f.footer)&&!d.bh.test(f.footer)||b.stalePrompt)return null;let g=(c=f.firstRow,(0,j.r)(e,c,-1));return{kind:d.Dd.test(f.footer)||g.split("\n")[0]?.endsWith("?")?"permission":"picker",options:f.options,answerMode:"numbered"}}(a,{contentEnd:(0,m.Bh)(a.contentLines),stalePrompt:v(a.contentLines),lifecycleDialog:(0,d.E6)((0,l.j4)(a,"codex"))}),afterThinking(a){let{contentLines:b}=a,c=(0,m.Ut)(b);if(c>=0){let e=c-1;for(;e>=0&&""===b[e].trim();)e--;if((e=x(a,e))>=0){let c=b.slice(Math.max(0,e-q.$+1),e+1).join("\n");return(0,d.ut)("codex",c)||n.mk.test(c)?(0,f.dX)("running",g.g.THINKING_INDICATOR):d.gm.test(b[e].trim())&&!w(a.raw)?(0,f.dX)("ready",g.g.INPUT_PROMPT):(0,f.dX)("running",g.g.THINKING_INDICATOR)}}else{let c=b.length-1;for(;c>=0&&""===b[c].trim();)c--;if(!((c=x(a,c))>=0&&d.gm.test(b[c].trim())&&!w(a.raw))&&((0,d.ut)("codex",a.lastLines)||n.mk.test(a.lastLines)))return(0,f.dX)("running",g.g.THINKING_INDICATOR)}return null}});function z(a){let b="string"==typeof a?(0,l.zJ)(a,"codex"):(0,l.j4)(a,"codex");if(!y.detectDialog(b))return!1;let c=(0,m.Bh)(b.contentLines),e=(0,i.c)((0,d._A)(b.clean).split("\n"),c);return null!==e&&(d.ir.test(e.footer)||d.bh.test(e.footer))}},37717:(a,b,c)=>{c.d(b,{g:()=>d});let d={PROMPT_DETECTED:"prompt_detected",THINKING_INDICATOR:"thinking_indicator",OPENCODE_PROCESSING_INDICATOR:"opencode_processing_indicator",OPENCODE_SELECTION_LIST:"opencode_selection_list",OPENCODE_MODAL_OVERLAY:"opencode_modal_overlay",OPENCODE_PERMISSION_PROMPT:"opencode_permission_prompt",CLAUDE_SELECTION_LIST:"claude_selection_list",COMMAND_CODE_SELECTION_LIST:"command_code_selection_list",COMMAND_CODE_DISMISSABLE_PANEL:"command_code_dismissable_panel",COMMAND_CODE_PLAN_REVIEW:"command_code_plan_review",COPILOT_SELECTION_LIST:"copilot_selection_list",CODEX_SELECTION_LIST:"codex_selection_list",CODEX_PAGER:"codex_pager",CODEX_HOOKS_REVIEW:"codex_hooks_review",ANTIGRAVITY_SELECTION_LIST:"antigravity_selection_list",OPENCODE_RESPONSE_COMPLETE:"opencode_response_complete",INPUT_PROMPT:"input_prompt",NO_RECENT_OUTPUT:"no_recent_output",STARTING:"starting",EXITED:"exited",UNKNOWN_FRAME:"unknown_frame",DEFAULT:"default"}},46689:(a,b,c)=>{c.d(b,{$:()=>f});var d=c(79892),e=c(49973);async function f(a,b){await (0,e.hC)(a,async()=>{for(let c of b)"string"==typeof c?await (0,d.V1)(a,c,!0):await c()})}},46749:(a,b,c)=>{c.d(b,{E:()=>g});var d=c(42422),e=c(70605);let f=/^❯\s*\d{1,2}[.)]\s/,g={composer:(0,e.W2)(a=>{let b=(0,d.I$)(a);return b<0||f.test((0,d.aJ)(a[b+1]??""))?-1:b}),dialogTop:(0,e.o6)({footer:a=>/↑\/↓ navigate · enter select/.test(a),rule:/^─{10,}$/,maxRows:120}),composerHidesDialogs:!0}},47967:(a,b,c)=>{c.d(b,{Z:()=>h,u:()=>i});var d=c(70605);let e=/ctrl\+[tp]\b/,f=/^\s*╹▀+/,g=/^\s*[┃│]/,h={locate({contentLines:a}){let b=(0,d.Sx)(a),c=-1;for(let d=b;d>=Math.max(0,b-4);d--)if(e.test(a[d])){c=d;break}if(c<0)return null;let h=-1;for(let b=c-1;b>=Math.max(0,c-3);b--)if(f.test(a[b])){h=b;break}if(h<0)return null;let i=h;for(;i-1>=0&&g.test(a[i-1]);)i--;return{start:i,end:b,atBottom:!0}}};function i(a){return{locate({contentLines:b}){let c=(0,d.Sx)(b);for(let d=c;d>=Math.max(0,c-60);d--)if(g.test(b[d])&&a.test(b[d]))return{start:d};return null}}}},49973:(a,b,c)=>{c.d(b,{$M:()=>h,BD:()=>A,Du:()=>G,FU:()=>Q,Fc:()=>J,KA:()=>I,KC:()=>D,Kk:()=>n,TO:()=>C,ZI:()=>m,bc:()=>g,dy:()=>O,fi:()=>L,hC:()=>B,iR:()=>j,kJ:()=>F,r:()=>H,sK:()=>R,sk:()=>l,tQ:()=>i,x1:()=>N,x7:()=>E});var d=c(16698),e=c(36925);let f=(0,c(72626).h)("session/instance-input-lock"),g=3e3,h="INSTANCE_INPUT_LOCK_TIMEOUT",i="INSTANCE_INPUT_SESSION_REPLACED",j="INSTANCE_INPUT_OWNERSHIP_LOST";class k{constructor(a,b,c,d="exclusive"){this.sessionName=a,this.generation=b,this.waited=c,this.mode=d,this.released=!1,this.revoked=!1}isCurrent(){if(this.released||this.revoked)return!1;let a=o.get(this.sessionName);return"shared"===this.mode?a?.shared.has(this)===!0:a?.owner===this}}class l extends Error{constructor(a,b){super(`Another send to session ${a} held its composer for over ${b}ms; input lock not acquired, nothing was typed (Issue #3945).`),this.code=h,this.name="InstanceInputLockTimeoutError"}}class m extends Error{constructor(a){super(`Session ${a} was replaced while this send held its composer; input lock lost, nothing was typed (Issue #3945).`),this.code=j,this.name="InstanceInputOwnershipLostError"}}class n extends Error{constructor(a){super(`Session ${a} was replaced while this send waited for its composer; input lock not acquired, nothing was typed (Issue #3945).`),this.code=i,this.name="InstanceInputSessionReplacedError"}}let o=(0,e.v)("__instanceInputLocks",()=>new Map),p=(0,e.v)("__instanceInputGeneration",()=>({last:0,lastExclusive:0,exclusiveEvents:0,sharedReleases:0}));function q(){p.exclusiveEvents=(p.exclusiveEvents??0)+1}function r(){p.sharedReleases=(p.sharedReleases??0)+1}let s=(0,e.v)("__instanceInputRevoked",()=>new WeakSet),t=(0,e.v)("__instanceInputOwnerScope",()=>new d.AsyncLocalStorage);function u(a){let b=o.get(a);return void 0===b&&(b={owner:null,shared:new Set,queue:[],mark:null},o.set(a,b)),b}function v(a){let b=o.get(a);void 0!==b&&(null!==b.mark&&b.mark.expiresAt<=Date.now()&&(b.mark=null),null===b.owner&&0===b.shared.size&&0===b.queue.length&&null===b.mark&&o.delete(a))}function w(a,b,c="exclusive"){return p.last+=1,"exclusive"===c&&(p.lastExclusive=p.last,q()),new k(a,p.last,b,c)}function x(a,b){return null===a.owner&&("shared"===b||0===a.shared.size)}function y(a,b){"shared"===b.mode?a.shared.add(b):a.owner=b}function z(a,b){for(;b.queue.length>0&&x(b,b.queue[0].mode);){let c=b.queue.shift();clearTimeout(c.timer);let d=w(a,!0,c.mode);if(y(b,d),c.admit(d),"exclusive"===c.mode)return}}function A(a){let b=t.getStore()?.get(a);return void 0!==b&&b.isCurrent()?b:null}async function B(a,b,c={}){let d=t.getStore()?.get(a);if(void 0!==d){if(d.isCurrent())return b(d);if(s.has(d))throw f.warn("instance-input-stale-context-refused",{sessionName:a,generation:d.generation}),new m(a)}let e=await function(a,b,c="exclusive"){let d=u(a);if(0===d.queue.length&&x(d,c)){let b=w(a,!1,c);return y(d,b),Promise.resolve(b)}return new Promise((e,g)=>{let h={mode:c,admit:e,reject:g,timer:setTimeout(()=>{let e=d.queue.indexOf(h);e>=0&&d.queue.splice(e,1),f.warn("instance-input-lock-timeout",{sessionName:a,waitedMs:b,mode:c}),z(a,d),v(a),g(new l(a,b))},b)};d.queue.push(h)})}(a,c.waitMs??6e4,c.mode);try{let c=new Map(t.getStore()??[]);return c.set(a,e),await t.run(c,()=>b(e))}finally{!function(a){a.released=!0;let b=o.get(a.sessionName);if(void 0!==b){if("shared"===a.mode){if(!b.shared.delete(a))return;r()}else{if(b.owner!==a)return;b.owner=null,q()}z(a.sessionName,b),v(a.sessionName)}}(e)}}function C(){return p.exclusiveEvents??0}function D(){return(p.exclusiveEvents??0)+(p.sharedReleases??0)}async function E(a,b,c,d,e={}){let g=null!==A(a),k=e.mode??"shared",l=("exclusive"===k?D():C())!==b,m=!1;try{return await B(a,async e=>{if(m=!0,!g&&(e.waited||l||"shared"===k&&C()!==b)){let b;try{b=await c()}catch(b){return f.warn("instance-input-answer-recheck-failed",{sessionName:a,error:b instanceof Error?b.message:String(b)}),{answered:!1,reason:"recheck-failed"}}if(!b)return f.info("instance-input-answer-target-changed",{sessionName:a,generation:e.generation}),{answered:!1,reason:"target-changed"}}return e.isCurrent()?{answered:!0,value:await d(e)}:{answered:!1,reason:"input-lock-lost"}},{waitMs:e.waitMs,mode:k})}catch(c){let b=m?null:function(a){let b="object"==typeof a&&null!==a?a.code:void 0;return b===h?"input-lock-timeout":b===i?"session-replaced":b===j?"input-lock-lost":null}(c);if(null===b)throw c;return f.warn("instance-input-answer-not-admitted",{sessionName:a,reason:b}),{answered:!1,reason:b}}}function F(a,b=Date.now()){if(!a.isCurrent())return void f.warn("carried-paste-mark-skipped-not-owner",{sessionName:a.sessionName,generation:a.generation});let c=u(a.sessionName);c.mark={originGeneration:a.generation,at:b,expiresAt:b+8e3},f.warn("carried-paste-mark-left",{sessionName:a.sessionName,generation:a.generation,expiresAt:c.mark.expiresAt})}function G(a,b=Date.now()){let c=o.get(a)?.mark??null;return null!==c&&c.expiresAt>b?c:null}function H(a,b=Date.now()){if(!a.isCurrent())return;let c=o.get(a.sessionName);c?.mark&&c.mark.expiresAt<=b&&(c.mark=null)}async function I(a){let b=G(a.sessionName);if(null===b)return!1;for(f.warn("carried-paste-mark-wait",{sessionName:a.sessionName,originGeneration:b.originGeneration,generation:a.generation,remainingMs:b.expiresAt-Date.now()});Date.now()<b.expiresAt&&a.isCurrent();)await new Promise(a=>setTimeout(a,b.expiresAt-Date.now()));return H(a),!0}function J(a){let b=o.get(a);if(void 0===b)return;b.mark=null;let c=A(a);for(let a of(null!==b.owner&&b.owner!==c&&(b.owner.revoked=!0,s.add(b.owner),b.owner=null,q()),[...b.shared]))a!==c&&(a.revoked=!0,s.add(a),b.shared.delete(a),r());let d=b.queue.splice(0,b.queue.length);for(let b of d)clearTimeout(b.timer),b.reject(new n(a));d.length>0&&f.info("instance-input-waiters-expired",{sessionName:a,waiters:d.length}),v(a)}class K extends Error{constructor(a){super(`Input boundary could not be recorded (${a instanceof Error?a.message:String(a)}); nothing was typed (Issue #3957)`),this.code="INPUT_BOUNDARY_REFUSED",this.name="InputBoundaryRefusedError"}}function L(a){if(a instanceof K)return!0;let b=a instanceof Error?a.message:String(a);return/Input boundary could not be recorded \(.*\); nothing was typed \(Issue #3957\)/s.test(b)}let M=(0,e.v)("__instanceInputStartScope",()=>new d.AsyncLocalStorage);async function N(a,b,c){let d={at:null,onStart:b,boundary:c,dispatchOpen:!1};return{value:await M.run(d,a),inputStartedAt:d.at}}function O(a=new Date){let b=M.getStore();if(void 0!==b&&null===b.at){P(b,a,"input_start"),b.at=a;try{b.onStart?.(a)}catch(a){f.warn("input-start-observer-failed",{error:a instanceof Error?a.message:String(a)})}}}function P(a,b,c){if(a.boundary)try{a.boundary.beforeInput(b,c)}catch(a){throw a instanceof K?a:new K(a)}}function Q(a=new Date){let b=M.getStore();void 0!==b&&null===b.at&&(P(b,a,"dispatch"),b.dispatchOpen=!0)}function R(a){let b=M.getStore();if(void 0!==b&&b.dispatchOpen){b.dispatchOpen=!1;try{b.boundary?.onDispatchFailed?.(a)}catch(a){f.warn("dispatch-failure-observer-failed",{error:a instanceof Error?a.message:String(a)})}}}},50411:(a,b,c)=>{c.d(b,{Bk:()=>f,Bu:()=>h,v8:()=>g});var d=c(15194);let e={claude:6e4};function f(a){return(e[a]??3e4)+5e3}function g(){return Math.max(...d.XH.map(f))}let h=5e3},50435:(a,b,c)=>{c.d(b,{r:()=>d});function d(a,b,c){let d=[];for(let e=b-1;e>c&&d.length<4;e--){let b=a[e].trim();""!==b&&d.push(b)}return d.join("\n")}},50524:(a,b,c)=>{c.d(b,{LQ:()=>g,Ml:()=>f,sh:()=>e});let d=/^\p{M}$/u;function e(a,b){if(a.length<=b)return a.length;let c=0,e=0;for(let f of a){let a=+!d.test(f);if(1===a&&c>=b)break;c+=a,e+=f.length}return e}function f(a,b,c){return a.slice(e(a,b),e(a,c))}function g(a){let b=0;for(let c of a)d.test(c)||(b+=1);return b}},50945:(a,b,c)=>{c.d(b,{Q:()=>g,S:()=>h});var d=c(79892),e=c(11472),f=c(91536);async function g(a,b){let c;try{c=await (0,d.Xg)(a,{startLine:-b.probeCaptureLines})}catch{c=void 0}return"string"!=typeof c?b.unreadableIsExited?{alive:!1,reason:"capture error"}:{alive:!0}:(0,e.Hg)(c,b)}async function h(a,b){return g(a,(0,f.H7)(b))}},52112:(a,b,c)=>{c.d(b,{H:()=>f});var d=c(42422),e=c(70605);let f={composer:(0,e.lU)({isComposerRow:a=>d.lE.test((0,d._A)(a)),atBottom:({contentLines:a},b)=>!a.slice(b+1).some(a=>{let b=(0,d._A)(a);return d.Ly.test(b)||d.kT.test(b)})}),dialogTop:(0,e.uM)(a=>(0,d.dx)(a)?.start??-1),composerHidesDialogs:!0}},56588:(a,b,c)=>{c.d(b,{Bk:()=>s,Gz:()=>u,Hb:()=>n,O5:()=>q,PS:()=>o,_U:()=>p,a3:()=>t});var d=c(16698),e=c(24455),f=c(37717),g=c(50411),h=c(36925),i=c(40964),j=c(77662);let k=(0,h.v)("__sessionStartingRecords",()=>new Map),l=(0,h.v)("__sessionStartingTokenSeq",()=>({last:0})),m=(0,h.v)("__sessionStartingTokenScope",()=>new d.AsyncLocalStorage);function n(){return l.last+=1,l.last}function o(a,b){return m.run(a,b)}function p(a,b,c,d=Date.now()){let f=m.getStore()??n(),g=(0,e.v7)(a,b,c),h=k.get(g);return void 0!==h&&h.token>f?null:(k.set(g,{cliToolId:b,token:f,since:d,promptSeenAt:null,released:!1}),f)}function q(a,b,c,d){try{let f=(0,e.v7)(a,b,c);(void 0===d||k.get(f)?.token===d)&&k.delete(f)}catch{}if(void 0===d)try{(0,j.x$)((0,i.mf)(b,a,c))}catch{}}function r(a,b,c){return void 0===b||b.released?null:c-b.since>(0,g.Bk)(b.cliToolId)?(k.delete(a),null):b.since}function s(a,b,c,d=Date.now()){let f=(0,e.v7)(a,b,c);return r(f,k.get(f),d)}function t(a,b,c,d,f=Date.now()){let h=(0,e.v7)(a,b,c),i=k.get(h),j=r(h,i,f);return null===j||void 0===i?null:d?(i.promptSeenAt??=f,f-i.promptSeenAt>=g.Bu)?(i.released=!0,null):j:(i.promptSeenAt=null,j)}function u(a){return{...a,status:"running",reason:f.g.STARTING,hasActivePrompt:!1,promptDetection:{...a.promptDetection,isPrompt:!1,promptData:void 0},evidence:"positive"}}},56717:(a,b,c)=>{c.d(b,{gc:()=>g});var d=c(16983);let e={reader:"input-line-marker",verifyCaptureLines:12,clearBeforeSend:!0,submitEnterCount:1},f={claude:e,codex:e,gemini:{...e,clearBeforeSend:!1},copilot:{...e,clearBeforeSend:!1},antigravity:{...e,clearBeforeSend:!1},"command-code":{...e,clearBeforeSend:!1},"vibe-local":{...e,clearBeforeSend:!1,submitEnterCount:2},opencode:{reader:"opencode-box",verifyCaptureLines:d.xT,clearBeforeSend:!1,submitEnterCount:1},"opencode-v2":{reader:"opencode-box",verifyCaptureLines:d.xT,clearBeforeSend:!1,submitEnterCount:1}};function g(a){return f[a]??e}},57905:(a,b,c)=>{c.d(b,{c0:()=>Z,zw:()=>V,Yq:()=>W,pU:()=>Y,R7:()=>X,VU:()=>$});var d=c(79892),e=c(42422),f=c(11472),g=c(91536),h=c(50945),i=c(381),j=c(93997),k=c(77093),l=c(20610),m=c(72626);let n=(0,m.h)("session-key-sender");async function o(a,b=50){let c=await (0,d.Xg)(a,{startLine:-b});return(0,e.aJ)(c)}async function p(a,b){let c=Date.now();for(;Date.now()-c<b;){let b=await o(a);if(e.hx.test(b))return;await new Promise(a=>setTimeout(a,200))}throw Error(`Prompt detection timeout (${b}ms)`)}async function q(a,b,c,f){if(!await (0,d.N)(a))throw Error(`Claude session ${a} does not exist. Start the session first.`);let g=await o(a);e.hx.test(g)||await p(a,f),await new Promise(a=>setTimeout(a,c)),await (0,i.FW)({sessionName:a,message:b,cliToolId:"claude"}),(0,j.gm)(a),n.info("sent-message-to-session",{sessionName:a})}async function r(a){try{await (0,d.N)(a)&&(await (0,d.V1)(a,"",!1),await (0,d.ds)(a,"C-d"),(0,j.gm)(a),await new Promise(a=>setTimeout(a,l.Zf)));let b=await (0,d.fY)(a);return b&&n.info("stopped-session",{sessionName:a}),b}catch(a){return n.error("session:stop-failed",{error:(0,k.u1)(a)}),!1}}var s=c(79646),t=c(28354),u=c(79748),v=c(31347),w=c(40964),x=c(22354),y=c(43252),z=c(80252),A=c(1305),B=c(95375),C=c(2669),D=c(69130),E=c(49973),F=c(77662),G=c(46689);let H=(0,m.h)("claude-session"),I=(0,t.promisify)(s.exec);async function J(a,b,c,d=(0,E.KC)()){if(null!==c.pollsSinceAnswer&&c.pollsSinceAnswer++,null!==c.pollsSinceMove&&c.pollsSinceMove++,null===b)return;c.seen||(c.seen=!0,c.shellTellsExit=await M(a));let f=(0,e.lQ)(b);if(null!==f){if(1===f.length){if(!(null===c.pollsSinceAnswer||c.pollsSinceAnswer>=10&&c.answers<3))return;try{if(!await K(a,d,"Enter"))return;c.pollsSinceAnswer=0,c.answers++,H.info("trust-dialog-detected",{keys:"Enter",attempt:c.answers})}catch{}return}if(null===c.pollsSinceMove||!(c.pollsSinceMove<3)){if(c.moves>=20)throw new C.mR("Claude Code",a,'trust dialog: cursor did not reach "Yes, I trust this folder"');try{if(!await K(a,d,f[0]))return;c.pollsSinceMove=0,c.moves++,H.info("trust-dialog-cursor-move",{key:f[0],attempt:c.moves})}catch{}}}}async function K(a,b,c){let f=await (0,E.x7)(a,b,async()=>{let b=await R(a);if(!(0,e.lX)(b))return!1;let d=(0,e.lQ)(b);return null!==d&&("Enter"===c?1===d.length:d.length>1&&d[0]===c)},()=>"Enter"===c?(0,d.V1)(a,"",!0):(0,d.KB)(a,[c]),{mode:"exclusive"});return f.answered||H.info("trust-dialog-key-skipped",{key:c,reason:f.reason}),f.answered}async function L(a){let b=await N(a);return null!==b&&(0,e.U1)(b)}async function M(a){let b=await N(a);return null!==b&&!(0,e.U1)(b)}async function N(a){try{let b=await (0,d.Hg)(a);return"string"==typeof b?b:null}catch{return null}}let O=(0,g.H7)("claude"),P=null;async function Q(){if(P)return P;let a=process.env.CLAUDE_PATH;if(a&&(/^[/a-zA-Z0-9._-]+$/.test(a)?!a.includes("..")||(H.info("claudepath-contains-path"),!1):(H.info("claudepath-contains-invalid-characters-i"),!1)))try{return await (0,u.access)(a,u.constants.X_OK),P=a}catch{H.info("claude-path-env-not-executable")}try{let{stdout:a}=await I("which claude",{timeout:5e3});return P=a.trim()}catch{for(let a of["/opt/homebrew/bin/claude","/usr/local/bin/claude","/usr/bin/claude"])try{return await I(`test -x "${a}"`,{timeout:1e3}),P=a}catch{}throw Error("Claude CLI not found. Set CLAUDE_PATH environment variable or install Claude CLI.")}}async function R(a,b=50){let c=await (0,d.Xg)(a,{startLine:-b});return(0,e.aJ)(c)}async function S(a){let b=await (0,h.Q)(a,O);return b.alive?{healthy:!0}:{healthy:!1,reason:b.reason}}async function T(a){return!!(await S(a)).healthy||(H.warn("claude-session-unhealthy"),await (0,d.fY)(a),!1)}function U(a,b){return(0,w.mf)("claude",a,b)}async function V(){try{return await I("which claude",{timeout:5e3}),!0}catch{return!1}}async function W(a,b){let c=U(a,b);return!!await (0,d.N)(c)&&(!!(await S(c)).healthy||(H.warn("claude-session-unhealthy"),!1))}async function X(a){let{worktreeId:b,worktreePath:c,instanceId:g,model:h}=a;if(void 0!==h){let a=(0,z.LB)(h);if(!a.valid)throw Error(`Invalid Claude model name: ${a.reason}`)}if(!await V())throw new C.lU("Claude Code","Claude CLI is not installed or not in PATH");let i=U(b,g);if(await (0,d.N)(i)&&(await (0,v.St)(i,c),await T(i))){await (0,d.zT)(i),H.info("claude-session-exists");return}(0,A.Fq)({worktreeId:b,cliToolId:x.vm,instanceId:g});try{let a=await Q(),k=(0,A.wK)({target:{worktreeId:b,cliToolId:x.vm,instanceId:g},executablePath:a,worktreePath:c}),l=void 0===h?k:`${k} --model ${(0,y.ZL)(h)}`;await (0,d.jw)({sessionName:i,workingDirectory:c}),await I("tmux set-environment -g -u CLAUDECODE 2>/dev/null || true"),await (0,G.$)(i,["unset CLAUDECODE",(0,D.Y)(l)]);let m=Date.now(),n=!1,o={pollsSinceAnswer:null,pollsSinceMove:null,answers:0,moves:0,seen:!1,shellTellsExit:!1};for(;Date.now()-m<6e4;){var j;await new Promise(a=>setTimeout(a,300));let a=null,b=(0,E.KC)();try{a=await R(i)}catch{}if(null===a)continue;let c=(0,e.lX)(a);if(await J(i,c?a:null,o,b),!c&&e.hx.test(a)){await new Promise(a=>setTimeout(a,500)),H.info("claude-initialized"),n=!0;break}if(!c&&o.shellTellsExit&&await L(i))throw new C.mR("Claude Code",i,"trust dialog: Claude Code exited to the shell");let d=(j=a,(0,f.ow)(j,O));if(null!==d)throw new C.mR("Claude Code",i,d)}if(!n)throw new C.Sr("Claude Code",i,6e4);H.info("started-claude-session")}catch(a){if(P=null,H.error("session:start-failed",{error:a instanceof Error?a.message:String(a)}),(0,C.su)(a))throw a;throw Error("Failed to start Claude session")}}async function Y(a,b,c){let d=U(a,c);await (0,F.Vk)(d,"Claude Code"),await q(d,b,500,1e4)}async function Z(a,b=1e3,c){let e=U(a,c);if(!await (0,d.N)(e))throw Error(`Claude session ${e} does not exist`);try{return await (0,d.Xg)(e,{startLine:-b})}catch(a){throw Error(`Failed to capture Claude output: ${a instanceof Error?a.message:String(a)}`)}}async function $(a,b){let c=U(a,b),d=await r(c);return(0,B.discardAgentEventState)(a,"claude",b),d}},58546:(a,b,c)=>{c.d(b,{R:()=>e});var d=c(47967);let e={composer:d.Z,dialogTop:(0,d.u)(/△ Permission required|┃\s*Questions\s*$/),composerHidesDialogs:!1}},58846:(a,b,c)=>{c.d(b,{j:()=>g});var d=c(94154),e=c(68652),f=c(70605);let g={composer:(0,f.W2)(a=>(0,d.p4)(a)?.openingSeparator??-1),dialogTop:(0,f.o6)({footer:e._,rule:/^─{10,}$/,maxRows:120}),composerHidesDialogs:!0}},61244:(a,b,c)=>{c.d(b,{$N:()=>i,Tq:()=>g,jW:()=>n,yi:()=>h});let d=String.raw`←\s*(?:[☐☒☑][^←→☐☒☑✔]*)+✔\s*Submit\s*→`;RegExp(`^${d}\\s*`);let e=RegExp(`^\\s?${d}$`),f=/^\s?[☐☒☑] [^\s\d←→☐☒☑✔][^←→☐☒☑✔]{0,40}$/,g=/Enter\s+to\s+select\b.*\bnavigate\b/i;function h(a){let b=a.trimEnd();return e.test(b)||f.test(b)}function i(a,b,c){let d=Math.max(0,b-c);for(let c=b-1;c>=d;c--)if(h(a[c]??""))return c;return -1}let j=/┌(─+)┐\s*$/,k=/^\s*(?:[❯›>]\s*)?1\.\s+\S/,l=/^( *)└(─+)┘\s*$/,m=/^\s*(?:[❯›>]\s*)?\d{1,2}\.\s+\S|^\s{2,}\S/;function n(a,b,c){let d=new Set,e=new Map,f=Math.min(c,a.length);for(let c=Math.max(0,b);c<f;c++){let b=a[c];if(!b.includes("┌"))continue;let h=j.exec(b);if(!h||!k.test(b.slice(0,h.index)))continue;let i=-1,n=0;for(let b=c+1;b<Math.min(f,c+80);b++){let c=l.exec(a[b]);if(c&&c[2].length===h[1].length){i=b,n=c[1].length;break}}if(i<0)continue;let o=[i],p=[[c,h.index]];for(let b=c+1;b<i;b++){let c=a[b].indexOf("│"),d=c>0?a[b].slice(0,c):"";""!==d.trim()&&m.test(d)?p.push([b,c]):o.push(b)}let q=i+1;for(;q<f;q++){let b=a[q];if(""!==b.trim()){if(b.length-b.trimStart().length!==n)break;o.push(q)}}if(function(a,b){let c=0;for(let d=b;d<a.length&&c<4;d++){let b=a[d];if(""!==b.trim()){if(g.test(b))return!0;c++}}return!1}(a,q)){for(let a of o)d.add(a);for(let[a,b]of p)e.set(a,b);c=q-1}}return{rows:d,cuts:e}}},61878:(a,b,c)=>{c.d(b,{h9:()=>p,Yc:()=>r,zJ:()=>q,j4:()=>s});var d=c(42422),e=c(68652),f=c(46423),g=c(52112),h=c(58846),i=c(85237),j=c(46749),k=c(83342),l=c(89021),m=c(58546);let n={claude:h.j,codex:i.YH,antigravity:g.H,"command-code":j.E,copilot:k.b,opencode:l.m,"opencode-v2":m.R};var o=c(70605);let p=15;function q(a,b){let c=(0,e.N)((0,d.aJ)(a)),g=c.split("\n"),h=g.length-1;for(;h>=0&&""===g[h].trim();)h--;let i=g.slice(0,h+1);return{raw:a,clean:c,lines:g,contentLines:i,liveRegion:(0,o.BA)(void 0===b?void 0:n[b],b??null,{raw:a,contentLines:i}),lastLines:i.slice(-p).join("\n"),thinkingLines:i.slice(-f.$).join("\n")}}function r(a,b){return a.liveRegion.tool===b?a.liveRegion:(0,o.BA)(n[b],b,{raw:a.raw,contentLines:a.contentLines})}function s(a,b){let c=r(a,b);return c===a.liveRegion?a:{...a,liveRegion:c}}},67121:(a,b,c)=>{c.d(b,{Cj:()=>d,Gc:()=>i,HD:()=>k,ZH:()=>o,_j:()=>h,hK:()=>n,ie:()=>f});let d=/^[-─]+$/,e=/^[⏺⎿●○•✔✓✖✗✘›»❯└├>]/,f=12,g=/^[⎿└├]/;function h(a){return a.length-a.trimStart().length}function i(a,b,c){let d=1/0;for(let e=b;e<Math.min(c,a.length);e++){let b=a[e];void 0!==b&&""!==b.trim()&&(d=Math.min(d,h(b)))}return d===1/0?0:d}function j(a){if(void 0===a)return!1;let b=a.trim();return""!==b&&(e.test(b)||d.test(b))}function k(a,b,c=b+1){let{start:d,completeness:e}=l(a,b,c);return{start:d,completeness:e}}function l(a,b,c){let d=Math.max(0,b-f),e=i(a,b,c),k=-1,l=0,m=!0,n=new Set;for(let c=b-1;c>=d;c--){let b=a[c];if(void 0===b||""===b.trim())continue;let f=h(b)<=e,i=j(b);if(i&&f)return{start:(k>=0?k:c)+1,completeness:"complete",cutFrom:c};if(!f){i&&k<0&&(k=c),l++,m&&=g.test(b.trim());continue}let o=b.trim();if(k>=0&&l>0&&m&&n.has(o)&&function(a,b,c,d){for(let e=b-1;e>=c;e--){let b=a[e];if(void 0!==b&&""!==b.trim())return h(b)<=d&&j(b)}return!1}(a,c,d,e))return{start:k+1,completeness:"complete",cutFrom:c};n.add(o),k=-1,l=0,m=!0}return{start:k>=0?k+1:d,completeness:function(a,b){if(0===b)return"top-unknown";for(let c=0;c<b;c++){let b=a[c];if(void 0!==b&&""!==b.trim())return"truncated"}return"complete"}(a,d),cutFrom:d}}let m=/^>/;function n(a,b,c){let{start:d,completeness:e,cutFrom:f}=l(a,b,c);return a.slice(f,d).some(a=>void 0!==a&&m.test(a.trim()))?{start:d,completeness:"truncated"}:{start:d,completeness:e}}function o(a,b,c){let d=a.slice(b,c).map(a=>a.trimEnd()).join("\n").trim();return d.length>0?d:void 0}},67208:(a,b,c)=>{c.d(b,{r:()=>d,x:()=>e});let d=/\btype\s+to\s+search\b|\bsearch\s+\w+\s*(?:…|\.\.\.)|(?:^|·)\s*\/\s+search\b/im,e=/^\s*(?:❯ +)?Approve\s+ctrl\+a\b[^\n]*\n\s*(?:❯ +)?Cancel\s+esc\s*$/im},68652:(a,b,c)=>{c.d(b,{N:()=>h,_:()=>g});let d=/^(?:\s|\x1b\[[0-9;]*m)*Esc\s+to\s+cancel\s*[·•]\s*Tab\s+to\s+amend/i,e=/^(?:\s|\x1b\[[0-9;]*m)*Enter\s+to\s+select\b.*\bnavigate\b/i,f=/^\s*[>❯›]\s*(?:\d{1,2}[.)])?|esc\s+to\s+interrupt|[✻✽✶✢✳⦿◉●⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏]\s+.+…/i;function g(a){return d.test(a)||e.test(a)}function h(a){if(""===a)return"";let b=a.split("\n"),c=-1;for(let a=b.length-1;a>=0;a--)if(g(b[a])){c=a;break}let d=b;return c>=0&&(d=b.slice(c+1).some(a=>f.test(a))?b.slice(c+1):b.slice(0,c+1)),(function(a){let b=[],c=!1;for(let d of a){let a=""===d.trim();a&&c||(b.push(d),c=a)}for(;b.length>0&&""===b[b.length-1].trim();)b.pop();return b})(d).join("\n")}},69130:(a,b,c)=>{c.d(b,{Y:()=>d});function d(a){return`clear 2>/dev/null; printf '\\033[3J'; ${a}`}},70605:(a,b,c)=>{function d(a,b){return{tool:a,anchor:"none",startRow:0,composerAtBottom:!1,composerHidesDialogs:!1,lines:b}}function e(a,b,c){let{contentLines:e}=c;if(void 0===a)return d(b,e);let f=a.composer.locate(c);if(null!==f)return{tool:b,anchor:"composer",startRow:f.start,composerEndRow:f.end??f.start,composerAtBottom:f.atBottom??!0,composerHidesDialogs:a.composerHidesDialogs,lines:e.slice(f.start)};let g=a.dialogTop?.locate(c)??null;return null!==g?{tool:b,anchor:"dialog",startRow:g.start,composerAtBottom:!1,composerHidesDialogs:a.composerHidesDialogs,lines:e.slice(g.start)}:d(b,e)}function f(a,b){return b.isPrompt&&b.promptData?.type==="multiple_choice"&&a.composerAtBottom&&a.composerHidesDialogs}function g(a,b){return null!==b&&!!a.composerAtBottom&&("numbered"===b.answerMode||a.composerHidesDialogs)}function h(a){return{locate({contentLines:b}){let c=a(b);return c<0?null:{start:c,end:m(b),atBottom:!0}}}}function i(a){return{locate(b){let{contentLines:c}=b;for(let d=c.length-1;d>=0;d--)if(a.isComposerRow(c[d]))return{start:d,end:d,atBottom:a.atBottom(b,d)};return null}}}function j(a){return{locate({contentLines:b}){let c=a(b);return c<0?null:{start:c}}}}c.d(b,{$$:()=>g,BA:()=>e,Sx:()=>m,W2:()=>h,lU:()=>i,o6:()=>l,uM:()=>j,z8:()=>f});let k=/^\s*(?:[❯›>●]\s*)?1[.)]\s+\S/;function l(a){return j(b=>{let c=-1;for(let d=b.length-1;d>=0;d--)if(a.footer(b[d])){c=d;break}if(c<0)return -1;let d=Math.max(0,c-a.maxRows),e=-1;for(let a=c-1;a>=d;a--)if(k.test(b[a])){e=a;break}if(e<0)return -1;for(let c=e-1;c>=d;c--)if(a.rule.test(b[c].trimEnd()))return c;return -1})}function m(a){let b=a.length-1;for(;b>=0&&""===a[b].trim();)b--;return b}},76777:(a,b,c)=>{c.d(b,{D:()=>d});function d(a,b,c){let d=new TextEncoder;if(d.encode(a).length<=b)return a;let e=b-d.encode(c).length,f=0,g="";for(let b of a){let a=d.encode(b).length;if(f+a>e)break;f+=a,g+=b}return`${g}${c}`}},77093:(a,b,c)=>{c.d(b,{u1:()=>d});function d(a){return a instanceof Error?a.message:String(a)}},77662:(a,b,c)=>{c.d(b,{BM:()=>o,NW:()=>q,Vk:()=>t,fb:()=>r,x$:()=>s});var d=c(36925),e=c(72626),f=c(50411),g=c(49973),h=c(2669);let i=(0,e.h)("session/session-launch-flight"),j=(0,d.v)("__sessionLaunchFlights",()=>new Map);class k extends h.Sr{constructor(a,b){super(a,b,0),this.message=`${a} is being started by another request (tmux session '${b}'), and this send holds its input, so it did not wait for that launch — the message was not delivered and nothing was typed. Retry the send in a few seconds.`,this.name="SessionLaunchInFlightError"}}class l extends h.Sr{constructor(a,b,c){super(a,b,c),this.message=`${a} is being started by another request (tmux session '${b}'), and that launch did not finish within ${Math.round(c/1e3)}s — the message was not delivered and nothing was typed. Retry the send in a few seconds, or run \`commandmate capture <worktree-id>\` to see what the launch is waiting on.`,this.name="SessionLaunchWaitTimeoutError"}}let m="SESSION_LAUNCH_MODEL_MISMATCH";class n extends Error{constructor(a,b,c,d){super(`${a} is being started by another request (tmux session '${b}') with ${void 0===d?"its default model":`model '${d}'`}, not '${c}'. The model can only be set when starting a new session — the message was not delivered and nothing was typed. Stop the session and resend with --model to switch models.`),this.code=m,this.name="SessionLaunchModelMismatchError"}}function o(a){return a instanceof Error&&a.code===m}function p(a,b,c){let d=void 0===c.cliToolId?(0,f.v8)():(0,f.Bk)(c.cliToolId),e=c.startedAt+d-Date.now(),g=()=>(i.warn("session-launch-wait-timed-out",{sessionName:a,limitMs:d}),new l(b,a,d));return e<=0?Promise.reject(g()):new Promise((a,b)=>{let d=setTimeout(()=>b(g()),e);d.unref?.(),c.promise.then(()=>{clearTimeout(d),a()},a=>{clearTimeout(d),b(a)})})}function q(a){return j.has(a)}function r(a,b,c,d={}){let e,f,h=j.get(a);if(void 0!==h)return void 0!==d.model&&d.model!==h.model?(i.info("session-launch-model-mismatch-refused",{sessionName:a}),Promise.reject(new n(b,a,d.model,h.model))):null!==(0,g.BD)(a)?(i.info("session-launch-in-flight-refused",{sessionName:a}),Promise.reject(new k(b,a))):(i.info("session-launch-joined",{sessionName:a}),p(a,b,h));let l=new Promise((a,b)=>e={resolve:a,reject:b}),m={promise:l,startedAt:Date.now(),cliToolId:d.cliToolId,model:d.model};j.set(a,m);let o=()=>{j.get(a)===m&&j.delete(a)};l.then(o,o);try{f=c()}catch(a){f=Promise.reject(a)}return f.then(e.resolve,e.reject),l}function s(a){j.delete(a)}async function t(a,b){let c=j.get(a);if(void 0===c)return!1;if(null!==(0,g.BD)(a))throw i.info("session-launch-in-flight-refused",{sessionName:a}),new k(b,a);return await p(a,b,c).catch(a=>{if(a instanceof l)throw a}),!0}},81671:(a,b,c)=>{c.d(b,{O8:()=>d});function d(a){let b=a.split("\n"),c=(b.length>200?b.slice(-200):b).join("\n");return c.length>5e3&&(c=c.slice(-5e3)),c}},83342:(a,b,c)=>{c.d(b,{b:()=>f});var d=c(42422),e=c(70605);let f={composer:(0,e.W2)(a=>(0,d.wv)(a)),dialogTop:(0,e.uM)(function(a){let b=(0,e.Sx)(a),c=-1;for(let d=b;d>=Math.max(0,b-2);d--)if(a[d].trimStart().startsWith("╰")){c=d;break}if(c<0)return -1;for(let b=c-1;b>=Math.max(0,c-120);b--)if(a[b].trimStart().startsWith("╭"))return b;return -1}),composerHidesDialogs:!1}},85237:(a,b,c)=>{c.d(b,{Bh:()=>j,Ut:()=>i,YH:()=>k});var d=c(42422),e=c(65912),f=c(94154),g=c(51297),h=c(70605);function i(a){for(let b=a.length-1;b>=Math.max(0,a.length-10);b--){let c=a[b];if(d.aW.test(c)||d.UO.test(c))return b}return -1}function j(a){let b=i(a),c=b>=0?b-1:a.length-1;for(;c>=0&&""===a[c].trim();)c--;return c+1}let k={composer:{locate({raw:a,contentLines:b}){let c=j(b),i=(0,e.Gs)(a,b,c),k=(0,d.RK)(b);if(k>=0)return{start:k,end:function(a,b,c,d){let e=a.split("\n"),h=(0,f.mO)(e);if(null===h||(0,g.aJ)(e[h.firstRow]).trim()!==b[c]?.trim())return c;let i=Math.min(c+(h.lastRow-h.firstRow),d-1);return Math.max(c,i)}(a,b,k,c),atBottom:i};if(!i)return null;let l=(0,h.Sx)(b.slice(0,c));return l<0?null:{start:l,end:l,atBottom:!0}}},composerHidesDialogs:!0}},87673:(a,b,c)=>{c.d(b,{H0:()=>o,SQ:()=>k,sr:()=>n});var d=c(79892),e=c(93997),f=c(94154),g=c(95595),h=c(72626),i=c(7321);let j=(0,h.h)("composer-clear");function k(a,b){let c=(0,f.Zs)(a,b);if("codex"!==b||"no_composer"!==c.state)return c;let d=a.split("\n"),e=(0,f.Di)(d);if(e<0)return c;let g=(0,f.q9)(d,e);return"content"===g.state?g:c}let l=/^\[Pasted Content \d+ chars?\]$/,m=a=>new Promise(b=>setTimeout(b,a));async function n(a,b,c={}){let f=c.capture??(a=>(0,d.Xg)(a,200)),g=c.sendClear??d.ou,h=c.delay??m,i=c.maxPasses??12,o=0,p=k(c.initialCapture??await f(a),b),q="content"===p.state?p.text:"";for(;"content"===p.state&&o<i;){var r;if(void 0!==c.beforePass&&!c.beforePass()){j.warn("composer-clear:not-owner",{sessionName:a,cliToolId:b,passes:o});break}(r=p,"codex"===b&&"content"===r.state&&l.test(r.text.trim()))?await (c.sendClearPasteToken??d.kz)(a):await g(a),o++,await h(120),p=k(await f(a),b)}o>0&&(0,e.gm)(a);let s="empty"===p.state||"ghost"===p.state;return s||j.warn("composer-clear:not-cleared",{sessionName:a,cliToolId:b,passes:o,state:p.state}),{cleared:s,passes:o,state:p.state,remainingText:p.text,discardedText:q}}async function o(a,b){let c,e;try{c=await (0,d.Xg)(a,200),e=(0,g.WC)(c,b).hasActivePrompt}catch(d){let c=d instanceof Error?d.message:String(d);throw j.error("input-recheck-failed",{sessionName:a,cliToolId:b,error:c}),Object.assign(Error(`Could not re-read session ${a} before typing (${c}); nothing was typed (Issue #3945).`),{code:i.$_})}if(e)throw j.warn("input-recheck-prompt-waiting",{sessionName:a,cliToolId:b}),Object.assign(Error(`A prompt dialog is open in session ${a} (re-checked under the input lock); nothing was typed (Issue #3945).`),{code:i.a9});return c}},89021:(a,b,c)=>{c.d(b,{m:()=>e});var d=c(47967);let e={composer:d.Z,dialogTop:(0,d.u)(/△ Permission required/),composerHidesDialogs:!1}},90304:(a,b,c)=>{c.d(b,{ie:()=>p.ie,xe:()=>H,rS:()=>I,HD:()=>p.HD,QI:()=>n,J0:()=>A,ZH:()=>p.ZH,N0:()=>o});var d=c(68652),e=c(42422),f=c(79204),g=c(31239),h=c(23479),i=c(61244);let j=/^\s*[…]?\s*[+\-↑↓⏵⏷]?\s*\d+\s+(?:pending|more|completed)\b/i,k=/^\s*\d{1,3}\s+tasks?\s+\(\d+\s+done\b/i,l=/^\s*[◼◻]\s/,m=/^(?:No changes this session|\+\d+ files? edited before this session \(show\))$/;function n(a,b,c){let d=function(a,b,c){let d=new Set;for(let e=Math.max(0,b);e<Math.min(c,a.length);e++){if(m.test(a[e].trim())){d.add(e);continue}if(k.test(a[e])){d.add(e);for(let b=e+1;b<Math.min(c,a.length);b++){let c=a[b];if(!l.test(c)&&!j.test(c))break;d.add(b)}}}return d}(a,b,c),e=(0,i.jW)(a,b,c);for(let a of e.rows)d.add(a);return{rows:d,cuts:e.cuts}}function o(a,b){return a.map((a,c)=>{if(b.rows.has(c))return"";let d=b.cuts.get(c);return void 0===d?a:a.slice(0,d).trimEnd()})}var p=c(67121);let q=/^\s*[\u276F\u25CF\u203A][^\d]*(\d+)(?:\.(?!\d)|\s{2,})\s*(.+)$/,r=/^\s*[^\d]{0,3}(\d+)(?:\.(?!\d)|\s+)\s*(.+)$/,s=/^\s{3,}\S/,t=/^\s*\[[^\]]*\d+\s+lines?\]/i,u=/Esc\s+to\s+cancel\s*[·•]\s*Tab\s+to\s+amend/i,v=i.Tq,w=/press\s+(?:enter|number)\s+to\s+confirm/i,x=/press\s+number\s+to\s+confirm/i,y=/(?:select|choose|pick|which|what|how|where|enter|type|specify|confirm|approve|accept|reject|decide|preference|option)/i,z=[/type\s+here/i,/tell\s+(me|claude)/i,/enter\s+/i,/custom/i,/differently/i];function A(a){return(0,g.$y)(a)}function B(a,b){if(0===b.length)return!0;let c=b[0].number;return a<c&&a>=c-2}function C(a){return{isPrompt:!1,cleanContent:a.trim()}}function D(a){return 0!==a.length&&!!(a.includes("?")||a.includes("?")||y.test(a))}function E(a,b){let c=b.endsWith("?")||b.endsWith("?");return!!(!c&&/^\s{2,}[^\d]/.test(a)&&!/^\s*\d+\./.test(a)||!c&&/^\s{4,}/.test(a)&&!/^\s*\d+\.\s/.test(a)||b.length<5&&!c||/^[\/~]/.test(b)||b.length>=2&&/^[a-zA-Z0-9_-]+$/.test(b))}let F=/^[❯›]\s(?!\s*\d+[.)]\s)/,G=/^─*\s*Worked for\s+(?:\d+h\s*)?(?:\d+m\s*)?\d+s\b/;function H(a,b,c,d,e,f,g){let{instructionText:h,approvalTarget:i,approvalContext:j}=c??{};return{isPrompt:!0,promptData:{type:"multiple_choice",question:a.trim(),options:b.map(a=>{let b=z.some(b=>b.test(a.label));return{number:a.number,label:a.label,isDefault:a.isDefault,requiresTextInput:b}}),status:"pending",instructionText:h,...void 0!==i?{approvalTarget:i}:{},...void 0!==i&&j?.completeness==="truncated"?{approvalTargetCompleteness:"truncated"}:{},...f?{submitMode:f}:{},...g?{isAskUserQuestion:!0}:{}},cleanContent:a.trim(),rawContent:e(d.trim()),...void 0!==j?{approvalContext:j}:{}}}function I(a,b,c){if(a=(0,d.N)(a),b?.hasNumberedDialogs===!1)return C(a);let g=b?.requireDefaultIndicator??!0,k=a.split("\n"),{scanStart:l,effectiveEnd:m,hasAskUserQuestionFooter:o}=function(a){let b=a.length;for(;b>0&&""===a[b-1].trim();)b--;let c=Math.max(0,b-50),d=!1;for(let e=b-1;e>=c;e--){let c=v.test(a[e]);if(u.test(a[e])||c){b=e,d=c;break}}return{scanStart:c,effectiveEnd:b,hasAskUserQuestionFooter:d}}(k),y=k.slice(l,m);if(function(a){for(let b of a)if(e.l8.test(b))return!0;return!1}(y))return C(a);let{hasConfirmationFooter:z,hasNumberFooter:A}=function(a){let b=!1,c=!1;for(let d of a){let a=d.trim();if(!b&&w.test(a)){b=!0,x.test(a)&&(c=!0);break}}return{hasConfirmationFooter:b,hasNumberFooter:c}}(y);if(g&&!function(a){for(let b of a){let a=b.trim();if(q.test(a))return!0}return!1}(y)&&!z)return C(a);let I=function(a,b,c){let d={collectedOptions:[],optionRows:[],rowsBelow:[],questionEndIndex:-1,continuationLineCount:0,paneWrap:[]},e=n(a,b,c);for(let i=c-1;i>=b;i--){var f,g,h;if(e.rows.has(i)){d.continuationLineCount++;continue}let b=e.cuts.get(i),c=void 0===b?a[i]:a[i].slice(0,b).trimEnd(),k=c.trim();if((f=d,g=c,h=k,void 0!==b&&s.test(g)?(f.paneWrap.unshift(h),f.continuationLineCount++,!!0):!(t.test(h)||j.test(h))||(f.continuationLineCount++,!!0))&&!function(a,b,c,d){let e=c.match(q);if(e){let c=parseInt(e[1],10);if(c<=20&&B(c,a.collectedOptions))return J(a,b,c,e[2],!0,d),!0}let f=c.match(r);if(f){let c=parseInt(f[1],10);if(c>20);else if(B(c,a.collectedOptions))return J(a,b,c,f[2],!1,d),!0}return!1}(d,c,k,b)){if(0===d.collectedOptions.length&&(k.startsWith("❯")||k.startsWith("●")||k.startsWith("›")))return null;if(0===d.collectedOptions.length&&k&&/^\s{3,}/.test(c)&&d.rowsBelow.unshift(c),d.collectedOptions.length>0&&k&&!p.Cj.test(k)&&"break"===function(a,b,c,d){if(/^\s{4,}/.test(b)&&E(b,c))return(a.rowsBelow.unshift(b),a.continuationLineCount++,a.continuationLineCount>25)?(a.questionEndIndex=d,"break"):"continue";if(D(c))return a.questionEndIndex=d,"break";if(E(b,c)){a.rowsBelow.unshift(b),a.continuationLineCount++;let c=/^\s{4,}/.test(b)?25:5;return a.continuationLineCount>c?(a.questionEndIndex=d,"break"):"continue"}return a.questionEndIndex=d,"break"}(d,c,k,i))break}}return{collectedOptions:d.collectedOptions,optionRows:d.optionRows,questionEndIndex:d.questionEndIndex}}(k,l,m);if(null===I)return C(a);let{collectedOptions:K,optionRows:L,questionEndIndex:M}=I;if(!function(a,b,c,d,e,f){var g,h,i;if(!function(a){if(0===a.length||1!==a[0])return!1;let b=0;for(let c=1;c<a.length;c++){let d=a[c]-a[c-1];if(d<1||d>2||(2===d&&b++,b>1))return!1}return!0}(a.map(a=>a.number)))return!1;let j=a.some(a=>a.isDefault);return!(a.length<2)&&(!b||!!j||!!(b&&c))&&(!!b||!!j||(g=d,h=e,i=f,-1!==g&&(!!D(h[g]?.trim()??"")||!!function(a,b,c,d){let e=Math.max(d,b-3);for(let c=b-1;c>=e;c--){let b=a[c]?.trim()??"";if(!(!b||p.Cj.test(b))&&D(b))return!0}return!1}(h,g,0,i))))}(K,g,z,M,k,l))return C(a);let N=M<0?0:(0,i.$N)(k,M,p.ie)+1,O=function(a,b,c=0,d=b+1){if(b<0)return"Please select an option:";let e=Math.max(c,b-5),g=Math.max(e,function(a,b,c,d,e){let g=(0,p.Gc)(a,b,d);for(let d=b-1;d>=c;d--){let b=a[d];if(void 0!==b&&""!==b.trim()&&(0,p._j)(b)<g&&F.test(b.trim())&&function(a,b,c){for(let d=b-1;d>=c;d--){let b=a[d];if(void 0!==b&&""!==b.trim())return f.W1.test(b)||G.test(b.trim())}return!1}(a,d,e))return d}return -1}(a,b,e,d,c)),h=[];for(let c=g;c<=b;c++){let b=a[c].trim();b&&!p.Cj.test(b)&&h.push(b)}return h.join(" ")}(k,M,N,m),P=function(a,b,c){if(b<0)return;let d=Math.max(0,b-19),e=a.slice(d,c).map(a=>a.trimEnd()).join("\n").trim();return e.length>0?e:void 0}(k,M,m),Q=H(O,K,{instructionText:P,...function(a,b,c,d=0){if(b<0)return;let e=(0,p.HD)(a,b,c),f=d>0&&d>=e.start,g=Math.max(d,e.start);return{approvalTarget:(0,p.ZH)(a,g,c),approvalContext:{startRow:g,endRow:c,completeness:f?"complete":e.completeness}}}(k,M,m,N)},a,c,z?A?"answer_only":"answer_then_enter":void 0,o);if(!o)return Q;let R=(0,h.JF)(k);return{...Q,optionRecommendations:K.map((a,b)=>(function(a,b,c){if(void 0===b)return"unknown";let[d]=b.rowsBelow;if(void 0===d)return(0,h.e3)(a);if(b.besidePane)return"unknown";if((0,h.GP)(b.row,d,c))return(0,h.e3)(a);if(!(0,h.iU)(d))return"unknown";let e=b.rowsBelow[1];return!!(void 0===e||(0,h.GP)(d,e,c))||"unknown"})(a.label,L[b],R))}}function J(a,b,c,d,e,f){let g=[d.trim(),...a.paneWrap].join(" ");a.optionRows.unshift({row:b,besidePane:void 0!==f||a.paneWrap.length>0,rowsBelow:a.rowsBelow}),a.rowsBelow=[],a.paneWrap=[],a.collectedOptions.unshift({number:c,label:g,isDefault:e}),a.continuationLineCount=0}},90706:(a,b,c)=>{c.d(b,{CR:()=>p,Gr:()=>f,Iu:()=>B,a9:()=>j,jZ:()=>g,lx:()=>o,sb:()=>q,sl:()=>l,tH:()=>n,uG:()=>A,ur:()=>t,yt:()=>m,zM:()=>u});var d=c(51297),e=c(67208);let f=/\benter\s+to\s+select\b\s*[·•]\s*esc\s+to\s+cancel\b/i,g=/^\s*(?:press|hit|type)?\s*(?:<)?esc(?:ape)?(?:>)?\s+to\s+(?:close|dismiss|exit)\b[\s.·•]*$/im,h=/^\s*Approve\s+\([• ]\)\s+with\s+\d+\s+comments?\s+as\s+notes\s+\([• ]\)\s+original\s+plan\b/im,i=/(?:^|\n)[ \t]*←\/→\s+choose\s*·\s*enter\s+confirm\s*·\s*esc\s+back\s*$/i;function j(a){return h.test(a)&&i.test(a)}function k(a,b){return a.split("\n").filter(a=>""!==a.trim()).slice(-b).join("\n")}function l(a){return f.test(k(a,1))}function m(a){return g.test(k(a,1))}function n(a){return e.x.test(k(a,5))}let o=/^\u2500+$/,p=40,q="❯",r="●◉⦿",s=RegExp(`^\\s*([${r}◯○◌⚪✔])\\s+\\S`);function t(a){let b=a.split("|");if(b.length<2)return!1;let c=0,d=0;for(let a of b){let b=s.exec(a);if(null===b)return!1;r.includes(b[1])?c+=1:d+=1}return c>0&&d>0}let u=/\besc\s+to\s+interrupt\b|^[^\S\n]*✻[^\S\n]+\S/im,v=/^[^\S\n]*(?:\u276F[^\S\n]*)?1[.)][^\S\n]+Submit[^\S\n]*$/im,w=/^[^\S\n]*(?:\u276F[^\S\n]*)?2[.)][^\S\n]+Cancel[^\S\n]*$/im,x=/^[^\S\n]*\u2190[^\S\n]+to[^\S\n]+go[^\S\n]+back[^\S\n]+and[^\S\n]+edit[^\S\n]*$/im,y=/have\s+not\s+answered\s+all\s+questions/i;function z(a){if(!a)return null;let b=a.replace(/\r\n/g,"\n").split("\n").map(d.aJ),c=b.length-1;for(;c>=0&&""===b[c].trim();)c-=1;if(c<1)return null;let e=-1;for(let a=c-1;a>=0;a-=1){let c=b[a].trim();if(!(c.length<p)&&o.test(c)){e=a;break}}if(e<0)return null;let f=b.slice(e+1,c+1),g=f.findIndex(a=>""!==a.trim());return g<0||!t(f[g])?null:f}function A(a){let b=z(a);if(null===b)return null;let c=b.join("\n");if(!v.test(c)||!w.test(c)||!x.test(c))return null;let d=b.find(a=>v.test(a));return{hasUnansweredWarning:y.test(c),cursorOnSubmit:void 0!==d&&d.includes(q)}}function B(a){let b=z(a);if(null===b)return!1;let c=b.join("\n");return v.test(c)&&w.test(c)}},91010:(a,b,c)=>{c.d(b,{b:()=>m});var d=c(42422),e=c(26895),f=c(61878),g=c(70605),h=c(24680),i=c(37717);let j=["enforce","observe","legacy"],k={claude:"observe",copilot:"enforce",opencode:"enforce",codex:"legacy",gemini:"legacy",antigravity:"legacy","vibe-local":"legacy","command-code":"legacy","opencode-v2":"legacy"},l=(0,c(36925).v)("__idleEvidenceObservations",()=>new Map);function m(a){return{...a,detect:(b,c)=>(function(a,b,c={}){let m=(0,f.j4)(b,a.tool),n=a.beforePrompt?.(m)??null;if(n)return n;let o=(0,d.KO)(a.tool),p=(0,d.c)(a.tool)?(0,d._A)(m.clean):(0,d._A)(m.lastLines),q=(0,e.gF)(p,o);if(q.isPrompt)if((0,g.z8)(m.liveRegion,q))q={...q,isPrompt:!1,promptData:void 0};else if(a.isStalePrompt?.(m,q))q={...q,isPrompt:!1,promptData:void 0};else{if(!a.requireVouchedPrompt||c.isPromptVouched?.(q)!==!1)return(0,h._D)(i.g.PROMPT_DETECTED,q);q={...q,isPrompt:!1,promptData:void 0}}let r=a.afterPrompt?.(m,q)??null;if(r)return{...r,promptDetection:r.promptDetection??q};if((0,d.ut)(a.tool,m.thinkingLines))return(0,h.Xx)("running",i.g.THINKING_INDICATOR,q);let s=a.afterThinking?.(m,q)??null;if(s)return{...s,promptDetection:s.promptDetection??q};if(!a.skipGenericInputPrompt){let{promptPattern:b}=(0,d._X)(a.tool);if(b.test(m.lastLines))return{status:"ready",confidence:"high",reason:i.g.INPUT_PROMPT,hasActivePrompt:!1,evidence:function(a,b){if(void 0===a.readIdleEvidence)return"positive";let c=function(a,b=process.env){let c=b.CM_DETECTION_IDLE_EVIDENCE,d=null,e=null;if("string"==typeof c&&""!==c.trim())for(let b of c.split(",")){let[c,f]=b.split("=");if(void 0===f)continue;let g=c.trim(),h=f.trim();j.includes(h)&&("*"===g?d=h:g===a&&(e=h))}return e??d??k[a]??"legacy"}(a.tool);if("legacy"===c)return"positive";let d=a.readIdleEvidence(b);var e=a.tool;let f=l.get(e)??{mode:c,positive:0,none:0};return f.mode=c,"positive"===d?f.positive+=1:f.none+=1,l.set(e,f),"observe"===c?"positive":d}(a,m),promptDetection:q}}return c.lastOutputTimestamp&&Date.now()-c.lastOutputTimestamp.getTime()>5e3?(0,h.Ru)(i.g.NO_RECENT_OUTPUT,q):(0,h.Ru)(a.unreadableReason??i.g.DEFAULT,q)})(a,b,c),detectDialog:a.detectDialog?b=>{let c=(0,f.j4)(b,a.tool),d=a.detectDialog(c);return(0,g.$$)(c.liveRegion,d)?null:d}:()=>null,hasDialogRules:void 0!==a.detectDialog}}},91478:(a,b,c)=>{c.d(b,{Dk:()=>h,a9:()=>f.a9,f_:()=>i,sl:()=>f.sl,tH:()=>f.tH,uG:()=>f.uG,yt:()=>f.yt});var d=c(51297),e=c(67208);c(69082);var f=c(90706);let g=/^[^0-9A-Za-z]*([1-9])[.)]\s+\S/;function h(a){let b=j(a);return null!==b&&b.numbers.every((a,b)=>a===b+1)&&1===b.cursorCount?{ruleLineIndex:b.ruleLineIndex,firstLineIndex:b.firstLineIndex,lastLineIndex:b.lastLineIndex,tabLineIndex:b.tabLineIndex,cursorLineIndex:b.cursorLineIndex,cursorOnOptionRow:b.cursorOnOptionRow,optionCount:b.numbers.length}:null}function i(a){return null!==j(a)}function j(a){if(!a)return null;let b=a.replace(/\r\n/g,"\n").split("\n").map(d.aJ),c=b.length-1;for(;c>=0&&""===b[c].trim();)c-=1;if(c<1)return null;let h=-1;for(let a=c-1;a>=0;a-=1){let c=b[a].trim();if(!(c.length<f.CR)&&f.lx.test(c)){h=a;break}}if(h<0)return null;let i=b.slice(h+1,c+1),j=i.join("\n");if(e.r.test(j)||f.Gr.test(j)||f.jZ.test(j)||f.zM.test(j))return null;let k=i.findIndex(a=>""!==a.trim());if(k<0||!(0,f.ur)(i[k]))return null;let l=[],m=-1;for(let a=k+1;a<i.length;a+=1){let b=g.exec(i[a]);null!==b&&(m<0&&(m=a),l.push(Number(b[1])))}if(l.length<2||!i.slice(k+1,m).some(a=>""!==a.trim()))return null;let n=0,o=-1,p=!1;for(let a=0;a<i.length;a+=1){let b=i[a].split(f.sb).length-1;0!==b&&(n+=b,o=a,p=g.test(i[a]))}return 0===n?null:{ruleLineIndex:h,firstLineIndex:h+1,lastLineIndex:c,tabLineIndex:h+1+k,numbers:l,cursorCount:n,cursorLineIndex:h+1+o,cursorOnOptionRow:p}}},91536:(a,b,c)=>{c.d(b,{H7:()=>i});var d=c(42422),e=c(11472);let f={probeCaptureLines:50,shellPromptEndings:e.Bl,maxShellPromptLength:e.w9,fatalPatterns:[],fatalRegexPatterns:[]},g={aliveTailLines:12,shellPromptPatterns:e.vg,unreadableIsExited:!1},h={claude:{...f,alivePatterns:[d.hx],aliveTailLines:null,shellPromptPatterns:e.vg,unreadableIsExited:!0,fatalPatterns:d.F0,fatalRegexPatterns:d.Fw},codex:{...f,...g,alivePatterns:[d.gm,d.sB,d.Mt]},copilot:{...f,...g,alivePatterns:[d.Du,d.Ub,d.tJ,d.rb]},opencode:{...f,...g,alivePatterns:[d.vU,d.uA,d.Cc,d.LO,d.a2]},gemini:{...f,...g,alivePatterns:[d.wN,d.s0]},antigravity:{...f,...g,alivePatterns:[d.lE,d.kT,d.VF]},"command-code":{...f,...g,alivePatterns:[d.WK,d.jk,d.k0]},"opencode-v2":{...f,...g,alivePatterns:[d.wK,d.c7,d.xL]},"vibe-local":{...f,...g,alivePatterns:[d.Dj,d.b2]}};function i(a){return h[a]??h.claude}},93923:(a,b,c)=>{c.d(b,{zu:()=>G,mB:()=>F});var d=c(42422),e=c(94154),f=c(90304),g=c(24680),h=c(37717),i=c(682),j=c(50435),k=c(61244);let l=/esc\s+to\s+cancel|enter\s+to\s+(?:select|confirm|set\s+as\s+default)/i,m=new Set(["❯",">"]),n=/do you want to\b|allow\b.*\?$/i,o=/ready to submit your answers\?|review your answers/i,p=/set\s+as\s+default/i;var q=c(61878),r=c(58846),s=c(91010),t=c(79204);function u(a){let b=(0,e.p4)(a),c=b?b.openingSeparator:a.length,d=(0,f.QI)(a,0,c).rows,g=c-1;for(;g>=0&&(""===a[g].trim()||d.has(g)||t.Wq.test(a[g]));)g--;return g}let v=/^\s*(?:❯\s*)?1\.\s+Submit answers\s*$/,w=/^\s*(?:❯\s*)?1\.\s+Submit\s*$/,x=/^\s+answers\s*$/,y=/^\s*(?:❯\s*)?2\.\s+Cancel\s*$/,z=/✔\s*Submit/,A=/^ (?:[●│] | {2,}\S)/,B=/^\s?←(?:\s*[☐☒☑])+\s*✔\s*$/,C=/^[^←→☐☒☑✔]*\bSubmit\s*→\s*$/;function D(a,b){for(let c=b-1;c>=0;c--)if(""!==a[c].trim())return c;return -1}function E(a,b,c){let d=b;for(;d>0&&""!==a[d-1].trim();)d--;if(b-d+1>c)return{top:d,text:null};let e=a.slice(d,b+1).map(a=>a.trim()).join(" ");return{top:d,text:e}}function F(a){let b=a.contentLines,c=u(b);if(c<0||!y.test(b[c]))return!1;let d=function(a,b){let c=b-1;return c<0?-1:v.test(a[c])?c:c>=1&&x.test(a[c])&&w.test(a[c-1])?c-1:-1}(b,c);if(d<0||!b[d].includes("❯")&&!b[c].includes("❯"))return!1;let f=D(b,d);if(f<0)return!1;let g=E(b,f,3);if("Ready to submit your answers?"!==g.text)return!1;let h=(0,k.$N)(b,g.top,200);return!!(h>=0&&z.test(b[h]))||null===(0,e.p4)(b)&&function(a,b){let c=b-1;for(;c>=0&&(""===a[c].trim()||A.test(a[c]));)c--;if(c<0)return!0;let d=E(a,c,2);if("Review your answers"!==d.text)return!1;let e=D(a,d.top);return e<0||!!((0,k.yi)(a[e])&&z.test(a[e]))||e>=1&&C.test(a[e])&&B.test(a[e-1])}(b,g.top)}let G=(0,s.b)({tool:"claude",verifiedAgainst:t.V2,liveRegion:r.j,afterPrompt:a=>d.XY.test(function(a){let b=(0,q.Yc)(a,"claude");if("composer"!==b.anchor)return a.lastLines;let c=a.contentLines.length-q.h9;return a.contentLines.slice(Math.max(b.startRow,c)).join("\n")}(a))?(0,g.dX)("waiting",h.g.CLAUDE_SELECTION_LIST):null,afterThinking:a=>d.aU.test(a.lastLines)?(0,g.dX)("running",h.g.THINKING_INDICATOR):null,readIdleEvidence:function(a){let b=u(a.contentLines);if(b>=0&&t.W1.test(a.contentLines[b]))return"positive";let c=(0,e.p4)(a.contentLines),d=a.contentLines.slice(0,c?c.openingSeparator:void 0),f=d.some(a=>t.ji.test(a)),g=d.some(a=>t.Tk.test(a));return f&&!g?"positive":"none"},detectDialog:a=>(function(a,b){var c;if(b.transcriptTail<0)return null;let e=(0,d._A)(a.clean).split("\n"),g=b.transcriptTail+1,h=(0,f.QI)(a.contentLines,0,g),q=(0,f.N0)(e,h),r=(0,i.c)(q,g);if(!r||null===r.selectedGlyph||!m.has(r.selectedGlyph))return null;let s=function(a,b,c,d){let e=[];for(let f=c;f<Math.min(d,a.length);f++){let c=a[f].trim();""===c||b.has(f)||e.push(c)}return e.join("\n")}(q,h.rows,r.lastRow+1,g);return""===s||l.test(s)?{kind:(c=function(a,b){let c=(0,k.$N)(a,b,f.ie);return(0,j.r)(a,b,c)}(q,r.firstRow),o.test(c)?"ask_user":p.test(s)?"picker":n.test(c)?"permission":"dialog"),options:r.options,answerMode:"numbered"}:null})(a,{transcriptTail:u(a.contentLines)})})},95595:(a,b,c)=>{c.d(b,{WC:()=>k,f8:()=>j,gv:()=>d.g,ug:()=>h});var d=c(37717),e=c(61878),f=c(905),g=c(16402);let h=new Set([d.g.OPENCODE_SELECTION_LIST,d.g.OPENCODE_MODAL_OVERLAY,d.g.OPENCODE_PERMISSION_PROMPT,d.g.CLAUDE_SELECTION_LIST,d.g.COMMAND_CODE_SELECTION_LIST,d.g.COMMAND_CODE_PLAN_REVIEW,d.g.COPILOT_SELECTION_LIST,d.g.CODEX_SELECTION_LIST,d.g.CODEX_PAGER,d.g.CODEX_HOOKS_REVIEW,d.g.ANTIGRAVITY_SELECTION_LIST]),i=new Set([d.g.THINKING_INDICATOR,d.g.OPENCODE_PROCESSING_INDICATOR]);function j(a){return"running"===a.status&&i.has(a.reason)}function k(a,b,c){let d=(0,e.zJ)(a,b),h=(0,f.bN)(b).detect(d,{lastOutputTimestamp:c,isPromptVouched:c=>(0,g.vm)(b,c.promptData?.type,a).present});return{status:h.status,confidence:h.confidence,reason:h.reason,hasActivePrompt:h.hasActivePrompt,evidence:h.evidence,promptDetection:h.promptDetection??{isPrompt:!1,cleanContent:d.clean}}}},96742:(a,b,c)=>{c.d(b,{nK:()=>q});var d=c(51297),e=c(90304),f=c(91478),g=c(682),h=c(23479),i=c(81671);let j=/❯[^\S\n]*(\d{1,2})[.)]/,k=/^[^\S\n]*type\s+something\b/i,l=/^\[[ xX\u2714]\]\s/,m=/^\[[xX\u2714]\]\s/,n=/^[^\S\n]*(?:\u276F[^\S\n]*)?(?:Submit|Next)[^\S\n]*$/,o=/^[^\S\n]*Enter\s+to\s+select\b.*\|.*\bEsc\s+to\s+cancel[^\S\n]*$/i;function p(a){return{kind:"unsupported",reason:a}}function q(a){if(!a)return{kind:"none"};if(null!==(0,f.uG)(a))return p("review-page");let b=(0,f.Dk)(a);if(null===b)return(0,f.f_)(a)?p("numbering-unreadable"):{kind:"none"};if(!b.cursorOnOptionRow)return p("cursor-outside-options");let c=a.replace(/\r\n/g,"\n").split("\n").map(d.aJ),q=c.slice(b.firstLineIndex,b.lastLineIndex+1);if(q.length>60)return p("region-too-tall");let s=b.tabLineIndex-b.firstLineIndex,t=(0,g.c)(q,q.length,12);if(null===t)return p("option-block-unreadable");let u=[...t.options],v=""===t.footer?[]:t.footer.split("\n"),w=v.some(a=>n.test(a)),x=v.filter(a=>!n.test(a)&&!o.test(a));if(x.length>0){let a=u.length-1;u[a]=[u[a],...x].join(" ").trim()}if(u.length!==b.optionCount)return p("option-count-mismatch");let y=u.some(a=>l.test(a));if(y&&!w)return p("multi-select");let z=q[b.cursorLineIndex-b.firstLineIndex]??"",A=j.exec(z);if(t.selectedIndex<0||"❯"!==t.selectedGlyph||null===A||Number(A[1])!==t.selectedIndex+1)return p("default-unresolved");let B=q.slice(s+1,t.firstRow).map(a=>a.trim()).filter(a=>""!==a);if(0===B.length)return p("question-missing");let C=B.join(" "),D=(0,e.ZH)(q,s+1,q.length),E=u.map((a,b)=>({number:b+1,label:y?a.replace(l,""):a,isDefault:b===t.selectedIndex,...y?{checked:m.test(a)}:{}})),F=(0,e.xe)(C,E,{instructionText:D,approvalTarget:D},q.join("\n"),i.O8,"answer_only",!0),G=F.promptData;return void 0===G||"multiple_choice"!==G.type?p("option-block-unreadable"):{kind:"prompt",region:b,prompt:{...F,optionRecommendations:function(a,b,c){let d=(0,h.JF)(a),e=[],f=0,i="",j=!1;for(let a of b){if(""===a.trim())continue;let b=(0,g.T)(a);if(null!==b&&b.number===e.length+1){e.push([b.label]),f=r.exec(a)?.[0].length??0,i=a,j=!1;continue}if(0===e.length)break;if(!(n.test(a)||o.test(a))&&!j){if(a.length-a.trimStart().length>=f||(0,h.GP)(i,a,d)){j=!0;continue}e[e.length-1].push(a.trim()),i=a}}return e.length!==c?Array.from({length:c},()=>"unknown"):e.map(a=>(0,h.e3)(a.join(" ")))}(c,q.slice(t.firstRow),u.length),promptData:{...G,...y?{multiSelect:!0}:{},options:G.options.map((a,b)=>{let c=E[b]?.checked,d=void 0===c?a:{...a,checked:c};return!0===a.requiresTextInput||k.test(a.label)?{...d,requiresTextInput:!0}:d})}}}}let r=/^[^\S\n]*[│┃]?[^\S\n]*[❯›●>]?[^\S\n]*\d{1,2}[.)][^\S\n]+/}};
1
+ "use strict";exports.id=7905,exports.ids=[7905],exports.modules={1305:(a,b,c)=>{c.d(b,{Fq:()=>s,wK:()=>t});var d=c(22354),e=c(95375),f=c(88807),g=c(52660),h=c(54325),i=c(72626),j=c(82484);let k=(0,i.h)("lib/session/session-generation-archive");var l=c(56588),m=c(27675),n=c(49973),o=c(63723),p=c(86009),q=c(40964);let r=(0,i.h)("lib/session/agent-session-lifecycle");function s(a,b=Date.now()){(0,l._U)(a.worktreeId,a.cliToolId,a.instanceId,b),(0,p.lP)(a);let i=(0,e.getAgentEventDropCounts)(a.worktreeId,a.cliToolId,a.instanceId).decisionEvicted;(0,e.beginAgentEventGeneration)(a.worktreeId,a.cliToolId,a.instanceId,b),(0,m.eZ)(a.worktreeId,a.cliToolId,a.instanceId);try{let c=(0,q.mf)(a.cliToolId,a.worktreeId,a.instanceId);(0,n.Fc)(c),(0,o.Xb)(c,a,b)}catch(b){r.warn("instance-input-invalidate-failed",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,error:b instanceof Error?b.message:String(b)})}let t=(0,e.getAgentEventDropCounts)(a.worktreeId,a.cliToolId,a.instanceId).decisionEvicted,u=(0,d.VM)(a.cliToolId);r.info("agent-session-generation-begun",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,transport:u.transport,decisionsEvicted:t-i});try{!function(a,b=(0,j.V)()?null:(0,f.getDbInstance)()){var d,e,i;let l=a.instanceId??a.cliToolId;if(!b)return;let m=(0,g.deleteMessagesByInstance)(b,a.worktreeId,l);0===m||((0,g.recomputeLastUserMessage)(b,a.worktreeId),k.info("session-generation-archived",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:l,archived:m}),d=a.worktreeId,e=a.cliToolId,i=l,Promise.all([c.e(1356),c.e(1503),c.e(1191),c.e(1719),c.e(2119),c.e(2445),c.e(8728)]).then(c.bind(c,43015)).then(({broadcastMessage:a})=>{a(h.dz,{worktreeId:d,cliToolId:e,instanceId:i,reason:"session_generation"})}).catch(a=>{k.warn("session-generation-invalidate-broadcast-failed",{worktreeId:d,instanceId:i,error:a instanceof Error?a.message:String(a)})}))}(a)}catch(b){r.warn("session-generation-archive-failed",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)})}}function t(a){return(0,p.Vh)(a,(0,d.VM)(a.target.cliToolId).prepareLaunch(a))}},4405:(a,b,c)=>{c.d(b,{FW:()=>ab});var d=c(79646),e=c(79892),f=c(93997),g=c(56717),h=c(20610),i=c(36925),j=c(87673),k=c(63723),l=c(7321),m=c(49973),n=c(94154),o=c(30741),p=c(14453),q=c(47893),r=c(46423);let s=/\[Pasted text[\s#]/,t=/^\/[A-Za-z]/,u=/^Ask anything(?:\.\.\.|\u2026)/,v=/^\s*(?:ctx:\d+%\s*)?[>❯›]/;function w(a,b,c){if("opencode-box"===a){let a=(0,p.jI)(b);if(null===a)return{kind:"absent"};let{rows:c}=a,d=a.obscured?{obscured:!0}:{};if(c.some(a=>u.test(a)))return{kind:"empty",...d};let e=c.find(a=>a.length>0);return void 0===e?{kind:"empty",...d}:{kind:"text",text:e,rows:c,...d}}if("input-line-marker"!==a)return{kind:"absent"};let d=function(a){for(let b=a.length-1;b>=0;b--)if(v.test(a[b]))return a[b];return null}(c);if(null===d)return{kind:"absent"};let e=z(d);return 0===e.length?{kind:"empty"}:{kind:"text",text:e,rows:[d]}}function x(a){let b=a.length;for(;b>0&&""===a[b-1].trim();)b--;return a.slice(0,b)}function y(a){return a.split("\n").map(a=>a.trim()).find(a=>a.length>0)??""}function z(a){return a.replace(v,"").trim()}function A(a,b){let c=y(b);return 0!==c.length&&c.startsWith(a)}let B=[{pattern:/\[Pasted text(?: #\d+)?(?: \+(\d+) lines?| (\d+) chars?)?\]/g,read:a=>void 0!==a[1]?{lines:Number(a[1])}:void 0!==a[2]?{chars:Number(a[2])}:{}},{pattern:/\[Pasted Content (\d+) chars?\]/g,read:a=>({chars:Number(a[1])})},{pattern:/\[([^\]\n]*?)… \+(\d+)L\]/g,read:a=>({head:a[1],lineTotal:Number(a[2])})}];function C(a){let b=[],c=a;for(let{pattern:d,read:e}of B)for(let f of a.matchAll(d))b.push(e(f)),c=c.replace(f[0],"");return{tokens:b,rest:c.trim()}}function D(a,b){let c,d,e=(b.match(/\n/g)??[]).length;if(void 0!==a.head){let c=a.head.replace(/\s+/g," ").trim();if(!b.replace(/\s+/g," ").startsWith(c))return"mismatch"}if(void 0!==a.chars)c=a.chars,d=[[...b].length,b.length];else if(void 0!==a.lineTotal)c=a.lineTotal,d=[e+1];else{if(void 0===a.lines)return 0===e?"landed":"pasting";c=a.lines,d=[e,e+1]}return d.includes(c)?"landed":c<Math.min(...d)?"pasting":"mismatch"}function E(a,b,c){let d=a=>""===(0,o.aJ)(a).trim(),e=a.length-1;for(;e>=0&&d(a[e]);)e--;let f=e;for(;f>0&&!d(a[f-1]);)f--;let g=f>c?f-1:e,h=a.slice(b,g+1).map(a=>(0,o.aJ)(a));return h[0]=h[0].replace(/^\s*\u203A ?/,""),h.join("\n")}function F(a,b){let c=b;for(;c+1<a.length&&""!==(0,o.aJ)(a[c+1]).trim();)c++;return c}function G(a,b,c,d,e,f){if("codex"===b&&"input-line-marker"===c){let g=a.split("\n"),h=d.length-e.length,i=(0,n.ji)(a,b);if("content"===i.state){let b=(0,n.mO)(g);if(null!==b&&(0,n.zF)(g,b.firstRow))return{kind:"absent"};let f=null!==b&&b.firstRow<h,j=function(a){let b=a.split("\n"),c=(0,n.mO)(b);return null===c?null:E(b,c.firstRow,c.lastRow)}(a)??i.text;if(i.text.includes("\n"))return{kind:"text",text:y(i.text),rows:i.text.split("\n"),region:j,...f?{outsideWindow:f}:{}};if(f&&(0,n.Di)(g)===b.firstRow)return{kind:"text",text:i.text.trim(),rows:[g[b.firstRow]],region:j,outsideWindow:!0};let k=w(c,d,e);return"text"===k.kind?{...k,region:j}:k}if("no_composer"===i.state){let a=(0,n.Di)(g);if(a>=0){let b=E(g,a,F(g,a)),i=z((0,o.aJ)(g[a]));if(a>=h){let f=w(c,d,e);return"text"===f.kind&&function(a,b){for(let c=a.length-1;c>=0;c--)if(v.test(a[c]))return b+c;return -1}(e,h)===a?{...f,region:b}:f}if(void 0!==f&&i.length>0&&A(i,f))return{kind:"text",text:i,rows:[g[a]],region:b,outsideWindow:!0};let j=(0,n.q9)(g.slice(0,F(g,a)+1),a);return"content"!==j.state?{kind:"empty"}:{kind:"text",text:y(j.text),rows:[g[a]],region:b,outsideWindow:!0}}}}return w(c,d,e)}function H(a,b,c,d=(0,g.gc)(b)){var e;let f=x((0,o.aJ)(a).split("\n")),h=f.slice(-12),i=h.join("\n");if("opencode"===b?(e=f,(0,q.$w)(e)||(0,q.uM)(e,r.$)):(0,o.ut)(b,i))return{state:"submitted",rule:"A"};let j=G(a,b,d.reader,f,h,c);return"text"!==j.kind?"empty"===j.kind&&j.obscured?{state:"indeterminate",rule:"B-obscured"}:{state:"submitted",rule:"absent"===j.kind?"B-absent":"B-empty"}:j.obscured?{state:"indeterminate",rule:"F-obscured"}:j.rows.some(a=>s.test(a)||C(a).tokens.length>0)?{state:"pending",rule:"C"}:A(j.text,c)?{state:"pending",rule:"D"}:t.test(j.text)?{state:"replaced",rule:"E"}:j.outsideWindow?{state:"indeterminate",rule:"F-outside"}:{state:"submitted",rule:"F"}}function I(a,b,c,d=(0,g.gc)(b)){let e=x((0,o.aJ)(a).split("\n")),f=G(a,b,d.reader,e,e.slice(-12),c);if("text"!==f.kind)return"unseen";if(void 0!==f.region){let a=J(f.region),b=J(c);if(a===b)return"landed";let d=C(f.text);if(d.tokens.length>0){let a=J(f.region.split("\n").slice(1).join("\n"));return d.tokens.length>1||""!==d.rest||""!==a?"mismatch":D(d.tokens[0],c)}return b.startsWith(a)?"pasting":A(f.text,c)||a.startsWith(b)||b.includes(a)?"mismatch":"unseen"}if(J(f.text)===J(c))return"landed";let{tokens:h,rest:i}=C(f.text);return 0===h.length?A(f.text,c)?"landed":c.includes(f.text)?"mismatch":"unseen":h.length>1||""!==i?"mismatch":D(h[0],c)}function J(a){return a.replace(/\s+/g,"")}let K=(0,c(72626).h)("cli-tools/submit-verified-sender"),L=Symbol("deadline-passed");async function M(a,b){let c,d=new Promise(a=>{c=setTimeout(()=>a(L),Math.max(0,b-Date.now()))});try{return await Promise.race([a,d])}finally{clearTimeout(c),a.catch(()=>void 0)}}function N(a,b){try{return a.isReady(b)}catch{return!1}}async function O(a,b,c){if(void 0===a||N(a,b))return b;let{sessionName:d,cliToolId:e,ticket:f}=c,g=Date.now()+2e3;for(;;){let b=g-Date.now();if(b<=0||(await new Promise(a=>setTimeout(a,Math.min(200,b))),Date.now()>=g))break;P(f,e,"the readiness re-read",!1);let c=await M((0,j.H0)(d,e),g);if(c===L||Date.now()>g)break;if(N(a,c))return c}throw K.warn("input-readiness-not-ready-under-lock",{sessionName:d,cliToolId:e}),Error(`${a.label} prompt not ready under the input lock: no input prompt within 2000ms, so nothing was typed (Issue #4040)`)}function P(a,b,c,d){if(!a.isCurrent()){if(K.error("input-lock-lost",{sessionName:a.sessionName,cliToolId:b,step:c,generation:a.generation}),!d)throw Error(`Session ${a.sessionName} was handed to another writer before ${c}; input lock lost, nothing was typed (Issue #3945).`);throw Error(`Session ${a.sessionName} was handed to another writer before ${c}; part of the message may be in its composer (Issue #3945).`)}}function Q(a,b,c){if(!a.isCurrent())throw K.error("input-lock-lost-after-enter",{sessionName:a.sessionName,cliToolId:b,step:c,generation:a.generation}),Error(`Session ${a.sessionName} was replaced during ${c}, after the message and Enter were sent; the previous process may have submitted it (Issue #4048).`)}function R(a,b,c,d){let e=x((0,o.aJ)(a).split("\n")),f=G(a,b,c.reader,e,e.slice(-12),d);return"absent"===f.kind?"no composer on screen":"empty"===f.kind?"an empty composer":JSON.stringify(f.text.length>80?`${f.text.slice(0,80)}…`:f.text)}var S=c(20029);async function T(a){let{sessionName:b,message:c,cliToolId:d,composer:f,enteredAt:g,deadline:h,ticket:i,target:j}=a,l=()=>(Q(i,d,"the prompt report wait"),"received"===(0,k.$Z)(b,d,g,j)),m=a.rule;for(;Date.now()<h;){if(await new Promise(a=>setTimeout(a,100)),l())return{verdict:"received"};let a=await (0,e.Xg)(b,{startLine:-f.verifyCaptureLines});Q(i,d,"the prompt report wait");let g=H(a,d,c,f);if("submitted"!==g.state||"A"===g.rule)return{verdict:"screen",...g,output:a};m=g.rule}if(l())return{verdict:"received"};let n=await U({sessionName:b,message:c,cliToolId:d,composer:f,ticket:i});return null!==n?{verdict:"screen",state:"submitted",rule:"A",output:n}:l()?{verdict:"received"}:{verdict:"unreported",rule:m}}async function U(a){let b,{sessionName:c,message:d,cliToolId:f,composer:g,ticket:h}=a;Q(h,f,"the last read before prompt-unreported");try{b=await (0,e.Xg)(c,{startLine:-g.verifyCaptureLines})}catch(a){return K.warn("prompt-unreported-reread-failed",{sessionName:c,cliToolId:f,error:a instanceof Error?a.message:String(a)}),Q(h,f,"the last read before prompt-unreported"),null}Q(h,f,"the last read before prompt-unreported");let i=H(b,f,d,g);return K.info("prompt-unreported-reread",{sessionName:c,cliToolId:f,state:i.state,rule:i.rule}),"submitted"===i.state&&"A"===i.rule?b:null}let V=(0,i.v)("__submitPasteBufferSeq",()=>({last:0}));function W(a,b){return new Promise((c,e)=>{let f=d.execFile("tmux",a,{timeout:5e3},a=>{if(a)return void e(a);c()});void 0!==b&&f.stdin?.end(b)})}async function X(a,b,c,d){V.last+=1;let f=`cm-send-${process.pid}-${V.last}`;try{await W(["load-buffer","-b",f,"-"],b)}catch(b){await W(["delete-buffer","-b",f]).catch(()=>void 0);let a=b instanceof Error?b.message:String(b);throw Object.assign(Error(`Failed to load message into tmux buffer: ${a}`),{delivery:"not-started",code:l._s})}c.isCurrent()||(await W(["delete-buffer","-b",f]).catch(()=>void 0),P(c,d,"paste-buffer",!1));try{(0,m.dy)()}catch(a){throw await W(["delete-buffer","-b",f]).catch(()=>void 0),a}try{await W(["paste-buffer","-p","-r","-d","-b",f,"-t",(0,e.lA)(a)])}catch(b){await W(["delete-buffer","-b",f]).catch(()=>void 0);let a=b instanceof Error?b.message:String(b);throw Error(`Failed to paste message into tmux session: ${a}`)}}async function Y(a,b,c,d){if(!d.isCurrent())return K.error("paste-withdraw-skipped-not-owner",{sessionName:a,cliToolId:b,generation:d.generation}),!1;try{if(c.clearBeforeSend)return(await (0,j.sr)(a,b,{beforePass:()=>d.isCurrent()})).cleared;return await (0,e.Ce)(a),!1}catch(c){return K.error("paste-withdraw-failed",{sessionName:a,cliToolId:b,error:c instanceof Error?c.message:String(c)}),!1}}async function Z(a,b,c,d){let g=(0,m.Du)(a);if(null===g)return!1;for(K.warn("carried-paste-mark-wait",{sessionName:a,cliToolId:b,originGeneration:g.originGeneration,generation:d.generation,remainingMs:g.expiresAt-Date.now()});Date.now()<g.expiresAt;){let h;if(await new Promise(a=>setTimeout(a,Math.min(200,g.expiresAt-Date.now()))),!c.clearBeforeSend)continue;P(d,b,"the carried paste wait",!1);try{h=await (0,e.Xg)(a,200)}catch{continue}if("content"!==(0,j.SQ)(h,b).state)continue;let i=await (0,j.sr)(a,b,{initialCapture:h,beforePass:()=>d.isCurrent()});(0,f.gm)(a),K.warn("carried-paste-withdrawn",{sessionName:a,cliToolId:b,originGeneration:g.originGeneration,cleared:i.cleared,discardedText:i.discardedText})}return(0,m.r)(d),!0}async function $(a){let{sessionName:b,message:c,cliToolId:d,composer:g,attempts:h,ticket:i}=a,j="unseen",k="",l=null,n=null;try{for(let a=0;a<Math.max(1,h)&&(await new Promise(a=>setTimeout(a,100)),k=await (0,e.Xg)(b,{startLine:-g.verifyCaptureLines}),j=I(k,d,c,g),"landed"!==j&&"mismatch"!==j);a++);if("unseen"===j&&g.clearBeforeSend){let a=Math.ceil(m.bc/100);for(let f=1;f<=a;f++)if(await new Promise(a=>setTimeout(a,100)),k=await (0,e.Xg)(b,{startLine:-g.verifyCaptureLines}),j=I(k,d,c,g),"unseen"!==j){n=100*f;break}}}catch(a){l=a instanceof Error?a.message:String(a)}if(null===l&&null===n&&"landed"===j)return;if(null===l&&"unseen"===j&&!g.clearBeforeSend)return void K.warn("paste-landed-unverified",{sessionName:b,cliToolId:d,bytes:Buffer.byteLength(c,"utf8")});let o=Buffer.byteLength(c,"utf8"),p=c.split("\n").length,q=null===l?R(k,d,g,c):"an unreadable pane",r=await Y(b,d,g,i);(0,f.gm)(b);let s=null!==l||"unseen"===j||"pasting"===j||!r;s&&(0,m.kJ)(i),K.error("paste-not-landed",{sessionName:b,cliToolId:d,state:j,bytes:o,lines:p,shown:q,lateAfterMs:n,readError:l,withdrawn:r,carried:s});let t=null!==l?`the composer could not be read while the paste was checked (${l})`:null!==n?`the paste appeared ${n}ms after the ${100*h}ms check and was taken back out (the composer showed ${q})`:"mismatch"===j?`the composer does not hold the message as sent (it shows ${q})`:"pasting"===j?`the paste had not finished arriving after ${100*h}ms (the composer shows ${q})`:`the message never appeared in the composer (${q})`;throw Error(`Message body did not arrive intact for session ${b}: ${t}; the message is ${o} bytes / ${p} lines. Enter was not pressed, so nothing was submitted (Issue #2464).`)}async function _(a){let{sessionName:b,message:c,cliToolId:d,composer:g,attempts:h,ticket:i}=a,j=J(function(a){let b=a.split("\n"),c=b.findIndex(a=>""!==a.trim());if(c<0)return"";let d=b.findIndex((a,b)=>b>c&&""===a.trim());return b.slice(0,d<0?b.length:d).join("\n")}(c));if(""===j)return;let k="",l=null;try{for(let a=0;a<Math.max(1,h);a++){if(await new Promise(a=>setTimeout(a,50)),k=await (0,e.Xg)(b,{startLine:-g.verifyCaptureLines}),"codex"===d){if(function(a,b,c){let d=x((0,o.aJ)(a).split("\n")),e=G(a,"codex",c.reader,d,d.slice(-12),b);return"text"===e.kind&&void 0!==e.region&&J(e.region)===J(b)}(k,c,g))return;continue}let a=(0,n.ji)(k,d);if("content"===a.state&&J(a.text)===j)return}}catch(a){l=a instanceof Error?a.message:String(a)}let p=Buffer.byteLength(c,"utf8"),q=null===l?R(k,d,g,c):"an unreadable pane",r=null===l&&function(a,b,c,d){let e=x((0,o.aJ)(a).split("\n"));return"text"===G(a,b,c.reader,e,e.slice(-12),d).kind}(k,d,g,c),s=await Y(b,d,g,i);(0,f.gm)(b);let t=!r||!s;throw t&&(0,m.kJ)(i),K.error("typed-body-not-landed",{sessionName:b,cliToolId:d,bytes:p,attempts:h,shown:q,readError:l,carried:t}),Error(`Message body did not appear in the composer for session ${b} within ${50*h}ms (it shows ${q}); the message is ${p} bytes. Enter was not pressed, so nothing was submitted (Issue #3366).`)}async function aa(a,b,c=(0,g.gc)(b),d={}){if(!c.clearBeforeSend)return;let{ticket:e}=d,f=await (0,j.sr)(a,b,{...void 0!==d.initialCapture?{initialCapture:d.initialCapture}:{},...void 0!==e?{beforePass:()=>e.isCurrent()}:{}});if(void 0!==e&&P(e,b,"the pre-send clear",!1),!function(a,b,c,d,e){if(""===c)return;let f=void 0===e?void 0:{...e,cliToolId:b},g=(0,k.jm)(a,c,f);if(null===g)return;let h=(0,k.jA)(b)?(0,k.mU)(a,f):null;null!==h&&(0,S.h2)({...h,instanceId:h.instanceId??h.cliToolId},Date.now(),g.messageDigest),K.warn("pre-send-found-submitted-body",{sessionName:a,cliToolId:b,cleared:d,length:c.length,lastSendDemoted:null!==h})}(a,b,f.discardedText,"content"!==f.state,d.target),"content"===f.state)throw K.error("pre-send-composer-clear-failed",{sessionName:a,cliToolId:b,passes:f.passes,remainingLength:f.remainingText.length,remainingText:f.remainingText}),Error(`Composer for session ${a} still holds unsent text after ${f.passes} clear passes; refusing to type the message, which would be concatenated with it (Issue #1880).`);f.passes>0&&K.warn("pre-send-composer-cleared",{sessionName:a,cliToolId:b,passes:f.passes,state:f.state,discardedLength:f.discardedText.length,discardedText:f.discardedText})}async function ab(a){await (0,m.hC)(a.sessionName,b=>((0,m.by)(b),ac(a,b)))}async function ac(a,b){let{sessionName:c,message:d,cliToolId:i,composer:l=(0,g.gc)(i),textInputWaitMs:p=h.pL,interEnterWaitMs:q=h.pL,verifyAttempts:r=4,verifyDelayMs:s=h.x9,pasteLandedAttempts:t=20,awaitTypedBody:u=!1,typedBodyAttempts:v=100,target:w}=a,y=a.submitEnterCount??l.submitEnterCount,z=await (0,j.H0)(c,i);if(await Z(c,i,l,b)&&(z=await (0,j.H0)(c,i)),z=await O(a.readiness,z,{sessionName:c,cliToolId:i,ticket:b}),await aa(c,i,l,{initialCapture:z,ticket:b,...void 0!==w?{target:w}:{}}),Buffer.byteLength(d,"utf8")>512){let a=Date.now();P(b,i,"the paste",!1);try{await X(c,d,b,i)}catch(a){throw function(a){let b=a?.delivery==="not-started";return!(0,m.fi)(a)&&!b}(a)&&(0,m.kJ)(b),a}await $({sessionName:c,message:d,cliToolId:i,composer:l,attempts:t,ticket:b});let e=p-(Date.now()-a);e>0&&await new Promise(a=>setTimeout(a,e))}else{let a=Date.now();P(b,i,"the body",!1),(0,m.dy)();try{await (0,e.V1)(c,d,!1,{literal:!0})}catch(a){throw a?.delivery!=="not-started"&&(0,m.kJ)(b),a}u&&n.wn.has(i)&&await _({sessionName:c,message:d,cliToolId:i,composer:l,attempts:v,ticket:b});let f=p-(Date.now()-a);f>0&&await new Promise(a=>setTimeout(a,f))}let A=Date.now();for(let a=0;a<Math.max(1,y);a++)P(b,i,"Enter",!0),await (0,e.KB)(c,["Enter"]),a<y-1&&await new Promise(a=>setTimeout(a,q));let B=Math.max(1,r),D=null;for(let a=0;a<=B;a++){await new Promise(a=>setTimeout(a,s));let g=await (0,e.Xg)(c,{startLine:-l.verifyCaptureLines});Q(b,i,"the read-back");let{state:h,rule:j}=H(g,i,d,l),m=function(a){let{state:b,rule:c,message:d,sessionName:e,cliToolId:f,enteredAt:g,target:h}=a;return"submitted"!==b||"A"===c||/^\s*[/!]/.test(d)?"not-required":(0,k.$Z)(e,f,g,h)}({state:h,rule:j,message:d,sessionName:c,cliToolId:i,enteredAt:A,target:w});if(K.info("submit-classified",{sessionName:c,cliToolId:i,attempt:a,state:h,rule:j,receipt:m}),"awaited"===m){D??=Date.now()+5e3;let e=await T({sessionName:c,message:d,cliToolId:i,composer:l,enteredAt:A,rule:j,deadline:D,ticket:b,...void 0!==w?{target:w}:{}});({state:h,rule:j,output:g}=function(a){let{watched:b,sessionName:c,cliToolId:d,attempt:e,rule:g,output:h,target:i}=a;if("unreported"===b.verdict)throw(0,f.gm)(c),K.error("submit-not-confirmed:prompt-unreported",{sessionName:c,cliToolId:d,attempt:e,rule:b.rule,waitedMs:5e3}),Error(`Message submit could not be confirmed for session ${c}: the composer did not show the body (rule ${b.rule}) but the agent did not report the prompt within 5000ms (Issue #4035). ${function(a,b){if(void 0===a)return"The body may already have been submitted; check the pane (`commandmate capture <worktree-id> --pane`) before resending it.";let c=a.instanceId?` --instance ${a.instanceId}`:void 0!==b?` --agent ${b}`:"";return`The body may already have been submitted; check the pane (\`commandmate capture ${a.worktreeId}${c} --pane\`) before resending it.`}(i,d)}`);if("received"===b.verdict)return K.info("submit-confirmed-by-prompt-hook",{sessionName:c,cliToolId:d,attempt:e,rule:g}),{state:"submitted",rule:g,output:h};let{state:j,rule:k,output:l}=b;return K.info("submit-classified",{sessionName:c,cliToolId:d,attempt:e,state:j,rule:k,receipt:"awaited"}),{state:j,rule:k,output:l}}({watched:e,sessionName:c,cliToolId:i,attempt:a,rule:j,output:g,target:w}))}if("submitted"===h){let{sessionName:a,cliToolId:e,enteredAt:g,message:h,ticket:j,target:l}={sessionName:c,cliToolId:i,enteredAt:A,message:d,ticket:b,target:w};Q(j,e,"the submit record"),"received"!==(0,k.$Z)(a,e,g,l)&&(0,k.qF)(a,h,void 0===l?void 0:{...l,cliToolId:e}),(0,f.gm)(c);return}if("replaced"===h){try{b.isCurrent()?await (0,e.Ce)(c):K.error("submit-clear-input-skipped-not-owner",{sessionName:c,cliToolId:i,generation:b.generation})}catch(a){K.error("submit-clear-input-failed",{sessionName:c,cliToolId:i,error:a instanceof Error?a.message:String(a)})}throw(0,f.gm)(c),K.error("submit-replaced-by-tui-completion",{sessionName:c,cliToolId:i,attempt:a}),Error(`Message was replaced by a TUI autocompletion for session ${c}; the input no longer matches the sent text. Cleared the input line without submitting to avoid executing a different command.`)}if(a===B)break;if(!function(a){let{state:b,output:c,sessionName:d,cliToolId:e,message:f,composer:g,attempt:h}=a;return"indeterminate"===b?(K.warn("submit-not-confirmed:composer-unreadable",{sessionName:d,cliToolId:e,attempt:h}),!0):!!function(a,b,c,d){let e=x((0,o.aJ)(a).split("\n")),f=G(a,b,d.reader,e,e.slice(-12),c);return"text"===f.kind&&!!f.rows.some(a=>C(a).tokens.length>0)&&"landed"!==I(a,b,c,d)}(c,e,f,g)&&(K.warn("submit-not-confirmed:foreign-paste-token",{sessionName:d,cliToolId:e,attempt:h}),!0)}({state:h,output:g,sessionName:c,cliToolId:i,message:d,composer:l,attempt:a})){if("received"===(0,k.$Z)(c,i,A,w)){Q(b,i,"the prompt report check"),K.info("submit-confirmed-by-prompt-hook",{sessionName:c,cliToolId:i,attempt:a,rule:j}),(0,f.gm)(c);return}K.warn("submit-not-confirmed:resending-enter",{sessionName:c,cliToolId:i,attempt:a}),P(b,i,"a resent Enter",!0),await (0,e.KB)(c,["Enter"])}}throw(0,f.gm)(c),K.error("submit-verification-failed",{sessionName:c,cliToolId:i,attempts:B}),Error(`Message submit could not be confirmed for session ${c} after ${B} attempts (typed but unsent)`)}},11472:(a,b,c)=>{c.d(b,{Bl:()=>e,GE:()=>j,Hg:()=>k,ow:()=>i,vg:()=>g,w9:()=>f});var d=c(51297);let e=["$","%","#"],f=40,g=[/^[\w.-]+@[\w.-]+[\s:].*[$%#]$/,/^\[[\w.-]+@[\w.-]+[^\]]*\][$#]$/];function h(a){return a.split("\n").filter(a=>""!==a.trim())}function i(a,b){let c=h(a.trim()).slice(-10).join("\n");for(let a of b.fatalPatterns)if(c.includes(a))return a;for(let a of b.fatalRegexPatterns)if(a.test(c))return a.source;return null}function j(a,b){let c=h(a.trim()),d=c[c.length-1]?.trim()??"";return!/\d+%$/.test(d)&&b.shellPromptPatterns.some(a=>a.test(d))?{line:d,via:"pattern"}:d.length>=b.maxShellPromptLength?null:b.shellPromptEndings.some(a=>!(!d.endsWith(a)||"%"===a&&/\d+%$/.test(d)))?{line:d,via:"ending"}:null}function k(a,b){let c=(0,d.aJ)(a).trim();if(""===c)return b.unreadableIsExited?{alive:!1,reason:"empty output"}:{alive:!0};let e=h(c),f=null===b.aliveTailLines?c:e.slice(-b.aliveTailLines).join("\n");if(b.alivePatterns.some(a=>a.test(f)))return{alive:!0};let g=i(c,b);if(null!==g)return{alive:!1,reason:`error pattern: ${g}`};let k=j(c,b);return null!==k?"pattern"===k.via?{alive:!1,reason:`shell prompt detected: ${k.line}`}:{alive:!1,reason:`shell prompt ending detected: ${k.line}`}:{alive:!0}}},14453:(a,b,c)=>{c.d(b,{$O:()=>i,jI:()=>j});var d=c(50524),e=c(47893);function f(a){for(let b=a.length-1;b>=0;b--)if(e.Wl.test(a[b]))return a[b];return null}function g(a){let b=f(a);if(null===b)return null;let c=/╹▀+/.exec(b);return c?c.index+c[0].length:null}function h(a,b){let c=null===b?a:a.slice(0,(0,d.sh)(a,b));return(0,e.pV)(c)}function i(a){let b=(0,e.mu)(a);if(null===b)return null;let c=g(a);return b.map(a=>h(a,c))}function j(a){let b=(0,e.mu)(a);if(null===b)return null;if(!function(a){let b=f(a);if(null===b)return!1;let c=/╹▀+/.exec(b);return null!==c&&b.includes("▀",c.index+c[0].length)}(a)){let c=g(a);return{rows:b.map(a=>h(a,c)),obscured:!1}}let c=f(a),i=(0,d.LQ)(c.slice(0,c.lastIndexOf("▀")+1));return{rows:b.map(a=>h(a,i)),obscured:!0}}},16402:(a,b,c)=>{c.d(b,{Xc:()=>r,dd:()=>v,j4:()=>q,r_:()=>n,vm:()=>t});var d=c(61878),e=c(70605),f=c(42742),g=c(26895),h=c(30741),i=c(28861),j=c(96742),k=c(73495);let l=["enforce","legacy"],m={claude:"enforce",codex:"enforce",copilot:"enforce",opencode:"enforce",gemini:"legacy",antigravity:"legacy","vibe-local":"legacy","command-code":"legacy","opencode-v2":"enforce"};function n(a,b,c,e=process.env){let g=function(a,b=process.env){let c=b.CM_AUTOYES_DIALOG_GATE,d=null,e=null;if("string"==typeof c&&""!==c.trim())for(let b of c.split(",")){let[c,f]=b.split("=");if(void 0===f)continue;let g=c.trim(),h=f.trim();l.includes(h)&&("*"===g?d=h:g===a&&(e=h))}return e??d??m[a]??"legacy"}(a,e),h="yes_no"===b?function(a,b,c){let e=(0,f.bN)(a);if(!e.hasDialogRules||"legacy"===c)return{present:!0,dialog:null,mode:c,gated:!1};let g=e.detectDialog("string"==typeof b?(0,d.zJ)(b,a):b);return{present:null!==g,dialog:g,mode:c,gated:!0}}(a,c,g):o(a,b,c,g);return{allowed:!h.gated||null!==h.dialog&&"numbered"===h.dialog.answerMode,dialog:h.dialog,mode:h.mode,gated:h.gated}}function o(a,b,c,e){let g=(0,f.bN)(a);if("multiple_choice"!==b||!g.hasDialogRules||"legacy"===e)return{present:!0,dialog:null,mode:e,gated:!1};let h=g.detectDialog("string"==typeof c?(0,d.zJ)(c,a):c);return{present:null!==h,dialog:h,mode:e,gated:!0}}let p=new Set(["question"]);function q(a,b,c){return b?.gated===!0&&null!==b.dialog&&p.has(b.dialog.kind)?"question-form":"multiple_choice"!==a.type?null:!0===a.isAskUserQuestion?"picker":void 0!==c&&s.has(c)&&"not-a-permission-dialog"===(0,k.Me)(a.options,c).kind?"unidentified":null}function r(a,b){return null===a?"base-rules":"question-form"===a||"careful"===b?"left-to-human":"picker"===a?"recommended-choice":"base-rules"}let s=new Set(["copilot","codex"]);function t(a,b,c){return o(a,b,c,m[a]??"legacy")}let u="unsupported_dialog_layout";function v(a,b){let c=(0,h._A)((0,h.aJ)(b)),f="antigravity"===a?(0,i.g8)(c):null,k="command-code"===a?(0,j.nK)(b):{kind:"none"};if("unsupported"===k.kind)return{promptCheck:{isPrompt:!1,cleanContent:c},isCommandCodeQuestion:!1,refusal:{reason:u,message:"A Command Code question is on screen, but its option list could not be read, so no key was sent. Answer it in the terminal, or retry once the screen has settled."},presence:{present:!1,dialog:null,mode:m[a]??"legacy",gated:!1}};let l="antigravity"===a&&null===f&&(0,i.bf)(c),n="prompt"===k.kind,o=("prompt"===k.kind?k.prompt:null)??f??(l?{isPrompt:!1,cleanContent:c}:(0,g.gF)(c,(0,h.KO)(a))),p=(0,d.zJ)(b,a),q=(0,e.z8)(p.liveRegion,o)?{isPrompt:!1,cleanContent:c}:o,r=t(a,q.promptData?.type,p);return{promptCheck:q,isCommandCodeQuestion:n,refusal:function(a,b){if(a.isPrompt&&b.present)return null;let c=a.promptData;return a.isPrompt&&b.gated&&c?.type==="multiple_choice"&&!0===c.isAskUserQuestion?{reason:u,message:"An AskUserQuestion picker is on screen, but its layout could not be verified as one of the agent's dialogs, so no key was sent. Answer it in the terminal, or retry once the screen has settled."}:{reason:"prompt_no_longer_active"}}(q,r),presence:r}}},20610:(a,b,c)=>{c.d(b,{CV:()=>i,D1:()=>p,Is:()=>g,KI:()=>j,Lw:()=>o,PY:()=>m,Rk:()=>l,Uc:()=>d,Zf:()=>h,kZ:()=>q,os:()=>k,pL:()=>e,x9:()=>f,yO:()=>n});let d=100,e=100,f=200,g=300,h=500,i=500,j=2e3,k=300,l=3e3,m=200,n=3e3,o=3e3,p=15e3,q=1e3},24680:(a,b,c)=>{function d(a,b){return{status:a,confidence:"high",reason:b,hasActivePrompt:!1,evidence:"positive"}}function e(a,b,c){return{status:a,confidence:"high",reason:b,hasActivePrompt:!1,evidence:"positive",promptDetection:c}}function f(a,b){return{status:"waiting",confidence:"high",reason:a,hasActivePrompt:!0,evidence:"positive",promptDetection:b}}function g(a,b){return{status:"running",confidence:"low",reason:a,hasActivePrompt:!1,evidence:"none",promptDetection:b}}c.d(b,{Ru:()=>g,Xx:()=>e,_D:()=>f,dX:()=>d})},26895:(a,b,c)=>{c.d(b,{gF:()=>p,xn:()=>i});var d=c(72626),e=c(90304),f=c(67121),g=c(68652),h=c(81671);function i(a,b="yes_no"){let c=a.toLowerCase().trim();if("multiple_choice"===b){if(/^\d+$/.test(c))return c;throw Error("Invalid answer for multiple choice prompt. Expected a number.")}if("yes"===c||"y"===c)return"y";if("no"===c||"n"===c)return"n";throw Error("Invalid answer for yes/no prompt. Expected 'yes', 'no', 'y', or 'n'.")}let j=(0,d.h)("prompt-detector"),k=null,l=[{regex:/^(.+)\s+\(y\/n\)\s*$/m},{regex:/^(.+)\s+\[y\/N\]\s*$/m,defaultOption:"no"},{regex:/^(.+)\s+\[Y\/n\]\s*$/m,defaultOption:"yes"},{regex:/^(.+)\s+\(yes\/no\)\s*$/m}];function m(a,b,c){let d=c.index??0,e=a=>a.split("\n").length-1,f=b+e(a.slice(0,d));return{startLine:f,endLine:f+e(c[0])}}let n=/^(.*?)Approve\?\s*$/m;function o(a,b,c,{approvalTarget:d,approvalContext:e},f){return{isPrompt:!0,promptData:{type:"yes_no",question:a,options:["yes","no"],status:"pending",...void 0!==f&&{defaultOption:f},instructionText:c,...void 0!==d&&{approvalTarget:d},...void 0!==d&&"truncated"===e.completeness&&{approvalTargetCompleteness:"truncated"}},cleanContent:b,rawContent:c,approvalContext:e}}function p(a,b){let c=(0,g.N)(a),d=c===a&&b?.precomputedLines?b.precomputedLines:c.split("\n"),i=d.slice(-50).join("\n"),p=i===k;p||j.debug("detectPrompt:start",{outputLength:c.length}),k=i;let q=d.slice(-20).join("\n"),r=Math.max(0,d.length-20),s=(0,e.rS)(c,b,h.O8);if(s.isPrompt)return p||j.info("detectPrompt:multipleChoice",{isPrompt:!0,question:s.promptData?.question,optionsCount:s.promptData?.options?.length}),s;let t=q.trim(),u=function(a,b){let c=[];return[...l.map(a=>({regex:a.regex,defaultOption:a.defaultOption,approve:!1})),{regex:n,defaultOption:void 0,approve:!0}].forEach((d,e)=>{let f=RegExp(d.regex.source,`${d.regex.flags}g`);for(let g of a.matchAll(f)){let{startLine:f,endLine:h}=m(a,b,g);c.push({match:g,defaultOption:d.defaultOption,approve:d.approve,startLine:f,endLine:h,offset:g.index??0,order:e})}}),c.sort((a,b)=>a.endLine-b.endLine||a.offset-b.offset||a.order-b.order),c}(q,r),v=u[u.length-1];if(v){let a=function(a,b,c,d,g=[]){let{startLine:h,endLine:i}=m(b,c,d),j=(0,f.hK)(a,h,i+1),k=g.some(a=>a.endLine>=j.start&&a.endLine<h);return{approvalTarget:(0,e.ZH)(a,j.start,i+1),approvalContext:{startRow:j.start,endRow:i+1,completeness:k?"truncated":j.completeness}}}(d,q,r,v.match,u.slice(0,-1));if(v.approve){let b=v.match[1].trim();return o(b?`${b} Approve?`:"Approve?",b||"Approve?",t,a)}let b=v.match[1].trim();return o(b,b,t,a,v.defaultOption)}return p||j.debug("detectPrompt:complete",{isPrompt:!1}),{isPrompt:!1,cleanContent:c.trim()}}},28861:(a,b,c)=>{c.d(b,{FI:()=>v,Ye:()=>t,bf:()=>u,g8:()=>n});var d=c(30741),e=c(90304),f=c(68652),g=c(682),h=c(69082),i=c(81671);let j=/^\s*●\s/,k=/^\s*─{3,}\s*$/,l=/[??]\s*$/;function m(a){let b=(0,d.dx)(a);if(null===b||!h.cR.test(a[b.footer]))return null;let c=a.slice(b.start,b.footer);if(c.some(a=>d.d0.test(a)))return null;let e=(0,g.c)(c,c.length,12);if(null===e)return null;let f=[...e.options];if(""!==e.footer){let a=f.length-1;f[a]=[f[a],...e.footer.split("\n")].join(" ").trim()}let i=b.start+e.firstRow,j=-1,m=-1,n=0;for(let c=i-1;c>=b.start&&n<3;c--){let b=a[c];if(""!==b.trim()){if(d.OM.test(b)||k.test(b))break;if(n++,m<0&&(m=c),l.test(b)){j=c;break}}}return j<0&&(j=m),{question:j<0?"Please select an option:":a[j].trim(),options:f,selectedIndex:e.selectedIndex,questionRow:j<0?i:j,firstOptionRow:i,footerRow:b.footer}}function n(a){let b=(0,f.N)(a),c=b.split("\n"),g=m(c);if(null===g)return null;let h=(0,e.HD)(c,g.questionRow,g.footerRow);return(0,e.xe)(g.question,g.options.map((a,b)=>({number:b+1,label:a,isDefault:b===g.selectedIndex})),{instructionText:function(a,b){let c=(0,d.dx)(a),e=c?.start??b.questionRow,f=Math.max(0,b.questionRow-40);for(let c=b.questionRow-1;c>=f;c--)if(j.test(a[c])){e=c+1;break}let g=a.slice(e,b.footerRow+1).filter(a=>!k.test(a)).map(a=>a.trimEnd()).join("\n").trim();return g.length>0?g:void 0}(c,g),approvalTarget:(0,e.ZH)(c,h.start,g.footerRow),approvalContext:{startRow:h.start,endRow:g.footerRow,completeness:h.completeness}},b,i.O8)}let o=/^\s*(>)?\s*(\d+)\.\s+\S/,p=/^\s*esc Cancel\s*·\s*\d+-\d+\s+Select\b/,q=/↑\/↓/,r=/^\s*(?:Requesting permission for:|Do you want to proceed\?)\s*$/;function s(a){let b=(0,f.N)(a).split("\n"),c=-1;for(let a=b.length-1;a>=0;a--){if(h.lE.test(b[a]))return null;if(o.test(b[a])){c=a;break}}if(c<0)return null;let e=o.exec(b[c]),g=Number(e[2]),i=g,j=void 0!==e[1],k=!1,l=c,m=Math.max(0,c-40);for(let a=c-1;a>=m&&i>1;a--){let c=o.exec(b[a]);if(null===c){if(d.OM.test(b[a]))break;continue}let e=Number(c[2]);if(e>=i)break;e!==i-1&&(k=!0),i=e,l=a,void 0!==c[1]&&(j=!0)}let n=!1;for(let a=l-1;a>=Math.max(0,l-40)&&!d.OM.test(b[a]);a--)if(r.test(b[a])){n=!0;break}let s=b.slice(c+1).filter(a=>""!==a.trim());return{lines:b,bottom:g,lowest:i,gap:k,highlighted:j,feedbackFooter:s.length>0&&p.test(s[0]),navigateFooter:s.some(a=>q.test(a)),permissionHeading:n}}function t(a){let b=s(a);return null!==b&&!(b.bottom<2)&&1===b.lowest&&!b.gap&&!!b.highlighted&&!b.feedbackFooter&&null===m(b.lines)}function u(a){let b=s(a);return null!==b&&!(b.bottom<2)&&!b.feedbackFooter&&(1!==b.lowest||!!b.gap||!!b.highlighted||!!b.navigateFooter||!!b.permissionHeading)&&null===m(b.lines)}function v(a){return s(a)?.feedbackFooter===!0}},31239:(a,b,c)=>{c.d(b,{$y:()=>e,ds:()=>i});let d=[/^[^\S\n]*type\s+something\b/i];function e(a){return!0===a.requiresTextInput&&d.some(b=>b.test(a.label))}function f(a){if(!a)return null;let b=a.decisionId;return"string"==typeof b&&""!==b?b:null}function g(a){return Array.isArray(a.decisionOptions)&&a.decisionOptions.length>0}let h={kind:"unreadable",heading:{kind:"unreadable"},choices:[],multiSelect:!1,freeText:null,decisionId:null,apiTarget:null};function i(a){if(null==a)return null;if("unclassified"!==a.type){let b=function(a){let b=Array.isArray(a.options)?a.options:[],c=[];for(let d of b){if("string"==typeof d){c.push({answer:d,label:d,isDefault:a.defaultOption===d,takesText:!1});continue}d&&"object"==typeof d&&"number"==typeof d.number&&"string"==typeof d.label&&c.push({answer:String(d.number),label:d.label,isDefault:!0===d.isDefault,takesText:e({label:d.label,requiresTextInput:!0===d.requiresTextInput}),..."string"==typeof d.description?{description:d.description}:{}})}return c}(a);return{kind:"screen-choices",heading:{kind:"question",text:"string"==typeof a.question?a.question:""},choices:b,multiSelect:!0===a.multiSelect,freeText:b.some(a=>a.takesText)?{via:"screen"}:null,decisionId:null,apiTarget:null}}let b=f(a);if(null!==b&&g(a)){let c=function(a){if(!Array.isArray(a))return[];let b=[];for(let c of a)c&&"number"==typeof c.number&&"string"==typeof c.label&&b.push({answer:String(c.number),label:c.label,isDefault:!1,takesText:!1});return b}(a.decisionOptions);if(c.length>0)return{kind:"api-choices",heading:{kind:"approval",toolName:"string"==typeof a.toolName&&a.toolName?a.toolName:null},choices:c,multiSelect:!1,freeText:null,decisionId:b,apiTarget:"approval"}}let c=function(a){if(!a||null===f(a)||g(a))return null;let b=a.askUserQuestion;if(!b||"string"!=typeof b.question||""===b.question||!Array.isArray(b.labels)||0===b.labels.length)return null;let c=b.labels.filter(a=>"string"==typeof a&&""!==a);if(c.length!==b.labels.length)return null;let d="number"==typeof b.questionCount?b.questionCount:1;return 1!==d?null:{question:b.question,labels:c,questionCount:d,...!0===b.custom?{custom:!0}:{}}}(a);return null!==b&&null!==c?{kind:"api-choices",heading:{kind:"agent-question",text:c.question},choices:c.labels.map((a,b)=>({answer:String(b+1),label:a,isDefault:!1,takesText:!1})),multiSelect:!1,freeText:!0===c.custom?{via:"api"}:null,decisionId:b,apiTarget:"question"}:h}},31840:(a,b,c)=>{c.d(b,{G4:()=>n});var d=c(76777),e=c(50524);let f=/\x1b\[[0-9;]*[a-zA-Z]|\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)|\[[0-9;]*m/g,g=/^(?:\x1b\[|\[)([0-9;]*)m$/,h=new Set([38,48,58]);function i(a){let b;f.lastIndex=0;let c=[],d="",i=null,j=0,k=0,l=0;for(;null!==(b=f.exec(a));){let f=a.slice(l,b.index);d+=f,j+=(0,e.LQ)(f),l=b.index+b[0].length;let m=g.exec(b[0]);if(null===m)continue;let n=function(a,b){let c=(""===b?"0":b).split(";"),d=a;for(let a=0;a<c.length;a++){let b=Number(""===c[a]?"0":c[a]);if(Number.isFinite(b)){if(h.has(b)){let e="2"===c[a+1]?4:2*("5"===c[a+1]);e>0&&48===b&&(d=c.slice(a,a+1+e).join(";")),a+=e;continue}0===b||49===b?d=null:(b>=40&&b<=47||b>=100&&b<=107)&&(d=c[a])}}return d}(i,m[1]);n!==i&&(j>k&&c.push({bg:i,start:k,end:j}),i=n,k=j)}let m=a.slice(l);d+=m,(j+=(0,e.LQ)(m))>k&&c.push({bg:i,start:k,end:j});let n=new Set(c.map(a=>a.start));return c.length>0&&n.add(c[c.length-1].end),{text:d,segments:c,edges:n,width:j}}function j(a,b){for(let c of a.segments)if(c.start<=b&&b<c.end)return c.bg;return null}let k=/\S[^\S\n]{2,}esc[^\S\n]*$/,l=/^[│┃╹]/;function m(a,b,c){if(!a.edges.has(b)||!a.edges.has(c))return!1;for(let d of a.segments)if(!(d.end<=b)&&!(d.start>=c)&&null===d.bg)return!1;return!(j(a,b-1)===j(a,b)||c<a.width&&j(a,c)===j(a,c-1)||l.test((0,e.Ml)(a.text,b-1,b)))&&!l.test((0,e.Ml)(a.text,b,c))}function n(a){let b=function(a){let b=a.split("\n").map(i),c=new Set,f=null;for(let a of b){if(!a.text.includes("esc"))continue;let g=[...a.edges].sort((a,b)=>a-b);for(let h of g)if(!(h<1))for(let i of g){if(i-h<16)continue;let g=`${h}:${i}`;if(c.has(g)||!m(a,h,i))continue;let j=(0,e.Ml)(a.text,h,i);if(!k.test(j))continue;c.add(g);let l=b.filter(a=>m(a,h,i));if(l.length<3)continue;let n=l.indexOf(a);n<0||n>=3||(null===f||l.length>f.rows)&&(f={id:"opencode_modal_overlay",headerText:(0,d.D)(j.trim(),200,"…[truncated]"),left:h,right:i,rows:l.length,headerRow:n,frameRowStart:b.indexOf(l[0]),frameRowEnd:b.indexOf(l[l.length-1])})}}return f}(a);return null===b?null:{id:b.id,headerText:b.headerText,left:b.left,right:b.right,rows:b.rows,headerRow:b.headerRow}}},32236:(a,b,c)=>{c.d(b,{q:()=>y,AD:()=>z});var d=c(30741),e=c(26895),f=c(24680),g=c(37717),h=c(65912),i=c(682),j=c(50435);let k={"hooks-review":"permission","hooks-list":"picker","hooks-detail":"picker","hooks-settled":"picker",update:"update",trust:"trust"};var l=c(61878),m=c(85237),n=c(27789),o=c(91010),p=c(1804),q=c(46423);function r(a){return(0,e.gF)((0,d._A)(a),(0,d.KO)("codex"))}let s=p.jP,t=/press\s+(?:number|enter)\s+to\s+confirm/i,u=/^\s*[❯›●]?\s*\d{1,2}[.)]\s/;function v(a){let b=(0,m.Ut)(a),c=b>=0?b:a.length,e=-1,f=-1;for(let b=0;b<c;b++){let c=a[b],g=c.trim();""!==g&&((t.test(g)||u.test(g))&&(e=b),(0,d.ut)("codex",c)&&(f=b))}return e>=0&&f>e}function w(a){return(0,h.kp)(a)?.kind==="option"}function x(a,b){let c=(0,l.Yc)(a,"codex");return"composer"!==c.anchor||c.composerEndRow!==b?b:c.startRow}let y=(0,o.b)({tool:"codex",verifiedAgainst:s,liveRegion:m.YH,beforePrompt(a){let{contentLines:b}=a;if((0,l.Yc)(a,"codex").composerAtBottom)return null;if(d.pn.test(a.lastLines))return(0,f.Xx)("waiting",g.g.CODEX_PAGER,r(a.clean));let c=(0,d.E6)((0,l.j4)(a,"codex"));if("hooks-list"===c||"hooks-detail"===c||"hooks-settled"===c)return(0,f.Xx)("waiting",g.g.CODEX_HOOKS_REVIEW,r(a.clean));let e=(0,m.Bh)(b)-1;if(e>=0){let c=b.slice(Math.max(0,e-l.h9+1),e+1).join("\n"),h=b[e].trim();if(d.Jn.test(c)||d.ir.test(h)||d.bh.test(h)){let e=r(a.clean);return e.isPrompt&&((e.promptData?.question?.trim()??"").endsWith("?")||d.Dd.test(c))&&!v(b)?(0,f._D)(g.g.PROMPT_DETECTED,e):(0,f.Xx)("waiting",g.g.CODEX_SELECTION_LIST,e)}}let i=(0,h.t)(a.raw,b,(0,m.Bh)(b));if(i&&!v(b)){i.footerRecognised||(0,h.AT)(i.footer);let b=r(a.clean);return b.isPrompt?(0,f._D)(g.g.PROMPT_DETECTED,b):(0,f.Xx)("waiting",g.g.CODEX_SELECTION_LIST,b)}return null},isStalePrompt:a=>v(a.contentLines)||(0,l.Yc)(a,"codex").composerAtBottom,detectDialog:a=>(0,l.Yc)(a,"codex").composerAtBottom?null:function(a,b){var c;let e=(0,d._A)(a.clean).split("\n"),f=(0,i.c)(e,b.contentEnd);if(b.lifecycleDialog)return{kind:k[b.lifecycleDialog],options:f?.options??[],answerMode:"numbered",..."update"===b.lifecycleDialog?{submitMode:"answer_only"}:{}};if(!f||!d.Jn.test(f.footer)&&!d.$I.test(f.footer)&&!d.ir.test(f.footer)&&!d.bh.test(f.footer)||b.stalePrompt)return null;let g=(c=f.firstRow,(0,j.r)(e,c,-1));return{kind:d.Dd.test(f.footer)||g.split("\n")[0]?.endsWith("?")?"permission":"picker",options:f.options,answerMode:"numbered"}}(a,{contentEnd:(0,m.Bh)(a.contentLines),stalePrompt:v(a.contentLines),lifecycleDialog:(0,d.E6)((0,l.j4)(a,"codex"))}),afterThinking(a){let{contentLines:b}=a,c=(0,m.Ut)(b);if(c>=0){let e=c-1;for(;e>=0&&""===b[e].trim();)e--;if((e=x(a,e))>=0){let c=b.slice(Math.max(0,e-q.$+1),e+1).join("\n");return(0,d.ut)("codex",c)||n.mk.test(c)?(0,f.dX)("running",g.g.THINKING_INDICATOR):d.gm.test(b[e].trim())&&!w(a.raw)?(0,f.dX)("ready",g.g.INPUT_PROMPT):(0,f.dX)("running",g.g.THINKING_INDICATOR)}}else{let c=b.length-1;for(;c>=0&&""===b[c].trim();)c--;if(!((c=x(a,c))>=0&&d.gm.test(b[c].trim())&&!w(a.raw))&&((0,d.ut)("codex",a.lastLines)||n.mk.test(a.lastLines)))return(0,f.dX)("running",g.g.THINKING_INDICATOR)}return null}});function z(a){let b="string"==typeof a?(0,l.zJ)(a,"codex"):(0,l.j4)(a,"codex");if(!y.detectDialog(b))return!1;let c=(0,m.Bh)(b.contentLines),e=(0,i.c)((0,d._A)(b.clean).split("\n"),c);return null!==e&&(d.ir.test(e.footer)||d.bh.test(e.footer))}},37717:(a,b,c)=>{c.d(b,{g:()=>d});let d={PROMPT_DETECTED:"prompt_detected",THINKING_INDICATOR:"thinking_indicator",OPENCODE_PROCESSING_INDICATOR:"opencode_processing_indicator",OPENCODE_SELECTION_LIST:"opencode_selection_list",OPENCODE_MODAL_OVERLAY:"opencode_modal_overlay",OPENCODE_PERMISSION_PROMPT:"opencode_permission_prompt",CLAUDE_SELECTION_LIST:"claude_selection_list",COMMAND_CODE_SELECTION_LIST:"command_code_selection_list",COMMAND_CODE_DISMISSABLE_PANEL:"command_code_dismissable_panel",COMMAND_CODE_PLAN_REVIEW:"command_code_plan_review",COPILOT_SELECTION_LIST:"copilot_selection_list",CODEX_SELECTION_LIST:"codex_selection_list",CODEX_PAGER:"codex_pager",CODEX_HOOKS_REVIEW:"codex_hooks_review",ANTIGRAVITY_SELECTION_LIST:"antigravity_selection_list",OPENCODE_RESPONSE_COMPLETE:"opencode_response_complete",INPUT_PROMPT:"input_prompt",NO_RECENT_OUTPUT:"no_recent_output",STARTING:"starting",EXITED:"exited",UNKNOWN_FRAME:"unknown_frame",DEFAULT:"default"}},42742:(a,b,c)=>{c.d(b,{bN:()=>aa});var d=c(30741),e=c(24680),f=c(37717),g=c(52112),h=c(91010),i=c(1804),j=c(28861);let k=i.yh,l=(0,e.dX)("waiting",f.g.ANTIGRAVITY_SELECTION_LIST),m=/[\u2800-\u28FF]|Generating/,n={status:"running",confidence:"low",reason:f.g.UNKNOWN_FRAME,hasActivePrompt:!1,evidence:"none"},o=(0,h.b)({tool:"antigravity",verifiedAgainst:k,liveRegion:g.H,beforePrompt(a){if(function(a){let b=a.slice(-3),c=b.findIndex(a=>d.HR.test(a));if(c<0)return!1;let{promptPattern:e}=(0,d._X)("antigravity");return!b.slice(c+1).some(a=>e.test(a))}(a.contentLines))return l;if(!d.kT.test(a.lastLines))return m.test(a.thinkingLines)?null:(0,j.Ye)((0,d._A)(a.clean))?n:null;if(!function(a){let b=a.split("\n"),c=-1;for(let a=b.length-1;a>=0;a--)if(d.kT.test(b[a])){c=a;break}if(c<0)return!1;let{promptPattern:e}=(0,d._X)("antigravity");return!b.slice(c+1).some(a=>e.test(a))}(a.lastLines))return null;let b=(0,d._A)(a.clean);if((0,d.bH)(b)){let a=(0,j.g8)(b);return null!==a?(0,e._D)(f.g.PROMPT_DETECTED,a):n}return l},afterThinking(a){if((0,d.ut)("antigravity",a.lastLines))return(0,e.dX)("running",f.g.THINKING_INDICATOR);let{promptPattern:b}=(0,d._X)("antigravity");return b.test(a.lastLines)?(0,e.dX)("ready",f.g.INPUT_PROMPT):null}});var p=c(93923),q=c(32236),r=c(91478),s=c(96742),t=c(682);let u=/^\s*↑\/↓\s+navigate\s+·\s+enter\s+select\s+·.*\bto\s+bypass\s+all\s+permissions\b/;var v=c(46749),w=c(61878);let x=i.ji,y=(0,h.b)({tool:"command-code",verifiedAgainst:x,liveRegion:v.E,beforePrompt(a){if((0,w.Yc)(a,"command-code").composerAtBottom)return null;if((0,r.tH)(a.lastLines)||(0,r.a9)(a.lastLines))return(0,e.dX)("waiting",f.g.COMMAND_CODE_PLAN_REVIEW);let b=(0,s.nK)(a.raw);return"prompt"===b.kind?(0,e._D)(f.g.PROMPT_DETECTED,b.prompt):"unsupported"===b.kind?(0,e.dX)("waiting",f.g.COMMAND_CODE_SELECTION_LIST):null},afterPrompt:a=>(0,r.yt)(a.lastLines)?(0,e.dX)("waiting",f.g.COMMAND_CODE_DISMISSABLE_PANEL):(0,r.sl)(a.lastLines)?(0,e.dX)("waiting",f.g.COMMAND_CODE_SELECTION_LIST):null,detectDialog:a=>(function(a){let b=a.contentLines,c=b[b.length-1];if(void 0===c||!u.test(c))return null;let d=(0,t.c)(b,b.length,1);return null===d||d.footer!==c.trim()||"❯"!==d.selectedGlyph?null:{kind:"permission",options:d.options,answerMode:"numbered",submitMode:"answer_only"}})(a),afterThinking(a){if((0,d.ut)("command-code",a.lastLines))return(0,e.dX)("running",f.g.THINKING_INDICATOR);let{promptPattern:b}=(0,d._X)("command-code");return b.test(a.lastLines)?(0,e.dX)("ready",f.g.INPUT_PROMPT):null}});var z=c(26895),A=c(50435);let B=/do you want to\b/i;var C=c(83342);function D(a){return(0,z.gF)((0,d._A)(a),(0,d.KO)("copilot"))}let E=i.MJ,F=(0,h.b)({tool:"copilot",verifiedAgainst:E,liveRegion:C.b,beforePrompt(a){if((0,d.gT)(a.contentLines)){let b=D(a.clean);return b.isPrompt&&(b.promptData?.options?.length??0)<=3?(0,e._D)(f.g.PROMPT_DETECTED,b):(0,e.Xx)("waiting",f.g.COPILOT_SELECTION_LIST,b)}if("working"===(0,d.Wn)(a.contentLines)){let b=D(a.clean);return(0,e.Xx)("running",f.g.THINKING_INDICATOR,b)}return null},afterThinking:a=>"idle"===(0,d.Wn)(a.contentLines)?(0,e.dX)("ready",f.g.INPUT_PROMPT):null,skipGenericInputPrompt:!0,readIdleEvidence:function(a){return"idle"===(0,d.Wn)(a.contentLines)?"positive":"none"},detectDialog:a=>(function(a,b){if(null!==b.statusBar)return null;let c=(0,d._A)(a.clean).split("\n"),e=(0,t.c)(c,b.contentEnd);if(e&&d.V.test(e.footer)){var f;let a=(f=e.firstRow,(0,A.r)(c,f,-1));return{kind:d.rX.some(b=>a.includes(b))?"trust":B.test(a)?"permission":"picker",options:e.options,answerMode:"numbered"}}return b.selectionFrame?{kind:"picker",options:[],answerMode:"keys"}:null})(a,{statusBar:(0,d.Wn)(a.contentLines),selectionFrame:(0,d.gT)(a.contentLines),contentEnd:a.contentLines.length}),unreadableReason:f.g.UNKNOWN_FRAME});var G=c(47893),H=c(31840);let I=/\s{2,}/;var J=c(89021),K=c(46423);let L=i.BG;function M(a){let b=(0,d._A)(a.clean).split("\n"),c=Math.max(0,b.length-7);for(let a=b.length-1;a>=Math.max(0,b.length-10);a--)if(/ctrl\+[tp]/.test(b[a])){c=Math.max(0,a-2);break}let e=b.slice(0,c),f=e.length-1;for(;f>=0&&""===e[f].trim();)f--;return{candidates:e,lastIndex:f}}let N=(0,h.b)({tool:"opencode",verifiedAgainst:L,liveRegion:J.m,readThinking:a=>(0,G.$w)(a.lines),afterThinking(a){if(d.Ty.test(a.lastLines))return(0,e.dX)("waiting",f.g.OPENCODE_PERMISSION_PROMPT);if((0,G.cP)(a.lastLines))return(0,e.dX)("running",f.g.OPENCODE_PROCESSING_INDICATOR);let{candidates:b,lastIndex:c}=M(a);if(c<0)return null;if((0,G.uM)(a.lines,K.$))return(0,e.dX)("running",f.g.THINKING_INDICATOR);let g=b.slice(Math.max(0,c-w.h9+1),c+1).join("\n");return d.LO.test(b.join("\n"))?(0,e.dX)("waiting",f.g.OPENCODE_SELECTION_LIST):null!==(0,H.G4)(a.raw)?(0,e.dX)("waiting",f.g.OPENCODE_MODAL_OVERLAY):d.$t.test(g)?(0,e.dX)("ready",f.g.OPENCODE_RESPONSE_COMPLETE):null!==(0,G.T2)(a.clean)?(0,e.dX)("ready",f.g.INPUT_PROMPT):null},skipGenericInputPrompt:!0,readIdleEvidence:function(a){let{candidates:b,lastIndex:c}=M(a);if(c<0)return"none";let e=b.slice(Math.max(0,c-w.h9+1),c+1).join("\n");return d.$t.test(e)||null!==(0,G.T2)(a.clean)?"positive":"none"},detectDialog(a){var b;let{candidates:c}=M(a);return b={contentWindow:c.join("\n")},d.Ty.test(a.lastLines)?{kind:"permission",options:function(a){for(let b of a.lines){let a=d.Ty.exec(b);if(a)return a[0].replace(/^[^\S\n]*[│┃][^\S\n]*/,"").trim().split(I).map(a=>a.trim()).filter(a=>""!==a)}return[]}(a),answerMode:"keys"}:d.LO.test(b.contentWindow)||null!==(0,H.G4)(a.raw)?{kind:"picker",options:[],answerMode:"keys"}:null},unreadableReason:f.g.UNKNOWN_FRAME});var O=c(31616),P=c(58546);let Q=i.u3,R=/^[^\S\n]*[│┃][^\S\n]*Allow once[^\S\n]{2,}Always allow[^\S\n]{2,}Reject\b/m,S=/^[^\S\n]*[│┃][^\S\n]*↑↓ select[^\S\n]+enter submit[^\S\n]+esc dismiss\b/m,T=/^[^\S\n│┃]*[A-Za-z][\w-]*(?: [\w-]+)* · [^\n]+? · (?:\d+(?:\.\d+)?(?:ms|s|m(?: \d+s)?)|\d+h \d+m|\d+d \d+h)(?: · [\d.]+ tok\/s)?(?: · interrupted)?[^\S\n]*$/,U=["Allow once","Always allow","Reject"],V=/^[^\S\n]*[│┃]/,W=/^[^\S\n]*[│┃][^\S\n]*(\d+)\.[^\S\n]+(\S.*?)[^\S\n]*$/,X=(0,h.b)({tool:"opencode-v2",verifiedAgainst:Q,liveRegion:P.R,requireVouchedPrompt:!0,beforePrompt:a=>R.test(a.lastLines)?(0,e.dX)("waiting",f.g.OPENCODE_PERMISSION_PROMPT):S.test(a.lastLines)?(0,e.dX)("waiting",f.g.OPENCODE_SELECTION_LIST):null!==(0,d.dF)((0,d.aJ)(a.raw))?(0,e.dX)("waiting",f.g.OPENCODE_MODAL_OVERLAY):null,afterThinking:a=>(0,d.ut)("opencode-v2",a.lastLines)?(0,e.dX)("running",f.g.THINKING_INDICATOR):!function(a){let b=function(a){for(let b=a.length-1;b>=0;b--)if(!function(a,b){let c=a[b];return!!(/^[\s│┃╹▀]*$/.test(c)||/^[^\S\n]*[│┃][^\S\n]*[A-Za-z][\w-]* · [^·\n]+$/.test(c)||(0,O.Yx)(a,b))||/^\s*\d+\.\d+\.\d+\s*$/.test(c)}(a,b))return b;return -1}(a.contentLines);return b>=0&&T.test(a.contentLines[b])}(a)?null!==(0,O.NX)((0,d.aJ)(a.raw))||d.c7.test(a.lastLines)?(0,e.dX)("ready",f.g.INPUT_PROMPT):null:(0,e.dX)("ready",f.g.OPENCODE_RESPONSE_COMPLETE),detectDialog(a){if(R.test(a.lastLines))return{kind:"permission",options:U,answerMode:"keys"};let b=function(a){if(!S.test(a.lastLines))return null;let b=a.contentLines,c=-1;for(let a=b.length-1;a>=0;a--)if(S.test(b[a])){c=a;break}if(c<0)return null;let d=[];for(let a=c-1;a>=0&&V.test(b[a]);a--){let c=W.exec(b[a]);c&&d.unshift(`${c[1]}. ${c[2]}`)}return d.length<2||!d.every((a,b)=>a.startsWith(`${b+1}. `))?null:{kind:"question",options:d,answerMode:"numbered",submitMode:"answer_only"}}(a);return null!==b?b:null!==(0,d.dF)((0,d.aJ)(a.raw))?{kind:"picker",options:[],answerMode:"keys"}:null}});function Y(a){return(0,h.b)({tool:a,verifiedAgainst:i.hB})}let Z=Y("gemini"),$=Y("vibe-local"),_={claude:p.zu,codex:q.q,copilot:F,opencode:N,antigravity:o,"command-code":y,"opencode-v2":X,gemini:Z,"vibe-local":$};function aa(a){return _[a]??Y(a)}Object.values(_)},46689:(a,b,c)=>{c.d(b,{$:()=>f});var d=c(79892),e=c(49973);async function f(a,b){await (0,e.hC)(a,async()=>{for(let c of b)"string"==typeof c?await (0,d.V1)(a,c,!0):await c()})}},46749:(a,b,c)=>{c.d(b,{E:()=>g});var d=c(30741),e=c(70605);let f=/^❯\s*\d{1,2}[.)]\s/,g={composer:(0,e.W2)(a=>{let b=(0,d.I$)(a);return b<0||f.test((0,d.aJ)(a[b+1]??""))?-1:b}),dialogTop:(0,e.o6)({footer:a=>/↑\/↓ navigate · enter select/.test(a),rule:/^─{10,}$/,maxRows:120}),composerHidesDialogs:!0}},47967:(a,b,c)=>{c.d(b,{Z:()=>h,u:()=>i});var d=c(70605);let e=/ctrl\+[tp]\b/,f=/^\s*╹▀+/,g=/^\s*[┃│]/,h={locate({contentLines:a}){let b=(0,d.Sx)(a),c=-1;for(let d=b;d>=Math.max(0,b-4);d--)if(e.test(a[d])){c=d;break}if(c<0)return null;let h=-1;for(let b=c-1;b>=Math.max(0,c-3);b--)if(f.test(a[b])){h=b;break}if(h<0)return null;let i=h;for(;i-1>=0&&g.test(a[i-1]);)i--;return{start:i,end:b,atBottom:!0}}};function i(a){return{locate({contentLines:b}){let c=(0,d.Sx)(b);for(let d=c;d>=Math.max(0,c-60);d--)if(g.test(b[d])&&a.test(b[d]))return{start:d};return null}}}},50435:(a,b,c)=>{c.d(b,{r:()=>d});function d(a,b,c){let d=[];for(let e=b-1;e>c&&d.length<4;e--){let b=a[e].trim();""!==b&&d.push(b)}return d.join("\n")}},50524:(a,b,c)=>{c.d(b,{LQ:()=>g,Ml:()=>f,sh:()=>e});let d=/^\p{M}$/u;function e(a,b){if(a.length<=b)return a.length;let c=0,e=0;for(let f of a){let a=+!d.test(f);if(1===a&&c>=b)break;c+=a,e+=f.length}return e}function f(a,b,c){return a.slice(e(a,b),e(a,c))}function g(a){let b=0;for(let c of a)d.test(c)||(b+=1);return b}},50945:(a,b,c)=>{c.d(b,{Q:()=>g,S:()=>h});var d=c(79892),e=c(11472),f=c(91536);async function g(a,b){let c;try{c=await (0,d.Xg)(a,{startLine:-b.probeCaptureLines})}catch{c=void 0}return"string"!=typeof c?b.unreadableIsExited?{alive:!1,reason:"capture error"}:{alive:!0}:(0,e.Hg)(c,b)}async function h(a,b){return g(a,(0,f.H7)(b))}},52112:(a,b,c)=>{c.d(b,{H:()=>f});var d=c(30741),e=c(70605);let f={composer:(0,e.lU)({isComposerRow:a=>d.lE.test((0,d._A)(a)),atBottom:({contentLines:a},b)=>!a.slice(b+1).some(a=>{let b=(0,d._A)(a);return d.Ly.test(b)||d.kT.test(b)})}),dialogTop:(0,e.uM)(a=>(0,d.dx)(a)?.start??-1),composerHidesDialogs:!0}},56588:(a,b,c)=>{c.d(b,{Bk:()=>s,Gz:()=>u,Hb:()=>n,O5:()=>q,PS:()=>o,_U:()=>p,a3:()=>t});var d=c(16698),e=c(24455),f=c(37717),g=c(50411),h=c(36925),i=c(40964),j=c(77662);let k=(0,h.v)("__sessionStartingRecords",()=>new Map),l=(0,h.v)("__sessionStartingTokenSeq",()=>({last:0})),m=(0,h.v)("__sessionStartingTokenScope",()=>new d.AsyncLocalStorage);function n(){return l.last+=1,l.last}function o(a,b){return m.run(a,b)}function p(a,b,c,d=Date.now()){let f=m.getStore()??n(),g=(0,e.v7)(a,b,c),h=k.get(g);return void 0!==h&&h.token>f?null:(k.set(g,{cliToolId:b,token:f,since:d,promptSeenAt:null,released:!1}),f)}function q(a,b,c,d){try{let f=(0,e.v7)(a,b,c);(void 0===d||k.get(f)?.token===d)&&k.delete(f)}catch{}if(void 0===d)try{(0,j.x$)((0,i.mf)(b,a,c))}catch{}}function r(a,b,c){return void 0===b||b.released?null:c-b.since>(0,g.Bk)(b.cliToolId)?(k.delete(a),null):b.since}function s(a,b,c,d=Date.now()){let f=(0,e.v7)(a,b,c);return r(f,k.get(f),d)}function t(a,b,c,d,f=Date.now()){let h=(0,e.v7)(a,b,c),i=k.get(h),j=r(h,i,f);return null===j||void 0===i?null:d?(i.promptSeenAt??=f,f-i.promptSeenAt>=g.Bu)?(i.released=!0,null):j:(i.promptSeenAt=null,j)}function u(a){return{...a,status:"running",reason:f.g.STARTING,hasActivePrompt:!1,promptDetection:{...a.promptDetection,isPrompt:!1,promptData:void 0},evidence:"positive"}}},56717:(a,b,c)=>{c.d(b,{gc:()=>g});var d=c(16983);let e={reader:"input-line-marker",verifyCaptureLines:12,clearBeforeSend:!0,submitEnterCount:1},f={claude:e,codex:e,gemini:{...e,clearBeforeSend:!1},copilot:{...e,clearBeforeSend:!1},antigravity:{...e,clearBeforeSend:!1},"command-code":{...e,clearBeforeSend:!1},"vibe-local":{...e,clearBeforeSend:!1,submitEnterCount:2},opencode:{reader:"opencode-box",verifyCaptureLines:d.xT,clearBeforeSend:!1,submitEnterCount:1},"opencode-v2":{reader:"opencode-box",verifyCaptureLines:d.xT,clearBeforeSend:!1,submitEnterCount:1}};function g(a){return f[a]??e}},57905:(a,b,c)=>{c.d(b,{c0:()=>ac,zw:()=>$,Yq:()=>_,pU:()=>ab,R7:()=>aa,VU:()=>ad});var d=c(79892),e=c(30741),f=c(11472),g=c(91536),h=c(50945),i=c(4405),j=c(93997),k=c(77093),l=c(20610),m=c(72626);let n=(0,m.h)("session-key-sender");async function o(a,b=50){let c=await (0,d.Xg)(a,{startLine:-b});return(0,e.aJ)(c)}async function p(a,b){let c=Date.now();for(;Date.now()-c<b;){let b=await o(a);if(e.hx.test(b))return;await new Promise(a=>setTimeout(a,200))}throw Error(`Prompt detection timeout (${b}ms)`)}async function q(a,b,c,f,g){if(!await (0,d.N)(a))throw Error(`Claude session ${a} does not exist. Start the session first.`);let h=await o(a);e.hx.test(h)||await p(a,f),await new Promise(a=>setTimeout(a,c)),await (0,i.FW)({sessionName:a,message:b,cliToolId:"claude",...void 0!==g?{target:g}:{}}),(0,j.gm)(a),n.info("sent-message-to-session",{sessionName:a})}async function r(a){try{await (0,d.N)(a)&&(await (0,d.V1)(a,"",!1),await (0,d.ds)(a,"C-d"),(0,j.gm)(a),await new Promise(a=>setTimeout(a,l.Zf)));let b=await (0,d.fY)(a);return b&&n.info("stopped-session",{sessionName:a}),b}catch(a){return n.error("session:stop-failed",{error:(0,k.u1)(a)}),!1}}var s=c(79646),t=c(28354),u=c(79748),v=c(97179),w=c(31347),x=c(40964),y=c(22354),z=c(43252),A=c(80252),B=c(1305),C=c(95375),D=c(2669),E=c(69130),F=c(49973),G=c(96898),H=c(77662),I=c(46689);let J=(0,m.h)("claude-session"),K=(0,t.promisify)(s.exec),L="trust-dialog-key-skipped";class M extends D.Sr{constructor(a,b,c,d){super("Claude Code",a,b),this.message=`Claude Code did not reach its input prompt within ${Math.round(b/1e3)}s (initialization timeout): the tmux session '${a}' is stopped on ${c} This is not a slow start, so waiting will not move it. The message was not delivered. ${d}`,this.name="ClaudeStartupDialogStalledError"}}function N(a,b,c,d,e){(0,G.mG)(J,b.skips,L,{sessionName:a,key:c,reason:d},e),b.lastSkip=d}async function O(a,b,c,d=(0,F.KC)(),f=(0,F.nF)(a)){if(null!==c.pollsSinceAnswer&&c.pollsSinceAnswer++,null!==c.pollsSinceMove&&c.pollsSinceMove++,null===b)return;c.seen||(c.seen=!0,c.shellTellsExit=await R(a));let g=(0,e.lQ)(b);if(null===g)return void N(a,c,null,"cursor-unreadable",f);if(1===g.length){if(!(null===c.pollsSinceAnswer||c.pollsSinceAnswer>=10&&c.answers<3))return;let b=(0,F.nF)(a);try{let e=await P(a,d,"Enter",c.skips);if(null!==e)return void N(a,c,"Enter",e,b);(0,G.cu)(c.skips,L),c.pollsSinceAnswer=0,c.answers++,J.info("trust-dialog-detected",{keys:"Enter",attempt:c.answers})}catch{N(a,c,"Enter","send-failed",b)}return}if(null!==c.pollsSinceMove&&c.pollsSinceMove<3)return;if(c.moves>=20)throw new D.mR("Claude Code",a,'trust dialog: cursor did not reach "Yes, I trust this folder"');let h=(0,F.nF)(a);try{let b=await P(a,d,g[0],c.skips);if(null!==b)return void N(a,c,g[0],b,h);(0,G.cu)(c.skips,L),c.pollsSinceMove=0,c.moves++,J.info("trust-dialog-cursor-move",{key:g[0],attempt:c.moves})}catch{N(a,c,g[0],"send-failed",h)}}async function P(a,b,c,f){let g=await (0,F.x7)(a,b,async()=>{let b=await W(a);if(!(0,e.lX)(b))return!1;let d=(0,e.lQ)(b);return null!==d&&("Enter"===c?1===d.length:d.length>1&&d[0]===c)},()=>"Enter"===c?(0,d.V1)(a,"",!0):(0,d.KB)(a,[c]),{mode:"exclusive",repeatScope:f});return g.answered?null:g.reason}async function Q(a){let b=await S(a);return null!==b&&(0,e.U1)(b)}async function R(a){let b=await S(a);return null!==b&&!(0,e.U1)(b)}async function S(a){try{let b=await (0,d.Hg)(a);return"string"==typeof b?b:null}catch{return null}}let T=(0,g.H7)("claude"),U=null;async function V(){if(U)return U;let a=process.env.CLAUDE_PATH;if(a&&(/^[/a-zA-Z0-9._-]+$/.test(a)?!a.includes("..")||(J.info("claudepath-contains-path"),!1):(J.info("claudepath-contains-invalid-characters-i"),!1)))try{return await (0,u.access)(a,u.constants.X_OK),U=a}catch{J.info("claude-path-env-not-executable")}try{let{stdout:a}=await K("which claude",{timeout:5e3});return U=a.trim()}catch{for(let a of["/opt/homebrew/bin/claude","/usr/local/bin/claude","/usr/bin/claude"])try{return await K(`test -x "${a}"`,{timeout:1e3}),U=a}catch{}throw Error("Claude CLI not found. Set CLAUDE_PATH environment variable or install Claude CLI.")}}async function W(a,b=50){let c=await (0,d.Xg)(a,{startLine:-b});return(0,e.aJ)(c)}async function X(a){let b=await (0,h.Q)(a,T);return b.alive?{healthy:!0}:{healthy:!1,reason:b.reason}}async function Y(a){return!!(await X(a)).healthy||(J.warn("claude-session-unhealthy"),await (0,d.fY)(a),!1)}function Z(a,b){return(0,x.mf)("claude",a,b)}async function $(){try{return await K("which claude",{timeout:5e3}),!0}catch{return!1}}async function _(a,b){let c=Z(a,b);return!!await (0,d.N)(c)&&(!!(await X(c)).healthy||(J.warn("claude-session-unhealthy"),!1))}async function aa(a){let{worktreeId:b,worktreePath:c,instanceId:g,model:h}=a;if(void 0!==h){let a=(0,A.LB)(h);if(!a.valid)throw Error(`Invalid Claude model name: ${a.reason}`)}if(!await $())throw new D.lU("Claude Code","Claude CLI is not installed or not in PATH");let i=Z(b,g);if(await (0,d.N)(i)&&(await (0,w.St)(i,c),await Y(i))){await (0,d.zT)(i),J.info("claude-session-exists");return}(0,B.Fq)({worktreeId:b,cliToolId:y.vm,instanceId:g});try{let a=await V(),k=(0,B.wK)({target:{worktreeId:b,cliToolId:y.vm,instanceId:g},executablePath:a,worktreePath:c}),l=void 0===h?k:`${k} --model ${(0,z.ZL)(h)}`;await (0,d.jw)({sessionName:i,workingDirectory:c}),await K("tmux set-environment -g -u CLAUDECODE 2>/dev/null || true"),await (0,I.$)(i,["unset CLAUDECODE",(0,E.Y)(l)]);let m=Date.now(),n=!1,o={pollsSinceAnswer:null,pollsSinceMove:null,answers:0,moves:0,lastSkip:null,skips:(0,G.YT)(),seen:!1,shellTellsExit:!1},p=null;for(;Date.now()-m<6e4;){var j;await new Promise(a=>setTimeout(a,300));let a=null,b=(0,F.KC)(),c=(0,F.nF)(i);try{a=await W(i)}catch{}if(null===a)continue;p=a;let d=(0,e.lX)(a);if(await O(i,d?a:null,o,b,c),!d&&e.hx.test(a)){await new Promise(a=>setTimeout(a,500)),J.info("claude-initialized"),n=!0;break}if(!d&&o.shellTellsExit&&await Q(i))throw new D.mR("Claude Code",i,"trust dialog: Claude Code exited to the shell");let g=(j=a,(0,f.ow)(j,T));if(null!==g)throw new D.mR("Claude Code",i,g)}if(!n)throw function(a,b,c){if(null!==b&&(0,e.lX)(b)){let b=c.answers+c.moves,d=0===b?`no key reached it (${c.lastSkip??"no key was due"})`:`it stayed open after ${b} keys`;return new M(a,6e4,`the folder-trust dialog, and ${d}. Enter is never pressed while the cursor is on "No, exit".`,"A send on its own does not answer this dialog: run `commandmate capture <worktree-id>` to see it, clear it in a terminal with `commandmate attach <worktree-id>` (each with --instance for a named instance), then send the message again. A retry before that will not get through.")}return null!==b&&(0,e.cd)(b)?new M(a,6e4,'"Make auto mode your default permission mode?", which did not take its keys. No keeps the current mode.',"Send it again, or run `commandmate capture <worktree-id>` to see the dialog."):new D.Sr("Claude Code",a,6e4)}(i,p,o);J.info("started-claude-session")}catch(a){if(U=null,J.error("session:start-failed",{error:a instanceof Error?a.message:String(a)}),(0,D.su)(a))throw a;throw Error("Failed to start Claude session")}}async function ab(a,b,c){let d=Z(a,c);await (0,H.Vk)(d,"Claude Code"),await (0,v.D0)(d),await q(d,b,500,1e4,{worktreeId:a,instanceId:c})}async function ac(a,b=1e3,c){let e=Z(a,c);if(!await (0,d.N)(e))throw Error(`Claude session ${e} does not exist`);try{return await (0,d.Xg)(e,{startLine:-b})}catch(a){throw Error(`Failed to capture Claude output: ${a instanceof Error?a.message:String(a)}`)}}async function ad(a,b){let c=Z(a,b),d=await r(c);return(0,C.discardAgentEventState)(a,"claude",b),d}},58546:(a,b,c)=>{c.d(b,{R:()=>e});var d=c(47967);let e={composer:d.Z,dialogTop:(0,d.u)(/△ Permission required|┃\s*Questions\s*$/),composerHidesDialogs:!1}},58846:(a,b,c)=>{c.d(b,{j:()=>g});var d=c(94154),e=c(68652),f=c(70605);let g={composer:(0,f.W2)(a=>(0,d.p4)(a)?.openingSeparator??-1),dialogTop:(0,f.o6)({footer:e._,rule:/^─{10,}$/,maxRows:120}),composerHidesDialogs:!0}},61244:(a,b,c)=>{c.d(b,{$N:()=>i,Tq:()=>g,jW:()=>n,yi:()=>h});let d=String.raw`←\s*(?:[☐☒☑][^←→☐☒☑✔]*)+✔\s*Submit\s*→`;RegExp(`^${d}\\s*`);let e=RegExp(`^\\s?${d}$`),f=/^\s?[☐☒☑] [^\s\d←→☐☒☑✔][^←→☐☒☑✔]{0,40}$/,g=/Enter\s+to\s+select\b.*\bnavigate\b/i;function h(a){let b=a.trimEnd();return e.test(b)||f.test(b)}function i(a,b,c){let d=Math.max(0,b-c);for(let c=b-1;c>=d;c--)if(h(a[c]??""))return c;return -1}let j=/┌(─+)┐\s*$/,k=/^\s*(?:[❯›>]\s*)?1\.\s+\S/,l=/^( *)└(─+)┘\s*$/,m=/^\s*(?:[❯›>]\s*)?\d{1,2}\.\s+\S|^\s{2,}\S/;function n(a,b,c){let d=new Set,e=new Map,f=Math.min(c,a.length);for(let c=Math.max(0,b);c<f;c++){let b=a[c];if(!b.includes("┌"))continue;let h=j.exec(b);if(!h||!k.test(b.slice(0,h.index)))continue;let i=-1,n=0;for(let b=c+1;b<Math.min(f,c+80);b++){let c=l.exec(a[b]);if(c&&c[2].length===h[1].length){i=b,n=c[1].length;break}}if(i<0)continue;let o=[i],p=[[c,h.index]];for(let b=c+1;b<i;b++){let c=a[b].indexOf("│"),d=c>0?a[b].slice(0,c):"";""!==d.trim()&&m.test(d)?p.push([b,c]):o.push(b)}let q=i+1;for(;q<f;q++){let b=a[q];if(""!==b.trim()){if(b.length-b.trimStart().length!==n)break;o.push(q)}}if(function(a,b){let c=0;for(let d=b;d<a.length&&c<4;d++){let b=a[d];if(""!==b.trim()){if(g.test(b))return!0;c++}}return!1}(a,q)){for(let a of o)d.add(a);for(let[a,b]of p)e.set(a,b);c=q-1}}return{rows:d,cuts:e}}},61878:(a,b,c)=>{c.d(b,{h9:()=>p,Yc:()=>r,zJ:()=>q,j4:()=>s});var d=c(30741),e=c(68652),f=c(46423),g=c(52112),h=c(58846),i=c(85237),j=c(46749),k=c(83342),l=c(89021),m=c(58546);let n={claude:h.j,codex:i.YH,antigravity:g.H,"command-code":j.E,copilot:k.b,opencode:l.m,"opencode-v2":m.R};var o=c(70605);let p=15;function q(a,b){let c=(0,e.N)((0,d.aJ)(a)),g=c.split("\n"),h=g.length-1;for(;h>=0&&""===g[h].trim();)h--;let i=g.slice(0,h+1);return{raw:a,clean:c,lines:g,contentLines:i,liveRegion:(0,o.BA)(void 0===b?void 0:n[b],b??null,{raw:a,contentLines:i}),lastLines:i.slice(-p).join("\n"),thinkingLines:i.slice(-f.$).join("\n")}}function r(a,b){return a.liveRegion.tool===b?a.liveRegion:(0,o.BA)(n[b],b,{raw:a.raw,contentLines:a.contentLines})}function s(a,b){let c=r(a,b);return c===a.liveRegion?a:{...a,liveRegion:c}}},67121:(a,b,c)=>{c.d(b,{Cj:()=>d,Gc:()=>i,HD:()=>k,ZH:()=>o,_j:()=>h,hK:()=>n,ie:()=>f});let d=/^[-─]+$/,e=/^[⏺⎿●○•✔✓✖✗✘›»❯└├>]/,f=12,g=/^[⎿└├]/;function h(a){return a.length-a.trimStart().length}function i(a,b,c){let d=1/0;for(let e=b;e<Math.min(c,a.length);e++){let b=a[e];void 0!==b&&""!==b.trim()&&(d=Math.min(d,h(b)))}return d===1/0?0:d}function j(a){if(void 0===a)return!1;let b=a.trim();return""!==b&&(e.test(b)||d.test(b))}function k(a,b,c=b+1){let{start:d,completeness:e}=l(a,b,c);return{start:d,completeness:e}}function l(a,b,c){let d=Math.max(0,b-f),e=i(a,b,c),k=-1,l=0,m=!0,n=new Set;for(let c=b-1;c>=d;c--){let b=a[c];if(void 0===b||""===b.trim())continue;let f=h(b)<=e,i=j(b);if(i&&f)return{start:(k>=0?k:c)+1,completeness:"complete",cutFrom:c};if(!f){i&&k<0&&(k=c),l++,m&&=g.test(b.trim());continue}let o=b.trim();if(k>=0&&l>0&&m&&n.has(o)&&function(a,b,c,d){for(let e=b-1;e>=c;e--){let b=a[e];if(void 0!==b&&""!==b.trim())return h(b)<=d&&j(b)}return!1}(a,c,d,e))return{start:k+1,completeness:"complete",cutFrom:c};n.add(o),k=-1,l=0,m=!0}return{start:k>=0?k+1:d,completeness:function(a,b){if(0===b)return"top-unknown";for(let c=0;c<b;c++){let b=a[c];if(void 0!==b&&""!==b.trim())return"truncated"}return"complete"}(a,d),cutFrom:d}}let m=/^>/;function n(a,b,c){let{start:d,completeness:e,cutFrom:f}=l(a,b,c);return a.slice(f,d).some(a=>void 0!==a&&m.test(a.trim()))?{start:d,completeness:"truncated"}:{start:d,completeness:e}}function o(a,b,c){let d=a.slice(b,c).map(a=>a.trimEnd()).join("\n").trim();return d.length>0?d:void 0}},67208:(a,b,c)=>{c.d(b,{r:()=>d,x:()=>e});let d=/\btype\s+to\s+search\b|\bsearch\s+\w+\s*(?:…|\.\.\.)|(?:^|·)\s*\/\s+search\b/im,e=/^\s*(?:❯ +)?Approve\s+ctrl\+a\b[^\n]*\n\s*(?:❯ +)?Cancel\s+esc\s*$/im},68652:(a,b,c)=>{c.d(b,{N:()=>h,_:()=>g});let d=/^(?:\s|\x1b\[[0-9;]*m)*Esc\s+to\s+cancel\s*[·•]\s*Tab\s+to\s+amend/i,e=/^(?:\s|\x1b\[[0-9;]*m)*Enter\s+to\s+select\b.*\bnavigate\b/i,f=/^\s*[>❯›]\s*(?:\d{1,2}[.)])?|esc\s+to\s+interrupt|[✻✽✶✢✳⦿◉●⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏]\s+.+…/i;function g(a){return d.test(a)||e.test(a)}function h(a){if(""===a)return"";let b=a.split("\n"),c=-1;for(let a=b.length-1;a>=0;a--)if(g(b[a])){c=a;break}let d=b;return c>=0&&(d=b.slice(c+1).some(a=>f.test(a))?b.slice(c+1):b.slice(0,c+1)),(function(a){let b=[],c=!1;for(let d of a){let a=""===d.trim();a&&c||(b.push(d),c=a)}for(;b.length>0&&""===b[b.length-1].trim();)b.pop();return b})(d).join("\n")}},69130:(a,b,c)=>{c.d(b,{Y:()=>d});function d(a){return`clear 2>/dev/null; printf '\\033[3J'; ${a}`}},70605:(a,b,c)=>{function d(a,b){return{tool:a,anchor:"none",startRow:0,composerAtBottom:!1,composerHidesDialogs:!1,lines:b}}function e(a,b,c){let{contentLines:e}=c;if(void 0===a)return d(b,e);let f=a.composer.locate(c);if(null!==f)return{tool:b,anchor:"composer",startRow:f.start,composerEndRow:f.end??f.start,composerAtBottom:f.atBottom??!0,composerHidesDialogs:a.composerHidesDialogs,lines:e.slice(f.start)};let g=a.dialogTop?.locate(c)??null;return null!==g?{tool:b,anchor:"dialog",startRow:g.start,composerAtBottom:!1,composerHidesDialogs:a.composerHidesDialogs,lines:e.slice(g.start)}:d(b,e)}function f(a,b){return b.isPrompt&&b.promptData?.type==="multiple_choice"&&a.composerAtBottom&&a.composerHidesDialogs}function g(a,b){return null!==b&&!!a.composerAtBottom&&("numbered"===b.answerMode||a.composerHidesDialogs)}function h(a){return{locate({contentLines:b}){let c=a(b);return c<0?null:{start:c,end:m(b),atBottom:!0}}}}function i(a){return{locate(b){let{contentLines:c}=b;for(let d=c.length-1;d>=0;d--)if(a.isComposerRow(c[d]))return{start:d,end:d,atBottom:a.atBottom(b,d)};return null}}}function j(a){return{locate({contentLines:b}){let c=a(b);return c<0?null:{start:c}}}}c.d(b,{$$:()=>g,BA:()=>e,Sx:()=>m,W2:()=>h,lU:()=>i,o6:()=>l,uM:()=>j,z8:()=>f});let k=/^\s*(?:[❯›>●]\s*)?1[.)]\s+\S/;function l(a){return j(b=>{let c=-1;for(let d=b.length-1;d>=0;d--)if(a.footer(b[d])){c=d;break}if(c<0)return -1;let d=Math.max(0,c-a.maxRows),e=-1;for(let a=c-1;a>=d;a--)if(k.test(b[a])){e=a;break}if(e<0)return -1;for(let c=e-1;c>=d;c--)if(a.rule.test(b[c].trimEnd()))return c;return -1})}function m(a){let b=a.length-1;for(;b>=0&&""===a[b].trim();)b--;return b}},76777:(a,b,c)=>{c.d(b,{D:()=>d});function d(a,b,c){let d=new TextEncoder;if(d.encode(a).length<=b)return a;let e=b-d.encode(c).length,f=0,g="";for(let b of a){let a=d.encode(b).length;if(f+a>e)break;f+=a,g+=b}return`${g}${c}`}},77093:(a,b,c)=>{c.d(b,{u1:()=>d});function d(a){return a instanceof Error?a.message:String(a)}},81671:(a,b,c)=>{c.d(b,{O8:()=>d});function d(a){let b=a.split("\n"),c=(b.length>200?b.slice(-200):b).join("\n");return c.length>5e3&&(c=c.slice(-5e3)),c}},83342:(a,b,c)=>{c.d(b,{b:()=>f});var d=c(30741),e=c(70605);let f={composer:(0,e.W2)(a=>(0,d.wv)(a)),dialogTop:(0,e.uM)(function(a){let b=(0,e.Sx)(a),c=-1;for(let d=b;d>=Math.max(0,b-2);d--)if(a[d].trimStart().startsWith("╰")){c=d;break}if(c<0)return -1;for(let b=c-1;b>=Math.max(0,c-120);b--)if(a[b].trimStart().startsWith("╭"))return b;return -1}),composerHidesDialogs:!1}},85237:(a,b,c)=>{c.d(b,{Bh:()=>j,Ut:()=>i,YH:()=>k});var d=c(30741),e=c(65912),f=c(94154),g=c(51297),h=c(70605);function i(a){for(let b=a.length-1;b>=Math.max(0,a.length-10);b--){let c=a[b];if(d.aW.test(c)||d.UO.test(c))return b}return -1}function j(a){let b=i(a),c=b>=0?b-1:a.length-1;for(;c>=0&&""===a[c].trim();)c--;return c+1}let k={composer:{locate({raw:a,contentLines:b}){let c=j(b),i=(0,e.Gs)(a,b,c),k=(0,d.RK)(b);if(k>=0)return{start:k,end:function(a,b,c,d){let e=a.split("\n"),h=(0,f.mO)(e);if(null===h||(0,g.aJ)(e[h.firstRow]).trim()!==b[c]?.trim())return c;let i=Math.min(c+(h.lastRow-h.firstRow),d-1);return Math.max(c,i)}(a,b,k,c),atBottom:i};if(!i)return null;let l=(0,h.Sx)(b.slice(0,c));return l<0?null:{start:l,end:l,atBottom:!0}}},composerHidesDialogs:!0}},87673:(a,b,c)=>{c.d(b,{H0:()=>o,SQ:()=>k,sr:()=>n});var d=c(79892),e=c(93997),f=c(94154),g=c(95595),h=c(72626),i=c(7321);let j=(0,h.h)("composer-clear");function k(a,b){let c=(0,f.Zs)(a,b);if("codex"!==b||"no_composer"!==c.state)return c;let d=a.split("\n"),e=(0,f.Di)(d);if(e<0)return c;let g=(0,f.q9)(d,e);return"content"===g.state?g:c}let l=/^\[Pasted Content \d+ chars?\]$/,m=a=>new Promise(b=>setTimeout(b,a));async function n(a,b,c={}){let f=c.capture??(a=>(0,d.Xg)(a,200)),g=c.sendClear??d.ou,h=c.delay??m,i=c.maxPasses??12,o=0,p=k(c.initialCapture??await f(a),b),q="content"===p.state?p.text:"";for(;"content"===p.state&&o<i;){var r;if(void 0!==c.beforePass&&!c.beforePass()){j.warn("composer-clear:not-owner",{sessionName:a,cliToolId:b,passes:o});break}(r=p,"codex"===b&&"content"===r.state&&l.test(r.text.trim()))?await (c.sendClearPasteToken??d.kz)(a):await g(a),o++,await h(120),p=k(await f(a),b)}o>0&&(0,e.gm)(a);let s="empty"===p.state||"ghost"===p.state;return s||j.warn("composer-clear:not-cleared",{sessionName:a,cliToolId:b,passes:o,state:p.state}),{cleared:s,passes:o,state:p.state,remainingText:p.text,discardedText:q}}async function o(a,b){let c,e;try{c=await (0,d.Xg)(a,200),e=(0,g.WC)(c,b).hasActivePrompt}catch(d){let c=d instanceof Error?d.message:String(d);throw j.error("input-recheck-failed",{sessionName:a,cliToolId:b,error:c}),Object.assign(Error(`Could not re-read session ${a} before typing (${c}); nothing was typed (Issue #3945).`),{code:i.$_})}if(e)throw j.warn("input-recheck-prompt-waiting",{sessionName:a,cliToolId:b}),Object.assign(Error(`A prompt dialog is open in session ${a} (re-checked under the input lock); nothing was typed (Issue #3945).`),{code:i.a9});return c}},89021:(a,b,c)=>{c.d(b,{m:()=>e});var d=c(47967);let e={composer:d.Z,dialogTop:(0,d.u)(/△ Permission required/),composerHidesDialogs:!1}},90304:(a,b,c)=>{c.d(b,{ie:()=>p.ie,xe:()=>H,rS:()=>I,HD:()=>p.HD,QI:()=>n,J0:()=>A,ZH:()=>p.ZH,N0:()=>o});var d=c(68652),e=c(30741),f=c(79204),g=c(31239),h=c(23479),i=c(61244);let j=/^\s*[…]?\s*[+\-↑↓⏵⏷]?\s*\d+\s+(?:pending|more|completed)\b/i,k=/^\s*\d{1,3}\s+tasks?\s+\(\d+\s+done\b/i,l=/^\s*[◼◻]\s/,m=/^(?:No changes this session|\+\d+ files? edited before this session \(show\))$/;function n(a,b,c){let d=function(a,b,c){let d=new Set;for(let e=Math.max(0,b);e<Math.min(c,a.length);e++){if(m.test(a[e].trim())){d.add(e);continue}if(k.test(a[e])){d.add(e);for(let b=e+1;b<Math.min(c,a.length);b++){let c=a[b];if(!l.test(c)&&!j.test(c))break;d.add(b)}}}return d}(a,b,c),e=(0,i.jW)(a,b,c);for(let a of e.rows)d.add(a);return{rows:d,cuts:e.cuts}}function o(a,b){return a.map((a,c)=>{if(b.rows.has(c))return"";let d=b.cuts.get(c);return void 0===d?a:a.slice(0,d).trimEnd()})}var p=c(67121);let q=/^\s*[\u276F\u25CF\u203A][^\d]*(\d+)(?:\.(?!\d)|\s{2,})\s*(.+)$/,r=/^\s*[^\d]{0,3}(\d+)(?:\.(?!\d)|\s+)\s*(.+)$/,s=/^\s{3,}\S/,t=/^\s*\[[^\]]*\d+\s+lines?\]/i,u=/Esc\s+to\s+cancel\s*[·•]\s*Tab\s+to\s+amend/i,v=i.Tq,w=/press\s+(?:enter|number)\s+to\s+confirm/i,x=/press\s+number\s+to\s+confirm/i,y=/(?:select|choose|pick|which|what|how|where|enter|type|specify|confirm|approve|accept|reject|decide|preference|option)/i,z=[/type\s+here/i,/tell\s+(me|claude)/i,/enter\s+/i,/custom/i,/differently/i];function A(a){return(0,g.$y)(a)}function B(a,b){if(0===b.length)return!0;let c=b[0].number;return a<c&&a>=c-2}function C(a){return{isPrompt:!1,cleanContent:a.trim()}}function D(a){return 0!==a.length&&!!(a.includes("?")||a.includes("?")||y.test(a))}function E(a,b){let c=b.endsWith("?")||b.endsWith("?");return!!(!c&&/^\s{2,}[^\d]/.test(a)&&!/^\s*\d+\./.test(a)||!c&&/^\s{4,}/.test(a)&&!/^\s*\d+\.\s/.test(a)||b.length<5&&!c||/^[\/~]/.test(b)||b.length>=2&&/^[a-zA-Z0-9_-]+$/.test(b))}let F=/^[❯›]\s(?!\s*\d+[.)]\s)/,G=/^─*\s*Worked for\s+(?:\d+h\s*)?(?:\d+m\s*)?\d+s\b/;function H(a,b,c,d,e,f,g){let{instructionText:h,approvalTarget:i,approvalContext:j}=c??{};return{isPrompt:!0,promptData:{type:"multiple_choice",question:a.trim(),options:b.map(a=>{let b=z.some(b=>b.test(a.label));return{number:a.number,label:a.label,isDefault:a.isDefault,requiresTextInput:b}}),status:"pending",instructionText:h,...void 0!==i?{approvalTarget:i}:{},...void 0!==i&&j?.completeness==="truncated"?{approvalTargetCompleteness:"truncated"}:{},...f?{submitMode:f}:{},...g?{isAskUserQuestion:!0}:{}},cleanContent:a.trim(),rawContent:e(d.trim()),...void 0!==j?{approvalContext:j}:{}}}function I(a,b,c){if(a=(0,d.N)(a),b?.hasNumberedDialogs===!1)return C(a);let g=b?.requireDefaultIndicator??!0,k=a.split("\n"),{scanStart:l,effectiveEnd:m,hasAskUserQuestionFooter:o}=function(a){let b=a.length;for(;b>0&&""===a[b-1].trim();)b--;let c=Math.max(0,b-50),d=!1;for(let e=b-1;e>=c;e--){let c=v.test(a[e]);if(u.test(a[e])||c){b=e,d=c;break}}return{scanStart:c,effectiveEnd:b,hasAskUserQuestionFooter:d}}(k),y=k.slice(l,m);if(function(a){for(let b of a)if(e.l8.test(b))return!0;return!1}(y))return C(a);let{hasConfirmationFooter:z,hasNumberFooter:A}=function(a){let b=!1,c=!1;for(let d of a){let a=d.trim();if(!b&&w.test(a)){b=!0,x.test(a)&&(c=!0);break}}return{hasConfirmationFooter:b,hasNumberFooter:c}}(y);if(g&&!function(a){for(let b of a){let a=b.trim();if(q.test(a))return!0}return!1}(y)&&!z)return C(a);let I=function(a,b,c){let d={collectedOptions:[],optionRows:[],rowsBelow:[],questionEndIndex:-1,continuationLineCount:0,paneWrap:[]},e=n(a,b,c);for(let i=c-1;i>=b;i--){var f,g,h;if(e.rows.has(i)){d.continuationLineCount++;continue}let b=e.cuts.get(i),c=void 0===b?a[i]:a[i].slice(0,b).trimEnd(),k=c.trim();if((f=d,g=c,h=k,void 0!==b&&s.test(g)?(f.paneWrap.unshift(h),f.continuationLineCount++,!!0):!(t.test(h)||j.test(h))||(f.continuationLineCount++,!!0))&&!function(a,b,c,d){let e=c.match(q);if(e){let c=parseInt(e[1],10);if(c<=20&&B(c,a.collectedOptions))return J(a,b,c,e[2],!0,d),!0}let f=c.match(r);if(f){let c=parseInt(f[1],10);if(c>20);else if(B(c,a.collectedOptions))return J(a,b,c,f[2],!1,d),!0}return!1}(d,c,k,b)){if(0===d.collectedOptions.length&&(k.startsWith("❯")||k.startsWith("●")||k.startsWith("›")))return null;if(0===d.collectedOptions.length&&k&&/^\s{3,}/.test(c)&&d.rowsBelow.unshift(c),d.collectedOptions.length>0&&k&&!p.Cj.test(k)&&"break"===function(a,b,c,d){if(/^\s{4,}/.test(b)&&E(b,c))return(a.rowsBelow.unshift(b),a.continuationLineCount++,a.continuationLineCount>25)?(a.questionEndIndex=d,"break"):"continue";if(D(c))return a.questionEndIndex=d,"break";if(E(b,c)){a.rowsBelow.unshift(b),a.continuationLineCount++;let c=/^\s{4,}/.test(b)?25:5;return a.continuationLineCount>c?(a.questionEndIndex=d,"break"):"continue"}return a.questionEndIndex=d,"break"}(d,c,k,i))break}}return{collectedOptions:d.collectedOptions,optionRows:d.optionRows,questionEndIndex:d.questionEndIndex}}(k,l,m);if(null===I)return C(a);let{collectedOptions:K,optionRows:L,questionEndIndex:M}=I;if(!function(a,b,c,d,e,f){var g,h,i;if(!function(a){if(0===a.length||1!==a[0])return!1;let b=0;for(let c=1;c<a.length;c++){let d=a[c]-a[c-1];if(d<1||d>2||(2===d&&b++,b>1))return!1}return!0}(a.map(a=>a.number)))return!1;let j=a.some(a=>a.isDefault);return!(a.length<2)&&(!b||!!j||!!(b&&c))&&(!!b||!!j||(g=d,h=e,i=f,-1!==g&&(!!D(h[g]?.trim()??"")||!!function(a,b,c,d){let e=Math.max(d,b-3);for(let c=b-1;c>=e;c--){let b=a[c]?.trim()??"";if(!(!b||p.Cj.test(b))&&D(b))return!0}return!1}(h,g,0,i))))}(K,g,z,M,k,l))return C(a);let N=M<0?0:(0,i.$N)(k,M,p.ie)+1,O=function(a,b,c=0,d=b+1){if(b<0)return"Please select an option:";let e=Math.max(c,b-5),g=Math.max(e,function(a,b,c,d,e){let g=(0,p.Gc)(a,b,d);for(let d=b-1;d>=c;d--){let b=a[d];if(void 0!==b&&""!==b.trim()&&(0,p._j)(b)<g&&F.test(b.trim())&&function(a,b,c){for(let d=b-1;d>=c;d--){let b=a[d];if(void 0!==b&&""!==b.trim())return f.W1.test(b)||G.test(b.trim())}return!1}(a,d,e))return d}return -1}(a,b,e,d,c)),h=[];for(let c=g;c<=b;c++){let b=a[c].trim();b&&!p.Cj.test(b)&&h.push(b)}return h.join(" ")}(k,M,N,m),P=function(a,b,c){if(b<0)return;let d=Math.max(0,b-19),e=a.slice(d,c).map(a=>a.trimEnd()).join("\n").trim();return e.length>0?e:void 0}(k,M,m),Q=H(O,K,{instructionText:P,...function(a,b,c,d=0){if(b<0)return;let e=(0,p.HD)(a,b,c),f=d>0&&d>=e.start,g=Math.max(d,e.start);return{approvalTarget:(0,p.ZH)(a,g,c),approvalContext:{startRow:g,endRow:c,completeness:f?"complete":e.completeness}}}(k,M,m,N)},a,c,z?A?"answer_only":"answer_then_enter":void 0,o);if(!o)return Q;let R=(0,h.JF)(k);return{...Q,optionRecommendations:K.map((a,b)=>(function(a,b,c){if(void 0===b)return"unknown";let[d]=b.rowsBelow;if(void 0===d)return(0,h.e3)(a);if(b.besidePane)return"unknown";if((0,h.GP)(b.row,d,c))return(0,h.e3)(a);if(!(0,h.iU)(d))return"unknown";let e=b.rowsBelow[1];return!!(void 0===e||(0,h.GP)(d,e,c))||"unknown"})(a.label,L[b],R))}}function J(a,b,c,d,e,f){let g=[d.trim(),...a.paneWrap].join(" ");a.optionRows.unshift({row:b,besidePane:void 0!==f||a.paneWrap.length>0,rowsBelow:a.rowsBelow}),a.rowsBelow=[],a.paneWrap=[],a.collectedOptions.unshift({number:c,label:g,isDefault:e}),a.continuationLineCount=0}},90706:(a,b,c)=>{c.d(b,{CR:()=>p,Gr:()=>f,Iu:()=>B,a9:()=>j,jZ:()=>g,lx:()=>o,sb:()=>q,sl:()=>l,tH:()=>n,uG:()=>A,ur:()=>t,yt:()=>m,zM:()=>u});var d=c(51297),e=c(67208);let f=/\benter\s+to\s+select\b\s*[·•]\s*esc\s+to\s+cancel\b/i,g=/^\s*(?:press|hit|type)?\s*(?:<)?esc(?:ape)?(?:>)?\s+to\s+(?:close|dismiss|exit)\b[\s.·•]*$/im,h=/^\s*Approve\s+\([• ]\)\s+with\s+\d+\s+comments?\s+as\s+notes\s+\([• ]\)\s+original\s+plan\b/im,i=/(?:^|\n)[ \t]*←\/→\s+choose\s*·\s*enter\s+confirm\s*·\s*esc\s+back\s*$/i;function j(a){return h.test(a)&&i.test(a)}function k(a,b){return a.split("\n").filter(a=>""!==a.trim()).slice(-b).join("\n")}function l(a){return f.test(k(a,1))}function m(a){return g.test(k(a,1))}function n(a){return e.x.test(k(a,5))}let o=/^\u2500+$/,p=40,q="❯",r="●◉⦿",s=RegExp(`^\\s*([${r}◯○◌⚪✔])\\s+\\S`);function t(a){let b=a.split("|");if(b.length<2)return!1;let c=0,d=0;for(let a of b){let b=s.exec(a);if(null===b)return!1;r.includes(b[1])?c+=1:d+=1}return c>0&&d>0}let u=/\besc\s+to\s+interrupt\b|^[^\S\n]*✻[^\S\n]+\S/im,v=/^[^\S\n]*(?:\u276F[^\S\n]*)?1[.)][^\S\n]+Submit[^\S\n]*$/im,w=/^[^\S\n]*(?:\u276F[^\S\n]*)?2[.)][^\S\n]+Cancel[^\S\n]*$/im,x=/^[^\S\n]*\u2190[^\S\n]+to[^\S\n]+go[^\S\n]+back[^\S\n]+and[^\S\n]+edit[^\S\n]*$/im,y=/have\s+not\s+answered\s+all\s+questions/i;function z(a){if(!a)return null;let b=a.replace(/\r\n/g,"\n").split("\n").map(d.aJ),c=b.length-1;for(;c>=0&&""===b[c].trim();)c-=1;if(c<1)return null;let e=-1;for(let a=c-1;a>=0;a-=1){let c=b[a].trim();if(!(c.length<p)&&o.test(c)){e=a;break}}if(e<0)return null;let f=b.slice(e+1,c+1),g=f.findIndex(a=>""!==a.trim());return g<0||!t(f[g])?null:f}function A(a){let b=z(a);if(null===b)return null;let c=b.join("\n");if(!v.test(c)||!w.test(c)||!x.test(c))return null;let d=b.find(a=>v.test(a));return{hasUnansweredWarning:y.test(c),cursorOnSubmit:void 0!==d&&d.includes(q)}}function B(a){let b=z(a);if(null===b)return!1;let c=b.join("\n");return v.test(c)&&w.test(c)}},91010:(a,b,c)=>{c.d(b,{b:()=>m});var d=c(30741),e=c(26895),f=c(61878),g=c(70605),h=c(24680),i=c(37717);let j=["enforce","observe","legacy"],k={claude:"observe",copilot:"enforce",opencode:"enforce",codex:"legacy",gemini:"legacy",antigravity:"legacy","vibe-local":"legacy","command-code":"legacy","opencode-v2":"legacy"},l=(0,c(36925).v)("__idleEvidenceObservations",()=>new Map);function m(a){return{...a,detect:(b,c)=>(function(a,b,c={}){let m=(0,f.j4)(b,a.tool),n=a.beforePrompt?.(m)??null;if(n)return n;let o=(0,d.KO)(a.tool),p=(0,d.c)(a.tool)?(0,d._A)(m.clean):(0,d._A)(m.lastLines),q=(0,e.gF)(p,o);if(q.isPrompt)if((0,g.z8)(m.liveRegion,q))q={...q,isPrompt:!1,promptData:void 0};else if(a.isStalePrompt?.(m,q))q={...q,isPrompt:!1,promptData:void 0};else{if(!a.requireVouchedPrompt||c.isPromptVouched?.(q)!==!1)return(0,h._D)(i.g.PROMPT_DETECTED,q);q={...q,isPrompt:!1,promptData:void 0}}let r=a.afterPrompt?.(m,q)??null;if(r)return{...r,promptDetection:r.promptDetection??q};if(a.readThinking?a.readThinking(m):(0,d.ut)(a.tool,m.thinkingLines))return(0,h.Xx)("running",i.g.THINKING_INDICATOR,q);let s=a.afterThinking?.(m,q)??null;if(s)return{...s,promptDetection:s.promptDetection??q};if(!a.skipGenericInputPrompt){let{promptPattern:b}=(0,d._X)(a.tool);if(b.test(m.lastLines))return{status:"ready",confidence:"high",reason:i.g.INPUT_PROMPT,hasActivePrompt:!1,evidence:function(a,b){if(void 0===a.readIdleEvidence)return"positive";let c=function(a,b=process.env){let c=b.CM_DETECTION_IDLE_EVIDENCE,d=null,e=null;if("string"==typeof c&&""!==c.trim())for(let b of c.split(",")){let[c,f]=b.split("=");if(void 0===f)continue;let g=c.trim(),h=f.trim();j.includes(h)&&("*"===g?d=h:g===a&&(e=h))}return e??d??k[a]??"legacy"}(a.tool);if("legacy"===c)return"positive";let d=a.readIdleEvidence(b);var e=a.tool;let f=l.get(e)??{mode:c,positive:0,none:0};return f.mode=c,"positive"===d?f.positive+=1:f.none+=1,l.set(e,f),"observe"===c?"positive":d}(a,m),promptDetection:q}}return c.lastOutputTimestamp&&Date.now()-c.lastOutputTimestamp.getTime()>5e3?(0,h.Ru)(i.g.NO_RECENT_OUTPUT,q):(0,h.Ru)(a.unreadableReason??i.g.DEFAULT,q)})(a,b,c),detectDialog:a.detectDialog?b=>{let c=(0,f.j4)(b,a.tool),d=a.detectDialog(c);return(0,g.$$)(c.liveRegion,d)?null:d}:()=>null,hasDialogRules:void 0!==a.detectDialog}}},91478:(a,b,c)=>{c.d(b,{Dk:()=>h,a9:()=>f.a9,f_:()=>i,sl:()=>f.sl,tH:()=>f.tH,uG:()=>f.uG,yt:()=>f.yt});var d=c(51297),e=c(67208);c(69082);var f=c(90706);let g=/^[^0-9A-Za-z]*([1-9])[.)]\s+\S/;function h(a){let b=j(a);return null!==b&&b.numbers.every((a,b)=>a===b+1)&&1===b.cursorCount?{ruleLineIndex:b.ruleLineIndex,firstLineIndex:b.firstLineIndex,lastLineIndex:b.lastLineIndex,tabLineIndex:b.tabLineIndex,cursorLineIndex:b.cursorLineIndex,cursorOnOptionRow:b.cursorOnOptionRow,optionCount:b.numbers.length}:null}function i(a){return null!==j(a)}function j(a){if(!a)return null;let b=a.replace(/\r\n/g,"\n").split("\n").map(d.aJ),c=b.length-1;for(;c>=0&&""===b[c].trim();)c-=1;if(c<1)return null;let h=-1;for(let a=c-1;a>=0;a-=1){let c=b[a].trim();if(!(c.length<f.CR)&&f.lx.test(c)){h=a;break}}if(h<0)return null;let i=b.slice(h+1,c+1),j=i.join("\n");if(e.r.test(j)||f.Gr.test(j)||f.jZ.test(j)||f.zM.test(j))return null;let k=i.findIndex(a=>""!==a.trim());if(k<0||!(0,f.ur)(i[k]))return null;let l=[],m=-1;for(let a=k+1;a<i.length;a+=1){let b=g.exec(i[a]);null!==b&&(m<0&&(m=a),l.push(Number(b[1])))}if(l.length<2||!i.slice(k+1,m).some(a=>""!==a.trim()))return null;let n=0,o=-1,p=!1;for(let a=0;a<i.length;a+=1){let b=i[a].split(f.sb).length-1;0!==b&&(n+=b,o=a,p=g.test(i[a]))}return 0===n?null:{ruleLineIndex:h,firstLineIndex:h+1,lastLineIndex:c,tabLineIndex:h+1+k,numbers:l,cursorCount:n,cursorLineIndex:h+1+o,cursorOnOptionRow:p}}},91536:(a,b,c)=>{c.d(b,{H7:()=>i});var d=c(30741),e=c(11472);let f={probeCaptureLines:50,shellPromptEndings:e.Bl,maxShellPromptLength:e.w9,fatalPatterns:[],fatalRegexPatterns:[]},g={aliveTailLines:12,shellPromptPatterns:e.vg,unreadableIsExited:!1},h={claude:{...f,alivePatterns:[d.hx],aliveTailLines:null,shellPromptPatterns:e.vg,unreadableIsExited:!0,fatalPatterns:d.F0,fatalRegexPatterns:d.Fw},codex:{...f,...g,alivePatterns:[d.gm,d.sB,d.Mt]},copilot:{...f,...g,alivePatterns:[d.Du,d.Ub,d.tJ,d.rb]},opencode:{...f,...g,alivePatterns:[d.vU,d.uA,d.Cc,d.LO,d.a2]},gemini:{...f,...g,alivePatterns:[d.wN,d.s0]},antigravity:{...f,...g,alivePatterns:[d.lE,d.kT,d.VF]},"command-code":{...f,...g,alivePatterns:[d.WK,d.jk,d.k0]},"opencode-v2":{...f,...g,alivePatterns:[d.wK,d.c7,d.xL]},"vibe-local":{...f,...g,alivePatterns:[d.Dj,d.b2]}};function i(a){return h[a]??h.claude}},93923:(a,b,c)=>{c.d(b,{zu:()=>G,mB:()=>F});var d=c(30741),e=c(94154),f=c(90304),g=c(24680),h=c(37717),i=c(682),j=c(50435),k=c(61244);let l=/esc\s+to\s+cancel|enter\s+to\s+(?:select|confirm|set\s+as\s+default)/i,m=new Set(["❯",">"]),n=/do you want to\b|allow\b.*\?$/i,o=/ready to submit your answers\?|review your answers/i,p=/set\s+as\s+default/i;var q=c(61878),r=c(58846),s=c(91010),t=c(79204);function u(a){let b=(0,e.p4)(a),c=b?b.openingSeparator:a.length,d=(0,f.QI)(a,0,c).rows,g=c-1;for(;g>=0&&(""===a[g].trim()||d.has(g)||t.Wq.test(a[g]));)g--;return g}let v=/^\s*(?:❯\s*)?1\.\s+Submit answers\s*$/,w=/^\s*(?:❯\s*)?1\.\s+Submit\s*$/,x=/^\s+answers\s*$/,y=/^\s*(?:❯\s*)?2\.\s+Cancel\s*$/,z=/✔\s*Submit/,A=/^ (?:[●│] | {2,}\S)/,B=/^\s?←(?:\s*[☐☒☑])+\s*✔\s*$/,C=/^[^←→☐☒☑✔]*\bSubmit\s*→\s*$/;function D(a,b){for(let c=b-1;c>=0;c--)if(""!==a[c].trim())return c;return -1}function E(a,b,c){let d=b;for(;d>0&&""!==a[d-1].trim();)d--;if(b-d+1>c)return{top:d,text:null};let e=a.slice(d,b+1).map(a=>a.trim()).join(" ");return{top:d,text:e}}function F(a){let b=a.contentLines,c=u(b);if(c<0||!y.test(b[c]))return!1;let d=function(a,b){let c=b-1;return c<0?-1:v.test(a[c])?c:c>=1&&x.test(a[c])&&w.test(a[c-1])?c-1:-1}(b,c);if(d<0||!b[d].includes("❯")&&!b[c].includes("❯"))return!1;let f=D(b,d);if(f<0)return!1;let g=E(b,f,3);if("Ready to submit your answers?"!==g.text)return!1;let h=(0,k.$N)(b,g.top,200);return!!(h>=0&&z.test(b[h]))||null===(0,e.p4)(b)&&function(a,b){let c=b-1;for(;c>=0&&(""===a[c].trim()||A.test(a[c]));)c--;if(c<0)return!0;let d=E(a,c,2);if("Review your answers"!==d.text)return!1;let e=D(a,d.top);return e<0||!!((0,k.yi)(a[e])&&z.test(a[e]))||e>=1&&C.test(a[e])&&B.test(a[e-1])}(b,g.top)}let G=(0,s.b)({tool:"claude",verifiedAgainst:t.V2,liveRegion:r.j,afterPrompt:a=>d.XY.test(function(a){let b=(0,q.Yc)(a,"claude");if("composer"!==b.anchor)return a.lastLines;let c=a.contentLines.length-q.h9;return a.contentLines.slice(Math.max(b.startRow,c)).join("\n")}(a))?(0,g.dX)("waiting",h.g.CLAUDE_SELECTION_LIST):null,afterThinking:a=>d.aU.test(a.lastLines)?(0,g.dX)("running",h.g.THINKING_INDICATOR):null,readIdleEvidence:function(a){let b=u(a.contentLines);if(b>=0&&t.W1.test(a.contentLines[b]))return"positive";let c=(0,e.p4)(a.contentLines),d=a.contentLines.slice(0,c?c.openingSeparator:void 0),f=d.some(a=>t.ji.test(a)),g=d.some(a=>t.Tk.test(a));return f&&!g?"positive":"none"},detectDialog:a=>(function(a,b){var c;if(b.transcriptTail<0)return null;let e=(0,d._A)(a.clean).split("\n"),g=b.transcriptTail+1,h=(0,f.QI)(a.contentLines,0,g),q=(0,f.N0)(e,h),r=(0,i.c)(q,g);if(!r||null===r.selectedGlyph||!m.has(r.selectedGlyph))return null;let s=function(a,b,c,d){let e=[];for(let f=c;f<Math.min(d,a.length);f++){let c=a[f].trim();""===c||b.has(f)||e.push(c)}return e.join("\n")}(q,h.rows,r.lastRow+1,g);return""===s||l.test(s)?{kind:(c=function(a,b){let c=(0,k.$N)(a,b,f.ie);return(0,j.r)(a,b,c)}(q,r.firstRow),o.test(c)?"ask_user":p.test(s)?"picker":n.test(c)?"permission":"dialog"),options:r.options,answerMode:"numbered"}:null})(a,{transcriptTail:u(a.contentLines)})})},95595:(a,b,c)=>{c.d(b,{WC:()=>k,f8:()=>j,gv:()=>d.g,ug:()=>h});var d=c(37717),e=c(61878),f=c(42742),g=c(16402);let h=new Set([d.g.OPENCODE_SELECTION_LIST,d.g.OPENCODE_MODAL_OVERLAY,d.g.OPENCODE_PERMISSION_PROMPT,d.g.CLAUDE_SELECTION_LIST,d.g.COMMAND_CODE_SELECTION_LIST,d.g.COMMAND_CODE_PLAN_REVIEW,d.g.COPILOT_SELECTION_LIST,d.g.CODEX_SELECTION_LIST,d.g.CODEX_PAGER,d.g.CODEX_HOOKS_REVIEW,d.g.ANTIGRAVITY_SELECTION_LIST]),i=new Set([d.g.THINKING_INDICATOR,d.g.OPENCODE_PROCESSING_INDICATOR]);function j(a){return"running"===a.status&&i.has(a.reason)}function k(a,b,c){let d=(0,e.zJ)(a,b),h=(0,f.bN)(b).detect(d,{lastOutputTimestamp:c,isPromptVouched:c=>(0,g.vm)(b,c.promptData?.type,a).present});return{status:h.status,confidence:h.confidence,reason:h.reason,hasActivePrompt:h.hasActivePrompt,evidence:h.evidence,promptDetection:h.promptDetection??{isPrompt:!1,cleanContent:d.clean}}}},96742:(a,b,c)=>{c.d(b,{nK:()=>q});var d=c(51297),e=c(90304),f=c(91478),g=c(682),h=c(23479),i=c(81671);let j=/❯[^\S\n]*(\d{1,2})[.)]/,k=/^[^\S\n]*type\s+something\b/i,l=/^\[[ xX\u2714]\]\s/,m=/^\[[xX\u2714]\]\s/,n=/^[^\S\n]*(?:\u276F[^\S\n]*)?(?:Submit|Next)[^\S\n]*$/,o=/^[^\S\n]*Enter\s+to\s+select\b.*\|.*\bEsc\s+to\s+cancel[^\S\n]*$/i;function p(a){return{kind:"unsupported",reason:a}}function q(a){if(!a)return{kind:"none"};if(null!==(0,f.uG)(a))return p("review-page");let b=(0,f.Dk)(a);if(null===b)return(0,f.f_)(a)?p("numbering-unreadable"):{kind:"none"};if(!b.cursorOnOptionRow)return p("cursor-outside-options");let c=a.replace(/\r\n/g,"\n").split("\n").map(d.aJ),q=c.slice(b.firstLineIndex,b.lastLineIndex+1);if(q.length>60)return p("region-too-tall");let s=b.tabLineIndex-b.firstLineIndex,t=(0,g.c)(q,q.length,12);if(null===t)return p("option-block-unreadable");let u=[...t.options],v=""===t.footer?[]:t.footer.split("\n"),w=v.some(a=>n.test(a)),x=v.filter(a=>!n.test(a)&&!o.test(a));if(x.length>0){let a=u.length-1;u[a]=[u[a],...x].join(" ").trim()}if(u.length!==b.optionCount)return p("option-count-mismatch");let y=u.some(a=>l.test(a));if(y&&!w)return p("multi-select");let z=q[b.cursorLineIndex-b.firstLineIndex]??"",A=j.exec(z);if(t.selectedIndex<0||"❯"!==t.selectedGlyph||null===A||Number(A[1])!==t.selectedIndex+1)return p("default-unresolved");let B=q.slice(s+1,t.firstRow).map(a=>a.trim()).filter(a=>""!==a);if(0===B.length)return p("question-missing");let C=B.join(" "),D=(0,e.ZH)(q,s+1,q.length),E=u.map((a,b)=>({number:b+1,label:y?a.replace(l,""):a,isDefault:b===t.selectedIndex,...y?{checked:m.test(a)}:{}})),F=(0,e.xe)(C,E,{instructionText:D,approvalTarget:D},q.join("\n"),i.O8,"answer_only",!0),G=F.promptData;return void 0===G||"multiple_choice"!==G.type?p("option-block-unreadable"):{kind:"prompt",region:b,prompt:{...F,optionRecommendations:function(a,b,c){let d=(0,h.JF)(a),e=[],f=0,i="",j=!1;for(let a of b){if(""===a.trim())continue;let b=(0,g.T)(a);if(null!==b&&b.number===e.length+1){e.push([b.label]),f=r.exec(a)?.[0].length??0,i=a,j=!1;continue}if(0===e.length)break;if(!(n.test(a)||o.test(a))&&!j){if(a.length-a.trimStart().length>=f||(0,h.GP)(i,a,d)){j=!0;continue}e[e.length-1].push(a.trim()),i=a}}return e.length!==c?Array.from({length:c},()=>"unknown"):e.map(a=>(0,h.e3)(a.join(" ")))}(c,q.slice(t.firstRow),u.length),promptData:{...G,...y?{multiSelect:!0}:{},options:G.options.map((a,b)=>{let c=E[b]?.checked,d=void 0===c?a:{...a,checked:c};return!0===a.requiresTextInput||k.test(a.label)?{...d,requiresTextInput:!0}:d})}}}}let r=/^[^\S\n]*[│┃]?[^\S\n]*[❯›●>]?[^\S\n]*\d{1,2}[.)][^\S\n]+/},96898:(a,b,c)=>{c.d(b,{YT:()=>e,cu:()=>g,mG:()=>f});var d=c(49973);function e(){return{byEvent:new Map,last:null,lastEvent:null,lifeByEvent:new Map}}function f(a,b,c,e,f){let g="string"==typeof e.sessionName?e.sessionName:null;if(null!==g&&void 0!==f&&!(0,d.Pn)(g,f)){a.warn(c,e),b.last=e.reason,b.lastEvent=c;return}let h=b.lifeByEvent.get(c),i=void 0===h||h.sessionName===g&&(0,d.Pn)(h.sessionName,h.life);b.byEvent.get(c)===e.reason&&i||a.warn(c,e),b.byEvent.set(c,e.reason),null===g?b.lifeByEvent.delete(c):b.lifeByEvent.set(c,{sessionName:g,life:f??(0,d.nF)(g)}),b.last=e.reason,b.lastEvent=c}function g(a,b){a.byEvent.delete(b),a.lifeByEvent.delete(b),a.lastEvent===b&&(a.last=null,a.lastEvent=null)}},97179:(a,b,c)=>{c.d(b,{D0:()=>k,g8:()=>j});var d=c(79892),e=c(30741),f=c(49973),g=c(72626),h=c(96898);let i=(0,g.h)("cli-tools/claude-auto-default-nudge");async function j(a,b){let c=!1,g=Promise.resolve(b).then(()=>{c=!0},()=>{c=!0}),j=0,k=(0,h.YT)();for(;j<5;){let b;if(await Promise.race([g,new Promise(a=>setTimeout(a,500))]),c)return;let h=(0,f.KC)();try{b=(0,e.jf)((0,e.aJ)(await (0,d.Xg)(a,{startLine:-50})))}catch{continue}null!==b&&await m(a,h,b,k)&&j++}i.warn("claude-auto-default-nudge-unanswered",{sessionName:a,keys:j})}async function k(a){let b=0,c=(0,h.YT)();for(let g=0;g<20;g++){let g,h=(0,f.KC)();try{g=(0,e.aJ)(await (0,d.Xg)(a,{startLine:-50}))}catch{return}if(!(0,e.cd)(g))return;let i=(0,e.jf)(g);null!==i&&b<5&&await m(a,h,i,c)&&b++,await new Promise(a=>setTimeout(a,500))}throw i.warn("claude-auto-default-nudge-unanswered-at-send",{sessionName:a,keys:b}),Error('Claude Code prompt not ready: "Make auto mode your default permission mode?" is open and did not take its keys. Nothing was typed. Answer it in the terminal: No keeps the current mode')}let l="claude-auto-default-nudge-key-skipped";async function m(a,b,c,g){let j=g??(0,h.YT)(),k=(0,f.nF)(a);try{let m=await (0,f.x7)(a,b,async()=>(0,e.jf)((0,e.aJ)(await (0,d.Xg)(a,{startLine:-50})))===c,()=>"Enter"===c?(0,d.V1)(a,"",!0):(0,d.KB)(a,[c]),{mode:"exclusive",repeatScope:g});return m.answered?((0,h.cu)(j,l),i.info("claude-auto-default-nudge-key",{sessionName:a,key:c,answered:!0})):(0,h.mG)(i,j,l,{sessionName:a,key:c,reason:m.reason},k),m.answered}catch{return(0,h.mG)(i,j,l,{sessionName:a,key:c,reason:"send-failed"},k),!1}}}};
@@ -0,0 +1,33 @@
1
+ "use strict";exports.id=8143,exports.ids=[8143],exports.modules={28178:(a,b,c)=>{c.d(b,{$S:()=>q,FK:()=>y,Uq:()=>x,W1:()=>r,WD:()=>w,yD:()=>i});var d=c(29021),e=c(44429),f=c(10406),g=c(73753);c(83530);var h=c(88383);class i extends Error{constructor(a){super(a),this.name="AgentRoleTargetNotFoundError"}}let j={members:[],undetermined:[]};function k(a,b){return a.path<b.path?-1:+(a.path>b.path)}async function l(a){let{resolveCommonDir:b,probeCommonDir:d}=a;return b?async a=>{let c=await b(a);return null===c?{kind:"failed"}:{kind:"repository",commonDir:c}}:d??(await Promise.all([c.e(6065),c.e(923)]).then(c.bind(c,60923))).probeGitCommonDir}let m=a=>"repository"===a.kind?a.commonDir:null;async function n(a,b,c){let d=(0,f.Yg)(a);if(0===d.length)return{roots:d,identity:null,commonDirs:[],notRepository:[]};let e=await l(c),g=null;for(let a of b.identityPaths)if(null!==(g=m(await e(a))))break;let h=await Promise.all(d.map(a=>e(a.path)));return{roots:d,identity:g,commonDirs:h.map(m),notRepository:h.map(a=>"not-repository"===a.kind)}}function o(a){return JSON.stringify((0,f.Yg)(a).map(a=>[a.id,a.path,a.enabled]))}async function p(a,b,c,e){for(let f=0;f<3;f+=1){let f=b.read(),g=`${b.signature(f)}|${o(a)}`,h=b.question(f),i=await n(a,h,c),l=function(a,b,c,e,f,g,h){let i=b.read();return`${b.signature(i)}|${o(a)}`!==c?{stale:!0}:{stale:!1,value:h(i,function(a,{roots:b,identity:c,commonDirs:e,notRepository:f},g){if(0===b.length)return j;let h=g.pathExists??d.existsSync,i=[],l=[];b.forEach((b,d)=>{let g=e[d];b.path===a.namedRootPath||null!==c&&g===c?i.push(b):!f[d]&&(null===c||null===g)&&b.enabled&&h(b.path)&&l.push(b)});let m=i.filter(a=>a.enabled);return{members:[...m.length>0?m:i].sort(k),undetermined:l.sort(k)}}(e,f,g))}}(a,b,g,h,i,c,e);if(!l.stale)return l.value}throw Error("The repository registration kept changing while it was being read")}function q(a,b,c,d){return p(a,{read:()=>{let c=(0,g.getWorktreeById)(a,b);if(!c)throw new i(`Worktree not found: ${b}`);return c},signature:a=>JSON.stringify([a.path,a.repositoryPath]),question:a=>{let b=a.repositoryPath||null;return{namedRootPath:b,identityPaths:b?[a.path,b]:[a.path]}}},c,d)}function r(a,b,c,d){return p(a,{read:()=>{let c=(0,f.r)(a,b);if(!c)throw new i(`Repository not found: ${b}`);return c},signature:a=>a.path,question:a=>({namedRootPath:a.path,identityPaths:[a.path]})},c,d)}function s(a,b){let c=(0,e.IN)(a,b);if(!c)throw new i(`Role not found: ${b}`);return Object.freeze({id:c.id,name:c.name,bodyVersion:c.bodyVersion,body:c.body,bodyFingerprint:c.bodyFingerprint})}function t(a,b){return a.state===b.state&&("role"!==a.state||a.roleId===b.roleId)}function u(a,b,c){return(0,e.Hp)(a,b.id)[c]??{state:"inherit"}}function v(a,b,c){return{repositoryId:b.id,path:b.path,state:u(a,b,c)}}function w(a,b,c,d={state:"inherit"}){let f=c.members.map(a=>a.id),g={cliToolId:b,repositoryId:f[0]??null,repositoryIds:f};if(!(0,h.cg)(b))return{...g,kind:"none",source:"unsupported",reason:"unsupported-tool"};if("role"===d.state)return{...g,kind:"role",source:"instance",role:s(a,d.roleId)};if("none"===d.state)return{...g,kind:"none",source:"instance",reason:"explicit-none"};let i=c.members.map(c=>u(a,c,b)),j=i[0];if(j&&i.some(a=>!t(a,j)))return{...g,kind:"ambiguous",source:"repository",reason:"root-settings-differ",roots:c.members.map(c=>v(a,c,b))};let k=j??{state:"inherit"},l=c.undetermined.filter(c=>!t(u(a,c,b),k));if(l.length>0)return{...g,kind:"ambiguous",source:"repository",reason:"membership-undetermined",roots:[...c.members,...l].map(c=>v(a,c,b))};if("role"===k.state)return{...g,kind:"role",source:"repository",role:s(a,k.roleId)};if("none"===k.state)return{...g,kind:"none",source:"repository",reason:"explicit-none"};let m=(0,e.kX)(a)[b];return m?{...g,kind:"role",source:"system",role:s(a,m.roleId)}:{...g,kind:"none",source:"fallback",reason:"no-default"}}function x(a,b){return a.repositoryIds.includes(b)?{...a,repositoryId:b}:a}function y(a){if("role"!==a.kind)return a;let{role:b,...c}=a;return{...c,role:{id:b.id,name:b.name,bodyVersion:b.bodyVersion,bodyFingerprint:b.bodyFingerprint}}}},35602:(a,b,c)=>{c.d(b,{C:()=>f,Y:()=>e});var d=c(55511);function e(a){return(0,d.createHash)("sha256").update(a).digest("hex")}function f(a){return e(Buffer.from(a,"utf8"))}},44429:(a,b,c)=>{c.d(b,{Cq:()=>B,FT:()=>J,Hp:()=>A,IN:()=>r,IS:()=>t,JE:()=>H,Mk:()=>j,O2:()=>F,TF:()=>E,VX:()=>z,XG:()=>k,aV:()=>l,c:()=>s,d4:()=>C,fV:()=>D,jK:()=>v,jY:()=>i,kX:()=>y,vX:()=>g,vo:()=>I,x$:()=>q,xs:()=>u,zd:()=>h,zk:()=>K});var d=c(55511),e=c(35602),f=c(59667);class g extends Error{constructor(a){super(a),this.name="AgentRoleValidationError"}}class h extends Error{constructor(a){super(`Role not found: ${a}`),this.roleId=a,this.name="AgentRoleNotFoundError"}}class i extends Error{constructor(a){super(`A role named "${a}" already exists`),this.name="AgentRoleNameConflictError"}}class j extends Error{constructor(a){super(`The role is at body version ${a}`),this.currentBodyVersion=a,this.name="AgentRoleVersionConflictError"}}class k extends Error{constructor(a){super("The role was renamed since it was read"),this.currentName=a,this.name="AgentRoleNameChangedError"}}class l extends Error{constructor(a){super("The role is in use"),this.references=a,this.name="AgentRoleInUseError"}}function m(a){return{id:a.id,name:a.name,body:a.body,bodyVersion:a.body_version,bodyFingerprint:(0,e.C)(a.body),bodyBytes:Buffer.byteLength(a.body,"utf8"),createdAt:a.created_at,updatedAt:a.updated_at}}function n(a){return a instanceof Error&&a.message.includes("UNIQUE constraint failed: agent_roles.name")}function o(a){let b=(0,f.Rd)(a);if(!b.ok)throw new g(b.problem);return b.name}function p(a){let b=(0,f.Av)(a);if(b)throw new g(b)}function q(a){return a.prepare("SELECT * FROM agent_roles ORDER BY name ASC").all().map(m)}function r(a,b){let c=a.prepare("SELECT * FROM agent_roles WHERE id = ?").get(b);return c?m(c):null}function s(a,b){let c=o(b.name);p(b.body);let e=(0,d.randomBytes)(8).toString("hex"),f=Date.now();try{a.prepare("INSERT INTO agent_roles (id, name, body, body_version, created_at, updated_at) VALUES (?, ?, ?, 1, ?, ?)").run(e,c,b.body,f,f)}catch(a){if(n(a))throw new i(c);throw a}return r(a,e)}function t(a,b){let c=a.prepare(`SELECT worktree_id AS worktreeId, instance_id AS instanceId FROM agent_instance_roles
2
+ WHERE role_id = ? ORDER BY worktree_id, instance_id`).all(b);return{instances:c,repositories:a.prepare(`SELECT d.repository_id AS repositoryId, r.path AS repositoryPath, d.cli_tool_id AS cliToolId
3
+ FROM agent_role_repository_defaults d JOIN repositories r ON r.id = d.repository_id
4
+ WHERE d.role_id = ? ORDER BY r.path, d.cli_tool_id`).all(b),system:a.prepare("SELECT cli_tool_id AS cliToolId FROM agent_role_system_defaults WHERE role_id = ? ORDER BY cli_tool_id").all(b)}}function u(a,b,c){let d=void 0===c.name?void 0:o(c.name);void 0!==c.body&&p(c.body);let e=c.body;return a.transaction(()=>{let f=r(a,b);if(!f)throw new h(b);if(void 0!==c.expectedBodyVersion&&c.expectedBodyVersion!==f.bodyVersion)throw new j(f.bodyVersion);if(void 0!==c.expectedName&&c.expectedName!==f.name&&d!==f.name)throw new k(f.name);let g=void 0!==e&&e!==f.body;try{a.prepare("UPDATE agent_roles SET name = ?, body = ?, body_version = ?, updated_at = ? WHERE id = ?").run(d??f.name,e??f.body,g?f.bodyVersion+1:f.bodyVersion,Date.now(),b)}catch(a){if(n(a))throw new i(d??f.name);throw a}return{before:f,after:r(a,b),affected:t(a,b)}})()}function v(a,b,c={}){return a.transaction(()=>{let d=r(a,b);if(!d)throw new h(b);let e=t(a,b);if(e.instances.length+e.repositories.length+e.system.length>0&&!c.force)throw new l(e);return a.prepare("DELETE FROM agent_instance_roles WHERE role_id = ?").run(b),a.prepare("DELETE FROM agent_role_repository_defaults WHERE role_id = ?").run(b),a.prepare("DELETE FROM agent_role_system_defaults WHERE role_id = ?").run(b),a.prepare("DELETE FROM agent_roles WHERE id = ?").run(b),{role:d,affected:e}})()}function w(a,b){if(!a.prepare("SELECT 1 FROM agent_roles WHERE id = ?").get(b))throw new h(b)}function x(a){return a?null===a.role_id?{state:"none"}:{state:"role",roleId:a.role_id,roleName:a.role_name}:{state:"inherit"}}function y(a){return Object.fromEntries(a.prepare(`SELECT d.cli_tool_id, d.role_id, r.name AS role_name
5
+ FROM agent_role_system_defaults d JOIN agent_roles r ON r.id = d.role_id`).all().map(a=>[a.cli_tool_id,{roleId:a.role_id,roleName:a.role_name}]))}function z(a,b,c){if(null===c)return void a.prepare("DELETE FROM agent_role_system_defaults WHERE cli_tool_id = ?").run(b);w(a,c),a.prepare(`INSERT INTO agent_role_system_defaults (cli_tool_id, role_id, updated_at) VALUES (?, ?, ?)
6
+ ON CONFLICT(cli_tool_id) DO UPDATE SET role_id = excluded.role_id, updated_at = excluded.updated_at`).run(b,c,Date.now())}function A(a,b){return Object.fromEntries(a.prepare(`SELECT d.cli_tool_id, d.role_id, r.name AS role_name
7
+ FROM agent_role_repository_defaults d LEFT JOIN agent_roles r ON r.id = d.role_id
8
+ WHERE d.repository_id = ?`).all(b).map(a=>[a.cli_tool_id,x(a)]))}function B(a,b,c,d){if("inherit"===d.state)return void a.prepare("DELETE FROM agent_role_repository_defaults WHERE repository_id = ? AND cli_tool_id = ?").run(b,c);let e="role"===d.state?d.roleId:null;null!==e&&w(a,e),a.prepare(`INSERT INTO agent_role_repository_defaults (repository_id, cli_tool_id, role_id, updated_at) VALUES (?, ?, ?, ?)
9
+ ON CONFLICT(repository_id, cli_tool_id) DO UPDATE SET role_id = excluded.role_id, updated_at = excluded.updated_at`).run(b,c,e,Date.now())}function C(a,b,c){return x(a.prepare(`SELECT i.role_id, r.name AS role_name
10
+ FROM agent_instance_roles i LEFT JOIN agent_roles r ON r.id = i.role_id
11
+ WHERE i.worktree_id = ? AND i.instance_id = ?`).get(b,c))}function D(a,b,c,d){if("inherit"===d.state)return void a.prepare("DELETE FROM agent_instance_roles WHERE worktree_id = ? AND instance_id = ?").run(b,c);let e="role"===d.state?d.roleId:null;null!==e&&w(a,e),a.prepare(`INSERT INTO agent_instance_roles (worktree_id, instance_id, role_id, updated_at) VALUES (?, ?, ?, ?)
12
+ ON CONFLICT(worktree_id, instance_id) DO UPDATE SET role_id = excluded.role_id, updated_at = excluded.updated_at`).run(b,c,e,Date.now())}function E(a){let b=a.prepare(`SELECT (EXISTS (SELECT 1 FROM agent_instance_roles)
13
+ OR EXISTS (SELECT 1 FROM agent_role_repository_defaults)
14
+ OR EXISTS (SELECT 1 FROM agent_role_system_defaults)) AS present`).get();return b?.present===1}function F(a,b,c){let d=a.prepare(`SELECT instance_id, request_fingerprint FROM agent_instance_creation_keys
15
+ WHERE worktree_id = ? AND idempotency_key = ?`).get(b,c);return d?{instanceId:d.instance_id,requestFingerprint:d.request_fingerprint}:null}function G(a,b,c,d){let e=Date.now();a.prepare("DELETE FROM agent_instance_creation_keys WHERE created_at < ?").run(e-864e5),a.prepare(`INSERT INTO agent_instance_creation_keys (worktree_id, idempotency_key, instance_id, request_fingerprint, created_at)
16
+ VALUES (?, ?, ?, ?, ?)`).run(b,c,d.instanceId,d.requestFingerprint,e)}function H(a,b,c,d,e){G(a,b,c,{instanceId:d,requestFingerprint:e})}function I(a,b,c){return a.transaction(()=>{let d=F(a,b,c);return d?d.instanceId:(G(a,b,c,{instanceId:null,requestFingerprint:null}),null)})()}function J(a,b){let c=(0,d.randomUUID)();return a.prepare(`INSERT INTO agent_role_launch_records (
17
+ id, worktree_id, instance_id, cli_tool_id, phase, session_generation, source,
18
+ repository_id, role_id, role_name, body_version, body_fingerprint,
19
+ injection_fingerprint, artifact_fingerprint, adapter_id, adapter_version,
20
+ wrapper_version, artifact_path, effective_agent, composition_source_fingerprint,
21
+ no_role_reason, recorded_at
22
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(c,b.worktreeId,b.instanceId,b.cliToolId,b.phase,b.sessionGeneration,b.source,b.repositoryId,b.roleId,b.roleName,b.bodyVersion,b.bodyFingerprint,b.injectionFingerprint,b.artifactFingerprint,b.adapterId,b.adapterVersion,b.wrapperVersion,b.artifactPath,b.effectiveAgent,b.compositionSourceFingerprint,b.noRoleReason,Date.now()),c}function K(a,b,c){let d=d=>{let e=a.prepare(`SELECT * FROM agent_role_launch_records
23
+ WHERE worktree_id = ? AND instance_id = ? AND phase = ?
24
+ ORDER BY recorded_at DESC, rowid DESC LIMIT 1`).get(b,c,d);return e?{id:e.id,worktreeId:e.worktree_id,instanceId:e.instance_id,cliToolId:e.cli_tool_id,phase:e.phase,sessionGeneration:e.session_generation,source:e.source,repositoryId:e.repository_id,roleId:e.role_id,roleName:e.role_name,bodyVersion:e.body_version,bodyFingerprint:e.body_fingerprint,injectionFingerprint:e.injection_fingerprint,artifactFingerprint:e.artifact_fingerprint,adapterId:e.adapter_id,adapterVersion:e.adapter_version,wrapperVersion:e.wrapper_version,artifactPath:e.artifact_path,effectiveAgent:e.effective_agent,compositionSourceFingerprint:e.composition_source_fingerprint,noRoleReason:e.no_role_reason,recordedAt:e.recorded_at}:null};return{requested:d("requested"),launched:d("launched")}}},44816:(a,b,c)=>{c.d(b,{Qg:()=>j,Qv:()=>l,eq:()=>i,fY:()=>g,pX:()=>h,ti:()=>k});var d=c(33873),e=c(43252),f=c(35602);function g(a,b,c){let d="opencode-v2"===a?"1+common-1":"1",e="codex"===a&&c.codexDeveloperInstructions?(0,f.C)(c.codexDeveloperInstructions):null,g="opencode-v2"===a?c.opencodeV2EffectiveAgent??null:null,h=c.explicitAgent??null,i=JSON.stringify({adapter:a,adapterVersion:"1",wrapperVersion:d,bodyFingerprint:b.bodyFingerprint,codexDeveloperInstructions:e,effectiveAgent:g,explicitAgent:h});return{adapter:a,adapterVersion:"1",wrapperVersion:d,injectionFingerprint:(0,f.Y)(Buffer.from(i,"utf8")),instructions:function(a,b,c){let d=`CommandMate started you with the role below. Keep following the current request, any execution contract and the project instructions (AGENTS.md, CLAUDE.md and the like); where they conflict with the role, they win. The role does not relax a contract, a verification step or a permission rule.
25
+
26
+ ${b}`;if("opencode-v2"===a)return`You are an AI agent running in OpenCode, a coding agent harness. Help the user accomplish their goals using the tools you have available.
27
+ Prefer dedicated tools over shell commands; fall back to the shell when a tool cannot do what you need.
28
+ Keep changes consistent with the structure, naming, style, and patterns of the surrounding code.
29
+ Treat unfamiliar files or changes as potential user work and investigate before deleting or overwriting them.
30
+
31
+ ${d}`;let e=c.codexDeveloperInstructions;return"codex"===a&&e?`${e}
32
+
33
+ ${d}`:d}(a,b.body,c),effectiveAgent:g,compositionSourceFingerprint:e}}let h="OPENCODE_CONFIG_CONTENT";function i(a,b,c){let e=(a,b,c={})=>({args:a,headlessPosition:b,env:c,envCarriesUserValues:!1}),f=a=>({args:[],headlessPosition:"trailing",env:{[h]:JSON.stringify(a)},envCarriesUserValues:null!=c.opencodeUserContent}),{adapter:g}=a;switch(g){case"claude":return e(["--append-system-prompt-file",b.path],"trailing");case"codex":return e(["-p",b.name],"leading",{CODEX_HOME:(0,d.dirname)(b.path)});case"command-code":return e(["--mod",b.path],"trailing");case"copilot":return e(["--agent",b.name],"leading",{COPILOT_HOME:(0,d.dirname)((0,d.dirname)(b.path))});case"antigravity":return e(["--agent",b.name],"trailing");case"opencode":return f(function(a,b){let c=a?.instructions;return{...a,instructions:[...Array.isArray(c)?c:[],b]}}(c.opencodeUserContent,b.path));case"opencode-v2":return f(function(a,b,c){let d=a?.agents??{},e=d[b]??{};return{...a,agents:{...d,[b]:{...e,system:`{file:${c}}`}}}}(c.opencodeUserContent,a.effectiveAgent??"build",b.path))}}function j(a){let{[h]:b,...c}=a.env;return void 0===b?{plain:c,secret:null}:a.envCarriesUserValues?{plain:c,secret:b}:{plain:{...c,[h]:b},secret:null}}function k(a){return`${h}="$(cat ${(0,e.ZL)(a)})" `}function l(a){return a.map(a=>/^[A-Za-z0-9_./=-]+$/.test(a)?a:(0,e.ZL)(a)).join(" ")}},59667:(a,b,c)=>{c.d(b,{Av:()=>f,Rd:()=>g,Zb:()=>h});var d=c(97853),e=c(88383);function f(a){return"string"!=typeof a?"body must be a string":""===a.trim()?"body must not be empty or only whitespace":Buffer.byteLength(a,"utf8")>e.pd?`body exceeds ${e.pd} bytes`:a.includes("\0")?"body must not contain NUL":(0,d.f)(a)?"body must be valid Unicode":null}function g(a){if("string"!=typeof a)return{ok:!1,problem:"name must be a string"};let b=a.trim();return""===b?{ok:!1,problem:"name must not be empty"}:b.length>e.vz?{ok:!1,problem:`name exceeds ${e.vz} characters`}:/[\u0000-\u001f\u007f]/.test(b)?{ok:!1,problem:"name must not contain control characters"}:(0,d.f)(b)?{ok:!1,problem:"name must be valid Unicode"}:{ok:!0,name:b}}function h(a){if("object"!=typeof a||null===a)return null;let{state:b,roleId:c}=a;return"inherit"===b||"none"===b?{state:b}:"role"===b&&"string"==typeof c&&""!==c?{state:b,roleId:c}:null}},88383:(a,b,c)=>{c.d(b,{ME:()=>j,UM:()=>f,V:()=>i,Y:()=>h,c$:()=>l,cg:()=>g,pd:()=>d,rw:()=>k,vz:()=>e});let d=16384,e=64,f=["claude","codex","command-code","opencode","opencode-v2","copilot","antigravity"];function g(a){return"string"==typeof a&&f.includes(a)}function h(a){return"antigravity"!==a||"undefined"!=typeof process&&process.env?.CM_AGENT_ROLE_ANTIGRAVITY_ENABLED==="1"}function i(a){return"opencode-v2"===a}let j="Idempotency-Key",k=/^[A-Za-z0-9_-]{16,128}$/,l="X-Expected-Role-Name"},97853:(a,b,c)=>{c.d(b,{f:()=>d});function d(a){return/[\uD800-\uDFFF]/u.test(a)}}};