commandmate 0.48.0 → 0.49.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 (269) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +164 -164
  3. package/.next/app-path-routes-manifest.json +30 -30
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/prerender-manifest.json +3 -3
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -1
  9. package/.next/server/app/api/agents/versions/route_client-reference-manifest.js +1 -1
  10. package/.next/server/app/api/app/release-notes/route_client-reference-manifest.js +1 -1
  11. package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
  12. package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/capabilities/route.js +1 -1
  17. package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
  18. package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
  24. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/push/escalation/route.js +1 -1
  31. package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/push/vapid/route.js +1 -1
  34. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  45. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
  48. package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  51. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
  53. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
  54. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  56. package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  57. package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  60. package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
  61. package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
  63. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  64. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
  66. package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
  67. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
  70. package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/worktrees/[id]/direct-input/route_client-reference-manifest.js +1 -1
  72. package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
  73. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
  76. package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
  78. package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
  82. package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
  84. package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
  86. package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
  88. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
  90. package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
  92. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
  94. package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
  95. package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
  97. package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
  98. package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/worktrees/[id]/instances/notes/route_client-reference-manifest.js +1 -1
  100. package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  102. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  104. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  106. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  107. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  109. package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
  110. package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
  111. package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
  112. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
  113. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  114. package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route.js +1 -1
  115. package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route_client-reference-manifest.js +1 -1
  116. package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
  118. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  119. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  121. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  122. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  123. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  124. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  125. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
  126. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  127. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  128. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  129. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  130. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
  131. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  133. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  134. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  135. package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
  136. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  137. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  138. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  139. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  140. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  141. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  142. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  143. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
  145. package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
  146. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
  147. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
  148. package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
  149. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  150. package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
  151. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  152. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  153. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  154. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  155. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  156. package/.next/server/app/page_client-reference-manifest.js +1 -1
  157. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  158. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  159. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  160. package/.next/server/app/sessions/page.js +1 -1
  161. package/.next/server/app/sessions/page.js.nft.json +1 -1
  162. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  163. package/.next/server/app/skills/[skillId]/page.js +1 -1
  164. package/.next/server/app/skills/[skillId]/page.js.nft.json +1 -1
  165. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  166. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
  167. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  168. package/.next/server/app/worktrees/[id]/files/[...path]/page.js +2 -2
  169. package/.next/server/app/worktrees/[id]/files/[...path]/page.js.nft.json +1 -1
  170. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  171. package/.next/server/app/worktrees/[id]/page.js +3 -3
  172. package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
  173. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  174. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  175. package/.next/server/app-paths-manifest.json +30 -30
  176. package/.next/server/chunks/1601.js +2 -2
  177. package/.next/server/chunks/1656.js +2 -2
  178. package/.next/server/chunks/1945.js +3 -3
  179. package/.next/server/chunks/2069.js +1 -0
  180. package/.next/server/chunks/2422.js +1 -1
  181. package/.next/server/chunks/2534.js +1 -1
  182. package/.next/server/chunks/3241.js +1 -1
  183. package/.next/server/chunks/4243.js +1 -1
  184. package/.next/server/chunks/4248.js +1 -1
  185. package/.next/server/chunks/4280.js +1 -1
  186. package/.next/server/chunks/6119.js +1 -1
  187. package/.next/server/chunks/6130.js +1 -1
  188. package/.next/server/chunks/6401.js +1 -1
  189. package/.next/server/chunks/6486.js +1 -1
  190. package/.next/server/chunks/720.js +2 -2
  191. package/.next/server/chunks/7604.js +2 -2
  192. package/.next/server/chunks/7905.js +1 -1
  193. package/.next/server/chunks/8581.js +3 -3
  194. package/.next/server/chunks/8728.js +3 -3
  195. package/.next/server/chunks/8791.js +1 -1
  196. package/.next/server/chunks/9390.js +1 -1
  197. package/.next/server/chunks/9627.js +3 -3
  198. package/.next/server/middleware-manifest.json +5 -5
  199. package/.next/server/pages/500.html +1 -1
  200. package/.next/server/server-reference-manifest.json +1 -1
  201. package/.next/static/chunks/1128-914c559913546bbc.js +1 -0
  202. package/.next/static/chunks/{2407-26139a8a2f1adbe8.js → 2407-ab92ae9837c39dce.js} +1 -1
  203. package/.next/static/chunks/{2619-a305ad4810f1393a.js → 2619-04bc32f026a0d946.js} +1 -1
  204. package/.next/static/chunks/{2863-f0121af1cbbedb3b.js → 2863-7173dc305dffc4f6.js} +1 -1
  205. package/.next/static/chunks/6288-6fadbba6e84393b2.js +1 -0
  206. package/.next/static/chunks/7665-e9ef6e0a85b9fa49.js +1 -0
  207. package/.next/static/chunks/{8165-c68b3dc844210e6a.js → 8165-263172c17ae8e8c3.js} +1 -1
  208. package/.next/static/chunks/9079-987939d231704218.js +1 -0
  209. package/.next/static/chunks/app/{layout-46b4cbf07520d9b6.js → layout-aa8e66164a4367af.js} +1 -1
  210. package/.next/static/chunks/app/sessions/{page-fb241bed579c67aa.js → page-cfd645305e25fd33.js} +1 -1
  211. package/.next/static/chunks/app/skills/[skillId]/{page-52ba58712faf3378.js → page-cb6e74fd9a6a571d.js} +1 -1
  212. package/.next/static/chunks/app/worktrees/[id]/files/[...path]/page-704086656fb45699.js +1 -0
  213. package/.next/static/chunks/app/worktrees/[id]/{page-cbc7749a33450cc5.js → page-a8d7886703ffc7b4.js} +1 -1
  214. package/.next/static/chunks/app/worktrees/[id]/terminal/{page-c601f3b3ece6557e.js → page-373ea37b16d930c7.js} +1 -1
  215. package/.next/static/css/{743f79ff19ab91e9.css → db8959555c3d9c96.css} +1 -1
  216. package/.next/trace +13 -13
  217. package/dist/cli/commands/auto-yes.d.ts.map +1 -1
  218. package/dist/cli/commands/auto-yes.js +3 -5
  219. package/dist/cli/commands/capture.d.ts.map +1 -1
  220. package/dist/cli/commands/capture.js +5 -0
  221. package/dist/cli/commands/send.d.ts.map +1 -1
  222. package/dist/cli/commands/send.js +4 -6
  223. package/dist/cli/commands/verify.d.ts.map +1 -1
  224. package/dist/cli/commands/verify.js +8 -1
  225. package/dist/cli/config/duration-constants.d.ts +16 -13
  226. package/dist/cli/config/duration-constants.d.ts.map +1 -1
  227. package/dist/cli/config/duration-constants.js +21 -21
  228. package/dist/cli/docs/agent-operations.d.ts +1 -1
  229. package/dist/cli/docs/agent-operations.d.ts.map +1 -1
  230. package/dist/cli/docs/agent-operations.js +2 -1
  231. package/dist/cli/types/api-responses.d.ts +29 -1
  232. package/dist/cli/types/api-responses.d.ts.map +1 -1
  233. package/dist/cli/utils/verify-runner.d.ts +24 -1
  234. package/dist/cli/utils/verify-runner.d.ts.map +1 -1
  235. package/dist/cli/utils/verify-runner.js +54 -1
  236. package/dist/config/auto-yes-duration.d.ts +56 -0
  237. package/dist/config/auto-yes-duration.d.ts.map +1 -0
  238. package/dist/config/auto-yes-duration.js +76 -0
  239. package/dist/server/src/config/auto-yes-config.js +14 -19
  240. package/dist/server/src/config/auto-yes-duration.js +76 -0
  241. package/dist/server/src/lib/auto-yes-state.js +9 -2
  242. package/dist/server/src/lib/cli-tools/submit-verified-sender.js +137 -14
  243. package/dist/server/src/lib/detection/composer-text.js +215 -11
  244. package/dist/server/src/lib/detection/prompt-detect-multiple-choice-chrome.js +193 -0
  245. package/dist/server/src/lib/detection/prompt-detect-multiple-choice.js +8 -191
  246. package/dist/server/src/lib/detection/upstream-faults.js +19 -2
  247. package/dist/server/src/lib/hooks/structured-decision-response.js +1 -1
  248. package/dist/server/src/lib/polling/auto-yes-manual-answer.js +4 -2
  249. package/dist/server/src/lib/polling/response-checker.js +12 -15
  250. package/dist/server/src/lib/session/composer-clear.js +56 -4
  251. package/dist/server/src/lib/session/current-output-builder.js +2 -1
  252. package/dist/server/src/lib/session/send-attempt-state.js +2 -1
  253. package/dist/server/src/lib/session/waiting-episode-state-ops.js +152 -0
  254. package/dist/server/src/lib/session/waiting-episode-state-store.js +202 -0
  255. package/dist/server/src/lib/session/waiting-episode-state-types.js +6 -0
  256. package/dist/server/src/lib/session/waiting-episode-state.js +26 -339
  257. package/dist/server/src/lib/tmux/tmux.js +25 -0
  258. package/dist/server/src/lib/verification/gate-runner.js +11 -4
  259. package/docs/en/user-guide/webapp-guide.md +15 -10
  260. package/package.json +1 -1
  261. package/release-notes/0.49.0.json +45 -0
  262. package/.next/server/chunks/6722.js +0 -1
  263. package/.next/static/chunks/2099-c3e0ab70a1b95dd3.js +0 -1
  264. package/.next/static/chunks/5371-a549a0d2c2044d41.js +0 -1
  265. package/.next/static/chunks/6288-09feba367cc2c65e.js +0 -1
  266. package/.next/static/chunks/9079-406b84d3cc891a87.js +0 -1
  267. package/.next/static/chunks/app/worktrees/[id]/files/[...path]/page-9cf1ecc59e36a004.js +0 -1
  268. /package/.next/static/{PTlAswXLq8PAe2vUJ8dVP → 3_JtAZaKMJEDFIIfkHv4n}/_buildManifest.js +0 -0
  269. /package/.next/static/{PTlAswXLq8PAe2vUJ8dVP → 3_JtAZaKMJEDFIIfkHv4n}/_ssgManifest.js +0 -0
