commandmate 0.39.1 → 0.40.1

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 (599) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +249 -242
  3. package/.next/app-path-routes-manifest.json +25 -24
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/prerender-manifest.json +12 -12
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/routes-manifest.json +8 -0
  8. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -1
  10. package/.next/server/app/api/agents/versions/route_client-reference-manifest.js +1 -1
  11. package/.next/server/app/api/app/release-notes/route_client-reference-manifest.js +1 -1
  12. package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/app/update-check/route.js +1 -1
  14. package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  18. package/.next/server/app/api/capabilities/route.js +1 -1
  19. package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  24. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/hooks/agent-event/route.js.nft.json +1 -1
  28. package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/hooks/claude-done/route.js +1 -1
  30. package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
  31. package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/hooks/permission-request/route.js.nft.json +1 -1
  33. package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/relays/[relayId]/cancel/route.js.nft.json +1 -1
  40. package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/relays/route.js.nft.json +1 -1
  42. package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  45. package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
  46. package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
  47. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  48. package/.next/server/app/api/repositories/clone/route.js +1 -1
  49. package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
  50. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  51. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/repositories/restore/route.js +1 -1
  53. package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
  54. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/repositories/route.js +1 -1
  56. package/.next/server/app/api/repositories/route.js.nft.json +1 -1
  57. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/repositories/scan/route.js +1 -1
  59. package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
  60. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  61. package/.next/server/app/api/repositories/sync/route.js +1 -1
  62. package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
  63. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  64. package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/settings/default-agents/route.js +1 -1
  66. package/.next/server/app/api/settings/default-agents/route.js.nft.json +1 -1
  67. package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  70. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
  72. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
  73. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  76. package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  78. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
  82. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
  83. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
  84. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -1
  86. package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
  87. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  88. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js +1 -1
  89. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js.nft.json +1 -1
  90. package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
  92. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +2 -2
  94. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js.nft.json +1 -1
  95. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
  97. package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
  98. package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/worktrees/[id]/direct-input/route.js +1 -0
  100. package/.next/server/app/api/worktrees/[id]/direct-input/route.js.nft.json +1 -0
  101. package/.next/server/app/api/worktrees/[id]/direct-input/route_client-reference-manifest.js +1 -0
  102. package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
  104. package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
  106. package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
  107. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
  109. package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
  110. package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
  111. package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
  112. package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
  113. package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
  114. package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
  115. package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
  116. package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
  118. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
  119. package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
  121. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
  122. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
  123. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
  124. package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
  125. package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
  126. package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
  127. package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
  128. package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
  129. package/.next/server/app/api/worktrees/[id]/instances/notes/route_client-reference-manifest.js +1 -1
  130. package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js.nft.json +1 -1
  131. package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
  133. package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
  134. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  135. package/.next/server/app/api/worktrees/[id]/kill-session/route.js +1 -1
  136. package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
  137. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  138. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  139. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  140. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  141. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  142. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  143. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
  145. package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
  146. package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
  147. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
  148. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
  149. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  150. package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
  151. package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
  152. package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
  153. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  154. package/.next/server/app/api/worktrees/[id]/route.js +1 -1
  155. package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
  156. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  157. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  158. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +1 -1
  159. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js.nft.json +1 -1
  160. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  161. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  162. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  163. package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
  164. package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
  165. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  166. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js +1 -1
  167. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
  168. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
  169. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  170. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  171. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  172. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  173. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
  174. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
  175. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  176. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  177. package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
  178. package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
  179. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  180. package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
  181. package/.next/server/app/api/worktrees/[id]/terminal/route.js +1 -1
  182. package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
  183. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  184. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  185. package/.next/server/app/api/worktrees/[id]/timers/route.js +1 -1
  186. package/.next/server/app/api/worktrees/[id]/timers/route.js.nft.json +1 -1
  187. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  188. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  189. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  190. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  191. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  192. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  193. package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
  194. package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
  195. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
  196. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
  197. package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
  198. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  199. package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
  200. package/.next/server/app/api/worktrees/route.js +1 -1
  201. package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
  202. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  203. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  204. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  205. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  206. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  207. package/.next/server/app/page_client-reference-manifest.js +1 -1
  208. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  209. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  210. package/.next/server/app/review/page.js +1 -1
  211. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  212. package/.next/server/app/sessions/page.js +1 -1
  213. package/.next/server/app/sessions/page.js.nft.json +1 -1
  214. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  215. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  216. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
  217. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  218. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  219. package/.next/server/app/worktrees/[id]/page.js +10 -10
  220. package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
  221. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  222. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  223. package/.next/server/app-paths-manifest.json +25 -24
  224. package/.next/server/chunks/2119.js +1 -1
  225. package/.next/server/chunks/2445.js +1 -1
  226. package/.next/server/chunks/252.js +1 -0
  227. package/.next/server/chunks/2816.js +1 -1
  228. package/.next/server/chunks/3241.js +1 -1
  229. package/.next/server/chunks/3323.js +1 -1
  230. package/.next/server/chunks/4443.js +1 -1
  231. package/.next/server/chunks/5164.js +1 -1
  232. package/.next/server/chunks/6130.js +1 -1
  233. package/.next/server/chunks/650.js +1 -1
  234. package/.next/server/chunks/6661.js +1 -1
  235. package/.next/server/chunks/6793.js +1 -1
  236. package/.next/server/chunks/7685.js +1 -1
  237. package/.next/server/chunks/7905.js +1 -1
  238. package/.next/server/chunks/8581.js +29 -29
  239. package/.next/server/chunks/8673.js +14 -0
  240. package/.next/server/chunks/8728.js +4 -3
  241. package/.next/server/chunks/8800.js +1 -1
  242. package/.next/server/chunks/9080.js +1 -1
  243. package/.next/server/chunks/9731.js +2 -2
  244. package/.next/server/chunks/9882.js +3 -3
  245. package/.next/server/middleware-manifest.json +5 -5
  246. package/.next/server/pages/500.html +1 -1
  247. package/.next/server/server-reference-manifest.json +1 -1
  248. package/.next/static/chunks/{2407-9ac8b6188ddbb119.js → 2407-d750620d0511e94f.js} +1 -1
  249. package/.next/static/chunks/4768-979c8a03bed218e7.js +1 -0
  250. package/.next/static/chunks/7705-25076b57224da370.js +1 -0
  251. package/.next/static/chunks/8606-9a381b996f9b6834.js +1 -0
  252. package/.next/static/chunks/9619-22adf5367c4b7080.js +1 -0
  253. package/.next/static/chunks/app/api/agents/update/{route-70779af8b4c8259a.js → route-0468c3c4baa46028.js} +1 -1
  254. package/.next/static/chunks/app/api/agents/versions/{route-70779af8b4c8259a.js → route-0468c3c4baa46028.js} +1 -1
  255. package/.next/static/chunks/app/api/app/release-notes/{route-70779af8b4c8259a.js → route-0468c3c4baa46028.js} +1 -1
  256. package/.next/static/chunks/app/api/app/update/route-0468c3c4baa46028.js +1 -0
  257. package/.next/static/chunks/app/api/app/update-check/{route-70779af8b4c8259a.js → route-0468c3c4baa46028.js} +1 -1
  258. package/.next/static/chunks/app/api/auth/login/route-0468c3c4baa46028.js +1 -0
  259. package/.next/static/chunks/app/api/auth/logout/route-0468c3c4baa46028.js +1 -0
  260. package/.next/static/chunks/app/api/auth/status/route-0468c3c4baa46028.js +1 -0
  261. package/.next/static/chunks/app/api/capabilities/route-0468c3c4baa46028.js +1 -0
  262. package/.next/static/chunks/app/api/daily-summary/route-0468c3c4baa46028.js +1 -0
  263. package/.next/static/chunks/app/api/daily-summary/status/route-0468c3c4baa46028.js +1 -0
  264. package/.next/static/chunks/app/api/external-apps/[id]/health/route-0468c3c4baa46028.js +1 -0
  265. package/.next/static/chunks/app/api/external-apps/[id]/route-0468c3c4baa46028.js +1 -0
  266. package/.next/static/chunks/app/api/external-apps/route-0468c3c4baa46028.js +1 -0
  267. package/.next/static/chunks/app/api/fs/browse/route-0468c3c4baa46028.js +1 -0
  268. package/.next/static/chunks/app/api/fs/recent-paths/route-0468c3c4baa46028.js +1 -0
  269. package/.next/static/chunks/app/api/hooks/agent-event/route-0468c3c4baa46028.js +1 -0
  270. package/.next/static/chunks/app/api/hooks/claude-done/route-0468c3c4baa46028.js +1 -0
  271. package/.next/static/chunks/app/api/hooks/permission-request/route-0468c3c4baa46028.js +1 -0
  272. package/.next/static/chunks/app/api/metrics/vibe/route-0468c3c4baa46028.js +1 -0
  273. package/.next/static/chunks/app/api/ollama/models/route-0468c3c4baa46028.js +1 -0
  274. package/.next/static/chunks/app/api/push/escalation/route-0468c3c4baa46028.js +1 -0
  275. package/.next/static/chunks/app/api/push/subscriptions/route-0468c3c4baa46028.js +1 -0
  276. package/.next/static/chunks/app/api/push/vapid/route-0468c3c4baa46028.js +1 -0
  277. package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-0468c3c4baa46028.js +1 -0
  278. package/.next/static/chunks/app/api/relays/route-0468c3c4baa46028.js +1 -0
  279. package/.next/static/chunks/app/api/remote/pair/route-0468c3c4baa46028.js +1 -0
  280. package/.next/static/chunks/app/api/repositories/[id]/route-0468c3c4baa46028.js +1 -0
  281. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-0468c3c4baa46028.js +1 -0
  282. package/.next/static/chunks/app/api/repositories/clone/route-0468c3c4baa46028.js +1 -0
  283. package/.next/static/chunks/app/api/repositories/excluded/route-0468c3c4baa46028.js +1 -0
  284. package/.next/static/chunks/app/api/repositories/restore/route-0468c3c4baa46028.js +1 -0
  285. package/.next/static/chunks/app/api/repositories/route-0468c3c4baa46028.js +1 -0
  286. package/.next/static/chunks/app/api/repositories/scan/route-0468c3c4baa46028.js +1 -0
  287. package/.next/static/chunks/app/api/repositories/sync/route-0468c3c4baa46028.js +1 -0
  288. package/.next/static/chunks/app/api/repositories/validate-path/route-0468c3c4baa46028.js +1 -0
  289. package/.next/static/chunks/app/api/settings/default-agents/route-0468c3c4baa46028.js +1 -0
  290. package/.next/static/chunks/app/api/settings/default-surface-mode/route-0468c3c4baa46028.js +1 -0
  291. package/.next/static/chunks/app/api/sidebar/group-order/route-0468c3c4baa46028.js +1 -0
  292. package/.next/static/chunks/app/api/skills/[id]/route-0468c3c4baa46028.js +1 -0
  293. package/.next/static/chunks/app/api/skills/installations/route-0468c3c4baa46028.js +1 -0
  294. package/.next/static/chunks/app/api/skills/operations/route-0468c3c4baa46028.js +1 -0
  295. package/.next/static/chunks/app/api/skills/reindex/route-0468c3c4baa46028.js +1 -0
  296. package/.next/static/chunks/app/api/skills/route-0468c3c4baa46028.js +1 -0
  297. package/.next/static/chunks/app/api/slash-commands/route-0468c3c4baa46028.js +1 -0
  298. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-0468c3c4baa46028.js +1 -0
  299. package/.next/static/chunks/app/api/tasks/[taskId]/route-0468c3c4baa46028.js +1 -0
  300. package/.next/static/chunks/app/api/templates/[id]/route-0468c3c4baa46028.js +1 -0
  301. package/.next/static/chunks/app/api/templates/route-0468c3c4baa46028.js +1 -0
  302. package/.next/static/chunks/app/api/verification/runs/[runId]/route-0468c3c4baa46028.js +1 -0
  303. package/.next/static/chunks/app/api/verification/runs/route-0468c3c4baa46028.js +1 -0
  304. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-0468c3c4baa46028.js +1 -0
  305. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-0468c3c4baa46028.js +1 -0
  306. package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-0468c3c4baa46028.js +1 -0
  307. package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-0468c3c4baa46028.js +1 -0
  308. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-0468c3c4baa46028.js +1 -0
  309. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-0468c3c4baa46028.js +1 -0
  310. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-0468c3c4baa46028.js +1 -0
  311. package/.next/static/chunks/app/api/worktrees/[id]/direct-input/route-0468c3c4baa46028.js +1 -0
  312. package/.next/static/chunks/app/api/worktrees/[id]/env/route-0468c3c4baa46028.js +1 -0
  313. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-0468c3c4baa46028.js +1 -0
  314. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-0468c3c4baa46028.js +1 -0
  315. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-0468c3c4baa46028.js +1 -0
  316. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-0468c3c4baa46028.js +1 -0
  317. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-0468c3c4baa46028.js +1 -0
  318. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-0468c3c4baa46028.js +1 -0
  319. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-0468c3c4baa46028.js +1 -0
  320. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-0468c3c4baa46028.js +1 -0
  321. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-0468c3c4baa46028.js +1 -0
  322. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-0468c3c4baa46028.js +1 -0
  323. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-0468c3c4baa46028.js +1 -0
  324. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-0468c3c4baa46028.js +1 -0
  325. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-0468c3c4baa46028.js +1 -0
  326. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-0468c3c4baa46028.js +1 -0
  327. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-0468c3c4baa46028.js +1 -0
  328. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-0468c3c4baa46028.js +1 -0
  329. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-0468c3c4baa46028.js +1 -0
  330. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-0468c3c4baa46028.js +1 -0
  331. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-0468c3c4baa46028.js +1 -0
  332. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-0468c3c4baa46028.js +1 -0
  333. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-0468c3c4baa46028.js +1 -0
  334. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-0468c3c4baa46028.js +1 -0
  335. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-0468c3c4baa46028.js +1 -0
  336. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-0468c3c4baa46028.js +1 -0
  337. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-0468c3c4baa46028.js +1 -0
  338. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-0468c3c4baa46028.js +1 -0
  339. package/.next/static/chunks/app/api/worktrees/[id]/instances/notes/route-0468c3c4baa46028.js +1 -0
  340. package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-0468c3c4baa46028.js +1 -0
  341. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-0468c3c4baa46028.js +1 -0
  342. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-0468c3c4baa46028.js +1 -0
  343. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-0468c3c4baa46028.js +1 -0
  344. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-0468c3c4baa46028.js +1 -0
  345. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-0468c3c4baa46028.js +1 -0
  346. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-0468c3c4baa46028.js +1 -0
  347. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-0468c3c4baa46028.js +1 -0
  348. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-0468c3c4baa46028.js +1 -0
  349. package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-0468c3c4baa46028.js +1 -0
  350. package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-0468c3c4baa46028.js +1 -0
  351. package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-0468c3c4baa46028.js +1 -0
  352. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-0468c3c4baa46028.js +1 -0
  353. package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-0468c3c4baa46028.js +1 -0
  354. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-0468c3c4baa46028.js +1 -0
  355. package/.next/static/chunks/app/api/worktrees/[id]/route-0468c3c4baa46028.js +1 -0
  356. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-0468c3c4baa46028.js +1 -0
  357. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-0468c3c4baa46028.js +1 -0
  358. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-0468c3c4baa46028.js +1 -0
  359. package/.next/static/chunks/app/api/worktrees/[id]/search/route-0468c3c4baa46028.js +1 -0
  360. package/.next/static/chunks/app/api/worktrees/[id]/send/route-0468c3c4baa46028.js +1 -0
  361. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-0468c3c4baa46028.js +1 -0
  362. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-0468c3c4baa46028.js +1 -0
  363. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-0468c3c4baa46028.js +1 -0
  364. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-0468c3c4baa46028.js +1 -0
  365. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-0468c3c4baa46028.js +1 -0
  366. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-0468c3c4baa46028.js +1 -0
  367. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-0468c3c4baa46028.js +1 -0
  368. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-0468c3c4baa46028.js +1 -0
  369. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-0468c3c4baa46028.js +1 -0
  370. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-0468c3c4baa46028.js +1 -0
  371. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-0468c3c4baa46028.js +1 -0
  372. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-0468c3c4baa46028.js +1 -0
  373. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-0468c3c4baa46028.js +1 -0
  374. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-0468c3c4baa46028.js +1 -0
  375. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-0468c3c4baa46028.js +1 -0
  376. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-0468c3c4baa46028.js +1 -0
  377. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-0468c3c4baa46028.js +1 -0
  378. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-0468c3c4baa46028.js +1 -0
  379. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-0468c3c4baa46028.js +1 -0
  380. package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-0468c3c4baa46028.js +1 -0
  381. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-0468c3c4baa46028.js +1 -0
  382. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-0468c3c4baa46028.js +1 -0
  383. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-0468c3c4baa46028.js +1 -0
  384. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-0468c3c4baa46028.js +1 -0
  385. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-0468c3c4baa46028.js +1 -0
  386. package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-0468c3c4baa46028.js +1 -0
  387. package/.next/static/chunks/app/api/worktrees/route-0468c3c4baa46028.js +1 -0
  388. package/.next/static/chunks/app/layout-3d3fcc8aac7b3bb5.js +1 -0
  389. package/.next/static/chunks/app/manifest.webmanifest/route-0468c3c4baa46028.js +1 -0
  390. package/.next/static/chunks/app/proxy/[...path]/route-0468c3c4baa46028.js +1 -0
  391. package/.next/static/chunks/app/review/page-30616daa1dc595c2.js +1 -0
  392. package/.next/static/chunks/app/sessions/page-1a8ba152bbcb9efb.js +1 -0
  393. package/.next/static/chunks/app/worktrees/[id]/layout-0468c3c4baa46028.js +1 -0
  394. package/.next/static/chunks/app/worktrees/[id]/page-a91e812ad9d94697.js +1 -0
  395. package/.next/static/css/974314e796232f53.css +1 -0
  396. package/.next/trace +13 -13
  397. package/.next/types/app/api/worktrees/[id]/direct-input/route.ts +347 -0
  398. package/.next/types/routes.d.ts +2 -1
  399. package/.next/types/validator.ts +9 -0
  400. package/dist/cli/commands/ls.d.ts.map +1 -1
  401. package/dist/cli/commands/ls.js +9 -0
  402. package/dist/cli/commands/peers.d.ts.map +1 -1
  403. package/dist/cli/commands/peers.js +4 -0
  404. package/dist/cli/commands/send.d.ts.map +1 -1
  405. package/dist/cli/commands/send.js +20 -6
  406. package/dist/cli/config/model-validation.d.ts +22 -0
  407. package/dist/cli/config/model-validation.d.ts.map +1 -1
  408. package/dist/cli/config/model-validation.js +35 -1
  409. package/dist/cli/types/api-responses.d.ts +11 -0
  410. package/dist/cli/types/api-responses.d.ts.map +1 -1
  411. package/dist/lib/detection/status-reason.d.ts +13 -0
  412. package/dist/lib/detection/status-reason.d.ts.map +1 -1
  413. package/dist/lib/detection/status-reason.js +13 -0
  414. package/dist/lib/detection/tools/verified-against.d.ts +74 -5
  415. package/dist/lib/detection/tools/verified-against.d.ts.map +1 -1
  416. package/dist/lib/detection/tools/verified-against.js +74 -5
  417. package/dist/server/locales/en/worktree.json +58 -0
  418. package/dist/server/locales/ja/worktree.json +58 -0
  419. package/dist/server/src/config/claude-constants.js +27 -0
  420. package/dist/server/src/lib/cli-tools/base.js +2 -1
  421. package/dist/server/src/lib/cli-tools/claude.js +5 -1
  422. package/dist/server/src/lib/cli-tools/command-code.js +5 -1
  423. package/dist/server/src/lib/cli-tools/direct-input.js +22 -0
  424. package/dist/server/src/lib/cmate-cli-tool-parser.js +31 -0
  425. package/dist/server/src/lib/detection/cli-patterns.js +44 -5
  426. package/dist/server/src/lib/detection/model-info-extractor.js +49 -10
  427. package/dist/server/src/lib/detection/selection-shape.js +274 -19
  428. package/dist/server/src/lib/detection/status-detector.js +2 -0
  429. package/dist/server/src/lib/detection/status-reason.js +13 -0
  430. package/dist/server/src/lib/detection/tools/codex/cli-patterns.js +67 -27
  431. package/dist/server/src/lib/detection/tools/codex/detect.js +18 -3
  432. package/dist/server/src/lib/detection/tools/command-code/detect.js +46 -0
  433. package/dist/server/src/lib/detection/tools/command-code/dialog.js +116 -25
  434. package/dist/server/src/lib/detection/tools/verified-against.js +74 -5
  435. package/dist/server/src/lib/detection/tui-detection-frame.js +18 -3
  436. package/dist/server/src/lib/polling/auto-yes-resolver.js +8 -0
  437. package/dist/server/src/lib/prompt-answer-sender.js +255 -1
  438. package/dist/server/src/lib/realtime-snippet.js +53 -0
  439. package/dist/server/src/lib/session/agent-event-state.js +8 -1
  440. package/dist/server/src/lib/session/claude-session.js +19 -2
  441. package/dist/server/src/lib/session/current-output-builder.js +4 -1
  442. package/dist/server/src/lib/session/status-mapping.js +58 -8
  443. package/dist/server/src/lib/tmux/key-sequence.js +27 -1
  444. package/dist/server/src/lib/tmux/tmux-control-client.js +26 -3
  445. package/dist/server/src/lib/tmux/tmux.js +64 -3
  446. package/dist/server/src/types/direct-input.js +113 -0
  447. package/dist/server/src/types/sidebar.js +67 -7
  448. package/dist/server/src/types/terminal-keys.js +33 -1
  449. package/dist/types/terminal-keys.d.ts +28 -1
  450. package/dist/types/terminal-keys.d.ts.map +1 -1
  451. package/dist/types/terminal-keys.js +33 -1
  452. package/package.json +1 -1
  453. package/release-notes/0.40.0.json +69 -0
  454. package/release-notes/0.40.1.json +20 -0
  455. package/.next/server/chunks/6092.js +0 -14
  456. package/.next/static/chunks/4768-0ad5eb716bed5de9.js +0 -1
  457. package/.next/static/chunks/8606-e893c1dab6fb81bc.js +0 -1
  458. package/.next/static/chunks/9619-7bc0e9524f0773b5.js +0 -1
  459. package/.next/static/chunks/982-edf98d9d54c5ce9b.js +0 -1
  460. package/.next/static/chunks/app/api/app/update/route-70779af8b4c8259a.js +0 -1
  461. package/.next/static/chunks/app/api/auth/login/route-70779af8b4c8259a.js +0 -1
  462. package/.next/static/chunks/app/api/auth/logout/route-70779af8b4c8259a.js +0 -1
  463. package/.next/static/chunks/app/api/auth/status/route-70779af8b4c8259a.js +0 -1
  464. package/.next/static/chunks/app/api/capabilities/route-70779af8b4c8259a.js +0 -1
  465. package/.next/static/chunks/app/api/daily-summary/route-70779af8b4c8259a.js +0 -1
  466. package/.next/static/chunks/app/api/daily-summary/status/route-70779af8b4c8259a.js +0 -1
  467. package/.next/static/chunks/app/api/external-apps/[id]/health/route-70779af8b4c8259a.js +0 -1
  468. package/.next/static/chunks/app/api/external-apps/[id]/route-70779af8b4c8259a.js +0 -1
  469. package/.next/static/chunks/app/api/external-apps/route-70779af8b4c8259a.js +0 -1
  470. package/.next/static/chunks/app/api/fs/browse/route-70779af8b4c8259a.js +0 -1
  471. package/.next/static/chunks/app/api/fs/recent-paths/route-70779af8b4c8259a.js +0 -1
  472. package/.next/static/chunks/app/api/hooks/agent-event/route-70779af8b4c8259a.js +0 -1
  473. package/.next/static/chunks/app/api/hooks/claude-done/route-70779af8b4c8259a.js +0 -1
  474. package/.next/static/chunks/app/api/hooks/permission-request/route-70779af8b4c8259a.js +0 -1
  475. package/.next/static/chunks/app/api/metrics/vibe/route-70779af8b4c8259a.js +0 -1
  476. package/.next/static/chunks/app/api/ollama/models/route-70779af8b4c8259a.js +0 -1
  477. package/.next/static/chunks/app/api/push/escalation/route-70779af8b4c8259a.js +0 -1
  478. package/.next/static/chunks/app/api/push/subscriptions/route-70779af8b4c8259a.js +0 -1
  479. package/.next/static/chunks/app/api/push/vapid/route-70779af8b4c8259a.js +0 -1
  480. package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-70779af8b4c8259a.js +0 -1
  481. package/.next/static/chunks/app/api/relays/route-70779af8b4c8259a.js +0 -1
  482. package/.next/static/chunks/app/api/remote/pair/route-70779af8b4c8259a.js +0 -1
  483. package/.next/static/chunks/app/api/repositories/[id]/route-70779af8b4c8259a.js +0 -1
  484. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-70779af8b4c8259a.js +0 -1
  485. package/.next/static/chunks/app/api/repositories/clone/route-70779af8b4c8259a.js +0 -1
  486. package/.next/static/chunks/app/api/repositories/excluded/route-70779af8b4c8259a.js +0 -1
  487. package/.next/static/chunks/app/api/repositories/restore/route-70779af8b4c8259a.js +0 -1
  488. package/.next/static/chunks/app/api/repositories/route-70779af8b4c8259a.js +0 -1
  489. package/.next/static/chunks/app/api/repositories/scan/route-70779af8b4c8259a.js +0 -1
  490. package/.next/static/chunks/app/api/repositories/sync/route-70779af8b4c8259a.js +0 -1
  491. package/.next/static/chunks/app/api/repositories/validate-path/route-70779af8b4c8259a.js +0 -1
  492. package/.next/static/chunks/app/api/settings/default-agents/route-70779af8b4c8259a.js +0 -1
  493. package/.next/static/chunks/app/api/settings/default-surface-mode/route-70779af8b4c8259a.js +0 -1
  494. package/.next/static/chunks/app/api/sidebar/group-order/route-70779af8b4c8259a.js +0 -1
  495. package/.next/static/chunks/app/api/skills/[id]/route-70779af8b4c8259a.js +0 -1
  496. package/.next/static/chunks/app/api/skills/installations/route-70779af8b4c8259a.js +0 -1
  497. package/.next/static/chunks/app/api/skills/operations/route-70779af8b4c8259a.js +0 -1
  498. package/.next/static/chunks/app/api/skills/reindex/route-70779af8b4c8259a.js +0 -1
  499. package/.next/static/chunks/app/api/skills/route-70779af8b4c8259a.js +0 -1
  500. package/.next/static/chunks/app/api/slash-commands/route-70779af8b4c8259a.js +0 -1
  501. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-70779af8b4c8259a.js +0 -1
  502. package/.next/static/chunks/app/api/tasks/[taskId]/route-70779af8b4c8259a.js +0 -1
  503. package/.next/static/chunks/app/api/templates/[id]/route-70779af8b4c8259a.js +0 -1
  504. package/.next/static/chunks/app/api/templates/route-70779af8b4c8259a.js +0 -1
  505. package/.next/static/chunks/app/api/verification/runs/[runId]/route-70779af8b4c8259a.js +0 -1
  506. package/.next/static/chunks/app/api/verification/runs/route-70779af8b4c8259a.js +0 -1
  507. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-70779af8b4c8259a.js +0 -1
  508. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-70779af8b4c8259a.js +0 -1
  509. package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-70779af8b4c8259a.js +0 -1
  510. package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-70779af8b4c8259a.js +0 -1
  511. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-70779af8b4c8259a.js +0 -1
  512. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-70779af8b4c8259a.js +0 -1
  513. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-70779af8b4c8259a.js +0 -1
  514. package/.next/static/chunks/app/api/worktrees/[id]/env/route-70779af8b4c8259a.js +0 -1
  515. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-70779af8b4c8259a.js +0 -1
  516. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-70779af8b4c8259a.js +0 -1
  517. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-70779af8b4c8259a.js +0 -1
  518. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-70779af8b4c8259a.js +0 -1
  519. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-70779af8b4c8259a.js +0 -1
  520. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-70779af8b4c8259a.js +0 -1
  521. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-70779af8b4c8259a.js +0 -1
  522. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-70779af8b4c8259a.js +0 -1
  523. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-70779af8b4c8259a.js +0 -1
  524. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-70779af8b4c8259a.js +0 -1
  525. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-70779af8b4c8259a.js +0 -1
  526. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-70779af8b4c8259a.js +0 -1
  527. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-70779af8b4c8259a.js +0 -1
  528. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-70779af8b4c8259a.js +0 -1
  529. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-70779af8b4c8259a.js +0 -1
  530. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-70779af8b4c8259a.js +0 -1
  531. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-70779af8b4c8259a.js +0 -1
  532. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-70779af8b4c8259a.js +0 -1
  533. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-70779af8b4c8259a.js +0 -1
  534. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-70779af8b4c8259a.js +0 -1
  535. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-70779af8b4c8259a.js +0 -1
  536. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-70779af8b4c8259a.js +0 -1
  537. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-70779af8b4c8259a.js +0 -1
  538. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-70779af8b4c8259a.js +0 -1
  539. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-70779af8b4c8259a.js +0 -1
  540. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-70779af8b4c8259a.js +0 -1
  541. package/.next/static/chunks/app/api/worktrees/[id]/instances/notes/route-70779af8b4c8259a.js +0 -1
  542. package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-70779af8b4c8259a.js +0 -1
  543. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-70779af8b4c8259a.js +0 -1
  544. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-70779af8b4c8259a.js +0 -1
  545. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-70779af8b4c8259a.js +0 -1
  546. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-70779af8b4c8259a.js +0 -1
  547. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-70779af8b4c8259a.js +0 -1
  548. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-70779af8b4c8259a.js +0 -1
  549. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-70779af8b4c8259a.js +0 -1
  550. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-70779af8b4c8259a.js +0 -1
  551. package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-70779af8b4c8259a.js +0 -1
  552. package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-70779af8b4c8259a.js +0 -1
  553. package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-70779af8b4c8259a.js +0 -1
  554. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-70779af8b4c8259a.js +0 -1
  555. package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-70779af8b4c8259a.js +0 -1
  556. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-70779af8b4c8259a.js +0 -1
  557. package/.next/static/chunks/app/api/worktrees/[id]/route-70779af8b4c8259a.js +0 -1
  558. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-70779af8b4c8259a.js +0 -1
  559. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-70779af8b4c8259a.js +0 -1
  560. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-70779af8b4c8259a.js +0 -1
  561. package/.next/static/chunks/app/api/worktrees/[id]/search/route-70779af8b4c8259a.js +0 -1
  562. package/.next/static/chunks/app/api/worktrees/[id]/send/route-70779af8b4c8259a.js +0 -1
  563. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-70779af8b4c8259a.js +0 -1
  564. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-70779af8b4c8259a.js +0 -1
  565. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-70779af8b4c8259a.js +0 -1
  566. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-70779af8b4c8259a.js +0 -1
  567. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-70779af8b4c8259a.js +0 -1
  568. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-70779af8b4c8259a.js +0 -1
  569. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-70779af8b4c8259a.js +0 -1
  570. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-70779af8b4c8259a.js +0 -1
  571. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-70779af8b4c8259a.js +0 -1
  572. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-70779af8b4c8259a.js +0 -1
  573. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-70779af8b4c8259a.js +0 -1
  574. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-70779af8b4c8259a.js +0 -1
  575. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-70779af8b4c8259a.js +0 -1
  576. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-70779af8b4c8259a.js +0 -1
  577. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-70779af8b4c8259a.js +0 -1
  578. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-70779af8b4c8259a.js +0 -1
  579. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-70779af8b4c8259a.js +0 -1
  580. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-70779af8b4c8259a.js +0 -1
  581. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-70779af8b4c8259a.js +0 -1
  582. package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-70779af8b4c8259a.js +0 -1
  583. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-70779af8b4c8259a.js +0 -1
  584. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-70779af8b4c8259a.js +0 -1
  585. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-70779af8b4c8259a.js +0 -1
  586. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-70779af8b4c8259a.js +0 -1
  587. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-70779af8b4c8259a.js +0 -1
  588. package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-70779af8b4c8259a.js +0 -1
  589. package/.next/static/chunks/app/api/worktrees/route-70779af8b4c8259a.js +0 -1
  590. package/.next/static/chunks/app/layout-542d075e9d7cc541.js +0 -1
  591. package/.next/static/chunks/app/manifest.webmanifest/route-70779af8b4c8259a.js +0 -1
  592. package/.next/static/chunks/app/proxy/[...path]/route-70779af8b4c8259a.js +0 -1
  593. package/.next/static/chunks/app/review/page-8ed49e2edcc7667b.js +0 -1
  594. package/.next/static/chunks/app/sessions/page-56f6a2466dd0479d.js +0 -1
  595. package/.next/static/chunks/app/worktrees/[id]/layout-70779af8b4c8259a.js +0 -1
  596. package/.next/static/chunks/app/worktrees/[id]/page-760408096ad697b4.js +0 -1
  597. package/.next/static/css/b4aaf81d10efdd00.css +0 -1
  598. /package/.next/static/{7Ge9-hsqlip_Z6bhEnVkd → JfzIPPhL-ikSVcJYOKgfD}/_buildManifest.js +0 -0
  599. /package/.next/static/{7Ge9-hsqlip_Z6bhEnVkd → JfzIPPhL-ikSVcJYOKgfD}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=6661,exports.ids=[6661],exports.modules={24581:(a,b,c)=>{c.d(b,{Mu:()=>f,RY:()=>i,Tt:()=>h,Ui:()=>p,Xq:()=>l,ZV:()=>s,h_:()=>g,jF:()=>q,kT:()=>o,nY:()=>k,qX:()=>r,wt:()=>n});var d=c(62887),e=c(36051);let f=18e5,g={predicted:2e4,confirmed:18e5},h=3,i=16,j={turnId:null,openedAt:null,closedAt:null,closedBy:null};function k(a){return null===a?j:{turnId:a.turnId,openedAt:a.openedAt,closedAt:a.closedAt,closedBy:a.closedBy}}function l(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 m(a,b){return"string"!=typeof a||""===a?null:a.slice(0,b)}function n(a){return m(a,e.lY)}function o(a){return m(a,d.h9)}function p(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 q(a,b){let c=null===a.confirmedAt?g.predicted:g.confirmed;return b-a.at<c}function r(a,b,c){return null!==b&&c-a.at>=1e3*b}function s(a,b){return null===a.sessionId||null===b||a.sessionId===b}},26547:(a,b,c)=>{c.d(b,{Yz:()=>G,jw:()=>E});var d=c(51297),e=c(85164);let f=["minimal","low","medium","high","xhigh"];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)\b)?/i,n=/^\s*\S[^·]*·\s*~?\/\S*(?:\s*·[^\n]*|[^\S\n]{2,}\S[^\n]*)$/;function o(a){if(!e.aW.test(a)&&!n.test(a))return null;let b=a.indexOf("\xb7");if(b<0)return null;let c=m.exec(a.slice(0,b));if(!c)return null;let d=c[1];if(!j(d))return null;let f=c[2]?l(c[2]):null;return null!==f||/\d/.test(d)?{model:d,effort:f}:null}let p=/^\s*[\u2500-\u259F][\s\u2500-\u259F]*(\S[^\u2500-\u259F]*?)\s+with\s+(minimal|low|medium|high|xhigh)\s+effort\b/i;function q(a){let b=p.exec(a);if(!b)return null;let c=b[1].trim();return k(c)?{model:c,effort:l(b[2])}:null}let r=/^\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 s(a){let b=r.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 t=/^\s*(?:\?\s+for\s+shortcuts|esc\s+to\s+cancel)\b/i,u=/^\s*[\u2500-\u259F][\s\u2500-\u259F]*(\S[^\u2500-\u259F]*?)\s+\((minimal|low|medium|high|xhigh)\)\s*$/i;function v(a){if(!t.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 w(a){let b=u.exec(a);if(!b)return null;let c=b[1].trim();return k(c)?{model:c,effort:l(b[2])}:null}let x=/^\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 y(a){let b=x.exec(a);if(!b)return null;let c=b[1];return j(c)?{model:c,effort:b[2]?l(b[2]):null}:null}let z=/^\s*▣\s+[A-Za-z][A-Za-z0-9-]*\s+·\s+([^·]+?)(?:\s+·\s+[\d.]+\s?m?s)?\s*$/;function A(a){let b=z.exec(a);if(!b)return null;let c=b[1].trim();return k(c)?{model:c,effort:null}:null}let B=/^\s*#\s+models:\s*([^·]+?)(?:\s+with\s+([A-Za-z]+)\s+effort)?\s*(?:·|$)/i;function C(a){let b=B.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 D(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 E(a,b){if(!b)return g();switch(a){case"codex":return D(b,o)??g();case"claude":return D(b,q)??D(b,s)??g();case"antigravity":return D(b,v)??D(b,w)??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=D(b,y);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":return D(b,A)??g();case"command-code":return D(b,C)??g();default:return g()}}let F=/-(low|medium|high)$/i;function G(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=F.exec(a);return b?b[1].toLowerCase():null}(e)??f:f;return{model:e,effort:(d||null)??g}}},36051:(a,b,c)=>{c.d(b,{PP:()=>g,QB:()=>e,Yo:()=>j,fO:()=>k,lY:()=>f});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=500;function g(a){return"string"==typeof a&&""!==a}let h={notification:"Notification(permission_prompt)","permission-request":"PermissionRequest (no decision)"};function i(a,b){let c=[`A dialog is open in ${a}: the agent reported it via ${h[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,h=g(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(" / ")}. `+(h?`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 j(a,b){return{type:d.LT,status:"pending",question:i(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:g(b.decisionId)?b.decisionId:null,...b.patterns&&b.patterns.length>0?{patterns:[...b.patterns]}:{}}}function k(a,b){return{type:d.LT,status:"unclassified",question:i(a,b),options:[],source:b.source,...b.message?{message:b.message}:{},...b.toolName?{toolName:b.toolName}:{},...b.askUserQuestion?{askUserQuestion:b.askUserQuestion}:{}}}},48083:(a,b,c)=>{c.r(b),c.d(b,{AGENT_EVENT_DEDUP_WINDOW_MS:()=>G,AGENT_MODEL_EFFORT_SUFFIX_PATTERN:()=>z,LIFECYCLE_AGENT_EVENT_TYPES:()=>aI,STRUCTURED_PROMPT_PROVISIONAL_MAX_AGE_MS:()=>aw,STRUCTURED_STATE_MAX_AGE_MS:()=>ar,beginAgentEventGeneration:()=>as,classifyAgentEventDelivery:()=>aJ,clearAgentStopEvents:()=>aM,clearAskUserQuestion:()=>aF,clearStructuredPromptWaiting:()=>aC,closeAgentTurn:()=>T,corroborateStructuredPromptWaiting:()=>aA,discardAgentEventState:()=>au,getAgentEventDropCounts:()=>K,getAgentEventGenerationStartedAt:()=>at,getAgentModelBaseline:()=>E,getAgentTurn:()=>R,getAskUserQuestion:()=>aE,getAwaitingInstruction:()=>_,getLastAgentEvent:()=>ah,getLastCapturedModelInfo:()=>ak,getLastKnownAgentEffort:()=>aq,getLastKnownAgentModel:()=>ai,getLastReportedAgentEffort:()=>ap,getLastStopEventAt:()=>W,getPendingDecisions:()=>Q,getPublishedAgentTurn:()=>S,getRecentEventIdentityCount:()=>aL,getRecentEventKeyCount:()=>aH,getResolvedAgentModelInfo:()=>al,getStructuredPromptWaiting:()=>az,getStructuredSessionState:()=>av,isAwaitingInstruction:()=>aa,isDuplicateAgentEvent:()=>aG,isSameAgentModelName:()=>C,markStructuredPromptRecorded:()=>aB,observeScraperCompletionEvidence:()=>U,onAgentModelChange:()=>D,recordAgentEvent:()=>Y,recordAgentReportedEffort:()=>ao,recordAgentStopEvent:()=>V,recordAskUserQuestion:()=>aD,recordCapturedModelInfo:()=>aj,reportPermissionRequestPending:()=>ax,reportQuestionPending:()=>ay});var d=c(24455),e=c(62887),f=c(49154),g=c(26547),h=c(67882),i=c(24581);let j=globalThis.__agentEventLastStopAt??(globalThis.__agentEventLastStopAt=new Map),k=globalThis.__agentEventLast??(globalThis.__agentEventLast=new Map),l=globalThis.__agentEventGenerationStartedAt??(globalThis.__agentEventGenerationStartedAt=new Map),m=globalThis.__agentEventTurns??(globalThis.__agentEventTurns=new Map),n=globalThis.__agentEventDrops??(globalThis.__agentEventDrops=new Map),o=globalThis.__agentEventTurnSeq??(globalThis.__agentEventTurnSeq={value:0}),p=globalThis.__agentEventAskUserQuestion??(globalThis.__agentEventAskUserQuestion=new Map),q=globalThis.__agentEventRecentKeys??(globalThis.__agentEventRecentKeys=new Map),r=globalThis.__agentEventRecentIdentities??(globalThis.__agentEventRecentIdentities=new Map),s=globalThis.__agentEventAwaitingInstruction??(globalThis.__agentEventAwaitingInstruction=new Map),t=globalThis.__agentEventLastModel??(globalThis.__agentEventLastModel=new Map),u=globalThis.__agentEventLastModelAt??(globalThis.__agentEventLastModelAt=new Map),v=globalThis.__agentCapturedModelInfo??(globalThis.__agentCapturedModelInfo=new Map),w=globalThis.__agentEventLastEffort??(globalThis.__agentEventLastEffort=new Map),x=globalThis.__agentModelBaseline??(globalThis.__agentModelBaseline=new Map),y=globalThis.__agentModelChangeListeners??(globalThis.__agentModelChangeListeners=new Set),z=/[-_ ](?:minimal|low|medium|high|xhigh)$/i,A=/\bcontext\b/gi;function B(a){return a.replace(z,"").replace(A,"").toLowerCase().replace(/[^a-z0-9]/g,"")}function C(a,b,c={}){let d=B(a),e=B(b);return d===e||!!c.crossSource&&0!==d.length&&0!==e.length&&(d.includes(e)||e.includes(d))}function D(a){return y.add(a),()=>{y.delete(a)}}function E(a,b,c){return x.get((0,d.v7)(a,b,c))??null}function F(a,b,c,e,f){let g=(0,d.v7)(a,b,c),{info:h,source:i}=an(g,b),j=h.model;if(null===j||null===i)return;let k=x.get(g),l={model:j,source:i};if(void 0===k){x.set(g,l),aK(x,H);return}if(C(k.model,j,{crossSource:k.source!==i}))return void x.set(g,l);x.set(g,l);var m={worktreeId:a,cliToolId:b,instanceId:c??b,from:k.model,to:j,source:e,at:f};for(let a of y)try{a(m)}catch{}}let G=3e3,H=512;function I(){return{dedupDropped:{identity:0,timeWindow:0},decisionEvicted:0,idsDiscarded:0,dialogTimedOut:0,decisionOverflow:0}}function J(a){let b=n.get(a);return b||(b=I(),n.set(a,b),aK(n,H)),b}function K(a,b,c){let e=n.get((0,d.v7)(a,b,c));return e?{...e,dedupDropped:{...e.dedupDropped}}:I()}function L(a){return l.get(a)??null}function M(a){let b=m.get(a);return b&&b.generationAt===L(a)?b:null}function N(a,b){let c=M(a);return null===c?null:(null===c.closedAt&&b-c.displayEvent.at>=i.Mu&&(c.closedAt=c.displayEvent.at+i.Mu,c.closedBy="stale"),c)}function O(a){return o.value+=1,`turn-${a}-${o.value}`}function P(a,b,c){let d=b.pendingDecisions.filter(a=>(0,i.jF)(a,c)),e=b.pendingDecisions.length-d.length;return e>0&&(J(a).dialogTimedOut+=e,b.pendingDecisions=d),d}function Q(a,b,c,e=Date.now()){let f=(0,d.v7)(a,b,c),g=N(f,e);return null===g?[]:P(f,g,e)}function R(a,b,c,e=Date.now()){return N((0,d.v7)(a,b,c),e)}function S(a,b,c,d=Date.now()){return(0,i.nY)(R(a,b,c,d))}function T(a,b,c,e,f=Date.now()){let g=M((0,d.v7)(a,b,c));return null!==g&&null===g.closedAt&&(g.closedAt=f,g.closedBy=e,!0)}function U(a,b,c,e,f=Date.now()){let g=M((0,d.v7)(a,b,c));return null!==g&&null===g.closedAt&&(e?(g.scraperCompletionPolls+=1,!(g.scraperCompletionPolls<i.Tt)&&(g.closedAt=f,g.closedBy="scraper_evidence",!0)):(g.scraperCompletionPolls=0,!1))}function V(a,b,c,e=Date.now()){j.set((0,d.v7)(a,b,c),e)}function W(a,b,c){return j.get((0,d.v7)(a,b,c))??null}let X=["running","waiting"];function Y(a,b,c,g,h={}){let j=(0,d.v7)(a,b,c);return!function(a,b,c,e,f){if("session_start"!==e.event||!0!==f.sessionStartMayArriveLate)return!1;let g=av(a,b,c,e.at);if(null===g||!X.includes(g.status))return!1;let h=k.get((0,d.v7)(a,b,c))?.sessionId??null;return null===h||null==e.sessionId||e.sessionId===h}(a,b,c,g,h)?(k.set(j,g),"session_start"===g.event&&x.delete(j),$(j,g),F(a,b,c,"hook",g.at),function(a,b){switch(b.event){case"pre_tool_use":f.mW.includes(b.detail??"")||p.delete(a);return;case"notification":"idle_prompt"===b.detail&&p.delete(a);return;case"post_tool_use":case"stop":case"user_prompt_submit":case"session_start":case"session_end":p.delete(a);return;default:b.event;return}}(j,g),"session_start"===g.event&&(l.set(j,g.at),Z(j,g.at)),function(a,b){let c=L(a);if(null===c||!(b.at<c))switch(b.event){case"user_prompt_submit":ac(a,b,c,{continueOpen:!1}),ae(a);return;case"post_tool_use":ac(a,b,c,{continueOpen:!0}),ae(a);return;case"pre_tool_use":ac(a,b,c,{continueOpen:!0});return;case"stop":!function(a,b,c){let d=M(a);if(null!==d&&null===d.closedAt&&null!==d.openedAt){if(!(0,i.ZV)(d,b.sessionId))return;d.closedAt=b.at,d.closedBy="stop",d.displayEvent=ab(b),ae(a);return}m.set(a,{turnId:O(b.at),sessionId:b.sessionId,openedAt:null,closedAt:b.at,closedBy:"stop",generationAt:c,displayEvent:ab(b),pendingDecisions:[],scraperCompletionPolls:0}),ag()}(a,b,c);return;case"session_end":(function(a,b){let c=M(a);null!==c&&(0,i.ZV)(c,b.sessionId)&&(c.closedAt=b.at,c.closedBy="session_end")})(a,b),ae(a);return;case"session_start":return;case"notification":!function(a,b,c){if("permission_prompt"===b.detail)return!0===b.promptSettled?af(a,b):ad(a,c,{source:"notification",at:b.at,message:b.message??null,toolName:b.toolName??null,patterns:b.decisionPatterns??null,decisionId:b.decisionId??null,bootstrapDisplay:ab(b)});if(b.detail===e.KC){!0===b.promptSettled&&af(a,b);return}if("idle_prompt"===b.detail){ae(a);let d=M(a);if(null!==d&&null===d.closedAt){d.displayEvent=ab(b);return}if(null!==d)return;m.set(a,{turnId:O(b.at),sessionId:b.sessionId,openedAt:null,closedAt:null,closedBy:null,generationAt:c,displayEvent:ab(b),pendingDecisions:[],scraperCompletionPolls:0}),ag()}}(a,b,c);return;default:b.event;return}}(j,g),function(a,b){switch(b.event){case"notification":"idle_prompt"===b.detail&&s.set(a,{at:b.at,message:b.message??null});return;case"user_prompt_submit":case"session_start":case"session_end":s.delete(a);return;case"stop":case"pre_tool_use":case"post_tool_use":return;default:b.event;return}}(j,g),{recorded:!0}):($(j,g),F(a,b,c,"hook",g.at),{recorded:!1,skipped:"late-session-start"})}function Z(a,b){let c=m.get(a);c&&(0!==c.pendingDecisions.length&&(J(a).decisionEvicted+=c.pendingDecisions.length,c.pendingDecisions=[]),null===c.closedAt&&(c.closedAt=b,c.closedBy="generation",c.generationAt=b))}function $(a,b){"string"==typeof b.model&&""!==b.model&&(t.set(a,b.model.slice(0,e.h9)),u.set(a,b.at))}function _(a,b,c){let e=(0,d.v7)(a,b,c),f=s.get(e);if(!f)return null;let g=l.get(e);return void 0!==g&&f.at<g?null:f}function aa(a,b,c){return null!==_(a,b,c)}function ab(a){return{event:a.event,at:a.at,detail:a.detail}}function ac(a,b,c,{continueOpen:d}){let e=M(a),f=null!==e&&null===e.closedAt&&null!==e.openedAt&&(0,i.ZV)(e,b.sessionId);if(d&&f){e.displayEvent=ab(b),e.sessionId??=b.sessionId,e.scraperCompletionPolls=0;return}let g=null!==e&&null===e.openedAt&&null===e.closedAt?e.pendingDecisions:[];m.set(a,{turnId:O(b.at),sessionId:b.sessionId,openedAt:b.at,closedAt:null,closedBy:null,generationAt:c,displayEvent:ab(b),pendingDecisions:g,scraperCompletionPolls:0}),ag()}function ad(a,b,c){let d=M(a);null===d?(d={turnId:O(c.at),sessionId:null,openedAt:null,closedAt:null,closedBy:null,generationAt:b,displayEvent:c.bootstrapDisplay,pendingDecisions:[],scraperCompletionPolls:0},m.set(a,d),ag()):null!==d.closedAt&&(d={turnId:O(c.at),sessionId:null,openedAt:null,closedAt:null,closedBy:null,generationAt:b,displayEvent:c.bootstrapDisplay,pendingDecisions:[],scraperCompletionPolls:0},m.set(a,d),ag());let e=null===c.decisionId?null:(0,i.Xq)(c.decisionId);null!==c.decisionId&&null===e&&(J(a).idsDiscarded+=1);let f="notification"===c.source,g=null!==e?d.pendingDecisions.find(a=>a.decisionId===e)??d.pendingDecisions.find(a=>null===a.decisionId&&"permission-request"===a.source):d.pendingDecisions.find(a=>null===a.decisionId);if(g){g.message=(0,i.wt)(c.message)??g.message,g.toolName=(0,i.kT)(c.toolName)??g.toolName,g.patterns=(0,i.Ui)(c.patterns)??g.patterns,g.decisionId??=e,f&&(g.source="notification",g.confirmedAt??=c.at);return}if(d.pendingDecisions.length>=i.RY){J(a).decisionOverflow+=1;return}d.pendingDecisions.push({decisionId:e,at:c.at,source:c.source,message:(0,i.wt)(c.message),toolName:(0,i.kT)(c.toolName),patterns:(0,i.Ui)(c.patterns),confirmedAt:f?c.at:null,scraperCorroborated:!1,recorded:!1})}function ae(a){let b=M(a);null!==b&&(b.pendingDecisions=[])}function af(a,b){let c=M(a);if(null===c||0===c.pendingDecisions.length)return;let d=null===b.decisionId||void 0===b.decisionId?null:(0,i.Xq)(b.decisionId);if(null===d){c.pendingDecisions=[];return}c.pendingDecisions=c.pendingDecisions.filter(a=>null!==a.decisionId&&a.decisionId!==d)}function ag(){aK(m,H)}function ah(a,b,c){return k.get((0,d.v7)(a,b,c))??null}function ai(a,b,c){return t.get((0,d.v7)(a,b,c))??null}function aj(a,b,c,f,g=Date.now()){if(!f.model&&!f.effort)return;let h=(0,d.v7)(a,b,c),i=v.get(h),j=f.model?f.model.slice(0,e.h9):i?.model??null;v.set(h,{model:j,effort:f.effort??i?.effort??null,modelChangedAt:null===j?null:j===(i?.model??null)?i?.modelChangedAt??g:g}),f.model&&F(a,b,c,"frame",g)}function ak(a,b,c){let e=v.get((0,d.v7)(a,b,c));return{model:e?.model??null,effort:e?.effort??null}}function al(a,b,c){return an((0,d.v7)(a,b,c),b).info}let am=new Set(["claude"]);function an(a,b){let c=t.get(a)??null,d=v.get(a),e={model:d?.model??null,effort:d?.effort??null},f=w.get(a)??null,h=d?.modelChangedAt??null,i=null!==c&&null!==e.model&&null!==h&&am.has(b)&&h>(u.get(a)??0)&&!C(c,e.model,{crossSource:!0}),j=(0,g.Yz)(b,i?null:c,e,f);return null===j.model?{info:j,source:null}:{info:j,source:null===c||i?"frame":"hook"}}function ao(a,b,c,f){"string"==typeof f&&""!==f&&w.set((0,d.v7)(a,b,c),f.slice(0,e.h9))}function ap(a,b,c){return w.get((0,d.v7)(a,b,c))??null}function aq(a,b,c){return al(a,b,c).effort}let ar=i.Mu;function as(a,b,c,e=Date.now()){let f=(0,d.v7)(a,b,c);l.set(f,e),Z(f,e),p.delete(f),s.delete(f),t.delete(f),u.delete(f),v.delete(f),w.delete(f),x.delete(f),r.delete(f)}function at(a,b,c){return l.get((0,d.v7)(a,b,c))??null}function au(a,b,c){let e=(0,d.v7)(a,b,c);k.delete(e),l.delete(e),m.delete(e),n.delete(e),p.delete(e),s.delete(e),t.delete(e),u.delete(e),v.delete(e),w.delete(e),x.delete(e),r.delete(e)}function av(a,b,c,e=Date.now()){let f=(0,d.v7)(a,b,c),g=N(f,e);if(null===g)return null;let i=g.displayEvent;if(e-i.at>=ar)return null;let j={event:i.event,at:i.at,detail:i.detail},k=P(f,g,e);if(k.length>0)return{status:"waiting",reason:"notification"===k[0].source?h.Oh.PERMISSION_PROMPT:h.Oh.PERMISSION_REQUEST,...j};if(null!==g.closedAt)return"stop"===g.closedBy?{status:"ready",reason:h.Oh.STOP,...j}:null;let l=(0,h.DA)(i.event,i.detail);return null===l||"waiting"===l.status?null===g.openedAt?null:{status:"running",reason:h.Oh.PROMPT_SUBMIT,...j}:{...l,...j}}let aw=i.h_.predicted;function ax(a,b,c,e,f=Date.now()){let g=(0,d.v7)(a,b,c);ad(g,L(g),{source:"permission-request",at:f,message:null,toolName:e,patterns:null,decisionId:null,bootstrapDisplay:{event:"notification",at:f,detail:"permission_prompt"}})}function ay(a,b,c,e,f=Date.now()){let g=(0,d.v7)(a,b,c);ad(g,L(g),{source:"notification",at:f,message:null,toolName:e.toolName,patterns:null,decisionId:e.decisionId,bootstrapDisplay:{event:"notification",at:f,detail:e.detail}})}function az(a,b,c,d=Date.now()){return Q(a,b,c,d)[0]??null}function aA(a,b,c,d=Date.now()){let e=az(a,b,c,d);e&&(e.scraperCorroborated=!0,e.confirmedAt??=d)}function aB(a,b,c){let d=az(a,b,c);d&&(d.recorded=!0)}function aC(a,b,c){ae((0,d.v7)(a,b,c))}function aD(a,b,c,e,f=Date.now()){p.set((0,d.v7)(a,b,c),{at:f,spec:e})}function aE(a,b,c,e=Date.now()){let f=(0,d.v7)(a,b,c),g=p.get(f);if(!g)return null;let h=l.get(f);return void 0!==h&&g.at<h||e-g.at>=ar?null:g}function aF(a,b,c){p.delete((0,d.v7)(a,b,c))}function aG(a,b,c,e,f,g=Date.now(),h=null){if(!f)return!1;let i=[(0,d.v7)(a,b,c),e,h??"",f].join(" "),j=q.get(i);return void 0!==j&&g-j<G||(q.set(i,g),function(a){for(let[b,c]of q)a-c>=G&&q.delete(b);for(;q.size>H;){let a=q.keys().next();if(a.done)break;q.delete(a.value)}}(g),!1)}function aH(){return q.size}let aI=["stop","session_end"];function aJ(a){let b=(0,d.v7)(a.worktreeId,a.cliToolId,a.instanceId);if(null!==a.identityKind){let c=null===a.identity?null:(0,i.Xq)(a.identity);if(null!==a.identity&&null===c&&(J(b).idsDiscarded+=1),null!==c)return!function(a,b){let c=(0,d.v7)(a.worktreeId,a.cliToolId,a.instanceId),e=r.get(c);e||(e=new Map,r.set(c,e),aK(r,H));let f=[a.event,a.detail??"",b].join(" ");return!!e.has(f)||(e.set(f,a.at),aK(e,H),!1)}(a,c)?{duplicate:!1}:(J(b).dedupDropped.identity+=1,{duplicate:!0,by:"identity"});if(aI.includes(a.event))return{duplicate:!1}}return aG(a.worktreeId,a.cliToolId,a.instanceId,a.event,a.sessionId,a.at,a.detail)?(J(b).dedupDropped.timeWindow+=1,{duplicate:!0,by:"time-window"}):{duplicate:!1}}function aK(a,b){for(;a.size>b;){let b=a.keys().next();if(b.done)break;a.delete(b.value)}}function aL(a,b,c){if(void 0===a||void 0===b){let a=0;for(let b of r.values())a+=b.size;return a}return r.get((0,d.v7)(a,b,c))?.size??0}function aM(){j.clear(),k.clear(),q.clear(),r.clear(),l.clear(),m.clear(),n.clear(),p.clear(),s.clear(),t.clear(),u.clear(),v.clear(),w.clear(),x.clear()}},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:()=>h,kA:()=>g});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){switch(a){case"waiting":return{isWaitingForResponse:!0,isProcessing:!1};case"running":return{isWaitingForResponse:!1,isProcessing:!0};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.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}}};
1
+ "use strict";exports.id=6661,exports.ids=[6661],exports.modules={24581:(a,b,c)=>{c.d(b,{Mu:()=>f,RY:()=>i,Tt:()=>h,Ui:()=>p,Xq:()=>l,ZV:()=>s,h_:()=>g,jF:()=>q,kT:()=>o,nY:()=>k,qX:()=>r,wt:()=>n});var d=c(62887),e=c(36051);let f=18e5,g={predicted:2e4,confirmed:18e5},h=3,i=16,j={turnId:null,openedAt:null,closedAt:null,closedBy:null};function k(a){return null===a?j:{turnId:a.turnId,openedAt:a.openedAt,closedAt:a.closedAt,closedBy:a.closedBy}}function l(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 m(a,b){return"string"!=typeof a||""===a?null:a.slice(0,b)}function n(a){return m(a,e.lY)}function o(a){return m(a,d.h9)}function p(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 q(a,b){let c=null===a.confirmedAt?g.predicted:g.confirmed;return b-a.at<c}function r(a,b,c){return null!==b&&c-a.at>=1e3*b}function s(a,b){return null===a.sessionId||null===b||a.sessionId===b}},26547:(a,b,c)=>{c.d(b,{Yz:()=>H,jw:()=>F});var d=c(51297),e=c(85164);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;function r(a){let b=q.exec(a);if(!b)return null;let c=b[1].trim();return k(c)?{model:c,effort:l(b[2])}:null}let s=/^\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 t(a){let b=s.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 u=/^\s*(?:\?\s+for\s+shortcuts|esc\s+to\s+cancel)\b/i,v=/^\s*[\u2500-\u259F][\s\u2500-\u259F]*(\S[^\u2500-\u259F]*?)\s+\((minimal|low|medium|high|xhigh)\)\s*$/i;function w(a){if(!u.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 x(a){let b=v.exec(a);if(!b)return null;let c=b[1].trim();return k(c)?{model:c,effort:l(b[2])}:null}let y=/^\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 z(a){let b=y.exec(a);if(!b)return null;let c=b[1];return j(c)?{model:c,effort:b[2]?l(b[2]):null}:null}let A=/^\s*▣\s+[A-Za-z][A-Za-z0-9-]*\s+·\s+([^·]+?)(?:\s+·\s+[\d.]+\s?m?s)?\s*$/;function B(a){let b=A.exec(a);if(!b)return null;let c=b[1].trim();return k(c)?{model:c,effort:null}:null}let C=/^\s*#\s+models:\s*([^·]+?)(?:\s+with\s+([A-Za-z]+)\s+effort)?\s*(?:·|$)/i;function D(a){let b=C.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 E(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 F(a,b){if(!b)return g();switch(a){case"codex":return E(b,p)??g();case"claude":return E(b,r)??E(b,t)??g();case"antigravity":return E(b,w)??E(b,x)??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=E(b,z);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":return E(b,B)??g();case"command-code":return E(b,D)??g();default:return g()}}let G=/-(low|medium|high)$/i;function H(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=G.exec(a);return b?b[1].toLowerCase():null}(e)??f:f;return{model:e,effort:(d||null)??g}}},36051:(a,b,c)=>{c.d(b,{PP:()=>g,QB:()=>e,Yo:()=>j,fO:()=>k,lY:()=>f});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=500;function g(a){return"string"==typeof a&&""!==a}let h={notification:"Notification(permission_prompt)","permission-request":"PermissionRequest (no decision)"};function i(a,b){let c=[`A dialog is open in ${a}: the agent reported it via ${h[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,h=g(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(" / ")}. `+(h?`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 j(a,b){return{type:d.LT,status:"pending",question:i(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:g(b.decisionId)?b.decisionId:null,...b.patterns&&b.patterns.length>0?{patterns:[...b.patterns]}:{}}}function k(a,b){return{type:d.LT,status:"unclassified",question:i(a,b),options:[],source:b.source,...b.message?{message:b.message}:{},...b.toolName?{toolName:b.toolName}:{},...b.askUserQuestion?{askUserQuestion:b.askUserQuestion}:{}}}},48083:(a,b,c)=>{c.r(b),c.d(b,{AGENT_EVENT_DEDUP_WINDOW_MS:()=>G,AGENT_MODEL_EFFORT_SUFFIX_PATTERN:()=>z,LIFECYCLE_AGENT_EVENT_TYPES:()=>aI,STRUCTURED_PROMPT_PROVISIONAL_MAX_AGE_MS:()=>aw,STRUCTURED_STATE_MAX_AGE_MS:()=>ar,beginAgentEventGeneration:()=>as,classifyAgentEventDelivery:()=>aJ,clearAgentStopEvents:()=>aM,clearAskUserQuestion:()=>aF,clearStructuredPromptWaiting:()=>aC,closeAgentTurn:()=>T,corroborateStructuredPromptWaiting:()=>aA,discardAgentEventState:()=>au,getAgentEventDropCounts:()=>K,getAgentEventGenerationStartedAt:()=>at,getAgentModelBaseline:()=>E,getAgentTurn:()=>R,getAskUserQuestion:()=>aE,getAwaitingInstruction:()=>_,getLastAgentEvent:()=>ah,getLastCapturedModelInfo:()=>ak,getLastKnownAgentEffort:()=>aq,getLastKnownAgentModel:()=>ai,getLastReportedAgentEffort:()=>ap,getLastStopEventAt:()=>W,getPendingDecisions:()=>Q,getPublishedAgentTurn:()=>S,getRecentEventIdentityCount:()=>aL,getRecentEventKeyCount:()=>aH,getResolvedAgentModelInfo:()=>al,getStructuredPromptWaiting:()=>az,getStructuredSessionState:()=>av,isAwaitingInstruction:()=>aa,isDuplicateAgentEvent:()=>aG,isSameAgentModelName:()=>C,markStructuredPromptRecorded:()=>aB,observeScraperCompletionEvidence:()=>U,onAgentModelChange:()=>D,recordAgentEvent:()=>Y,recordAgentReportedEffort:()=>ao,recordAgentStopEvent:()=>V,recordAskUserQuestion:()=>aD,recordCapturedModelInfo:()=>aj,reportPermissionRequestPending:()=>ax,reportQuestionPending:()=>ay});var d=c(24455),e=c(62887),f=c(49154),g=c(26547),h=c(67882),i=c(24581);let j=globalThis.__agentEventLastStopAt??(globalThis.__agentEventLastStopAt=new Map),k=globalThis.__agentEventLast??(globalThis.__agentEventLast=new Map),l=globalThis.__agentEventGenerationStartedAt??(globalThis.__agentEventGenerationStartedAt=new Map),m=globalThis.__agentEventTurns??(globalThis.__agentEventTurns=new Map),n=globalThis.__agentEventDrops??(globalThis.__agentEventDrops=new Map),o=globalThis.__agentEventTurnSeq??(globalThis.__agentEventTurnSeq={value:0}),p=globalThis.__agentEventAskUserQuestion??(globalThis.__agentEventAskUserQuestion=new Map),q=globalThis.__agentEventRecentKeys??(globalThis.__agentEventRecentKeys=new Map),r=globalThis.__agentEventRecentIdentities??(globalThis.__agentEventRecentIdentities=new Map),s=globalThis.__agentEventAwaitingInstruction??(globalThis.__agentEventAwaitingInstruction=new Map),t=globalThis.__agentEventLastModel??(globalThis.__agentEventLastModel=new Map),u=globalThis.__agentEventLastModelAt??(globalThis.__agentEventLastModelAt=new Map),v=globalThis.__agentCapturedModelInfo??(globalThis.__agentCapturedModelInfo=new Map),w=globalThis.__agentEventLastEffort??(globalThis.__agentEventLastEffort=new Map),x=globalThis.__agentModelBaseline??(globalThis.__agentModelBaseline=new Map),y=globalThis.__agentModelChangeListeners??(globalThis.__agentModelChangeListeners=new Set),z=/[-_ ](?:minimal|low|medium|high|xhigh)$/i,A=/\bcontext\b/gi;function B(a){return a.replace(z,"").replace(A,"").toLowerCase().replace(/[^a-z0-9]/g,"")}function C(a,b,c={}){let d=B(a),e=B(b);return d===e||!!c.crossSource&&0!==d.length&&0!==e.length&&(d.includes(e)||e.includes(d))}function D(a){return y.add(a),()=>{y.delete(a)}}function E(a,b,c){return x.get((0,d.v7)(a,b,c))??null}function F(a,b,c,e,f){let g=(0,d.v7)(a,b,c),{info:h,source:i}=an(g,b),j=h.model;if(null===j||null===i)return;let k=x.get(g),l={model:j,source:i};if(void 0===k){x.set(g,l),aK(x,H);return}if(C(k.model,j,{crossSource:k.source!==i}))return void x.set(g,l);x.set(g,l);var m={worktreeId:a,cliToolId:b,instanceId:c??b,from:k.model,to:j,source:e,at:f};for(let a of y)try{a(m)}catch{}}let G=3e3,H=512;function I(){return{dedupDropped:{identity:0,timeWindow:0},decisionEvicted:0,idsDiscarded:0,dialogTimedOut:0,decisionOverflow:0}}function J(a){let b=n.get(a);return b||(b=I(),n.set(a,b),aK(n,H)),b}function K(a,b,c){let e=n.get((0,d.v7)(a,b,c));return e?{...e,dedupDropped:{...e.dedupDropped}}:I()}function L(a){return l.get(a)??null}function M(a){let b=m.get(a);return b&&b.generationAt===L(a)?b:null}function N(a,b){let c=M(a);return null===c?null:(null===c.closedAt&&b-c.displayEvent.at>=i.Mu&&(c.closedAt=c.displayEvent.at+i.Mu,c.closedBy="stale"),c)}function O(a){return o.value+=1,`turn-${a}-${o.value}`}function P(a,b,c){let d=b.pendingDecisions.filter(a=>(0,i.jF)(a,c)),e=b.pendingDecisions.length-d.length;return e>0&&(J(a).dialogTimedOut+=e,b.pendingDecisions=d),d}function Q(a,b,c,e=Date.now()){let f=(0,d.v7)(a,b,c),g=N(f,e);return null===g?[]:P(f,g,e)}function R(a,b,c,e=Date.now()){return N((0,d.v7)(a,b,c),e)}function S(a,b,c,d=Date.now()){return(0,i.nY)(R(a,b,c,d))}function T(a,b,c,e,f=Date.now()){let g=M((0,d.v7)(a,b,c));return null!==g&&null===g.closedAt&&(g.closedAt=f,g.closedBy=e,!0)}function U(a,b,c,e,f=Date.now()){let g=M((0,d.v7)(a,b,c));return null!==g&&null===g.closedAt&&(e?(g.scraperCompletionPolls+=1,!(g.scraperCompletionPolls<i.Tt)&&(g.closedAt=f,g.closedBy="scraper_evidence",!0)):(g.scraperCompletionPolls=0,!1))}function V(a,b,c,e=Date.now()){j.set((0,d.v7)(a,b,c),e)}function W(a,b,c){return j.get((0,d.v7)(a,b,c))??null}let X=["running","waiting"];function Y(a,b,c,g,h={}){let j=(0,d.v7)(a,b,c);return!function(a,b,c,e,f){if("session_start"!==e.event||!0!==f.sessionStartMayArriveLate)return!1;let g=av(a,b,c,e.at);if(null===g||!X.includes(g.status))return!1;let h=k.get((0,d.v7)(a,b,c))?.sessionId??null;return null===h||null==e.sessionId||e.sessionId===h}(a,b,c,g,h)?(k.set(j,g),"session_start"===g.event&&x.delete(j),$(j,g),F(a,b,c,"hook",g.at),function(a,b){switch(b.event){case"pre_tool_use":f.mW.includes(b.detail??"")||p.delete(a);return;case"notification":"idle_prompt"===b.detail&&p.delete(a);return;case"post_tool_use":case"stop":case"user_prompt_submit":case"session_start":case"session_end":p.delete(a);return;default:b.event;return}}(j,g),"session_start"===g.event&&(l.set(j,g.at),Z(j,g.at)),function(a,b){let c=L(a);if(null===c||!(b.at<c))switch(b.event){case"user_prompt_submit":ac(a,b,c,{continueOpen:!1}),ae(a);return;case"post_tool_use":ac(a,b,c,{continueOpen:!0}),ae(a);return;case"pre_tool_use":ac(a,b,c,{continueOpen:!0});return;case"stop":!function(a,b,c){let d=M(a);if(null!==d&&null===d.closedAt&&null!==d.openedAt){if(!(0,i.ZV)(d,b.sessionId))return;d.closedAt=b.at,d.closedBy="stop",d.displayEvent=ab(b),ae(a);return}m.set(a,{turnId:O(b.at),sessionId:b.sessionId,openedAt:null,closedAt:b.at,closedBy:"stop",generationAt:c,displayEvent:ab(b),pendingDecisions:[],scraperCompletionPolls:0}),ag()}(a,b,c);return;case"session_end":(function(a,b){let c=M(a);null!==c&&(0,i.ZV)(c,b.sessionId)&&(c.closedAt=b.at,c.closedBy="session_end")})(a,b),ae(a);return;case"session_start":return;case"notification":!function(a,b,c){if("permission_prompt"===b.detail)return!0===b.promptSettled?af(a,b):ad(a,c,{source:"notification",at:b.at,message:b.message??null,toolName:b.toolName??null,patterns:b.decisionPatterns??null,decisionId:b.decisionId??null,bootstrapDisplay:ab(b)});if(b.detail===e.KC){!0===b.promptSettled&&af(a,b);return}if("idle_prompt"===b.detail){ae(a);let d=M(a);if(null!==d&&null===d.closedAt){d.displayEvent=ab(b);return}if(null!==d)return;m.set(a,{turnId:O(b.at),sessionId:b.sessionId,openedAt:null,closedAt:null,closedBy:null,generationAt:c,displayEvent:ab(b),pendingDecisions:[],scraperCompletionPolls:0}),ag()}}(a,b,c);return;default:b.event;return}}(j,g),function(a,b){switch(b.event){case"notification":"idle_prompt"===b.detail&&s.set(a,{at:b.at,message:b.message??null});return;case"user_prompt_submit":case"session_start":case"session_end":s.delete(a);return;case"stop":case"pre_tool_use":case"post_tool_use":return;default:b.event;return}}(j,g),{recorded:!0}):($(j,g),F(a,b,c,"hook",g.at),{recorded:!1,skipped:"late-session-start"})}function Z(a,b){let c=m.get(a);c&&(0!==c.pendingDecisions.length&&(J(a).decisionEvicted+=c.pendingDecisions.length,c.pendingDecisions=[]),null===c.closedAt&&(c.closedAt=b,c.closedBy="generation",c.generationAt=b))}function $(a,b){"string"==typeof b.model&&""!==b.model&&(t.set(a,b.model.slice(0,e.h9)),u.set(a,b.at))}function _(a,b,c){let e=(0,d.v7)(a,b,c),f=s.get(e);if(!f)return null;let g=l.get(e);return void 0!==g&&f.at<g?null:f}function aa(a,b,c){return null!==_(a,b,c)}function ab(a){return{event:a.event,at:a.at,detail:a.detail}}function ac(a,b,c,{continueOpen:d}){let e=M(a),f=null!==e&&null===e.closedAt&&null!==e.openedAt&&(0,i.ZV)(e,b.sessionId);if(d&&f){e.displayEvent=ab(b),e.sessionId??=b.sessionId,e.scraperCompletionPolls=0;return}let g=null!==e&&null===e.openedAt&&null===e.closedAt?e.pendingDecisions:[];m.set(a,{turnId:O(b.at),sessionId:b.sessionId,openedAt:b.at,closedAt:null,closedBy:null,generationAt:c,displayEvent:ab(b),pendingDecisions:g,scraperCompletionPolls:0}),ag()}function ad(a,b,c){let d=M(a);null===d?(d={turnId:O(c.at),sessionId:null,openedAt:null,closedAt:null,closedBy:null,generationAt:b,displayEvent:c.bootstrapDisplay,pendingDecisions:[],scraperCompletionPolls:0},m.set(a,d),ag()):null!==d.closedAt&&(d={turnId:O(c.at),sessionId:null,openedAt:null,closedAt:null,closedBy:null,generationAt:b,displayEvent:c.bootstrapDisplay,pendingDecisions:[],scraperCompletionPolls:0},m.set(a,d),ag());let e=null===c.decisionId?null:(0,i.Xq)(c.decisionId);null!==c.decisionId&&null===e&&(J(a).idsDiscarded+=1);let f="notification"===c.source,g=null!==e?d.pendingDecisions.find(a=>a.decisionId===e)??d.pendingDecisions.find(a=>null===a.decisionId&&"permission-request"===a.source):d.pendingDecisions.find(a=>null===a.decisionId);if(g){g.message=(0,i.wt)(c.message)??g.message,g.toolName=(0,i.kT)(c.toolName)??g.toolName,g.patterns=(0,i.Ui)(c.patterns)??g.patterns,g.decisionId??=e,f&&(g.source="notification",g.confirmedAt??=c.at);return}if(d.pendingDecisions.length>=i.RY){J(a).decisionOverflow+=1;return}d.pendingDecisions.push({decisionId:e,at:c.at,source:c.source,message:(0,i.wt)(c.message),toolName:(0,i.kT)(c.toolName),patterns:(0,i.Ui)(c.patterns),confirmedAt:f?c.at:null,scraperCorroborated:!1,recorded:!1})}function ae(a){let b=M(a);null!==b&&(b.pendingDecisions=[])}function af(a,b){let c=M(a);if(null===c||0===c.pendingDecisions.length)return;let d=null===b.decisionId||void 0===b.decisionId?null:(0,i.Xq)(b.decisionId);if(null===d){c.pendingDecisions=[];return}c.pendingDecisions=c.pendingDecisions.filter(a=>null!==a.decisionId&&a.decisionId!==d)}function ag(){aK(m,H)}function ah(a,b,c){return k.get((0,d.v7)(a,b,c))??null}function ai(a,b,c){return t.get((0,d.v7)(a,b,c))??null}function aj(a,b,c,f,g=Date.now()){if(!f.model&&!f.effort)return;let h=(0,d.v7)(a,b,c),i=v.get(h),j=f.model?f.model.slice(0,e.h9):i?.model??null;v.set(h,{model:j,effort:f.effortUnreadable?null:f.effort??i?.effort??null,modelChangedAt:null===j?null:j===(i?.model??null)?i?.modelChangedAt??g:g}),f.model&&F(a,b,c,"frame",g)}function ak(a,b,c){let e=v.get((0,d.v7)(a,b,c));return{model:e?.model??null,effort:e?.effort??null}}function al(a,b,c){return an((0,d.v7)(a,b,c),b).info}let am=new Set(["claude"]);function an(a,b){let c=t.get(a)??null,d=v.get(a),e={model:d?.model??null,effort:d?.effort??null},f=w.get(a)??null,h=d?.modelChangedAt??null,i=null!==c&&null!==e.model&&null!==h&&am.has(b)&&h>(u.get(a)??0)&&!C(c,e.model,{crossSource:!0}),j=(0,g.Yz)(b,i?null:c,e,f);return null===j.model?{info:j,source:null}:{info:j,source:null===c||i?"frame":"hook"}}function ao(a,b,c,f){"string"==typeof f&&""!==f&&w.set((0,d.v7)(a,b,c),f.slice(0,e.h9))}function ap(a,b,c){return w.get((0,d.v7)(a,b,c))??null}function aq(a,b,c){return al(a,b,c).effort}let ar=i.Mu;function as(a,b,c,e=Date.now()){let f=(0,d.v7)(a,b,c);l.set(f,e),Z(f,e),p.delete(f),s.delete(f),t.delete(f),u.delete(f),v.delete(f),w.delete(f),x.delete(f),r.delete(f)}function at(a,b,c){return l.get((0,d.v7)(a,b,c))??null}function au(a,b,c){let e=(0,d.v7)(a,b,c);k.delete(e),l.delete(e),m.delete(e),n.delete(e),p.delete(e),s.delete(e),t.delete(e),u.delete(e),v.delete(e),w.delete(e),x.delete(e),r.delete(e)}function av(a,b,c,e=Date.now()){let f=(0,d.v7)(a,b,c),g=N(f,e);if(null===g)return null;let i=g.displayEvent;if(e-i.at>=ar)return null;let j={event:i.event,at:i.at,detail:i.detail},k=P(f,g,e);if(k.length>0)return{status:"waiting",reason:"notification"===k[0].source?h.Oh.PERMISSION_PROMPT:h.Oh.PERMISSION_REQUEST,...j};if(null!==g.closedAt)return"stop"===g.closedBy?{status:"ready",reason:h.Oh.STOP,...j}:null;let l=(0,h.DA)(i.event,i.detail);return null===l||"waiting"===l.status?null===g.openedAt?null:{status:"running",reason:h.Oh.PROMPT_SUBMIT,...j}:{...l,...j}}let aw=i.h_.predicted;function ax(a,b,c,e,f=Date.now()){let g=(0,d.v7)(a,b,c);ad(g,L(g),{source:"permission-request",at:f,message:null,toolName:e,patterns:null,decisionId:null,bootstrapDisplay:{event:"notification",at:f,detail:"permission_prompt"}})}function ay(a,b,c,e,f=Date.now()){let g=(0,d.v7)(a,b,c);ad(g,L(g),{source:"notification",at:f,message:null,toolName:e.toolName,patterns:null,decisionId:e.decisionId,bootstrapDisplay:{event:"notification",at:f,detail:e.detail}})}function az(a,b,c,d=Date.now()){return Q(a,b,c,d)[0]??null}function aA(a,b,c,d=Date.now()){let e=az(a,b,c,d);e&&(e.scraperCorroborated=!0,e.confirmedAt??=d)}function aB(a,b,c){let d=az(a,b,c);d&&(d.recorded=!0)}function aC(a,b,c){ae((0,d.v7)(a,b,c))}function aD(a,b,c,e,f=Date.now()){p.set((0,d.v7)(a,b,c),{at:f,spec:e})}function aE(a,b,c,e=Date.now()){let f=(0,d.v7)(a,b,c),g=p.get(f);if(!g)return null;let h=l.get(f);return void 0!==h&&g.at<h||e-g.at>=ar?null:g}function aF(a,b,c){p.delete((0,d.v7)(a,b,c))}function aG(a,b,c,e,f,g=Date.now(),h=null){if(!f)return!1;let i=[(0,d.v7)(a,b,c),e,h??"",f].join(" "),j=q.get(i);return void 0!==j&&g-j<G||(q.set(i,g),function(a){for(let[b,c]of q)a-c>=G&&q.delete(b);for(;q.size>H;){let a=q.keys().next();if(a.done)break;q.delete(a.value)}}(g),!1)}function aH(){return q.size}let aI=["stop","session_end"];function aJ(a){let b=(0,d.v7)(a.worktreeId,a.cliToolId,a.instanceId);if(null!==a.identityKind){let c=null===a.identity?null:(0,i.Xq)(a.identity);if(null!==a.identity&&null===c&&(J(b).idsDiscarded+=1),null!==c)return!function(a,b){let c=(0,d.v7)(a.worktreeId,a.cliToolId,a.instanceId),e=r.get(c);e||(e=new Map,r.set(c,e),aK(r,H));let f=[a.event,a.detail??"",b].join(" ");return!!e.has(f)||(e.set(f,a.at),aK(e,H),!1)}(a,c)?{duplicate:!1}:(J(b).dedupDropped.identity+=1,{duplicate:!0,by:"identity"});if(aI.includes(a.event))return{duplicate:!1}}return aG(a.worktreeId,a.cliToolId,a.instanceId,a.event,a.sessionId,a.at,a.detail)?(J(b).dedupDropped.timeWindow+=1,{duplicate:!0,by:"time-window"}):{duplicate:!1}}function aK(a,b){for(;a.size>b;){let b=a.keys().next();if(b.done)break;a.delete(b.value)}}function aL(a,b,c){if(void 0===a||void 0===b){let a=0;for(let b of r.values())a+=b.size;return a}return r.get((0,d.v7)(a,b,c))?.size??0}function aM(){j.clear(),k.clear(),q.clear(),r.clear(),l.clear(),m.clear(),n.clear(),p.clear(),s.clear(),t.clear(),u.clear(),v.clear(),w.clear(),x.clear()}},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}}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=6793,exports.ids=[6793],exports.modules={12540:(a,b,c)=>{c.d(b,{Vt:()=>g,aN:()=>h,zK:()=>m,HA:()=>n,nq:()=>j,JY:()=>i,sd:()=>k,kj:()=>l});var d=c(56263);let e=/^[a-zA-Z0-9][a-zA-Z0-9 ()./_-]*$/,f=/^[a-zA-Z0-9][a-zA-Z0-9\-._]*$/,g=new Set(["copilot","opencode"]),h=new Set(["opencode"]);function i(a){return/[\x00-\x1f\x7f]/.test(a)?{valid:!1,reason:"Model name contains control characters"}:""===a.trim()?{valid:!1,reason:"Model name must not be empty"}:d.lM.test(a)?a.length>d.MJ?{valid:!1,reason:`Model name exceeds ${d.MJ} characters`}:{valid:!0}:{valid:!1,reason:"Model name contains invalid characters"}}function j(a){return/[\x00-\x1f\x7f]/.test(a)?{valid:!1,reason:"Model name contains control characters"}:""===a.trim()?{valid:!1,reason:"Model name must not be empty"}:e.test(a)?a.length>128?{valid:!1,reason:"Model name exceeds 128 characters"}:{valid:!0}:{valid:!1,reason:"Model name contains invalid characters"}}function k(a,b){return/[\x00-\x1f\x7f]/.test(a)?{valid:!1,reason:`opencode ${b} contains control characters`}:""===a.trim()?{valid:!1,reason:`opencode ${b} must not be empty`}:f.test(a)?a.length>64?{valid:!1,reason:`opencode ${b} exceeds 64 characters`}:{valid:!0}:{valid:!1,reason:`opencode ${b} contains invalid characters`}}function l(a){return/[\x00-\x1f\x7f]/.test(a)?{valid:!1,reason:"opencode title contains control characters"}:""===a.trim()?{valid:!1,reason:"opencode title must not be empty"}:a.startsWith("-")?{valid:!1,reason:'opencode title must not start with "-"'}:a.includes("|")?{valid:!1,reason:'opencode title must not contain "|"'}:a.length>200?{valid:!1,reason:"opencode title exceeds 200 characters"}:{valid:!0}}function m(a){let b=[],c=function(a){let b=a.trim();if(!b)return{cliToolId:"claude",model:void 0};let{tokens:c,error:d}=function(a){let b=[],c="",d=!1,e=null;for(let f of a){if(e){f===e?e=null:c+=f;continue}if('"'===f||"'"===f){e=f,d=!0;continue}if(/\s/.test(f)){d&&(b.push(c),c="",d=!1);continue}c+=f,d=!0}return e?{tokens:[],error:"CLI Tool column has an unterminated quote"}:(d&&b.push(c),{tokens:b})}(b);if(d)return{cliToolId:b.split(/\s+/)[0],error:d};let e=c[0];return 1===c.length?{cliToolId:e,model:void 0}:g.has(e)?h.has(e)?function(a,b){let c={cliToolId:a},d=new Set,e=(a,c)=>{let d=b[c+1];return void 0===d||d.startsWith("-")?null:d};for(let f=0;f<b.length;f++){let g=b[f];if(d.has(g))return{cliToolId:a,error:`${a} option "${g}" is repeated`};switch(g){case"--model":case"-m":{let b=e(g,f);if(null===b)return{cliToolId:a,error:`${a} option "${g}" needs a value`};d.add("--model"),d.add("-m"),c.model=b,f++;break}case"--agent":{let b=e(g,f);if(null===b)return{cliToolId:a,error:`${a} option "${g}" needs a value`};d.add(g),c.agent=b,f++;break}case"--variant":{let b=e(g,f);if(null===b)return{cliToolId:a,error:`${a} option "${g}" needs a value`};d.add(g),c.variant=b,f++;break}case"--title":{let b=e(g,f);if(null===b)return{cliToolId:a,error:`${a} option "${g}" needs a value`};d.add(g),c.title=b,f++;break}case"--continue":case"-c":d.add("--continue"),d.add("-c"),c.continueSession=!0;break;default:return{cliToolId:a,error:`${a} only supports: opencode [--model <provider/model>] [--agent <name>] [--variant <name>] [--continue] [--title <text>]`}}}return c}(e,c.slice(1)):3===c.length&&"--model"===c[1]?{cliToolId:e,model:c[2]}:{cliToolId:e,error:`${e} only supports: ${e} --model <modelName>`}:{cliToolId:e,error:`CLI Tool "${e}" does not support additional options`}}(a);if(c.error&&b.push(c.error),c.model){let a=i(c.model);a.valid||b.push(a.reason)}if(c.agent){let a=k(c.agent,"agent");a.valid||b.push(a.reason)}if(c.variant){let a=k(c.variant,"variant");a.valid||b.push(a.reason)}if(c.title){let a=l(c.title);a.valid||b.push(a.reason)}return{result:c,errors:b}}function n(a){let b={};return a.model&&g.has(a.cliToolId)&&(b.model=a.model),h.has(a.cliToolId)&&(a.agent&&(b.agent=a.agent),a.variant&&(b.variant=a.variant),a.continueSession&&(b.continueSession=!0),a.title&&(b.title=a.title)),Object.keys(b).length>0?b:void 0}},15003:(a,b,c)=>{c.d(b,{QD:()=>h,Vh:()=>g,fp:()=>d,j0:()=>f,ri:()=>i});let d="CMATE.md",e=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F\x80-\x9F\u200B-\u200F\u2028-\u202F\uFEFF]/;function f(a){return a.replace(RegExp(e.source,"g"),"")}let g=/^[\w\u3000-\u303F\u3040-\u309F\u30A0-\u30FF\u4E00-\u9FFF\uF900-\uFAFF\s-]{1,100}$/,h=100;function i(a){if(a.length>100)return!1;let b=a.trim().split(/\s+/);return b.length>=5&&b.length<=6}},56793:(a,b,c)=>{c.d(b,{DL:()=>G,Yg:()=>F,oX:()=>E});var d=c(73736),e=c(79748),f=c(33873),g=c.n(f),h=c(15194),i=c(12540),j=c(20137);let k=["edit_file","write_file","shell_command","monitor_command","kill_shell"];var l=c(15003),m=c(72626);let n=(0,m.h)("cmate-parser");async function o(a,b){let c=await (0,e.realpath)(a),d=await (0,e.realpath)(b);if(!c.startsWith(d+g().sep)&&c!==g().join(d,l.fp))throw Error(`Path traversal detected: ${a} is not within ${b}`);return!0}async function p(a){let b=g().join(a,l.fp);try{await o(b,a);let c=await (0,e.readFile)(b,"utf-8");return function(a){let b=new Map,c=a.split("\n"),d=null,e=!1,f=!1;for(let a of c){let c=a.trim(),g=c.match(/^##\s+(.+)$/);if(g){d=g[1].trim(),e=!1,f=!1,b.has(d)||b.set(d,[]);continue}if(!c||!c.startsWith("|")||!d)continue;if(!e){e=!0;continue}if(!f){if(c.match(/^\|[\s-:|]+\|$/)){f=!0;continue}f=!0}let h=c.split("|").slice(1,-1).map(a=>a.trim());h.length>0&&b.get(d).push(h)}return b}(c)}catch(a){if(a instanceof Error&&"code"in a&&"ENOENT"===a.code)return null;throw a}}var q=c(34207),r=c(55511),s=c(29021);let t=(0,m.h)("cron-parser");function u(){let{getDbInstance:a}=c(88807);return a()}let v=(0,m.h)("job-executor");function w(){let{getDbInstance:a}=c(88807);return a()}function x(a,b,c,d){let e=w(),f=Date.now();e.prepare(`
1
+ "use strict";exports.id=6793,exports.ids=[6793],exports.modules={15003:(a,b,c)=>{c.d(b,{QD:()=>h,Vh:()=>g,fp:()=>d,j0:()=>f,ri:()=>i});let d="CMATE.md",e=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F\x80-\x9F\u200B-\u200F\u2028-\u202F\uFEFF]/;function f(a){return a.replace(RegExp(e.source,"g"),"")}let g=/^[\w\u3000-\u303F\u3040-\u309F\u30A0-\u30FF\u4E00-\u9FFF\uF900-\uFAFF\s-]{1,100}$/,h=100;function i(a){if(a.length>100)return!1;let b=a.trim().split(/\s+/);return b.length>=5&&b.length<=6}},56793:(a,b,c)=>{c.d(b,{DL:()=>G,Yg:()=>F,oX:()=>E});var d=c(73736),e=c(79748),f=c(33873),g=c.n(f),h=c(15194),i=c(80252),j=c(20137);let k=["edit_file","write_file","shell_command","monitor_command","kill_shell"];var l=c(15003),m=c(72626);let n=(0,m.h)("cmate-parser");async function o(a,b){let c=await (0,e.realpath)(a),d=await (0,e.realpath)(b);if(!c.startsWith(d+g().sep)&&c!==g().join(d,l.fp))throw Error(`Path traversal detected: ${a} is not within ${b}`);return!0}async function p(a){let b=g().join(a,l.fp);try{await o(b,a);let c=await (0,e.readFile)(b,"utf-8");return function(a){let b=new Map,c=a.split("\n"),d=null,e=!1,f=!1;for(let a of c){let c=a.trim(),g=c.match(/^##\s+(.+)$/);if(g){d=g[1].trim(),e=!1,f=!1,b.has(d)||b.set(d,[]);continue}if(!c||!c.startsWith("|")||!d)continue;if(!e){e=!0;continue}if(!f){if(c.match(/^\|[\s-:|]+\|$/)){f=!0;continue}f=!0}let h=c.split("|").slice(1,-1).map(a=>a.trim());h.length>0&&b.get(d).push(h)}return b}(c)}catch(a){if(a instanceof Error&&"code"in a&&"ENOENT"===a.code)return null;throw a}}var q=c(34207),r=c(55511),s=c(29021);let t=(0,m.h)("cron-parser");function u(){let{getDbInstance:a}=c(88807);return a()}let v=(0,m.h)("job-executor");function w(){let{getDbInstance:a}=c(88807);return a()}function x(a,b,c,d){let e=w(),f=Date.now();e.prepare(`
2
2
  UPDATE execution_logs SET status = ?, result = ?, exit_code = ?, completed_at = ? WHERE id = ?
3
3
  `).run(b,c,d,f,a)}async function y(a){let b;if(a.isExecuting)return void v.warn("execution:skip-concurrent",{name:a.entry.name});a.isExecuting=!0;try{b=function(a,b,c){let d=w(),e=Date.now(),f=(0,r.randomUUID)();return d.prepare(`
4
4
  INSERT INTO execution_logs (id, schedule_id, worktree_id, message, status, started_at, created_at)
@@ -1 +1 @@
1
- "use strict";exports.id=7685,exports.ids=[7685],exports.modules={80066:a=>{a.exports=JSON.parse('{"confirmationFromClaude":"Claudeからの確認","confirmationFrom":"{toolName}からの確認","sending":"送信中...","default":"デフォルト","yes":"はい / Yes","no":"いいえ / No","enterValuePlaceholder":"値を入力してください...","submit":"送信","yesNoGroupLabel":"はい / いいえ の選択肢","selectAnOption":"選択肢を選んでください","customValueInput":"カスタム値の入力","unclassifiedTitle":"ダイアログが開いていますが、選択肢を読み取れませんでした。","unclassifiedInstruction":"ターミナルで応答するか、{command} で選択肢の「番号」を送ってください。番号つきダイアログでは「yes」「no」といった語は解決されません。","unclassifiedRespondCommand":"commandmate respond [worktree-id] [番号]","askUserQuestionProgress":"エージェントからの質問 {index}/{total}","askUserQuestionSource":"選択肢はエージェントから取得しました"}')}};
1
+ "use strict";exports.id=7685,exports.ids=[7685],exports.modules={80066:a=>{a.exports=JSON.parse('{"confirmationFromClaude":"Claudeからの確認","confirmationFrom":"{toolName}からの確認","sending":"送信中...","default":"デフォルト","yes":"はい / Yes","no":"いいえ / No","enterValuePlaceholder":"値を入力してください...","submit":"送信","yesNoGroupLabel":"はい / いいえ の選択肢","selectAnOption":"選択肢を選んでください","selectAllThatApply":"当てはまるものをすべて選んでください","multiSelectHint":"複数選べます。チェックした項目だけがエージェントに送られます。","customValueInput":"カスタム値の入力","unclassifiedTitle":"ダイアログが開いていますが、選択肢を読み取れませんでした。","unclassifiedInstruction":"ターミナルで応答するか、{command} で選択肢の「番号」を送ってください。番号つきダイアログでは「yes」「no」といった語は解決されません。","unclassifiedRespondCommand":"commandmate respond [worktree-id] [番号]","askUserQuestionProgress":"エージェントからの質問 {index}/{total}","askUserQuestionSource":"選択肢はエージェントから取得しました"}')}};
@@ -1 +1 @@
1
- "use strict";exports.id=7905,exports.ids=[7905],exports.modules={1305:(a,b,c)=>{c.d(b,{Fq:()=>l,wK:()=>m});var d=c(22354),e=c(48083),f=c(88807),g=c(52660),h=c(54325),i=c(72626);let j=(0,i.h)("lib/session/session-generation-archive"),k=(0,i.h)("lib/session/agent-session-lifecycle");function l(a,b=Date.now()){let i=(0,e.getAgentEventDropCounts)(a.worktreeId,a.cliToolId,a.instanceId).decisionEvicted;(0,e.beginAgentEventGeneration)(a.worktreeId,a.cliToolId,a.instanceId,b);let m=(0,e.getAgentEventDropCounts)(a.worktreeId,a.cliToolId,a.instanceId).decisionEvicted,n=(0,d.VM)(a.cliToolId);k.info("agent-session-generation-begun",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,transport:n.transport,decisionsEvicted:m-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){k.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 m(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,Em:()=>o,Is:()=>g,KI:()=>j,PY:()=>m,Rk:()=>l,Uc:()=>d,Zf:()=>h,kZ:()=>p,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=100,p=1e3},40236:(a,b,c)=>{c.d(b,{FW:()=>A});var d=c(79646),e=c(79892),f=c(93997),g=c(56717),h=c(85164),i=c(20610),j=c(72626),k=c(87673);let l=(0,j.h)("cli-tools/submit-verified-sender"),m=/\[Pasted text[\s#]/,n=0,o=/^\/[A-Za-z]/,p=/^\s*(?:ctx:\d+%\s*)?[>❯›]/;function q(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(p.test(a[b]))return a[b];return null}(c);if(null===d)return{kind:"absent"};let e=d.replace(p,"").trim();return 0===e.length?{kind:"empty"}:{kind:"text",text:e,rows:[d]}}function r(a){let b=a.length;for(;b>0&&""===a[b-1].trim();)b--;return a.slice(0,b)}function s(a,b){let c=b.split("\n").map(a=>a.trim()).find(a=>a.length>0)??"";return 0!==c.length&&c.startsWith(a)}let t=[{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 u(a){let b=[],c=a;for(let{pattern:d,read:e}of t)for(let f of a.matchAll(d))b.push(e(f)),c=c.replace(f[0],"");return{tokens:b,rest:c.trim()}}function v(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 w(a,b){let c=`cm-send-${process.pid}-${++n}`;try{await v(["load-buffer","-b",c,"-"],b),await v(["paste-buffer","-p","-r","-d","-b",c,"-t",(0,e.lA)(a)])}catch(b){await v(["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}`)}}async function x(a,b,c){try{c.clearBeforeSend?await (0,k.sr)(a,b):await (0,e.Ce)(a)}catch(c){l.error("paste-withdraw-failed",{sessionName:a,cliToolId:b,error:c instanceof Error?c.message:String(c)})}}async function y(a){let{sessionName:b,message:c,cliToolId:d,composer:i,attempts:j}=a,k="unseen",m="";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=r((0,h.aJ)(a).split("\n")),f=q(d.reader,e,e.slice(-12));if("text"!==f.kind)return"unseen";let{tokens:i,rest:j}=u(f.text);return 0===i.length?s(f.text,c)?"landed":c.includes(f.text)?"mismatch":"unseen":i.length>1||""!==j?"mismatch":function(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"}(i[0],c)}(m=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 l.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=function(a,b){let c=r((0,h.aJ)(a).split("\n")),d=q(b.reader,c,c.slice(-12));return"absent"===d.kind?"no composer on screen":"empty"===d.kind?"an empty composer":JSON.stringify(d.text.length>80?`${d.text.slice(0,80)}…`:d.text)}(m,i);await x(b,d,i),(0,f.gm)(b),l.error("paste-not-landed",{sessionName:b,cliToolId:d,state:k,bytes:n,lines:o,shown:p});let t="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}: ${t}; the message is ${n} bytes / ${o} lines. Enter was not pressed, so nothing was submitted (Issue #2464).`)}async function z(a,b,c=(0,g.gc)(b)){if(!c.clearBeforeSend)return;let d=await (0,k.sr)(a,b);if("content"===d.state)throw l.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&&l.warn("pre-send-composer-cleared",{sessionName:a,cliToolId:b,passes:d.passes,state:d.state,discardedLength:d.discardedText.length,discardedText:d.discardedText})}async function A(a){let{sessionName:b,message:c,cliToolId:d,composer:j=(0,g.gc)(d),textInputWaitMs:k=i.pL,interEnterWaitMs:n=i.pL,verifyAttempts:p=4,verifyDelayMs:t=i.x9,pasteLandedAttempts:v=20}=a,x=a.submitEnterCount??j.submitEnterCount;if(await z(b,d,j),Buffer.byteLength(c,"utf8")>512){let a=Date.now();await w(b,c),await y({sessionName:b,message:c,cliToolId:d,composer:j,attempts:v});let e=k-(Date.now()-a);e>0&&await new Promise(a=>setTimeout(a,e))}else await (0,e.V1)(b,c,!1,{literal:!0}),await new Promise(a=>setTimeout(a,k));for(let a=0;a<Math.max(1,x);a++)await (0,e.KB)(b,["Enter"]),a<x-1&&await new Promise(a=>setTimeout(a,n));let A=Math.max(1,p);for(let a=0;a<A;a++){await new Promise(a=>setTimeout(a,t));let i=function(a,b,c,d=(0,g.gc)(b)){let e=r((0,h.aJ)(a).split("\n")),f=e.slice(-12),i=f.join("\n");if((0,h.ut)(b,i))return"submitted";let j=q(d.reader,e,f);return"text"!==j.kind?"submitted":j.rows.some(a=>m.test(a)||u(a).tokens.length>0)||s(j.text,c)?"pending":o.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){l.error("submit-clear-input-failed",{sessionName:b,cliToolId:d,error:a instanceof Error?a.message:String(a)})}throw(0,f.gm)(b),l.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.`)}l.warn("submit-not-confirmed:resending-enter",{sessionName:b,cliToolId:d,attempt:a}),await (0,e.KB)(b,["Enter"])}throw(0,f.gm)(b),l.error("submit-verification-failed",{sessionName:b,cliToolId:d,attempts:A}),Error(`Message submit could not be confirmed for session ${b} after ${A} attempts (typed but unsent)`)}},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}};function g(a){return f[a]??e}},57905:(a,b,c)=>{c.d(b,{c0:()=>P,zw:()=>L,Yq:()=>M,pU:()=>O,R7:()=>N,VU:()=>Q});var d=c(79892),e=c(85164),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(15194),y=c(22354),z=c(1305),A=c(48083),B=c(2669);let C=(0,o.h)("claude-session"),D=(0,n.promisify)(m.exec),E=(0,g.H7)("claude"),F=null;async function G(){if(F)return F;let a=process.env.CLAUDE_PATH;if(a&&(/^[/a-zA-Z0-9._-]+$/.test(a)?!a.includes("..")||(C.info("claudepath-contains-path"),!1):(C.info("claudepath-contains-invalid-characters-i"),!1)))try{return await (0,w.access)(a,w.constants.X_OK),F=a}catch{C.info("claudepath-is-not-executable:envclaudepa")}try{let{stdout:a}=await D("which claude",{timeout:5e3});return F=a.trim()}catch{for(let a of["/opt/homebrew/bin/claude","/usr/local/bin/claude","/usr/bin/claude"])try{return await D(`test -x "${a}"`,{timeout:1e3}),F=a}catch{}throw Error("Claude CLI not found. Set CLAUDE_PATH environment variable or install Claude CLI.")}}async function H(a,b=50){let c=await (0,d.Xg)(a,{startLine:-b});return(0,e.aJ)(c)}async function I(a){let b=await (0,h.Q)(a,E);return b.alive?{healthy:!0}:{healthy:!1,reason:b.reason}}async function J(a){return!!(await I(a)).healthy||(C.warn("session-sessionname-unhealthy:resultreas"),await (0,d.fY)(a),!1)}function K(a,b){let c=`mcbd-claude-${a}`;if(!b||"claude"===b)return c;let d=(0,x.pL)(b,"claude");return d?`${c}-${d}`:c}async function L(){try{return await D("which claude",{timeout:5e3}),!0}catch{return!1}}async function M(a,b){let c=K(a,b);return!!await (0,d.N)(c)&&(!!(await I(c)).healthy||(C.warn("session-sessionname-unhealthy:resultreas"),!1))}async function N(a){let{worktreeId:b,worktreePath:c,instanceId:g}=a;if(!await L())throw new B.lU("Claude Code","Claude CLI is not installed or not in PATH");let h=K(b,g);if(await (0,d.N)(h)&&await J(h)){await (0,d.zT)(h),C.info("claude-session-sessionname");return}(0,z.Fq)({worktreeId:b,cliToolId:y.vm,instanceId:g});try{await (0,d.jw)({sessionName:h,workingDirectory:c}),await s(h);let a=await G(),j=(0,z.wK)({target:{worktreeId:b,cliToolId:y.vm,instanceId:g},executablePath:a,worktreePath:c});await (0,d.V1)(h,j,!0);let k=Date.now(),l=!1,m=!1;for(;Date.now()-k<6e4;){var i;await new Promise(a=>setTimeout(a,300));let a=null;try{a=await H(h)}catch{}if(null===a)continue;if(e.hx.test(a)){await new Promise(a=>setTimeout(a,500)),C.info("claude-initialized-in"),l=!0;break}if(!m&&e.CX.test(a))try{await (0,d.V1)(h,"",!0),m=!0,C.info("trust-dialog-detected")}catch{}let b=(i=a,(0,f.ow)(i,E));if(null!==b)throw new B.mR("Claude Code",h,b)}if(!l)throw new B.Sr("Claude Code",h,6e4);C.info("started-claude-session:sessionname")}catch(a){if(F=null,C.error("session:start-failed",{error:a instanceof Error?a.message:String(a)}),(0,B.su)(a))throw a;throw Error("Failed to start Claude session")}}async function O(a,b,c){let d=K(a,c);await u(d,b,500,1e4)}async function P(a,b=1e3,c){let e=K(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 Q(a,b){let c=K(a,b),d=await v(c);return(0,A.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(85164),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:[],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]},"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:()=>l,wK:()=>m});var d=c(22354),e=c(48083),f=c(88807),g=c(52660),h=c(54325),i=c(72626);let j=(0,i.h)("lib/session/session-generation-archive"),k=(0,i.h)("lib/session/agent-session-lifecycle");function l(a,b=Date.now()){let i=(0,e.getAgentEventDropCounts)(a.worktreeId,a.cliToolId,a.instanceId).decisionEvicted;(0,e.beginAgentEventGeneration)(a.worktreeId,a.cliToolId,a.instanceId,b);let m=(0,e.getAgentEventDropCounts)(a.worktreeId,a.cliToolId,a.instanceId).decisionEvicted,n=(0,d.VM)(a.cliToolId);k.info("agent-session-generation-begun",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,transport:n.transport,decisionsEvicted:m-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){k.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 m(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,Em:()=>o,Is:()=>g,KI:()=>j,PY:()=>m,Rk:()=>l,Uc:()=>d,Zf:()=>h,kZ:()=>p,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=100,p=1e3},40236:(a,b,c)=>{c.d(b,{FW:()=>A});var d=c(79646),e=c(79892),f=c(93997),g=c(56717),h=c(85164),i=c(20610),j=c(72626),k=c(87673);let l=(0,j.h)("cli-tools/submit-verified-sender"),m=/\[Pasted text[\s#]/,n=0,o=/^\/[A-Za-z]/,p=/^\s*(?:ctx:\d+%\s*)?[>❯›]/;function q(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(p.test(a[b]))return a[b];return null}(c);if(null===d)return{kind:"absent"};let e=d.replace(p,"").trim();return 0===e.length?{kind:"empty"}:{kind:"text",text:e,rows:[d]}}function r(a){let b=a.length;for(;b>0&&""===a[b-1].trim();)b--;return a.slice(0,b)}function s(a,b){let c=b.split("\n").map(a=>a.trim()).find(a=>a.length>0)??"";return 0!==c.length&&c.startsWith(a)}let t=[{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 u(a){let b=[],c=a;for(let{pattern:d,read:e}of t)for(let f of a.matchAll(d))b.push(e(f)),c=c.replace(f[0],"");return{tokens:b,rest:c.trim()}}function v(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 w(a,b){let c=`cm-send-${process.pid}-${++n}`;try{await v(["load-buffer","-b",c,"-"],b),await v(["paste-buffer","-p","-r","-d","-b",c,"-t",(0,e.lA)(a)])}catch(b){await v(["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}`)}}async function x(a,b,c){try{c.clearBeforeSend?await (0,k.sr)(a,b):await (0,e.Ce)(a)}catch(c){l.error("paste-withdraw-failed",{sessionName:a,cliToolId:b,error:c instanceof Error?c.message:String(c)})}}async function y(a){let{sessionName:b,message:c,cliToolId:d,composer:i,attempts:j}=a,k="unseen",m="";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=r((0,h.aJ)(a).split("\n")),f=q(d.reader,e,e.slice(-12));if("text"!==f.kind)return"unseen";let{tokens:i,rest:j}=u(f.text);return 0===i.length?s(f.text,c)?"landed":c.includes(f.text)?"mismatch":"unseen":i.length>1||""!==j?"mismatch":function(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"}(i[0],c)}(m=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 l.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=function(a,b){let c=r((0,h.aJ)(a).split("\n")),d=q(b.reader,c,c.slice(-12));return"absent"===d.kind?"no composer on screen":"empty"===d.kind?"an empty composer":JSON.stringify(d.text.length>80?`${d.text.slice(0,80)}…`:d.text)}(m,i);await x(b,d,i),(0,f.gm)(b),l.error("paste-not-landed",{sessionName:b,cliToolId:d,state:k,bytes:n,lines:o,shown:p});let t="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}: ${t}; the message is ${n} bytes / ${o} lines. Enter was not pressed, so nothing was submitted (Issue #2464).`)}async function z(a,b,c=(0,g.gc)(b)){if(!c.clearBeforeSend)return;let d=await (0,k.sr)(a,b);if("content"===d.state)throw l.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&&l.warn("pre-send-composer-cleared",{sessionName:a,cliToolId:b,passes:d.passes,state:d.state,discardedLength:d.discardedText.length,discardedText:d.discardedText})}async function A(a){let{sessionName:b,message:c,cliToolId:d,composer:j=(0,g.gc)(d),textInputWaitMs:k=i.pL,interEnterWaitMs:n=i.pL,verifyAttempts:p=4,verifyDelayMs:t=i.x9,pasteLandedAttempts:v=20}=a,x=a.submitEnterCount??j.submitEnterCount;if(await z(b,d,j),Buffer.byteLength(c,"utf8")>512){let a=Date.now();await w(b,c),await y({sessionName:b,message:c,cliToolId:d,composer:j,attempts:v});let e=k-(Date.now()-a);e>0&&await new Promise(a=>setTimeout(a,e))}else await (0,e.V1)(b,c,!1,{literal:!0}),await new Promise(a=>setTimeout(a,k));for(let a=0;a<Math.max(1,x);a++)await (0,e.KB)(b,["Enter"]),a<x-1&&await new Promise(a=>setTimeout(a,n));let A=Math.max(1,p);for(let a=0;a<A;a++){await new Promise(a=>setTimeout(a,t));let i=function(a,b,c,d=(0,g.gc)(b)){let e=r((0,h.aJ)(a).split("\n")),f=e.slice(-12),i=f.join("\n");if((0,h.ut)(b,i))return"submitted";let j=q(d.reader,e,f);return"text"!==j.kind?"submitted":j.rows.some(a=>m.test(a)||u(a).tokens.length>0)||s(j.text,c)?"pending":o.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){l.error("submit-clear-input-failed",{sessionName:b,cliToolId:d,error:a instanceof Error?a.message:String(a)})}throw(0,f.gm)(b),l.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.`)}l.warn("submit-not-confirmed:resending-enter",{sessionName:b,cliToolId:d,attempt:a}),await (0,e.KB)(b,["Enter"])}throw(0,f.gm)(b),l.error("submit-verification-failed",{sessionName:b,cliToolId:d,attempts:A}),Error(`Message submit could not be confirmed for session ${b} after ${A} attempts (typed but unsent)`)}},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}};function g(a){return f[a]??e}},57905:(a,b,c)=>{c.d(b,{c0:()=>R,zw:()=>N,Yq:()=>O,pU:()=>Q,R7:()=>P,VU:()=>S});var d=c(79892),e=c(85164),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(15194),y=c(22354),z=c(43252),A=c(80252),B=c(1305),C=c(48083),D=c(2669);let E=(0,o.h)("claude-session"),F=(0,n.promisify)(m.exec),G=(0,g.H7)("claude"),H=null;async function I(){if(H)return H;let a=process.env.CLAUDE_PATH;if(a&&(/^[/a-zA-Z0-9._-]+$/.test(a)?!a.includes("..")||(E.info("claudepath-contains-path"),!1):(E.info("claudepath-contains-invalid-characters-i"),!1)))try{return await (0,w.access)(a,w.constants.X_OK),H=a}catch{E.info("claudepath-is-not-executable:envclaudepa")}try{let{stdout:a}=await F("which claude",{timeout:5e3});return H=a.trim()}catch{for(let a of["/opt/homebrew/bin/claude","/usr/local/bin/claude","/usr/bin/claude"])try{return await F(`test -x "${a}"`,{timeout:1e3}),H=a}catch{}throw Error("Claude CLI not found. Set CLAUDE_PATH environment variable or install Claude CLI.")}}async function J(a,b=50){let c=await (0,d.Xg)(a,{startLine:-b});return(0,e.aJ)(c)}async function K(a){let b=await (0,h.Q)(a,G);return b.alive?{healthy:!0}:{healthy:!1,reason:b.reason}}async function L(a){return!!(await K(a)).healthy||(E.warn("session-sessionname-unhealthy:resultreas"),await (0,d.fY)(a),!1)}function M(a,b){let c=`mcbd-claude-${a}`;if(!b||"claude"===b)return c;let d=(0,x.pL)(b,"claude");return d?`${c}-${d}`:c}async function N(){try{return await F("which claude",{timeout:5e3}),!0}catch{return!1}}async function O(a,b){let c=M(a,b);return!!await (0,d.N)(c)&&(!!(await K(c)).healthy||(E.warn("session-sessionname-unhealthy:resultreas"),!1))}async function P(a){let{worktreeId:b,worktreePath:c,instanceId:g,model:h}=a;if(void 0!==h){let a=(0,A.LB)(h);if(!a.valid)throw Error(`Invalid Claude model name: ${a.reason}`)}if(!await N())throw new D.lU("Claude Code","Claude CLI is not installed or not in PATH");let i=M(b,g);if(await (0,d.N)(i)&&await L(i)){await (0,d.zT)(i),E.info("claude-session-sessionname");return}(0,B.Fq)({worktreeId:b,cliToolId:y.vm,instanceId:g});try{await (0,d.jw)({sessionName:i,workingDirectory:c}),await s(i);let a=await I(),k=(0,B.wK)({target:{worktreeId:b,cliToolId:y.vm,instanceId:g},executablePath:a,worktreePath:c}),l=void 0===h?k:`${k} --model ${(0,z.ZL)(h)}`;await (0,d.V1)(i,l,!0);let m=Date.now(),n=!1,o=!1;for(;Date.now()-m<6e4;){var j;await new Promise(a=>setTimeout(a,300));let a=null;try{a=await J(i)}catch{}if(null===a)continue;if(e.hx.test(a)){await new Promise(a=>setTimeout(a,500)),E.info("claude-initialized-in"),n=!0;break}if(!o&&e.CX.test(a))try{await (0,d.V1)(i,"",!0),o=!0,E.info("trust-dialog-detected")}catch{}let b=(j=a,(0,f.ow)(j,G));if(null!==b)throw new D.mR("Claude Code",i,b)}if(!n)throw new D.Sr("Claude Code",i,6e4);E.info("started-claude-session:sessionname")}catch(a){if(H=null,E.error("session:start-failed",{error:a instanceof Error?a.message:String(a)}),(0,D.su)(a))throw a;throw Error("Failed to start Claude session")}}async function Q(a,b,c){let d=M(a,c);await u(d,b,500,1e4)}async function R(a,b=1e3,c){let e=M(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 S(a,b){let c=M(a,b),d=await v(c);return(0,C.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(85164),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:[],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]},"vibe-local":{...f,...g,alivePatterns:[d.Dj,d.b2]}};function i(a){return h[a]??h.claude}}};