commandmate 0.44.0 → 0.44.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 (277) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +348 -352
  3. package/.next/app-path-routes-manifest.json +40 -40
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/prerender-manifest.json +9 -9
  6. package/.next/react-loadable-manifest.json +3 -3
  7. package/.next/required-server-files.json +1 -1
  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_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/capabilities/route.js +1 -1
  18. package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  24. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/hooks/agent-event/route.js +2 -2
  27. package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/hooks/claude-done/route.js +2 -2
  29. package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/hooks/permission-request/route.js +1 -1
  31. package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/relays/[relayId]/cancel/route.js +1 -1
  38. package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/relays/route.js +1 -1
  40. package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/remote/pair/route.js +2 -2
  42. package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
  45. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/repositories/clone/route.js +1 -1
  47. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  48. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/api/repositories/restore/route.js +1 -1
  50. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  51. package/.next/server/app/api/repositories/route.js +1 -1
  52. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  53. package/.next/server/app/api/repositories/scan/route.js +1 -1
  54. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/repositories/sync/route.js +1 -1
  56. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  57. package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/settings/default-agents/route.js +1 -1
  59. package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
  60. package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
  61. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
  64. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
  66. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  67. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  70. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  72. package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
  73. package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
  75. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  76. package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -1
  77. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  78. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js +1 -1
  79. package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  82. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
  84. package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/worktrees/[id]/direct-input/route.js +1 -1
  86. package/.next/server/app/api/worktrees/[id]/direct-input/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
  88. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
  90. package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
  92. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
  94. package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
  95. package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
  97. package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
  98. package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
  100. package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
  102. package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
  104. package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
  106. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
  107. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
  109. package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
  110. package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
  111. package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
  112. package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
  113. package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
  114. package/.next/server/app/api/worktrees/[id]/instances/notes/route_client-reference-manifest.js +1 -1
  115. package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js +1 -1
  116. package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
  118. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  119. package/.next/server/app/api/worktrees/[id]/kill-session/route.js +1 -1
  120. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  121. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  122. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  123. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  124. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  125. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  126. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  127. package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
  128. package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
  129. package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
  130. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
  131. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
  133. package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
  134. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  135. package/.next/server/app/api/worktrees/[id]/route.js +1 -1
  136. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  137. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  138. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  139. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  140. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  141. package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
  142. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  143. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js +1 -1
  144. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
  145. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  146. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  147. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  148. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  149. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
  150. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
  151. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  152. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  153. package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
  154. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  155. package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
  156. package/.next/server/app/api/worktrees/[id]/terminal/route.js +1 -1
  157. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  158. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  159. package/.next/server/app/api/worktrees/[id]/timers/route.js +1 -1
  160. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  161. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  162. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  163. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  164. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  165. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  166. package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
  167. package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
  168. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
  169. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
  170. package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
  171. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  172. package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
  173. package/.next/server/app/api/worktrees/route.js +1 -1
  174. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  175. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  176. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  177. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  178. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  179. package/.next/server/app/page_client-reference-manifest.js +1 -1
  180. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  181. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  182. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  183. package/.next/server/app/sessions/page.js +1 -1
  184. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  185. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  186. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
  187. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  188. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  189. package/.next/server/app/worktrees/[id]/page.js +9 -9
  190. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  191. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  192. package/.next/server/app-paths-manifest.json +40 -40
  193. package/.next/server/chunks/1068.js +1 -1
  194. package/.next/server/chunks/2119.js +1 -1
  195. package/.next/server/chunks/2404.js +1 -1
  196. package/.next/server/chunks/2445.js +1 -1
  197. package/.next/server/chunks/2816.js +1 -1
  198. package/.next/server/chunks/6130.js +1 -1
  199. package/.next/server/chunks/6401.js +1 -1
  200. package/.next/server/chunks/6474.js +3 -3
  201. package/.next/server/chunks/650.js +1 -1
  202. package/.next/server/chunks/7685.js +1 -1
  203. package/.next/server/chunks/7905.js +1 -1
  204. package/.next/server/chunks/8581.js +2 -2
  205. package/.next/server/chunks/8728.js +2 -2
  206. package/.next/server/chunks/9390.js +1 -1
  207. package/.next/server/chunks/9731.js +3 -3
  208. package/.next/server/chunks/9882.js +2 -2
  209. package/.next/server/middleware-build-manifest.js +1 -1
  210. package/.next/server/middleware-manifest.json +5 -5
  211. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  212. package/.next/server/pages/500.html +1 -1
  213. package/.next/server/pages-manifest.json +1 -1
  214. package/.next/server/server-reference-manifest.json +1 -1
  215. package/.next/static/chunks/{2407-340774f1a24f2b45.js → 2407-f1f258d4a1d92620.js} +1 -1
  216. package/.next/static/chunks/344-e1cefd00787060e4.js +1 -0
  217. package/.next/static/chunks/3922.f45dcfc1e7da552a.js +1 -0
  218. package/.next/static/chunks/591-308072f285c34787.js +1 -0
  219. package/.next/static/chunks/6654-ac431270fac1a283.js +1 -0
  220. package/.next/static/chunks/{9619-84aced0846cbe3ac.js → 9619-6c17a271f7f98fbb.js} +1 -1
  221. package/.next/static/chunks/998-2eb5883186abd0bd.js +1 -0
  222. package/.next/static/chunks/app/layout-da66300cc20244ed.js +1 -0
  223. package/.next/static/chunks/app/more/{page-30057cf1e0762ad2.js → page-87c84987b2765213.js} +1 -1
  224. package/.next/static/chunks/app/{page-8483ba400af011f5.js → page-1b820c421db48c2c.js} +1 -1
  225. package/.next/static/chunks/app/review/page-95f749caae382f46.js +1 -0
  226. package/.next/static/chunks/app/sessions/page-049e06335187aa91.js +1 -0
  227. package/.next/static/chunks/app/worktrees/[id]/page-040c5f0f585e6812.js +1 -0
  228. package/.next/static/chunks/{webpack-49ade0526854dd4e.js → webpack-021f0741f22dd16a.js} +1 -1
  229. package/.next/trace +13 -13
  230. package/README.md +72 -25
  231. package/dist/cli/commands/remote.d.ts +10 -0
  232. package/dist/cli/commands/remote.d.ts.map +1 -1
  233. package/dist/cli/commands/remote.js +17 -1
  234. package/dist/cli/commands/wait.d.ts.map +1 -1
  235. package/dist/cli/commands/wait.js +11 -0
  236. package/dist/cli/docs/setup-guide.d.ts +1 -1
  237. package/dist/cli/docs/setup-guide.d.ts.map +1 -1
  238. package/dist/cli/docs/setup-guide.js +2 -0
  239. package/dist/cli/types/api-responses.d.ts +10 -0
  240. package/dist/cli/types/api-responses.d.ts.map +1 -1
  241. package/dist/lib/detection/status-reason.d.ts +17 -0
  242. package/dist/lib/detection/status-reason.d.ts.map +1 -1
  243. package/dist/lib/detection/status-reason.js +17 -0
  244. package/dist/server/locales/en/worktree.json +13 -1
  245. package/dist/server/locales/ja/worktree.json +13 -1
  246. package/dist/server/src/config/session-starting-config.js +75 -0
  247. package/dist/server/src/lib/cli-tools/antigravity.js +2 -1
  248. package/dist/server/src/lib/cli-tools/base.js +15 -1
  249. package/dist/server/src/lib/cli-tools/codex.js +3 -2
  250. package/dist/server/src/lib/cli-tools/command-code.js +3 -2
  251. package/dist/server/src/lib/cli-tools/copilot.js +2 -1
  252. package/dist/server/src/lib/cli-tools/gemini.js +2 -1
  253. package/dist/server/src/lib/cli-tools/liveness-spec.js +27 -9
  254. package/dist/server/src/lib/cli-tools/opencode-v2.js +2 -1
  255. package/dist/server/src/lib/cli-tools/opencode.js +2 -1
  256. package/dist/server/src/lib/cli-tools/vibe-local.js +2 -1
  257. package/dist/server/src/lib/detection/status-reason.js +17 -0
  258. package/dist/server/src/lib/detection/tool-liveness.js +3 -1
  259. package/dist/server/src/lib/realtime/terminal-broadcast.js +5 -0
  260. package/dist/server/src/lib/session/agent-session-lifecycle.js +11 -0
  261. package/dist/server/src/lib/session/claude-session.js +7 -1
  262. package/dist/server/src/lib/session/current-output-builder.js +49 -21
  263. package/dist/server/src/lib/session/launch-screen.js +57 -0
  264. package/dist/server/src/lib/session/session-starting-state.js +236 -0
  265. package/package.json +1 -1
  266. package/release-notes/0.44.1.json +54 -0
  267. package/.next/static/chunks/344-6f9fc1f38f01a839.js +0 -1
  268. package/.next/static/chunks/3922.8e79fc89f593280b.js +0 -1
  269. package/.next/static/chunks/5449-6cb80bab2bd06b79.js +0 -1
  270. package/.next/static/chunks/591-0a45801e83f26f24.js +0 -1
  271. package/.next/static/chunks/6966-bb854d1145783a64.js +0 -1
  272. package/.next/static/chunks/app/layout-0fc249fb7de75a27.js +0 -1
  273. package/.next/static/chunks/app/review/page-ff9efae3f86eb840.js +0 -1
  274. package/.next/static/chunks/app/sessions/page-55297155e7bf01b9.js +0 -1
  275. package/.next/static/chunks/app/worktrees/[id]/page-d2103e0c25be83c8.js +0 -1
  276. /package/.next/static/{wu7SUiHTirFcrpo5teyZ3 → 57lOiz8zSEHdw97XIm0af}/_buildManifest.js +0 -0
  277. /package/.next/static/{wu7SUiHTirFcrpo5teyZ3 → 57lOiz8zSEHdw97XIm0af}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=9882,exports.ids=[9882],exports.modules={60:(a,b,c)=>{c.d(b,{QM:()=>h,V0:()=>e,ZX:()=>f,bE:()=>g});var d=c(20967);function e(a){let b=(0,d.x7)(a),c=(0,d.M4)(a,b);return{chromeStart:b,echoEnd:c,start:c+1,end:b>=0?b:a.length,headTruncated:c<0}}function f(a){let b=a.split("\n"),c=e(b.map(d.aJ));return c.start>=c.end?"":b.slice(c.start,c.end).join("\n")}function g(a){let b=a.split("\n"),c=e(b),f=c.start>=c.end?"":b.slice(c.start,c.end).join("\n");return d.$t.test(f)&&!d.kD.test(a)&&!d.Ty.test(a)}function h(a,b,c,d,e,f=!1){if(a=Math.max(0,a),"opencode"===d||"copilot"===d||f){let a=e(b);return a>=0?a+1:0}if("antigravity"===d||"command-code"===d){let c=e(b);return c>=0?c+1:Math.max(0,a)}if(a>=b||c){let a=e(40);return a>=0?a+1:0}if("codex"===d)return Math.max(0,a);if(a>=b-5){let a=e(50);return a>=0?a+1:Math.max(0,b-40)}return Math.max(0,a)}},3523:(a,b,c)=>{c.d(b,{$M:()=>U,Tq:()=>_,zX:()=>ab});var d=c(31990),e=c(88807),f=c(56791),g=c(43015),h=c(26895),i=c(28861),j=c(45150),k=c(74258),l=c(96742),m=c(18778),n=c(15194),o=c(8988),p=c(20967),q=c(72626),r=c(46423),s=c(93997),t=c(60),u=c(82450),v=c(56263),w=c(13033),x=c(72457),y=c(77244),z=c(16402),A=c(44321),B=c(71080),C=c(28918),D=c(31517),E=c(43925),F=c(40964),G=c(83598),H=c(31442),I=c(45146),J=c(91601),K=c(92010),L=c(81099),M=c(63209),N=c(73478),O=c(57836),P=c(52767);let Q=(0,q.h)("response-poller");function R(a){return b=>{try{(0,g.broadcastMessage)("message_updated",{worktreeId:a,message:b})}catch(b){Q.warn("prompt-sweep-broadcast-failed",{worktreeId:a,error:b instanceof Error?b.message:String(b)})}}}function S(a){return{response:"",isComplete:!1,lineCount:a}}function T(a,b,c,d,e,f,g,h=!1){let i=(0,t.QM)(b,c,d,e,f,h),j=a.slice(i);return{response:(0,p.aJ)(j.join("\n")),isComplete:!0,lineCount:c,promptDetection:g,bufferReset:d,captureWindowSaturated:h}}function U(a,b,c,d,e){if("antigravity"===b){let b=(0,i.g)(a);if(null!==b)return V(e)?{isPrompt:!1,cleanContent:a.trim()}:b}if("command-code"===b&&void 0!==d){let b=(0,l.nK)(d);if("prompt"===b.kind)return b.prompt;if("unsupported"===b.kind)return{isPrompt:!1,cleanContent:a.trim()}}let f=(0,p.KO)(b),g=(0,h.gF)(a,c?{...f,precomputedLines:c}:f);return"antigravity"===b&&g.isPrompt&&(0,j.Lj)((0,k.z)(d??a),g)||"antigravity"===b&&g.isPrompt&&V(e)?{isPrompt:!1,cleanContent:a.trim()}:g}function V(a){return!(void 0===a||(0,y.FD)(a.worktreeId,"antigravity",a.instanceId))&&(Q.debug("antigravity-dialog-no-recent-receipt",{worktreeId:a.worktreeId,instanceId:a.instanceId??"antigravity"}),!0)}function W(a,b,c){let d=(0,z.vm)(a,b.promptData?.type,c);return!!d.present||(Q.debug("prompt-candidate-not-vouched",{cliToolId:a,promptType:b.promptData?.type,gateMode:d.mode}),!1)}function X(a,b){return U((0,p._A)((0,p.aJ)(a)),b,void 0,a)}(0,N.I7)();let Y=D.sD.reduce((a,b)=>a+b,0),Z=globalThis.__pendingScrapedResponses??=new Map;function $(a){Z.delete(a)}function _(a,b){let c=Z.get(a);if(!c)return!1;Z.delete(a);try{let a=(0,e.getDbInstance)(),d=(0,f.createMessage)(a,{worktreeId:c.worktreeId,role:"assistant",content:c.content,messageType:"normal",timestamp:c.timestamp,cliToolId:c.cliToolId,instanceId:c.instanceId,summary:c.summary,logFileName:c.logFileName,requestId:c.requestId});return(0,g.broadcastMessage)("message",{worktreeId:c.worktreeId,message:d}),Q.info("pending-scrape-flushed",{worktreeId:c.worktreeId,cliToolId:c.cliToolId,instanceId:c.instanceId,reason:b,scrapedLength:c.content.length,heldForMs:Date.now()-c.timestamp.getTime()}),(0,m.T)(a,c.worktreeId,c.content,c.cliToolId).catch(()=>{}),!0}catch(a){return Q.warn("pending-scrape-flush-failed",{worktreeId:c.worktreeId,cliToolId:c.cliToolId,instanceId:c.instanceId,reason:b,error:a instanceof Error?a.message:String(a)}),!1}}async function aa(a){let b=Z.get(a);if(!(!b||Date.now()<b.expiresAt)){if(await (0,C.captureStructuredHistoryTurn)(b.worktreeId,b.cliToolId,b.instanceId,{worktreePath:b.worktreePath,transcriptPathHint:b.transcriptPathHint})){$(a),(0,B.oE)(a),Q.info("pending-scrape-superseded",{worktreeId:b.worktreeId,cliToolId:b.cliToolId,instanceId:b.instanceId,heldForMs:Date.now()-b.timestamp.getTime()});return}_(a,"hold-expired")}}async function ab(a,b,c){let h=(0,e.getDbInstance)(),i=c??b;try{let e=(0,f.getWorktreeById)(h,a);if(!e)return Q.error("worktree-worktreeid-not"),(0,I.Et)(a,b,c),!1;if(!await (0,d.K1)(a,b,c))return Q.info("session-not-running"),(0,I.Et)(a,b,c),!1;let j=(0,I.MN)(a,b,c);await aa(j);let k=(0,F.mf)(b,a,c),l=(0,H.n9)(k)?await (0,G.zQ)(k):{delegated:!1,released:!1};l.released&&((0,f.updateSessionState)(h,a,b,0,i),Q.info("geometry-delegation-released",{worktreeId:a,cliToolId:b,instanceId:i}));let q=(0,f.getSessionState)(h,a,i),y=q?.lastCapturedLine||0,z=await (0,d.Wh)(a,b,s.xE,c),D=z.split("\n").slice(-100).join("\n"),N=(0,M.bT)(D);if((0,L.notifyUpstreamFaultPush)({worktreeId:a,cliToolId:b,instanceId:c,faultId:N?.fault.id??null,matchedText:N?.matchedText}).catch(()=>{}),"opencode"===b||"copilot"===b){let a="opencode"===b?(0,t.ZX)(z):z;(0,w.IZ)(j,a,b)}let U=function(a,b,c,d=s.xE){let e=a.split("\n"),f=e.length;for(;f>0&&""===e[f-1].trim();)f--;let g=e.slice(0,f),h=g.length,i=(0,s.sl)(e.length,d),j="opencode"===c?g.map(p.aJ):null,k="claude"===c?(0,p.GT)(g):"copilot"===c?(0,p.wv)(g):"command-code"===c?(0,p.I$)(g):"codex"===c?(0,p.Zu)(g):j?(0,p.x7)(j):-1,l=k>=0?k:h,m=h>0&&b>25&&h+25<b,n=h>0&&b>50&&h<50,o=m||n;if(!o&&h<b-5)return null;let q=Math.max(0,h-20),u=g.slice(q),v=j?j.join("\n"):u.join("\n"),{promptPattern:w,separatorPattern:x,thinkingPattern:y,skipPatterns:z}=(0,p._X)(c),A=(a=60)=>{let b;if("codex"===c)return(0,p.Nc)(g,l,a,k>=0);if(j)return(0,t.V0)(j).echoEnd;if("copilot"===c){for(let b=l-1;b>=Math.max(0,l-a);b--){if(!p.y.test((0,p.aJ)(g[b])))continue;let a=b;for(;a+1<l&&p.Fg.test((0,p.aJ)(g[a+1]));)a++;return a}return -1}b=/^[>❯]\s+\S/;for(let c=l-1;c>=Math.max(0,l-a);c--){let a=(0,p.aJ)(g[c]);if(b.test(a))return c}return -1};if("claude"===c||"codex"===c||"copilot"===c||"command-code"===c){let a=g.join("\n"),d=X(a,c);if(d.isPrompt&&W(c,d,a))return T(g,b,h,o,c,A,d,i)}let B=(0,p.aJ)(v),C=w.test(B),D=x.test(B),E="codex"===c?(0,p.DR)(g,20):y.test(B),F="copilot"===c?(0,p.Wn)(g.slice(Math.max(0,h-8)).map(p.aJ)):null,G="copilot"===c?"idle"===F:("codex"===c||"gemini"===c||"vibe-local"===c||"antigravity"===c)&&C&&!E,H="claude"===c&&C&&D&&!E,J="command-code"===c&&C&&D&&!E,K="opencode"===c&&(0,t.bE)(B);if(G||H||J||K){let a=[],d=(0,t.QM)(b,h,o,c,A,i),e="codex"===c?l:h;for(let b=d;b<l;b++){let d=g[b],f=(0,p.aJ)(d);if("codex"===c&&/^›\s+/.test(f)||"gemini"===c&&/^(%|\$|.*@.*[%$#])\s*$/.test(f)||"antigravity"===c&&/^>\s*$/.test(f)||"opencode"===c&&k<0&&(p.sy.test(f)||p.uA.test(f))){e=b;break}z.some(a=>a.test(f))||a.push(d)}let f=a.join("\n").trim(),m=f.split("\n").slice(-r.$).join("\n");if("copilot"!==c&&y.test(m))return S(h);if("claude"===c){let a=(0,p.aJ)(f),b=/[╭╮╰╯]/.test(a)||/░{3,}/.test(a)||/▓{3,}/.test(a),c=/Claude Code v\d+\.\d+|claude\//.test(a),d=/Tip:|for shortcuts|\?\s*for help/.test(a),e=/^\s*\/Users\/.*$/m.test(a)&&a.split("\n").length<30,g=A(h)>=0,i=a.match(/^[>❯]\s+(\S.*)$/m);if(i){let b=a.indexOf(i[0]);if(0===a.substring(b+i[0].length).trim().split("\n").filter(a=>{let b=a.trim();return b&&!z.some(a=>a.test(b))&&!/^─+$/.test(b)}).length)return S(h)}else if(!g&&(b||c||d||e)&&f.length<2e3)return Q.info("Claude startup banner suppressed, response not saved",{responseLength:f.length,hasBannerArt:b,hasVersionInfo:c,hasStartupTips:d,hasProjectInit:e}),S(h)}if("copilot"===c){let a=(0,p.aJ)(f);if(!a.split("\n").some(a=>p.y.test(a))&&p.E0.some(b=>b.test(a)))return S(h)}if("command-code"===c&&0>A(h))return Q.info("Command Code launch screen suppressed, response not saved",{responseLength:f.length}),S(h);if("gemini"===c&&((f.match(/[░███]/g)||[]).length>.3*f.length||I.SI.some(a=>f.includes(a))||!f.includes("✦")&&f.length<10))return S(h);if("opencode"===c){let a=(0,p.aJ)(f);if((a.length<50||!p.Md.test(B))&&0===a.split("\n").filter(a=>{let b=a.trim();return b&&!p.sx.some(a=>a.test(b))}).length)return S(h)}return{response:f,isComplete:!0,lineCount:e,bufferReset:o,captureWindowSaturated:i,turnHeadTruncated:j?(0,t.V0)(j).headTruncated:void 0}}if("opencode"!==c){let a=g.join("\n"),d=X(a,c);if(d.isPrompt&&W(c,d,a))return T(g,b,h,o,c,A,d,i)}let L=[],M=o||i||b>=h-5,N=M?A(80):-1,O=M?N>=0?N+1:Math.max(0,h-80):Math.max(0,b);for(let a=O;a<Math.min(h,l);a++){let b=g[a],c=(0,p.aJ)(b);z.some(a=>a.test(c))||L.push(b)}let P=L.join("\n").trim();return P?{response:P,isComplete:!1,lineCount:h}:S(h)}(z,y,b,s.xE);if(!U||!U.isComplete){let{thinkingPattern:c}=(0,p._X)(b),d=(0,p.aJ)(z).split("\n").slice(-r.$).join("\n");return c.test(d)&&(0,f.markPendingPromptsAsAnswered)(h,a,b,i,R(a))>0&&Q.info("marked-answeredcount-pending"),!1}let V="opencode"===b||"copilot"===b,_=!(0,n.VA)(b)&&!U.captureWindowSaturated;if(_&&!U.bufferReset&&U.lineCount===y&&!q?.inProgressMessageId)return!1;if(_&&!U.bufferReset&&U.lineCount<=y)return Q.info("already-saved-up-to-line-lastcapturedlin"),!1;let ab=U.promptDetection??X(U.response,b);if(ab.isPrompt&&W(b,ab,z)){let d=ab.rawContent||ab.cleanContent,k=(0,x.zm)(d,b);if((0,x.gv)(j,k))return(0,A.LN)(a,b,c),Q.info("duplicate-prompt-skipped",{worktreeId:a,cliToolId:b}),!1;let l=d;"copilot"===b&&(l=(0,u.LH)(d),l=(0,u.Sj)(l,v.Rf,v.ky)),(0,f.clearInProgressMessageId)(h,a,b,i);let m=(0,f.createMessage)(h,{worktreeId:a,role:"assistant",content:l,messageType:"prompt",promptData:ab.promptData,timestamp:new Date,cliToolId:b,instanceId:i});(0,f.updateSessionState)(h,a,b,U.lineCount,i),(0,g.broadcastMessage)("message",{worktreeId:a,message:m}),(0,P.r)(h,a,b,i,"prompt_detected",{promptType:ab.promptData?.type});let n=Date.now(),o=(0,O.Jp)(a,b,c)?.since??n;return(0,K.R)({worktreeId:a,cliToolId:b,instanceId:c,waitingSince:o})||(0,J.J$)({worktreeId:a,worktreeName:e.name,kind:"prompt",agentName:i,instanceId:i,waitingKind:"prompt",waitingSince:o,excerpt:ab.promptData?.question??l}).catch(()=>{}),(0,O.hd)({worktreeId:a,cliToolId:b,instanceId:c,waiting:!0,kind:"prompt",now:n}),V||(0,I.Et)(a,b,c),!0}if(!U.response||""===U.response.trim())return(0,f.updateSessionState)(h,a,b,U.lineCount,i),!1;let ac="claude"===b?(0,o.R)(U.response):void 0,ad=U.response;if("gemini"===b)ad=(0,u.IS)(U.response);else if("claude"===b)ad=(0,u.NN)(U.response);else if("copilot"===b){let a=(0,w.Uz)(j)||U.response;ad=(0,u.LH)(a),ad=(0,u.Sj)(ad,v.Rf,v.ky),(0,w.q1)(j)}else if("opencode"===b){let a=(0,w.Uz)(j),b=U.turnHeadTruncated&&a?a:U.response;ad=(0,u.aW)(b),(0,w.q1)(j)}if(!ad||""===ad.trim()||"[No content]"===ad)return(0,f.updateSessionState)(h,a,b,U.lineCount,i),(0,f.clearInProgressMessageId)(h,a,b,i),!1;if(!_&&(0,B.j7)(j,ad)){if(Q.info("duplicate-response-skipped",{worktreeId:a,cliToolId:b,instanceId:i}),(0,f.updateSessionState)(h,a,b,U.lineCount,i),(0,B.pN)(j)&&await (0,C.captureStructuredHistoryTurn)(a,b,c,{worktreePath:e.path,transcriptPathHint:ac?.logFilePath??null}))return(0,B.oE)(j),$(j),Q.info("structured-history-recheck-captured",{worktreeId:a,cliToolId:b,instanceId:i}),!0;return!1}let ae={},af=(0,C.isStructuredHistoryWriterLive)(a,b,c)||await (0,C.captureStructuredHistoryTurn)(a,b,c,{worktreePath:e.path,transcriptPathHint:ac?.logFilePath??null},ae);af?(0,B.oE)(j):(0,B.Pe)(j);let ag=af||l.delegated,ah=!ag&&"not_yet_closed"===ae.outcome;!ad||ag||ah||await (0,m.T)(h,a,ad,b),(0,f.markPendingPromptsAsAnswered)(h,a,b,i,R(a))>0&&Q.info("marked-answeredcount-pending");let ai=(0,f.getSessionState)(h,a,i);if(_&&ai&&U.lineCount<=ai.lastCapturedLine)return Q.info("race-condition-detected-skipping-save-re"),!1;if(ah)!function(a,b){let c=Z.get(a);if(c){c.content=b.content;return}Z.set(a,b)}(j,{worktreeId:a,cliToolId:b,instanceId:i,content:ad,timestamp:new Date,summary:ac?.summary,logFileName:ac?.logFileName,requestId:ac?.requestId,worktreePath:e.path,transcriptPathHint:ac?.logFilePath??null,expiresAt:Date.now()+Y}),Q.info("structured-history-scrape-held",{worktreeId:a,cliToolId:b,instanceId:i,scrapedLength:ad.length,holdMs:Y}),(0,E.vQ)(a,b,i,!1);else if(ag)af&&$(j),Q.info("structured-history-scrape-suppressed",{worktreeId:a,cliToolId:b,instanceId:i,scrapedLength:ad.length,reason:af?"structured-history":"geometry-delegated"});else{let c=(0,f.createMessage)(h,{worktreeId:a,role:"assistant",content:ad,messageType:"normal",timestamp:new Date,cliToolId:b,instanceId:i,summary:ac?.summary,logFileName:ac?.logFileName,requestId:ac?.requestId});(0,g.broadcastMessage)("message",{worktreeId:a,message:c}),(0,E.vQ)(a,b,i,!1)}return(0,O.hd)({worktreeId:a,cliToolId:b,instanceId:c,waiting:!1}),(0,J.J$)({worktreeId:a,worktreeName:e.name,kind:"completion",agentName:i,excerpt:ad}).catch(()=>{}),(0,f.updateSessionState)(h,a,b,U.lineCount,i),V&&(0,I.Et)(a,b,c),!0}catch(a){return Q.error("response:check-failed",{error:a instanceof Error?a.message:String(a)}),!1}}},5363:(a,b,c)=>{c.d(b,{v7:()=>d.v7,LP:()=>d.LP,pL:()=>d.pL,GE:()=>d.GE,aq:()=>d.aq,kC:()=>d.kC,xU:()=>D,bZ:()=>E,W8:()=>d.W8,W5:()=>L,_i:()=>M,_C:()=>N});var d=c(24455),e=c(31990),f=c(3523),g=c(77244),h=c(75498),i=c(91318),j=c(32236),k=c(52277),l=c(16402),m=c(52767),n=c(88807),o=c(52660),p=c(34331),q=c(63869),r=c(8360),s=c(20967);function t(a){return`${a.type}:${a.question}`}var u=c(77093),v=c(93997),w=c(68901),x=c(72626),y=c(66007);let z=(0,x.h)("auto-yes-poller"),A=globalThis.__autoYesPollerStates??(globalThis.__autoYesPollerStates=new Map),B=globalThis.__autoYesWithheldNoReceiptLoggedAt??(globalThis.__autoYesWithheldNoReceiptLoggedAt=new Map);function C(a){return A.get(a)}function D(a){let b=C(a);return b?.lastServerResponseTimestamp??null}function E(a){return A.has(a)}function F(a){let b=C(a);if(b&&(b.consecutiveErrors++,b.currentInterval=(0,d.G)(b.consecutiveErrors),b.consecutiveErrors>=w.ul)){let b=(0,d.Ue)(a),c=(0,d.pL)(a);c&&(0,d.XK)(b,c,"consecutive_errors",(0,d.GE)(a)??void 0),M(a)}}function G(a,b,c,d){let e=`${c}\u0000${b}`;if(a.lastSkipWarnKey===e)return void z.debug(c,{...d,repeated:!0});a.lastSkipWarnKey=e,z.warn(c,d)}async function H(a,b,c,d){let f=c??w.FW,g=await (0,e.Wh)(a,b,f,d);return{raw:g,clean:(0,s._A)((0,s.aJ)(g))}}async function I(a,b,e,w,x,y,A){let D=(0,d.v7)(a,e,y);try{let F=(0,f.$M)(w,e,x,A,{worktreeId:a,instanceId:y});if(!F.isPrompt||!F.promptData)return b.lastAnsweredPromptKey=null,b.lastAnsweredAt=null,b.lastSkipWarnKey=null,"antigravity"!==e||F.isPrompt||function(a,b,c,d){if((0,g.FD)(a,"antigravity",b))return;let e=Date.now(),f=B.get(c);if(void 0!==f&&e-f<6e4)return;let h=d();if(h.isPrompt&&h.promptData){for(let[a,b]of B)e-b>=6e4&&B.delete(a);B.set(c,e),z.info("antigravity-autoyes-withheld-no-hook-receipt",{worktreeId:a,instanceId:b??"antigravity",windowMs:g.Wo,hint:"hook の受信記録が直近に無いため Auto-Yes は答えなかった。~/.gemini/config/hooks.json の向き先(#2622)を確認"})}}(a,y,D,()=>(0,f.$M)(w,e,x,A)),"no_prompt";let H=t(F.promptData),I=function(a){let b="multiple_choice"===a.type?a.options.map(a=>`${a.isDefault?">":""}${a.number}.${a.label}`).join("\n"):"";return[t(a),b,a.approvalTarget??""].join("\0")}(F.promptData);if(b.lastAnsweredPromptKey===H&&null!==b.lastAnsweredAt&&Date.now()-b.lastAnsweredAt<d.UL)return"duplicate";let J="codex"===e?(0,s.E6)(w):null;if(J)return(0,k.ZS)(a,e,y,{reason:"agent-launch-dialog",mode:null,promptType:F.promptData.type}),G(b,`${I}\u0000${J}`,"poller:auto-yes-skipped-launch-dialog",{worktreeId:a,cliToolId:e,instanceId:y,dialog:J,promptType:F.promptData.type}),"no_answer";if("codex"===e&&(0,j.AD)(w))return(0,k.ZS)(a,e,y,{reason:"unclassified-frame",mode:null,promptType:F.promptData.type}),G(b,`${I}\u0000codex-model-picker`,"poller:auto-yes-skipped-model-picker",{worktreeId:a,cliToolId:e,instanceId:y,promptType:F.promptData.type}),"no_answer";let K=(0,l.r_)(e,F.promptData.type,w);if(!K.allowed)return(0,k.ZS)(a,e,y,{reason:"unclassified-frame",mode:null,promptType:F.promptData.type}),G(b,`${I}\u0000${K.dialog?.kind??""}\u0000${K.mode}`,"poller:auto-yes-skipped-unclassified-frame",{worktreeId:a,cliToolId:e,instanceId:y,promptType:F.promptData.type,dialogKind:K.dialog?.kind??null,answerMode:K.dialog?.answerMode??null,gateMode:K.mode}),"no_answer";let L=(0,i.n)(a,e,y),M=(0,h.sD)(F.promptData,L);M.suppressedBy&&((0,k.ZS)(a,e,y,{reason:M.suppressedBy,mode:L?.mode??null,promptType:F.promptData.type,pattern:M.pattern}),G(b,`${I}\u0000${M.suppressedBy}\u0000${L?.mode??""}\u0000${M.pattern??""}`,"poller:auto-yes-suppressed-by-policy",{worktreeId:a,cliToolId:e,instanceId:y,reason:M.suppressedBy,mode:L?.mode??null,pattern:M.pattern,promptType:F.promptData.type}));let N=M.answer;if(null===N)return"no_answer";let O=r.CLIToolManager.getInstance().getTool(e).getSessionName(a,y),P=await (0,p.L)(a,O);if(null===P||"foreign"===P.verdict)return G(b,`${I}\u0000${O}\u0000${P?"foreign":"worktree_not_found"}`,"poller:auto-yes-skipped-foreign-session",{worktreeId:a,cliToolId:e,instanceId:y,sessionName:O,sessionPath:P?.sessionPath??null,reason:P?"foreign":"worktree_not_found"}),"no_answer";try{await (0,q.tV)({sessionName:O,answer:N,cliToolId:e,promptData:F.promptData})}finally{(0,v.gm)(O)}var E=Date.now();let Q=C(D);Q&&(Q.lastServerResponseTimestamp=E);let R=C(D);R&&(R.consecutiveErrors=0,R.currentInterval=d.ps),b.lastAnsweredPromptKey=H,b.lastAnsweredAt=Date.now(),b.lastSkipWarnKey=null,z.info("poller:response-sent",{worktreeId:a,cliToolId:e,instanceId:y}),(0,m.r)((0,n.getDbInstance)(),a,e,y??e,"prompt_answered_auto",{promptType:F.promptData.type});let S=null;try{S=(0,o.recordAnsweredPrompt)((0,n.getDbInstance)(),{worktreeId:a,cliToolId:e,instanceId:y??e,promptData:F.promptData,answer:N,answeredBy:"auto",content:F.rawContent||F.cleanContent})}catch(b){z.warn("poller:prompt-audit-record-failed",{worktreeId:a,cliToolId:e,instanceId:y,error:(0,u.u1)(b)})}if(S){let b=S;Promise.resolve().then(c.bind(c,43015)).then(({broadcastMessage:c})=>{c(b.created?"message":"message_updated",{worktreeId:a,message:b.message})}).catch(()=>{})}let[{startPolling:T},{broadcastTerminalSnapshotAfterInteraction:U}]=await Promise.all([c.e(2839).then(c.bind(c,95220)),Promise.resolve().then(c.bind(c,99508))]);return T(a,e,y),U(a,e,y),"responded"}catch{return F(D),z.warn("poller:detect-respond-error",{worktreeId:a,cliToolId:e,instanceId:y}),"error"}}async function J(a,b,c){let e=(0,d.v7)(a,b,c),f=C(e);if("valid"===function(a,b){if(!b)return"stopped";let c=(0,d.Ue)(a),e=(0,d.pL)(a);if(!e)return M(a),"expired";let f=(0,d.GE)(a)??void 0,g=(0,d.aq)(c,e,f);return g?.enabled?"valid":(M(a),"expired")}(e,f)){try{let g=(0,d.aq)(a,b,c),h=g?.stopPattern?w.FW:w.Ke,{raw:i,clean:j}=await H(a,b,h,c),k=j.split("\n");if(function(a,b,c){if(b.stopCheckBaselineLength<0)return b.stopCheckBaselineLength=c.length,!1;let e=b.stopCheckBaselineLength;if(c.length>e){let f=c.substring(e);return b.stopCheckBaselineLength=c.length,(0,d.Cs)(a,f,M)}return c.length<e&&(b.stopCheckBaselineLength=c.length),!1}(e,f,j))return;let l=await I(a,f,b,j,k,c,i);if("responded"===l)return void K(a,b,c,d.ZO);if("no_prompt"===l){let e=k.slice(-d.Re).join("\n");if((0,s.ut)(b,e))return void K(a,b,c,w.QN)}}catch(d){F(e),z.warn("poller:poll-error",{worktreeId:a,cliToolId:b,instanceId:c,error:(0,u.u1)(d)})}K(a,b,c)}}function K(a,b,c,e){let f=C((0,d.v7)(a,b,c));if(!f)return;let g=Math.max(e??f.currentInterval,d.ps);f.timerId=setTimeout(()=>{J(a,b,c)},g)}function L(a,b,c){if(!(0,y.h6)(a))return{started:!1,reason:"invalid worktree ID"};let e=c??b,f=(0,d.aq)(a,b,e);if(!f?.enabled)return{started:!1,reason:"auto-yes not enabled"};let g=(0,d.v7)(a,b,e),h=C(g);if(!h&&A.size>=d.fC)return{started:!1,reason:"max concurrent pollers reached"};if(h&&h.cliToolId===b)return{started:!0,reason:"already_running"};h&&M(g);let j={timerId:null,cliToolId:b,instanceId:e,consecutiveErrors:0,currentInterval:d.ps,lastServerResponseTimestamp:null,lastAnsweredPromptKey:null,lastAnsweredAt:null,stopCheckBaselineLength:-1,lastSkipWarnKey:null};return A.set(g,j),(0,i.ie)(g),j.timerId=setTimeout(()=>{J(a,b,e)},d.ps),z.info("poller:started",{worktreeId:a,cliToolId:b,instanceId:e}),{started:!0}}function M(a){let b=C(a);b&&(b.timerId&&clearTimeout(b.timerId),A.delete(a),(0,i.ie)(a),z.info("poller:stopped",{compositeKey:a}))}function N(a){(0,d._9)(Array.from(A.keys()),a).forEach(a=>M(a))}},8988:(a,b,c)=>{c.d(b,{R:()=>g});let d=/📄 Session log: (.+?\/([^\/\s]+\.jsonl))/,e=/Request ID: ([^\s\n]+)/,f=/Summary: (.+?)(?:\n─|$)/s;function g(a){let b={content:a},c=d.exec(a);c&&(b.logFileName=c[2],b.logFilePath=c[1]);let g=e.exec(a);g&&(b.requestId=g[1]);let h=f.exec(a);return h&&(b.summary=h[1].trim()),b}},9516:(a,b,c)=>{c.d(b,{Hu:()=>i,Ll:()=>j});let d=["type something","chat about this"],e=/^\s*\[[ xX]\]\s*/,f=/(?:…|\.\.\.)\s*$/,g=new Set(["yes","y","no","n"]);function h(a){return a.replace(e,"").replace(f,"").replace(/\s+/g," ").trim().toLowerCase()}function i(a,b){if("multiple_choice"!==a.type)return null;let c=function(a,b){let c=h(b);if(""===c)return null;let d=a.questions.map((a,b)=>({entry:a,index:b})).filter(({entry:a})=>(function(a,b){let[c,d]=a.length<=b.length?[a,b]:[b,a];return c.length<8?c===d:d.includes(c)})(h(a.question),c));return 1===d.length?d[0]:null}(b,a.question);if(null===c)return null;let{entry:f,index:g}=c,i=new Map(a.options.map(a=>[a.number,a])),j=[];for(let[a,b]of f.choices.entries()){var k;let c=a+1,d=i.get(c);if(!d||!function(a,b){if(""===a||""===b)return!1;if(a===b)return!0;let[c,d]=a.length<=b.length?[a,b]:[b,a];return!(c.length<8)&&d.startsWith(c)}(h(d.label),h(b.label)))return null;j.push({...d,label:`${(k=d.label,e.exec(k)?.[0]??"")}${b.label}`,...b.description?{description:b.description}:{}})}let l=[];for(let b of a.options)!(b.number<=f.choices.length)&&function(a){let b=h(a);return d.some(a=>b===a||b.startsWith(a))}(b.label)&&(j.push(b),l.push(b.number));return j.sort((a,b)=>a.number-b.number),{...a,question:f.question,options:j,isAskUserQuestion:!0,askUserQuestion:{...f.header?{header:f.header}:{},multiSelect:f.multiSelect,questionIndex:g,questionCount:b.questions.length,metaOptionNumbers:l}}}function j(a,b){let c=b.trim();if(/^\d+$/.test(c)){let b=Number.parseInt(c,10);return a.options.some(a=>a.number===b)?{ok:!0,input:String(b)}:{ok:!1,reason:"answer_out_of_range",message:"The option number is outside the range this prompt offers. Use `commandmate capture <worktree-id> --json` to list the current options."}}let d=function(a,b){let c=h(b);if(""===c)return[];let d=a.filter(a=>h(a.label)===c);return d.length>0?d:c.length<2?[]:a.filter(a=>h(a.label).startsWith(c))}(a.options,c);if(1===d.length){let[a]=d;return{ok:!0,input:String(a.number),resolved:{via:"semantic",optionNumber:a.number,optionLabel:a.label}}}return d.length>1?{ok:!1,reason:"unresolvable_answer",message:"The answer matches more than one option label. Answer with an option number."}:a.options.some(a=>!0===a.requiresTextInput)&&!g.has(c.toLowerCase())?{ok:!0,input:b}:{ok:!1,reason:"unresolvable_answer",message:"No option label matches the answer. Answer with an option number (yes/no is not resolved on a numbered picker — Issue #1681)."}}},18778:(a,b,c)=>{c.d(b,{T:()=>g});var d=c(56791),e=c(41364);let f=(0,c(72626).h)("conversation-logger");async function g(a,b,c,h="claude"){let i=(0,d.getLastUserMessage)(a,b);if(i)try{await (0,e.hM)(b,i.content,c,h)}catch(a){f.error("conversation:log-failed",{error:a instanceof Error?a.message:String(a)})}}},21684:(a,b,c)=>{c.d(b,{U:()=>h});var d=c(33873),e=c.n(d),f=c(87447),g=c(8004);function h(){let a=e().join(process.cwd(),"data","logs");return(0,g.T)((0,f._p)("CM_LOG_DIR"),a,"CM_LOG_DIR")}},34331:(a,b,c)=>{c.d(b,{L:()=>g});var d=c(88807),e=c(73753),f=c(96463);async function g(a,b,c=(0,d.getDbInstance)()){let h=(0,e.getWorktreeById)(c,a);return h?(0,f.s_)(b,h.path):null}},40043:(a,b,c)=>{c.d(b,{AD:()=>k,Q4:()=>g,ox:()=>j,xG:()=>l});var d=c(37717),e=c(48083);let f=new Set([d.g.NO_RECENT_OUTPUT,d.g.UNKNOWN_FRAME,d.g.DEFAULT]);function g(a,b){return"running"===a&&f.has(b)}let h=e.STRUCTURED_STATE_MAX_AGE_MS,i=globalThis.__lastKnownStatusByKey??(globalThis.__lastKnownStatusByKey=new Map);function j(a,b,c=Date.now()){for(let[a,b]of i)c-b.at>=h&&i.delete(a);for(;i.size>512;){let a=i.keys().next();if(a.done)break;i.delete(a.value)}"positive"===b.evidence&&(i.delete(a),i.set(a,{status:b.status,reason:b.reason,at:c}))}function k(a,b=Date.now()){let c=i.get(a);return void 0===c?null:b-c.at>=h?(i.delete(a),null):c}function l(a){i.delete(a)}},41364:(a,b,c)=>{c.d(b,{Gv:()=>o,hM:()=>n});var d=c(79748),e=c.n(d),f=c(33873),g=c.n(f),h=c(1634),i=c(21684),j=c(72626),k=c(15194);function l(a="claude"){return g().join((0,i.U)(),a)}async function m(a="claude"){let b=l(a);try{await e().access(b)}catch{await e().mkdir(b,{recursive:!0})}}async function n(a,b,c,d="claude"){await m(d);let f=function(a,b="claude"){let c=(0,h.GP)(new Date,"yyyy-MM-dd"),d=`${a}-${c}.md`,e=l(b);return g().join(e,d)}(a,d),i=(0,h.GP)(new Date,"yyyy-MM-dd HH:mm:ss"),j="";try{j=await e().readFile(f,"utf-8")}catch{let b=(0,k.hR)(d)?k.ef[d]:d;j=`# ${b} Conversation Log: ${a}
1
+ "use strict";exports.id=9882,exports.ids=[9882],exports.modules={60:(a,b,c)=>{c.d(b,{QM:()=>h,V0:()=>e,ZX:()=>f,bE:()=>g});var d=c(20967);function e(a){let b=(0,d.x7)(a),c=(0,d.M4)(a,b);return{chromeStart:b,echoEnd:c,start:c+1,end:b>=0?b:a.length,headTruncated:c<0}}function f(a){let b=a.split("\n"),c=e(b.map(d.aJ));return c.start>=c.end?"":b.slice(c.start,c.end).join("\n")}function g(a){let b=a.split("\n"),c=e(b),f=c.start>=c.end?"":b.slice(c.start,c.end).join("\n");return d.$t.test(f)&&!d.kD.test(a)&&!d.Ty.test(a)}function h(a,b,c,d,e,f=!1){if(a=Math.max(0,a),"opencode"===d||"copilot"===d||f){let a=e(b);return a>=0?a+1:0}if("antigravity"===d||"command-code"===d){let c=e(b);return c>=0?c+1:Math.max(0,a)}if(a>=b||c){let a=e(40);return a>=0?a+1:0}if("codex"===d)return Math.max(0,a);if(a>=b-5){let a=e(50);return a>=0?a+1:Math.max(0,b-40)}return Math.max(0,a)}},3523:(a,b,c)=>{c.d(b,{$M:()=>U,Tq:()=>_,zX:()=>ab});var d=c(31990),e=c(88807),f=c(56791),g=c(43015),h=c(26895),i=c(28861),j=c(45150),k=c(74258),l=c(96742),m=c(18778),n=c(15194),o=c(8988),p=c(20967),q=c(72626),r=c(46423),s=c(93997),t=c(60),u=c(82450),v=c(56263),w=c(13033),x=c(72457),y=c(77244),z=c(16402),A=c(44321),B=c(71080),C=c(28918),D=c(31517),E=c(43925),F=c(40964),G=c(83598),H=c(31442),I=c(45146),J=c(91601),K=c(92010),L=c(81099),M=c(63209),N=c(73478),O=c(57836),P=c(52767);let Q=(0,q.h)("response-poller");function R(a){return b=>{try{(0,g.broadcastMessage)("message_updated",{worktreeId:a,message:b})}catch(b){Q.warn("prompt-sweep-broadcast-failed",{worktreeId:a,error:b instanceof Error?b.message:String(b)})}}}function S(a){return{response:"",isComplete:!1,lineCount:a}}function T(a,b,c,d,e,f,g,h=!1){let i=(0,t.QM)(b,c,d,e,f,h),j=a.slice(i);return{response:(0,p.aJ)(j.join("\n")),isComplete:!0,lineCount:c,promptDetection:g,bufferReset:d,captureWindowSaturated:h}}function U(a,b,c,d,e){if("antigravity"===b){let b=(0,i.g)(a);if(null!==b)return V(e)?{isPrompt:!1,cleanContent:a.trim()}:b}if("command-code"===b&&void 0!==d){let b=(0,l.nK)(d);if("prompt"===b.kind)return b.prompt;if("unsupported"===b.kind)return{isPrompt:!1,cleanContent:a.trim()}}let f=(0,p.KO)(b),g=(0,h.gF)(a,c?{...f,precomputedLines:c}:f);return"antigravity"===b&&g.isPrompt&&(0,j.Lj)((0,k.z)(d??a),g)||"antigravity"===b&&g.isPrompt&&V(e)?{isPrompt:!1,cleanContent:a.trim()}:g}function V(a){return!(void 0===a||(0,y.FD)(a.worktreeId,"antigravity",a.instanceId))&&(Q.debug("antigravity-dialog-no-recent-receipt",{worktreeId:a.worktreeId,instanceId:a.instanceId??"antigravity"}),!0)}function W(a,b,c){let d=(0,z.vm)(a,b.promptData?.type,c);return!!d.present||(Q.debug("prompt-candidate-not-vouched",{cliToolId:a,promptType:b.promptData?.type,gateMode:d.mode}),!1)}function X(a,b){return U((0,p._A)((0,p.aJ)(a)),b,void 0,a)}(0,N.I7)();let Y=D.sD.reduce((a,b)=>a+b,0),Z=globalThis.__pendingScrapedResponses??=new Map;function $(a){Z.delete(a)}function _(a,b){let c=Z.get(a);if(!c)return!1;Z.delete(a);try{let a=(0,e.getDbInstance)(),d=(0,f.createMessage)(a,{worktreeId:c.worktreeId,role:"assistant",content:c.content,messageType:"normal",timestamp:c.timestamp,cliToolId:c.cliToolId,instanceId:c.instanceId,summary:c.summary,logFileName:c.logFileName,requestId:c.requestId});return(0,g.broadcastMessage)("message",{worktreeId:c.worktreeId,message:d}),Q.info("pending-scrape-flushed",{worktreeId:c.worktreeId,cliToolId:c.cliToolId,instanceId:c.instanceId,reason:b,scrapedLength:c.content.length,heldForMs:Date.now()-c.timestamp.getTime()}),(0,m.T)(a,c.worktreeId,c.content,c.cliToolId).catch(()=>{}),!0}catch(a){return Q.warn("pending-scrape-flush-failed",{worktreeId:c.worktreeId,cliToolId:c.cliToolId,instanceId:c.instanceId,reason:b,error:a instanceof Error?a.message:String(a)}),!1}}async function aa(a){let b=Z.get(a);if(!(!b||Date.now()<b.expiresAt)){if(await (0,C.captureStructuredHistoryTurn)(b.worktreeId,b.cliToolId,b.instanceId,{worktreePath:b.worktreePath,transcriptPathHint:b.transcriptPathHint})){$(a),(0,B.oE)(a),Q.info("pending-scrape-superseded",{worktreeId:b.worktreeId,cliToolId:b.cliToolId,instanceId:b.instanceId,heldForMs:Date.now()-b.timestamp.getTime()});return}_(a,"hold-expired")}}async function ab(a,b,c){let h=(0,e.getDbInstance)(),i=c??b;try{let e=(0,f.getWorktreeById)(h,a);if(!e)return Q.error("worktree-worktreeid-not"),(0,I.Et)(a,b,c),!1;if(!await (0,d.K1)(a,b,c))return Q.info("session-not-running"),(0,I.Et)(a,b,c),!1;let j=(0,I.MN)(a,b,c);await aa(j);let k=(0,F.mf)(b,a,c),l=(0,H.n9)(k)?await (0,G.zQ)(k):{delegated:!1,released:!1};l.released&&((0,f.updateSessionState)(h,a,b,0,i),Q.info("geometry-delegation-released",{worktreeId:a,cliToolId:b,instanceId:i}));let q=(0,f.getSessionState)(h,a,i),y=q?.lastCapturedLine||0,z=await (0,d.Wh)(a,b,s.xE,c),D=z.split("\n").slice(-100).join("\n"),N=(0,M.bT)(D);if((0,L.notifyUpstreamFaultPush)({worktreeId:a,cliToolId:b,instanceId:c,faultId:N?.fault.id??null,matchedText:N?.matchedText}).catch(()=>{}),"opencode"===b||"copilot"===b){let a="opencode"===b?(0,t.ZX)(z):z;(0,w.IZ)(j,a,b)}let U=function(a,b,c,d=s.xE){let e=a.split("\n"),f=e.length;for(;f>0&&""===e[f-1].trim();)f--;let g=e.slice(0,f),h=g.length,i=(0,s.sl)(e.length,d),j="opencode"===c?g.map(p.aJ):null,k="claude"===c?(0,p.GT)(g):"copilot"===c?(0,p.wv)(g):"command-code"===c?(0,p.I$)(g):"codex"===c?(0,p.Zu)(g):j?(0,p.x7)(j):-1,l=k>=0?k:h,m=h>0&&b>25&&h+25<b,n=h>0&&b>50&&h<50,o=m||n;if(!o&&h<b-5)return null;let q=Math.max(0,h-20),u=g.slice(q),v=j?j.join("\n"):u.join("\n"),{promptPattern:w,separatorPattern:x,thinkingPattern:y,skipPatterns:z}=(0,p._X)(c),A=(a=60)=>{let b;if("codex"===c)return(0,p.Nc)(g,l,a,k>=0);if(j)return(0,t.V0)(j).echoEnd;if("copilot"===c){for(let b=l-1;b>=Math.max(0,l-a);b--){if(!p.y.test((0,p.aJ)(g[b])))continue;let a=b;for(;a+1<l&&p.Fg.test((0,p.aJ)(g[a+1]));)a++;return a}return -1}b=/^[>❯]\s+\S/;for(let c=l-1;c>=Math.max(0,l-a);c--){let a=(0,p.aJ)(g[c]);if(b.test(a))return c}return -1};if("claude"===c||"codex"===c||"copilot"===c||"command-code"===c){let a=g.join("\n"),d=X(a,c);if(d.isPrompt&&W(c,d,a))return T(g,b,h,o,c,A,d,i)}let B=(0,p.aJ)(v),C=w.test(B),D=x.test(B),E="codex"===c?(0,p.DR)(g,20):y.test(B),F="copilot"===c?(0,p.Wn)(g.slice(Math.max(0,h-8)).map(p.aJ)):null,G="copilot"===c?"idle"===F:("codex"===c||"gemini"===c||"vibe-local"===c||"antigravity"===c)&&C&&!E,H="claude"===c&&C&&D&&!E,J="command-code"===c&&C&&D&&!E,K="opencode"===c&&(0,t.bE)(B);if(G||H||J||K){let a=[],d=(0,t.QM)(b,h,o,c,A,i),e="codex"===c?l:h;for(let b=d;b<l;b++){let d=g[b],f=(0,p.aJ)(d);if("codex"===c&&/^›\s+/.test(f)||"gemini"===c&&/^(%|\$|.*@.*[%$#])\s*$/.test(f)||"antigravity"===c&&/^>\s*$/.test(f)||"opencode"===c&&k<0&&(p.sy.test(f)||p.uA.test(f))){e=b;break}z.some(a=>a.test(f))||a.push(d)}let f=a.join("\n").trim(),m=f.split("\n").slice(-r.$).join("\n");if("copilot"!==c&&y.test(m))return S(h);if("claude"===c){let a=(0,p.aJ)(f),b=/[╭╮╰╯]/.test(a)||/░{3,}/.test(a)||/▓{3,}/.test(a),c=/Claude Code v\d+\.\d+|claude\//.test(a),d=/Tip:|for shortcuts|\?\s*for help/.test(a),e=/^\s*\/Users\/.*$/m.test(a)&&a.split("\n").length<30,g=A(h)>=0,i=a.match(/^[>❯]\s+(\S.*)$/m);if(i){let b=a.indexOf(i[0]);if(0===a.substring(b+i[0].length).trim().split("\n").filter(a=>{let b=a.trim();return b&&!z.some(a=>a.test(b))&&!/^─+$/.test(b)}).length)return S(h)}else if(!g&&(b||c||d||e)&&f.length<2e3)return Q.info("Claude startup banner suppressed, response not saved",{responseLength:f.length,hasBannerArt:b,hasVersionInfo:c,hasStartupTips:d,hasProjectInit:e}),S(h)}if("copilot"===c){let a=(0,p.aJ)(f);if(!a.split("\n").some(a=>p.y.test(a))&&p.E0.some(b=>b.test(a)))return S(h)}if("command-code"===c&&0>A(h))return Q.info("Command Code launch screen suppressed, response not saved",{responseLength:f.length}),S(h);if("gemini"===c&&((f.match(/[░███]/g)||[]).length>.3*f.length||I.SI.some(a=>f.includes(a))||!f.includes("✦")&&f.length<10))return S(h);if("opencode"===c){let a=(0,p.aJ)(f);if((a.length<50||!p.Md.test(B))&&0===a.split("\n").filter(a=>{let b=a.trim();return b&&!p.sx.some(a=>a.test(b))}).length)return S(h)}return{response:f,isComplete:!0,lineCount:e,bufferReset:o,captureWindowSaturated:i,turnHeadTruncated:j?(0,t.V0)(j).headTruncated:void 0}}if("opencode"!==c){let a=g.join("\n"),d=X(a,c);if(d.isPrompt&&W(c,d,a))return T(g,b,h,o,c,A,d,i)}let L=[],M=o||i||b>=h-5,N=M?A(80):-1,O=M?N>=0?N+1:Math.max(0,h-80):Math.max(0,b);for(let a=O;a<Math.min(h,l);a++){let b=g[a],c=(0,p.aJ)(b);z.some(a=>a.test(c))||L.push(b)}let P=L.join("\n").trim();return P?{response:P,isComplete:!1,lineCount:h}:S(h)}(z,y,b,s.xE);if(!U||!U.isComplete){let{thinkingPattern:c}=(0,p._X)(b),d=(0,p.aJ)(z).split("\n").slice(-r.$).join("\n");return c.test(d)&&(0,f.markPendingPromptsAsAnswered)(h,a,b,i,R(a))>0&&Q.info("marked-answeredcount-pending"),!1}let V="opencode"===b||"copilot"===b,_=!(0,n.VA)(b)&&!U.captureWindowSaturated;if(_&&!U.bufferReset&&U.lineCount===y&&!q?.inProgressMessageId)return!1;if(_&&!U.bufferReset&&U.lineCount<=y)return Q.info("already-saved-up-to-line-lastcapturedlin"),!1;let ab=U.promptDetection??X(U.response,b);if(ab.isPrompt&&W(b,ab,z)){let d=ab.rawContent||ab.cleanContent,k=(0,x.zm)(d,b);if((0,x.gv)(j,k))return(0,A.LN)(a,b,c),Q.info("duplicate-prompt-skipped",{worktreeId:a,cliToolId:b}),!1;let l=d;"copilot"===b&&(l=(0,u.LH)(d),l=(0,u.Sj)(l,v.Rf,v.ky)),(0,f.clearInProgressMessageId)(h,a,b,i);let m=(0,f.createMessage)(h,{worktreeId:a,role:"assistant",content:l,messageType:"prompt",promptData:ab.promptData,timestamp:new Date,cliToolId:b,instanceId:i});(0,f.updateSessionState)(h,a,b,U.lineCount,i),(0,g.broadcastMessage)("message",{worktreeId:a,message:m}),(0,P.r)(h,a,b,i,"prompt_detected",{promptType:ab.promptData?.type});let n=Date.now(),o=(0,O.Jp)(a,b,c)?.since??n;return(0,K.R)({worktreeId:a,cliToolId:b,instanceId:c,waitingSince:o})||(0,J.J$)({worktreeId:a,worktreeName:e.name,kind:"prompt",agentName:i,instanceId:i,waitingKind:"prompt",waitingSince:o,excerpt:ab.promptData?.question??l}).catch(()=>{}),(0,O.hd)({worktreeId:a,cliToolId:b,instanceId:c,waiting:!0,kind:"prompt",now:n}),V||(0,I.Et)(a,b,c),!0}if(!U.response||""===U.response.trim())return(0,f.updateSessionState)(h,a,b,U.lineCount,i),!1;let ac="claude"===b?(0,o.R)(U.response):void 0,ad=U.response;if("gemini"===b)ad=(0,u.IS)(U.response);else if("claude"===b)ad=(0,u.NN)(U.response);else if("copilot"===b){let a=(0,w.Uz)(j)||U.response;ad=(0,u.LH)(a),ad=(0,u.Sj)(ad,v.Rf,v.ky),(0,w.q1)(j)}else if("opencode"===b){let a=(0,w.Uz)(j),b=U.turnHeadTruncated&&a?a:U.response;ad=(0,u.aW)(b),(0,w.q1)(j)}if(!ad||""===ad.trim()||"[No content]"===ad)return(0,f.updateSessionState)(h,a,b,U.lineCount,i),(0,f.clearInProgressMessageId)(h,a,b,i),!1;if(!_&&(0,B.j7)(j,ad)){if(Q.info("duplicate-response-skipped",{worktreeId:a,cliToolId:b,instanceId:i}),(0,f.updateSessionState)(h,a,b,U.lineCount,i),(0,B.pN)(j)&&await (0,C.captureStructuredHistoryTurn)(a,b,c,{worktreePath:e.path,transcriptPathHint:ac?.logFilePath??null}))return(0,B.oE)(j),$(j),Q.info("structured-history-recheck-captured",{worktreeId:a,cliToolId:b,instanceId:i}),!0;return!1}let ae={},af=(0,C.isStructuredHistoryWriterLive)(a,b,c)||await (0,C.captureStructuredHistoryTurn)(a,b,c,{worktreePath:e.path,transcriptPathHint:ac?.logFilePath??null},ae);af?(0,B.oE)(j):(0,B.Pe)(j);let ag=af||l.delegated,ah=!ag&&"not_yet_closed"===ae.outcome;!ad||ag||ah||await (0,m.T)(h,a,ad,b),(0,f.markPendingPromptsAsAnswered)(h,a,b,i,R(a))>0&&Q.info("marked-answeredcount-pending");let ai=(0,f.getSessionState)(h,a,i);if(_&&ai&&U.lineCount<=ai.lastCapturedLine)return Q.info("race-condition-detected-skipping-save-re"),!1;if(ah)!function(a,b){let c=Z.get(a);if(c){c.content=b.content;return}Z.set(a,b)}(j,{worktreeId:a,cliToolId:b,instanceId:i,content:ad,timestamp:new Date,summary:ac?.summary,logFileName:ac?.logFileName,requestId:ac?.requestId,worktreePath:e.path,transcriptPathHint:ac?.logFilePath??null,expiresAt:Date.now()+Y}),Q.info("structured-history-scrape-held",{worktreeId:a,cliToolId:b,instanceId:i,scrapedLength:ad.length,holdMs:Y}),(0,E.vQ)(a,b,i,!1);else if(ag)af&&$(j),Q.info("structured-history-scrape-suppressed",{worktreeId:a,cliToolId:b,instanceId:i,scrapedLength:ad.length,reason:af?"structured-history":"geometry-delegated"});else{let c=(0,f.createMessage)(h,{worktreeId:a,role:"assistant",content:ad,messageType:"normal",timestamp:new Date,cliToolId:b,instanceId:i,summary:ac?.summary,logFileName:ac?.logFileName,requestId:ac?.requestId});(0,g.broadcastMessage)("message",{worktreeId:a,message:c}),(0,E.vQ)(a,b,i,!1)}return(0,O.hd)({worktreeId:a,cliToolId:b,instanceId:c,waiting:!1}),(0,J.J$)({worktreeId:a,worktreeName:e.name,kind:"completion",agentName:i,excerpt:ad}).catch(()=>{}),(0,f.updateSessionState)(h,a,b,U.lineCount,i),V&&(0,I.Et)(a,b,c),!0}catch(a){return Q.error("response:check-failed",{error:a instanceof Error?a.message:String(a)}),!1}}},8988:(a,b,c)=>{c.d(b,{R:()=>g});let d=/📄 Session log: (.+?\/([^\/\s]+\.jsonl))/,e=/Request ID: ([^\s\n]+)/,f=/Summary: (.+?)(?:\n─|$)/s;function g(a){let b={content:a},c=d.exec(a);c&&(b.logFileName=c[2],b.logFilePath=c[1]);let g=e.exec(a);g&&(b.requestId=g[1]);let h=f.exec(a);return h&&(b.summary=h[1].trim()),b}},9516:(a,b,c)=>{c.d(b,{Hu:()=>i,Ll:()=>j});let d=["type something","chat about this"],e=/^\s*\[[ xX]\]\s*/,f=/(?:…|\.\.\.)\s*$/,g=new Set(["yes","y","no","n"]);function h(a){return a.replace(e,"").replace(f,"").replace(/\s+/g," ").trim().toLowerCase()}function i(a,b){if("multiple_choice"!==a.type)return null;let c=function(a,b){let c=h(b);if(""===c)return null;let d=a.questions.map((a,b)=>({entry:a,index:b})).filter(({entry:a})=>(function(a,b){let[c,d]=a.length<=b.length?[a,b]:[b,a];return c.length<8?c===d:d.includes(c)})(h(a.question),c));return 1===d.length?d[0]:null}(b,a.question);if(null===c)return null;let{entry:f,index:g}=c,i=new Map(a.options.map(a=>[a.number,a])),j=[];for(let[a,b]of f.choices.entries()){var k;let c=a+1,d=i.get(c);if(!d||!function(a,b){if(""===a||""===b)return!1;if(a===b)return!0;let[c,d]=a.length<=b.length?[a,b]:[b,a];return!(c.length<8)&&d.startsWith(c)}(h(d.label),h(b.label)))return null;j.push({...d,label:`${(k=d.label,e.exec(k)?.[0]??"")}${b.label}`,...b.description?{description:b.description}:{}})}let l=[];for(let b of a.options)!(b.number<=f.choices.length)&&function(a){let b=h(a);return d.some(a=>b===a||b.startsWith(a))}(b.label)&&(j.push(b),l.push(b.number));return j.sort((a,b)=>a.number-b.number),{...a,question:f.question,options:j,isAskUserQuestion:!0,askUserQuestion:{...f.header?{header:f.header}:{},multiSelect:f.multiSelect,questionIndex:g,questionCount:b.questions.length,metaOptionNumbers:l}}}function j(a,b){let c=b.trim();if(/^\d+$/.test(c)){let b=Number.parseInt(c,10);return a.options.some(a=>a.number===b)?{ok:!0,input:String(b)}:{ok:!1,reason:"answer_out_of_range",message:"The option number is outside the range this prompt offers. Use `commandmate capture <worktree-id> --json` to list the current options."}}let d=function(a,b){let c=h(b);if(""===c)return[];let d=a.filter(a=>h(a.label)===c);return d.length>0?d:c.length<2?[]:a.filter(a=>h(a.label).startsWith(c))}(a.options,c);if(1===d.length){let[a]=d;return{ok:!0,input:String(a.number),resolved:{via:"semantic",optionNumber:a.number,optionLabel:a.label}}}return d.length>1?{ok:!1,reason:"unresolvable_answer",message:"The answer matches more than one option label. Answer with an option number."}:a.options.some(a=>!0===a.requiresTextInput)&&!g.has(c.toLowerCase())?{ok:!0,input:b}:{ok:!1,reason:"unresolvable_answer",message:"No option label matches the answer. Answer with an option number (yes/no is not resolved on a numbered picker — Issue #1681)."}}},10044:(a,b,c)=>{c.d(b,{xU:()=>D,bZ:()=>E,W5:()=>L,_i:()=>M,_C:()=>N});var d=c(31990),e=c(3523),f=c(77244),g=c(75498),h=c(91318),i=c(32236),j=c(52277),k=c(16402),l=c(52767),m=c(88807),n=c(52660),o=c(34331),p=c(63869),q=c(8360),r=c(20967);function s(a){return`${a.type}:${a.question}`}var t=c(77093),u=c(93997),v=c(68901),w=c(72626),x=c(66007),y=c(24455);let z=(0,w.h)("auto-yes-poller"),A=globalThis.__autoYesPollerStates??(globalThis.__autoYesPollerStates=new Map),B=globalThis.__autoYesWithheldNoReceiptLoggedAt??(globalThis.__autoYesWithheldNoReceiptLoggedAt=new Map);function C(a){return A.get(a)}function D(a){let b=C(a);return b?.lastServerResponseTimestamp??null}function E(a){return A.has(a)}function F(a){let b=C(a);if(b&&(b.consecutiveErrors++,b.currentInterval=(0,y.G)(b.consecutiveErrors),b.consecutiveErrors>=v.ul)){let b=(0,y.Ue)(a),c=(0,y.pL)(a);c&&(0,y.XK)(b,c,"consecutive_errors",(0,y.GE)(a)??void 0),M(a)}}function G(a,b,c,d){let e=`${c}\u0000${b}`;if(a.lastSkipWarnKey===e)return void z.debug(c,{...d,repeated:!0});a.lastSkipWarnKey=e,z.warn(c,d)}async function H(a,b,c,e){let f=c??v.FW,g=await (0,d.Wh)(a,b,f,e);return{raw:g,clean:(0,r._A)((0,r.aJ)(g))}}async function I(a,b,d,v,w,x,A){let D=(0,y.v7)(a,d,x);try{let F=(0,e.$M)(v,d,w,A,{worktreeId:a,instanceId:x});if(!F.isPrompt||!F.promptData)return b.lastAnsweredPromptKey=null,b.lastAnsweredAt=null,b.lastSkipWarnKey=null,"antigravity"!==d||F.isPrompt||function(a,b,c,d){if((0,f.FD)(a,"antigravity",b))return;let e=Date.now(),g=B.get(c);if(void 0!==g&&e-g<6e4)return;let h=d();if(h.isPrompt&&h.promptData){for(let[a,b]of B)e-b>=6e4&&B.delete(a);B.set(c,e),z.info("antigravity-autoyes-withheld-no-hook-receipt",{worktreeId:a,instanceId:b??"antigravity",windowMs:f.Wo,hint:"hook の受信記録が直近に無いため Auto-Yes は答えなかった。~/.gemini/config/hooks.json の向き先(#2622)を確認"})}}(a,x,D,()=>(0,e.$M)(v,d,w,A)),"no_prompt";let H=s(F.promptData),I=function(a){let b="multiple_choice"===a.type?a.options.map(a=>`${a.isDefault?">":""}${a.number}.${a.label}`).join("\n"):"";return[s(a),b,a.approvalTarget??""].join("\0")}(F.promptData);if(b.lastAnsweredPromptKey===H&&null!==b.lastAnsweredAt&&Date.now()-b.lastAnsweredAt<y.UL)return"duplicate";let J="codex"===d?(0,r.E6)(v):null;if(J)return(0,j.ZS)(a,d,x,{reason:"agent-launch-dialog",mode:null,promptType:F.promptData.type}),G(b,`${I}\u0000${J}`,"poller:auto-yes-skipped-launch-dialog",{worktreeId:a,cliToolId:d,instanceId:x,dialog:J,promptType:F.promptData.type}),"no_answer";if("codex"===d&&(0,i.AD)(v))return(0,j.ZS)(a,d,x,{reason:"unclassified-frame",mode:null,promptType:F.promptData.type}),G(b,`${I}\u0000codex-model-picker`,"poller:auto-yes-skipped-model-picker",{worktreeId:a,cliToolId:d,instanceId:x,promptType:F.promptData.type}),"no_answer";let K=(0,k.r_)(d,F.promptData.type,v);if(!K.allowed)return(0,j.ZS)(a,d,x,{reason:"unclassified-frame",mode:null,promptType:F.promptData.type}),G(b,`${I}\u0000${K.dialog?.kind??""}\u0000${K.mode}`,"poller:auto-yes-skipped-unclassified-frame",{worktreeId:a,cliToolId:d,instanceId:x,promptType:F.promptData.type,dialogKind:K.dialog?.kind??null,answerMode:K.dialog?.answerMode??null,gateMode:K.mode}),"no_answer";let L=(0,h.n)(a,d,x),M=(0,g.sD)(F.promptData,L);M.suppressedBy&&((0,j.ZS)(a,d,x,{reason:M.suppressedBy,mode:L?.mode??null,promptType:F.promptData.type,pattern:M.pattern}),G(b,`${I}\u0000${M.suppressedBy}\u0000${L?.mode??""}\u0000${M.pattern??""}`,"poller:auto-yes-suppressed-by-policy",{worktreeId:a,cliToolId:d,instanceId:x,reason:M.suppressedBy,mode:L?.mode??null,pattern:M.pattern,promptType:F.promptData.type}));let N=M.answer;if(null===N)return"no_answer";let O=q.CLIToolManager.getInstance().getTool(d).getSessionName(a,x),P=await (0,o.L)(a,O);if(null===P||"foreign"===P.verdict)return G(b,`${I}\u0000${O}\u0000${P?"foreign":"worktree_not_found"}`,"poller:auto-yes-skipped-foreign-session",{worktreeId:a,cliToolId:d,instanceId:x,sessionName:O,sessionPath:P?.sessionPath??null,reason:P?"foreign":"worktree_not_found"}),"no_answer";try{await (0,p.tV)({sessionName:O,answer:N,cliToolId:d,promptData:F.promptData})}finally{(0,u.gm)(O)}var E=Date.now();let Q=C(D);Q&&(Q.lastServerResponseTimestamp=E);let R=C(D);R&&(R.consecutiveErrors=0,R.currentInterval=y.ps),b.lastAnsweredPromptKey=H,b.lastAnsweredAt=Date.now(),b.lastSkipWarnKey=null,z.info("poller:response-sent",{worktreeId:a,cliToolId:d,instanceId:x}),(0,l.r)((0,m.getDbInstance)(),a,d,x??d,"prompt_answered_auto",{promptType:F.promptData.type});let S=null;try{S=(0,n.recordAnsweredPrompt)((0,m.getDbInstance)(),{worktreeId:a,cliToolId:d,instanceId:x??d,promptData:F.promptData,answer:N,answeredBy:"auto",content:F.rawContent||F.cleanContent})}catch(b){z.warn("poller:prompt-audit-record-failed",{worktreeId:a,cliToolId:d,instanceId:x,error:(0,t.u1)(b)})}if(S){let b=S;Promise.resolve().then(c.bind(c,43015)).then(({broadcastMessage:c})=>{c(b.created?"message":"message_updated",{worktreeId:a,message:b.message})}).catch(()=>{})}let[{startPolling:T},{broadcastTerminalSnapshotAfterInteraction:U}]=await Promise.all([c.e(2839).then(c.bind(c,95220)),Promise.resolve().then(c.bind(c,99508))]);return T(a,d,x),U(a,d,x),"responded"}catch{return F(D),z.warn("poller:detect-respond-error",{worktreeId:a,cliToolId:d,instanceId:x}),"error"}}async function J(a,b,c){let d=(0,y.v7)(a,b,c),e=C(d);if("valid"===function(a,b){if(!b)return"stopped";let c=(0,y.Ue)(a),d=(0,y.pL)(a);if(!d)return M(a),"expired";let e=(0,y.GE)(a)??void 0,f=(0,y.aq)(c,d,e);return f?.enabled?"valid":(M(a),"expired")}(d,e)){try{let f=(0,y.aq)(a,b,c),g=f?.stopPattern?v.FW:v.Ke,{raw:h,clean:i}=await H(a,b,g,c),j=i.split("\n");if(function(a,b,c){if(b.stopCheckBaselineLength<0)return b.stopCheckBaselineLength=c.length,!1;let d=b.stopCheckBaselineLength;if(c.length>d){let e=c.substring(d);return b.stopCheckBaselineLength=c.length,(0,y.Cs)(a,e,M)}return c.length<d&&(b.stopCheckBaselineLength=c.length),!1}(d,e,i))return;let k=await I(a,e,b,i,j,c,h);if("responded"===k)return void K(a,b,c,y.ZO);if("no_prompt"===k){let d=j.slice(-y.Re).join("\n");if((0,r.ut)(b,d))return void K(a,b,c,v.QN)}}catch(e){F(d),z.warn("poller:poll-error",{worktreeId:a,cliToolId:b,instanceId:c,error:(0,t.u1)(e)})}K(a,b,c)}}function K(a,b,c,d){let e=C((0,y.v7)(a,b,c));if(!e)return;let f=Math.max(d??e.currentInterval,y.ps);e.timerId=setTimeout(()=>{J(a,b,c)},f)}function L(a,b,c){if(!(0,x.h6)(a))return{started:!1,reason:"invalid worktree ID"};let d=c??b,e=(0,y.aq)(a,b,d);if(!e?.enabled)return{started:!1,reason:"auto-yes not enabled"};let f=(0,y.v7)(a,b,d),g=C(f);if(!g&&A.size>=y.fC)return{started:!1,reason:"max concurrent pollers reached"};if(g&&g.cliToolId===b)return{started:!0,reason:"already_running"};g&&M(f);let i={timerId:null,cliToolId:b,instanceId:d,consecutiveErrors:0,currentInterval:y.ps,lastServerResponseTimestamp:null,lastAnsweredPromptKey:null,lastAnsweredAt:null,stopCheckBaselineLength:-1,lastSkipWarnKey:null};return A.set(f,i),(0,h.ie)(f),i.timerId=setTimeout(()=>{J(a,b,d)},y.ps),z.info("poller:started",{worktreeId:a,cliToolId:b,instanceId:d}),{started:!0}}function M(a){let b=C(a);b&&(b.timerId&&clearTimeout(b.timerId),A.delete(a),(0,h.ie)(a),z.info("poller:stopped",{compositeKey:a}))}function N(a){(0,y._9)(Array.from(A.keys()),a).forEach(a=>M(a))}},18778:(a,b,c)=>{c.d(b,{T:()=>g});var d=c(56791),e=c(41364);let f=(0,c(72626).h)("conversation-logger");async function g(a,b,c,h="claude"){let i=(0,d.getLastUserMessage)(a,b);if(i)try{await (0,e.hM)(b,i.content,c,h)}catch(a){f.error("conversation:log-failed",{error:a instanceof Error?a.message:String(a)})}}},21684:(a,b,c)=>{c.d(b,{U:()=>h});var d=c(33873),e=c.n(d),f=c(87447),g=c(8004);function h(){let a=e().join(process.cwd(),"data","logs");return(0,g.T)((0,f._p)("CM_LOG_DIR"),a,"CM_LOG_DIR")}},34331:(a,b,c)=>{c.d(b,{L:()=>g});var d=c(88807),e=c(73753),f=c(96463);async function g(a,b,c=(0,d.getDbInstance)()){let h=(0,e.getWorktreeById)(c,a);return h?(0,f.s_)(b,h.path):null}},40043:(a,b,c)=>{c.d(b,{AD:()=>k,Q4:()=>g,ox:()=>j,xG:()=>l});var d=c(37717),e=c(48083);let f=new Set([d.g.NO_RECENT_OUTPUT,d.g.UNKNOWN_FRAME,d.g.DEFAULT]);function g(a,b){return"running"===a&&f.has(b)}let h=e.STRUCTURED_STATE_MAX_AGE_MS,i=globalThis.__lastKnownStatusByKey??(globalThis.__lastKnownStatusByKey=new Map);function j(a,b,c=Date.now()){for(let[a,b]of i)c-b.at>=h&&i.delete(a);for(;i.size>512;){let a=i.keys().next();if(a.done)break;i.delete(a.value)}"positive"===b.evidence&&(i.delete(a),i.set(a,{status:b.status,reason:b.reason,at:c}))}function k(a,b=Date.now()){let c=i.get(a);return void 0===c?null:b-c.at>=h?(i.delete(a),null):c}function l(a){i.delete(a)}},41364:(a,b,c)=>{c.d(b,{Gv:()=>o,hM:()=>n});var d=c(79748),e=c.n(d),f=c(33873),g=c.n(f),h=c(1634),i=c(21684),j=c(72626),k=c(15194);function l(a="claude"){return g().join((0,i.U)(),a)}async function m(a="claude"){let b=l(a);try{await e().access(b)}catch{await e().mkdir(b,{recursive:!0})}}async function n(a,b,c,d="claude"){await m(d);let f=function(a,b="claude"){let c=(0,h.GP)(new Date,"yyyy-MM-dd"),d=`${a}-${c}.md`,e=l(b);return g().join(e,d)}(a,d),i=(0,h.GP)(new Date,"yyyy-MM-dd HH:mm:ss"),j="";try{j=await e().readFile(f,"utf-8")}catch{let b=(0,k.hR)(d)?k.ef[d]:d;j=`# ${b} Conversation Log: ${a}
2
2
 
3
3
  Created: ${i}
4
4
 
@@ -22,4 +22,4 @@ Created: ${i}
22
22
  ON CONFLICT(key) DO UPDATE SET
23
23
  value = excluded.value,
24
24
  updated_at = excluded.updated_at
25
- `).run(f,JSON.stringify(b),c,c),b}},91601:(a,b,c)=>{c.d(b,{Di:()=>f.Di,HR:()=>d.HR,J$:()=>e.notifyPushSubscribers,O$:()=>f.O$,d7:()=>f.d7,rS:()=>f.rS});var d=c(27519);c(8532);var e=c(61191);c(3915),c(92010),c(81099),c(77703),c(73478);var f=c(80544);c(50779),c(4806),c(55233)},92010:(a,b,c)=>{c.d(b,{R:()=>h});var d=c(24455),e=c(72626),f=c(52277);let g=(0,e.h)("push/prompt-gate");function h(a){let b=function(a){let{worktreeId:b,cliToolId:c,instanceId:e,waitingSince:g}=a,h=(0,d.aq)(b,c,e);if(null===h||!h.enabled)return{suppress:!1,reason:"auto-yes-inactive",stopReason:h?.stopReason};let i=(0,f.gb)(b,c,e);return null!==i&&i.at>=g?{suppress:!1,reason:"policy-withheld",suppressedBy:i.reason}:!0===a.escalated?{suppress:!1,reason:"escalation-reminder"}:{suppress:!0,reason:"auto-yes-answering"}}(a),c={worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,waitingSince:a.waitingSince,escalated:!0===a.escalated,reason:b.reason,...void 0!==b.stopReason?{stopReason:b.stopReason}:{},...void 0!==b.suppressedBy?{suppressedBy:b.suppressedBy}:{}};return b.suppress?g.info("prompt-push-suppressed",c):g.debug("prompt-push-allowed",c),b.suppress}},94676:(a,b,c)=>{c.d(b,{$v:()=>X,emitChatTurnProgress:()=>ac});var d=c(56791),e=c(52660);let f=globalThis.__unclassifiedFrameRuns??(globalThis.__unclassifiedFrameRuns=new Map);var g=c(94154),h=c(63209),i=c(51297),j=c(76777),k=c(50524);let l=/^([^\S\n]*)╹(▀{4,})/,m=/^([^\S\n]*)[│┃]/;var n=c(54325),o=c(81254),p=c(72626),q=c(8360),r=c(15194),s=c(129),t=c(66101),u=c(33198),v=c(17287),w=c(15388),x=c(3161),y=c(49154),z=c(62171),A=c(97751),B=c(31990),C=c(95595),D=c(5363),E=c(52277),F=c(44321),G=c(34405),H=c(93997);function I(a){return""===(0,i.aJ)(a).trim()}var J=c(48083),K=c(30008),L=c(24581),M=c(40043),N=c(9516),O=c(16402),P=c(20967),Q=c(62887);let R=(0,p.h)("layer-disagreement"),S=globalThis.__layerDisagreementReported??(globalThis.__layerDisagreementReported=new Set);var T=c(27870);let U=(0,p.h)("current-output-builder");function V(a,b){Promise.resolve().then(c.bind(c,43015)).then(({broadcastMessage:c})=>{c("message",{worktreeId:a,message:b})}).catch(b=>{U.warn("history-row-broadcast-failed",{worktreeId:a,error:b instanceof Error?b.message:String(b)})})}function W(a,b,c){return!!a.thinking&&null!==b&&"ready"===b.status&&null!==c&&"stop"===c.closedBy&&null!==c.closedAt}async function X(a,b,c,d,e){let f=await Y(a,b,c,d);return(f.isRunning&&"running"===f.sessionStatus&&await ad(a,b,c,d),e)?{...f,resolvedBy:e.resolvedBy,conflict:e.conflict??null}:f}async function Y(a,b,c,n){let p=n??c,X=q.CLIToolManager.getInstance().getTool(c),Y=X.getSessionName(b,n),Z=(0,J.getLastStopEventAt)(b,c,n),$=(0,J.getLastAgentEvent)(b,c,n),_=(0,s.VM)(c),aa=Date.now(),ab=(0,J.getPendingDecisions)(b,c,n,aa),ac=(0,J.getAskUserQuestion)(b,c,n,aa),ad=(0,x.Jl)(b,c,n),ae={lastEventType:$?.event??null,lastEventAt:$?.at??null,lastEventDetail:$?.detail??null,...(0,J.getPublishedAgentTurn)(b,c,n,aa),pendingDecisions:ab.map(a=>{let b=(0,y.Wk)(a.toolName);return{id:a.decisionId,at:a.at,source:a.source,toolName:a.toolName,confirmedAt:a.confirmedAt,scraperCorroborated:a.scraperCorroborated,deliveryExpired:(0,L.qX)(a,_.capabilities.decisionTimeoutSeconds,aa),kind:b,questionOptions:"question"===b&&ac?(0,A.dZ)(ac.spec).map(a=>({number:a.number,label:a.label})):null}}),dedupDropped:(0,J.getAgentEventDropCounts)(b,c,n),dialogPendingMaxMs:{...L.h_},promptWaitingSince:null,promptWaitingSource:null,toolInputNormalization:(0,w.SQ)(b,c,n),permissionDecision:(0,v.CD)(b,c,n),source:{cliToolId:_.cliToolId,capabilities:_.capabilities,...(0,t.Kf)(_,_.liveness({worktreeId:b,cliToolId:c,instanceId:p}),aa),probedActivity:(0,u.hS)({worktreeId:b,cliToolId:c,instanceId:p})},session:ad,sessionContext:(0,x.sc)({worktreeId:b,cliToolId:c,instanceId:n},ad),sessionDiff:(0,z.rn)({worktreeId:b,cliToolId:c,instanceId:n})};if(!await X.isRunning(b,n))return(0,M.xG)((0,D.v7)(b,c,n)),{isRunning:!1,sessionName:Y,content:"",lineCount:0,cliToolId:c,sessionStatus:"idle",sessionStatusReason:"session_not_running",statusEvidence:"positive",lastKnownStatus:null,lastKnownStatusAt:null,lastStopEventAt:Z,structuredEvents:ae,model:null,reasoningEffort:null,promptDedup:(0,F.XH)(b,c,n),upstreamFault:null,paneObstruction:null,composerText:null,composerState:"no_composer"};let af=(0,d.getSessionState)(a,b,p),ag=af?.lastCapturedLine||0,ah=await (0,B.Wh)(b,c,G._,n),ai=ah.split("\n"),aj=ai.length,ak=(0,H.sl)(aj,Math.min(G._,H.xE)),al=((0,r.qR)(c,ak)?ai.slice(Math.max(0,ag)):ai).join("\n"),am=(0,D.v7)(b,c,n),an=(0,D.xU)(am),ao=an?new Date(an):void 0,ap=(0,C.WC)(ah,c,ao),aq=(0,C.f8)(ap),ar=ap.hasActivePrompt,as="waiting"===ap.status&&C.ug.has(ap.reason),at=ap.reason===C.gv.CODEX_PAGER,au="waiting"===ap.status&&ap.reason===C.gv.COMMAND_CODE_DISMISSABLE_PANEL,av=ap.evidence,aw=(0,M.Q4)(ap.status,ap.reason);(0,J.observeScraperCompletionEvidence)(b,c,n,"ready"===ap.status&&"positive"===av);let ax=(0,J.getStructuredSessionState)(b,c,n),ay=(0,K._G)({worktreeId:b,cliToolId:c,instanceId:n,scraper:{status:ap.status,reason:ap.reason,hasActivePrompt:ar}}),az=ay.structured;null!==az&&(ae.promptWaitingSince=az.at,ae.promptWaitingSource=az.source);let aA={status:ap.status,reason:ap.reason,thinking:aq,evidence:av,isUnclassifiedActive:aw},aB=W(aA,ax,ae)?function(a,b,c,d){try{let f=(0,e.getLastUserMessageForInstance)(a,b,c,d);if(!f)return null;let g=f.timestamp instanceof Date?f.timestamp.getTime():NaN;return Number.isFinite(g)?g:null}catch(a){return U.debug("newest-prompt-read-failed",{worktreeId:b,cliToolId:c,instanceId:d,error:a instanceof Error?a.message:String(a)}),null}}(a,b,c,p):null,aC=function(a,b,c=null,d=null,e=null){if("waiting"===a.status)return{...a,structuredApplied:!1};if(null!==c)return{status:"waiting",reason:(0,K.rB)(c),thinking:!1,evidence:a.evidence,isUnclassifiedActive:a.isUnclassifiedActive,structuredApplied:!0};if(null===b||"waiting"===b.status||function(a,b,c,d){if(null===d||!W(a,b,c))return!1;let e=c?.closedAt??null;return null!==e&&e<d}(a,b,d,e))return{...a,structuredApplied:!1};let f="running"===b.status,g="ready"===b.status&&function(a){if(null===a)return!1;let{closedBy:b,closedAt:c,openedAt:d}=a;return"stop"===b&&null!==c&&null!==d&&c>d}(d)?"positive":a.evidence;return{status:b.status,reason:b.reason,thinking:f,evidence:g,isUnclassifiedActive:a.isUnclassifiedActive,structuredApplied:!0}}(aA,ax,az,ae,aB),aD=ay.waiting,aE=ap.promptDetection.promptData,aF=aE&&ac?(0,N.Hu)(aE,ac.spec):null,aG=null!==az&&"notification"===az.source&&"permission-id"===_.capabilities.eventIdentity&&(0,T.PP)(az.decisionId)?az.decisionId:null,aH=null!==az&&"question"===(0,y.Wk)(az.toolName),aI=null===aG||aH?null:(0,T.T5)(c),aJ=null===az?null:{...az,askUserQuestion:function(a){let b=a?.spec.questions[0];return b?{question:b.question,labels:b.choices.map(a=>a.label),questionCount:a.spec.questions.length,...b.custom?{custom:!0}:{}}:null}(ac),decisionOptions:aI,decisionId:aG,patterns:null!==aI?az.patterns:null},aK=ar?aF??aE??(aJ?(0,T.Yo)(b,aJ):null):aJ?(0,T.Yo)(b,aJ):null,aL=ar&&(aF??aE)?null===(0,O.dd)(c,ah).refusal:void 0;null!==ax&&ax.status!==ap.status&&U.info("detection-divergence",{worktreeId:b,cliToolId:c,instanceId:p,scraperStatus:ap.status,scraperReason:ap.reason,structuredStatus:ax.status,structuredReason:ax.reason,structuredEvent:ax.event,structuredEventAt:ax.at,applied:aC.structuredApplied});let aM=(function(a){let b=a.slice(-100);if(b.some(a=>!I(a)))return b;let c=a.length-1;for(;c>=0&&I(a[c]);)c-=1;return c<0?b:a.slice(Math.max(0,c+1-100),c+1)})(ai).join("\n"),aN="opencode"===c?function(a){let b=(0,i.aJ)(a).split("\n"),c=-1,d=-1,e=-1;for(let a=0;a<b.length;a++){let f=l.exec(b[a]);f&&(c=a,e=(d=f[1].length)+1+f[2].length)}if(-1===c)return null;let f=0,g="";for(let a=0;a<b.length;a++){let h=b[a];if(a!==c){let a=m.exec(h);if(!a||a[1].length!==d)continue}let i=h.slice((0,k.sh)(h,e)).trim();""!==i&&(f+=1,""===g&&(g=(0,j.D)(i,200,"…[truncated]")))}return f<2?null:{id:"opencode_sidebar",matchedText:g,boxRight:e,rows:f}}(aM):null,aO=(0,T.LF)(_.capabilities.eventIdentity,ae.pendingDecisions??[]),aP=function(a,b,c=Date.now()){for(let[a,b]of f)c-b.lastSeen>36e5&&f.delete(a);if(!b)return f.delete(a),{dwellMs:0,shouldRecord:!1};let d=f.get(a);if(!d)return f.set(a,{since:c,lastSeen:c,recorded:!1}),{dwellMs:0,shouldRecord:!1};d.lastSeen=c;let e=Math.max(0,c-d.since);return d.recorded||e<6e4?{dwellMs:e,shouldRecord:!1}:(d.recorded=!0,{dwellMs:e,shouldRecord:!0})}(am,aC.isUnclassifiedActive&&!aO);aP.shouldRecord&&function(a,b){var c;let e=Math.round(b.dwellMs/1e3),f=`${b.sessionStatus}/${b.sessionStatusReason}`,g=`Unclassified interactive frame (${f}) held for ${e}s. The detection layer could not parse it, so no prompt was published and nothing could answer it. Inspect the raw pane with \`commandmate capture ${b.worktreeId} --pane\`.`+((c=b.obstruction)?` Cause: opencode's sidebar is sharing rows with the transcript (paneObstruction=${c.id}, second column reads ${JSON.stringify(c.matchedText)}), which covers the marker that ends a turn. Press \`ctrl+x b\` in the pane to close it.`:""),h={type:o.LT,status:"unclassified",question:g,options:[],dwellSeconds:e,sessionStatusReason:f};try{let c=(0,d.createMessage)(a,{worktreeId:b.worktreeId,role:"assistant",content:g,messageType:"prompt",promptData:h,timestamp:new Date,cliToolId:b.cliToolId,instanceId:b.instanceId});U.info("unclassified-frame-recorded",{worktreeId:b.worktreeId,cliToolId:b.cliToolId,dwellSeconds:e,statusReason:f}),V(b.worktreeId,c)}catch(a){U.warn("unclassified-frame-record-failed",{worktreeId:b.worktreeId,error:a instanceof Error?a.message:String(a)})}}(a,{worktreeId:b,cliToolId:c,instanceId:p,dwellMs:aP.dwellMs,sessionStatus:aC.status,sessionStatusReason:aC.reason,obstruction:aN});let aQ=(aR={supportedEvents:_.capabilities.supportedEvents,scraperStatus:ap.status,scraperReason:ap.reason,hasActivePrompt:ar,lastEventType:ae.lastEventType,lastEventDetail:ae.lastEventDetail}).supportedEvents.includes("user_prompt_submit")&&aR.supportedEvents.includes("stop")&&"waiting"===aR.scraperStatus&&"stop"===aR.lastEventType&&aR.lastEventDetail!==Q.HV?aR.hasActivePrompt?"approval-after-stop":C.ug.has(aR.scraperReason)?"menu-after-stop":null:null;if(null!==aQ&&function(a){let b=`${a.compositeKey}|${a.turnId??"-"}|${a.kind}`;if(S.has(b))return;S.size>=512&&S.clear(),S.add(b);let c=(0,P.aJ)(a.frame).split("\n").filter(a=>""!==a.trim());R.warn("layerDisagreement",{kind:a.kind,worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId,turnId:a.turnId,scraperReason:a.scraperReason,frameTail:c.slice(-40).join("\n")})}({compositeKey:am,worktreeId:b,cliToolId:c,instanceId:p,turnId:ae.turnId,kind:aQ,scraperReason:ap.reason,frame:ah}),null!==az&&null!==aJ&&!ar&&!az.recorded&&!aO){(0,J.markStructuredPromptRecorded)(b,c,n);var aR,aS=b,aT=c,aU=p,aV=az,aW=aJ;let e=(0,T.fO)(aS,aW);try{let b=(0,d.createMessage)(a,{worktreeId:aS,role:"assistant",content:e.question,summary:`structured prompt \xb7 source=${aV.source}${aV.toolName?` \xb7 tool=${aV.toolName}`:""}`,messageType:"prompt",promptData:e,timestamp:new Date,cliToolId:aT,instanceId:aU});U.info("structured-prompt-recorded",{worktreeId:aS,cliToolId:aT,instanceId:aU,source:aV.source,toolName:aV.toolName}),V(aS,b)}catch(a){U.warn("structured-prompt-record-failed",{worktreeId:aS,error:a instanceof Error?a.message:String(a)})}}let aX=(0,g.ji)(ah,c),aY=(0,h.bT)(aM),aZ=(0,D.aq)(b,c,n),{model:a$,effort:a_}=(0,J.getResolvedAgentModelInfo)(b,c,n);(0,M.ox)(am,{status:aC.status,reason:aC.reason,evidence:aC.evidence});let a0=(0,M.AD)(am);return{isRunning:!0,sessionName:Y,cliToolId:c,sessionStatus:aC.status,sessionStatusReason:aC.reason,content:al,fullOutput:ah,realtimeSnippet:aM,lineCount:aj,lastCapturedLine:ag,isComplete:aD,isGenerating:aC.thinking,thinking:aC.thinking,thinkingMessage:aC.thinking?`${(0,r.oo)(c)} is thinking...`:null,isPromptWaiting:aD,promptData:aK,...void 0!==aL?{promptAnswerable:aL}:{},autoYes:{enabled:aZ?.enabled??!1,expiresAt:aZ?.enabled?aZ.expiresAt:null,stopReason:aZ?.stopReason,lastSuppression:(0,E.gb)(b,c,n),stopMatchedText:aZ?.stopMatchedText},isSelectionListActive:as,isPagerActive:at,isDismissablePanelActive:au,isUnclassifiedActive:aC.isUnclassifiedActive,statusEvidence:aC.evidence,lastKnownStatus:a0?.status??null,lastKnownStatusAt:a0?.at??null,lastServerResponseTimestamp:an,serverPollerActive:(0,D.bZ)(am),lastStopEventAt:Z,structuredEvents:ae,model:a$,reasoningEffort:a_,promptDedup:(0,F.XH)(b,c,n),upstreamFault:aY?{id:aY.fault.id,matchedText:aY.matchedText,at:Date.now()}:null,paneObstruction:aN?{id:aN.id,matchedText:aN.matchedText,at:Date.now()}:null,composerText:"content"===aX.state?aX.text:null,composerState:aX.state}}function Z(){return{version:0,askedAt:-1/0,turnKey:null,body:null,loggedOutcome:null,loggedTurnKey:null}}let $=globalThis.__chatTurnProgressState??=new Map;function _(a){return`${a.worktreeId}:${a.cliToolId}:${a.instanceId??a.cliToolId}`}function aa(a,b,c,d={}){let e=_(a),f=$.get(e)??Z();$.set(e,f),(f.loggedOutcome!==b||f.loggedTurnKey!==c)&&(f.loggedOutcome=b,f.loggedTurnKey=c,U.info("published"===b?"chat-turn-progress-published":"no-subscribers"===b?"chat-turn-progress-no-subscribers":"chat-turn-progress-failed",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,turnKey:c,...d}))}async function ab(a,b,c=Date.now()){let d,e=_(a),f=$.get(e)??Z();if(c-f.askedAt<n.r9)return null;f.askedAt=c,$.set(e,f);try{d=await b()}catch{return null}if(!d||0===d.body.length)return null;let g=(0,n.rx)(d.body);return d.turnKey===f.turnKey&&g.body===f.body?null:(f.turnKey=d.turnKey,f.body=g.body,f.version+=1,{type:n.rz,worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,turnKey:d.turnKey,body:g.body,partial:g.truncated||!0===d.partial,version:f.version,done:!1})}async function ac(a,b,d=Date.now()){try{let{broadcast:e,hasRoomSubscribers:f}=await Promise.resolve().then(c.bind(c,43015));if(!f(a.worktreeId))return aa(a,"no-subscribers",null),!1;let g=await ab(a,b,d);if(!g)return!1;return e(a.worktreeId,g),aa(a,"published",g.turnKey,{version:g.version,bodyLength:g.body.length,partial:g.partial}),!0}catch(b){return aa(a,"failed",null,{error:b instanceof Error?b.message:String(b)}),!1}}async function ad(a,b,d,e){if("claude"!==d)return;let f={worktreeId:b,cliToolId:d,instanceId:e};try{let{getWorktreeById:g}=await Promise.resolve().then(c.bind(c,73753)),h=g(a,b)?.path;if(!h)return;let{hasRoomSubscribers:i}=await Promise.resolve().then(c.bind(c,43015));if(!i(b))return void aa(f,"no-subscribers",null);ac(f,async()=>{let{readClaudeTurnProgress:a}=await Promise.resolve().then(c.bind(c,79696));return a({worktreeId:b,cliToolId:d,instanceId:e??d},{worktreePath:h})})}catch(a){aa(f,"failed",null,{error:a instanceof Error?a.message:String(a)})}}},97751:(a,b,c)=>{c.d(b,{M4:()=>p,W7:()=>r,aK:()=>q,dV:()=>l,dZ:()=>m,yQ:()=>j});var d=c(72626),e=c(27870),f=c(25071),g=c(129),h=c(62887);let i=(0,d.h)("lib/hooks/structured-decision-response"),j="Rejected by the operator via `commandmate respond`.",k={1:["once","allow once","allow","yes","y"],2:["always","allow always","allow-always"],3:["reject","deny","no","n"]};function l(a,b){let c=a.trim().toLowerCase();if(""===c)return null;for(let a of void 0===b?e.QB:(0,e.T5)(b))if(c===String(a.number)||c===a.label.toLowerCase()||c===a.reply||(k[a.number]??[]).includes(c))return a;return null}function m(a){let b=a.questions[0];return b?b.choices.map((a,b)=>({number:b+1,label:a.label,reply:a.label})):[]}let n=/^\d+(?:\s*[,\s]\s*\d+)*$/;function o(a){return a.map(a=>`${a.number} = ${a.label}`).join(", ")}function p(a,b){let c=b.trim();if(""===c)return{ok:!1,reason:"unresolvable_answer",message:"An empty answer names no choice."};if(1!==a.questions.length)return{ok:!1,reason:"multi_question_unsupported",message:`This call asks ${a.questions.length} questions and \`answers\` carries one array per question; a single answer cannot say what the others are. Answer it in the terminal.`};let d=a.questions[0],e=m(a);if(n.test(c)){let a=[];for(let b of c.split(/[,\s]+/)){let d=e.find(a=>a.number===Number(b));if(!d)return{ok:!1,reason:"answer_out_of_range",message:`'${c}' names no choice this question offers. ${o(e)}.`};a.some(a=>a.number===d.number)||a.push(d)}return a.length>1&&!d.multiSelect?{ok:!1,reason:"multi_select_not_offered",message:`This question accepts one choice. Send a single number: ${o(e)}.`}:{ok:!0,resolved:{answers:[a.map(a=>a.reply)],selected:a,freeText:!1}}}let f=e.find(a=>a.label.toLowerCase()===c.toLowerCase());return f?{ok:!0,resolved:{answers:[[f.reply]],selected:[f],freeText:!1}}:c.length>1e3?{ok:!1,reason:"unresolvable_answer",message:"A free-text answer is limited to 1000 characters; this one is longer and is refused rather than cut short."}:{ok:!0,resolved:{answers:[[c]],selected:[],freeText:!0}}}function q(a){return{kind:"answer",answers:a.answers}}async function r({worktreeId:a,cliToolId:b,instanceId:d,answer:k,useDefault:m=!1}){let n,o=(0,g.VM)(b);if(null===o.capabilities.eventIdentity)return{kind:"not-applicable",reason:"no-decision-identity"};let p={worktreeId:a,cliToolId:b,instanceId:d};try{n=await o.listPending(p)}catch(c){return i.warn("structured-decision-unreachable",{worktreeId:a,cliToolId:b,instanceId:d??b,error:c instanceof Error?c.message:String(c)}),{kind:"not-applicable",reason:"source-unreachable"}}let q=n.filter(a=>"permission"===a.kind);if(0===q.length)return{kind:"not-applicable",reason:"no-pending-decision"};let r=q[0];if(q.length>1&&i.info("structured-decision-multiple-pending",{worktreeId:a,cliToolId:b,instanceId:d??b,pending:q.length,answering:r.id}),m)return{kind:"refused",reason:"unresolvable_answer",message:`--default cannot answer a structured approval: the agent publishes no default verdict. Send a number instead — ${(0,e.T5)(b).map(a=>`${a.number} = ${a.label}`).join(", ")}.`};let s=void 0===k?null:l(k,b);if(!s)return{kind:"refused",reason:"answer_out_of_range",message:`'${k??""}' is not one of the verdicts this approval accepts. `+(0,e.T5)(b).map(a=>`${a.number} = ${a.label} (${a.reply})`).join(", ")+"."};let t=function(a){switch(a){case 1:return{kind:"allowOnce"};case 2:return{kind:"allowAlways"};case 3:return{kind:"deny",message:j};default:return null}}(s.number);if(!t)return{kind:"refused",reason:"unresolvable_answer",message:`Option ${s.number} has no verdict on this server.`};let{delivery:u}=await (0,f.GW)(o,p,r,t),v=u?.delivered===!0;if(v&&o.capabilities.permissionReplyReleasesPrompt){let{recordAgentEvent:e}=await Promise.resolve().then(c.bind(c,48083));e(a,b,d,{event:"notification",at:Date.now(),detail:h.KC,sessionId:r.conversationId,decisionId:r.id,promptSettled:!0})}return i.info("structured-decision-answered",{worktreeId:a,cliToolId:b,instanceId:d??b,decisionId:r.id,optionNumber:s.number,reply:s.reply,delivered:v}),{kind:"answered",decisionId:r.id,option:s,delivered:v}}},99508:(a,b,c)=>{c.r(b),c.d(b,{INTERACTION_SNAPSHOT_RETRY_DELAYS_MS:()=>l,__resetTerminalBroadcastState:()=>s,broadcastSessionStatus:()=>r,broadcastTerminalSnapshot:()=>m,broadcastTerminalSnapshotAfterInteraction:()=>q});var d=c(43015),e=c(88807),f=c(94676),g=c(72626),h=c(8360),i=c(93997);let j=(0,g.h)("terminal-broadcast"),k=globalThis.__terminalSnapshotVersions??(globalThis.__terminalSnapshotVersions=new Map),l=[100,250,500,750];async function m(a,b,c){if((0,d.hasRoomSubscribers)(a))try{let d=(0,e.getDbInstance)(),g=await (0,f.$v)(d,a,b,c);p(a,b,g,c)}catch(b){j.error("terminal-snapshot:failed",{worktreeId:a,error:b instanceof Error?b.message:String(b)})}}function n(a){return JSON.stringify([a.fullOutput??"",a.isRunning,a.sessionStatus,a.thinking??!1,a.isPromptWaiting??!1,a.promptAnswerable??null,a.isSelectionListActive??!1,a.isPagerActive??!1,a.isDismissablePanelActive??!1,a.isUnclassifiedActive??!1])}async function o(a,b,c){let d=h.CLIToolManager.getInstance().getTool(b);return(0,i.gm)(d.getSessionName(a,c)),(0,f.$v)((0,e.getDbInstance)(),a,b,c)}function p(a,b,c,e){let f=e??b,g=`${a}:${b}:${f}`;(0,d.broadcast)(a,{type:"terminal_snapshot",worktreeId:a,cliToolId:b,instanceId:f,output:c.fullOutput??"",isRunning:c.isRunning,sessionStatus:c.sessionStatus,thinking:c.thinking??!1,isPromptWaiting:c.isPromptWaiting??!1,promptData:c.promptData??null,promptAnswerable:c.promptAnswerable,isSelectionListActive:c.isSelectionListActive??!1,isPagerActive:c.isPagerActive??!1,isDismissablePanelActive:c.isDismissablePanelActive??!1,isUnclassifiedActive:c.isUnclassifiedActive??!1,version:function(a){let b=(k.get(a)??0)+1;return k.set(a,b),b}(g)})}async function q(a,b,c,e=l){if((0,d.hasRoomSubscribers)(a))try{let d=await o(a,b,c),f=n(d);for(let g of(p(a,b,d,c),e)){await new Promise(a=>setTimeout(a,g));let d=await o(a,b,c);if(n(d)!==f)return void p(a,b,d,c)}}catch(d){j.error("terminal-snapshot:interaction-refresh-failed",{worktreeId:a,cliToolId:b,instanceId:c,error:d instanceof Error?d.message:String(d)})}}function r(a,b,c){(0,d.broadcast)(a,{type:"session_status_changed",worktreeId:a,isRunning:b,cliTool:c?.cliTool??null,instance:c?.instance??null})}function s(){k.clear()}}};
25
+ `).run(f,JSON.stringify(b),c,c),b}},84393:(a,b,c)=>{c.d(b,{GE:()=>d.GE,LP:()=>d.LP,W5:()=>e.W5,W8:()=>d.W8,_C:()=>e._C,_i:()=>e._i,aq:()=>d.aq,bZ:()=>e.bZ,kC:()=>d.kC,pL:()=>d.pL,v7:()=>d.v7,xU:()=>e.xU});var d=c(24455),e=c(10044)},91601:(a,b,c)=>{c.d(b,{Di:()=>f.Di,HR:()=>d.HR,J$:()=>e.notifyPushSubscribers,O$:()=>f.O$,d7:()=>f.d7,rS:()=>f.rS});var d=c(27519);c(8532);var e=c(61191);c(3915),c(92010),c(81099),c(77703),c(73478);var f=c(80544);c(50779),c(4806),c(55233)},92010:(a,b,c)=>{c.d(b,{R:()=>h});var d=c(24455),e=c(72626),f=c(52277);let g=(0,e.h)("push/prompt-gate");function h(a){let b=function(a){let{worktreeId:b,cliToolId:c,instanceId:e,waitingSince:g}=a,h=(0,d.aq)(b,c,e);if(null===h||!h.enabled)return{suppress:!1,reason:"auto-yes-inactive",stopReason:h?.stopReason};let i=(0,f.gb)(b,c,e);return null!==i&&i.at>=g?{suppress:!1,reason:"policy-withheld",suppressedBy:i.reason}:!0===a.escalated?{suppress:!1,reason:"escalation-reminder"}:{suppress:!0,reason:"auto-yes-answering"}}(a),c={worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,waitingSince:a.waitingSince,escalated:!0===a.escalated,reason:b.reason,...void 0!==b.stopReason?{stopReason:b.stopReason}:{},...void 0!==b.suppressedBy?{suppressedBy:b.suppressedBy}:{}};return b.suppress?g.info("prompt-push-suppressed",c):g.debug("prompt-push-allowed",c),b.suppress}},94676:(a,b,c)=>{c.d(b,{$v:()=>Y,emitChatTurnProgress:()=>ad});var d=c(56791),e=c(52660);let f=globalThis.__unclassifiedFrameRuns??(globalThis.__unclassifiedFrameRuns=new Map);var g=c(35583),h=c(94154),i=c(63209),j=c(51297),k=c(76777),l=c(50524);let m=/^([^\S\n]*)╹(▀{4,})/,n=/^([^\S\n]*)[│┃]/;var o=c(54325),p=c(81254),q=c(72626),r=c(8360),s=c(15194),t=c(129),u=c(66101),v=c(33198),w=c(17287),x=c(15388),y=c(3161),z=c(49154),A=c(62171),B=c(97751),C=c(31990),D=c(95595),E=c(84393),F=c(52277),G=c(44321),H=c(34405),I=c(93997);function J(a){return""===(0,j.aJ)(a).trim()}var K=c(48083),L=c(30008),M=c(24581),N=c(40043),O=c(9516),P=c(16402),Q=c(20967),R=c(62887);let S=(0,q.h)("layer-disagreement"),T=globalThis.__layerDisagreementReported??(globalThis.__layerDisagreementReported=new Set);var U=c(27870);let V=(0,q.h)("current-output-builder");function W(a,b){Promise.resolve().then(c.bind(c,43015)).then(({broadcastMessage:c})=>{c("message",{worktreeId:a,message:b})}).catch(b=>{V.warn("history-row-broadcast-failed",{worktreeId:a,error:b instanceof Error?b.message:String(b)})})}function X(a,b,c){return!!a.thinking&&null!==b&&"ready"===b.status&&null!==c&&"stop"===c.closedBy&&null!==c.closedAt}async function Y(a,b,c,d,e){let f=await Z(a,b,c,d);return(f.isRunning&&"running"===f.sessionStatus&&null==f.startingSince&&await ae(a,b,c,d),e)?{...f,resolvedBy:e.resolvedBy,conflict:e.conflict??null}:f}async function Z(a,b,c,o){let q=o??c,Y=r.CLIToolManager.getInstance().getTool(c),Z=Y.getSessionName(b,o),$=(0,K.getLastStopEventAt)(b,c,o),_=(0,K.getLastAgentEvent)(b,c,o),aa=(0,t.VM)(c),ab=Date.now(),ac=(0,K.getPendingDecisions)(b,c,o,ab),ad=(0,K.getAskUserQuestion)(b,c,o,ab),ae=(0,y.Jl)(b,c,o),af={lastEventType:_?.event??null,lastEventAt:_?.at??null,lastEventDetail:_?.detail??null,...(0,K.getPublishedAgentTurn)(b,c,o,ab),pendingDecisions:ac.map(a=>{let b=(0,z.Wk)(a.toolName);return{id:a.decisionId,at:a.at,source:a.source,toolName:a.toolName,confirmedAt:a.confirmedAt,scraperCorroborated:a.scraperCorroborated,deliveryExpired:(0,M.qX)(a,aa.capabilities.decisionTimeoutSeconds,ab),kind:b,questionOptions:"question"===b&&ad?(0,B.dZ)(ad.spec).map(a=>({number:a.number,label:a.label})):null}}),dedupDropped:(0,K.getAgentEventDropCounts)(b,c,o),dialogPendingMaxMs:{...M.h_},promptWaitingSince:null,promptWaitingSource:null,toolInputNormalization:(0,x.SQ)(b,c,o),permissionDecision:(0,w.CD)(b,c,o),source:{cliToolId:aa.cliToolId,capabilities:aa.capabilities,...(0,u.Kf)(aa,aa.liveness({worktreeId:b,cliToolId:c,instanceId:q}),ab),probedActivity:(0,v.hS)({worktreeId:b,cliToolId:c,instanceId:q})},session:ae,sessionContext:(0,y.sc)({worktreeId:b,cliToolId:c,instanceId:o},ae),sessionDiff:(0,A.rn)({worktreeId:b,cliToolId:c,instanceId:o})};if(!await Y.isRunning(b,o))return(0,N.xG)((0,E.v7)(b,c,o)),{isRunning:!1,startingSince:(0,g.Bk)(b,c,o),sessionName:Z,content:"",lineCount:0,cliToolId:c,sessionStatus:"idle",sessionStatusReason:"session_not_running",statusEvidence:"positive",lastKnownStatus:null,lastKnownStatusAt:null,lastStopEventAt:$,structuredEvents:af,model:null,reasoningEffort:null,promptDedup:(0,G.XH)(b,c,o),upstreamFault:null,paneObstruction:null,composerText:null,composerState:"no_composer"};let ag=(0,d.getSessionState)(a,b,q),ah=ag?.lastCapturedLine||0,ai=await (0,C.Wh)(b,c,H._,o),aj=ai.split("\n"),ak=aj.length,al=(0,I.sl)(ak,Math.min(H._,I.xE)),am=((0,s.qR)(c,al)?aj.slice(Math.max(0,ah)):aj).join("\n"),an=(0,E.v7)(b,c,o),ao=(0,E.xU)(an),ap=ao?new Date(ao):void 0,aq=(0,D.WC)(ai,c,ap),ar=(0,g.a3)(b,c,o,"waiting"===aq.status||aq.hasActivePrompt),as=null===ar?aq:(0,g.Gz)(aq),at=(0,D.f8)(as),au=as.hasActivePrompt,av="waiting"===as.status&&D.ug.has(as.reason),aw=as.reason===D.gv.CODEX_PAGER,ax="waiting"===as.status&&as.reason===D.gv.COMMAND_CODE_DISMISSABLE_PANEL,ay=as.evidence,az=(0,N.Q4)(as.status,as.reason);(0,K.observeScraperCompletionEvidence)(b,c,o,"ready"===as.status&&"positive"===ay);let aA=(0,K.getStructuredSessionState)(b,c,o),aB=(0,L._G)({worktreeId:b,cliToolId:c,instanceId:o,scraper:{status:as.status,reason:as.reason,hasActivePrompt:au}}),aC=aB.structured;null!==aC&&(af.promptWaitingSince=aC.at,af.promptWaitingSource=aC.source);let aD={status:as.status,reason:as.reason,thinking:at,evidence:ay,isUnclassifiedActive:az},aE=X(aD,aA,af)?function(a,b,c,d){try{let f=(0,e.getLastUserMessageForInstance)(a,b,c,d);if(!f)return null;let g=f.timestamp instanceof Date?f.timestamp.getTime():NaN;return Number.isFinite(g)?g:null}catch(a){return V.debug("newest-prompt-read-failed",{worktreeId:b,cliToolId:c,instanceId:d,error:a instanceof Error?a.message:String(a)}),null}}(a,b,c,q):null,aF=function(a,b,c=null,d=null,e=null){if("waiting"===a.status)return{...a,structuredApplied:!1};if(null!==c)return{status:"waiting",reason:(0,L.rB)(c),thinking:!1,evidence:a.evidence,isUnclassifiedActive:a.isUnclassifiedActive,structuredApplied:!0};if(null===b||"waiting"===b.status||function(a,b,c,d){if(null===d||!X(a,b,c))return!1;let e=c?.closedAt??null;return null!==e&&e<d}(a,b,d,e))return{...a,structuredApplied:!1};let f="running"===b.status,g="ready"===b.status&&function(a){if(null===a)return!1;let{closedBy:b,closedAt:c,openedAt:d}=a;return"stop"===b&&null!==c&&null!==d&&c>d}(d)?"positive":a.evidence;return{status:b.status,reason:b.reason,thinking:f,evidence:g,isUnclassifiedActive:a.isUnclassifiedActive,structuredApplied:!0}}(aD,aA,aC,af,aE),aG=null===ar&&aB.waiting,aH=as.promptDetection.promptData,aI=aH&&ad?(0,O.Hu)(aH,ad.spec):null,aJ=null!==aC&&"notification"===aC.source&&"permission-id"===aa.capabilities.eventIdentity&&(0,U.PP)(aC.decisionId)?aC.decisionId:null,aK=null!==aC&&"question"===(0,z.Wk)(aC.toolName),aL=null===aJ||aK?null:(0,U.T5)(c),aM=null===aC?null:{...aC,askUserQuestion:function(a){let b=a?.spec.questions[0];return b?{question:b.question,labels:b.choices.map(a=>a.label),questionCount:a.spec.questions.length,...b.custom?{custom:!0}:{}}:null}(ad),decisionOptions:aL,decisionId:aJ,patterns:null!==aL?aC.patterns:null},aN=null!==ar?null:au?aI??aH??(aM?(0,U.Yo)(b,aM):null):aM?(0,U.Yo)(b,aM):null,aO=au&&(aI??aH)?null===(0,P.dd)(c,ai).refusal:void 0;null!==aA&&aA.status!==as.status&&V.info("detection-divergence",{worktreeId:b,cliToolId:c,instanceId:q,scraperStatus:as.status,scraperReason:as.reason,structuredStatus:aA.status,structuredReason:aA.reason,structuredEvent:aA.event,structuredEventAt:aA.at,applied:aF.structuredApplied});let aP=(function(a){let b=a.slice(-100);if(b.some(a=>!J(a)))return b;let c=a.length-1;for(;c>=0&&J(a[c]);)c-=1;return c<0?b:a.slice(Math.max(0,c+1-100),c+1)})(aj).join("\n"),aQ="opencode"===c?function(a){let b=(0,j.aJ)(a).split("\n"),c=-1,d=-1,e=-1;for(let a=0;a<b.length;a++){let f=m.exec(b[a]);f&&(c=a,e=(d=f[1].length)+1+f[2].length)}if(-1===c)return null;let f=0,g="";for(let a=0;a<b.length;a++){let h=b[a];if(a!==c){let a=n.exec(h);if(!a||a[1].length!==d)continue}let i=h.slice((0,l.sh)(h,e)).trim();""!==i&&(f+=1,""===g&&(g=(0,k.D)(i,200,"…[truncated]")))}return f<2?null:{id:"opencode_sidebar",matchedText:g,boxRight:e,rows:f}}(aP):null,aR=(0,U.LF)(aa.capabilities.eventIdentity,af.pendingDecisions??[]),aS=function(a,b,c=Date.now()){for(let[a,b]of f)c-b.lastSeen>36e5&&f.delete(a);if(!b)return f.delete(a),{dwellMs:0,shouldRecord:!1};let d=f.get(a);if(!d)return f.set(a,{since:c,lastSeen:c,recorded:!1}),{dwellMs:0,shouldRecord:!1};d.lastSeen=c;let e=Math.max(0,c-d.since);return d.recorded||e<6e4?{dwellMs:e,shouldRecord:!1}:(d.recorded=!0,{dwellMs:e,shouldRecord:!0})}(an,aF.isUnclassifiedActive&&!aR&&null===ar);aS.shouldRecord&&function(a,b){var c;let e=Math.round(b.dwellMs/1e3),f=`${b.sessionStatus}/${b.sessionStatusReason}`,g=`Unclassified interactive frame (${f}) held for ${e}s. The detection layer could not parse it, so no prompt was published and nothing could answer it. Inspect the raw pane with \`commandmate capture ${b.worktreeId} --pane\`.`+((c=b.obstruction)?` Cause: opencode's sidebar is sharing rows with the transcript (paneObstruction=${c.id}, second column reads ${JSON.stringify(c.matchedText)}), which covers the marker that ends a turn. Press \`ctrl+x b\` in the pane to close it.`:""),h={type:p.LT,status:"unclassified",question:g,options:[],dwellSeconds:e,sessionStatusReason:f};try{let c=(0,d.createMessage)(a,{worktreeId:b.worktreeId,role:"assistant",content:g,messageType:"prompt",promptData:h,timestamp:new Date,cliToolId:b.cliToolId,instanceId:b.instanceId});V.info("unclassified-frame-recorded",{worktreeId:b.worktreeId,cliToolId:b.cliToolId,dwellSeconds:e,statusReason:f}),W(b.worktreeId,c)}catch(a){V.warn("unclassified-frame-record-failed",{worktreeId:b.worktreeId,error:a instanceof Error?a.message:String(a)})}}(a,{worktreeId:b,cliToolId:c,instanceId:q,dwellMs:aS.dwellMs,sessionStatus:aF.status,sessionStatusReason:aF.reason,obstruction:aQ});let aT=(aU={supportedEvents:aa.capabilities.supportedEvents,scraperStatus:as.status,scraperReason:as.reason,hasActivePrompt:au,lastEventType:af.lastEventType,lastEventDetail:af.lastEventDetail}).supportedEvents.includes("user_prompt_submit")&&aU.supportedEvents.includes("stop")&&"waiting"===aU.scraperStatus&&"stop"===aU.lastEventType&&aU.lastEventDetail!==R.HV?aU.hasActivePrompt?"approval-after-stop":D.ug.has(aU.scraperReason)?"menu-after-stop":null:null;if(null!==aT&&function(a){let b=`${a.compositeKey}|${a.turnId??"-"}|${a.kind}`;if(T.has(b))return;T.size>=512&&T.clear(),T.add(b);let c=(0,Q.aJ)(a.frame).split("\n").filter(a=>""!==a.trim());S.warn("layerDisagreement",{kind:a.kind,worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId,turnId:a.turnId,scraperReason:a.scraperReason,frameTail:c.slice(-40).join("\n")})}({compositeKey:an,worktreeId:b,cliToolId:c,instanceId:q,turnId:af.turnId,kind:aT,scraperReason:as.reason,frame:ai}),null!==aC&&null!==aM&&!au&&!aC.recorded&&!aR){(0,K.markStructuredPromptRecorded)(b,c,o);var aU,aV=b,aW=c,aX=q,aY=aC,aZ=aM;let e=(0,U.fO)(aV,aZ);try{let b=(0,d.createMessage)(a,{worktreeId:aV,role:"assistant",content:e.question,summary:`structured prompt \xb7 source=${aY.source}${aY.toolName?` \xb7 tool=${aY.toolName}`:""}`,messageType:"prompt",promptData:e,timestamp:new Date,cliToolId:aW,instanceId:aX});V.info("structured-prompt-recorded",{worktreeId:aV,cliToolId:aW,instanceId:aX,source:aY.source,toolName:aY.toolName}),W(aV,b)}catch(a){V.warn("structured-prompt-record-failed",{worktreeId:aV,error:a instanceof Error?a.message:String(a)})}}let a$=(0,h.ji)(ai,c),a_=(0,i.bT)(aP),a0=(0,E.aq)(b,c,o),{model:a1,effort:a2}=(0,K.getResolvedAgentModelInfo)(b,c,o),a3=null===ar?aF:{...aF,status:"running",reason:D.gv.STARTING,thinking:!1};(0,N.ox)(an,{status:a3.status,reason:a3.reason,evidence:a3.evidence});let a4=(0,N.AD)(an);return{isRunning:!0,sessionName:Z,cliToolId:c,sessionStatus:a3.status,sessionStatusReason:a3.reason,content:am,fullOutput:ai,realtimeSnippet:aP,lineCount:ak,lastCapturedLine:ah,isComplete:aG,isGenerating:a3.thinking,thinking:a3.thinking,thinkingMessage:a3.thinking?`${(0,s.oo)(c)} is thinking...`:null,isPromptWaiting:aG,promptData:aN,...void 0!==aO?{promptAnswerable:aO}:{},autoYes:{enabled:a0?.enabled??!1,expiresAt:a0?.enabled?a0.expiresAt:null,stopReason:a0?.stopReason,lastSuppression:(0,F.gb)(b,c,o),stopMatchedText:a0?.stopMatchedText},isSelectionListActive:av,isPagerActive:aw,isDismissablePanelActive:ax,isUnclassifiedActive:null===ar&&aF.isUnclassifiedActive,startingSince:ar,statusEvidence:a3.evidence,lastKnownStatus:a4?.status??null,lastKnownStatusAt:a4?.at??null,lastServerResponseTimestamp:ao,serverPollerActive:(0,E.bZ)(an),lastStopEventAt:$,structuredEvents:af,model:a1,reasoningEffort:a2,promptDedup:(0,G.XH)(b,c,o),upstreamFault:a_?{id:a_.fault.id,matchedText:a_.matchedText,at:Date.now()}:null,paneObstruction:aQ?{id:aQ.id,matchedText:aQ.matchedText,at:Date.now()}:null,composerText:"content"===a$.state?a$.text:null,composerState:a$.state}}function $(){return{version:0,askedAt:-1/0,turnKey:null,body:null,loggedOutcome:null,loggedTurnKey:null}}let _=globalThis.__chatTurnProgressState??=new Map;function aa(a){return`${a.worktreeId}:${a.cliToolId}:${a.instanceId??a.cliToolId}`}function ab(a,b,c,d={}){let e=aa(a),f=_.get(e)??$();_.set(e,f),(f.loggedOutcome!==b||f.loggedTurnKey!==c)&&(f.loggedOutcome=b,f.loggedTurnKey=c,V.info("published"===b?"chat-turn-progress-published":"no-subscribers"===b?"chat-turn-progress-no-subscribers":"chat-turn-progress-failed",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,turnKey:c,...d}))}async function ac(a,b,c=Date.now()){let d,e=aa(a),f=_.get(e)??$();if(c-f.askedAt<o.r9)return null;f.askedAt=c,_.set(e,f);try{d=await b()}catch{return null}if(!d||0===d.body.length)return null;let g=(0,o.rx)(d.body);return d.turnKey===f.turnKey&&g.body===f.body?null:(f.turnKey=d.turnKey,f.body=g.body,f.version+=1,{type:o.rz,worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,turnKey:d.turnKey,body:g.body,partial:g.truncated||!0===d.partial,version:f.version,done:!1})}async function ad(a,b,d=Date.now()){try{let{broadcast:e,hasRoomSubscribers:f}=await Promise.resolve().then(c.bind(c,43015));if(!f(a.worktreeId))return ab(a,"no-subscribers",null),!1;let g=await ac(a,b,d);if(!g)return!1;return e(a.worktreeId,g),ab(a,"published",g.turnKey,{version:g.version,bodyLength:g.body.length,partial:g.partial}),!0}catch(b){return ab(a,"failed",null,{error:b instanceof Error?b.message:String(b)}),!1}}async function ae(a,b,d,e){if("claude"!==d)return;let f={worktreeId:b,cliToolId:d,instanceId:e};try{let{getWorktreeById:g}=await Promise.resolve().then(c.bind(c,73753)),h=g(a,b)?.path;if(!h)return;let{hasRoomSubscribers:i}=await Promise.resolve().then(c.bind(c,43015));if(!i(b))return void ab(f,"no-subscribers",null);ad(f,async()=>{let{readClaudeTurnProgress:a}=await Promise.resolve().then(c.bind(c,79696));return a({worktreeId:b,cliToolId:d,instanceId:e??d},{worktreePath:h})})}catch(a){ab(f,"failed",null,{error:a instanceof Error?a.message:String(a)})}}},97751:(a,b,c)=>{c.d(b,{M4:()=>p,W7:()=>r,aK:()=>q,dV:()=>l,dZ:()=>m,yQ:()=>j});var d=c(72626),e=c(27870),f=c(25071),g=c(129),h=c(62887);let i=(0,d.h)("lib/hooks/structured-decision-response"),j="Rejected by the operator via `commandmate respond`.",k={1:["once","allow once","allow","yes","y"],2:["always","allow always","allow-always"],3:["reject","deny","no","n"]};function l(a,b){let c=a.trim().toLowerCase();if(""===c)return null;for(let a of void 0===b?e.QB:(0,e.T5)(b))if(c===String(a.number)||c===a.label.toLowerCase()||c===a.reply||(k[a.number]??[]).includes(c))return a;return null}function m(a){let b=a.questions[0];return b?b.choices.map((a,b)=>({number:b+1,label:a.label,reply:a.label})):[]}let n=/^\d+(?:\s*[,\s]\s*\d+)*$/;function o(a){return a.map(a=>`${a.number} = ${a.label}`).join(", ")}function p(a,b){let c=b.trim();if(""===c)return{ok:!1,reason:"unresolvable_answer",message:"An empty answer names no choice."};if(1!==a.questions.length)return{ok:!1,reason:"multi_question_unsupported",message:`This call asks ${a.questions.length} questions and \`answers\` carries one array per question; a single answer cannot say what the others are. Answer it in the terminal.`};let d=a.questions[0],e=m(a);if(n.test(c)){let a=[];for(let b of c.split(/[,\s]+/)){let d=e.find(a=>a.number===Number(b));if(!d)return{ok:!1,reason:"answer_out_of_range",message:`'${c}' names no choice this question offers. ${o(e)}.`};a.some(a=>a.number===d.number)||a.push(d)}return a.length>1&&!d.multiSelect?{ok:!1,reason:"multi_select_not_offered",message:`This question accepts one choice. Send a single number: ${o(e)}.`}:{ok:!0,resolved:{answers:[a.map(a=>a.reply)],selected:a,freeText:!1}}}let f=e.find(a=>a.label.toLowerCase()===c.toLowerCase());return f?{ok:!0,resolved:{answers:[[f.reply]],selected:[f],freeText:!1}}:c.length>1e3?{ok:!1,reason:"unresolvable_answer",message:"A free-text answer is limited to 1000 characters; this one is longer and is refused rather than cut short."}:{ok:!0,resolved:{answers:[[c]],selected:[],freeText:!0}}}function q(a){return{kind:"answer",answers:a.answers}}async function r({worktreeId:a,cliToolId:b,instanceId:d,answer:k,useDefault:m=!1}){let n,o=(0,g.VM)(b);if(null===o.capabilities.eventIdentity)return{kind:"not-applicable",reason:"no-decision-identity"};let p={worktreeId:a,cliToolId:b,instanceId:d};try{n=await o.listPending(p)}catch(c){return i.warn("structured-decision-unreachable",{worktreeId:a,cliToolId:b,instanceId:d??b,error:c instanceof Error?c.message:String(c)}),{kind:"not-applicable",reason:"source-unreachable"}}let q=n.filter(a=>"permission"===a.kind);if(0===q.length)return{kind:"not-applicable",reason:"no-pending-decision"};let r=q[0];if(q.length>1&&i.info("structured-decision-multiple-pending",{worktreeId:a,cliToolId:b,instanceId:d??b,pending:q.length,answering:r.id}),m)return{kind:"refused",reason:"unresolvable_answer",message:`--default cannot answer a structured approval: the agent publishes no default verdict. Send a number instead — ${(0,e.T5)(b).map(a=>`${a.number} = ${a.label}`).join(", ")}.`};let s=void 0===k?null:l(k,b);if(!s)return{kind:"refused",reason:"answer_out_of_range",message:`'${k??""}' is not one of the verdicts this approval accepts. `+(0,e.T5)(b).map(a=>`${a.number} = ${a.label} (${a.reply})`).join(", ")+"."};let t=function(a){switch(a){case 1:return{kind:"allowOnce"};case 2:return{kind:"allowAlways"};case 3:return{kind:"deny",message:j};default:return null}}(s.number);if(!t)return{kind:"refused",reason:"unresolvable_answer",message:`Option ${s.number} has no verdict on this server.`};let{delivery:u}=await (0,f.GW)(o,p,r,t),v=u?.delivered===!0;if(v&&o.capabilities.permissionReplyReleasesPrompt){let{recordAgentEvent:e}=await Promise.resolve().then(c.bind(c,48083));e(a,b,d,{event:"notification",at:Date.now(),detail:h.KC,sessionId:r.conversationId,decisionId:r.id,promptSettled:!0})}return i.info("structured-decision-answered",{worktreeId:a,cliToolId:b,instanceId:d??b,decisionId:r.id,optionNumber:s.number,reply:s.reply,delivered:v}),{kind:"answered",decisionId:r.id,option:s,delivered:v}}},99508:(a,b,c)=>{c.r(b),c.d(b,{INTERACTION_SNAPSHOT_RETRY_DELAYS_MS:()=>l,__resetTerminalBroadcastState:()=>s,broadcastSessionStatus:()=>r,broadcastTerminalSnapshot:()=>m,broadcastTerminalSnapshotAfterInteraction:()=>q});var d=c(43015),e=c(88807),f=c(94676),g=c(72626),h=c(8360),i=c(93997);let j=(0,g.h)("terminal-broadcast"),k=globalThis.__terminalSnapshotVersions??(globalThis.__terminalSnapshotVersions=new Map),l=[100,250,500,750];async function m(a,b,c){if((0,d.hasRoomSubscribers)(a))try{let d=(0,e.getDbInstance)(),g=await (0,f.$v)(d,a,b,c);p(a,b,g,c)}catch(b){j.error("terminal-snapshot:failed",{worktreeId:a,error:b instanceof Error?b.message:String(b)})}}function n(a){return JSON.stringify([a.fullOutput??"",a.isRunning,a.sessionStatus,a.thinking??!1,a.isPromptWaiting??!1,a.promptAnswerable??null,a.isSelectionListActive??!1,a.isPagerActive??!1,a.isDismissablePanelActive??!1,a.isUnclassifiedActive??!1,a.startingSince??null])}async function o(a,b,c){let d=h.CLIToolManager.getInstance().getTool(b);return(0,i.gm)(d.getSessionName(a,c)),(0,f.$v)((0,e.getDbInstance)(),a,b,c)}function p(a,b,c,e){let f=e??b,g=`${a}:${b}:${f}`;(0,d.broadcast)(a,{type:"terminal_snapshot",worktreeId:a,cliToolId:b,instanceId:f,output:c.fullOutput??"",isRunning:c.isRunning,sessionStatus:c.sessionStatus,thinking:c.thinking??!1,isPromptWaiting:c.isPromptWaiting??!1,promptData:c.promptData??null,promptAnswerable:c.promptAnswerable,isSelectionListActive:c.isSelectionListActive??!1,isPagerActive:c.isPagerActive??!1,isDismissablePanelActive:c.isDismissablePanelActive??!1,isUnclassifiedActive:c.isUnclassifiedActive??!1,startingSince:c.startingSince??null,version:function(a){let b=(k.get(a)??0)+1;return k.set(a,b),b}(g)})}async function q(a,b,c,e=l){if((0,d.hasRoomSubscribers)(a))try{let d=await o(a,b,c),f=n(d);for(let g of(p(a,b,d,c),e)){await new Promise(a=>setTimeout(a,g));let d=await o(a,b,c);if(n(d)!==f)return void p(a,b,d,c)}}catch(d){j.error("terminal-snapshot:interaction-refresh-failed",{worktreeId:a,cliToolId:b,instanceId:c,error:d instanceof Error?d.message:String(d)})}}function r(a,b,c){(0,d.broadcast)(a,{type:"session_status_changed",worktreeId:a,isRunning:b,cliTool:c?.cliTool??null,instance:c?.instance??null})}function s(){k.clear()}}};
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:[],rootMainFiles:["static/chunks/webpack-49ade0526854dd4e.js","static/chunks/4bd1b696-100b9d70ed4e49c1.js","static/chunks/1255-7e5873f06b25e129.js","static/chunks/main-app-5d631b93b1219836.js"],rootMainFilesTree:{},pages:{"/_app":["static/chunks/webpack-49ade0526854dd4e.js","static/chunks/framework-eaf13c96191cb608.js","static/chunks/main-ac91ed6e71380841.js","static/chunks/pages/_app-4b3fb5e477a0267f.js"],"/_error":["static/chunks/webpack-49ade0526854dd4e.js","static/chunks/framework-eaf13c96191cb608.js","static/chunks/main-ac91ed6e71380841.js","static/chunks/pages/_error-c970d8b55ace1b48.js"]},ampFirstPages:[]},globalThis.__BUILD_MANIFEST.lowPriorityFiles=["/static/"+process.env.__NEXT_BUILD_ID+"/_buildManifest.js",,"/static/"+process.env.__NEXT_BUILD_ID+"/_ssgManifest.js"];
1
+ globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:[],rootMainFiles:["static/chunks/webpack-021f0741f22dd16a.js","static/chunks/4bd1b696-100b9d70ed4e49c1.js","static/chunks/1255-7e5873f06b25e129.js","static/chunks/main-app-5d631b93b1219836.js"],rootMainFilesTree:{},pages:{"/_app":["static/chunks/webpack-021f0741f22dd16a.js","static/chunks/framework-eaf13c96191cb608.js","static/chunks/main-ac91ed6e71380841.js","static/chunks/pages/_app-4b3fb5e477a0267f.js"],"/_error":["static/chunks/webpack-021f0741f22dd16a.js","static/chunks/framework-eaf13c96191cb608.js","static/chunks/main-ac91ed6e71380841.js","static/chunks/pages/_error-c970d8b55ace1b48.js"]},ampFirstPages:[]},globalThis.__BUILD_MANIFEST.lowPriorityFiles=["/static/"+process.env.__NEXT_BUILD_ID+"/_buildManifest.js",,"/static/"+process.env.__NEXT_BUILD_ID+"/_ssgManifest.js"];
@@ -17,11 +17,11 @@
17
17
  "wasm": [],
18
18
  "assets": [],
19
19
  "env": {
20
- "__NEXT_BUILD_ID": "wu7SUiHTirFcrpo5teyZ3",
21
- "NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "oESg3utS2m/DviRxmtINkOLn/IT0mKyhG6wmdxyFmBg=",
22
- "__NEXT_PREVIEW_MODE_ID": "320e2f58a3af588339dd09b114b16b20",
23
- "__NEXT_PREVIEW_MODE_SIGNING_KEY": "c11c67cb734aee4f842e210b0cbe7da1fb4591352a15f319ddb5ecda39213d0d",
24
- "__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "0d59ed39a478386de280a129b04ff539c70e4e725ecf79f8dadbc4c9fcc1c45b"
20
+ "__NEXT_BUILD_ID": "57lOiz8zSEHdw97XIm0af",
21
+ "NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "5qbN8Mvvtyu/2+YyaJmSacqdpmvm7a2iuA1/TNT7fs4=",
22
+ "__NEXT_PREVIEW_MODE_ID": "68512a08fb8cffb72f8cdacafb15db34",
23
+ "__NEXT_PREVIEW_MODE_SIGNING_KEY": "efe7bb68898e24a2d285a28ec788946a9dcb92248d34661a2fc129ef8f4932c2",
24
+ "__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "b575f0b7602d7ddb5a12dbcb0449a82a6ea90742db9871c4c2b621a471ca777c"
25
25
  }
26
26
  }
27
27
  },
@@ -1 +1 @@
1
- self.__REACT_LOADABLE_MANIFEST='{"../node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/architecture-PBZL5I3N.mjs":{"id":43389,"files":["static/chunks/3389.ba28c369d5fd285d.js"]},"../node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/gitGraph-HDMCJU4V.mjs":{"id":51394,"files":["static/chunks/1394.ee511cecae812ccb.js"]},"../node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/info-3K5VOQVL.mjs":{"id":65202,"files":["static/chunks/5202.7d64195cbab813a6.js"]},"../node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/packet-RMMSAZCW.mjs":{"id":59775,"files":["static/chunks/9775.a8d4731819f32478.js"]},"../node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/pie-UPGHQEXC.mjs":{"id":27968,"files":["static/chunks/7968.b3d37fbbecf5664e.js"]},"../node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/radar-KQ55EAFF.mjs":{"id":90577,"files":["static/chunks/577.0af2b2fa2b043810.js"]},"../node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/treemap-KZPCXAKY.mjs":{"id":12466,"files":["static/chunks/2466.813e7474cc702f5c.js"]},"../node_modules/mermaid/dist/chunks/mermaid.core/chunk-7R4GIKGN.mjs -> katex":{"id":84739,"files":["static/chunks/d3ac728e.5f6e6d9311df141b.js"]},"../node_modules/mermaid/dist/chunks/mermaid.core/chunk-GLR3WWYH.mjs -> ./cose-bilkent-S5V4N54A.mjs":{"id":51345,"files":["static/chunks/90542734.c2386877103b1d80.js","static/chunks/1345.7503fa6b29b871de.js"]},"../node_modules/mermaid/dist/chunks/mermaid.core/chunk-GLR3WWYH.mjs -> ./dagre-KLK3FWXG.mjs":{"id":80282,"files":["static/chunks/4459.a94b52985a76509a.js","static/chunks/9856.15463dd58437e2ac.js","static/chunks/5951.616956b6aa5df63f.js","static/chunks/282.6b6f2e31a96674dd.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/architectureDiagram-2XIMDMQ5.mjs":{"id":80070,"files":["static/chunks/90542734.c2386877103b1d80.js","static/chunks/4459.a94b52985a76509a.js","static/chunks/4290.6cf86f68d73b6e77.js","static/chunks/70.1b01cf72ef152ebb.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/blockDiagram-WCTKOSBZ.mjs":{"id":75222,"files":["static/chunks/4459.a94b52985a76509a.js","static/chunks/9856.15463dd58437e2ac.js","static/chunks/5222.305dc0ebba9c0784.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/c4Diagram-IC4MRINW.mjs":{"id":64378,"files":["static/chunks/4378.30a4e65db2d8c71b.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/classDiagram-VBA2DB6C.mjs":{"id":54384,"files":["static/chunks/6690.a55d53ee0693a21a.js","static/chunks/4384.0454992d5b8c885f.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/classDiagram-v2-RAHNMMFH.mjs":{"id":57528,"files":["static/chunks/6690.a55d53ee0693a21a.js","static/chunks/7528.a4b80119f4aa37c7.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/diagram-E7M64L7V.mjs":{"id":15146,"files":["static/chunks/4459.a94b52985a76509a.js","static/chunks/4290.6cf86f68d73b6e77.js","static/chunks/5146.e5666bf9cd8ace31.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/diagram-IFDJBPK2.mjs":{"id":7318,"files":["static/chunks/4459.a94b52985a76509a.js","static/chunks/4290.6cf86f68d73b6e77.js","static/chunks/7318.ca42d44599533a47.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/diagram-P4PSJMXO.mjs":{"id":28871,"files":["static/chunks/4459.a94b52985a76509a.js","static/chunks/4290.6cf86f68d73b6e77.js","static/chunks/8871.5b1a67427b25ab0c.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/erDiagram-INFDFZHY.mjs":{"id":18923,"files":["static/chunks/8923.a9bfb5c9dae0a653.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/flowDiagram-PKNHOUZH.mjs":{"id":34943,"files":["static/chunks/4943.1300b9bbd8ca6846.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/ganttDiagram-A5KZAMGK.mjs":{"id":64489,"files":["static/chunks/4489.b5d699c8c24e75f9.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/gitGraphDiagram-K3NZZRJ6.mjs":{"id":77318,"files":["static/chunks/4459.a94b52985a76509a.js","static/chunks/4290.6cf86f68d73b6e77.js","static/chunks/4937.4bc1a01e597e4966.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/infoDiagram-LFFYTUFH.mjs":{"id":75142,"files":["static/chunks/4459.a94b52985a76509a.js","static/chunks/4290.6cf86f68d73b6e77.js","static/chunks/5142.1305911c3f99a90d.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/ishikawaDiagram-PHBUUO56.mjs":{"id":67295,"files":["static/chunks/7295.6e760de741e69d78.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/journeyDiagram-4ABVD52K.mjs":{"id":32311,"files":["static/chunks/2311.db2c5912f71d40fb.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/kanban-definition-K7BYSVSG.mjs":{"id":65694,"files":["static/chunks/5694.dda65070757534df.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/mindmap-definition-YRQLILUH.mjs":{"id":22601,"files":["static/chunks/2601.17b50928bf38c193.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/pieDiagram-SKSYHLDU.mjs":{"id":62935,"files":["static/chunks/4459.a94b52985a76509a.js","static/chunks/4290.6cf86f68d73b6e77.js","static/chunks/2935.c6f0bf2fa2767553.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/quadrantDiagram-337W2JSQ.mjs":{"id":37732,"files":["static/chunks/7732.ba6419e9f3d62177.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/requirementDiagram-Z7DCOOCP.mjs":{"id":3862,"files":["static/chunks/3862.4bbe8bd40d770a1d.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/sankeyDiagram-WA2Y5GQK.mjs":{"id":22789,"files":["static/chunks/2789.d4f15555df3ca5b6.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/sequenceDiagram-2WXFIKYE.mjs":{"id":60886,"files":["static/chunks/2ff9d716.fcad4dc87234c8d8.js","static/chunks/8706.108a69de11de19c7.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/stateDiagram-RAJIS63D.mjs":{"id":97095,"files":["static/chunks/4459.a94b52985a76509a.js","static/chunks/9856.15463dd58437e2ac.js","static/chunks/5951.616956b6aa5df63f.js","static/chunks/9076.d3e3a7f356a416ba.js","static/chunks/7095.8c869e553133a40e.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/stateDiagram-v2-FVOUBMTO.mjs":{"id":6596,"files":["static/chunks/9076.d3e3a7f356a416ba.js","static/chunks/6596.78e45c31f50e3e5c.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/timeline-definition-YZTLITO2.mjs":{"id":79775,"files":["static/chunks/2156.f667232f18272330.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/vennDiagram-LZ73GAT5.mjs":{"id":38339,"files":["static/chunks/8339.855133c9f5c0be46.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/xychartDiagram-JWTSCODW.mjs":{"id":52918,"files":["static/chunks/2918.cfd6cee82abd3c55.js"]},"app/worktrees/[id]/terminal/page.tsx -> @/components/Terminal":{"id":27229,"files":["static/css/6ef2fa08dd043252.css","static/chunks/30d07d85.85dcdd0af8338499.js","static/chunks/7229.7f0f5a7032b612b4.js"]},"components/worktree/FilePanelContent.tsx -> @/components/worktree/HtmlPreview":{"id":530,"files":["static/chunks/530.578854fdd5d91542.js"]},"components/worktree/FilePanelContent.tsx -> @/components/worktree/MarkdownEditor":{"id":33922,"files":["static/chunks/3922.8e79fc89f593280b.js"]},"components/worktree/FilePanelContent.tsx -> @/components/worktree/PdfPreview":{"id":27307,"files":[]},"components/worktree/FileViewer.tsx -> @/components/worktree/MarkdownEditor":{"id":33922,"files":["static/chunks/3922.8e79fc89f593280b.js"]},"components/worktree/MermaidCodeBlock.tsx -> ./MermaidDiagram":{"id":90953,"files":["static/chunks/af7f6608.a62718fb6038c35a.js","static/chunks/7485.442b21101fca7257.js","static/chunks/953.19e4c8178c9eac4c.js"]},"components/worktree/WorktreeDetailRefactored.tsx -> @/components/worktree/MarkdownEditor":{"id":33922,"files":["static/chunks/3922.8e79fc89f593280b.js"]}}';
1
+ self.__REACT_LOADABLE_MANIFEST='{"../node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/architecture-PBZL5I3N.mjs":{"id":43389,"files":["static/chunks/3389.ba28c369d5fd285d.js"]},"../node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/gitGraph-HDMCJU4V.mjs":{"id":51394,"files":["static/chunks/1394.ee511cecae812ccb.js"]},"../node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/info-3K5VOQVL.mjs":{"id":65202,"files":["static/chunks/5202.7d64195cbab813a6.js"]},"../node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/packet-RMMSAZCW.mjs":{"id":59775,"files":["static/chunks/9775.a8d4731819f32478.js"]},"../node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/pie-UPGHQEXC.mjs":{"id":27968,"files":["static/chunks/7968.b3d37fbbecf5664e.js"]},"../node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/radar-KQ55EAFF.mjs":{"id":90577,"files":["static/chunks/577.0af2b2fa2b043810.js"]},"../node_modules/@mermaid-js/parser/dist/mermaid-parser.core.mjs -> ./chunks/mermaid-parser.core/treemap-KZPCXAKY.mjs":{"id":12466,"files":["static/chunks/2466.813e7474cc702f5c.js"]},"../node_modules/mermaid/dist/chunks/mermaid.core/chunk-7R4GIKGN.mjs -> katex":{"id":84739,"files":["static/chunks/d3ac728e.5f6e6d9311df141b.js"]},"../node_modules/mermaid/dist/chunks/mermaid.core/chunk-GLR3WWYH.mjs -> ./cose-bilkent-S5V4N54A.mjs":{"id":51345,"files":["static/chunks/90542734.c2386877103b1d80.js","static/chunks/1345.7503fa6b29b871de.js"]},"../node_modules/mermaid/dist/chunks/mermaid.core/chunk-GLR3WWYH.mjs -> ./dagre-KLK3FWXG.mjs":{"id":80282,"files":["static/chunks/4459.a94b52985a76509a.js","static/chunks/9856.15463dd58437e2ac.js","static/chunks/5951.616956b6aa5df63f.js","static/chunks/282.6b6f2e31a96674dd.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/architectureDiagram-2XIMDMQ5.mjs":{"id":80070,"files":["static/chunks/90542734.c2386877103b1d80.js","static/chunks/4459.a94b52985a76509a.js","static/chunks/4290.6cf86f68d73b6e77.js","static/chunks/70.1b01cf72ef152ebb.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/blockDiagram-WCTKOSBZ.mjs":{"id":75222,"files":["static/chunks/4459.a94b52985a76509a.js","static/chunks/9856.15463dd58437e2ac.js","static/chunks/5222.305dc0ebba9c0784.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/c4Diagram-IC4MRINW.mjs":{"id":64378,"files":["static/chunks/4378.30a4e65db2d8c71b.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/classDiagram-VBA2DB6C.mjs":{"id":54384,"files":["static/chunks/6690.a55d53ee0693a21a.js","static/chunks/4384.0454992d5b8c885f.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/classDiagram-v2-RAHNMMFH.mjs":{"id":57528,"files":["static/chunks/6690.a55d53ee0693a21a.js","static/chunks/7528.a4b80119f4aa37c7.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/diagram-E7M64L7V.mjs":{"id":15146,"files":["static/chunks/4459.a94b52985a76509a.js","static/chunks/4290.6cf86f68d73b6e77.js","static/chunks/5146.e5666bf9cd8ace31.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/diagram-IFDJBPK2.mjs":{"id":7318,"files":["static/chunks/4459.a94b52985a76509a.js","static/chunks/4290.6cf86f68d73b6e77.js","static/chunks/7318.ca42d44599533a47.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/diagram-P4PSJMXO.mjs":{"id":28871,"files":["static/chunks/4459.a94b52985a76509a.js","static/chunks/4290.6cf86f68d73b6e77.js","static/chunks/8871.5b1a67427b25ab0c.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/erDiagram-INFDFZHY.mjs":{"id":18923,"files":["static/chunks/8923.a9bfb5c9dae0a653.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/flowDiagram-PKNHOUZH.mjs":{"id":34943,"files":["static/chunks/4943.1300b9bbd8ca6846.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/ganttDiagram-A5KZAMGK.mjs":{"id":64489,"files":["static/chunks/4489.b5d699c8c24e75f9.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/gitGraphDiagram-K3NZZRJ6.mjs":{"id":77318,"files":["static/chunks/4459.a94b52985a76509a.js","static/chunks/4290.6cf86f68d73b6e77.js","static/chunks/4937.4bc1a01e597e4966.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/infoDiagram-LFFYTUFH.mjs":{"id":75142,"files":["static/chunks/4459.a94b52985a76509a.js","static/chunks/4290.6cf86f68d73b6e77.js","static/chunks/5142.1305911c3f99a90d.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/ishikawaDiagram-PHBUUO56.mjs":{"id":67295,"files":["static/chunks/7295.6e760de741e69d78.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/journeyDiagram-4ABVD52K.mjs":{"id":32311,"files":["static/chunks/2311.db2c5912f71d40fb.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/kanban-definition-K7BYSVSG.mjs":{"id":65694,"files":["static/chunks/5694.dda65070757534df.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/mindmap-definition-YRQLILUH.mjs":{"id":22601,"files":["static/chunks/2601.17b50928bf38c193.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/pieDiagram-SKSYHLDU.mjs":{"id":62935,"files":["static/chunks/4459.a94b52985a76509a.js","static/chunks/4290.6cf86f68d73b6e77.js","static/chunks/2935.c6f0bf2fa2767553.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/quadrantDiagram-337W2JSQ.mjs":{"id":37732,"files":["static/chunks/7732.ba6419e9f3d62177.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/requirementDiagram-Z7DCOOCP.mjs":{"id":3862,"files":["static/chunks/3862.4bbe8bd40d770a1d.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/sankeyDiagram-WA2Y5GQK.mjs":{"id":22789,"files":["static/chunks/2789.d4f15555df3ca5b6.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/sequenceDiagram-2WXFIKYE.mjs":{"id":60886,"files":["static/chunks/2ff9d716.fcad4dc87234c8d8.js","static/chunks/8706.108a69de11de19c7.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/stateDiagram-RAJIS63D.mjs":{"id":97095,"files":["static/chunks/4459.a94b52985a76509a.js","static/chunks/9856.15463dd58437e2ac.js","static/chunks/5951.616956b6aa5df63f.js","static/chunks/9076.d3e3a7f356a416ba.js","static/chunks/7095.8c869e553133a40e.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/stateDiagram-v2-FVOUBMTO.mjs":{"id":6596,"files":["static/chunks/9076.d3e3a7f356a416ba.js","static/chunks/6596.78e45c31f50e3e5c.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/timeline-definition-YZTLITO2.mjs":{"id":79775,"files":["static/chunks/2156.f667232f18272330.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/vennDiagram-LZ73GAT5.mjs":{"id":38339,"files":["static/chunks/8339.855133c9f5c0be46.js"]},"../node_modules/mermaid/dist/mermaid.core.mjs -> ./chunks/mermaid.core/xychartDiagram-JWTSCODW.mjs":{"id":52918,"files":["static/chunks/2918.cfd6cee82abd3c55.js"]},"app/worktrees/[id]/terminal/page.tsx -> @/components/Terminal":{"id":27229,"files":["static/css/6ef2fa08dd043252.css","static/chunks/30d07d85.85dcdd0af8338499.js","static/chunks/7229.7f0f5a7032b612b4.js"]},"components/worktree/FilePanelContent.tsx -> @/components/worktree/HtmlPreview":{"id":530,"files":["static/chunks/530.578854fdd5d91542.js"]},"components/worktree/FilePanelContent.tsx -> @/components/worktree/MarkdownEditor":{"id":33922,"files":["static/chunks/3922.f45dcfc1e7da552a.js"]},"components/worktree/FilePanelContent.tsx -> @/components/worktree/PdfPreview":{"id":27307,"files":[]},"components/worktree/FileViewer.tsx -> @/components/worktree/MarkdownEditor":{"id":33922,"files":["static/chunks/3922.f45dcfc1e7da552a.js"]},"components/worktree/MermaidCodeBlock.tsx -> ./MermaidDiagram":{"id":90953,"files":["static/chunks/af7f6608.a62718fb6038c35a.js","static/chunks/7485.442b21101fca7257.js","static/chunks/953.19e4c8178c9eac4c.js"]},"components/worktree/WorktreeDetailRefactored.tsx -> @/components/worktree/MarkdownEditor":{"id":33922,"files":["static/chunks/3922.f45dcfc1e7da552a.js"]}}';
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-49ade0526854dd4e.js" defer=""></script><script src="/_next/static/chunks/framework-eaf13c96191cb608.js" defer=""></script><script src="/_next/static/chunks/main-ac91ed6e71380841.js" defer=""></script><script src="/_next/static/chunks/pages/_app-4b3fb5e477a0267f.js" defer=""></script><script src="/_next/static/chunks/pages/_error-c970d8b55ace1b48.js" defer=""></script><script src="/_next/static/wu7SUiHTirFcrpo5teyZ3/_buildManifest.js" defer=""></script><script src="/_next/static/wu7SUiHTirFcrpo5teyZ3/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"wu7SUiHTirFcrpo5teyZ3","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><noscript data-n-css=""></noscript><script defer="" noModule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-021f0741f22dd16a.js" defer=""></script><script src="/_next/static/chunks/framework-eaf13c96191cb608.js" defer=""></script><script src="/_next/static/chunks/main-ac91ed6e71380841.js" defer=""></script><script src="/_next/static/chunks/pages/_app-4b3fb5e477a0267f.js" defer=""></script><script src="/_next/static/chunks/pages/_error-c970d8b55ace1b48.js" defer=""></script><script src="/_next/static/57lOiz8zSEHdw97XIm0af/_buildManifest.js" defer=""></script><script src="/_next/static/57lOiz8zSEHdw97XIm0af/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"57lOiz8zSEHdw97XIm0af","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -1,5 +1,5 @@
1
1
  {
2
- "/_error": "pages/_error.js",
3
2
  "/_app": "pages/_app.js",
3
+ "/_error": "pages/_error.js",
4
4
  "/_document": "pages/_document.js"
5
5
  }
@@ -1 +1 @@
1
- {"node":{},"edge":{},"encryptionKey":"oESg3utS2m/DviRxmtINkOLn/IT0mKyhG6wmdxyFmBg="}
1
+ {"node":{},"edge":{},"encryptionKey":"5qbN8Mvvtyu/2+YyaJmSacqdpmvm7a2iuA1/TNT7fs4="}
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2407],{52407:(e,t,n)=>{n.d(t,{Fx:()=>h,Rh:()=>b,_X:()=>c,fl:()=>s,nG:()=>d,sV:()=>o});var r=n(12115),u=n(60199);let l="/api/capabilities";function c(e){return!1!==e.browserOnline&&("connected"===e.realtimeStatus||!0===e.serverReachable)}function o(e){return!1===e.browserOnline||!1===e.serverReachable}let i=new Map;async function a(e,t){let n="function"==typeof AbortController?new AbortController:void 0,r=n?setTimeout(()=>n.abort(),t):void 0;try{return await fetch(e,{method:"GET",cache:"no-store",credentials:"same-origin",signal:null==n?void 0:n.signal}),!0}catch(e){return!1}finally{void 0!==r&&clearTimeout(r)}}function s(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5e3;if("function"!=typeof fetch)return Promise.resolve(!1);let n=i.get(e);if(n)return n;let r=a(e,t).finally(()=>{i.delete(e)});return i.set(e,r),r}let f=new Set;function d(e){f.forEach(t=>{try{t(e)}catch(e){}})}function b(e){return f.add(e),()=>{f.delete(e)}}function h(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{probeUrl:t=l,probeDelayMs:n=1e3,probeIntervalMs:c=15e3,probeTimeoutMs:o=5e3,surfaceDelayMs:i=1500,probe:a=!0}=e,{status:f}=(0,u.xM)(),[d,h]=(0,r.useState)(!0),[v,y]=(0,r.useState)(null),[w,m]=(0,r.useState)(null),p=(0,r.useCallback)(e=>{y(t=>t===e?t:e),e&&m(Date.now())},[]);(0,r.useEffect)(()=>{if("undefined"==typeof navigator)return;h(!1!==navigator.onLine);let e=()=>{y(null),h(!0)},t=()=>{y(null),h(!1)};return window.addEventListener("online",e),window.addEventListener("offline",t),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",t)}},[]),(0,r.useEffect)(()=>{"connected"===f&&p(!0)},[f,p]),(0,r.useEffect)(()=>b(p),[p]);let g=(0,r.useMemo)(()=>({browserOnline:d,realtimeStatus:f,serverReachable:v}),[d,f,v]),S=g.browserOnline?"connected"===g.realtimeStatus?"online":!1===g.serverReachable?"offline":!0===g.serverReachable||"connecting"===g.realtimeStatus?"reconnecting":"offline":"offline",E="online"!==S,k=(0,r.useRef)({url:t,timeoutMs:o});k.current={url:t,timeoutMs:o};let C=a&&E&&d;(0,r.useEffect)(()=>{let e;if(!C||"function"!=typeof fetch)return;let t=!1,r=async()=>{let{url:n,timeoutMs:u}=k.current,l=await s(n,u);t||(p(l),e=setTimeout(r,c))};return e=setTimeout(r,n),()=>{t=!0,void 0!==e&&clearTimeout(e)}},[C,n,c,p]);let[R,T]=(0,r.useState)(!1);(0,r.useEffect)(()=>{if(!E)return void T(!1);if(i<=0)return void T(!0);let e=setTimeout(()=>T(!0),i);return()=>clearTimeout(e)},[E,i]);let M=(0,r.useCallback)(()=>{if("function"!=typeof fetch)return;let{url:e,timeoutMs:t}=k.current;s(e,t).then(p)},[p]);return(0,r.useMemo)(()=>({status:S,isOnline:"online"===S,isReconnecting:"reconnecting"===S,isOffline:"offline"===S,shouldSurface:E&&R,signals:g,lastReachableAt:w,recheck:M}),[S,E,R,g,w,M])}},52703:(e,t,n)=>{n.d(t,{Oo:()=>u,ST:()=>r,T4:()=>o,dz:()=>c,rz:()=>l,zS:()=>i});let r="client_version",u="version_mismatch",l="chat_turn_progress",c="messages_invalidated",o="model_changed";function i(e){let t;try{t=JSON.parse(e)}catch(e){return null}if(!t||"object"!=typeof t)return null;let n=t;if("broadcast"===n.type){let e=n.data;return e&&"object"==typeof e?"string"!=typeof e.type?null:(void 0===e.worktreeId&&"string"==typeof n.worktreeId&&(e.worktreeId=n.worktreeId),e):null}return"string"==typeof n.type?n:null}},60199:(e,t,n)=>{n.d(t,{tS:()=>s,xM:()=>f,T3:()=>d});var r=n(95155),u=n(12115),l=n(52703);function c(){return"undefined"!=typeof globalThis&&"function"==typeof globalThis.WebSocket?globalThis.WebSocket:null}let o=()=>{},i={status:"disconnected",connected:!1,subscribe:o,unsubscribe:o,addListener:()=>o},a=(0,u.createContext)(null);function s(e){let{children:t,enabled:n=!0}=e,o=(0,u.useRef)(new Set),i=(0,u.useRef)(new Map),{status:s,subscribe:f,unsubscribe:d}=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{onEvent:t,onStatusChange:n,autoReconnect:r=!0,reconnectBaseDelay:o=1e3,reconnectMaxDelay:i=3e4,livenessTimeout:a=75e3,livenessCheckInterval:s=5e3,enabled:f=!0}=e,[d,b]=(0,u.useState)("disconnected"),h=(0,u.useRef)(null),v=(0,u.useRef)(null),y=(0,u.useRef)(0),w=(0,u.useRef)(new Set),m=(0,u.useRef)(!1),p=(0,u.useRef)(0),g=(0,u.useRef)(()=>{}),S=(0,u.useRef)(t);S.current=t;let E=(0,u.useRef)(n);E.current=n;let k=(0,u.useCallback)(e=>{var t;b(e),null==(t=E.current)||t.call(E,e)},[]),C=(0,u.useCallback)(()=>{null!==v.current&&(clearTimeout(v.current),v.current=null)},[]),R=(0,u.useCallback)(()=>{if(m.current||!r||"undefined"!=typeof document&&"hidden"===document.visibilityState)return;C();let e=function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Math.random;return Math.max(0,Math.round(Math.min(t*2**Math.max(0,e),n)*(1+(2*r()-1)*.2)))}(y.current,o,i);y.current+=1,v.current=setTimeout(()=>{v.current=null,g.current()},e)},[r,o,i,C]),T=(0,u.useCallback)(()=>{if(!f)return;let e=c();if(!e||h.current&&(h.current.readyState===e.OPEN||h.current.readyState===e.CONNECTING))return;C(),m.current=!1,p.current=Date.now(),k("connecting");let t="https:"===window.location.protocol?"wss:":"ws:",n=new e("".concat(t,"//").concat(window.location.host));h.current=n,n.onopen=()=>{y.current=0,p.current=Date.now(),k("connected");try{n.send(JSON.stringify({type:l.ST,version:"0.44.0"}))}catch(e){}w.current.forEach(e=>{try{n.send(JSON.stringify({type:"subscribe",worktreeId:e}))}catch(e){}})},n.onmessage=e=>{var t;p.current=Date.now();let n="string"==typeof e.data?e.data:String(e.data),r=(0,l.zS)(n);r&&"heartbeat"!==r.type&&(null==(t=S.current)||t.call(S,r))},n.onerror=()=>{k("error")},n.onclose=()=>{h.current=null,k("disconnected"),R()}},[f,k,C,R]);g.current=T;let M=(0,u.useCallback)(()=>{let e=h.current;if(e){e.onopen=null,e.onmessage=null,e.onerror=null,e.onclose=null,h.current=null;try{e.close(4001,"half-open")}catch(e){}k("disconnected"),R()}},[k,R]),O=(0,u.useCallback)(()=>{if(C(),m.current=!0,h.current){try{h.current.close(1e3,"Client disconnect")}catch(e){}h.current=null}},[C]),N=(0,u.useCallback)(e=>{let t=h.current,n=c();if(t&&n&&t.readyState===n.OPEN)try{t.send(JSON.stringify(e))}catch(e){}},[]),_=(0,u.useCallback)(e=>{w.current.has(e)||(w.current.add(e),N({type:"subscribe",worktreeId:e}))},[N]),L=(0,u.useCallback)(e=>{w.current.has(e)&&(w.current.delete(e),N({type:"unsubscribe",worktreeId:e}))},[N]);return(0,u.useEffect)(()=>{if(f)return T(),()=>{O()}},[f,T,O]),(0,u.useEffect)(()=>{if(!f)return;let e=setInterval(()=>{let e=h.current,t=c();e&&t&&e.readyState===t.OPEN&&(Date.now()-p.current<a||M())},s);return()=>clearInterval(e)},[f,a,s,M]),(0,u.useEffect)(()=>{if(!f||"undefined"==typeof document)return;let e=()=>{"visible"===document.visibilityState&&(h.current||(y.current=0,T()))};return document.addEventListener("visibilitychange",e),()=>document.removeEventListener("visibilitychange",e)},[f,T]),(0,u.useEffect)(()=>{if(!f)return;let e=()=>{h.current||(y.current=0,T())};return window.addEventListener("online",e),()=>window.removeEventListener("online",e)},[f,T]),{status:d,subscribe:_,unsubscribe:L,send:N}}({enabled:n,onEvent:(0,u.useCallback)(e=>{o.current.forEach(t=>{try{t(e)}catch(e){}})},[])}),b=(0,u.useCallback)(e=>{var t;let n=i.current,r=null!=(t=n.get(e))?t:0;n.set(e,r+1),0===r&&f(e)},[f]),h=(0,u.useCallback)(e=>{var t;let n=i.current,r=null!=(t=n.get(e))?t:0;r<=1?(n.delete(e),d(e)):n.set(e,r-1)},[d]),v=(0,u.useCallback)(e=>(o.current.add(e),()=>{o.current.delete(e)}),[]),y=(0,u.useMemo)(()=>({status:s,connected:"connected"===s,subscribe:b,unsubscribe:h,addListener:v}),[s,b,h,v]);return(0,r.jsx)(a.Provider,{value:y,children:t})}function f(){var e;return null!=(e=(0,u.useContext)(a))?e:i}function d(e){let{addListener:t}=f(),n=(0,u.useRef)(e);n.current=e,(0,u.useEffect)(()=>t(e=>n.current(e)),[t])}}}]);
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2407],{52407:(e,t,n)=>{n.d(t,{Fx:()=>h,Rh:()=>b,_X:()=>c,fl:()=>s,nG:()=>d,sV:()=>o});var r=n(12115),u=n(60199);let l="/api/capabilities";function c(e){return!1!==e.browserOnline&&("connected"===e.realtimeStatus||!0===e.serverReachable)}function o(e){return!1===e.browserOnline||!1===e.serverReachable}let i=new Map;async function a(e,t){let n="function"==typeof AbortController?new AbortController:void 0,r=n?setTimeout(()=>n.abort(),t):void 0;try{return await fetch(e,{method:"GET",cache:"no-store",credentials:"same-origin",signal:null==n?void 0:n.signal}),!0}catch(e){return!1}finally{void 0!==r&&clearTimeout(r)}}function s(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5e3;if("function"!=typeof fetch)return Promise.resolve(!1);let n=i.get(e);if(n)return n;let r=a(e,t).finally(()=>{i.delete(e)});return i.set(e,r),r}let f=new Set;function d(e){f.forEach(t=>{try{t(e)}catch(e){}})}function b(e){return f.add(e),()=>{f.delete(e)}}function h(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{probeUrl:t=l,probeDelayMs:n=1e3,probeIntervalMs:c=15e3,probeTimeoutMs:o=5e3,surfaceDelayMs:i=1500,probe:a=!0}=e,{status:f}=(0,u.xM)(),[d,h]=(0,r.useState)(!0),[v,y]=(0,r.useState)(null),[w,m]=(0,r.useState)(null),p=(0,r.useCallback)(e=>{y(t=>t===e?t:e),e&&m(Date.now())},[]);(0,r.useEffect)(()=>{if("undefined"==typeof navigator)return;h(!1!==navigator.onLine);let e=()=>{y(null),h(!0)},t=()=>{y(null),h(!1)};return window.addEventListener("online",e),window.addEventListener("offline",t),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",t)}},[]),(0,r.useEffect)(()=>{"connected"===f&&p(!0)},[f,p]),(0,r.useEffect)(()=>b(p),[p]);let g=(0,r.useMemo)(()=>({browserOnline:d,realtimeStatus:f,serverReachable:v}),[d,f,v]),S=g.browserOnline?"connected"===g.realtimeStatus?"online":!1===g.serverReachable?"offline":!0===g.serverReachable||"connecting"===g.realtimeStatus?"reconnecting":"offline":"offline",E="online"!==S,k=(0,r.useRef)({url:t,timeoutMs:o});k.current={url:t,timeoutMs:o};let C=a&&E&&d;(0,r.useEffect)(()=>{let e;if(!C||"function"!=typeof fetch)return;let t=!1,r=async()=>{let{url:n,timeoutMs:u}=k.current,l=await s(n,u);t||(p(l),e=setTimeout(r,c))};return e=setTimeout(r,n),()=>{t=!0,void 0!==e&&clearTimeout(e)}},[C,n,c,p]);let[R,T]=(0,r.useState)(!1);(0,r.useEffect)(()=>{if(!E)return void T(!1);if(i<=0)return void T(!0);let e=setTimeout(()=>T(!0),i);return()=>clearTimeout(e)},[E,i]);let M=(0,r.useCallback)(()=>{if("function"!=typeof fetch)return;let{url:e,timeoutMs:t}=k.current;s(e,t).then(p)},[p]);return(0,r.useMemo)(()=>({status:S,isOnline:"online"===S,isReconnecting:"reconnecting"===S,isOffline:"offline"===S,shouldSurface:E&&R,signals:g,lastReachableAt:w,recheck:M}),[S,E,R,g,w,M])}},52703:(e,t,n)=>{n.d(t,{Oo:()=>u,ST:()=>r,T4:()=>o,dz:()=>c,rz:()=>l,zS:()=>i});let r="client_version",u="version_mismatch",l="chat_turn_progress",c="messages_invalidated",o="model_changed";function i(e){let t;try{t=JSON.parse(e)}catch(e){return null}if(!t||"object"!=typeof t)return null;let n=t;if("broadcast"===n.type){let e=n.data;return e&&"object"==typeof e?"string"!=typeof e.type?null:(void 0===e.worktreeId&&"string"==typeof n.worktreeId&&(e.worktreeId=n.worktreeId),e):null}return"string"==typeof n.type?n:null}},60199:(e,t,n)=>{n.d(t,{tS:()=>s,xM:()=>f,T3:()=>d});var r=n(95155),u=n(12115),l=n(52703);function c(){return"undefined"!=typeof globalThis&&"function"==typeof globalThis.WebSocket?globalThis.WebSocket:null}let o=()=>{},i={status:"disconnected",connected:!1,subscribe:o,unsubscribe:o,addListener:()=>o},a=(0,u.createContext)(null);function s(e){let{children:t,enabled:n=!0}=e,o=(0,u.useRef)(new Set),i=(0,u.useRef)(new Map),{status:s,subscribe:f,unsubscribe:d}=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{onEvent:t,onStatusChange:n,autoReconnect:r=!0,reconnectBaseDelay:o=1e3,reconnectMaxDelay:i=3e4,livenessTimeout:a=75e3,livenessCheckInterval:s=5e3,enabled:f=!0}=e,[d,b]=(0,u.useState)("disconnected"),h=(0,u.useRef)(null),v=(0,u.useRef)(null),y=(0,u.useRef)(0),w=(0,u.useRef)(new Set),m=(0,u.useRef)(!1),p=(0,u.useRef)(0),g=(0,u.useRef)(()=>{}),S=(0,u.useRef)(t);S.current=t;let E=(0,u.useRef)(n);E.current=n;let k=(0,u.useCallback)(e=>{var t;b(e),null==(t=E.current)||t.call(E,e)},[]),C=(0,u.useCallback)(()=>{null!==v.current&&(clearTimeout(v.current),v.current=null)},[]),R=(0,u.useCallback)(()=>{if(m.current||!r||"undefined"!=typeof document&&"hidden"===document.visibilityState)return;C();let e=function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Math.random;return Math.max(0,Math.round(Math.min(t*2**Math.max(0,e),n)*(1+(2*r()-1)*.2)))}(y.current,o,i);y.current+=1,v.current=setTimeout(()=>{v.current=null,g.current()},e)},[r,o,i,C]),T=(0,u.useCallback)(()=>{if(!f)return;let e=c();if(!e||h.current&&(h.current.readyState===e.OPEN||h.current.readyState===e.CONNECTING))return;C(),m.current=!1,p.current=Date.now(),k("connecting");let t="https:"===window.location.protocol?"wss:":"ws:",n=new e("".concat(t,"//").concat(window.location.host));h.current=n,n.onopen=()=>{y.current=0,p.current=Date.now(),k("connected");try{n.send(JSON.stringify({type:l.ST,version:"0.44.1"}))}catch(e){}w.current.forEach(e=>{try{n.send(JSON.stringify({type:"subscribe",worktreeId:e}))}catch(e){}})},n.onmessage=e=>{var t;p.current=Date.now();let n="string"==typeof e.data?e.data:String(e.data),r=(0,l.zS)(n);r&&"heartbeat"!==r.type&&(null==(t=S.current)||t.call(S,r))},n.onerror=()=>{k("error")},n.onclose=()=>{h.current=null,k("disconnected"),R()}},[f,k,C,R]);g.current=T;let M=(0,u.useCallback)(()=>{let e=h.current;if(e){e.onopen=null,e.onmessage=null,e.onerror=null,e.onclose=null,h.current=null;try{e.close(4001,"half-open")}catch(e){}k("disconnected"),R()}},[k,R]),O=(0,u.useCallback)(()=>{if(C(),m.current=!0,h.current){try{h.current.close(1e3,"Client disconnect")}catch(e){}h.current=null}},[C]),N=(0,u.useCallback)(e=>{let t=h.current,n=c();if(t&&n&&t.readyState===n.OPEN)try{t.send(JSON.stringify(e))}catch(e){}},[]),_=(0,u.useCallback)(e=>{w.current.has(e)||(w.current.add(e),N({type:"subscribe",worktreeId:e}))},[N]),L=(0,u.useCallback)(e=>{w.current.has(e)&&(w.current.delete(e),N({type:"unsubscribe",worktreeId:e}))},[N]);return(0,u.useEffect)(()=>{if(f)return T(),()=>{O()}},[f,T,O]),(0,u.useEffect)(()=>{if(!f)return;let e=setInterval(()=>{let e=h.current,t=c();e&&t&&e.readyState===t.OPEN&&(Date.now()-p.current<a||M())},s);return()=>clearInterval(e)},[f,a,s,M]),(0,u.useEffect)(()=>{if(!f||"undefined"==typeof document)return;let e=()=>{"visible"===document.visibilityState&&(h.current||(y.current=0,T()))};return document.addEventListener("visibilitychange",e),()=>document.removeEventListener("visibilitychange",e)},[f,T]),(0,u.useEffect)(()=>{if(!f)return;let e=()=>{h.current||(y.current=0,T())};return window.addEventListener("online",e),()=>window.removeEventListener("online",e)},[f,T]),{status:d,subscribe:_,unsubscribe:L,send:N}}({enabled:n,onEvent:(0,u.useCallback)(e=>{o.current.forEach(t=>{try{t(e)}catch(e){}})},[])}),b=(0,u.useCallback)(e=>{var t;let n=i.current,r=null!=(t=n.get(e))?t:0;n.set(e,r+1),0===r&&f(e)},[f]),h=(0,u.useCallback)(e=>{var t;let n=i.current,r=null!=(t=n.get(e))?t:0;r<=1?(n.delete(e),d(e)):n.set(e,r-1)},[d]),v=(0,u.useCallback)(e=>(o.current.add(e),()=>{o.current.delete(e)}),[]),y=(0,u.useMemo)(()=>({status:s,connected:"connected"===s,subscribe:b,unsubscribe:h,addListener:v}),[s,b,h,v]);return(0,r.jsx)(a.Provider,{value:y,children:t})}function f(){var e;return null!=(e=(0,u.useContext)(a))?e:i}function d(e){let{addListener:t}=f(),n=(0,u.useRef)(e);n.current=e,(0,u.useEffect)(()=>t(e=>n.current(e)),[t])}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[344],{54014:(e,t,n)=>{n.d(t,{Ab:()=>a,NL:()=>f,O6:()=>m,XH:()=>o,f_:()=>u,hR:()=>l,lu:()=>y,n6:()=>s,oo:()=>d,pQ:()=>r,sw:()=>p,vz:()=>h});let o=["claude","codex","gemini","vibe-local","opencode","copilot","antigravity","command-code","opencode-v2"],a=10,r=50,i=/^[a-zA-Z0-9_-]+$/;function s(e){return"string"==typeof e&&e.length>0&&e.length<=64&&i.test(e)}let c={claude:"Claude",codex:"Codex",gemini:"Gemini","vibe-local":"Vibe Local",opencode:"OpenCode",copilot:"Copilot",antigravity:"Antigravity","command-code":"Command Code","opencode-v2":"OpenCode V2"};function l(e){return o.includes(e)}function d(e){var t;return null!=(t=c[e])?t:e}function u(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Assistant";return e&&l(e)?d(e):t}function p(e){let t=e.alias;return"string"==typeof t&&t.trim().length>0?t:d(e.cliTool)}function m(e,t,n){let o=e.find(e=>e.id===t);return o?p(o):d(n)}function y(e){return e.map((e,t)=>({id:e,cliTool:e,alias:d(e),order:t}))}let h=128,f=2097152},56936:(e,t,n)=>{n.d(t,{BV:()=>h,Ct:()=>c,Hi:()=>a,K3:()=>i,PS:()=>m,SE:()=>r,SR:()=>s,T2:()=>u,Z3:()=>y,nk:()=>p});var o=n(93025);let a=0;function r(){return(0,o.v8)()+3e4}let i=8e3,s=2,c=2e4,l=[408,425,429,500,502,503,504],d=["GET","HEAD","OPTIONS"],u=3e4;function p(e){let t=(null!=e?e:"GET").toUpperCase();return d.includes(t)}function m(e){return l.includes(e)}function y(e){return p(e)?1e4:3e4}function h(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Math.random(),n=Number.isFinite(e)&&e>0?Math.floor(e):0,o=Math.min(500*2**n,4e3);return Math.max(0,Math.round(o+.25*o*(2*t-1)))}},80344:(e,t,n)=>{n.d(t,{$T:()=>g,E:()=>m,GQ:()=>T,O0:()=>s,Rx:()=>f,gC:()=>w,hD:()=>r,hS:()=>b,xd:()=>c,y:()=>h});var o=n(56936),a=n(52407);class r extends Error{constructor(e,t,n,o){super(e),this.status=t,this.data=n,this.name="ApiError",this.kind=null!=o?o:t>0?"http":"network"}}async function i(e,t,n){if(!(e.headers.get("content-type")||"").includes("application/json"))return t;try{return await e.json()}catch(e){return t}}function s(e){var t;return e.redirected&&(null!=(t=e.url)?t:"").includes("/login")?new r("Authentication required",401):null}function c(e){return e.headers?(e.headers.get("content-type")||"").includes("application/json")?null:new r("Unexpected response format",e.status):null}let l=null;function d(e){let t=Date.now();null!==l&&l.reachable===e&&t-l.at<o.T2||(l={reachable:e,at:t},(0,a.nG)(e))}async function u(e,t,n){var o;let a=null!=(o=t.signal)?o:void 0;if(null==a?void 0:a.aborted)throw new r("Request aborted",0,void 0,"aborted");if(n<=0||"function"!=typeof AbortController)return fetch(e,t);let i=new AbortController,s=!1,c=setTimeout(()=>{s=!0,i.abort()},n),l=()=>i.abort();null==a||a.addEventListener("abort",l);try{return await fetch(e,{...t,signal:i.signal})}catch(e){if(null==a?void 0:a.aborted)throw new r("Request aborted",0,e,"aborted");if(s)throw new r("Request timed out after ".concat(n,"ms"),0,e,"timeout");throw e}finally{clearTimeout(c),null==a||a.removeEventListener("abort",l)}}function p(e){return new Promise(t=>setTimeout(t,e))}async function m(e,t){var n;let{timeoutMs:a,retries:i,...s}=null!=t?t:{},c=(null!=(n=s.method)?n:"GET").toUpperCase(),l=(0,o.nk)(c)?Math.max(0,null!=i?i:o.SR):0,m=void 0===a?(0,o.Z3)(c):null!=a?a:o.Hi,y=Date.now(),h=e=>e<l&&Date.now()-y<o.Ct;for(let t=0;;t++){if("undefined"!=typeof navigator&&!1===navigator.onLine)throw new r("No network connection",0,void 0,"offline");try{let n=await u(e,s,m);if(d(!0),(0,o.PS)(n.status)&&h(t)){await p((0,o.BV)(t));continue}return n}catch(n){let e=function(e){if(e instanceof r)return e;let t=e instanceof Error?e.name:"";return"AbortError"===t||"TimeoutError"===t?new r("Request aborted",0,e,"aborted"):new r(e instanceof Error?e.message:"Unknown error",0,e,"network")}(n);if("aborted"===e.kind||(d(!1),!h(t)))throw e;await p((0,o.BV)(t))}}}async function y(e,t){try{let n=new Headers(null==t?void 0:t.headers);n.set("Content-Type","application/json");let o=await m(e,{...t,headers:n}),a=s(o);if(a)throw a;if(!o.ok){let e=await i(o,{},"error-body");throw new r(e.error||"HTTP error ".concat(o.status),o.status,e)}let l=c(o);if(l)throw l;return o.json()}catch(e){if(e instanceof r)throw e;throw new r(e instanceof Error?e.message:"Unknown error",0,e)}}let h={getAll:async()=>y("/api/worktrees"),getById:async e=>y("/api/worktrees/".concat(e)),updateDescription:async(e,t)=>y("/api/worktrees/".concat(e),{method:"PATCH",body:JSON.stringify({description:t})}),updateLink:async(e,t)=>y("/api/worktrees/".concat(e),{method:"PATCH",body:JSON.stringify({link:t})}),toggleFavorite:async(e,t)=>y("/api/worktrees/".concat(e),{method:"PATCH",body:JSON.stringify({favorite:t})}),updateStatus:async(e,t)=>y("/api/worktrees/".concat(e),{method:"PATCH",body:JSON.stringify({status:t})}),updateCliTool:async(e,t)=>y("/api/worktrees/".concat(e),{method:"PATCH",body:JSON.stringify({cliToolId:t})}),markAsViewed:async e=>y("/api/worktrees/".concat(e,"/viewed"),{method:"PATCH"}),async getMessages(e,t,n,o){let a=new URLSearchParams;return t&&a.append("cliTool",t),n&&a.append("includeArchived","true"),"number"==typeof o&&Number.isFinite(o)&&a.append("limit",String(o)),y("/api/worktrees/".concat(e,"/messages").concat(a.toString()?"?".concat(a.toString()):""))},async sendMessage(e,t,n){var a;let r={content:t};return(null==n?void 0:n.cliToolId)&&(r.cliToolId=n.cliToolId),(null==n?void 0:n.instanceId)&&(r.instanceId=n.instanceId),(null==n?void 0:n.imagePath)&&(r.imagePath=n.imagePath),null===(a=await y("/api/worktrees/".concat(e,"/send"),{method:"POST",body:JSON.stringify(r),timeoutMs:(0,o.SE)()}))||"object"!=typeof a||a.timestamp instanceof Date?a:{...a,timestamp:new Date(a.timestamp)}},async uploadImageFile(e,t){let n=Date.now(),o="".concat(n,"-").concat(t.name),a=".commandmate/attachments",r=new FormData;r.append("file",new File([t],o,{type:t.type}));let s=await fetch("/api/worktrees/".concat(e,"/upload/").concat(a),{method:"POST",body:r});if(!s.ok){var c;let e=await i(s,{},"error-body");throw Error((null==e||null==(c=e.error)?void 0:c.message)||"Upload failed (HTTP ".concat(s.status,")"))}return{path:(await i(s,{},"response-body")).path||"".concat(a,"/").concat(o)}},getLogs:async e=>y("/api/worktrees/".concat(e,"/logs")),async getLogFile(e,t,n){let o=(null==n?void 0:n.sanitize)?"?sanitize=true":"";return y("/api/worktrees/".concat(e,"/logs/").concat(t).concat(o))},async killSession(e,t,n){let o=new URLSearchParams;t&&o.set("cliTool",t),n&&o.set("instance",n);let a=o.toString();return y("/api/worktrees/".concat(e,"/kill-session").concat(a?"?".concat(a):""),{method:"POST"})}},f={scan:async e=>y("/api/repositories/scan",{method:"POST",body:JSON.stringify({repositoryPath:e})}),sync:async()=>y("/api/repositories/sync",{method:"POST"}),delete:async e=>y("/api/repositories",{method:"DELETE",body:JSON.stringify({repositoryPath:e})}),async clone(e,t){var n;return y("/api/repositories/clone",{method:"POST",body:JSON.stringify({cloneUrl:e,fork:null!=(n=null==t?void 0:t.fork)&&n})})},getCloneStatus:async e=>y("/api/repositories/clone/".concat(e)),getExcluded:async()=>y("/api/repositories/excluded"),restore:async e=>y("/api/repositories/restore",{method:"PUT",body:JSON.stringify({repositoryPath:e})}),list:async()=>y("/api/repositories"),updateDisplayName:async(e,t)=>y("/api/repositories/".concat(encodeURIComponent(e)),{method:"PUT",body:JSON.stringify({displayName:t})}),updateVisibility:async(e,t)=>y("/api/repositories/".concat(encodeURIComponent(e)),{method:"PUT",body:JSON.stringify({visible:t})}),updateEnabled:async(e,t)=>y("/api/repositories/".concat(encodeURIComponent(e)),{method:"PUT",body:JSON.stringify({enabled:t})}),validatePath:async e=>y("/api/repositories/validate-path",{method:"POST",body:JSON.stringify({repositoryPath:e})})},w={async browse(e){let t=e?"?path=".concat(encodeURIComponent(e)):"";return y("/api/fs/browse".concat(t))},addRecentPath:async e=>y("/api/fs/recent-paths",{method:"POST",body:JSON.stringify({path:e})})},g={getAll:async e=>(await y("/api/worktrees/".concat(e,"/memos"))).memos,create:async(e,t)=>(await y("/api/worktrees/".concat(e,"/memos"),{method:"POST",body:JSON.stringify(t||{})})).memo,update:async(e,t,n)=>(await y("/api/worktrees/".concat(e,"/memos/").concat(t),{method:"PUT",body:JSON.stringify(n)})).memo,delete:async(e,t)=>y("/api/worktrees/".concat(e,"/memos/").concat(t),{method:"DELETE"}),async reorder(e,t){await y("/api/worktrees/".concat(e,"/memos"),{method:"PATCH",body:JSON.stringify({memoIds:t})})}};function b(e){return e instanceof r||e instanceof Error?e.message:"An unknown error occurred"}let T={checkForUpdate:async()=>y("/api/app/update-check",{method:"GET"}),startUpdate:async()=>y("/api/app/update",{method:"POST"}),async ping(){try{return(await fetch("/api/auth/status",{cache:"no-store"})).ok}catch(e){return!1}},async getReleaseNotes(e,t){let n=new URLSearchParams({from:e,to:t});return y("/api/app/release-notes?".concat(n.toString()),{method:"GET"})}}},93025:(e,t,n)=>{n.d(t,{Up:()=>s,v8:()=>i});var o=n(54014);let a={claude:6e4};function r(e){var t;return(null!=(t=a[e])?t:3e4)+5e3}function i(){return Math.max(...o.XH.map(r))}let s=5e3}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3922],{33922:(e,t,r)=>{r.r(t),r.d(t,{MarkdownEditor:()=>ee});var n=r(95155),l=r(12115),a=r(47650),o=r(18955),s=r(80003),i=r(52056),d=r(64269),c=r(60322),u=r(94442),f=r(36402),m=r(3005),h=r(72115),x=r(89715),v=r(71847);let p=(0,v.A)("columns-2",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]]);var g=r(57828);let w=(0,v.A)("list-indent-increase",[["path",{d:"M21 5H11",key:"us1j55"}],["path",{d:"M21 12H11",key:"wd7e0v"}],["path",{d:"M21 19H11",key:"saa85w"}],["path",{d:"m3 8 4 4-4 4",key:"1a3j6y"}]]),b=(0,v.A)("list-indent-decrease",[["path",{d:"M21 5H11",key:"us1j55"}],["path",{d:"M21 12H11",key:"wd7e0v"}],["path",{d:"M21 19H11",key:"saa85w"}],["path",{d:"m7 8-4 4 4 4",key:"o5hrat"}]]);var k=r(76482),y=r(5917),j=r(75426),E=r(97624),N=r(37354),C=r(46046),S=r(65229),M=r(48407);let F=(0,l.memo)(function(e){let{filePath:t,isDirty:r,viewMode:l,onViewModeChange:a,showMobileTabs:s,copied:i,onCopy:d,isMaximized:c,onToggleFullscreen:u,isAutoSaveEnabled:f,onAutoSaveToggle:m,isAutoSaving:h,isSaving:v,onSave:F,onClose:R,hideViewModeToggle:A,hideMaximizeButton:P,onIndent:T,onOutdent:V,tabMovesFocus:z,onToggleTabMovesFocus:I}=e,D=(0,o.c)("worktree"),O=e=>e.preventDefault();return(0,n.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border bg-muted",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 min-w-0 flex-shrink",children:[(0,n.jsx)(x.A,{className:"h-4 w-4 text-muted-foreground flex-shrink-0"}),(0,n.jsx)("span",{className:"text-sm font-medium text-foreground truncate",children:t}),r&&(0,n.jsx)("span",{"data-testid":"dirty-indicator",className:"inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium bg-warning-subtle text-warning-foreground flex-shrink-0",children:D("editor.unsaved")})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2 flex-shrink-0",children:[!s&&!A&&(0,n.jsxs)("div",{className:"flex items-center gap-1 bg-muted rounded-lg p-1",children:[(0,n.jsx)("button",{"data-testid":"view-mode-split","aria-pressed":"split"===l,onClick:()=>a("split"),className:"p-1.5 rounded ".concat("split"===l?"bg-white dark:bg-input shadow-sm text-accent-600 dark:text-accent-400":"text-muted-foreground hover:text-foreground"),title:D("editor.splitView"),children:(0,n.jsx)(p,{className:"h-4 w-4"})}),(0,n.jsx)("button",{"data-testid":"view-mode-editor","aria-pressed":"editor"===l,onClick:()=>a("editor"),className:"p-1.5 rounded ".concat("editor"===l?"bg-white dark:bg-input shadow-sm text-accent-600 dark:text-accent-400":"text-muted-foreground hover:text-foreground"),title:D("editor.editorOnly"),children:(0,n.jsx)(x.A,{className:"h-4 w-4"})}),(0,n.jsx)("button",{"data-testid":"view-mode-preview","aria-pressed":"preview"===l,onClick:()=>a("preview"),className:"p-1.5 rounded ".concat("preview"===l?"bg-white dark:bg-input shadow-sm text-accent-600 dark:text-accent-400":"text-muted-foreground hover:text-foreground"),title:D("editor.previewOnly"),children:(0,n.jsx)(g.A,{className:"h-4 w-4"})})]}),(0,n.jsx)(M.$n,{variant:"ghost","data-testid":"editor-indent-button",onMouseDown:O,onClick:T,className:"flex min-h-[44px] min-w-[44px] items-center justify-center p-1.5 text-muted-foreground hover:text-foreground hover:bg-muted rounded",title:D("editor.indent"),"aria-label":D("editor.indent"),children:(0,n.jsx)(w,{className:"h-4 w-4"})}),(0,n.jsx)(M.$n,{variant:"ghost","data-testid":"editor-outdent-button",onMouseDown:O,onClick:V,className:"flex min-h-[44px] min-w-[44px] items-center justify-center p-1.5 text-muted-foreground hover:text-foreground hover:bg-muted rounded",title:D("editor.outdent"),"aria-label":D("editor.outdent"),children:(0,n.jsx)(b,{className:"h-4 w-4"})}),(0,n.jsx)(M.$n,{variant:"ghost","data-testid":"editor-tab-focus-toggle",onMouseDown:O,onClick:I,"aria-pressed":z,className:"flex min-h-[44px] min-w-[44px] items-center justify-center p-1.5 hover:bg-muted rounded ".concat(z?"text-accent-600 dark:text-accent-400":"text-muted-foreground hover:text-foreground"),title:D(z?"editor.tabMovesFocusOn":"editor.tabMovesFocusOff"),"aria-label":D(z?"editor.tabMovesFocusOn":"editor.tabMovesFocusOff"),children:(0,n.jsx)(k.A,{className:"h-4 w-4"})}),(0,n.jsx)(M.$n,{variant:"ghost","data-testid":"copy-content-button",onClick:d,className:"p-1.5 hover:bg-muted rounded ".concat(i?"text-success":"text-muted-foreground hover:text-foreground"),title:D("actions.copyContent"),children:i?(0,n.jsx)(y.A,{className:"h-4 w-4"}):(0,n.jsx)(j.A,{className:"h-4 w-4"})}),!P&&(0,n.jsx)(M.$n,{variant:"ghost","data-testid":"maximize-button",onClick:u,className:"p-1.5 text-muted-foreground hover:text-foreground hover:bg-muted rounded",title:D(c?"editor.exitFullscreen":"editor.enterFullscreen"),"aria-pressed":c,children:c?(0,n.jsx)(E.A,{className:"h-4 w-4"}):(0,n.jsx)(N.A,{className:"h-4 w-4"})}),(0,n.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:D("editor.auto")}),(0,n.jsx)("button",{"data-testid":"auto-save-toggle",role:"switch","aria-checked":f,onClick:()=>m(!f),className:"relative inline-flex h-5 w-9 items-center rounded-full transition-colors ".concat(f?"bg-accent-600":"bg-input"),children:(0,n.jsx)("span",{className:"inline-block h-3.5 w-3.5 transform rounded-full bg-white transition-transform ".concat(f?"translate-x-4":"translate-x-0.5")})})]}),f?(0,n.jsx)("span",{"data-testid":"auto-save-indicator",className:"text-sm text-muted-foreground",children:h?D("actions.saving"):r?"":D("actions.saved")}):(0,n.jsxs)(M.$n,{variant:"ghost","data-testid":"save-button",onClick:F,disabled:!r||v,className:"flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-sm font-medium transition-colors ".concat(r&&!v?"bg-accent-600 text-white hover:bg-accent-700":"bg-muted text-muted-foreground cursor-not-allowed"),children:[(0,n.jsx)(C.A,{className:"h-4 w-4"}),D(v?"actions.saving":"actions.save")]}),R&&(0,n.jsx)(M.$n,{variant:"ghost","data-testid":"close-button",onClick:R,className:"p-1.5 text-muted-foreground hover:text-foreground hover:bg-muted rounded",title:D("actions.close"),children:(0,n.jsx)(S.A,{className:"h-4 w-4"})})]})]})});var R=r(24027),A=r(55924),P=r(79962),T=r(38218);let V=l.useLayoutEffect;function z(){if("undefined"==typeof document)return null;let e=document;return e.fullscreenElement||e.webkitFullscreenElement||e.mozFullScreenElement||e.msFullscreenElement||null}var I=r(2317),D=r(60850),O=r(8269),L=r(51434),K=r(4138),$=r(59854);function H(e,t){return e.lastIndexOf("\n",t-1)+1}function W(e,t,r){let n=r>t&&r>0&&"\n"===e[r-1]?r-1:r;return{start:H(e,t),end:function(e,t){let r=e.indexOf("\n",t);return -1===r?e.length:r}(e,n)}}function _(e,t,r,n,l,a){return{replaceStart:t,replaceEnd:r,replacement:n,selectionStart:l,selectionEnd:a,value:e.slice(0,t)+n+e.slice(r)}}function q(e,t,r,n){if(!(r>t&&e.slice(t,r).includes("\n"))){let l=t-H(e,t),a=n.length-l%n.length,o=" ".repeat(a),s=t+o.length;return _(e,t,r,o,s,s)}let{start:l,end:a}=W(e,t,r),o=e.slice(l,a).split("\n").map(e=>""===e||"\r"===e?e:n+e).join("\n");return _(e,l,a,o,l,l+o.length)}function B(e,t,r,n){let{start:l,end:a}=W(e,t,r),o=e.slice(l,a),s=o.split("\n").map(e=>(function(e,t){if(e.startsWith(" "))return e.slice(1);let r=0;for(;r<t.length&&" "===e[r];)r+=1;return e.slice(r)})(e,n)).join("\n");if(s===o)return t===r?null:_(e,l,a,s,t,r);if(t===r){let r=Math.min(o.length-s.length,Math.max(0,t-l)),n=t-r;return _(e,l,a,s,n,n)}return _(e,l,a,s,l,l+s.length)}let G={split:{showEditor:!0,showPreview:!0,editorWidth:"w-1/2",previewWidth:"w-1/2"},editor:{showEditor:!0,showPreview:!1,editorWidth:"w-full",previewWidth:"w-0"},preview:{showEditor:!1,showPreview:!0,editorWidth:"w-0",previewWidth:"w-full"}},U="commandmate:md-editor-view-mode",J={WARNING_THRESHOLD:512e3};function Y(e){return"number"==typeof e&&e>=.1&&e<=.9}function X(e){return"boolean"==typeof e}function Z(e){return"split"===e||"editor"===e||"preview"===e}let Q=(0,l.memo)(function(e){let{previewContent:t,onOpenFile:r,filePath:a,worktreeId:o,tocVisible:i,onToggleTocVisible:d,tocTitle:c,tocShowLabel:u,tocHideLabel:f}=e,m=(0,l.useRef)(null),h=(0,l.useRef)(null),[x,v]=(0,l.useState)(null),[p,g]=(0,l.useState)(!1);(0,l.useEffect)(()=>{v(h.current)},[]),(0,l.useEffect)(()=>{let e=m.current;if(!e||"undefined"==typeof ResizeObserver)return;let t=new ResizeObserver(e=>{var t,r;g((null!=(r=null==(t=e[0])?void 0:t.contentRect.width)?r:0)>=480)});return t.observe(e),()=>t.disconnect()},[]);let w=(0,l.useMemo)(()=>(0,P.K)(t),[t]),b=w.length>=2&&p,k=b&&i;return(0,n.jsxs)("div",{ref:m,className:"relative flex flex-1 overflow-hidden",children:[(0,n.jsx)("div",{ref:h,"data-testid":"markdown-preview",className:"flex-1 min-w-0 p-4 overflow-y-auto prose prose-sm dark:prose-invert max-w-none prose-headings:scroll-mt-2",children:(0,n.jsx)(R.G8,{content:t,onOpenFile:r,currentFilePath:a,worktreeId:o})}),k&&(0,n.jsx)("aside",{"data-testid":"markdown-preview-toc",className:"w-48 flex-shrink-0 overflow-y-auto border-l border-border py-4",children:(0,n.jsx)("div",{className:"sticky top-0",children:(0,n.jsx)(A.K,{entries:w,title:c,headerOffset:0,root:x})})}),b&&(0,n.jsx)("button",{"data-testid":"markdown-preview-toc-toggle",onClick:d,"aria-pressed":i,"aria-label":i?f:u,title:i?f:u,className:"absolute top-2 right-2 z-10 flex items-center justify-center rounded-md border border-border bg-surface/90 p-1.5 text-muted-foreground hover:text-foreground hover:bg-muted shadow-sm",children:(0,n.jsx)(s.A,{className:"h-4 w-4"})})]})}),ee=(0,l.memo)(function(e){let{worktreeId:t,filePath:r,fileType:s,onClose:x,onSave:v,initialViewMode:p,onMaximizedChange:g,onDirtyChange:w,onOpenFile:b,initialContent:k,embedded:y=!1,onContentChange:j}=e,E="text"===(null!=s?s:r.toLowerCase().endsWith(".md")?"markdown":"text"),N=(0,o.c)("worktree"),C=(0,f.SC)(),S=void 0!==k,M=null!=k?k:"",[A,H]=(0,l.useState)(M),[W,_]=(0,l.useState)(M),[ee,et]=(0,l.useState)(M),[er,en]=(0,l.useState)(()=>E||y?"editor":function(e){if(e&&Z(e))return e;{let e=localStorage.getItem(U);if(e&&Z(e))return e}return"split"}(p)),[el,ea]=(0,l.useState)(!S),[eo,es]=(0,l.useState)(!1),[ei,ed]=(0,l.useState)(null),[ec,eu]=(0,l.useState)(()=>S&&new Blob([M]).size>J.WARNING_THRESHOLD),{copied:ef,markCopied:em}=(0,K.q)(),[eh,ex]=(0,l.useState)("editor"),[ev,ep]=(0,l.useState)(null),{showToast:eg}=(0,u.dj)(),ew=(0,l.useRef)(null),eb=(0,l.useRef)(null),ek=(0,l.useRef)(null),ey=(0,l.useRef)(null),ej=(0,l.useRef)(null),eE=(0,l.useRef)(null),eN=(0,T.a)(),eC=function(){let[e,t]=(0,l.useState)(!1);return V(()=>{let e=window.matchMedia("(orientation: portrait)");t(e.matches);let r=e=>{t(e.matches)};return e.addEventListener("change",r),()=>e.removeEventListener("change",r)},[]),e}();(0,l.useEffect)(()=>{eN&&ex("preview")},[eN]);let{isKeyboardVisible:eS,keyboardHeight:eM}=(0,L.C)(),{value:eF,setValue:eR}=(0,I.V)({key:"commandmate:md-editor-maximized",defaultValue:!1,validate:X}),{isFullscreen:eA,isFallbackMode:eP,enterFullscreen:eT,exitFullscreen:eV,toggleFullscreen:ez}=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{elementRef:t,onEnter:r,onExit:n,onError:a}=e,[o,s]=(0,l.useState)(!1),[i,d]=(0,l.useState)(!1),[c,u]=(0,l.useState)(null),f=(0,l.useCallback)(()=>{let e=null!=z();s(e),!e&&i&&d(!1)},[i]),m=(0,l.useCallback)(async()=>{if(u(null),"undefined"!=typeof navigator&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1||0)){s(!0),d(!0),null==r||r();return}if(function(){if("undefined"==typeof document)return!1;let e=document;return!!(e.fullscreenEnabled||e.webkitFullscreenEnabled||e.mozFullScreenEnabled||e.msFullscreenEnabled)}()&&(null==t?void 0:t.current))try{var e;await ((e=t.current).requestFullscreen?Promise.resolve(e.requestFullscreen()):e.webkitRequestFullscreen?Promise.resolve(e.webkitRequestFullscreen()):e.mozRequestFullScreen?Promise.resolve(e.mozRequestFullScreen()):e.msRequestFullscreen?Promise.resolve(e.msRequestFullscreen()):Promise.reject(Error("Fullscreen API not supported"))),s(!0),d(!1),null==r||r()}catch(t){let e=t instanceof Error?t.message:"Failed to enter fullscreen";u(e),null==a||a(t instanceof Error?t:Error(e)),s(!0),d(!0),null==r||r()}else s(!0),d(!0),null==r||r()},[t,r,a]),h=(0,l.useCallback)(async()=>{if(u(null),i){s(!1),d(!1),null==n||n();return}if(z())try{await function(){if("undefined"==typeof document)return Promise.resolve();let e=document;return e.exitFullscreen?Promise.resolve(e.exitFullscreen()):e.webkitExitFullscreen?Promise.resolve(e.webkitExitFullscreen()):e.mozCancelFullScreen?Promise.resolve(e.mozCancelFullScreen()):e.msExitFullscreen?Promise.resolve(e.msExitFullscreen()):Promise.resolve()}(),s(!1),null==n||n()}catch(t){let e=t instanceof Error?t.message:"Failed to exit fullscreen";u(e),null==a||a(t instanceof Error?t:Error(e)),s(!1),d(!1),null==n||n()}else s(!1),d(!1),null==n||n()},[i,n,a]),x=(0,l.useCallback)(async()=>{o?await h():await m()},[o,m,h]);return(0,l.useEffect)(()=>(function(e){if("undefined"==typeof document)return()=>{};let t=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"];for(let r of t)document.addEventListener(r,e);return()=>{for(let r of t)document.removeEventListener(r,e)}})(f),[f]),{isFullscreen:o,isFallbackMode:i,enterFullscreen:m,exitFullscreen:h,toggleFullscreen:x,error:c}}({elementRef:ey,onEnter:()=>eR(!0),onExit:()=>eR(!1)}),{value:eI,setValue:eD}=(0,I.V)({key:"commandmate:md-editor-split-ratio",defaultValue:.5,validate:Y}),{value:eO,setValue:eL}=(0,I.V)({key:"commandmate:md-editor-auto-save",defaultValue:!1,validate:X}),{value:eK,setValue:e$}=(0,I.V)({key:"commandmate:md-editor-tab-moves-focus",defaultValue:!1,validate:X}),{value:eH,setValue:eW}=(0,I.V)({key:P.Y,defaultValue:!0,validate:X}),e_=(0,l.useCallback)(()=>{eW(e=>!e)},[eW]),{ref:eq}=(0,O.hU)({onSwipeDown:()=>{eA&&eV()},threshold:150,enabled:eA&&eN}),eB=A!==W,eG=E?G.editor:G[er];(0,l.useEffect)(()=>{null==w||w(eB)},[eB,w]);let eU=!E&&eN&&eC&&"split"===er,eJ=(0,l.useMemo)(()=>(0,d.sg)(e=>{et(e)},300),[]);(0,l.useEffect)(()=>()=>eJ.cancel(),[eJ]);let eY=(0,l.useCallback)(async()=>{ea(!0),ed(null);try{let n=await fetch("/api/worktrees/".concat(t,"/files/").concat(r)),l=await n.json();if(!n.ok||!l.success){var e;throw Error((null==(e=l.error)?void 0:e.message)||N("editor.loadError"))}let a=l.content||"";H(a),_(a),et(a),new Blob([a]).size>J.WARNING_THRESHOLD&&eu(!0)}catch(e){ed(e instanceof Error?e.message:N("editor.loadError"))}finally{ea(!1)}},[t,r]),eX=(0,l.useCallback)(async e=>{let n=await fetch("/api/worktrees/".concat(t,"/files/").concat(r),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:e})});if(401===n.status||n.redirected)throw Error(N("editor.sessionExpired"));let l=await n.json();if(!n.ok||!l.success){var a;throw Error((null==(a=l.error)?void 0:a.message)||N("editor.saveError"))}_(e)},[t,r,N]),{isSaving:eZ,error:eQ,saveNow:e0}=(0,D.U)({value:A,saveFn:eX,debounceMs:3e3,disabled:!eO}),e1=(0,l.useCallback)(e=>{eL(e),e&&eB&&eX(A)},[eL,eB,eX,A]),e4=(0,l.useCallback)(async()=>{if(eB&&!eo){es(!0);try{await eX(A),eg(N("editor.saveSuccess"),"success"),v&&v(r,A)}catch(e){eg(e instanceof Error?e.message:N("editor.saveError"),"error")}finally{es(!1)}}},[eX,A,eB,eo,v,r,eg,N]),e2=A.split("\n").length,e5=(0,l.useCallback)(()=>{ew.current&&eb.current&&(eb.current.scrollTop=ew.current.scrollTop)},[]),e3=(0,l.useCallback)(e=>{let t=e.target.value;H(t),eJ(t),null==j||j(t)},[eJ,j]),e8=(0,l.useCallback)(e=>{en(e),localStorage.setItem(U,e)},[]),e7=(0,l.useCallback)(async()=>{if(eO){if((eB||eZ)&&(await e0(),eQ)&&!await C({description:N("editor.saveFailedCloseConfirm"),variant:"danger"}))return}else if(eB&&!await C({description:N("editor.unsavedCloseConfirm"),variant:"danger"}))return;null==x||x()},[eO,eB,eZ,e0,eQ,x,C,N]),e9=(0,l.useCallback)(async()=>{try{await (0,c.l)(A),em()}catch(e){}},[A,em]),e6=(0,l.useCallback)(e=>{if(!ej.current)return;let t=ej.current.offsetWidth;if(0===t)return;let r=e/t;eD(e=>Math.max(.1,Math.min(.9,e+r)))},[eD]),te=(0,l.useCallback)(()=>{eD(.5)},[eD]),tt=(0,l.useCallback)(e=>{if(e.target!==ew.current||e.currentTarget===e.target){if((e.ctrlKey||e.metaKey)&&"s"===e.key){e.preventDefault(),eO?(async()=>{await e0(),null==v||v(r,A)})():e4();return}if((e.ctrlKey||e.metaKey)&&e.shiftKey&&"F"===e.key){e.preventDefault(),ez();return}if("Escape"===e.key&&eA){e.preventDefault(),eV();return}}},[e4,eO,e0,v,r,A,ez,eV,eA]),tr=(0,l.useCallback)(e=>{let t=ew.current;if(!t)return;if(e.value===t.value)return void t.setSelectionRange(e.selectionStart,e.selectionEnd);t.focus(),t.setSelectionRange(e.replaceStart,e.replaceEnd);let r=!1;try{r="function"==typeof document.execCommand&&document.execCommand("insertText",!1,e.replacement)}catch(e){r=!1}if(r)return void t.setSelectionRange(e.selectionStart,e.selectionEnd);eE.current={start:e.selectionStart,end:e.selectionEnd},H(e.value),eJ(e.value),null==j||j(e.value)},[eJ,j]),tn=(0,l.useCallback)(()=>{let e=ew.current;e&&tr(q(e.value,e.selectionStart,e.selectionEnd," "))},[tr]),tl=(0,l.useCallback)(()=>{let e=ew.current;if(!e)return;let t=B(e.value,e.selectionStart,e.selectionEnd," ");t&&tr(t)},[tr]),ta=(0,l.useCallback)(()=>{e$(e=>!e)},[e$]),to=(0,l.useCallback)(e=>{if(e.ctrlKey&&!e.metaKey&&!e.altKey&&("m"===e.key||"M"===e.key)){e.preventDefault(),ta();return}if("Tab"===e.key&&!eK&&!e.ctrlKey&&!e.metaKey&&!e.altKey){let t=e.currentTarget,r=e.shiftKey?B(t.value,t.selectionStart,t.selectionEnd," "):q(t.value,t.selectionStart,t.selectionEnd," ");r&&(e.preventDefault(),tr(r));return}tt(e)},[eK,ta,tr,tt]);(0,l.useEffect)(()=>{let e=eE.current;if(!e)return;eE.current=null;let t=ew.current;t&&(t.focus(),t.setSelectionRange(e.start,e.end))},[A]);let ts=(0,l.useCallback)(e=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{ref:eb,className:"flex-shrink-0 py-4 pl-2 pr-2 text-right select-none text-muted-foreground font-mono text-sm bg-muted dark:bg-muted/50 border-r border-border overflow-hidden","aria-hidden":"true",children:Array.from({length:e2},(e,t)=>(0,n.jsx)("div",{className:"leading-[1.5rem]",children:t+1},t+1))}),(0,n.jsx)("textarea",{ref:ew,"data-testid":"markdown-editor-textarea",value:A,onChange:e3,onKeyDown:to,onScroll:e5,className:"flex-1 py-4 pr-4 pl-3 font-mono text-sm resize-none bg-surface text-foreground focus:outline-none leading-[1.5rem]".concat(e?" focus:ring-2 focus:ring-ring focus:ring-inset":""),placeholder:E?N("editor.placeholder"):N("editor.placeholderMarkdown"),spellCheck:!1})]}),[e2,A,e3,to,e5,E,N]);(0,l.useEffect)(()=>{let e=e=>{"Escape"===e.key&&eA&&(e.preventDefault(),eV())};return eA&&document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[eA,eV]),(0,l.useEffect)(()=>{y||eF&&!eA&&eT()},[]),(0,l.useEffect)(()=>{if("undefined"==typeof document)return;let e=document.getElementById("markdown-editor-portal");return e||((e=document.createElement("div")).id="markdown-editor-portal",document.body.appendChild(e)),ep(e),()=>{let e=document.getElementById("markdown-editor-portal");e&&0===e.childNodes.length&&e.remove()}},[]),(0,l.useEffect)(()=>{null==g||g(eA)},[eA,g]),(0,l.useEffect)(()=>{S||eY()},[eY,S]),(0,l.useEffect)(()=>{let e=eO?eB||eZ:eB,t=t=>{e&&(t.preventDefault(),t.returnValue="")};return e?(ek.current=t,window.addEventListener("beforeunload",t)):ek.current&&(window.removeEventListener("beforeunload",ek.current),ek.current=null),()=>{ek.current&&window.removeEventListener("beforeunload",ek.current)}},[eB,eZ,eO]),(0,l.useEffect)(()=>{eQ&&eO&&(eL(!1),eg(N("editor.autoSaveFailed"),"error"))},[eQ,eO,eL,eg,N]);let ti=(0,l.useMemo)(()=>{let e="flex flex-col bg-surface";return eA&&eP?"".concat(e," fixed inset-0"):"".concat(e," h-full")},[eA,eP]),td=(0,l.useMemo)(()=>{if(eA)return{zIndex:$.M.MAXIMIZED_EDITOR}},[eA]),tc=(0,l.useMemo)(()=>{if("split"===er&&!eU)return{width:"".concat(100*eI,"%"),flexShrink:0}},[er,eI,eU]),tu=(0,l.useMemo)(()=>{if("split"===er&&!eU)return{width:"".concat((1-eI)*100,"%"),flexShrink:0}},[er,eI,eU]),tf=(0,l.useMemo)(()=>{if(eS&&eM>0)return{paddingBottom:eM}},[eS,eM]);if(el)return(0,n.jsx)("div",{"data-testid":"markdown-editor",className:"flex items-center justify-center h-full bg-surface",children:(0,n.jsxs)("div",{className:"text-center",children:[(0,n.jsx)(m.y,{size:"xl",variant:"accent",className:"inline-block"}),(0,n.jsx)("p",{className:"mt-4 text-muted-foreground",children:N("editor.loading")})]})});if(ei)return(0,n.jsx)("div",{"data-testid":"markdown-editor-error",className:"flex items-center justify-center h-full bg-surface",children:(0,n.jsxs)("div",{className:"text-center",children:[(0,n.jsx)(i.A,{className:"h-12 w-12 text-danger mx-auto mb-4"}),(0,n.jsx)("p",{className:"text-danger-foreground",children:ei}),x&&(0,n.jsx)("button",{onClick:x,className:"mt-4 px-4 py-2 bg-muted hover:bg-muted/80 rounded-lg text-foreground",children:N("actions.close")})]})});let tm=(0,n.jsxs)("div",{ref:e=>{ey.current=e,eq.current=e},"data-testid":"markdown-editor",className:ti,style:td,onKeyDown:tt,role:eA&&eP?"dialog":void 0,"aria-modal":eA&&eP?"true":void 0,children:[(0,n.jsx)(F,{filePath:r,isDirty:eB,viewMode:er,onViewModeChange:e8,showMobileTabs:eU,copied:ef,onCopy:e9,isMaximized:eA,onToggleFullscreen:ez,isAutoSaveEnabled:eO,onAutoSaveToggle:e1,isAutoSaving:eZ,isSaving:eo,onSave:e4,onClose:x?e7:void 0,hideViewModeToggle:E||y,hideMaximizeButton:y,onIndent:tn,onOutdent:tl,tabMovesFocus:eK,onToggleTabMovesFocus:ta}),eA&&(0,n.jsx)(R.OJ,{isMobile:eN}),ec&&(0,n.jsx)(R.Uc,{onDismiss:()=>eu(!1)}),eU&&(0,n.jsx)(R.RF,{mobileTab:eh,onTabChange:ex}),(0,n.jsxs)("div",{ref:ej,className:"flex flex-1 overflow-hidden",style:tf,children:[eU?"editor"===eh&&(0,n.jsx)("div",{"data-testid":"markdown-editor-container",className:"flex overflow-hidden w-full flex-1",children:ts(!1)}):(0,n.jsx)("div",{"data-testid":"markdown-editor-container",className:"flex overflow-hidden transition-all duration-200 ".concat(eG.showEditor?"":"hidden"),style:"split"===er?tc:{width:eG.showEditor?"100%":"0%"},children:ts(!0)}),"split"===er&&eG.showEditor&&eG.showPreview&&!eU&&(0,n.jsx)(h.f,{onResize:e6,onDoubleClick:te,orientation:"horizontal",ariaValueNow:Math.round(100*eI),minRatio:.1}),eU?"preview"===eh&&(0,n.jsx)("div",{"data-testid":"markdown-preview-container",className:"flex flex-col overflow-hidden w-full",children:(0,n.jsx)(Q,{previewContent:ee,onOpenFile:b,filePath:r,worktreeId:t,tocVisible:eH,onToggleTocVisible:e_,tocTitle:N("toc.title"),tocShowLabel:N("toc.show"),tocHideLabel:N("toc.hide")})}):(0,n.jsx)("div",{"data-testid":"markdown-preview-container",className:"flex flex-col overflow-hidden transition-all duration-200 ".concat(eG.showPreview?"":"hidden"),style:"split"===er?tu:{width:eG.showPreview?"100%":"0%"},children:(0,n.jsx)(Q,{previewContent:ee,onOpenFile:b,filePath:r,worktreeId:t,tocVisible:eH,onToggleTocVisible:e_,tocTitle:N("toc.title"),tocShowLabel:N("toc.show"),tocHideLabel:N("toc.hide")})})]})]});return eA&&eP&&ev?(0,a.createPortal)(tm,ev):tm})},55924:(e,t,r)=>{r.d(t,{K:()=>a});var n=r(95155),l=r(12115);function a(e){let{entries:t,title:r,headerOffset:a=64,root:o=null,className:s=""}=e,[i,d]=(0,l.useState)(null);return((0,l.useRef)(null).current=i,(0,l.useEffect)(()=>{if("undefined"==typeof IntersectionObserver||0===t.length)return;let e=new IntersectionObserver(e=>{let t=function(e){let t=e.filter(e=>e.isIntersecting).sort((e,t)=>e.boundingClientRect.top-t.boundingClientRect.top);return t.length>0?t[0].target.id:null}(e);t&&d(t)},{root:o,rootMargin:"-".concat(a,"px 0px -70% 0px"),threshold:0}),r=[];for(let n of t){let t=document.getElementById(n.id);t&&(e.observe(t),r.push(t))}return()=>{e.disconnect(),r.length=0}},[t,a,o]),0===t.length)?null:(0,n.jsxs)("nav",{"aria-label":r,className:s,children:[(0,n.jsx)("p",{className:"px-3 pb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:r}),(0,n.jsx)("ul",{className:"space-y-0.5 text-sm",children:t.map((e,t)=>{let r=e.id===i;return(0,n.jsx)("li",{children:(0,n.jsx)("a",{href:"#".concat(e.id),onClick:t=>((e,t)=>{e.preventDefault();let r="undefined"!=typeof document?document.getElementById(t):null;r&&r.scrollIntoView({behavior:"smooth",block:"start"}),d(t)})(t,e.id),"aria-current":r?"location":void 0,"data-depth":e.depth,style:{paddingLeft:"".concat((e.depth-1)*12+12,"px")},className:["block truncate rounded py-1 pr-2 transition-colors",r?"bg-accent-50 font-medium text-accent-700":"text-muted-foreground hover:bg-muted hover:text-foreground"].join(" "),title:e.text,children:e.text})},"".concat(e.id,"-").concat(t))})})]})}},79962:(e,t,r)=>{r.d(t,{K:()=>s,Y:()=>l});var n=r(21286);let l="commandmate:md-toc-visible",a=/^ {0,3}(#{1,6})(?:[ \t]+(.*?))?[ \t]*$/,o=/^( {0,3})(`{3,}|~{3,})(.*)$/;function s(e){if(!e)return[];let t=new n.A,r=[],l=null,s=0;for(let n of e.split("\n")){var i;let e=o.exec(n);if(l){if(e){let t=e[2];t[0]===l&&t.length>=s&&""===e[3].trim()&&(l=null,s=0)}continue}if(e){let t=e[2],r=t[0];if("`"===r&&e[3].includes("`"));else{l=r,s=t.length;continue}}let d=a.exec(n);if(!d)continue;let c=d[1].length,u=function(e){let t=e;return(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=t.replace(/!\[[^\]]*\]\([^)]*\)/g,"")).replace(/!\[[^\]]*\]\[[^\]]*\]/g,"")).replace(/\[([^\]]*)\]\([^)]*\)/g,"$1")).replace(/\[([^\]]*)\]\[[^\]]*\]/g,"$1")).replace(/\[([^\]]*)\]/g,"$1")).replace(/(`+)([\s\S]*?)\1/g,"$2")).replace(/(\*\*|__)(.*?)\1/g,"$2")).replace(/(\*|_)(.*?)\1/g,"$2")).replace(/~~(.*?)~~/g,"$1")).replace(/\\([\\`*_{}[\]()#+\-.!~])/g,"$1")).trim()}((null!=(i=d[2])?i:"").replace(/([ \t]|^)#+[ \t]*$/,"")),f=t.slug(u);r.push({depth:c,text:u,id:f})}return r}},80003:(e,t,r)=>{r.d(t,{A:()=>n});let n=(0,r(71847).A)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]])}}]);