@@ -1,2 +1,2 @@
1
- "use strict";exports.id=7604,exports.ids=[7604],exports.modules={15044:(a,b,c)=>{c.d(b,{Dd:()=>z,Z1:()=>C,IW:()=>t,qM:()=>E,r0:()=>A,cY:()=>B,nP:()=>w,lm:()=>D,ic:()=>r,W5:()=>s});var d=c(24455),e=c(72626),f=c(91631),g=c(84297),h=c(91227);function i(a){return(0,f.j0)((0,f.Ev)((0,d.v7)(a.worktreeId,a.cliToolId,a.instanceId)))}function j(a,b){let c=i(a),d=(0,f.Bf)(a.worktreeId,a.cliToolId,a.instanceId,b);return null===d?{kind:"unattributed",generation:c,lastClosedTurnId:null}:null===d.closedAt&&null!==d.openedAt?{kind:"turn",generation:c,turnId:d.turnId}:null===d.closedAt&&(0,f.sp)(d,b)>0?{kind:"dialog-only",generation:c,recordTurnId:d.turnId,sessionId:d.sessionId}:{kind:"unattributed",generation:c,lastClosedTurnId:d.turnId}}var k=c(57836);function l(a,b){return"none"===a.kind||"none"===b.kind?a.kind===b.kind:a.at===b.at}let m={action:"none"},n=a=>({action:"close",reason:a});function o(a){return"none"===a.kind?null:a.turnId}let p=new Set(["opened","stopped","stop-without-turn","session-ended"]);var q=c(36925);function r(a,b,c){return{generation:i({worktreeId:a,cliToolId:b,instanceId:c}),version:(0,k.cx)(a,b,c)}}function s(a){let b=`${a}${d.CS}`,c=(0,k.fK)(a),e=new Map;for(let[a,c]of f.ZG)a.startsWith(b)&&e.set(a,c);return{startFor(b,g){let h=(0,d.v7)(a,b,g);return{generation:(0,f.j0)(e.get(h)??null),version:c.get(h)??0}}}}async function t(a){var b;let c={meta:null},d=Date.now();return{frame:await (0,q.v)("__captureFrameMetaSink",()=>new g.AsyncLocalStorage).run(a=>{c.meta=a},a),frameTime:(b=c.meta,null===b?{frameCapturedAt:0,frameFetchedAfterStart:!1}:{frameCapturedAt:Math.min(b.fetchStartedAt,d),frameFetchedAfterStart:"fetched"===b.source&&b.fetchStartedAt>=d})}}function u(a,b){return{kind:"screen",generation:a,originTurnId:b}}function v(a,b,c){return!0===a.freshPrompt&&null!=a.lastAnswer&&a.lastAnswer.episodeId===b.episodeId&&null!==c&&c!==a.lastAnswer.screenKey}function w(a){var b;let c=a.now??Date.now(),d={worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId},e=(0,k._v)(a.worktreeId,a.cliToolId,a.instanceId),f=i(d),g={observation:a,action:"ignored",episodeId:e?.episodeId??null,since:"waiting"===a.reading.kind?e?.since??null:null,next:null,binding:null,closeReason:null,ignoredBecause:null,at:c},m=a=>({...g,action:"ignored",ignoredBecause:a});if(!l(a.start.generation,f))return m("generation");let n=a.start.version!==(0,k.cx)(a.worktreeId,a.cliToolId,a.instanceId)&&!0!==a.freshPrompt,{reading:o}=a;if("waiting"!==o.kind){if(null===e)return m("nothing-open");if("unknown"===o.kind)return m("unknown-frame");let b=function(a,b){let{reading:c}=a;if("gone"===c.kind)return"session-gone";if("not-waiting"!==c.kind)return null;switch(a.observer){case"status-probe":return"screen-cleared";case"response-checker":return"response-recorded";case"auto-yes-poller":if("screen"===b.binding.kind)return a.frameCapturedAt>Math.max(b.openedAt,b.boundAt)?"screen-cleared":null;return null!=a.lastAnswer&&a.lastAnswer.episodeId===b.episodeId?"poller-answered":null;default:return a.observer,null}}(a,e);return null===b?m("not-this-observer"):n?m("version"):{...g,action:"closed",closeReason:b,since:null}}let p=null!==o.promptData?(0,h.c)(o.promptData):null,q=j(d,c),r=o.humanHeld?u(f,"turn"===q.kind?q.turnId:null):q,s=function(a,b,c,d,e,f){if(null===b)return{action:"opened",binding:d};let g=b.binding;if(!l(g.generation,f))return{action:"replaced",binding:d};if(c)return"screen"===g.kind?{action:"kept"}:{action:"rebound",binding:u(f,"turn"===g.kind?g.turnId:null)};switch(g.kind){case"turn":if("turn"===d.kind&&d.turnId===g.turnId)return v(a,b,e)?{action:"replaced",binding:d}:{action:"kept"};if("turn"===d.kind)return{action:"replaced",binding:d};return!0===a.freshPrompt&&null!==e&&e!==b.promptScreenKey?{action:"replaced",binding:d}:{action:"kept"};case"dialog-only":if("turn"===d.kind)return{action:"rebound",binding:d};if("dialog-only"===d.kind&&d.recordTurnId!==g.recordTurnId)return{action:"replaced",binding:d};return{action:"kept"};case"unattributed":if("unattributed"===d.kind)return v(a,b,e)?{action:"replaced",binding:d}:{action:"kept"};if("dialog-only"===d.kind)return{action:"rebound",binding:d};return null!==e&&e===b.promptScreenKey?{action:"rebound",binding:d}:{action:"replaced",binding:d};case"screen":return"turn"===d.kind&&d.turnId===g.originTurnId?{action:"rebound",binding:d}:{action:"replaced",binding:d};default:return{action:"kept"}}}(a,e,o.humanHeld,r,p,f);if("kept"===s.action)return{...g,action:"kept"};if(n)return m("version");let t=(0,k._0)(a.worktreeId,a.cliToolId,a.instanceId),w=!0===a.frameFetchedAfterStart&&a.start.version===(0,k.cx)(a.worktreeId,a.cliToolId,a.instanceId);if(null!==t&&!w&&a.frameCapturedAt<=t.at&&(null===p||p===t.promptScreenKey))return m("stale-frame");if("rebound"===s.action)return null!==e&&function(a,b){if(a.kind!==b.kind)return!1;switch(a.kind){case"turn":return a.turnId===b.turnId;case"dialog-only":return a.recordTurnId===b.recordTurnId;default:return!0}}(e.binding,s.binding)?{...g,action:"kept"}:{...g,action:"rebound",binding:s.binding};let x=s.binding,y=o.structuredSince,z="opened"===s.action||null===e?y??c:null!==y&&y>e.since?y:c,A={since:z,kind:o.waitingKind,binding:x,openedBy:a.observer,promptScreenKey:p};return{...g,action:s.action,since:z,next:A,closeReason:"replaced"===s.action&&null!==e?(b=e.binding,l(b.generation,f)?"turn"===x.kind||"dialog-only"===x.kind?"turn-superseded":"screen-cleared":"generation"):null}}let x=(0,e.h)("waiting-episode-binding"),y=(0,q.v)("__waitingHookStopGeneration",()=>new Map);function z(a,b,c=Date.now()){let e=[];try{let f=(0,d.v7)(a.worktreeId,a.cliToolId,a.instanceId);for(let d of b){("stopped"===d.kind||"stop-without-turn"===d.kind)&&y.set(f,d.generation);let b=(0,k._v)(a.worktreeId,a.cliToolId,a.instanceId);if(null===b){e.push({outcome:d.kind,action:"none",episodeId:null});continue}let g=function(a,b,c){if("generation-fenced"===a.kind)return"session-start"===a.source&&"screen"===b.kind?l(b.generation,a.generation)?m:{action:"rebind",binding:{...b,generation:a.generation}}:l(b.generation,a.generation)?m:n("generation");if(!l(b.generation,c))return p.has(a.kind)?n("generation"):m;switch(a.kind){case"opened":return function(a,b){let{previous:c,turnId:d,event:e}=a,f={kind:"turn",generation:a.generation,turnId:d};if("screen"===b.kind)return m;if("turn"===b.kind&&b.turnId===d)return{action:"unmatched"};let g=o(c),h="dialog-only"===c.kind||"display-only"===c.kind,i="dialog-only"===b.kind&&b.recordTurnId===g;return"open-same-session"===c.kind||"open-other-session"===c.kind?i?{action:"unmatched"}:n("turn-superseded"):"user_prompt_submit"===e||"turn"===b.kind?n("turn-superseded"):"dialog-only"===b.kind?i?h?{action:"rebind",binding:f}:{action:"unmatched"}:n("turn-superseded"):b.lastClosedTurnId===g?{action:"rebind",binding:f}:n("turn-superseded")}(a,b);case"restored":return"turn"===b.kind&&b.turnId===a.discardedTurnId?{action:"rebind",binding:{...b,turnId:a.restoredTurnId}}:m;case"stopped":return"turn"===b.kind&&b.turnId===a.turnId?n("turn-stop"):m;case"stop-without-turn":let{previous:d}=a,e=o(d);switch(d.kind){case"closed":if("turn"===b.kind&&b.turnId===e||"unattributed"===b.kind&&b.lastClosedTurnId===e)return n("turn-stop");if("dialog-only"===b.kind&&b.recordTurnId===e)return{action:"unmatched"};return m;case"dialog-only":if("dialog-only"===b.kind&&b.recordTurnId===e||"unattributed"===b.kind)return n("turn-stop");return m;case"display-only":case"none":if("dialog-only"===b.kind&&b.recordTurnId===e||"unattributed"===b.kind&&b.lastClosedTurnId===e)return n("turn-stop");return m;default:return{action:"unmatched"}}case"session-ended":return"turn"===b.kind&&b.turnId===a.turnId?n("turn-session-end"):m;case"decision-opened":return"dialog-only"===a.recordKind&&"unattributed"===b.kind?{action:"rebind",binding:{kind:"dialog-only",generation:c,recordTurnId:a.recordTurnId,sessionId:null}}:m;case"decision-answered":return 0===a.before||a.remaining>0?m:"turn"===b.kind&&b.turnId===a.recordTurnId||"dialog-only"===b.kind&&b.recordTurnId===a.recordTurnId?n("decision-settled"):m;default:return m}}(d,b.binding,i(a));e.push(function(a,b,c,d,e){let f={outcome:c.kind,episodeId:b.episodeId};if("close"===d.action){let g=(0,k._W)(a,b.episodeId,d.reason,e);return g&&x.info("waiting-episode-closed-by-turn",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,episodeId:b.episodeId,outcome:c.kind,reason:d.reason}),{...f,action:g?"closed":"none",...g?{reason:d.reason}:{}}}if("rebind"===d.action){let g=(0,k.Uh)(a,b.episodeId,d.binding,e);return g&&x.debug("waiting-episode-rebound",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,episodeId:b.episodeId,outcome:c.kind,binding:d.binding.kind}),{...f,action:g?"rebound":"none"}}return"unmatched"===d.action&&x.warn("waiting-episode-unmatched",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,episodeId:b.episodeId,outcome:c.kind,binding:b.binding.kind}),{...f,action:"none"}}(a,b,d,g,c))}}catch(b){x.warn("waiting-episode-turn-sync-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)})}return e}function A(a){let b=a.observation,c={worktreeId:b.worktreeId,cliToolId:b.cliToolId,instanceId:b.instanceId};try{switch(a.action){case"kept":if(null===a.episodeId||"waiting"!==b.reading.kind)return"ignored";return(0,k.jG)(c,a.episodeId,b.reading.waitingKind)?"kept":"ignored";case"opened":if(null===a.next||null!==(0,k._v)(b.worktreeId,b.cliToolId,b.instanceId))return"ignored";return(0,k.M_)(c,a.next,a.at),"opened";case"replaced":if(null===a.next||null===a.episodeId||null===a.closeReason)return"ignored";return null!==(0,k.yk)(c,a.episodeId,a.next,a.closeReason,a.at)?"replaced":"ignored";case"rebound":if(null===a.binding||null===a.episodeId)return"ignored";return(0,k.Uh)(c,a.episodeId,a.binding,a.at)?"rebound":"ignored";case"closed":if(null===a.episodeId||null===a.closeReason)return"ignored";return(0,k._W)(c,a.episodeId,a.closeReason,a.at)?"closed":"ignored";case"ignored":return("version"===a.ignoredBecause||"stale-frame"===a.ignoredBecause||"generation"===a.ignoredBecause)&&x.debug("waiting-observation-ignored",{worktreeId:b.worktreeId,instanceId:b.instanceId??b.cliToolId,observer:b.observer,reading:b.reading.kind,because:a.ignoredBecause}),"ignored";default:return a.action,"ignored"}}catch(a){return x.warn("waiting-observation-failed",{worktreeId:b.worktreeId,instanceId:b.instanceId??b.cliToolId,observer:b.observer,error:a instanceof Error?a.message:String(a)}),"ignored"}}function B(a){let b=w(a),c=A(b);return c===b.action?b:{...b,action:c}}function C(a,b,c){return{generation:i({worktreeId:a,cliToolId:b,instanceId:c}),episodeId:(0,k._v)(a,b,c)?.episodeId??null}}function D(a,b,c,e,f=Date.now()){try{let g={worktreeId:a,cliToolId:b,instanceId:c},h=(0,d.v7)(a,b,c),j=(0,k._v)(a,b,c);if(null===j)return"nothing-open";let m=i(g);if(null===e.episodeId||j.episodeId!==e.episodeId||!l(e.generation,m))return"target-gone";let n=y.get(h);if(void 0!==n&&l(n,m))return"hook-authority";if("screen"===j.binding.kind)return"screen";return(0,k._W)(g,j.episodeId,"legacy-stop",f)?"closed":"target-gone"}catch(d){return x.warn("waiting-episode-legacy-stop-failed",{worktreeId:a,instanceId:c??b,error:d instanceof Error?d.message:String(d)}),"nothing-open"}}function E(){y.clear()}(0,k.O_)(j),(0,f.i1)((a,b)=>{z(a,b)})},24581:(a,b,c)=>{c.d(b,{Cb:()=>f,Mu:()=>g,RY:()=>j,Tt:()=>i,Ui:()=>q,Xq:()=>m,ZV:()=>t,h_:()=>h,jF:()=>r,kT:()=>p,nY:()=>l,qX:()=>s,wt:()=>o});var d=c(62887),e=c(27870);let f=new Set(["user_prompt_submit","pre_tool_use","post_tool_use"]),g=18e5,h={predicted:2e4,confirmed:18e5},i=3,j=16,k={turnId:null,openedAt:null,closedAt:null,closedBy:null};function l(a){return null===a?k:{turnId:a.turnId,openedAt:a.openedAt,closedAt:a.closedAt,closedBy:a.closedBy}}function m(a){if("string"!=typeof a||0===a.length||a.length>128)return null;for(let b=0;b<a.length;b++){let c=a.charCodeAt(b);if(c<32||127===c)return null}return a}function n(a,b){return"string"!=typeof a||""===a?null:a.slice(0,b)}function o(a){return n(a,e.lY)}function p(a){return n(a,d.h9)}function q(a){if(!Array.isArray(a))return null;let b=[];for(let c of a)if("string"==typeof c&&""!==c&&(b.push(c.slice(0,200)),b.length>=8))break;return b.length>0?b:null}function r(a,b){let c=null===a.confirmedAt?h.predicted:h.confirmed;return b-a.at<c}function s(a,b,c){return null!==b&&c-a.at>=1e3*b}function t(a,b){return null===a.sessionId||null===b||a.sessionId===b}},26547:(a,b,c)=>{c.d(b,{Yz:()=>L,jw:()=>J});var d=c(51297),e=c(42422);let f=["minimal","low","medium","high","xhigh","max","ultra","persistent"];function g(){return{model:null,effort:null}}let h=/^[A-Za-z0-9][A-Za-z0-9._:@/-]*$/,i=/^[A-Za-z0-9][A-Za-z0-9 .()[\]_:@/-]*$/;function j(a){return a.length>0&&a.length<=64&&h.test(a)}function k(a){return a.length>0&&a.length<=64&&i.test(a)}function l(a,b={}){let c=a.trim().toLowerCase();if(""===c)return null;if(f.includes(c))return c;if(!b.allowTruncated||c.length<2)return null;let d=f.filter(a=>a.length===c.length+1&&a.startsWith(c));return 1===d.length?d[0]:null}let m=/^\s*([^\s·]+)(?:\s+(minimal|low|medium|high|xhigh|max|ultra|persistent)\b)?/i,n=/^\s*[^\s·]+\s+[A-Za-z][A-Za-z_-]*(?=\s|$)/,o=/^\s*\S[^·]*·\s*~?\/\S*(?:\s*·[^\n]*|[^\S\n]{2,}\S[^\n]*)$/;function p(a){if(!e.aW.test(a)&&!o.test(a))return null;let b=a.indexOf("\xb7");if(b<0)return null;let c=a.slice(0,b),d=m.exec(c);if(!d)return null;let f=d[1];if(!j(f))return null;let g=d[2]?l(d[2]):null;return null!==g||/\d/.test(f)?null===g&&n.test(c)?{model:f,effort:null,effortUnreadable:!0}:{model:f,effort:g}:null}let q=/^\s*[\u2500-\u259F][\s\u2500-\u259F]*(\S[^\u2500-\u259F]*?)\s+with\s+(minimal|low|medium|high|xhigh)\s+effort\b/i,r=/^\s*[\u2500-\u259F][\s\u2500-\u259F]*(\S[^\u2500-\u259F·]*?)\s+·\s+Claude\s+[A-Za-z]+\b/,s=/^\s*\S\s+([A-Za-z]+)\s+·\s+\/effort\s*$/;function t(a){let b=q.exec(a);if(b){let a=b[1].trim();return k(a)?{model:a,effort:l(b[2])}:null}let c=r.exec(a);if(!c)return null;let d=c[1].trim();return/\swith\s/i.test(d)||!k(d)?null:{model:d,effort:null}}function u(a){let b=s.exec(a);if(!b)return null;let c=l(b[1]);return null===c?null:{model:null,effort:c}}let v=/^\s*⎿\s+(?:Set model to|Kept model as)\s+(?!(?:and saved as your default|for this session only)\b)([A-Za-z0-9][A-Za-z0-9 .()[\]_:@/-]*?)(?:\s+(?:and saved as your default for new sessions|for this session only))?(?:\s+with\s+([A-Za-z]+)\s+effort\b[^·]*)?\s*(?:·.*)?$/;function w(a){let b=v.exec(a);if(!b)return null;let c=b[1].trim();return k(c)?{model:c,effort:b[2]?l(b[2]):null}:null}let x=/^\s*(?:\?\s+for\s+shortcuts|esc\s+to\s+cancel)\b/i,y=/^\s*[\u2500-\u259F][\s\u2500-\u259F]*(\S[^\u2500-\u259F]*?)\s+\((minimal|low|medium|high|xhigh)\)\s*$/i;function z(a){if(!x.test(a))return null;let b=a.lastIndexOf("\xb7");if(b<0)return null;let c=l(a.slice(b+1),{allowTruncated:!0});if(!c)return null;let d=a.slice(0,b).trimEnd().split(/\s{2,}/),e=(d[d.length-1]??"").trim();return{model:k(e)?e:null,effort:c}}function A(a){let b=y.exec(a);if(!b)return null;let c=b[1].trim();return k(c)?{model:c,effort:l(b[2])}:null}let B=/^\s*[●◉◎○]\s+Model\s+changed\s+from\s+\S+(?:\s+\([^)]*\))?\s+to\s+(\S+)(?:\s+\((minimal|low|medium|high|xhigh)\))?\s+for\s+this\s+session\b/i;function C(a){let b=B.exec(a);if(!b)return null;let c=b[1];return j(c)?{model:c,effort:b[2]?l(b[2]):null}:null}let D=/^\s*▣\s+[A-Za-z][A-Za-z0-9-]*\s+·\s+([^·]+?)(?:\s+·\s+[\d.]+\s?m?s)?\s*$/,E=/^\s*[A-Za-z][A-Za-z0-9-]*\s+·\s+([^·]+?)\s+·\s+[\d.]+\s?m?s\s*$/,F=/^\s*[┃╹]/,G=/^\s*#\s+models:\s*([^·]+?)(?:\s+with\s+([A-Za-z]+)\s+effort)?\s*(?:·|$)/i;function H(a){let b=G.exec(a);if(!b)return null;let c=b[1].trim();return k(c)?{model:c,effort:b[2]?l(b[2]):null}:null}function I(a,b){let c=a.split("\n");for(let a=c.length-1;a>=0;a--){let e=b((0,d.aJ)(c[a]));if(e)return e}return null}function J(a,b){if(!b)return g();switch(a){case"codex":return I(b,p)??g();case"claude":return function(a){let b=I(a,t);if(!b||null!==b.effort)return b;let c=I(a,u);return c?{model:b.model,effort:c.effort}:b}(b)??I(b,w)??g();case"antigravity":return I(b,z)??I(b,A)??g();case"copilot":{let a=function(a){let b=a.split("\n");for(let a=b.length-1;a>=0;a--){let c=(0,d.aJ)(b[a]);if(""!==c.trim()){if(!e.Ub.test(c)&&!e.tJ.test(c))return null;let a=c.trim().split(/\s{2,}/);if(a.length<2)return null;let b=a[a.length-1].split("\xb7").map(a=>a.trim());if(b.length>2)return null;let d=b[0];if(!k(d))return null;if(1===b.length)return{model:d,effort:null};let f=l(b[1]);return null===f?null:{model:d,effort:f}}}return null}(b),c=I(b,C);if(!a)return c??g();if(null!==a.effort||null===c||null===c.effort)return a;return!function(a,b){let c=a=>a.toLowerCase().replace(/[^a-z0-9]/g,"");return c(a)===c(b)}(a.model,c.model)?a:{model:a.model,effort:c.effort}}case"opencode":case"opencode-v2":return function(a){let b=a.split("\n").map(a=>(0,d.aJ)(a));for(let a=b.length-1;a>=0;a--){let c=function(a){let b=D.exec(a);if(!b)return null;let c=b[1].trim();return k(c)?{model:c,effort:null}:null}(b[a])??function(a,b){let c=E.exec(a[b]);if(!c)return null;let d=c[1].trim();if(!k(d))return null;for(let c=b+1;c<a.length;c++)if(""!==a[c].trim())return F.test(a[c])?{model:d,effort:null}:null;return null}(b,a);if(c)return c}return null}(b)??g();case"command-code":return I(b,H)??g();default:return g()}}let K=/-(low|medium|high)$/i;function L(a,b,c,d){let e=(b||null)??c?.model??null,f=c?.effort??null,g="antigravity"===a?function(a){if(!a)return null;let b=K.exec(a);return b?b[1].toLowerCase():null}(e)??f:f;return{model:e,effort:(d||null)??g}}},27675:(a,b,c)=>{c.d(b,{GR:()=>g,MR:()=>i,NR:()=>k,cr:()=>n,eZ:()=>m,vR:()=>j});var d=c(85726),e=c(24455),f=c(36925);function g(a){let b="multiple_choice"===a.type?a.options.map(a=>`${a.number}.${a.label}`):a.options;return[(0,d.J)(a),...b].join("\0")}let h=(0,f.v)("__autoYesEnterFallbacks",()=>new Map);function i(a){h.delete(a)}function j(a){for(let b of(0,e._9)([...h.keys()],a))h.delete(b)}function k(){h.clear()}let l=(0,f.v)("__autoYesEnterFallbackEpochs",()=>new Map);function m(a,b,c){let d=(0,e.v7)(a,b,c);h.delete(d),l.set(d,(l.get(d)??0)+1)}function n(a){return l.get(a)??0}},27870:(a,b,c)=>{c.d(b,{lY:()=>h,QB:()=>e,Yo:()=>m,fO:()=>n,LF:()=>j,PP:()=>i,T5:()=>g});var d=c(81254);let e=[{number:1,label:"Allow once",reply:"once"},{number:2,label:"Allow always",reply:"always"},{number:3,label:"Reject",reply:"reject"}],f={"opencode-v2":{once:"Allow once",always:"Always allow",reject:"Reject"}};function g(a){let b=f[a];return b?e.map(a=>b[a.reply]?{...a,label:b[a.reply]}:a):e}let h=500;function i(a){return"string"==typeof a&&""!==a}function j(a,b){return"permission-id"===a&&b.some(a=>i(a.id)&&!a.deliveryExpired)}let k={notification:"Notification(permission_prompt)","permission-request":"PermissionRequest (no decision)"};function l(a,b){let c=[`A dialog is open in ${a}: the agent reported it via ${k[b.source]}${b.toolName?` for ${b.toolName}`:""}, but the detection layer published no options for it.`];if(b.decisionOptions&&b.decisionOptions.length>0?c.push(`Answer it with \`commandmate respond ${a} <number>\`: `+b.decisionOptions.map(a=>`${a.number} = ${a.label} (${a.reply})`).join(", ")+". The reply goes to the agent's own API, so no keys are sent to the terminal "+`and the label works too (\`respond ${a} "Allow once"\`).`):c.push(`Answer it in the terminal, or send the option NUMBER with \`commandmate respond ${a} <number>\` — yes/no is not resolved on a numbered dialog (Issue #1681).`),b.message&&c.push(`Agent message: "${b.message}"`),b.askUserQuestion){let{question:d,labels:e,questionCount:f}=b.askUserQuestion,g=i(b.decisionId)&&1===f&&!(b.decisionOptions&&b.decisionOptions.length>0);c.push(`The agent asked${f>1?` ${f} questions, the first being`:""}: "${d}" — offering: ${e.join(" / ")}. `+(g?`Answer it with \`commandmate respond ${a} <number>\`: `+e.map((a,b)=>`${b+1} = ${a}`).join(", ")+". The number is this list's own position and the reply goes to the agent's own API, so no keys are sent to the terminal (the label works too).":"The picker renumbers and adds its own entries, so read the option NUMBER off the terminal rather than counting this list."))}return c.join(" ")}function m(a,b){return{type:d.LT,status:"pending",question:l(a,b),options:[],source:b.source,...b.message?{message:b.message}:{},...b.toolName?{toolName:b.toolName}:{},...b.askUserQuestion?{askUserQuestion:b.askUserQuestion}:{},...b.decisionOptions&&b.decisionOptions.length>0?{decisionOptions:b.decisionOptions}:{},decisionId:i(b.decisionId)?b.decisionId:null,...b.patterns&&b.patterns.length>0?{patterns:[...b.patterns]}:{}}}function n(a,b){return{type:d.LT,status:"unclassified",question:l(a,b),options:[],source:b.source,...b.message?{message:b.message}:{},...b.toolName?{toolName:b.toolName}:{},...b.askUserQuestion?{askUserQuestion:b.askUserQuestion}:{}}}},27939:(a,b,c)=>{c.d(b,{F_:()=>t,KA:()=>u,XO:()=>x,Y2:()=>n,jp:()=>m,lr:()=>v,pr:()=>w});var d=c(29021),e=c(21820),f=c(33873),g=c(8004),h=c(24455),i=c(72626),j=c(36925);let k=(0,i.h)("lib/session/opencode-session-store"),l=/^ses[A-Za-z0-9_-]{1,128}$/;function m(a){return"string"==typeof a&&l.test(a)}let n=200,o=(0,j.v)("__opencodeSessionMemories",()=>new Map);function p(a){return(0,h.v7)(a.worktreeId,a.cliToolId,a.instanceId)}function q(){let a=(0,f.join)((0,e.homedir)(),".commandmate","opencode-sessions.json");return(0,g.T)(process.env.CM_OPENCODE_SESSION_FILE,a,"CM_OPENCODE_SESSION_FILE")}function r(){try{let a=JSON.parse((0,d.readFileSync)(q(),"utf8"));if("object"!=typeof a||null===a||Array.isArray(a))return{};let b={};for(let[c,d]of Object.entries(a))!("object"!=typeof d||null===d||Array.isArray(d))&&m(d.sessionId)&&"string"==typeof d.worktreePath&&d.worktreePath.length>0&&(b[c]={sessionId:d.sessionId,title:"string"==typeof d.title?d.title:null,worktreePath:d.worktreePath,updatedAt:"number"==typeof d.updatedAt?d.updatedAt:0});return b}catch{return{}}}function s(a){let b=q();try{(0,d.mkdirSync)((0,f.dirname)(b),{recursive:!0}),(0,d.writeFileSync)(b,`${JSON.stringify(a,null,2)}
2
- `,{mode:384})}catch(a){k.warn("opencode-session-file-write-failed",{path:b,error:a instanceof Error?a.message:String(a)})}}function t(a,b,c=Date.now()){if(!m(b.sessionId))return k.warn("opencode-session-id-rejected",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId}),!1;if(0===b.worktreePath.length)return!1;let d={sessionId:b.sessionId,title:"string"==typeof b.title?b.title.slice(0,n):null,worktreePath:b.worktreePath,updatedAt:c},e=p(a);o.set(e,d);let f=r();return f[e]=d,s(f),!0}function u(a){let b=p(a),c=o.get(b);if(c)return c;let d=r()[b];return d?(o.set(b,d),d):null}function v(a){let b=p(a);o.delete(b);let c=r();b in c&&(delete c[b],s(c))}function w(a,b){let c=u(a);return c?c.worktreePath!==b?(k.info("opencode-session-recovery-path-mismatch",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,recorded:c.worktreePath}),null):m(c.sessionId)?c.sessionId:null:null}function x(a,b){return m(b)?`${a} -s ${b}`:a}},39532:(a,b,c)=>{c.d(b,{HO:()=>m,Vi:()=>i,mt:()=>n,vQ:()=>j,z2:()=>k});var d=c(36925),e=c(682);let f=(0,d.v)("__promptObservationScreenAppearances",()=>new Map);function g(a){return null===a?null:a.replace(/\s+/g," ").trim()}let h=/^[ \t]*[>\u276F\u203A\u25CF]?[ \t]*/u;function i(a,b,c){let d=a.split("\n"),f=(0,e.c)(d,d.length,12);if(null===f)return null;let g=[...f.options],i=g.length-1;if(""!==f.footer&&(g[i]=[g[i],...f.footer.split("\n")].join(" ").trim()),g.length!==b.length||g.some((a,d)=>!c(a,b[d])))return null;let j=function(a,b){let c=[b.lastRow];for(let d=b.lastRow;c.length<b.options.length-1;){let f=(0,e.c)(a,d,a.length);if(null===f||f.firstRow!==b.firstRow||f.lastRow>=d)return null;c.unshift(f.lastRow),d=f.lastRow}return c.unshift(b.firstRow),c.length===b.options.length?c:null}(d,f);if(null===j)return null;let k=new Set(j);return d.map((a,b)=>k.has(b)?a.replace(h," "):a).join("\n")}function j(a,b,c){return null===b||"antigravity-permission"!==a?b:i(b,c,(a,b)=>a===b)??b}function k(a){return JSON.stringify([a.sessionName,a.sessionGeneration,a.kind,g(a.question),a.options.map(g),g(j(a.kind,a.approvalTarget,a.options))])}function l(a){return JSON.stringify([a.worktreeId,a.cliToolId,a.instanceId])}function m(a,b,c){let d=l(a),e=f.get(d);f.delete(d);let g=e?.fingerprint===b?e.firstSeenAt:Math.floor(c);for(f.set(d,{fingerprint:b,firstSeenAt:g});f.size>1024;){let a=f.keys().next().value;if(void 0===a)break;f.delete(a)}return g}function n(a){f.delete(l(a))}},41842:(a,b,c)=>{c.d(b,{$C:()=>r,Fw:()=>p,J2:()=>s,Mm:()=>u,Ou:()=>v,QL:()=>n,Y_:()=>x,n5:()=>o,pi:()=>y,qo:()=>w,r4:()=>l,sb:()=>k,u0:()=>j,wQ:()=>i,wx:()=>h});var d=c(55511),e=c(24455),f=c(24581),g=c(36925);let h=(0,g.v)("__agentEventDrops",()=>new Map),i=(0,g.v)("__agentEventRecentKeys",()=>new Map),j=(0,g.v)("__agentEventRecentIdentities",()=>new Map),k=3e3,l=512;function m(){return{dedupDropped:{identity:0,timeWindow:0},decisionEvicted:0,idsDiscarded:0,dialogTimedOut:0,decisionOverflow:0}}function n(a){let b=h.get(a);return b||(b=m(),h.set(a,b),x(h,l)),b}function o(a,b,c){let d=h.get((0,e.v7)(a,b,c));return d?{...d,dedupDropped:{...d.dedupDropped}}:m()}function p(a,b,c,d,g,h=Date.now(),j=null){var m,n;if(!g)return!1;let o=(0,e.v7)(a,b,c),r=q(o,d,j,g),s=i.get(r);return void 0!==s&&h-s<k||(i.set(r,h),f.Cb.has(d)?t(o,["stop"],g):"stop"===d&&(m=o,n=g,t(m,f.Cb,n)),function(a){for(let[b,c]of i)a-c>=k&&i.delete(b);for(;i.size>l;){let a=i.keys().next();if(a.done)break;i.delete(a.value)}}(h),!1)}function q(a,b,c,d){return[a,b,c??"",d].join(" ")}function r(a,b,c,d,f,g=null){if(!f)return null;let h=(0,e.v7)(a,b,c);return i.get(q(h,d,g,f))??null}function s(a){return(0,d.createHash)("sha256").update(a).digest("hex").slice(0,8)}function t(a,b,c){let d=Array.from(b,b=>`${a} ${b} `),e=` ${c}`,f=(a,b)=>a.length>=b.length+e.length&&a.startsWith(b);for(let a of i.keys())a.endsWith(e)&&d.some(b=>f(a,b))&&i.delete(a)}function u(){return i.size}let v=["stop","session_end"];function w(a){let b=(0,e.v7)(a.worktreeId,a.cliToolId,a.instanceId);if(null!==a.identityKind){let d=null===a.identity?null:(0,f.Xq)(a.identity);if(null!==a.identity&&null===d&&(n(b).idsDiscarded+=1),null!==d)return!function(a,b){let c=(0,e.v7)(a.worktreeId,a.cliToolId,a.instanceId),d=j.get(c);d||(d=new Map,j.set(c,d),x(j,l));let f=[a.event,a.detail??"",b].join(" ");return!!d.has(f)||(d.set(f,a.at),x(d,l),!1)}(a,d)?{duplicate:!1}:(n(b).dedupDropped.identity+=1,{duplicate:!0,by:"identity"});if(v.includes(a.event)){var c;return"stop"===a.event&&a.sessionId&&(c=a.sessionId,t(b,f.Cb,c)),{duplicate:!1}}}return p(a.worktreeId,a.cliToolId,a.instanceId,a.event,a.sessionId,a.at,a.detail)?(n(b).dedupDropped.timeWindow+=1,{duplicate:!0,by:"time-window"}):{duplicate:!1}}function x(a,b){for(;a.size>b;){let b=a.keys().next();if(b.done)break;a.delete(b.value)}}function y(a,b,c){if(void 0===a||void 0===b){let a=0;for(let b of j.values())a+=b.size;return a}return j.get((0,e.v7)(a,b,c))?.size??0}},49154:(a,b,c)=>{c.d(b,{GF:()=>e,Wk:()=>g,mW:()=>f});var d=c(13287);let e="question",f=[d.k$,e];function g(a){return null!==a&&f.includes(a)?"question":"permission"}},56791:(a,b,c)=>{c.r(b),c.d(b,{ACTIVE_FILTER:()=>d.ks,ACTIVE_TASK_STATUSES:()=>d.EL,AgentInstanceLimitError:()=>d.AC,CURRENT_SCHEMA_VERSION:()=>f.FT,DEFAULT_RUN_HISTORY_LIMIT:()=>d.Tu,InvalidAgentInstanceError:()=>d.ug,MAX_DISABLED_REPOSITORIES:()=>h.nc,MAX_RUN_HISTORY_DAYS:()=>d.eP,MAX_RUN_HISTORY_LIMIT:()=>d.mg,MemoDbError:()=>d.lm,NEW_SUBSCRIPTION_DEFAULTS:()=>d.s6,PUSH_DEFAULTS_VERSION:()=>d.VP,RepositoryDbError:()=>h.j8,TASK_STATUSES:()=>d.Hi,TERMINAL_TASK_STATUSES:()=>d.sA,VERIFICATION_GATE_SOURCES:()=>d.Dx,VERIFICATION_TRIGGERS:()=>d.af,WORKTREE_TODO_STATUSES:()=>d.KG,addAgentInstance:()=>d.Uq,cancelTimer:()=>d.Ud,cancelTimersByWorktree:()=>d.$$,cleanupOldTimers:()=>d.ul,clearInProgressMessageId:()=>d.YX,clearLastUserMessage:()=>d.cf,clearTimerHistory:()=>d.jf,closeDbInstance:()=>e.closeDbInstance,countAgentInstances:()=>d.fs,countDisabledRepositories:()=>h.QJ,countPushSubscriptionsForKind:()=>d.rC,countWorktreesByRepositoryPath:()=>h.kp,createCloneJob:()=>h.tw,createGateResult:()=>d.hl,createMemo:()=>d.To,createMessage:()=>d.oH,createRepository:()=>h.vB,createTask:()=>d.UT,createTimer:()=>d.CR,createVerificationRun:()=>d.rY,createWorktreeTodo:()=>d.yy,deleteAllMessages:()=>d.pE,deleteMemo:()=>d.cP,deleteMessageById:()=>d.DF,deleteMessagesByCliTool:()=>d.lA,deleteMessagesByInstance:()=>d.Qp,deletePushSubscriptionByEndpoint:()=>d.th,deleteRepository:()=>h.oG,deleteRepositoryWorktrees:()=>d.oZ,deleteSessionState:()=>d.ZP,deleteWorktreeTodo:()=>d.vg,deleteWorktreesByIds:()=>d.Rm,disableExistingRepository:()=>h.eP,disableRepository:()=>h.l$,ensureEnvRepositoriesRegistered:()=>h.ES,filterExcludedPaths:()=>h.Ho,findMessageByRequestId:()=>d.Ow,finishGateResult:()=>d.C8,finishVerificationRun:()=>d.u$,getActiveCloneJobByUrl:()=>h.fD,getActiveTask:()=>d.__,getActiveTaskForInstance:()=>d.MH,getAgentInstance:()=>d.BN,getAgentInstances:()=>d.m0,getAliasedWorktreeIds:()=>d.r3,getAllPushSubscriptions:()=>d.Se,getAllRepositories:()=>h.Yg,getAllRepositoriesWithWorktreeCount:()=>h._D,getAllWorktreeAliases:()=>d.fX,getAllWorktreeIds:()=>d.nO,getAllWorktreePathIds:()=>d.Sj,getCloneJob:()=>h.bM,getCloneJobsByStatus:()=>h.n_,getCurrentVersion:()=>f.Mj,getDailyReport:()=>d.ap,getDbInstance:()=>e.getDbInstance,getDefaultDbPath:()=>g.$b,getExcludedRepositories:()=>h.lS,getExcludedRepositoryPaths:()=>h.pr,getInitialBranch:()=>d.p4,getIssueDbPath:()=>g.zm,getLastAssistantMessageAt:()=>d.nP,getLastMessage:()=>d.sy,getLastUserMessage:()=>d.r8,getLegacyDbPaths:()=>q,getMemoById:()=>d.DN,getMemosByWorktreeId:()=>d.pZ,getMessageById:()=>d.kA,getMessages:()=>d.VL,getMessagesByDateRange:()=>d.lr,getMigrationHistory:()=>f.PS,getPendingTimerCountByWorktree:()=>d.GF,getPendingTimers:()=>d._O,getPushSubscriptionByEndpoint:()=>d.CF,getPushSubscriptionsForKind:()=>d.gn,getRepositories:()=>d.NV,getRepositoryById:()=>h.r,getRepositoryByNormalizedUrl:()=>h.Uj,getRepositoryByPath:()=>h.Dp,getRunningVerificationRun:()=>d.WZ,getSessionState:()=>d.y1,getTask:()=>d.gg,getTimerById:()=>d.kx,getTimersByWorktree:()=>d.DP,getTodosByWorktreeId:()=>d.fr,getVerificationRun:()=>d.J6,getWorktreeAliases:()=>d.Q2,getWorktreeById:()=>d.Ui,getWorktreeIdsByRepository:()=>d.P9,getWorktreeTodoById:()=>d.eN,getWorktrees:()=>d.vi,getWorktreesByRepository:()=>d.uJ,initDatabase:()=>d.s4,isTerminalTaskStatus:()=>d.uB,isWorktreeTodoStatus:()=>d.yT,listRunningVerificationRuns:()=>d.Fi,listTaskEvents:()=>d.HB,listTasks:()=>d.Vk,listVerificationRuns:()=>d.Mt,listVerificationRunsForPeriod:()=>d.UE,markPendingPromptsAsAnswered:()=>d.PL,migrateDbIfNeeded:()=>r,migrateWorktreeIdPreservingChildren:()=>d._h,pushSubscriptionNeedsDefaultsNotice:()=>d.Zj,recomputeLastUserMessage:()=>d.jp,recordAnsweredPrompt:()=>d.pG,recordWorktreeAlias:()=>d.xJ,recoverStuckSendingTimers:()=>d.Xm,registerAndFilterRepositories:()=>h.$G,removeAgentInstance:()=>d.NU,reorderMemos:()=>d.nQ,reorderWorktreeTodos:()=>d.yb,resolveAndValidatePath:()=>p,resolveRepositoryPath:()=>h.mE,resolveWorktreeIdWithAlias:()=>d.l0,restoreRepository:()=>h.RS,rollbackMigrations:()=>f.Wy,runMigrations:()=>f.vI,saveDailyReport:()=>d.tt,saveInitialBranch:()=>d.GA,setAgentInstances:()=>d.Cs,setInProgressMessageId:()=>d.OF,setRepositoryEnabled:()=>h.iQ,updateCliToolId:()=>d.WU,updateCloneJob:()=>h.k5,updateDailyReportContent:()=>d.IF,updateFavorite:()=>d.O,updateLastUserMessage:()=>d.EU,updateLastViewedAt:()=>d.HZ,updateMemo:()=>d.UY,updateMessageContent:()=>d.e8,updatePromptData:()=>d.cw,updatePushSubscriptionPreferences:()=>d.jJ,updateRepository:()=>h.Ir,updateSelectedAgents:()=>d.DC,updateSessionState:()=>d.PP,updateStatus:()=>d.yB,updateTimerStatus:()=>d.j2,updateVibeLocalContextWindow:()=>d.s,updateVibeLocalModel:()=>d.iu,updateWorktreeDescription:()=>d.hq,updateWorktreeLink:()=>d.z1,updateWorktreeTodo:()=>d.bl,upsertPushSubscription:()=>d.jA,upsertWorktree:()=>d.ZL,validateDbPath:()=>g.Sv,validateRepositoryPath:()=>h.Ux,validateSchema:()=>f.i6});var d=c(683),e=c(88807),f=c(67469),g=c(20416),h=c(10406),i=c(29021),j=c.n(i),k=c(33873),l=c.n(k),m=c(21820),n=c(7956);let o=(0,c(72626).h)("db-migration-path");function p(a,b){try{if(!j().existsSync(a))return null;let c=j().realpathSync(a);if((0,n.fW)(c))return o.warn(`[Security] ${b} points to system directory, skipping: ${c}`),null;return c}catch{return o.warn(`[Security] Failed to resolve ${b}: ${a}`),null}}function q(){let a=[];a.push(l().join(process.cwd(),"data","db.sqlite")),a.push(l().join(process.cwd(),"data","cm.db")),a.push(l().join((0,m.homedir)(),".commandmate","data","db.sqlite"));let b=process.env.DATABASE_PATH;if(b)try{let c=l().resolve(b);(0,n.fW)(c)?o.warn(`[Security] Skipping DATABASE_PATH in system directory: ${c}`):a.push(b)}catch{o.warn(`[Security] Invalid DATABASE_PATH: ${b}`)}return a}function r(a){let b=l().resolve(a);if((0,n.fW)(b))throw Error(`Security error: Target path cannot be in system directory: ${b}`);if(j().existsSync(a)){let b=p(a,"target path");if(b)return{migrated:!1,targetPath:b}}for(let a of q()){let c=p(a,"legacy path");if(!c)continue;let d=`${c}.bak`;j().copyFileSync(c,d),j().chmodSync(d,384);let e=l().dirname(b);return j().existsSync(e)||j().mkdirSync(e,{recursive:!0,mode:448}),j().copyFileSync(c,b),o.info(`[Migration] Database migrated from ${c} to ${b}`),o.info(`[Migration] Backup created at ${d}`),{migrated:!0,sourcePath:c,targetPath:b,backupPath:d}}return{migrated:!1,targetPath:b}}},57836:(a,b,c)=>{c.d(b,{Bf:()=>t,Jp:()=>H,M_:()=>w,O_:()=>G,Te:()=>I,Uh:()=>z,_0:()=>F,_W:()=>x,_v:()=>C,cx:()=>D,fK:()=>E,jG:()=>A,wN:()=>s,yk:()=>y});var d=c(24455),e=c(72626),f=c(36925);let g=(0,e.h)("waiting-episode-state"),h=(0,f.v)("__sessionWaitingEpisodes",()=>new Map),i=(0,f.v)("__sessionWaitingTransitionListeners",()=>new Set),j=(0,f.v)("__sessionWaitingEpisodeMeta",()=>new WeakMap),k=(0,f.v)("__sessionWaitingEpisodeVersions",()=>new Map),l=(0,f.v)("__sessionWaitingEpisodeLastClosed",()=>new Map),m=(0,f.v)("__sessionWaitingEpisodeSeq",()=>({value:0,nonce:Math.random().toString(36).slice(2,10)})),n=(0,f.v)("__sessionWaitingEpisodeListeners",()=>new Set),o={kind:"unattributed",generation:{kind:"none"},lastClosedTurnId:null};function p(){return m.value+=1,`wep-${m.nonce}-${m.value}`}function q(a){return(0,d.v7)(a.worktreeId,a.cliToolId,a.instanceId)}function r(a){k.set(a,(k.get(a)??0)+1)}function s(a){return i.add(a),()=>{i.delete(a)}}function t(a){return n.add(a),()=>{n.delete(a)}}function u(a){let{cause:b,episodeId:c,previousEpisodeId:d,closeReason:e,...f}=a;for(let b of i)try{b(f)}catch(b){v(a,b)}for(let b of n)try{b(a)}catch(b){v(a,b)}}function v(a,b){g.error("waiting-transition-listener-failed",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,waiting:a.waiting,error:b instanceof Error?b.message:String(b)})}function w(a,b,c){let d=q(a),e={since:b.since,kind:b.kind},f={episodeId:p(),openedAt:c,boundAt:c,binding:b.binding,openedBy:b.openedBy,promptScreenKey:b.promptScreenKey??null};return h.set(d,e),j.set(e,f),r(d),u({worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId,waiting:!0,since:e.since,kind:e.kind,at:c,cause:"opened",episodeId:f.episodeId,previousEpisodeId:null,closeReason:null}),{...e,...f}}function x(a,b,c,d){let e=q(a),f=h.get(e);if(void 0===f)return!1;let g=B(f);return g.episodeId===b&&(h.delete(e),l.set(e,{at:d,promptScreenKey:g.promptScreenKey}),r(e),u({worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId,waiting:!1,since:null,kind:null,at:d,cause:"closed",episodeId:null,previousEpisodeId:g.episodeId,closeReason:c}),!0)}function y(a,b,c,d,e){let f=q(a),g=h.get(f);if(void 0===g)return null;let i=B(g);if(i.episodeId!==b)return null;l.set(f,{at:e,promptScreenKey:i.promptScreenKey});let k={since:c.since,kind:c.kind},m={episodeId:p(),openedAt:e,boundAt:e,binding:c.binding,openedBy:c.openedBy,promptScreenKey:c.promptScreenKey??null};return h.set(f,k),j.set(k,m),r(f),u({worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId,waiting:!0,since:k.since,kind:k.kind,at:e,cause:"replaced",episodeId:m.episodeId,previousEpisodeId:i.episodeId,closeReason:d}),{...k,...m}}function z(a,b,c,d){let e=q(a),f=h.get(e);if(void 0===f)return!1;let g=B(f);return g.episodeId===b&&(g.binding=c,g.boundAt=d,r(e),!0)}function A(a,b,c){let d=h.get(q(a));return void 0!==d&&B(d).episodeId===b&&(d.kind=c,!0)}function B(a){let b=j.get(a);return void 0===b&&(b={episodeId:p(),openedAt:a.since,boundAt:a.since,binding:o,openedBy:"legacy-edge",promptScreenKey:null},j.set(a,b)),b}function C(a,b,c){let e=h.get((0,d.v7)(a,b,c));if(void 0===e)return null;let f=B(e);return{since:e.since,kind:e.kind,...f,binding:f.binding}}function D(a,b,c){return k.get((0,d.v7)(a,b,c))??0}function E(a){let b=`${a}${d.CS}`,c=new Map;for(let[a,d]of k)a.startsWith(b)&&c.set(a,d);return c}function F(a,b,c){return l.get((0,d.v7)(a,b,c))??null}function G(a){globalThis.__sessionWaitingEpisodeBindingResolver=a}function H(a,b,c){return h.get((0,d.v7)(a,b,c))??null}function I(a){let b=`${a}${d.CS}`;for(let a of h.keys())if(a.startsWith(b))return!0;return!1}},67882:(a,b,c)=>{c.d(b,{DA:()=>e,O_:()=>f,Oh:()=>d,_K:()=>i,kA:()=>g,px:()=>h});let d={PROMPT_SUBMIT:"hook_prompt_submit",STOP:"hook_stop",PERMISSION_PROMPT:"hook_permission_prompt",PERMISSION_REQUEST:"hook_permission_request",IDLE_PROMPT:"hook_idle_prompt",PRE_TOOL_USE:"hook_pre_tool_use",POST_TOOL_USE:"hook_post_tool_use"};function e(a,b){switch(a){case"user_prompt_submit":return{status:"running",reason:d.PROMPT_SUBMIT};case"pre_tool_use":return{status:"running",reason:d.PRE_TOOL_USE};case"post_tool_use":return{status:"running",reason:d.POST_TOOL_USE};case"stop":return{status:"ready",reason:d.STOP};case"notification":if("permission_prompt"===b)return{status:"waiting",reason:d.PERMISSION_PROMPT};if("idle_prompt"===b)return{status:"ready",reason:d.IDLE_PROMPT};return null;default:return null}}function f(a,b=!1){switch(a){case"waiting":return{isWaitingForResponse:!0,isProcessing:!1};case"running":return{isWaitingForResponse:!1,isProcessing:!b};default:return{isWaitingForResponse:!1,isProcessing:!1}}}function g(a){return a?a.isWaitingForResponse?"waiting":a.isProcessing?"running":a.isRunning?"ready":"idle":"idle"}function h(a){return a?.isUnclassified===!0&&"ready"===g(a)}function i(a){return a.isSessionRunning?a.isWaitingForResponse?"waiting":a.isProcessing?"running":"ready":null}},81254:(a,b,c)=>{function d(a){return"answer_only"===a||"answer_then_enter"===a}c.d(b,{LT:()=>e,MI:()=>d,XF:()=>f});let e="unclassified";function f(a){return null!=a&&a.type!==e}},85322:(a,b,c)=>{c.d(b,{k:()=>d});let d="opencode"},85726:(a,b,c)=>{c.d(b,{J:()=>d});function d(a){return`${a.type}:${a.question}`}},91227:(a,b,c)=>{c.d(b,{c:()=>f});var d=c(85726),e=c(39532);function f(a){let b="multiple_choice"===a.type?a.options.map(a=>`${a.number}.${a.label}`).join("\n"):a.options.join("\n");return[(0,d.J)(a),b,function(a){let b=a.approvalTarget??"";return"multiple_choice"!==a.type?b:(0,e.Vi)(b,a.options.map(a=>a.label),(a,b)=>a.startsWith(b))??b.split("\n").map(a=>a.replace(/^[\s❯›>▶►●○◉→]+/u,"")).join("\n")}(a)].join("\0")}},91631:(a,b,c)=>{c.d(b,{$M:()=>B,BZ:()=>k,Bf:()=>w,Dy:()=>G,Ev:()=>q,Ln:()=>s,NW:()=>v,Or:()=>j,SQ:()=>I,Yb:()=>A,ZG:()=>i,_i:()=>z,fY:()=>x,i1:()=>m,j0:()=>n,nC:()=>H,pO:()=>u,rT:()=>D,sp:()=>o,zM:()=>y});var d=c(24455),e=c(62887),f=c(24581),g=c(41842),h=c(36925);let i=(0,h.v)("__agentEventGenerationStartedAt",()=>new Map),j=(0,h.v)("__agentEventTurns",()=>new Map),k=(0,h.v)("__agentEventReopenedTurns",()=>new Map),l=(0,h.v)("__agentEventTurnSeq",()=>({value:0}));function m(a){globalThis.__agentEventTurnOutcomeSink=a}function n(a){return null===a?{kind:"none"}:{kind:"opened",at:a}}function o(a,b){return a.pendingDecisions.filter(a=>(0,f.jF)(a,b)).length}function p(a,b,c){if(null===a)return{kind:"none"};if(null!==a.closedAt)return{kind:"closed",turnId:a.turnId,closedBy:a.closedBy??"stop"};if(null===a.openedAt){let b=o(a,c);return b>0?{kind:"dialog-only",turnId:a.turnId,decisions:b,sessionId:a.sessionId}:{kind:"display-only",turnId:a.turnId}}return(0,f.ZV)(a,b)?{kind:"open-same-session",turnId:a.turnId}:{kind:"open-other-session",turnId:a.turnId}}function q(a){return i.get(a)??null}function r(a){let b=j.get(a);return b&&b.generationAt===q(a)?b:null}function s(a,b){let c=r(a);return null===c?null:(null===c.closedAt&&b-c.displayEvent.at>=f.Mu&&(c.closedAt=c.displayEvent.at+f.Mu,c.closedBy="stale"),c)}function t(a){return l.value+=1,`turn-${a}-${l.value}`}function u(a,b,c){let d=b.pendingDecisions.filter(a=>(0,f.jF)(a,c)),e=b.pendingDecisions.length-d.length;return e>0&&((0,g.QL)(a).dialogTimedOut+=e,b.pendingDecisions=d),d}function v(a,b,c,e=Date.now()){let f=(0,d.v7)(a,b,c),g=s(f,e);return null===g?[]:u(f,g,e)}function w(a,b,c,e=Date.now()){return s((0,d.v7)(a,b,c),e)}function x(a,b,c,d=Date.now()){return(0,f.nY)(w(a,b,c,d))}function y(a,b,c,e,f=Date.now()){let g=r((0,d.v7)(a,b,c));return null!==g&&null===g.closedAt&&(g.closedAt=f,g.closedBy=e,!0)}function z(a,b,c,e,g=Date.now(),h=!0){let i=r((0,d.v7)(a,b,c));return null!==i&&null===i.closedAt&&(e?(i.scraperCompletionPolls+=1,!(i.scraperCompletionPolls<f.Tt)&&!!h&&(i.closedAt=g,i.closedBy="scraper_evidence",!0)):(i.scraperCompletionPolls=0,!1))}function A(a,b,c="session-start"){let d=j.get(a),e={kind:"generation-fenced",source:c,generation:n(q(a)),fencedTurnId:d?.turnId??null};return d?(0!==d.pendingDecisions.length&&((0,g.QL)(a).decisionEvicted+=d.pendingDecisions.length,d.pendingDecisions=[]),null!==d.closedAt||(d.closedAt=b,d.closedBy="generation",d.generationAt=b),e):e}function B(a,b){let c=q(a);if(null!==c&&b.at<c)return"stop"===b.event?{kind:"stop-rejected",reason:"before-generation"}:"session_end"===b.event?{kind:"session-end-rejected",reason:"before-generation"}:{kind:"none"};switch(b.event){case"user_prompt_submit":{let d=F(a,b,"user_prompt_submit",c,{continueOpen:!0===b.joinsOpenTurn});return I(a),d}case"post_tool_use":{let d=F(a,b,"post_tool_use",c,{continueOpen:!0});return I(a),d}case"pre_tool_use":if(!0===b.promptOpensTurns&&C(a))return{kind:"none"};return F(a,b,"pre_tool_use",c,{continueOpen:!0});case"stop":var d=a,g=b,h=c;let i=r(d);if(null!==i&&null===i.closedAt&&null!==i.openedAt)return(0,f.ZV)(i,g.sessionId)?(i.closedAt=g.at,i.closedBy="stop",i.displayEvent=E(g),I(d),{kind:"stopped",turnId:i.turnId,generation:n(h)}):{kind:"stop-rejected",reason:"other-session"};let k=p(i,g.sessionId,g.at);if("dialog-only"===k.kind&&null!==k.sessionId&&null!==g.sessionId&&k.sessionId!==g.sessionId)return{kind:"stop-rejected",reason:"other-session"};let l=t(g.at);return j.set(d,{turnId:l,sessionId:g.sessionId,openedAt:null,closedAt:g.at,closedBy:"stop",generationAt:h,displayEvent:E(g),pendingDecisions:[],scraperCompletionPolls:0}),K(),{kind:"stop-without-turn",recordTurnId:l,generation:n(h),previous:k};case"session_end":{let c=function(a,b){let c=r(a);return null===c?{kind:"session-end-rejected",reason:"no-turn"}:(0,f.ZV)(c,b.sessionId)?(c.closedAt=b.at,c.closedBy="session_end",{kind:"session-ended",turnId:c.turnId}):{kind:"session-end-rejected",reason:"other-session"}}(a,b);return I(a),c}case"session_start":return{kind:"none"};case"notification":var m=a,o=b,s=c;if("permission_prompt"===o.detail)return!0===o.promptSettled?J(m,o):{kind:"decision-opened",...H(m,s,{source:"notification",at:o.at,message:o.message??null,toolName:o.toolName??null,patterns:o.decisionPatterns??null,decisionId:o.decisionId??null,bootstrapDisplay:E(o),sessionId:o.sessionId})};if(o.detail===e.KC)return!0===o.promptSettled?J(m,o):{kind:"none"};if("idle_prompt"===o.detail){I(m);let a=r(m);if(null!==a&&null===a.closedAt)return a.displayEvent=E(o),{kind:"none"};if(null!==a)return{kind:"none"};j.set(m,{turnId:t(o.at),sessionId:o.sessionId,openedAt:null,closedAt:null,closedBy:null,generationAt:s,displayEvent:E(o),pendingDecisions:[],scraperCompletionPolls:0}),K()}return{kind:"none"};default:return b.event,{kind:"none"}}}function C(a){let b=r(a);return null!==b&&null!==b.closedAt&&"stop"===b.closedBy}function D(a,b,c,e){return e&&C((0,d.v7)(a,b,c))}function E(a){return{event:a.event,at:a.at,detail:a.detail}}function F(a,b,c,d,{continueOpen:e}){let h=r(a),i=p(h,b.sessionId,b.at),l=null!==h&&null===h.closedAt&&null!==h.openedAt&&(0,f.ZV)(h,b.sessionId);if(e&&l)return h.displayEvent=E(b),h.sessionId??=b.sessionId,h.scraperCompletionPolls=0,{kind:"continued",turnId:h.turnId};let m=null!==h&&null===h.openedAt&&null===h.closedAt?h.pendingDecisions:[],o={turnId:t(b.at),sessionId:b.sessionId,openedAt:b.at,closedAt:null,closedBy:null,generationAt:d,displayEvent:E(b),pendingDecisions:m,scraperCompletionPolls:0};return j.set(a,o),K(),"user_prompt_submit"===b.event&&l&&(k.set(a,{turnId:o.turnId,replaced:h}),(0,g.Y_)(k,g.r4)),{kind:"opened",turnId:o.turnId,event:c,generation:n(d),previous:i}}function G(a,b,c,e){if("user_prompt_submit"!==e.event||!0!==e.joinsOpenTurn)return!1;let g=(0,d.v7)(a,b,c),h=k.get(g),i=r(g);if(!h||null===i||i.turnId!==h.turnId||null!==i.closedAt||!(0,f.ZV)(i,e.sessionId))return!1;let{replaced:l}=h;return l.generationAt===i.generationAt&&(j.set(g,{...l,closedAt:null,closedBy:null,displayEvent:i.displayEvent,pendingDecisions:i.pendingDecisions,scraperCompletionPolls:0}),k.delete(g),globalThis.__agentEventTurnOutcomeSink?.({worktreeId:a,cliToolId:b,instanceId:c},[{kind:"restored",restoredTurnId:l.turnId,discardedTurnId:i.turnId}]),!0)}function H(a,b,c){let d=r(a);null===d||null!==d.closedAt?(d={turnId:t(c.at),sessionId:c.sessionId??null,openedAt:null,closedAt:null,closedBy:null,generationAt:b,displayEvent:c.bootstrapDisplay,pendingDecisions:[],scraperCompletionPolls:0},j.set(a,d),K()):null===d.openedAt&&null===d.sessionId&&(d.sessionId=c.sessionId??null);let e={recordTurnId:d.turnId,recordKind:null!==d.openedAt?"turn":"dialog-only"},h=null===c.decisionId?null:(0,f.Xq)(c.decisionId);null!==c.decisionId&&null===h&&((0,g.QL)(a).idsDiscarded+=1);let i="notification"===c.source,k=null!==h?d.pendingDecisions.find(a=>a.decisionId===h)??d.pendingDecisions.find(a=>null===a.decisionId&&"permission-request"===a.source):d.pendingDecisions.find(a=>null===a.decisionId);return k?(k.message=(0,f.wt)(c.message)??k.message,k.toolName=(0,f.kT)(c.toolName)??k.toolName,k.patterns=(0,f.Ui)(c.patterns)??k.patterns,k.decisionId??=h,i&&(k.source="notification",k.confirmedAt??=c.at)):d.pendingDecisions.length>=f.RY?(0,g.QL)(a).decisionOverflow+=1:d.pendingDecisions.push({decisionId:h,at:c.at,source:c.source,message:(0,f.wt)(c.message),toolName:(0,f.kT)(c.toolName),patterns:(0,f.Ui)(c.patterns),confirmedAt:i?c.at:null,scraperCorroborated:!1,recorded:!1}),e}function I(a){let b=r(a);null!==b&&(b.pendingDecisions=[])}function J(a,b){let c=r(a);if(null===c||0===c.pendingDecisions.length)return{kind:"none"};let d=c.pendingDecisions.length,e=null===b.decisionId||void 0===b.decisionId?null:(0,f.Xq)(b.decisionId);return null===e?c.pendingDecisions=[]:c.pendingDecisions=c.pendingDecisions.filter(a=>null!==a.decisionId&&a.decisionId!==e),{kind:"decision-answered",recordTurnId:c.turnId,recordKind:null!==c.openedAt?"turn":"dialog-only",before:d,remaining:c.pendingDecisions.length}}function K(){(0,g.Y_)(j,g.r4)}},95375:(a,b,c)=>{c.r(b),c.d(b,{AGENT_EVENT_DEDUP_WINDOW_MS:()=>f.sb,AGENT_MODEL_EFFORT_SUFFIX_PATTERN:()=>p,LIFECYCLE_AGENT_EVENT_TYPES:()=>f.Ou,STRUCTURED_PROMPT_PROVISIONAL_MAX_AGE_MS:()=>ad,STRUCTURED_STATE_MAX_AGE_MS:()=>L,agentEventKeyClaimedAt:()=>f.$C,beginAgentEventGeneration:()=>aa,classifyAgentEventDelivery:()=>f.qo,clearAgentStopEvents:()=>ak,clearAskUserQuestion:()=>U,clearStructuredPromptWaiting:()=>aj,closeAgentTurn:()=>I.zM,corroborateStructuredPromptWaiting:()=>ah,discardAgentEventState:()=>ac,getAgentEventDropCounts:()=>f.n5,getAgentEventGenerationStartedAt:()=>ab,getAgentModelBaseline:()=>u,getAgentTurn:()=>I.Bf,getAskUserQuestion:()=>T,getAwaitingInstruction:()=>O,getLastAgentEvent:()=>_,getLastCapturedModelInfo:()=>A,getLastKnownAgentEffort:()=>G,getLastKnownAgentModel:()=>x,getLastReportedAgentEffort:()=>F,getLastStopEventAt:()=>Y,getPendingDecisions:()=>I.NW,getPublishedAgentTurn:()=>I.fY,getRecentEventIdentityCount:()=>f.pi,getRecentEventKeyCount:()=>f.Mm,getResolvedAgentModelInfo:()=>B,getStructuredPromptWaiting:()=>ag,getStructuredSessionState:()=>M,isAwaitingInstruction:()=>P,isDuplicateAgentEvent:()=>f.Fw,isPreToolUseOutsideTurn:()=>I.rT,isSameAgentModelName:()=>s,joinOpenTurnFromDuplicate:()=>I.Dy,markStructuredPromptRecorded:()=>ai,observeScraperCompletionEvidence:()=>I._i,onAgentModelChange:()=>t,recordAgentEvent:()=>$,recordAgentReportedEffort:()=>E,recordAgentReportedModel:()=>y,recordAgentStopEvent:()=>X,recordAskUserQuestion:()=>S,recordCapturedModelInfo:()=>z,reportPermissionRequestPending:()=>ae,reportQuestionPending:()=>af,shortSessionTag:()=>f.J2});var d=c(24455),e=c(27675),f=c(41842),g=c(62887),h=c(26547),i=c(36925);let j=(0,i.v)("__agentEventLastModel",()=>new Map),k=(0,i.v)("__agentEventLastModelAt",()=>new Map),l=(0,i.v)("__agentCapturedModelInfo",()=>new Map),m=(0,i.v)("__agentEventLastEffort",()=>new Map),n=(0,i.v)("__agentModelBaseline",()=>new Map),o=(0,i.v)("__agentModelChangeListeners",()=>new Set),p=/[-_ ](?:minimal|low|medium|high|xhigh)$/i,q=/\bcontext\b/gi;function r(a){return a.replace(p,"").replace(q,"").toLowerCase().replace(/[^a-z0-9]/g,"")}function s(a,b,c={}){let d=r(a),e=r(b);return d===e||!!c.crossSource&&0!==d.length&&0!==e.length&&(d.includes(e)||e.includes(d))}function t(a){return o.add(a),()=>{o.delete(a)}}function u(a,b,c){return n.get((0,d.v7)(a,b,c))??null}function v(a,b,c,e,g){let h=(0,d.v7)(a,b,c),{info:i,source:j}=D(h,b),k=i.model;if(null===k||null===j)return;let l=n.get(h),m={model:k,source:j};if(void 0===l){n.set(h,m),(0,f.Y_)(n,f.r4);return}if(s(l.model,k,{crossSource:l.source!==j}))return void n.set(h,m);n.set(h,m);var p={worktreeId:a,cliToolId:b,instanceId:c??b,from:l.model,to:k,source:e,at:g};for(let a of o)try{a(p)}catch{}}function w(a,b){"string"==typeof b.model&&""!==b.model&&(j.set(a,b.model.slice(0,g.h9)),k.set(a,b.at))}function x(a,b,c){return j.get((0,d.v7)(a,b,c))??null}function y(a,b,c,e,f=Date.now()){if("string"!=typeof e||""===e)return;let h=(0,d.v7)(a,b,c);j.set(h,e.slice(0,g.h9)),k.set(h,f),v(a,b,c,"hook",f)}function z(a,b,c,e,f=Date.now()){if(!e.model&&!e.effort)return;let h=(0,d.v7)(a,b,c),i=l.get(h),j=e.model?e.model.slice(0,g.h9):i?.model??null;l.set(h,{model:j,effort:e.effortUnreadable?null:e.effort??i?.effort??null,modelChangedAt:null===j?null:j===(i?.model??null)?i?.modelChangedAt??f:f}),e.model&&v(a,b,c,"frame",f)}function A(a,b,c){let e=l.get((0,d.v7)(a,b,c));return{model:e?.model??null,effort:e?.effort??null}}function B(a,b,c){return D((0,d.v7)(a,b,c),b).info}let C=new Set(["claude"]);function D(a,b){let c=j.get(a)??null,d=l.get(a),e={model:d?.model??null,effort:d?.effort??null},f=m.get(a)??null,g=d?.modelChangedAt??null,i=null!==c&&null!==e.model&&null!==g&&C.has(b)&&g>(k.get(a)??0)&&!s(c,e.model,{crossSource:!0}),n=(0,h.Yz)(b,i?null:c,e,f);return null===n.model?{info:n,source:null}:{info:n,source:null===c||i?"frame":"hook"}}function E(a,b,c,e){"string"==typeof e&&""!==e&&m.set((0,d.v7)(a,b,c),e.slice(0,g.h9))}function F(a,b,c){return m.get((0,d.v7)(a,b,c))??null}function G(a,b,c){return B(a,b,c).effort}var H=c(24581),I=c(91631),J=c(15044),K=c(67882);let L=H.Mu;function M(a,b,c,e=Date.now()){let f=(0,d.v7)(a,b,c),g=(0,I.Ln)(f,e);if(null===g)return null;let h=g.displayEvent;if(e-h.at>=L)return null;let i={event:h.event,at:h.at,detail:h.detail},j=(0,I.pO)(f,g,e);if(j.length>0)return{status:"waiting",reason:"notification"===j[0].source?K.Oh.PERMISSION_PROMPT:K.Oh.PERMISSION_REQUEST,...i};if(null!==g.closedAt)return"stop"===g.closedBy?{status:"ready",reason:K.Oh.STOP,...i}:null;let k=(0,K.DA)(h.event,h.detail);return null===k||"waiting"===k.status?null===g.openedAt?null:{status:"running",reason:K.Oh.PROMPT_SUBMIT,...i}:{...k,...i}}let N=(0,i.v)("__agentEventAwaitingInstruction",()=>new Map);function O(a,b,c){let e=(0,d.v7)(a,b,c),f=N.get(e);if(!f)return null;let g=I.ZG.get(e);return void 0!==g&&f.at<g?null:f}function P(a,b,c){return null!==O(a,b,c)}var Q=c(49154);let R=(0,i.v)("__agentEventAskUserQuestion",()=>new Map);function S(a,b,c,e,f=Date.now()){R.set((0,d.v7)(a,b,c),{at:f,spec:e})}function T(a,b,c,e=Date.now()){let f=(0,d.v7)(a,b,c),g=R.get(f);if(!g)return null;let h=I.ZG.get(f);return void 0!==h&&g.at<h||e-g.at>=L?null:g}function U(a,b,c){R.delete((0,d.v7)(a,b,c))}let V=(0,i.v)("__agentEventLastStopAt",()=>new Map),W=(0,i.v)("__agentEventLast",()=>new Map);function X(a,b,c,e=Date.now()){V.set((0,d.v7)(a,b,c),e)}function Y(a,b,c){return V.get((0,d.v7)(a,b,c))??null}let Z=["running","waiting"];function $(a,b,c,f,g={}){let h=(0,d.v7)(a,b,c);if(function(a,b,c,e,f){if("session_start"!==e.event||!0!==f.sessionStartMayArriveLate)return!1;let g=M(a,b,c,e.at);if(null===g||!Z.includes(g.status))return!1;let h=W.get((0,d.v7)(a,b,c))?.sessionId??null;return null===h||null==e.sessionId||e.sessionId===h}(a,b,c,f,g))return w(h,f),v(a,b,c,"hook",f.at),{recorded:!1,skipped:"late-session-start"};W.set(h,f);let i=[];return"session_start"===f.event&&n.delete(h),w(h,f),v(a,b,c,"hook",f.at),!function(a,b){switch(b.event){case"pre_tool_use":Q.mW.includes(b.detail??"")||R.delete(a);return;case"notification":"idle_prompt"===b.detail&&R.delete(a);return;case"post_tool_use":case"stop":case"user_prompt_submit":case"session_start":case"session_end":R.delete(a);return;default:b.event;return}}(h,f),"session_start"===f.event&&(I.ZG.set(h,f.at),(0,e.eZ)(a,b,c),i.push((0,I.Yb)(h,f.at,"session-start"))),i.push((0,I.$M)(h,f)),!function(a,b){switch(b.event){case"notification":"idle_prompt"===b.detail&&N.set(a,{at:b.at,message:b.message??null});return;case"user_prompt_submit":case"session_start":case"session_end":N.delete(a);return;case"stop":case"pre_tool_use":case"post_tool_use":return;default:b.event;return}}(h,f),(0,J.Dd)({worktreeId:a,cliToolId:b,instanceId:c},i),{recorded:!0}}function _(a,b,c){return W.get((0,d.v7)(a,b,c))??null}function aa(a,b,c,e=Date.now()){let g=(0,d.v7)(a,b,c);I.ZG.set(g,e);let h=(0,I.Yb)(g,e,"process-start");R.delete(g),N.delete(g),j.delete(g),k.delete(g),l.delete(g),m.delete(g),n.delete(g),f.u0.delete(g),(0,J.Dd)({worktreeId:a,cliToolId:b,instanceId:c},[h],e)}function ab(a,b,c){return I.ZG.get((0,d.v7)(a,b,c))??null}function ac(a,b,c){let e=(0,d.v7)(a,b,c);W.delete(e),I.ZG.delete(e),I.Or.delete(e),f.wx.delete(e),R.delete(e),N.delete(e),j.delete(e),k.delete(e),l.delete(e),m.delete(e),n.delete(e),f.u0.delete(e)}let ad=H.h_.predicted;function ae(a,b,c,e,f=Date.now()){let g=(0,d.v7)(a,b,c),h=(0,I.nC)(g,(0,I.Ev)(g),{source:"permission-request",at:f,message:null,toolName:e,patterns:null,decisionId:null,bootstrapDisplay:{event:"notification",at:f,detail:"permission_prompt"}});(0,J.Dd)({worktreeId:a,cliToolId:b,instanceId:c},[{kind:"decision-opened",...h}])}function af(a,b,c,e,f=Date.now()){let g=(0,d.v7)(a,b,c),h=(0,I.nC)(g,(0,I.Ev)(g),{source:"notification",at:f,message:null,toolName:e.toolName,patterns:null,decisionId:e.decisionId,bootstrapDisplay:{event:"notification",at:f,detail:e.detail}});(0,J.Dd)({worktreeId:a,cliToolId:b,instanceId:c},[{kind:"decision-opened",...h}])}function ag(a,b,c,d=Date.now()){return(0,I.NW)(a,b,c,d)[0]??null}function ah(a,b,c,d=Date.now()){let e=ag(a,b,c,d);e&&(e.scraperCorroborated=!0,e.confirmedAt??=d)}function ai(a,b,c){let d=ag(a,b,c);d&&(d.recorded=!0)}function aj(a,b,c){(0,I.SQ)((0,d.v7)(a,b,c))}function ak(){V.clear(),W.clear(),f.wQ.clear(),f.u0.clear(),I.ZG.clear(),I.Or.clear(),I.BZ.clear(),f.wx.clear(),R.clear(),N.clear(),j.clear(),k.clear(),l.clear(),m.clear(),n.clear(),(0,J.qM)()}}};
1
+ "use strict";exports.id=7604,exports.ids=[7604],exports.modules={15044:(a,b,c)=>{c.d(b,{Dd:()=>z,Z1:()=>C,IW:()=>t,qM:()=>E,r0:()=>A,cY:()=>B,nP:()=>w,lm:()=>D,ic:()=>r,W5:()=>s});var d=c(24455),e=c(72626),f=c(91631),g=c(84297),h=c(91227);function i(a){return(0,f.j0)((0,f.Ev)((0,d.v7)(a.worktreeId,a.cliToolId,a.instanceId)))}function j(a,b){let c=i(a),d=(0,f.Bf)(a.worktreeId,a.cliToolId,a.instanceId,b);return null===d?{kind:"unattributed",generation:c,lastClosedTurnId:null}:null===d.closedAt&&null!==d.openedAt?{kind:"turn",generation:c,turnId:d.turnId}:null===d.closedAt&&(0,f.sp)(d,b)>0?{kind:"dialog-only",generation:c,recordTurnId:d.turnId,sessionId:d.sessionId}:{kind:"unattributed",generation:c,lastClosedTurnId:d.turnId}}var k=c(36261);function l(a,b){return"none"===a.kind||"none"===b.kind?a.kind===b.kind:a.at===b.at}let m={action:"none"},n=a=>({action:"close",reason:a});function o(a){return"none"===a.kind?null:a.turnId}let p=new Set(["opened","stopped","stop-without-turn","session-ended"]);var q=c(36925);function r(a,b,c){return{generation:i({worktreeId:a,cliToolId:b,instanceId:c}),version:(0,k.cx)(a,b,c)}}function s(a){let b=`${a}${d.CS}`,c=(0,k.fK)(a),e=new Map;for(let[a,c]of f.ZG)a.startsWith(b)&&e.set(a,c);return{startFor(b,g){let h=(0,d.v7)(a,b,g);return{generation:(0,f.j0)(e.get(h)??null),version:c.get(h)??0}}}}async function t(a){var b;let c={meta:null},d=Date.now();return{frame:await (0,q.v)("__captureFrameMetaSink",()=>new g.AsyncLocalStorage).run(a=>{c.meta=a},a),frameTime:(b=c.meta,null===b?{frameCapturedAt:0,frameFetchedAfterStart:!1}:{frameCapturedAt:Math.min(b.fetchStartedAt,d),frameFetchedAfterStart:"fetched"===b.source&&b.fetchStartedAt>=d})}}function u(a,b){return{kind:"screen",generation:a,originTurnId:b}}function v(a,b,c){return!0===a.freshPrompt&&null!=a.lastAnswer&&a.lastAnswer.episodeId===b.episodeId&&null!==c&&c!==a.lastAnswer.screenKey}function w(a){var b;let c=a.now??Date.now(),d={worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId},e=(0,k._v)(a.worktreeId,a.cliToolId,a.instanceId),f=i(d),g={observation:a,action:"ignored",episodeId:e?.episodeId??null,since:"waiting"===a.reading.kind?e?.since??null:null,next:null,binding:null,closeReason:null,ignoredBecause:null,at:c},m=a=>({...g,action:"ignored",ignoredBecause:a});if(!l(a.start.generation,f))return m("generation");let n=a.start.version!==(0,k.cx)(a.worktreeId,a.cliToolId,a.instanceId)&&!0!==a.freshPrompt,{reading:o}=a;if("waiting"!==o.kind){if(null===e)return m("nothing-open");if("unknown"===o.kind)return m("unknown-frame");let b=function(a,b){let{reading:c}=a;if("gone"===c.kind)return"session-gone";if("not-waiting"!==c.kind)return null;switch(a.observer){case"status-probe":return"screen-cleared";case"response-checker":return"response-recorded";case"auto-yes-poller":if("screen"===b.binding.kind)return a.frameCapturedAt>Math.max(b.openedAt,b.boundAt)?"screen-cleared":null;return null!=a.lastAnswer&&a.lastAnswer.episodeId===b.episodeId?"poller-answered":null;default:return a.observer,null}}(a,e);return null===b?m("not-this-observer"):n?m("version"):{...g,action:"closed",closeReason:b,since:null}}let p=null!==o.promptData?(0,h.c)(o.promptData):null,q=j(d,c),r=o.humanHeld?u(f,"turn"===q.kind?q.turnId:null):q,s=function(a,b,c,d,e,f){if(null===b)return{action:"opened",binding:d};let g=b.binding;if(!l(g.generation,f))return{action:"replaced",binding:d};if(c)return"screen"===g.kind?{action:"kept"}:{action:"rebound",binding:u(f,"turn"===g.kind?g.turnId:null)};switch(g.kind){case"turn":if("turn"===d.kind&&d.turnId===g.turnId)return v(a,b,e)?{action:"replaced",binding:d}:{action:"kept"};if("turn"===d.kind)return{action:"replaced",binding:d};return!0===a.freshPrompt&&null!==e&&e!==b.promptScreenKey?{action:"replaced",binding:d}:{action:"kept"};case"dialog-only":if("turn"===d.kind)return{action:"rebound",binding:d};if("dialog-only"===d.kind&&d.recordTurnId!==g.recordTurnId)return{action:"replaced",binding:d};return{action:"kept"};case"unattributed":if("unattributed"===d.kind)return v(a,b,e)?{action:"replaced",binding:d}:{action:"kept"};if("dialog-only"===d.kind)return{action:"rebound",binding:d};return null!==e&&e===b.promptScreenKey?{action:"rebound",binding:d}:{action:"replaced",binding:d};case"screen":return"turn"===d.kind&&d.turnId===g.originTurnId?{action:"rebound",binding:d}:{action:"replaced",binding:d};default:return{action:"kept"}}}(a,e,o.humanHeld,r,p,f);if("kept"===s.action)return{...g,action:"kept"};if(n)return m("version");let t=(0,k._0)(a.worktreeId,a.cliToolId,a.instanceId),w=!0===a.frameFetchedAfterStart&&a.start.version===(0,k.cx)(a.worktreeId,a.cliToolId,a.instanceId);if(null!==t&&!w&&a.frameCapturedAt<=t.at&&(null===p||p===t.promptScreenKey))return m("stale-frame");if("rebound"===s.action)return null!==e&&function(a,b){if(a.kind!==b.kind)return!1;switch(a.kind){case"turn":return a.turnId===b.turnId;case"dialog-only":return a.recordTurnId===b.recordTurnId;default:return!0}}(e.binding,s.binding)?{...g,action:"kept"}:{...g,action:"rebound",binding:s.binding};let x=s.binding,y=o.structuredSince,z="opened"===s.action||null===e?y??c:null!==y&&y>e.since?y:c,A={since:z,kind:o.waitingKind,binding:x,openedBy:a.observer,promptScreenKey:p};return{...g,action:s.action,since:z,next:A,closeReason:"replaced"===s.action&&null!==e?(b=e.binding,l(b.generation,f)?"turn"===x.kind||"dialog-only"===x.kind?"turn-superseded":"screen-cleared":"generation"):null}}let x=(0,e.h)("waiting-episode-binding"),y=(0,q.v)("__waitingHookStopGeneration",()=>new Map);function z(a,b,c=Date.now()){let e=[];try{let f=(0,d.v7)(a.worktreeId,a.cliToolId,a.instanceId);for(let d of b){("stopped"===d.kind||"stop-without-turn"===d.kind)&&y.set(f,d.generation);let b=(0,k._v)(a.worktreeId,a.cliToolId,a.instanceId);if(null===b){e.push({outcome:d.kind,action:"none",episodeId:null});continue}let g=function(a,b,c){if("generation-fenced"===a.kind)return"session-start"===a.source&&"screen"===b.kind?l(b.generation,a.generation)?m:{action:"rebind",binding:{...b,generation:a.generation}}:l(b.generation,a.generation)?m:n("generation");if(!l(b.generation,c))return p.has(a.kind)?n("generation"):m;switch(a.kind){case"opened":return function(a,b){let{previous:c,turnId:d,event:e}=a,f={kind:"turn",generation:a.generation,turnId:d};if("screen"===b.kind)return m;if("turn"===b.kind&&b.turnId===d)return{action:"unmatched"};let g=o(c),h="dialog-only"===c.kind||"display-only"===c.kind,i="dialog-only"===b.kind&&b.recordTurnId===g;return"open-same-session"===c.kind||"open-other-session"===c.kind?i?{action:"unmatched"}:n("turn-superseded"):"user_prompt_submit"===e||"turn"===b.kind?n("turn-superseded"):"dialog-only"===b.kind?i?h?{action:"rebind",binding:f}:{action:"unmatched"}:n("turn-superseded"):b.lastClosedTurnId===g?{action:"rebind",binding:f}:n("turn-superseded")}(a,b);case"restored":return"turn"===b.kind&&b.turnId===a.discardedTurnId?{action:"rebind",binding:{...b,turnId:a.restoredTurnId}}:m;case"stopped":return"turn"===b.kind&&b.turnId===a.turnId?n("turn-stop"):m;case"stop-without-turn":let{previous:d}=a,e=o(d);switch(d.kind){case"closed":if("turn"===b.kind&&b.turnId===e||"unattributed"===b.kind&&b.lastClosedTurnId===e)return n("turn-stop");if("dialog-only"===b.kind&&b.recordTurnId===e)return{action:"unmatched"};return m;case"dialog-only":if("dialog-only"===b.kind&&b.recordTurnId===e||"unattributed"===b.kind)return n("turn-stop");return m;case"display-only":case"none":if("dialog-only"===b.kind&&b.recordTurnId===e||"unattributed"===b.kind&&b.lastClosedTurnId===e)return n("turn-stop");return m;default:return{action:"unmatched"}}case"session-ended":return"turn"===b.kind&&b.turnId===a.turnId?n("turn-session-end"):m;case"decision-opened":return"dialog-only"===a.recordKind&&"unattributed"===b.kind?{action:"rebind",binding:{kind:"dialog-only",generation:c,recordTurnId:a.recordTurnId,sessionId:null}}:m;case"decision-answered":return 0===a.before||a.remaining>0?m:"turn"===b.kind&&b.turnId===a.recordTurnId||"dialog-only"===b.kind&&b.recordTurnId===a.recordTurnId?n("decision-settled"):m;default:return m}}(d,b.binding,i(a));e.push(function(a,b,c,d,e){let f={outcome:c.kind,episodeId:b.episodeId};if("close"===d.action){let g=(0,k._W)(a,b.episodeId,d.reason,e);return g&&x.info("waiting-episode-closed-by-turn",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,episodeId:b.episodeId,outcome:c.kind,reason:d.reason}),{...f,action:g?"closed":"none",...g?{reason:d.reason}:{}}}if("rebind"===d.action){let g=(0,k.Uh)(a,b.episodeId,d.binding,e);return g&&x.debug("waiting-episode-rebound",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,episodeId:b.episodeId,outcome:c.kind,binding:d.binding.kind}),{...f,action:g?"rebound":"none"}}return"unmatched"===d.action&&x.warn("waiting-episode-unmatched",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,episodeId:b.episodeId,outcome:c.kind,binding:b.binding.kind}),{...f,action:"none"}}(a,b,d,g,c))}}catch(b){x.warn("waiting-episode-turn-sync-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)})}return e}function A(a){let b=a.observation,c={worktreeId:b.worktreeId,cliToolId:b.cliToolId,instanceId:b.instanceId};try{switch(a.action){case"kept":if(null===a.episodeId||"waiting"!==b.reading.kind)return"ignored";return(0,k.jG)(c,a.episodeId,b.reading.waitingKind)?"kept":"ignored";case"opened":if(null===a.next||null!==(0,k._v)(b.worktreeId,b.cliToolId,b.instanceId))return"ignored";return(0,k.M_)(c,a.next,a.at),"opened";case"replaced":if(null===a.next||null===a.episodeId||null===a.closeReason)return"ignored";return null!==(0,k.yk)(c,a.episodeId,a.next,a.closeReason,a.at)?"replaced":"ignored";case"rebound":if(null===a.binding||null===a.episodeId)return"ignored";return(0,k.Uh)(c,a.episodeId,a.binding,a.at)?"rebound":"ignored";case"closed":if(null===a.episodeId||null===a.closeReason)return"ignored";return(0,k._W)(c,a.episodeId,a.closeReason,a.at)?"closed":"ignored";case"ignored":return("version"===a.ignoredBecause||"stale-frame"===a.ignoredBecause||"generation"===a.ignoredBecause)&&x.debug("waiting-observation-ignored",{worktreeId:b.worktreeId,instanceId:b.instanceId??b.cliToolId,observer:b.observer,reading:b.reading.kind,because:a.ignoredBecause}),"ignored";default:return a.action,"ignored"}}catch(a){return x.warn("waiting-observation-failed",{worktreeId:b.worktreeId,instanceId:b.instanceId??b.cliToolId,observer:b.observer,error:a instanceof Error?a.message:String(a)}),"ignored"}}function B(a){let b=w(a),c=A(b);return c===b.action?b:{...b,action:c}}function C(a,b,c){return{generation:i({worktreeId:a,cliToolId:b,instanceId:c}),episodeId:(0,k._v)(a,b,c)?.episodeId??null}}function D(a,b,c,e,f=Date.now()){try{let g={worktreeId:a,cliToolId:b,instanceId:c},h=(0,d.v7)(a,b,c),j=(0,k._v)(a,b,c);if(null===j)return"nothing-open";let m=i(g);if(null===e.episodeId||j.episodeId!==e.episodeId||!l(e.generation,m))return"target-gone";let n=y.get(h);if(void 0!==n&&l(n,m))return"hook-authority";if("screen"===j.binding.kind)return"screen";return(0,k._W)(g,j.episodeId,"legacy-stop",f)?"closed":"target-gone"}catch(d){return x.warn("waiting-episode-legacy-stop-failed",{worktreeId:a,instanceId:c??b,error:d instanceof Error?d.message:String(d)}),"nothing-open"}}function E(){y.clear()}(0,k.O_)(j),(0,f.i1)((a,b)=>{z(a,b)})},24581:(a,b,c)=>{c.d(b,{Cb:()=>f,Mu:()=>g,RY:()=>j,Tt:()=>i,Ui:()=>q,Xq:()=>m,ZV:()=>t,h_:()=>h,jF:()=>r,kT:()=>p,nY:()=>l,qX:()=>s,wt:()=>o});var d=c(62887),e=c(27870);let f=new Set(["user_prompt_submit","pre_tool_use","post_tool_use"]),g=18e5,h={predicted:2e4,confirmed:18e5},i=3,j=16,k={turnId:null,openedAt:null,closedAt:null,closedBy:null};function l(a){return null===a?k:{turnId:a.turnId,openedAt:a.openedAt,closedAt:a.closedAt,closedBy:a.closedBy}}function m(a){if("string"!=typeof a||0===a.length||a.length>128)return null;for(let b=0;b<a.length;b++){let c=a.charCodeAt(b);if(c<32||127===c)return null}return a}function n(a,b){return"string"!=typeof a||""===a?null:a.slice(0,b)}function o(a){return n(a,e.lY)}function p(a){return n(a,d.h9)}function q(a){if(!Array.isArray(a))return null;let b=[];for(let c of a)if("string"==typeof c&&""!==c&&(b.push(c.slice(0,200)),b.length>=8))break;return b.length>0?b:null}function r(a,b){let c=null===a.confirmedAt?h.predicted:h.confirmed;return b-a.at<c}function s(a,b,c){return null!==b&&c-a.at>=1e3*b}function t(a,b){return null===a.sessionId||null===b||a.sessionId===b}},26547:(a,b,c)=>{c.d(b,{Yz:()=>L,jw:()=>J});var d=c(51297),e=c(42422);let f=["minimal","low","medium","high","xhigh","max","ultra","persistent"];function g(){return{model:null,effort:null}}let h=/^[A-Za-z0-9][A-Za-z0-9._:@/-]*$/,i=/^[A-Za-z0-9][A-Za-z0-9 .()[\]_:@/-]*$/;function j(a){return a.length>0&&a.length<=64&&h.test(a)}function k(a){return a.length>0&&a.length<=64&&i.test(a)}function l(a,b={}){let c=a.trim().toLowerCase();if(""===c)return null;if(f.includes(c))return c;if(!b.allowTruncated||c.length<2)return null;let d=f.filter(a=>a.length===c.length+1&&a.startsWith(c));return 1===d.length?d[0]:null}let m=/^\s*([^\s·]+)(?:\s+(minimal|low|medium|high|xhigh|max|ultra|persistent)\b)?/i,n=/^\s*[^\s·]+\s+[A-Za-z][A-Za-z_-]*(?=\s|$)/,o=/^\s*\S[^·]*·\s*~?\/\S*(?:\s*·[^\n]*|[^\S\n]{2,}\S[^\n]*)$/;function p(a){if(!e.aW.test(a)&&!o.test(a))return null;let b=a.indexOf("\xb7");if(b<0)return null;let c=a.slice(0,b),d=m.exec(c);if(!d)return null;let f=d[1];if(!j(f))return null;let g=d[2]?l(d[2]):null;return null!==g||/\d/.test(f)?null===g&&n.test(c)?{model:f,effort:null,effortUnreadable:!0}:{model:f,effort:g}:null}let q=/^\s*[\u2500-\u259F][\s\u2500-\u259F]*(\S[^\u2500-\u259F]*?)\s+with\s+(minimal|low|medium|high|xhigh)\s+effort\b/i,r=/^\s*[\u2500-\u259F][\s\u2500-\u259F]*(\S[^\u2500-\u259F·]*?)\s+·\s+Claude\s+[A-Za-z]+\b/,s=/^\s*\S\s+([A-Za-z]+)\s+·\s+\/effort\s*$/;function t(a){let b=q.exec(a);if(b){let a=b[1].trim();return k(a)?{model:a,effort:l(b[2])}:null}let c=r.exec(a);if(!c)return null;let d=c[1].trim();return/\swith\s/i.test(d)||!k(d)?null:{model:d,effort:null}}function u(a){let b=s.exec(a);if(!b)return null;let c=l(b[1]);return null===c?null:{model:null,effort:c}}let v=/^\s*⎿\s+(?:Set model to|Kept model as)\s+(?!(?:and saved as your default|for this session only)\b)([A-Za-z0-9][A-Za-z0-9 .()[\]_:@/-]*?)(?:\s+(?:and saved as your default for new sessions|for this session only))?(?:\s+with\s+([A-Za-z]+)\s+effort\b[^·]*)?\s*(?:·.*)?$/;function w(a){let b=v.exec(a);if(!b)return null;let c=b[1].trim();return k(c)?{model:c,effort:b[2]?l(b[2]):null}:null}let x=/^\s*(?:\?\s+for\s+shortcuts|esc\s+to\s+cancel)\b/i,y=/^\s*[\u2500-\u259F][\s\u2500-\u259F]*(\S[^\u2500-\u259F]*?)\s+\((minimal|low|medium|high|xhigh)\)\s*$/i;function z(a){if(!x.test(a))return null;let b=a.lastIndexOf("\xb7");if(b<0)return null;let c=l(a.slice(b+1),{allowTruncated:!0});if(!c)return null;let d=a.slice(0,b).trimEnd().split(/\s{2,}/),e=(d[d.length-1]??"").trim();return{model:k(e)?e:null,effort:c}}function A(a){let b=y.exec(a);if(!b)return null;let c=b[1].trim();return k(c)?{model:c,effort:l(b[2])}:null}let B=/^\s*[●◉◎○]\s+Model\s+changed\s+from\s+\S+(?:\s+\([^)]*\))?\s+to\s+(\S+)(?:\s+\((minimal|low|medium|high|xhigh)\))?\s+for\s+this\s+session\b/i;function C(a){let b=B.exec(a);if(!b)return null;let c=b[1];return j(c)?{model:c,effort:b[2]?l(b[2]):null}:null}let D=/^\s*▣\s+[A-Za-z][A-Za-z0-9-]*\s+·\s+([^·]+?)(?:\s+·\s+[\d.]+\s?m?s)?\s*$/,E=/^\s*[A-Za-z][A-Za-z0-9-]*\s+·\s+([^·]+?)\s+·\s+[\d.]+\s?m?s\s*$/,F=/^\s*[┃╹]/,G=/^\s*#\s+models:\s*([^·]+?)(?:\s+with\s+([A-Za-z]+)\s+effort)?\s*(?:·|$)/i;function H(a){let b=G.exec(a);if(!b)return null;let c=b[1].trim();return k(c)?{model:c,effort:b[2]?l(b[2]):null}:null}function I(a,b){let c=a.split("\n");for(let a=c.length-1;a>=0;a--){let e=b((0,d.aJ)(c[a]));if(e)return e}return null}function J(a,b){if(!b)return g();switch(a){case"codex":return I(b,p)??g();case"claude":return function(a){let b=I(a,t);if(!b||null!==b.effort)return b;let c=I(a,u);return c?{model:b.model,effort:c.effort}:b}(b)??I(b,w)??g();case"antigravity":return I(b,z)??I(b,A)??g();case"copilot":{let a=function(a){let b=a.split("\n");for(let a=b.length-1;a>=0;a--){let c=(0,d.aJ)(b[a]);if(""!==c.trim()){if(!e.Ub.test(c)&&!e.tJ.test(c))return null;let a=c.trim().split(/\s{2,}/);if(a.length<2)return null;let b=a[a.length-1].split("\xb7").map(a=>a.trim());if(b.length>2)return null;let d=b[0];if(!k(d))return null;if(1===b.length)return{model:d,effort:null};let f=l(b[1]);return null===f?null:{model:d,effort:f}}}return null}(b),c=I(b,C);if(!a)return c??g();if(null!==a.effort||null===c||null===c.effort)return a;return!function(a,b){let c=a=>a.toLowerCase().replace(/[^a-z0-9]/g,"");return c(a)===c(b)}(a.model,c.model)?a:{model:a.model,effort:c.effort}}case"opencode":case"opencode-v2":return function(a){let b=a.split("\n").map(a=>(0,d.aJ)(a));for(let a=b.length-1;a>=0;a--){let c=function(a){let b=D.exec(a);if(!b)return null;let c=b[1].trim();return k(c)?{model:c,effort:null}:null}(b[a])??function(a,b){let c=E.exec(a[b]);if(!c)return null;let d=c[1].trim();if(!k(d))return null;for(let c=b+1;c<a.length;c++)if(""!==a[c].trim())return F.test(a[c])?{model:d,effort:null}:null;return null}(b,a);if(c)return c}return null}(b)??g();case"command-code":return I(b,H)??g();default:return g()}}let K=/-(low|medium|high)$/i;function L(a,b,c,d){let e=(b||null)??c?.model??null,f=c?.effort??null,g="antigravity"===a?function(a){if(!a)return null;let b=K.exec(a);return b?b[1].toLowerCase():null}(e)??f:f;return{model:e,effort:(d||null)??g}}},27675:(a,b,c)=>{c.d(b,{GR:()=>g,MR:()=>i,NR:()=>k,cr:()=>n,eZ:()=>m,vR:()=>j});var d=c(85726),e=c(24455),f=c(36925);function g(a){let b="multiple_choice"===a.type?a.options.map(a=>`${a.number}.${a.label}`):a.options;return[(0,d.J)(a),...b].join("\0")}let h=(0,f.v)("__autoYesEnterFallbacks",()=>new Map);function i(a){h.delete(a)}function j(a){for(let b of(0,e._9)([...h.keys()],a))h.delete(b)}function k(){h.clear()}let l=(0,f.v)("__autoYesEnterFallbackEpochs",()=>new Map);function m(a,b,c){let d=(0,e.v7)(a,b,c);h.delete(d),l.set(d,(l.get(d)??0)+1)}function n(a){return l.get(a)??0}},27870:(a,b,c)=>{c.d(b,{lY:()=>h,QB:()=>e,Yo:()=>m,fO:()=>n,LF:()=>j,PP:()=>i,T5:()=>g});var d=c(81254);let e=[{number:1,label:"Allow once",reply:"once"},{number:2,label:"Allow always",reply:"always"},{number:3,label:"Reject",reply:"reject"}],f={"opencode-v2":{once:"Allow once",always:"Always allow",reject:"Reject"}};function g(a){let b=f[a];return b?e.map(a=>b[a.reply]?{...a,label:b[a.reply]}:a):e}let h=500;function i(a){return"string"==typeof a&&""!==a}function j(a,b){return"permission-id"===a&&b.some(a=>i(a.id)&&!a.deliveryExpired)}let k={notification:"Notification(permission_prompt)","permission-request":"PermissionRequest (no decision)"};function l(a,b){let c=[`A dialog is open in ${a}: the agent reported it via ${k[b.source]}${b.toolName?` for ${b.toolName}`:""}, but the detection layer published no options for it.`];if(b.decisionOptions&&b.decisionOptions.length>0?c.push(`Answer it with \`commandmate respond ${a} <number>\`: `+b.decisionOptions.map(a=>`${a.number} = ${a.label} (${a.reply})`).join(", ")+". The reply goes to the agent's own API, so no keys are sent to the terminal "+`and the label works too (\`respond ${a} "Allow once"\`).`):c.push(`Answer it in the terminal, or send the option NUMBER with \`commandmate respond ${a} <number>\` — yes/no is not resolved on a numbered dialog (Issue #1681).`),b.message&&c.push(`Agent message: "${b.message}"`),b.askUserQuestion){let{question:d,labels:e,questionCount:f}=b.askUserQuestion,g=i(b.decisionId)&&1===f&&!(b.decisionOptions&&b.decisionOptions.length>0);c.push(`The agent asked${f>1?` ${f} questions, the first being`:""}: "${d}" — offering: ${e.join(" / ")}. `+(g?`Answer it with \`commandmate respond ${a} <number>\`: `+e.map((a,b)=>`${b+1} = ${a}`).join(", ")+". The number is this list's own position and the reply goes to the agent's own API, so no keys are sent to the terminal (the label works too).":"The picker renumbers and adds its own entries, so read the option NUMBER off the terminal rather than counting this list."))}return c.join(" ")}function m(a,b){return{type:d.LT,status:"pending",question:l(a,b),options:[],source:b.source,...b.message?{message:b.message}:{},...b.toolName?{toolName:b.toolName}:{},...b.askUserQuestion?{askUserQuestion:b.askUserQuestion}:{},...b.decisionOptions&&b.decisionOptions.length>0?{decisionOptions:b.decisionOptions}:{},decisionId:i(b.decisionId)?b.decisionId:null,...b.patterns&&b.patterns.length>0?{patterns:[...b.patterns]}:{}}}function n(a,b){return{type:d.LT,status:"unclassified",question:l(a,b),options:[],source:b.source,...b.message?{message:b.message}:{},...b.toolName?{toolName:b.toolName}:{},...b.askUserQuestion?{askUserQuestion:b.askUserQuestion}:{}}}},27939:(a,b,c)=>{c.d(b,{F_:()=>t,KA:()=>u,XO:()=>x,Y2:()=>n,jp:()=>m,lr:()=>v,pr:()=>w});var d=c(29021),e=c(21820),f=c(33873),g=c(8004),h=c(24455),i=c(72626),j=c(36925);let k=(0,i.h)("lib/session/opencode-session-store"),l=/^ses[A-Za-z0-9_-]{1,128}$/;function m(a){return"string"==typeof a&&l.test(a)}let n=200,o=(0,j.v)("__opencodeSessionMemories",()=>new Map);function p(a){return(0,h.v7)(a.worktreeId,a.cliToolId,a.instanceId)}function q(){let a=(0,f.join)((0,e.homedir)(),".commandmate","opencode-sessions.json");return(0,g.T)(process.env.CM_OPENCODE_SESSION_FILE,a,"CM_OPENCODE_SESSION_FILE")}function r(){try{let a=JSON.parse((0,d.readFileSync)(q(),"utf8"));if("object"!=typeof a||null===a||Array.isArray(a))return{};let b={};for(let[c,d]of Object.entries(a))!("object"!=typeof d||null===d||Array.isArray(d))&&m(d.sessionId)&&"string"==typeof d.worktreePath&&d.worktreePath.length>0&&(b[c]={sessionId:d.sessionId,title:"string"==typeof d.title?d.title:null,worktreePath:d.worktreePath,updatedAt:"number"==typeof d.updatedAt?d.updatedAt:0});return b}catch{return{}}}function s(a){let b=q();try{(0,d.mkdirSync)((0,f.dirname)(b),{recursive:!0}),(0,d.writeFileSync)(b,`${JSON.stringify(a,null,2)}
2
+ `,{mode:384})}catch(a){k.warn("opencode-session-file-write-failed",{path:b,error:a instanceof Error?a.message:String(a)})}}function t(a,b,c=Date.now()){if(!m(b.sessionId))return k.warn("opencode-session-id-rejected",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId}),!1;if(0===b.worktreePath.length)return!1;let d={sessionId:b.sessionId,title:"string"==typeof b.title?b.title.slice(0,n):null,worktreePath:b.worktreePath,updatedAt:c},e=p(a);o.set(e,d);let f=r();return f[e]=d,s(f),!0}function u(a){let b=p(a),c=o.get(b);if(c)return c;let d=r()[b];return d?(o.set(b,d),d):null}function v(a){let b=p(a);o.delete(b);let c=r();b in c&&(delete c[b],s(c))}function w(a,b){let c=u(a);return c?c.worktreePath!==b?(k.info("opencode-session-recovery-path-mismatch",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,recorded:c.worktreePath}),null):m(c.sessionId)?c.sessionId:null:null}function x(a,b){return m(b)?`${a} -s ${b}`:a}},36261:(a,b,c)=>{c.d(b,{_W:()=>E,cx:()=>y,_0:()=>A,Jp:()=>B,_v:()=>x,Te:()=>C,Bf:()=>t,wN:()=>s,M_:()=>D,Uh:()=>G,O_:()=>I,yk:()=>F,fK:()=>z,jG:()=>H});var d=c(72626),e=c(24455),f=c(36925);let g=(0,d.h)("waiting-episode-state"),h=(0,f.v)("__sessionWaitingEpisodes",()=>new Map),i=(0,f.v)("__sessionWaitingTransitionListeners",()=>new Set),j=(0,f.v)("__sessionWaitingEpisodeMeta",()=>new WeakMap),k=(0,f.v)("__sessionWaitingEpisodeVersions",()=>new Map),l=(0,f.v)("__sessionWaitingEpisodeLastClosed",()=>new Map),m=(0,f.v)("__sessionWaitingEpisodeSeq",()=>({value:0,nonce:Math.random().toString(36).slice(2,10)})),n=(0,f.v)("__sessionWaitingEpisodeListeners",()=>new Set),o={kind:"unattributed",generation:{kind:"none"},lastClosedTurnId:null};function p(){return m.value+=1,`wep-${m.nonce}-${m.value}`}function q(a){return(0,e.v7)(a.worktreeId,a.cliToolId,a.instanceId)}function r(a){k.set(a,(k.get(a)??0)+1)}function s(a){return i.add(a),()=>{i.delete(a)}}function t(a){return n.add(a),()=>{n.delete(a)}}function u(a){let{cause:b,episodeId:c,previousEpisodeId:d,closeReason:e,...f}=a;for(let b of i)try{b(f)}catch(b){v(a,b)}for(let b of n)try{b(a)}catch(b){v(a,b)}}function v(a,b){g.error("waiting-transition-listener-failed",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,waiting:a.waiting,error:b instanceof Error?b.message:String(b)})}function w(a){let b=j.get(a);return void 0===b&&(b={episodeId:p(),openedAt:a.since,boundAt:a.since,binding:o,openedBy:"legacy-edge",promptScreenKey:null},j.set(a,b)),b}function x(a,b,c){let d=h.get((0,e.v7)(a,b,c));if(void 0===d)return null;let f=w(d);return{since:d.since,kind:d.kind,...f,binding:f.binding}}function y(a,b,c){return k.get((0,e.v7)(a,b,c))??0}function z(a){let b=`${a}${e.CS}`,c=new Map;for(let[a,d]of k)a.startsWith(b)&&c.set(a,d);return c}function A(a,b,c){return l.get((0,e.v7)(a,b,c))??null}function B(a,b,c){return h.get((0,e.v7)(a,b,c))??null}function C(a){let b=`${a}${e.CS}`;for(let a of h.keys())if(a.startsWith(b))return!0;return!1}function D(a,b,c){let d=q(a),e={since:b.since,kind:b.kind},f={episodeId:p(),openedAt:c,boundAt:c,binding:b.binding,openedBy:b.openedBy,promptScreenKey:b.promptScreenKey??null};return h.set(d,e),j.set(e,f),r(d),u({worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId,waiting:!0,since:e.since,kind:e.kind,at:c,cause:"opened",episodeId:f.episodeId,previousEpisodeId:null,closeReason:null}),{...e,...f}}function E(a,b,c,d){let e=q(a),f=h.get(e);if(void 0===f)return!1;let g=w(f);return g.episodeId===b&&(h.delete(e),l.set(e,{at:d,promptScreenKey:g.promptScreenKey}),r(e),u({worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId,waiting:!1,since:null,kind:null,at:d,cause:"closed",episodeId:null,previousEpisodeId:g.episodeId,closeReason:c}),!0)}function F(a,b,c,d,e){let f=q(a),g=h.get(f);if(void 0===g)return null;let i=w(g);if(i.episodeId!==b)return null;l.set(f,{at:e,promptScreenKey:i.promptScreenKey});let k={since:c.since,kind:c.kind},m={episodeId:p(),openedAt:e,boundAt:e,binding:c.binding,openedBy:c.openedBy,promptScreenKey:c.promptScreenKey??null};return h.set(f,k),j.set(k,m),r(f),u({worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId,waiting:!0,since:k.since,kind:k.kind,at:e,cause:"replaced",episodeId:m.episodeId,previousEpisodeId:i.episodeId,closeReason:d}),{...k,...m}}function G(a,b,c,d){let e=q(a),f=h.get(e);if(void 0===f)return!1;let g=w(f);return g.episodeId===b&&(g.binding=c,g.boundAt=d,r(e),!0)}function H(a,b,c){let d=h.get(q(a));return void 0!==d&&w(d).episodeId===b&&(d.kind=c,!0)}function I(a){globalThis.__sessionWaitingEpisodeBindingResolver=a}(0,d.h)("waiting-episode-state")},39532:(a,b,c)=>{c.d(b,{HO:()=>m,Vi:()=>i,mt:()=>n,vQ:()=>j,z2:()=>k});var d=c(36925),e=c(682);let f=(0,d.v)("__promptObservationScreenAppearances",()=>new Map);function g(a){return null===a?null:a.replace(/\s+/g," ").trim()}let h=/^[ \t]*[>\u276F\u203A\u25CF]?[ \t]*/u;function i(a,b,c){let d=a.split("\n"),f=(0,e.c)(d,d.length,12);if(null===f)return null;let g=[...f.options],i=g.length-1;if(""!==f.footer&&(g[i]=[g[i],...f.footer.split("\n")].join(" ").trim()),g.length!==b.length||g.some((a,d)=>!c(a,b[d])))return null;let j=function(a,b){let c=[b.lastRow];for(let d=b.lastRow;c.length<b.options.length-1;){let f=(0,e.c)(a,d,a.length);if(null===f||f.firstRow!==b.firstRow||f.lastRow>=d)return null;c.unshift(f.lastRow),d=f.lastRow}return c.unshift(b.firstRow),c.length===b.options.length?c:null}(d,f);if(null===j)return null;let k=new Set(j);return d.map((a,b)=>k.has(b)?a.replace(h," "):a).join("\n")}function j(a,b,c){return null===b||"antigravity-permission"!==a?b:i(b,c,(a,b)=>a===b)??b}function k(a){return JSON.stringify([a.sessionName,a.sessionGeneration,a.kind,g(a.question),a.options.map(g),g(j(a.kind,a.approvalTarget,a.options))])}function l(a){return JSON.stringify([a.worktreeId,a.cliToolId,a.instanceId])}function m(a,b,c){let d=l(a),e=f.get(d);f.delete(d);let g=e?.fingerprint===b?e.firstSeenAt:Math.floor(c);for(f.set(d,{fingerprint:b,firstSeenAt:g});f.size>1024;){let a=f.keys().next().value;if(void 0===a)break;f.delete(a)}return g}function n(a){f.delete(l(a))}},41842:(a,b,c)=>{c.d(b,{$C:()=>r,Fw:()=>p,J2:()=>s,Mm:()=>u,Ou:()=>v,QL:()=>n,Y_:()=>x,n5:()=>o,pi:()=>y,qo:()=>w,r4:()=>l,sb:()=>k,u0:()=>j,wQ:()=>i,wx:()=>h});var d=c(55511),e=c(24455),f=c(24581),g=c(36925);let h=(0,g.v)("__agentEventDrops",()=>new Map),i=(0,g.v)("__agentEventRecentKeys",()=>new Map),j=(0,g.v)("__agentEventRecentIdentities",()=>new Map),k=3e3,l=512;function m(){return{dedupDropped:{identity:0,timeWindow:0},decisionEvicted:0,idsDiscarded:0,dialogTimedOut:0,decisionOverflow:0}}function n(a){let b=h.get(a);return b||(b=m(),h.set(a,b),x(h,l)),b}function o(a,b,c){let d=h.get((0,e.v7)(a,b,c));return d?{...d,dedupDropped:{...d.dedupDropped}}:m()}function p(a,b,c,d,g,h=Date.now(),j=null){var m,n;if(!g)return!1;let o=(0,e.v7)(a,b,c),r=q(o,d,j,g),s=i.get(r);return void 0!==s&&h-s<k||(i.set(r,h),f.Cb.has(d)?t(o,["stop"],g):"stop"===d&&(m=o,n=g,t(m,f.Cb,n)),function(a){for(let[b,c]of i)a-c>=k&&i.delete(b);for(;i.size>l;){let a=i.keys().next();if(a.done)break;i.delete(a.value)}}(h),!1)}function q(a,b,c,d){return[a,b,c??"",d].join(" ")}function r(a,b,c,d,f,g=null){if(!f)return null;let h=(0,e.v7)(a,b,c);return i.get(q(h,d,g,f))??null}function s(a){return(0,d.createHash)("sha256").update(a).digest("hex").slice(0,8)}function t(a,b,c){let d=Array.from(b,b=>`${a} ${b} `),e=` ${c}`,f=(a,b)=>a.length>=b.length+e.length&&a.startsWith(b);for(let a of i.keys())a.endsWith(e)&&d.some(b=>f(a,b))&&i.delete(a)}function u(){return i.size}let v=["stop","session_end"];function w(a){let b=(0,e.v7)(a.worktreeId,a.cliToolId,a.instanceId);if(null!==a.identityKind){let d=null===a.identity?null:(0,f.Xq)(a.identity);if(null!==a.identity&&null===d&&(n(b).idsDiscarded+=1),null!==d)return!function(a,b){let c=(0,e.v7)(a.worktreeId,a.cliToolId,a.instanceId),d=j.get(c);d||(d=new Map,j.set(c,d),x(j,l));let f=[a.event,a.detail??"",b].join(" ");return!!d.has(f)||(d.set(f,a.at),x(d,l),!1)}(a,d)?{duplicate:!1}:(n(b).dedupDropped.identity+=1,{duplicate:!0,by:"identity"});if(v.includes(a.event)){var c;return"stop"===a.event&&a.sessionId&&(c=a.sessionId,t(b,f.Cb,c)),{duplicate:!1}}}return p(a.worktreeId,a.cliToolId,a.instanceId,a.event,a.sessionId,a.at,a.detail)?(n(b).dedupDropped.timeWindow+=1,{duplicate:!0,by:"time-window"}):{duplicate:!1}}function x(a,b){for(;a.size>b;){let b=a.keys().next();if(b.done)break;a.delete(b.value)}}function y(a,b,c){if(void 0===a||void 0===b){let a=0;for(let b of j.values())a+=b.size;return a}return j.get((0,e.v7)(a,b,c))?.size??0}},49154:(a,b,c)=>{c.d(b,{GF:()=>e,Wk:()=>g,mW:()=>f});var d=c(13287);let e="question",f=[d.k$,e];function g(a){return null!==a&&f.includes(a)?"question":"permission"}},56791:(a,b,c)=>{c.r(b),c.d(b,{ACTIVE_FILTER:()=>d.ks,ACTIVE_TASK_STATUSES:()=>d.EL,AgentInstanceLimitError:()=>d.AC,CURRENT_SCHEMA_VERSION:()=>f.FT,DEFAULT_RUN_HISTORY_LIMIT:()=>d.Tu,InvalidAgentInstanceError:()=>d.ug,MAX_DISABLED_REPOSITORIES:()=>h.nc,MAX_RUN_HISTORY_DAYS:()=>d.eP,MAX_RUN_HISTORY_LIMIT:()=>d.mg,MemoDbError:()=>d.lm,NEW_SUBSCRIPTION_DEFAULTS:()=>d.s6,PUSH_DEFAULTS_VERSION:()=>d.VP,RepositoryDbError:()=>h.j8,TASK_STATUSES:()=>d.Hi,TERMINAL_TASK_STATUSES:()=>d.sA,VERIFICATION_GATE_SOURCES:()=>d.Dx,VERIFICATION_TRIGGERS:()=>d.af,WORKTREE_TODO_STATUSES:()=>d.KG,addAgentInstance:()=>d.Uq,cancelTimer:()=>d.Ud,cancelTimersByWorktree:()=>d.$$,cleanupOldTimers:()=>d.ul,clearInProgressMessageId:()=>d.YX,clearLastUserMessage:()=>d.cf,clearTimerHistory:()=>d.jf,closeDbInstance:()=>e.closeDbInstance,countAgentInstances:()=>d.fs,countDisabledRepositories:()=>h.QJ,countPushSubscriptionsForKind:()=>d.rC,countWorktreesByRepositoryPath:()=>h.kp,createCloneJob:()=>h.tw,createGateResult:()=>d.hl,createMemo:()=>d.To,createMessage:()=>d.oH,createRepository:()=>h.vB,createTask:()=>d.UT,createTimer:()=>d.CR,createVerificationRun:()=>d.rY,createWorktreeTodo:()=>d.yy,deleteAllMessages:()=>d.pE,deleteMemo:()=>d.cP,deleteMessageById:()=>d.DF,deleteMessagesByCliTool:()=>d.lA,deleteMessagesByInstance:()=>d.Qp,deletePushSubscriptionByEndpoint:()=>d.th,deleteRepository:()=>h.oG,deleteRepositoryWorktrees:()=>d.oZ,deleteSessionState:()=>d.ZP,deleteWorktreeTodo:()=>d.vg,deleteWorktreesByIds:()=>d.Rm,disableExistingRepository:()=>h.eP,disableRepository:()=>h.l$,ensureEnvRepositoriesRegistered:()=>h.ES,filterExcludedPaths:()=>h.Ho,findMessageByRequestId:()=>d.Ow,finishGateResult:()=>d.C8,finishVerificationRun:()=>d.u$,getActiveCloneJobByUrl:()=>h.fD,getActiveTask:()=>d.__,getActiveTaskForInstance:()=>d.MH,getAgentInstance:()=>d.BN,getAgentInstances:()=>d.m0,getAliasedWorktreeIds:()=>d.r3,getAllPushSubscriptions:()=>d.Se,getAllRepositories:()=>h.Yg,getAllRepositoriesWithWorktreeCount:()=>h._D,getAllWorktreeAliases:()=>d.fX,getAllWorktreeIds:()=>d.nO,getAllWorktreePathIds:()=>d.Sj,getCloneJob:()=>h.bM,getCloneJobsByStatus:()=>h.n_,getCurrentVersion:()=>f.Mj,getDailyReport:()=>d.ap,getDbInstance:()=>e.getDbInstance,getDefaultDbPath:()=>g.$b,getExcludedRepositories:()=>h.lS,getExcludedRepositoryPaths:()=>h.pr,getInitialBranch:()=>d.p4,getIssueDbPath:()=>g.zm,getLastAssistantMessageAt:()=>d.nP,getLastMessage:()=>d.sy,getLastUserMessage:()=>d.r8,getLegacyDbPaths:()=>q,getMemoById:()=>d.DN,getMemosByWorktreeId:()=>d.pZ,getMessageById:()=>d.kA,getMessages:()=>d.VL,getMessagesByDateRange:()=>d.lr,getMigrationHistory:()=>f.PS,getPendingTimerCountByWorktree:()=>d.GF,getPendingTimers:()=>d._O,getPushSubscriptionByEndpoint:()=>d.CF,getPushSubscriptionsForKind:()=>d.gn,getRepositories:()=>d.NV,getRepositoryById:()=>h.r,getRepositoryByNormalizedUrl:()=>h.Uj,getRepositoryByPath:()=>h.Dp,getRunningVerificationRun:()=>d.WZ,getSessionState:()=>d.y1,getTask:()=>d.gg,getTimerById:()=>d.kx,getTimersByWorktree:()=>d.DP,getTodosByWorktreeId:()=>d.fr,getVerificationRun:()=>d.J6,getWorktreeAliases:()=>d.Q2,getWorktreeById:()=>d.Ui,getWorktreeIdsByRepository:()=>d.P9,getWorktreeTodoById:()=>d.eN,getWorktrees:()=>d.vi,getWorktreesByRepository:()=>d.uJ,initDatabase:()=>d.s4,isTerminalTaskStatus:()=>d.uB,isWorktreeTodoStatus:()=>d.yT,listRunningVerificationRuns:()=>d.Fi,listTaskEvents:()=>d.HB,listTasks:()=>d.Vk,listVerificationRuns:()=>d.Mt,listVerificationRunsForPeriod:()=>d.UE,markPendingPromptsAsAnswered:()=>d.PL,migrateDbIfNeeded:()=>r,migrateWorktreeIdPreservingChildren:()=>d._h,pushSubscriptionNeedsDefaultsNotice:()=>d.Zj,recomputeLastUserMessage:()=>d.jp,recordAnsweredPrompt:()=>d.pG,recordWorktreeAlias:()=>d.xJ,recoverStuckSendingTimers:()=>d.Xm,registerAndFilterRepositories:()=>h.$G,removeAgentInstance:()=>d.NU,reorderMemos:()=>d.nQ,reorderWorktreeTodos:()=>d.yb,resolveAndValidatePath:()=>p,resolveRepositoryPath:()=>h.mE,resolveWorktreeIdWithAlias:()=>d.l0,restoreRepository:()=>h.RS,rollbackMigrations:()=>f.Wy,runMigrations:()=>f.vI,saveDailyReport:()=>d.tt,saveInitialBranch:()=>d.GA,setAgentInstances:()=>d.Cs,setInProgressMessageId:()=>d.OF,setRepositoryEnabled:()=>h.iQ,updateCliToolId:()=>d.WU,updateCloneJob:()=>h.k5,updateDailyReportContent:()=>d.IF,updateFavorite:()=>d.O,updateLastUserMessage:()=>d.EU,updateLastViewedAt:()=>d.HZ,updateMemo:()=>d.UY,updateMessageContent:()=>d.e8,updatePromptData:()=>d.cw,updatePushSubscriptionPreferences:()=>d.jJ,updateRepository:()=>h.Ir,updateSelectedAgents:()=>d.DC,updateSessionState:()=>d.PP,updateStatus:()=>d.yB,updateTimerStatus:()=>d.j2,updateVibeLocalContextWindow:()=>d.s,updateVibeLocalModel:()=>d.iu,updateWorktreeDescription:()=>d.hq,updateWorktreeLink:()=>d.z1,updateWorktreeTodo:()=>d.bl,upsertPushSubscription:()=>d.jA,upsertWorktree:()=>d.ZL,validateDbPath:()=>g.Sv,validateRepositoryPath:()=>h.Ux,validateSchema:()=>f.i6});var d=c(683),e=c(88807),f=c(67469),g=c(20416),h=c(10406),i=c(29021),j=c.n(i),k=c(33873),l=c.n(k),m=c(21820),n=c(7956);let o=(0,c(72626).h)("db-migration-path");function p(a,b){try{if(!j().existsSync(a))return null;let c=j().realpathSync(a);if((0,n.fW)(c))return o.warn(`[Security] ${b} points to system directory, skipping: ${c}`),null;return c}catch{return o.warn(`[Security] Failed to resolve ${b}: ${a}`),null}}function q(){let a=[];a.push(l().join(process.cwd(),"data","db.sqlite")),a.push(l().join(process.cwd(),"data","cm.db")),a.push(l().join((0,m.homedir)(),".commandmate","data","db.sqlite"));let b=process.env.DATABASE_PATH;if(b)try{let c=l().resolve(b);(0,n.fW)(c)?o.warn(`[Security] Skipping DATABASE_PATH in system directory: ${c}`):a.push(b)}catch{o.warn(`[Security] Invalid DATABASE_PATH: ${b}`)}return a}function r(a){let b=l().resolve(a);if((0,n.fW)(b))throw Error(`Security error: Target path cannot be in system directory: ${b}`);if(j().existsSync(a)){let b=p(a,"target path");if(b)return{migrated:!1,targetPath:b}}for(let a of q()){let c=p(a,"legacy path");if(!c)continue;let d=`${c}.bak`;j().copyFileSync(c,d),j().chmodSync(d,384);let e=l().dirname(b);return j().existsSync(e)||j().mkdirSync(e,{recursive:!0,mode:448}),j().copyFileSync(c,b),o.info(`[Migration] Database migrated from ${c} to ${b}`),o.info(`[Migration] Backup created at ${d}`),{migrated:!0,sourcePath:c,targetPath:b,backupPath:d}}return{migrated:!1,targetPath:b}}},67882:(a,b,c)=>{c.d(b,{DA:()=>e,O_:()=>f,Oh:()=>d,_K:()=>i,kA:()=>g,px:()=>h});let d={PROMPT_SUBMIT:"hook_prompt_submit",STOP:"hook_stop",PERMISSION_PROMPT:"hook_permission_prompt",PERMISSION_REQUEST:"hook_permission_request",IDLE_PROMPT:"hook_idle_prompt",PRE_TOOL_USE:"hook_pre_tool_use",POST_TOOL_USE:"hook_post_tool_use"};function e(a,b){switch(a){case"user_prompt_submit":return{status:"running",reason:d.PROMPT_SUBMIT};case"pre_tool_use":return{status:"running",reason:d.PRE_TOOL_USE};case"post_tool_use":return{status:"running",reason:d.POST_TOOL_USE};case"stop":return{status:"ready",reason:d.STOP};case"notification":if("permission_prompt"===b)return{status:"waiting",reason:d.PERMISSION_PROMPT};if("idle_prompt"===b)return{status:"ready",reason:d.IDLE_PROMPT};return null;default:return null}}function f(a,b=!1){switch(a){case"waiting":return{isWaitingForResponse:!0,isProcessing:!1};case"running":return{isWaitingForResponse:!1,isProcessing:!b};default:return{isWaitingForResponse:!1,isProcessing:!1}}}function g(a){return a?a.isWaitingForResponse?"waiting":a.isProcessing?"running":a.isRunning?"ready":"idle":"idle"}function h(a){return a?.isUnclassified===!0&&"ready"===g(a)}function i(a){return a.isSessionRunning?a.isWaitingForResponse?"waiting":a.isProcessing?"running":"ready":null}},81254:(a,b,c)=>{function d(a){return"answer_only"===a||"answer_then_enter"===a}c.d(b,{LT:()=>e,MI:()=>d,XF:()=>f});let e="unclassified";function f(a){return null!=a&&a.type!==e}},85322:(a,b,c)=>{c.d(b,{k:()=>d});let d="opencode"},85726:(a,b,c)=>{c.d(b,{J:()=>d});function d(a){return`${a.type}:${a.question}`}},91227:(a,b,c)=>{c.d(b,{c:()=>f});var d=c(85726),e=c(39532);function f(a){let b="multiple_choice"===a.type?a.options.map(a=>`${a.number}.${a.label}`).join("\n"):a.options.join("\n");return[(0,d.J)(a),b,function(a){let b=a.approvalTarget??"";return"multiple_choice"!==a.type?b:(0,e.Vi)(b,a.options.map(a=>a.label),(a,b)=>a.startsWith(b))??b.split("\n").map(a=>a.replace(/^[\s❯›>▶►●○◉→]+/u,"")).join("\n")}(a)].join("\0")}},91631:(a,b,c)=>{c.d(b,{$M:()=>B,BZ:()=>k,Bf:()=>w,Dy:()=>G,Ev:()=>q,Ln:()=>s,NW:()=>v,Or:()=>j,SQ:()=>I,Yb:()=>A,ZG:()=>i,_i:()=>z,fY:()=>x,i1:()=>m,j0:()=>n,nC:()=>H,pO:()=>u,rT:()=>D,sp:()=>o,zM:()=>y});var d=c(24455),e=c(62887),f=c(24581),g=c(41842),h=c(36925);let i=(0,h.v)("__agentEventGenerationStartedAt",()=>new Map),j=(0,h.v)("__agentEventTurns",()=>new Map),k=(0,h.v)("__agentEventReopenedTurns",()=>new Map),l=(0,h.v)("__agentEventTurnSeq",()=>({value:0}));function m(a){globalThis.__agentEventTurnOutcomeSink=a}function n(a){return null===a?{kind:"none"}:{kind:"opened",at:a}}function o(a,b){return a.pendingDecisions.filter(a=>(0,f.jF)(a,b)).length}function p(a,b,c){if(null===a)return{kind:"none"};if(null!==a.closedAt)return{kind:"closed",turnId:a.turnId,closedBy:a.closedBy??"stop"};if(null===a.openedAt){let b=o(a,c);return b>0?{kind:"dialog-only",turnId:a.turnId,decisions:b,sessionId:a.sessionId}:{kind:"display-only",turnId:a.turnId}}return(0,f.ZV)(a,b)?{kind:"open-same-session",turnId:a.turnId}:{kind:"open-other-session",turnId:a.turnId}}function q(a){return i.get(a)??null}function r(a){let b=j.get(a);return b&&b.generationAt===q(a)?b:null}function s(a,b){let c=r(a);return null===c?null:(null===c.closedAt&&b-c.displayEvent.at>=f.Mu&&(c.closedAt=c.displayEvent.at+f.Mu,c.closedBy="stale"),c)}function t(a){return l.value+=1,`turn-${a}-${l.value}`}function u(a,b,c){let d=b.pendingDecisions.filter(a=>(0,f.jF)(a,c)),e=b.pendingDecisions.length-d.length;return e>0&&((0,g.QL)(a).dialogTimedOut+=e,b.pendingDecisions=d),d}function v(a,b,c,e=Date.now()){let f=(0,d.v7)(a,b,c),g=s(f,e);return null===g?[]:u(f,g,e)}function w(a,b,c,e=Date.now()){return s((0,d.v7)(a,b,c),e)}function x(a,b,c,d=Date.now()){return(0,f.nY)(w(a,b,c,d))}function y(a,b,c,e,f=Date.now()){let g=r((0,d.v7)(a,b,c));return null!==g&&null===g.closedAt&&(g.closedAt=f,g.closedBy=e,!0)}function z(a,b,c,e,g=Date.now(),h=!0){let i=r((0,d.v7)(a,b,c));return null!==i&&null===i.closedAt&&(e?(i.scraperCompletionPolls+=1,!(i.scraperCompletionPolls<f.Tt)&&!!h&&(i.closedAt=g,i.closedBy="scraper_evidence",!0)):(i.scraperCompletionPolls=0,!1))}function A(a,b,c="session-start"){let d=j.get(a),e={kind:"generation-fenced",source:c,generation:n(q(a)),fencedTurnId:d?.turnId??null};return d?(0!==d.pendingDecisions.length&&((0,g.QL)(a).decisionEvicted+=d.pendingDecisions.length,d.pendingDecisions=[]),null!==d.closedAt||(d.closedAt=b,d.closedBy="generation",d.generationAt=b),e):e}function B(a,b){let c=q(a);if(null!==c&&b.at<c)return"stop"===b.event?{kind:"stop-rejected",reason:"before-generation"}:"session_end"===b.event?{kind:"session-end-rejected",reason:"before-generation"}:{kind:"none"};switch(b.event){case"user_prompt_submit":{let d=F(a,b,"user_prompt_submit",c,{continueOpen:!0===b.joinsOpenTurn});return I(a),d}case"post_tool_use":{let d=F(a,b,"post_tool_use",c,{continueOpen:!0});return I(a),d}case"pre_tool_use":if(!0===b.promptOpensTurns&&C(a))return{kind:"none"};return F(a,b,"pre_tool_use",c,{continueOpen:!0});case"stop":var d=a,g=b,h=c;let i=r(d);if(null!==i&&null===i.closedAt&&null!==i.openedAt)return(0,f.ZV)(i,g.sessionId)?(i.closedAt=g.at,i.closedBy="stop",i.displayEvent=E(g),I(d),{kind:"stopped",turnId:i.turnId,generation:n(h)}):{kind:"stop-rejected",reason:"other-session"};let k=p(i,g.sessionId,g.at);if("dialog-only"===k.kind&&null!==k.sessionId&&null!==g.sessionId&&k.sessionId!==g.sessionId)return{kind:"stop-rejected",reason:"other-session"};let l=t(g.at);return j.set(d,{turnId:l,sessionId:g.sessionId,openedAt:null,closedAt:g.at,closedBy:"stop",generationAt:h,displayEvent:E(g),pendingDecisions:[],scraperCompletionPolls:0}),K(),{kind:"stop-without-turn",recordTurnId:l,generation:n(h),previous:k};case"session_end":{let c=function(a,b){let c=r(a);return null===c?{kind:"session-end-rejected",reason:"no-turn"}:(0,f.ZV)(c,b.sessionId)?(c.closedAt=b.at,c.closedBy="session_end",{kind:"session-ended",turnId:c.turnId}):{kind:"session-end-rejected",reason:"other-session"}}(a,b);return I(a),c}case"session_start":return{kind:"none"};case"notification":var m=a,o=b,s=c;if("permission_prompt"===o.detail)return!0===o.promptSettled?J(m,o):{kind:"decision-opened",...H(m,s,{source:"notification",at:o.at,message:o.message??null,toolName:o.toolName??null,patterns:o.decisionPatterns??null,decisionId:o.decisionId??null,bootstrapDisplay:E(o),sessionId:o.sessionId})};if(o.detail===e.KC)return!0===o.promptSettled?J(m,o):{kind:"none"};if("idle_prompt"===o.detail){I(m);let a=r(m);if(null!==a&&null===a.closedAt)return a.displayEvent=E(o),{kind:"none"};if(null!==a)return{kind:"none"};j.set(m,{turnId:t(o.at),sessionId:o.sessionId,openedAt:null,closedAt:null,closedBy:null,generationAt:s,displayEvent:E(o),pendingDecisions:[],scraperCompletionPolls:0}),K()}return{kind:"none"};default:return b.event,{kind:"none"}}}function C(a){let b=r(a);return null!==b&&null!==b.closedAt&&"stop"===b.closedBy}function D(a,b,c,e){return e&&C((0,d.v7)(a,b,c))}function E(a){return{event:a.event,at:a.at,detail:a.detail}}function F(a,b,c,d,{continueOpen:e}){let h=r(a),i=p(h,b.sessionId,b.at),l=null!==h&&null===h.closedAt&&null!==h.openedAt&&(0,f.ZV)(h,b.sessionId);if(e&&l)return h.displayEvent=E(b),h.sessionId??=b.sessionId,h.scraperCompletionPolls=0,{kind:"continued",turnId:h.turnId};let m=null!==h&&null===h.openedAt&&null===h.closedAt?h.pendingDecisions:[],o={turnId:t(b.at),sessionId:b.sessionId,openedAt:b.at,closedAt:null,closedBy:null,generationAt:d,displayEvent:E(b),pendingDecisions:m,scraperCompletionPolls:0};return j.set(a,o),K(),"user_prompt_submit"===b.event&&l&&(k.set(a,{turnId:o.turnId,replaced:h}),(0,g.Y_)(k,g.r4)),{kind:"opened",turnId:o.turnId,event:c,generation:n(d),previous:i}}function G(a,b,c,e){if("user_prompt_submit"!==e.event||!0!==e.joinsOpenTurn)return!1;let g=(0,d.v7)(a,b,c),h=k.get(g),i=r(g);if(!h||null===i||i.turnId!==h.turnId||null!==i.closedAt||!(0,f.ZV)(i,e.sessionId))return!1;let{replaced:l}=h;return l.generationAt===i.generationAt&&(j.set(g,{...l,closedAt:null,closedBy:null,displayEvent:i.displayEvent,pendingDecisions:i.pendingDecisions,scraperCompletionPolls:0}),k.delete(g),globalThis.__agentEventTurnOutcomeSink?.({worktreeId:a,cliToolId:b,instanceId:c},[{kind:"restored",restoredTurnId:l.turnId,discardedTurnId:i.turnId}]),!0)}function H(a,b,c){let d=r(a);null===d||null!==d.closedAt?(d={turnId:t(c.at),sessionId:c.sessionId??null,openedAt:null,closedAt:null,closedBy:null,generationAt:b,displayEvent:c.bootstrapDisplay,pendingDecisions:[],scraperCompletionPolls:0},j.set(a,d),K()):null===d.openedAt&&null===d.sessionId&&(d.sessionId=c.sessionId??null);let e={recordTurnId:d.turnId,recordKind:null!==d.openedAt?"turn":"dialog-only"},h=null===c.decisionId?null:(0,f.Xq)(c.decisionId);null!==c.decisionId&&null===h&&((0,g.QL)(a).idsDiscarded+=1);let i="notification"===c.source,k=null!==h?d.pendingDecisions.find(a=>a.decisionId===h)??d.pendingDecisions.find(a=>null===a.decisionId&&"permission-request"===a.source):d.pendingDecisions.find(a=>null===a.decisionId);return k?(k.message=(0,f.wt)(c.message)??k.message,k.toolName=(0,f.kT)(c.toolName)??k.toolName,k.patterns=(0,f.Ui)(c.patterns)??k.patterns,k.decisionId??=h,i&&(k.source="notification",k.confirmedAt??=c.at)):d.pendingDecisions.length>=f.RY?(0,g.QL)(a).decisionOverflow+=1:d.pendingDecisions.push({decisionId:h,at:c.at,source:c.source,message:(0,f.wt)(c.message),toolName:(0,f.kT)(c.toolName),patterns:(0,f.Ui)(c.patterns),confirmedAt:i?c.at:null,scraperCorroborated:!1,recorded:!1}),e}function I(a){let b=r(a);null!==b&&(b.pendingDecisions=[])}function J(a,b){let c=r(a);if(null===c||0===c.pendingDecisions.length)return{kind:"none"};let d=c.pendingDecisions.length,e=null===b.decisionId||void 0===b.decisionId?null:(0,f.Xq)(b.decisionId);return null===e?c.pendingDecisions=[]:c.pendingDecisions=c.pendingDecisions.filter(a=>null!==a.decisionId&&a.decisionId!==e),{kind:"decision-answered",recordTurnId:c.turnId,recordKind:null!==c.openedAt?"turn":"dialog-only",before:d,remaining:c.pendingDecisions.length}}function K(){(0,g.Y_)(j,g.r4)}},95375:(a,b,c)=>{c.r(b),c.d(b,{AGENT_EVENT_DEDUP_WINDOW_MS:()=>f.sb,AGENT_MODEL_EFFORT_SUFFIX_PATTERN:()=>p,LIFECYCLE_AGENT_EVENT_TYPES:()=>f.Ou,STRUCTURED_PROMPT_PROVISIONAL_MAX_AGE_MS:()=>ad,STRUCTURED_STATE_MAX_AGE_MS:()=>L,agentEventKeyClaimedAt:()=>f.$C,beginAgentEventGeneration:()=>aa,classifyAgentEventDelivery:()=>f.qo,clearAgentStopEvents:()=>ak,clearAskUserQuestion:()=>U,clearStructuredPromptWaiting:()=>aj,closeAgentTurn:()=>I.zM,corroborateStructuredPromptWaiting:()=>ah,discardAgentEventState:()=>ac,getAgentEventDropCounts:()=>f.n5,getAgentEventGenerationStartedAt:()=>ab,getAgentModelBaseline:()=>u,getAgentTurn:()=>I.Bf,getAskUserQuestion:()=>T,getAwaitingInstruction:()=>O,getLastAgentEvent:()=>_,getLastCapturedModelInfo:()=>A,getLastKnownAgentEffort:()=>G,getLastKnownAgentModel:()=>x,getLastReportedAgentEffort:()=>F,getLastStopEventAt:()=>Y,getPendingDecisions:()=>I.NW,getPublishedAgentTurn:()=>I.fY,getRecentEventIdentityCount:()=>f.pi,getRecentEventKeyCount:()=>f.Mm,getResolvedAgentModelInfo:()=>B,getStructuredPromptWaiting:()=>ag,getStructuredSessionState:()=>M,isAwaitingInstruction:()=>P,isDuplicateAgentEvent:()=>f.Fw,isPreToolUseOutsideTurn:()=>I.rT,isSameAgentModelName:()=>s,joinOpenTurnFromDuplicate:()=>I.Dy,markStructuredPromptRecorded:()=>ai,observeScraperCompletionEvidence:()=>I._i,onAgentModelChange:()=>t,recordAgentEvent:()=>$,recordAgentReportedEffort:()=>E,recordAgentReportedModel:()=>y,recordAgentStopEvent:()=>X,recordAskUserQuestion:()=>S,recordCapturedModelInfo:()=>z,reportPermissionRequestPending:()=>ae,reportQuestionPending:()=>af,shortSessionTag:()=>f.J2});var d=c(24455),e=c(27675),f=c(41842),g=c(62887),h=c(26547),i=c(36925);let j=(0,i.v)("__agentEventLastModel",()=>new Map),k=(0,i.v)("__agentEventLastModelAt",()=>new Map),l=(0,i.v)("__agentCapturedModelInfo",()=>new Map),m=(0,i.v)("__agentEventLastEffort",()=>new Map),n=(0,i.v)("__agentModelBaseline",()=>new Map),o=(0,i.v)("__agentModelChangeListeners",()=>new Set),p=/[-_ ](?:minimal|low|medium|high|xhigh)$/i,q=/\bcontext\b/gi;function r(a){return a.replace(p,"").replace(q,"").toLowerCase().replace(/[^a-z0-9]/g,"")}function s(a,b,c={}){let d=r(a),e=r(b);return d===e||!!c.crossSource&&0!==d.length&&0!==e.length&&(d.includes(e)||e.includes(d))}function t(a){return o.add(a),()=>{o.delete(a)}}function u(a,b,c){return n.get((0,d.v7)(a,b,c))??null}function v(a,b,c,e,g){let h=(0,d.v7)(a,b,c),{info:i,source:j}=D(h,b),k=i.model;if(null===k||null===j)return;let l=n.get(h),m={model:k,source:j};if(void 0===l){n.set(h,m),(0,f.Y_)(n,f.r4);return}if(s(l.model,k,{crossSource:l.source!==j}))return void n.set(h,m);n.set(h,m);var p={worktreeId:a,cliToolId:b,instanceId:c??b,from:l.model,to:k,source:e,at:g};for(let a of o)try{a(p)}catch{}}function w(a,b){"string"==typeof b.model&&""!==b.model&&(j.set(a,b.model.slice(0,g.h9)),k.set(a,b.at))}function x(a,b,c){return j.get((0,d.v7)(a,b,c))??null}function y(a,b,c,e,f=Date.now()){if("string"!=typeof e||""===e)return;let h=(0,d.v7)(a,b,c);j.set(h,e.slice(0,g.h9)),k.set(h,f),v(a,b,c,"hook",f)}function z(a,b,c,e,f=Date.now()){if(!e.model&&!e.effort)return;let h=(0,d.v7)(a,b,c),i=l.get(h),j=e.model?e.model.slice(0,g.h9):i?.model??null;l.set(h,{model:j,effort:e.effortUnreadable?null:e.effort??i?.effort??null,modelChangedAt:null===j?null:j===(i?.model??null)?i?.modelChangedAt??f:f}),e.model&&v(a,b,c,"frame",f)}function A(a,b,c){let e=l.get((0,d.v7)(a,b,c));return{model:e?.model??null,effort:e?.effort??null}}function B(a,b,c){return D((0,d.v7)(a,b,c),b).info}let C=new Set(["claude"]);function D(a,b){let c=j.get(a)??null,d=l.get(a),e={model:d?.model??null,effort:d?.effort??null},f=m.get(a)??null,g=d?.modelChangedAt??null,i=null!==c&&null!==e.model&&null!==g&&C.has(b)&&g>(k.get(a)??0)&&!s(c,e.model,{crossSource:!0}),n=(0,h.Yz)(b,i?null:c,e,f);return null===n.model?{info:n,source:null}:{info:n,source:null===c||i?"frame":"hook"}}function E(a,b,c,e){"string"==typeof e&&""!==e&&m.set((0,d.v7)(a,b,c),e.slice(0,g.h9))}function F(a,b,c){return m.get((0,d.v7)(a,b,c))??null}function G(a,b,c){return B(a,b,c).effort}var H=c(24581),I=c(91631),J=c(15044),K=c(67882);let L=H.Mu;function M(a,b,c,e=Date.now()){let f=(0,d.v7)(a,b,c),g=(0,I.Ln)(f,e);if(null===g)return null;let h=g.displayEvent;if(e-h.at>=L)return null;let i={event:h.event,at:h.at,detail:h.detail},j=(0,I.pO)(f,g,e);if(j.length>0)return{status:"waiting",reason:"notification"===j[0].source?K.Oh.PERMISSION_PROMPT:K.Oh.PERMISSION_REQUEST,...i};if(null!==g.closedAt)return"stop"===g.closedBy?{status:"ready",reason:K.Oh.STOP,...i}:null;let k=(0,K.DA)(h.event,h.detail);return null===k||"waiting"===k.status?null===g.openedAt?null:{status:"running",reason:K.Oh.PROMPT_SUBMIT,...i}:{...k,...i}}let N=(0,i.v)("__agentEventAwaitingInstruction",()=>new Map);function O(a,b,c){let e=(0,d.v7)(a,b,c),f=N.get(e);if(!f)return null;let g=I.ZG.get(e);return void 0!==g&&f.at<g?null:f}function P(a,b,c){return null!==O(a,b,c)}var Q=c(49154);let R=(0,i.v)("__agentEventAskUserQuestion",()=>new Map);function S(a,b,c,e,f=Date.now()){R.set((0,d.v7)(a,b,c),{at:f,spec:e})}function T(a,b,c,e=Date.now()){let f=(0,d.v7)(a,b,c),g=R.get(f);if(!g)return null;let h=I.ZG.get(f);return void 0!==h&&g.at<h||e-g.at>=L?null:g}function U(a,b,c){R.delete((0,d.v7)(a,b,c))}let V=(0,i.v)("__agentEventLastStopAt",()=>new Map),W=(0,i.v)("__agentEventLast",()=>new Map);function X(a,b,c,e=Date.now()){V.set((0,d.v7)(a,b,c),e)}function Y(a,b,c){return V.get((0,d.v7)(a,b,c))??null}let Z=["running","waiting"];function $(a,b,c,f,g={}){let h=(0,d.v7)(a,b,c);if(function(a,b,c,e,f){if("session_start"!==e.event||!0!==f.sessionStartMayArriveLate)return!1;let g=M(a,b,c,e.at);if(null===g||!Z.includes(g.status))return!1;let h=W.get((0,d.v7)(a,b,c))?.sessionId??null;return null===h||null==e.sessionId||e.sessionId===h}(a,b,c,f,g))return w(h,f),v(a,b,c,"hook",f.at),{recorded:!1,skipped:"late-session-start"};W.set(h,f);let i=[];return"session_start"===f.event&&n.delete(h),w(h,f),v(a,b,c,"hook",f.at),!function(a,b){switch(b.event){case"pre_tool_use":Q.mW.includes(b.detail??"")||R.delete(a);return;case"notification":"idle_prompt"===b.detail&&R.delete(a);return;case"post_tool_use":case"stop":case"user_prompt_submit":case"session_start":case"session_end":R.delete(a);return;default:b.event;return}}(h,f),"session_start"===f.event&&(I.ZG.set(h,f.at),(0,e.eZ)(a,b,c),i.push((0,I.Yb)(h,f.at,"session-start"))),i.push((0,I.$M)(h,f)),!function(a,b){switch(b.event){case"notification":"idle_prompt"===b.detail&&N.set(a,{at:b.at,message:b.message??null});return;case"user_prompt_submit":case"session_start":case"session_end":N.delete(a);return;case"stop":case"pre_tool_use":case"post_tool_use":return;default:b.event;return}}(h,f),(0,J.Dd)({worktreeId:a,cliToolId:b,instanceId:c},i),{recorded:!0}}function _(a,b,c){return W.get((0,d.v7)(a,b,c))??null}function aa(a,b,c,e=Date.now()){let g=(0,d.v7)(a,b,c);I.ZG.set(g,e);let h=(0,I.Yb)(g,e,"process-start");R.delete(g),N.delete(g),j.delete(g),k.delete(g),l.delete(g),m.delete(g),n.delete(g),f.u0.delete(g),(0,J.Dd)({worktreeId:a,cliToolId:b,instanceId:c},[h],e)}function ab(a,b,c){return I.ZG.get((0,d.v7)(a,b,c))??null}function ac(a,b,c){let e=(0,d.v7)(a,b,c);W.delete(e),I.ZG.delete(e),I.Or.delete(e),f.wx.delete(e),R.delete(e),N.delete(e),j.delete(e),k.delete(e),l.delete(e),m.delete(e),n.delete(e),f.u0.delete(e)}let ad=H.h_.predicted;function ae(a,b,c,e,f=Date.now()){let g=(0,d.v7)(a,b,c),h=(0,I.nC)(g,(0,I.Ev)(g),{source:"permission-request",at:f,message:null,toolName:e,patterns:null,decisionId:null,bootstrapDisplay:{event:"notification",at:f,detail:"permission_prompt"}});(0,J.Dd)({worktreeId:a,cliToolId:b,instanceId:c},[{kind:"decision-opened",...h}])}function af(a,b,c,e,f=Date.now()){let g=(0,d.v7)(a,b,c),h=(0,I.nC)(g,(0,I.Ev)(g),{source:"notification",at:f,message:null,toolName:e.toolName,patterns:null,decisionId:e.decisionId,bootstrapDisplay:{event:"notification",at:f,detail:e.detail}});(0,J.Dd)({worktreeId:a,cliToolId:b,instanceId:c},[{kind:"decision-opened",...h}])}function ag(a,b,c,d=Date.now()){return(0,I.NW)(a,b,c,d)[0]??null}function ah(a,b,c,d=Date.now()){let e=ag(a,b,c,d);e&&(e.scraperCorroborated=!0,e.confirmedAt??=d)}function ai(a,b,c){let d=ag(a,b,c);d&&(d.recorded=!0)}function aj(a,b,c){(0,I.SQ)((0,d.v7)(a,b,c))}function ak(){V.clear(),W.clear(),f.wQ.clear(),f.u0.clear(),I.ZG.clear(),I.Or.clear(),I.BZ.clear(),f.wx.clear(),R.clear(),N.clear(),j.clear(),k.clear(),l.clear(),m.clear(),n.clear(),(0,J.qM)()}}};
@@ -1 +1 @@
1
- "use strict";exports.id=7905,exports.ids=[7905],exports.modules={1305:(a,b,c)=>{c.d(b,{Fq:()=>n,wK:()=>o});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(35583),l=c(27675);let m=(0,i.h)("lib/session/agent-session-lifecycle");function n(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);let o=(0,e.getAgentEventDropCounts)(a.worktreeId,a.cliToolId,a.instanceId).decisionEvicted,p=(0,d.VM)(a.cliToolId);m.info("agent-session-generation-begun",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,transport:p.transport,decisionsEvicted:o-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){m.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 o(a){return(0,d.K9)((0,d.VM)(a.target.cliToolId).prepareLaunch(a))}},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}}},20610:(a,b,c)=>{c.d(b,{CV:()=>i,D1:()=>p,Em:()=>q,Is:()=>g,KI:()=>j,Lw:()=>o,PY:()=>m,Rk:()=>l,Uc:()=>d,Zf:()=>h,kZ:()=>r,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=100,r=1e3},35583:(a,b,c)=>{c.d(b,{O5:()=>o,Bk:()=>q,Hb:()=>l,_U:()=>n,a3:()=>r,PS:()=>m,Gz:()=>s});var d=c(16698),e=c(24455),f=c(37717);c(15194);let g={claude:6e4};var h=c(36925);let i=(0,h.v)("__sessionStartingRecords",()=>new Map),j=(0,h.v)("__sessionStartingTokenSeq",()=>({last:0})),k=(0,h.v)("__sessionStartingTokenScope",()=>new d.AsyncLocalStorage);function l(){return j.last+=1,j.last}function m(a,b){return k.run(a,b)}function n(a,b,c,d=Date.now()){let f=k.getStore()??l(),g=(0,e.v7)(a,b,c),h=i.get(g);return void 0!==h&&h.token>f?null:(i.set(g,{cliToolId:b,token:f,since:d,promptSeenAt:null,released:!1}),f)}function o(a,b,c,d){try{let f=(0,e.v7)(a,b,c);if(void 0!==d&&i.get(f)?.token!==d)return;i.delete(f)}catch{}}function p(a,b,c){return void 0===b||b.released?null:c-b.since>(g[b.cliToolId]??3e4)+5e3?(i.delete(a),null):b.since}function q(a,b,c,d=Date.now()){let f=(0,e.v7)(a,b,c);return p(f,i.get(f),d)}function r(a,b,c,d,f=Date.now()){let g=(0,e.v7)(a,b,c),h=i.get(g),j=p(g,h,f);return null===j||void 0===h?null:d?(h.promptSeenAt??=f,f-h.promptSeenAt>=5e3)?(h.released=!0,null):j:(h.promptSeenAt=null,j)}function s(a){return{...a,status:"running",reason:f.g.STARTING,hasActivePrompt:!1,promptDetection:{...a.promptDetection,isPrompt:!1,promptData:void 0},evidence:"positive"}}},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"}},40236:(a,b,c)=>{c.d(b,{FW:()=>H});var d=c(79646),e=c(79892),f=c(93997),g=c(56717),h=c(42422),i=c(20610),j=c(72626),k=c(87673),l=c(94154);let m=(0,j.h)("cli-tools/submit-verified-sender"),n=/\[Pasted text[\s#]/,o=0,p=/^\/[A-Za-z]/,q=/^\s*(?:ctx:\d+%\s*)?[>❯›]/;function r(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(q.test(a[b]))return a[b];return null}(c);if(null===d)return{kind:"absent"};let e=d.replace(q,"").trim();return 0===e.length?{kind:"empty"}:{kind:"text",text:e,rows:[d]}}function s(a){let b=a.length;for(;b>0&&""===a[b-1].trim();)b--;return a.slice(0,b)}function t(a){return a.split("\n").map(a=>a.trim()).find(a=>a.length>0)??""}function u(a,b){let c=t(b);return 0!==c.length&&c.startsWith(a)}let v=[{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 w(a){let b=[],c=a;for(let{pattern:d,read:e}of v)for(let f of a.matchAll(d))b.push(e(f)),c=c.replace(f[0],"");return{tokens:b,rest:c.trim()}}function x(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 y(a,b,c,d,e){if("codex"===b&&"input-line-marker"===c){let f=(0,l.ji)(a,b);if("content"===f.state){let b=function(a){let b=a.split("\n"),c=(0,l.mO)(b);if(null===c)return null;let d=a=>""===(0,h.aJ)(a).trim(),e=b.length-1;for(;e>=0&&d(b[e]);)e--;let f=e;for(;f>0&&!d(b[f-1]);)f--;let g=f>c.lastRow?f-1:e,i=b.slice(c.firstRow,g+1).map(a=>(0,h.aJ)(a));return i[0]=i[0].replace(/^\s*\u203A ?/,""),i.join("\n")}(a)??f.text;if(f.text.includes("\n"))return{kind:"text",text:t(f.text),rows:f.text.split("\n"),region:b};let g=r(c,d,e);return"text"===g.kind?{...g,region:b}:g}}return r(c,d,e)}function z(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 A(a,b){let c=`cm-send-${process.pid}-${++o}`;try{await z(["load-buffer","-b",c,"-"],b),await z(["paste-buffer","-p","-r","-d","-b",c,"-t",(0,e.lA)(a)])}catch(b){await z(["delete-buffer","-b",c]).catch(()=>void 0);let a=b instanceof Error?b.message:String(b);throw Error(`Failed to paste message into tmux session: ${a}`)}}function B(a,b,c){let d=s((0,h.aJ)(a).split("\n")),e=y(a,b,c.reader,d,d.slice(-12));return"absent"===e.kind?"no composer on screen":"empty"===e.kind?"an empty composer":JSON.stringify(e.text.length>80?`${e.text.slice(0,80)}…`:e.text)}async function C(a,b,c){try{c.clearBeforeSend?await (0,k.sr)(a,b):await (0,e.Ce)(a)}catch(c){m.error("paste-withdraw-failed",{sessionName:a,cliToolId:b,error:c instanceof Error?c.message:String(c)})}}async function D(a){let{sessionName:b,message:c,cliToolId:d,composer:i,attempts:j}=a,k="unseen",l="";for(let a=0;a<Math.max(1,j)&&(await new Promise(a=>setTimeout(a,100)),"landed"!==(k=function(a,b,c,d=(0,g.gc)(b)){let e=s((0,h.aJ)(a).split("\n")),f=y(a,b,d.reader,e,e.slice(-12));if("text"!==f.kind)return"unseen";if(void 0!==f.region){let a=E(f.region),b=E(c);if(a===b)return"landed";let d=w(f.text);if(d.tokens.length>0){let a=E(f.region.split("\n").slice(1).join("\n"));return d.tokens.length>1||""!==d.rest||""!==a?"mismatch":x(d.tokens[0],c)}return b.startsWith(a)?"pasting":u(f.text,c)||a.startsWith(b)||b.includes(a)?"mismatch":"unseen"}if(E(f.text)===E(c))return"landed";let{tokens:i,rest:j}=w(f.text);return 0===i.length?u(f.text,c)?"landed":c.includes(f.text)?"mismatch":"unseen":i.length>1||""!==j?"mismatch":x(i[0],c)}(l=await (0,e.Xg)(b,{startLine:-i.verifyCaptureLines}),d,c,i))&&"mismatch"!==k);a++);if("landed"===k)return;if("unseen"===k&&!i.clearBeforeSend)return void m.warn("paste-landed-unverified",{sessionName:b,cliToolId:d,bytes:Buffer.byteLength(c,"utf8")});let n=Buffer.byteLength(c,"utf8"),o=c.split("\n").length,p=B(l,d,i);await C(b,d,i),(0,f.gm)(b),m.error("paste-not-landed",{sessionName:b,cliToolId:d,state:k,bytes:n,lines:o,shown:p});let q="mismatch"===k?`the composer does not hold the message as sent (it shows ${p})`:"pasting"===k?`the paste had not finished arriving after ${100*j}ms (the composer shows ${p})`:`the message never appeared in the composer (${p})`;throw Error(`Message body did not arrive intact for session ${b}: ${q}; the message is ${n} bytes / ${o} lines. Enter was not pressed, so nothing was submitted (Issue #2464).`)}function E(a){return a.replace(/\s+/g,"")}async function F(a){let{sessionName:b,message:c,cliToolId:d,composer:g,attempts:h}=a,i=E(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(""===i)return;let j="";for(let a=0;a<Math.max(1,h);a++){await new Promise(a=>setTimeout(a,50)),j=await (0,e.Xg)(b,{startLine:-g.verifyCaptureLines});let a=(0,l.ji)(j,d);if("content"===a.state&&E(a.text)===i)return}let k=Buffer.byteLength(c,"utf8"),n=B(j,d,g);throw await C(b,d,g),(0,f.gm)(b),m.error("typed-body-not-landed",{sessionName:b,cliToolId:d,bytes:k,attempts:h,shown:n}),Error(`Message body did not appear in the composer for session ${b} within ${50*h}ms (it shows ${n}); the message is ${k} bytes. Enter was not pressed, so nothing was submitted (Issue #3366).`)}async function G(a,b,c=(0,g.gc)(b)){if(!c.clearBeforeSend)return;let d=await (0,k.sr)(a,b);if("content"===d.state)throw m.error("pre-send-composer-clear-failed",{sessionName:a,cliToolId:b,passes:d.passes,remainingLength:d.remainingText.length,remainingText:d.remainingText}),Error(`Composer for session ${a} still holds unsent text after ${d.passes} clear passes; refusing to type the message, which would be concatenated with it (Issue #1880).`);d.passes>0&&m.warn("pre-send-composer-cleared",{sessionName:a,cliToolId:b,passes:d.passes,state:d.state,discardedLength:d.discardedText.length,discardedText:d.discardedText})}async function H(a){let{sessionName:b,message:c,cliToolId:d,composer:j=(0,g.gc)(d),textInputWaitMs:k=i.pL,interEnterWaitMs:o=i.pL,verifyAttempts:q=4,verifyDelayMs:r=i.x9,pasteLandedAttempts:t=20,awaitTypedBody:v=!1,typedBodyAttempts:x=100}=a,z=a.submitEnterCount??j.submitEnterCount;if(await G(b,d,j),Buffer.byteLength(c,"utf8")>512){let a=Date.now();await A(b,c),await D({sessionName:b,message:c,cliToolId:d,composer:j,attempts:t});let e=k-(Date.now()-a);e>0&&await new Promise(a=>setTimeout(a,e))}else{let a=Date.now();await (0,e.V1)(b,c,!1,{literal:!0}),v&&l.wn.has(d)&&await F({sessionName:b,message:c,cliToolId:d,composer:j,attempts:x});let f=k-(Date.now()-a);f>0&&await new Promise(a=>setTimeout(a,f))}for(let a=0;a<Math.max(1,z);a++)await (0,e.KB)(b,["Enter"]),a<z-1&&await new Promise(a=>setTimeout(a,o));let B=Math.max(1,q);for(let a=0;a<=B;a++){await new Promise(a=>setTimeout(a,r));let i=function(a,b,c,d=(0,g.gc)(b)){let e=s((0,h.aJ)(a).split("\n")),f=e.slice(-12),i=f.join("\n");if((0,h.ut)(b,i))return"submitted";let j=y(a,b,d.reader,e,f);return"text"!==j.kind?"submitted":j.rows.some(a=>n.test(a)||w(a).tokens.length>0)||u(j.text,c)?"pending":p.test(j.text)?"replaced":"submitted"}(await (0,e.Xg)(b,{startLine:-j.verifyCaptureLines}),d,c,j);if("submitted"===i)return void(0,f.gm)(b);if("replaced"===i){try{await (0,e.Ce)(b)}catch(a){m.error("submit-clear-input-failed",{sessionName:b,cliToolId:d,error:a instanceof Error?a.message:String(a)})}throw(0,f.gm)(b),m.error("submit-replaced-by-tui-completion",{sessionName:b,cliToolId:d,attempt:a}),Error(`Message was replaced by a TUI autocompletion for session ${b}; the input no longer matches the sent text. Cleared the input line without submitting to avoid executing a different command.`)}if(a===B)break;m.warn("submit-not-confirmed:resending-enter",{sessionName:b,cliToolId:d,attempt:a}),await (0,e.KB)(b,["Enter"])}throw(0,f.gm)(b),m.error("submit-verification-failed",{sessionName:b,cliToolId:d,attempts:B}),Error(`Message submit could not be confirmed for session ${b} after ${B} attempts (typed but unsent)`)}},46749:(a,b,c)=>{c.d(b,{Y:()=>d});function d(a){return`clear 2>/dev/null; printf '\\033[3J'; ${a}`}},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))}},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:()=>X,zw:()=>T,Yq:()=>U,pU:()=>W,R7:()=>V,VU:()=>Y});var d=c(79892),e=c(42422),f=c(11472),g=c(91536),h=c(50945),i=c(40236),j=c(93997),k=c(77093),l=c(20610),m=c(79646),n=c(28354),o=c(72626);let p=(0,o.h)("session-key-sender"),q=(0,n.promisify)(m.exec);async function r(a,b=50){let c=await (0,d.Xg)(a,{startLine:-b});return(0,e.aJ)(c)}async function s(a){await q("tmux set-environment -g -u CLAUDECODE 2>/dev/null || true"),await (0,d.V1)(a,"unset CLAUDECODE",!0),await new Promise(a=>setTimeout(a,l.Em))}async function t(a,b){let c=Date.now();for(;Date.now()-c<b;){let b=await r(a);if(e.hx.test(b))return;await new Promise(a=>setTimeout(a,200))}throw Error(`Prompt detection timeout (${b}ms)`)}async function u(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 r(a);e.hx.test(g)||await t(a,f),await new Promise(a=>setTimeout(a,c)),await (0,i.FW)({sessionName:a,message:b,cliToolId:"claude"}),(0,j.gm)(a),p.info("sent-message-to-session",{sessionName:a})}async function v(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&&p.info("stopped-session",{sessionName:a}),b}catch(a){return p.error("session:stop-failed",{error:(0,k.u1)(a)}),!1}}var w=c(79748),x=c(31347),y=c(40964),z=c(22354),A=c(43252),B=c(80252),C=c(1305),D=c(95375),E=c(2669),F=c(46749);let G=(0,o.h)("claude-session"),H=(0,n.promisify)(m.exec);async function I(a,b,c){if(null!==c.pollsSinceAnswer&&c.pollsSinceAnswer++,null!==c.pollsSinceMove&&c.pollsSinceMove++,null===b)return;c.seen||(c.seen=!0,c.shellTellsExit=await K(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{await (0,d.V1)(a,"",!0),c.pollsSinceAnswer=0,c.answers++,G.info("trust-dialog-detected",{keys:"Enter",attempt:c.answers})}catch{}return}if(null===c.pollsSinceMove||!(c.pollsSinceMove<3)){if(c.moves>=20)throw new E.mR("Claude Code",a,'trust dialog: cursor did not reach "Yes, I trust this folder"');try{await (0,d.KB)(a,[f[0]]),c.pollsSinceMove=0,c.moves++,G.info("trust-dialog-cursor-move",{key:f[0],attempt:c.moves})}catch{}}}}async function J(a){let b=await L(a);return null!==b&&(0,e.U1)(b)}async function K(a){let b=await L(a);return null!==b&&!(0,e.U1)(b)}async function L(a){try{let b=await (0,d.Hg)(a);return"string"==typeof b?b:null}catch{return null}}let M=(0,g.H7)("claude"),N=null;async function O(){if(N)return N;let a=process.env.CLAUDE_PATH;if(a&&(/^[/a-zA-Z0-9._-]+$/.test(a)?!a.includes("..")||(G.info("claudepath-contains-path"),!1):(G.info("claudepath-contains-invalid-characters-i"),!1)))try{return await (0,w.access)(a,w.constants.X_OK),N=a}catch{G.info("claude-path-env-not-executable")}try{let{stdout:a}=await H("which claude",{timeout:5e3});return N=a.trim()}catch{for(let a of["/opt/homebrew/bin/claude","/usr/local/bin/claude","/usr/bin/claude"])try{return await H(`test -x "${a}"`,{timeout:1e3}),N=a}catch{}throw Error("Claude CLI not found. Set CLAUDE_PATH environment variable or install Claude CLI.")}}async function P(a,b=50){let c=await (0,d.Xg)(a,{startLine:-b});return(0,e.aJ)(c)}async function Q(a){let b=await (0,h.Q)(a,M);return b.alive?{healthy:!0}:{healthy:!1,reason:b.reason}}async function R(a){return!!(await Q(a)).healthy||(G.warn("claude-session-unhealthy"),await (0,d.fY)(a),!1)}function S(a,b){return(0,y.mf)("claude",a,b)}async function T(){try{return await H("which claude",{timeout:5e3}),!0}catch{return!1}}async function U(a,b){let c=S(a,b);return!!await (0,d.N)(c)&&(!!(await Q(c)).healthy||(G.warn("claude-session-unhealthy"),!1))}async function V(a){let{worktreeId:b,worktreePath:c,instanceId:g,model:h}=a;if(void 0!==h){let a=(0,B.LB)(h);if(!a.valid)throw Error(`Invalid Claude model name: ${a.reason}`)}if(!await T())throw new E.lU("Claude Code","Claude CLI is not installed or not in PATH");let i=S(b,g);if(await (0,d.N)(i)&&(await (0,x.St)(i,c),await R(i))){await (0,d.zT)(i),G.info("claude-session-exists");return}(0,C.Fq)({worktreeId:b,cliToolId:z.vm,instanceId:g});try{let a=await O(),k=(0,C.wK)({target:{worktreeId:b,cliToolId:z.vm,instanceId:g},executablePath:a,worktreePath:c}),l=void 0===h?k:`${k} --model ${(0,A.ZL)(h)}`;await (0,d.jw)({sessionName:i,workingDirectory:c}),await s(i),await (0,d.V1)(i,(0,F.Y)(l),!0);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;try{a=await P(i)}catch{}if(null===a)continue;let b=(0,e.lX)(a);if(await I(i,b?a:null,o),!b&&e.hx.test(a)){await new Promise(a=>setTimeout(a,500)),G.info("claude-initialized"),n=!0;break}if(!b&&o.shellTellsExit&&await J(i))throw new E.mR("Claude Code",i,"trust dialog: Claude Code exited to the shell");let c=(j=a,(0,f.ow)(j,M));if(null!==c)throw new E.mR("Claude Code",i,c)}if(!n)throw new E.Sr("Claude Code",i,6e4);G.info("started-claude-session")}catch(a){if(N=null,G.error("session:start-failed",{error:a instanceof Error?a.message:String(a)}),(0,E.su)(a))throw a;throw Error("Failed to start Claude session")}}async function W(a,b,c){let d=S(a,c);await u(d,b,500,1e4)}async function X(a,b=1e3,c){let e=S(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 Y(a,b){let c=S(a,b),d=await v(c);return(0,D.discardAgentEventState)(a,"claude",b),d}},77093:(a,b,c)=>{c.d(b,{u1:()=>d});function d(a){return a instanceof Error?a.message:String(a)}},87673:(a,b,c)=>{c.d(b,{sr:()=>i});var d=c(79892),e=c(93997),f=c(94154);let g=(0,c(72626).h)("composer-clear"),h=a=>new Promise(b=>setTimeout(b,a));async function i(a,b,c={}){let j=c.capture??(a=>(0,d.Xg)(a,200)),k=c.sendClear??d.ou,l=c.delay??h,m=c.maxPasses??12,n=0,o=(0,f.ji)(await j(a),b),p="content"===o.state?o.text:"";for(;"content"===o.state&&n<m;)await k(a),n++,await l(120),o=(0,f.ji)(await j(a),b);n>0&&(0,e.gm)(a);let q="empty"===o.state||"ghost"===o.state;return q||g.warn("composer-clear:not-cleared",{sessionName:a,cliToolId:b,passes:n,state:o.state}),{cleared:q,passes:n,state:o.state,remainingText:o.text,discardedText: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}}};
1
+ "use strict";exports.id=7905,exports.ids=[7905],exports.modules={1305:(a,b,c)=>{c.d(b,{Fq:()=>n,wK:()=>o});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(35583),l=c(27675);let m=(0,i.h)("lib/session/agent-session-lifecycle");function n(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);let o=(0,e.getAgentEventDropCounts)(a.worktreeId,a.cliToolId,a.instanceId).decisionEvicted,p=(0,d.VM)(a.cliToolId);m.info("agent-session-generation-begun",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,transport:p.transport,decisionsEvicted:o-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){m.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 o(a){return(0,d.K9)((0,d.VM)(a.target.cliToolId).prepareLaunch(a))}},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}}},20610:(a,b,c)=>{c.d(b,{CV:()=>i,D1:()=>p,Em:()=>q,Is:()=>g,KI:()=>j,Lw:()=>o,PY:()=>m,Rk:()=>l,Uc:()=>d,Zf:()=>h,kZ:()=>r,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=100,r=1e3},35583:(a,b,c)=>{c.d(b,{O5:()=>o,Bk:()=>q,Hb:()=>l,_U:()=>n,a3:()=>r,PS:()=>m,Gz:()=>s});var d=c(16698),e=c(24455),f=c(37717);c(15194);let g={claude:6e4};var h=c(36925);let i=(0,h.v)("__sessionStartingRecords",()=>new Map),j=(0,h.v)("__sessionStartingTokenSeq",()=>({last:0})),k=(0,h.v)("__sessionStartingTokenScope",()=>new d.AsyncLocalStorage);function l(){return j.last+=1,j.last}function m(a,b){return k.run(a,b)}function n(a,b,c,d=Date.now()){let f=k.getStore()??l(),g=(0,e.v7)(a,b,c),h=i.get(g);return void 0!==h&&h.token>f?null:(i.set(g,{cliToolId:b,token:f,since:d,promptSeenAt:null,released:!1}),f)}function o(a,b,c,d){try{let f=(0,e.v7)(a,b,c);if(void 0!==d&&i.get(f)?.token!==d)return;i.delete(f)}catch{}}function p(a,b,c){return void 0===b||b.released?null:c-b.since>(g[b.cliToolId]??3e4)+5e3?(i.delete(a),null):b.since}function q(a,b,c,d=Date.now()){let f=(0,e.v7)(a,b,c);return p(f,i.get(f),d)}function r(a,b,c,d,f=Date.now()){let g=(0,e.v7)(a,b,c),h=i.get(g),j=p(g,h,f);return null===j||void 0===h?null:d?(h.promptSeenAt??=f,f-h.promptSeenAt>=5e3)?(h.released=!0,null):j:(h.promptSeenAt=null,j)}function s(a){return{...a,status:"running",reason:f.g.STARTING,hasActivePrompt:!1,promptDetection:{...a.promptDetection,isPrompt:!1,promptData:void 0},evidence:"positive"}}},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"}},40236:(a,b,c)=>{c.d(b,{FW:()=>K});var d=c(79646),e=c(79892),f=c(93997),g=c(56717),h=c(42422),i=c(20610),j=c(72626),k=c(87673),l=c(94154);let m=(0,j.h)("cli-tools/submit-verified-sender"),n=/\[Pasted text[\s#]/,o=0,p=/^\/[A-Za-z]/,q=/^\s*(?:ctx:\d+%\s*)?[>❯›]/;function r(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(q.test(a[b]))return a[b];return null}(c);if(null===d)return{kind:"absent"};let e=u(d);return 0===e.length?{kind:"empty"}:{kind:"text",text:e,rows:[d]}}function s(a){let b=a.length;for(;b>0&&""===a[b-1].trim();)b--;return a.slice(0,b)}function t(a){return a.split("\n").map(a=>a.trim()).find(a=>a.length>0)??""}function u(a){return a.replace(q,"").trim()}function v(a,b){let c=t(b);return 0!==c.length&&c.startsWith(a)}let w=[{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 x(a){let b=[],c=a;for(let{pattern:d,read:e}of w)for(let f of a.matchAll(d))b.push(e(f)),c=c.replace(f[0],"");return{tokens:b,rest:c.trim()}}function y(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 z(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 A(a,b){let c=b;for(;c+1<a.length&&""!==(0,h.aJ)(a[c+1]).trim();)c++;return c}function B(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,l.ji)(a,b);if("content"===j.state){let b=(0,l.mO)(g);if(null!==b&&(0,l.zF)(g,b.firstRow))return{kind:"absent"};let f=null!==b&&b.firstRow<i,h=function(a){let b=a.split("\n"),c=(0,l.mO)(b);return null===c?null:z(b,c.firstRow,c.lastRow)}(a)??j.text;if(j.text.includes("\n"))return{kind:"text",text:t(j.text),rows:j.text.split("\n"),region:h,...f?{outsideWindow:f}:{}};if(f&&(0,l.Di)(g)===b.firstRow)return{kind:"text",text:j.text.trim(),rows:[g[b.firstRow]],region:h,outsideWindow:!0};let k=r(c,d,e);return"text"===k.kind?{...k,region:h}:k}if("no_composer"===j.state){let a=(0,l.Di)(g);if(a>=0){let b=z(g,a,A(g,a)),j=u((0,h.aJ)(g[a]));if(a>=i){let f=r(c,d,e);return"text"===f.kind&&function(a,b){for(let c=a.length-1;c>=0;c--)if(q.test(a[c]))return b+c;return -1}(e,i)===a?{...f,region:b}:f}if(void 0!==f&&j.length>0&&v(j,f))return{kind:"text",text:j,rows:[g[a]],region:b,outsideWindow:!0};let k=(0,l.q9)(g.slice(0,A(g,a)+1),a);return"content"!==k.state?{kind:"empty"}:{kind:"text",text:t(k.text),rows:[g[a]],region:b,outsideWindow:!0}}}}return r(c,d,e)}function C(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 D(a,b){let c=`cm-send-${process.pid}-${++o}`;try{await C(["load-buffer","-b",c,"-"],b),await C(["paste-buffer","-p","-r","-d","-b",c,"-t",(0,e.lA)(a)])}catch(b){await C(["delete-buffer","-b",c]).catch(()=>void 0);let a=b instanceof Error?b.message:String(b);throw Error(`Failed to paste message into tmux session: ${a}`)}}function E(a,b,c,d){let e=s((0,h.aJ)(a).split("\n")),f=B(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 F(a,b,c){try{c.clearBeforeSend?await (0,k.sr)(a,b):await (0,e.Ce)(a)}catch(c){m.error("paste-withdraw-failed",{sessionName:a,cliToolId:b,error:c instanceof Error?c.message:String(c)})}}async function G(a){let{sessionName:b,message:c,cliToolId:d,composer:i,attempts:j}=a,k="unseen",l="";for(let a=0;a<Math.max(1,j)&&(await new Promise(a=>setTimeout(a,100)),"landed"!==(k=function(a,b,c,d=(0,g.gc)(b)){let e=s((0,h.aJ)(a).split("\n")),f=B(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=x(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":y(d.tokens[0],c)}return b.startsWith(a)?"pasting":v(f.text,c)||a.startsWith(b)||b.includes(a)?"mismatch":"unseen"}if(H(f.text)===H(c))return"landed";let{tokens:i,rest:j}=x(f.text);return 0===i.length?v(f.text,c)?"landed":c.includes(f.text)?"mismatch":"unseen":i.length>1||""!==j?"mismatch":y(i[0],c)}(l=await (0,e.Xg)(b,{startLine:-i.verifyCaptureLines}),d,c,i))&&"mismatch"!==k);a++);if("landed"===k)return;if("unseen"===k&&!i.clearBeforeSend)return void m.warn("paste-landed-unverified",{sessionName:b,cliToolId:d,bytes:Buffer.byteLength(c,"utf8")});let n=Buffer.byteLength(c,"utf8"),o=c.split("\n").length,p=E(l,d,i,c);await F(b,d,i),(0,f.gm)(b),m.error("paste-not-landed",{sessionName:b,cliToolId:d,state:k,bytes:n,lines:o,shown:p});let q="mismatch"===k?`the composer does not hold the message as sent (it shows ${p})`:"pasting"===k?`the paste had not finished arriving after ${100*j}ms (the composer shows ${p})`:`the message never appeared in the composer (${p})`;throw Error(`Message body did not arrive intact for session ${b}: ${q}; the message is ${n} bytes / ${o} lines. Enter was not pressed, so nothing was submitted (Issue #2464).`)}function H(a){return a.replace(/\s+/g,"")}async function I(a){let{sessionName:b,message:c,cliToolId:d,composer:g,attempts:i}=a,j=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(""===j)return;let k="";for(let a=0;a<Math.max(1,i);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=s((0,h.aJ)(a).split("\n")),e=B(a,"codex",c.reader,d,d.slice(-12),b);return"text"===e.kind&&void 0!==e.region&&H(e.region)===H(b)}(k,c,g))return;continue}let a=(0,l.ji)(k,d);if("content"===a.state&&H(a.text)===j)return}let n=Buffer.byteLength(c,"utf8"),o=E(k,d,g,c);throw await F(b,d,g),(0,f.gm)(b),m.error("typed-body-not-landed",{sessionName:b,cliToolId:d,bytes:n,attempts:i,shown:o}),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 J(a,b,c=(0,g.gc)(b)){if(!c.clearBeforeSend)return;let d=await (0,k.sr)(a,b);if("content"===d.state)throw m.error("pre-send-composer-clear-failed",{sessionName:a,cliToolId:b,passes:d.passes,remainingLength:d.remainingText.length,remainingText:d.remainingText}),Error(`Composer for session ${a} still holds unsent text after ${d.passes} clear passes; refusing to type the message, which would be concatenated with it (Issue #1880).`);d.passes>0&&m.warn("pre-send-composer-cleared",{sessionName:a,cliToolId:b,passes:d.passes,state:d.state,discardedLength:d.discardedText.length,discardedText:d.discardedText})}async function K(a){let{sessionName:b,message:c,cliToolId:d,composer:j=(0,g.gc)(d),textInputWaitMs:k=i.pL,interEnterWaitMs:o=i.pL,verifyAttempts:q=4,verifyDelayMs:r=i.x9,pasteLandedAttempts:t=20,awaitTypedBody:u=!1,typedBodyAttempts:w=100}=a,y=a.submitEnterCount??j.submitEnterCount;if(await J(b,d,j),Buffer.byteLength(c,"utf8")>512){let a=Date.now();await D(b,c),await G({sessionName:b,message:c,cliToolId:d,composer:j,attempts:t});let e=k-(Date.now()-a);e>0&&await new Promise(a=>setTimeout(a,e))}else{let a=Date.now();await (0,e.V1)(b,c,!1,{literal:!0}),u&&l.wn.has(d)&&await I({sessionName:b,message:c,cliToolId:d,composer:j,attempts:w});let f=k-(Date.now()-a);f>0&&await new Promise(a=>setTimeout(a,f))}for(let a=0;a<Math.max(1,y);a++)await (0,e.KB)(b,["Enter"]),a<y-1&&await new Promise(a=>setTimeout(a,o));let z=Math.max(1,q);for(let a=0;a<=z;a++){await new Promise(a=>setTimeout(a,r));let i=function(a,b,c,d=(0,g.gc)(b)){let e=s((0,h.aJ)(a).split("\n")),f=e.slice(-12),i=f.join("\n");if((0,h.ut)(b,i))return"submitted";let j=B(a,b,d.reader,e,f,c);return"text"!==j.kind?"submitted":j.rows.some(a=>n.test(a)||x(a).tokens.length>0)||v(j.text,c)?"pending":p.test(j.text)?"replaced":j.outsideWindow?"indeterminate":"submitted"}(await (0,e.Xg)(b,{startLine:-j.verifyCaptureLines}),d,c,j);if("submitted"===i)return void(0,f.gm)(b);if("replaced"===i){try{await (0,e.Ce)(b)}catch(a){m.error("submit-clear-input-failed",{sessionName:b,cliToolId:d,error:a instanceof Error?a.message:String(a)})}throw(0,f.gm)(b),m.error("submit-replaced-by-tui-completion",{sessionName:b,cliToolId:d,attempt:a}),Error(`Message was replaced by a TUI autocompletion for session ${b}; the input no longer matches the sent text. Cleared the input line without submitting to avoid executing a different command.`)}if(a===z)break;if("indeterminate"===i){m.warn("submit-not-confirmed:composer-unreadable",{sessionName:b,cliToolId:d,attempt:a});continue}m.warn("submit-not-confirmed:resending-enter",{sessionName:b,cliToolId:d,attempt:a}),await (0,e.KB)(b,["Enter"])}throw(0,f.gm)(b),m.error("submit-verification-failed",{sessionName:b,cliToolId:d,attempts:z}),Error(`Message submit could not be confirmed for session ${b} after ${z} attempts (typed but unsent)`)}},46749:(a,b,c)=>{c.d(b,{Y:()=>d});function d(a){return`clear 2>/dev/null; printf '\\033[3J'; ${a}`}},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))}},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:()=>X,zw:()=>T,Yq:()=>U,pU:()=>W,R7:()=>V,VU:()=>Y});var d=c(79892),e=c(42422),f=c(11472),g=c(91536),h=c(50945),i=c(40236),j=c(93997),k=c(77093),l=c(20610),m=c(79646),n=c(28354),o=c(72626);let p=(0,o.h)("session-key-sender"),q=(0,n.promisify)(m.exec);async function r(a,b=50){let c=await (0,d.Xg)(a,{startLine:-b});return(0,e.aJ)(c)}async function s(a){await q("tmux set-environment -g -u CLAUDECODE 2>/dev/null || true"),await (0,d.V1)(a,"unset CLAUDECODE",!0),await new Promise(a=>setTimeout(a,l.Em))}async function t(a,b){let c=Date.now();for(;Date.now()-c<b;){let b=await r(a);if(e.hx.test(b))return;await new Promise(a=>setTimeout(a,200))}throw Error(`Prompt detection timeout (${b}ms)`)}async function u(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 r(a);e.hx.test(g)||await t(a,f),await new Promise(a=>setTimeout(a,c)),await (0,i.FW)({sessionName:a,message:b,cliToolId:"claude"}),(0,j.gm)(a),p.info("sent-message-to-session",{sessionName:a})}async function v(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&&p.info("stopped-session",{sessionName:a}),b}catch(a){return p.error("session:stop-failed",{error:(0,k.u1)(a)}),!1}}var w=c(79748),x=c(31347),y=c(40964),z=c(22354),A=c(43252),B=c(80252),C=c(1305),D=c(95375),E=c(2669),F=c(46749);let G=(0,o.h)("claude-session"),H=(0,n.promisify)(m.exec);async function I(a,b,c){if(null!==c.pollsSinceAnswer&&c.pollsSinceAnswer++,null!==c.pollsSinceMove&&c.pollsSinceMove++,null===b)return;c.seen||(c.seen=!0,c.shellTellsExit=await K(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{await (0,d.V1)(a,"",!0),c.pollsSinceAnswer=0,c.answers++,G.info("trust-dialog-detected",{keys:"Enter",attempt:c.answers})}catch{}return}if(null===c.pollsSinceMove||!(c.pollsSinceMove<3)){if(c.moves>=20)throw new E.mR("Claude Code",a,'trust dialog: cursor did not reach "Yes, I trust this folder"');try{await (0,d.KB)(a,[f[0]]),c.pollsSinceMove=0,c.moves++,G.info("trust-dialog-cursor-move",{key:f[0],attempt:c.moves})}catch{}}}}async function J(a){let b=await L(a);return null!==b&&(0,e.U1)(b)}async function K(a){let b=await L(a);return null!==b&&!(0,e.U1)(b)}async function L(a){try{let b=await (0,d.Hg)(a);return"string"==typeof b?b:null}catch{return null}}let M=(0,g.H7)("claude"),N=null;async function O(){if(N)return N;let a=process.env.CLAUDE_PATH;if(a&&(/^[/a-zA-Z0-9._-]+$/.test(a)?!a.includes("..")||(G.info("claudepath-contains-path"),!1):(G.info("claudepath-contains-invalid-characters-i"),!1)))try{return await (0,w.access)(a,w.constants.X_OK),N=a}catch{G.info("claude-path-env-not-executable")}try{let{stdout:a}=await H("which claude",{timeout:5e3});return N=a.trim()}catch{for(let a of["/opt/homebrew/bin/claude","/usr/local/bin/claude","/usr/bin/claude"])try{return await H(`test -x "${a}"`,{timeout:1e3}),N=a}catch{}throw Error("Claude CLI not found. Set CLAUDE_PATH environment variable or install Claude CLI.")}}async function P(a,b=50){let c=await (0,d.Xg)(a,{startLine:-b});return(0,e.aJ)(c)}async function Q(a){let b=await (0,h.Q)(a,M);return b.alive?{healthy:!0}:{healthy:!1,reason:b.reason}}async function R(a){return!!(await Q(a)).healthy||(G.warn("claude-session-unhealthy"),await (0,d.fY)(a),!1)}function S(a,b){return(0,y.mf)("claude",a,b)}async function T(){try{return await H("which claude",{timeout:5e3}),!0}catch{return!1}}async function U(a,b){let c=S(a,b);return!!await (0,d.N)(c)&&(!!(await Q(c)).healthy||(G.warn("claude-session-unhealthy"),!1))}async function V(a){let{worktreeId:b,worktreePath:c,instanceId:g,model:h}=a;if(void 0!==h){let a=(0,B.LB)(h);if(!a.valid)throw Error(`Invalid Claude model name: ${a.reason}`)}if(!await T())throw new E.lU("Claude Code","Claude CLI is not installed or not in PATH");let i=S(b,g);if(await (0,d.N)(i)&&(await (0,x.St)(i,c),await R(i))){await (0,d.zT)(i),G.info("claude-session-exists");return}(0,C.Fq)({worktreeId:b,cliToolId:z.vm,instanceId:g});try{let a=await O(),k=(0,C.wK)({target:{worktreeId:b,cliToolId:z.vm,instanceId:g},executablePath:a,worktreePath:c}),l=void 0===h?k:`${k} --model ${(0,A.ZL)(h)}`;await (0,d.jw)({sessionName:i,workingDirectory:c}),await s(i),await (0,d.V1)(i,(0,F.Y)(l),!0);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;try{a=await P(i)}catch{}if(null===a)continue;let b=(0,e.lX)(a);if(await I(i,b?a:null,o),!b&&e.hx.test(a)){await new Promise(a=>setTimeout(a,500)),G.info("claude-initialized"),n=!0;break}if(!b&&o.shellTellsExit&&await J(i))throw new E.mR("Claude Code",i,"trust dialog: Claude Code exited to the shell");let c=(j=a,(0,f.ow)(j,M));if(null!==c)throw new E.mR("Claude Code",i,c)}if(!n)throw new E.Sr("Claude Code",i,6e4);G.info("started-claude-session")}catch(a){if(N=null,G.error("session:start-failed",{error:a instanceof Error?a.message:String(a)}),(0,E.su)(a))throw a;throw Error("Failed to start Claude session")}}async function W(a,b,c){let d=S(a,c);await u(d,b,500,1e4)}async function X(a,b=1e3,c){let e=S(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 Y(a,b){let c=S(a,b),d=await v(c);return(0,D.discardAgentEventState)(a,"claude",b),d}},77093:(a,b,c)=>{c.d(b,{u1:()=>d});function d(a){return a instanceof Error?a.message:String(a)}},87673:(a,b,c)=>{c.d(b,{sr:()=>k});var d=c(79892),e=c(93997),f=c(94154);let g=(0,c(72626).h)("composer-clear");function h(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 i=/^\[Pasted Content \d+ chars?\]$/,j=a=>new Promise(b=>setTimeout(b,a));async function k(a,b,c={}){let f=c.capture??(a=>(0,d.Xg)(a,200)),l=c.sendClear??d.ou,m=c.delay??j,n=c.maxPasses??12,o=0,p=h(await f(a),b),q="content"===p.state?p.text:"";for(;"content"===p.state&&o<n;){var r;(r=p,"codex"===b&&"content"===r.state&&i.test(r.text.trim()))?await (c.sendClearPasteToken??d.kz)(a):await l(a),o++,await m(120),p=h(await f(a),b)}o>0&&(0,e.gm)(a);let s="empty"===p.state||"ghost"===p.state;return s||g.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}}},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}}};