commandmate 0.30.2 → 0.31.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 (442) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +151 -151
  3. package/.next/app-path-routes-manifest.json +25 -25
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/prerender-manifest.json +9 -9
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -1
  9. package/.next/server/app/api/agents/versions/route_client-reference-manifest.js +1 -1
  10. package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
  11. package/.next/server/app/api/app/update-check/route.js +1 -1
  12. package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/assistant/conversation/route.js +1 -1
  14. package/.next/server/app/api/assistant/conversation/route.js.nft.json +1 -1
  15. package/.next/server/app/api/assistant/conversation/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/assistant/current-output/route.js +1 -1
  17. package/.next/server/app/api/assistant/current-output/route.js.nft.json +1 -1
  18. package/.next/server/app/api/assistant/current-output/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/assistant/messages/route.js +1 -1
  20. package/.next/server/app/api/assistant/messages/route.js.nft.json +1 -1
  21. package/.next/server/app/api/assistant/messages/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/assistant/session/route.js +1 -1
  23. package/.next/server/app/api/assistant/session/route.js.nft.json +1 -1
  24. package/.next/server/app/api/assistant/session/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/assistant/start/route.js +3 -3
  26. package/.next/server/app/api/assistant/start/route.js.nft.json +1 -1
  27. package/.next/server/app/api/assistant/start/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/assistant/terminal/route.js +4 -4
  29. package/.next/server/app/api/assistant/terminal/route.js.nft.json +1 -1
  30. package/.next/server/app/api/assistant/terminal/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/assistant/tools/route.js +1 -1
  32. package/.next/server/app/api/assistant/tools/route.js.nft.json +1 -1
  33. package/.next/server/app/api/assistant/tools/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/capabilities/route.js +1 -1
  38. package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
  45. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/hooks/agent-event/route.js +1 -1
  47. package/.next/server/app/api/hooks/agent-event/route.js.nft.json +1 -1
  48. package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/api/hooks/claude-done/route.js +1 -1
  50. package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
  51. package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/hooks/permission-request/route.js +1 -1
  53. package/.next/server/app/api/hooks/permission-request/route.js.nft.json +1 -1
  54. package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
  56. package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  57. package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  60. package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
  61. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/repositories/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/repositories/[id]/todos/route_client-reference-manifest.js +1 -1
  64. package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
  65. package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
  66. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  67. package/.next/server/app/api/repositories/clone/route.js +1 -1
  68. package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
  69. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  70. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/repositories/restore/route.js +1 -1
  72. package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
  73. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/repositories/route.js +1 -1
  75. package/.next/server/app/api/repositories/route.js.nft.json +1 -1
  76. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/repositories/scan/route.js +1 -1
  78. package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
  79. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/repositories/sync/route.js +1 -1
  81. package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
  82. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
  84. package/.next/server/app/api/settings/default-agents/route.js +1 -1
  85. package/.next/server/app/api/settings/default-agents/route.js.nft.json +1 -1
  86. package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
  88. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/skills/[id]/route.js +1 -1
  90. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
  92. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
  94. package/.next/server/app/api/skills/route.js +1 -1
  95. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/slash-commands/route.js +1 -1
  97. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  98. package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  100. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  102. package/.next/server/app/api/todos/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
  104. package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
  106. package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
  107. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -1
  109. package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
  110. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  111. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js +1 -1
  112. package/.next/server/app/api/worktrees/[id]/clear-composer/route.js.nft.json +1 -1
  113. package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
  114. package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
  115. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  116. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
  118. package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
  119. package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
  121. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js +1 -1
  122. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
  123. package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
  124. package/.next/server/app/api/worktrees/[id]/files/[...path]/route.js +1 -1
  125. package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
  126. package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
  127. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
  128. package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
  129. package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
  130. package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
  131. package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
  133. package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
  134. package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
  135. package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
  136. package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
  137. package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
  138. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
  139. package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
  140. package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
  141. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
  142. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
  143. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
  145. package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
  146. package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
  147. package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
  148. package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
  149. package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js.nft.json +1 -1
  150. package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
  151. package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
  152. package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
  153. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  154. package/.next/server/app/api/worktrees/[id]/kill-session/route.js +1 -1
  155. package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
  156. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  157. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  158. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  159. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  160. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  161. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  162. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  163. package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
  164. package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
  165. package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
  166. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
  167. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
  168. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  169. package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
  170. package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
  171. package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
  172. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  173. package/.next/server/app/api/worktrees/[id]/route.js +1 -1
  174. package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
  175. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  176. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +4 -3
  177. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  178. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  179. package/.next/server/app/api/worktrees/[id]/schedules/route.js +4 -3
  180. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  181. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  182. package/.next/server/app/api/worktrees/[id]/send/route.js +1 -1
  183. package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
  184. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  185. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js +2 -2
  186. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
  187. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
  188. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  189. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  190. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  191. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  192. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
  193. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
  194. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  195. package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
  196. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  197. package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
  198. package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
  199. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  200. package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
  201. package/.next/server/app/api/worktrees/[id]/terminal/route.js +1 -1
  202. package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
  203. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  204. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  205. package/.next/server/app/api/worktrees/[id]/timers/route.js +1 -1
  206. package/.next/server/app/api/worktrees/[id]/timers/route.js.nft.json +1 -1
  207. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  208. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  209. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  210. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  211. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  212. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  213. package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
  214. package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
  215. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
  216. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
  217. package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
  218. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  219. package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
  220. package/.next/server/app/api/worktrees/route.js +1 -1
  221. package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
  222. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  223. package/.next/server/app/chat/page.js +2 -2
  224. package/.next/server/app/chat/page.js.nft.json +1 -1
  225. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  226. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  227. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  228. package/.next/server/app/more/page.js +2 -2
  229. package/.next/server/app/more/page.js.nft.json +1 -1
  230. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  231. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  232. package/.next/server/app/page.js +1 -1
  233. package/.next/server/app/page.js.nft.json +1 -1
  234. package/.next/server/app/page_client-reference-manifest.js +1 -1
  235. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  236. package/.next/server/app/repositories/page.js +2 -2
  237. package/.next/server/app/repositories/page.js.nft.json +1 -1
  238. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  239. package/.next/server/app/review/page.js +1 -1
  240. package/.next/server/app/review/page.js.nft.json +1 -1
  241. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  242. package/.next/server/app/sessions/page.js +1 -1
  243. package/.next/server/app/sessions/page.js.nft.json +1 -1
  244. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  245. package/.next/server/app/skills/[skillId]/page.js +2 -2
  246. package/.next/server/app/skills/[skillId]/page.js.nft.json +1 -1
  247. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  248. package/.next/server/app/skills/installed/page.js +2 -2
  249. package/.next/server/app/skills/installed/page.js.nft.json +1 -1
  250. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
  251. package/.next/server/app/skills/page.js +1 -1
  252. package/.next/server/app/skills/page.js.nft.json +1 -1
  253. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  254. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  255. package/.next/server/app/worktrees/[id]/page.js +11 -11
  256. package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
  257. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  258. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  259. package/.next/server/app-paths-manifest.json +25 -25
  260. package/.next/server/chunks/1058.js +1 -1
  261. package/.next/server/chunks/1068.js +1 -1
  262. package/.next/server/chunks/1262.js +1 -1
  263. package/.next/server/chunks/1886.js +3 -3
  264. package/.next/server/chunks/1990.js +103 -0
  265. package/.next/server/chunks/2119.js +1 -1
  266. package/.next/server/chunks/2328.js +1 -1
  267. package/.next/server/chunks/2404.js +1 -1
  268. package/.next/server/chunks/2445.js +1 -1
  269. package/.next/server/chunks/261.js +1 -1
  270. package/.next/server/chunks/3123.js +1 -1
  271. package/.next/server/chunks/3241.js +1 -1
  272. package/.next/server/chunks/3480.js +5 -4
  273. package/.next/server/chunks/4299.js +1 -1
  274. package/.next/server/chunks/4393.js +1 -1
  275. package/.next/server/chunks/4443.js +1 -5
  276. package/.next/server/chunks/4802.js +1 -0
  277. package/.next/server/chunks/5017.js +1 -1
  278. package/.next/server/chunks/5043.js +1 -1
  279. package/.next/server/chunks/5164.js +1 -1
  280. package/.next/server/chunks/552.js +2 -2
  281. package/.next/server/chunks/6072.js +1 -1
  282. package/.next/server/chunks/6130.js +1 -1
  283. package/.next/server/chunks/663.js +4 -3
  284. package/.next/server/chunks/6894.js +2 -2
  285. package/.next/server/chunks/7187.js +1 -0
  286. package/.next/server/chunks/7472.js +1 -1
  287. package/.next/server/chunks/{880.js → 7859.js} +6 -6
  288. package/.next/server/chunks/7905.js +1 -1
  289. package/.next/server/chunks/8800.js +2 -2
  290. package/.next/server/chunks/8918.js +7 -0
  291. package/.next/server/chunks/9123.js +2 -2
  292. package/.next/server/chunks/9130.js +4 -4
  293. package/.next/server/chunks/9627.js +1 -1
  294. package/.next/server/chunks/9696.js +1 -1
  295. package/.next/server/chunks/9798.js +1 -1
  296. package/.next/server/middleware-manifest.json +5 -5
  297. package/.next/server/pages/500.html +1 -1
  298. package/.next/server/pages-manifest.json +1 -1
  299. package/.next/server/server-reference-manifest.json +1 -1
  300. package/.next/static/chunks/1783-11c9b4d8a52ebd91.js +1 -0
  301. package/.next/static/chunks/4718-46e1d2f07c8423ba.js +1 -0
  302. package/.next/static/chunks/6022-2fa0b5a82d4ce7b6.js +1 -0
  303. package/.next/static/chunks/{5229-6c89475b61bd2c8b.js → 6170-951b9f5fe6b4b3b5.js} +1 -1
  304. package/.next/static/chunks/app/chat/{page-9aa2011410895b0d.js → page-37d7615d17d7e2a0.js} +1 -1
  305. package/.next/static/chunks/app/layout-4c2f21e3f653ee4c.js +1 -0
  306. package/.next/static/chunks/app/more/{page-333bba1c8bbc9c11.js → page-353a3924e6d7968e.js} +1 -1
  307. package/.next/static/chunks/app/{page-214f7ffa13a0cf10.js → page-c2bf871d953a1d6f.js} +1 -1
  308. package/.next/static/chunks/app/repositories/{page-4951cac905e50224.js → page-7d0f26df0537254c.js} +1 -1
  309. package/.next/static/chunks/app/review/{page-a0899b2d285318c3.js → page-e3f141b2829973e9.js} +1 -1
  310. package/.next/static/chunks/app/sessions/{page-fb36145ec732092a.js → page-53f188ed9ca49e5f.js} +1 -1
  311. package/.next/static/chunks/app/skills/[skillId]/{page-9099e26b60442873.js → page-80569b720aea59cc.js} +1 -1
  312. package/.next/static/chunks/app/skills/installed/{page-182e32368696d824.js → page-dbd2690ad72da95b.js} +1 -1
  313. package/.next/static/chunks/app/skills/{page-d3fdc88239ebe0ab.js → page-dacd36f9c11aa7da.js} +1 -1
  314. package/.next/static/chunks/app/worktrees/[id]/page-64d4ec3051971760.js +1 -0
  315. package/.next/static/css/5c13ea243dfdcb66.css +1 -0
  316. package/.next/trace +13 -13
  317. package/README.md +37 -11
  318. package/dist/cli/commands/attach.d.ts +50 -0
  319. package/dist/cli/commands/attach.d.ts.map +1 -0
  320. package/dist/cli/commands/attach.js +204 -0
  321. package/dist/cli/commands/capture.d.ts.map +1 -1
  322. package/dist/cli/commands/capture.js +114 -0
  323. package/dist/cli/commands/instances.d.ts.map +1 -1
  324. package/dist/cli/commands/instances.js +23 -2
  325. package/dist/cli/commands/ls.d.ts.map +1 -1
  326. package/dist/cli/commands/ls.js +41 -1
  327. package/dist/cli/config/cli-dependencies.d.ts.map +1 -1
  328. package/dist/cli/config/cli-dependencies.js +34 -0
  329. package/dist/cli/program.d.ts.map +1 -1
  330. package/dist/cli/program.js +5 -0
  331. package/dist/cli/types/index.d.ts +36 -0
  332. package/dist/cli/types/index.d.ts.map +1 -1
  333. package/dist/config/tmux-pane-config.d.ts +153 -0
  334. package/dist/config/tmux-pane-config.d.ts.map +1 -0
  335. package/dist/config/tmux-pane-config.js +172 -0
  336. package/dist/lib/cli-tools/session-name.d.ts +44 -0
  337. package/dist/lib/cli-tools/session-name.d.ts.map +1 -0
  338. package/dist/lib/cli-tools/session-name.js +57 -0
  339. package/dist/lib/cli-tools/types.d.ts +1 -1
  340. package/dist/lib/cli-tools/types.d.ts.map +1 -1
  341. package/dist/lib/cli-tools/types.js +6 -1
  342. package/dist/lib/cli-tools/validation.d.ts +34 -0
  343. package/dist/lib/cli-tools/validation.d.ts.map +1 -0
  344. package/dist/lib/cli-tools/validation.js +41 -0
  345. package/dist/lib/detection/status-reason.d.ts +18 -0
  346. package/dist/lib/detection/status-reason.d.ts.map +1 -1
  347. package/dist/lib/detection/status-reason.js +18 -0
  348. package/dist/lib/detection/tools/verified-against.d.ts +57 -7
  349. package/dist/lib/detection/tools/verified-against.d.ts.map +1 -1
  350. package/dist/lib/detection/tools/verified-against.js +59 -8
  351. package/dist/lib/detection/version-probes.d.ts +26 -5
  352. package/dist/lib/detection/version-probes.d.ts.map +1 -1
  353. package/dist/lib/detection/version-probes.js +28 -6
  354. package/dist/lib/session/tmux-session-surface.d.ts +369 -0
  355. package/dist/lib/session/tmux-session-surface.d.ts.map +1 -0
  356. package/dist/lib/session/tmux-session-surface.js +525 -0
  357. package/dist/server/src/config/cli-tool-timing-config.js +12 -1
  358. package/dist/server/src/config/detection-evidence-config.js +5 -0
  359. package/dist/server/src/config/schedule-config.js +28 -1
  360. package/dist/server/src/lib/cli-tools/antigravity.js +2 -2
  361. package/dist/server/src/lib/cli-tools/base.js +13 -8
  362. package/dist/server/src/lib/cli-tools/claude.js +20 -0
  363. package/dist/server/src/lib/cli-tools/codex.js +205 -61
  364. package/dist/server/src/lib/cli-tools/command-code.js +349 -0
  365. package/dist/server/src/lib/cli-tools/composer-spec.js +6 -0
  366. package/dist/server/src/lib/cli-tools/copilot.js +2 -2
  367. package/dist/server/src/lib/cli-tools/gemini.js +2 -2
  368. package/dist/server/src/lib/cli-tools/graceful-exit.js +16 -1
  369. package/dist/server/src/lib/cli-tools/index.js +4 -1
  370. package/dist/server/src/lib/cli-tools/install-hints.js +131 -0
  371. package/dist/server/src/lib/cli-tools/liveness-spec.js +18 -0
  372. package/dist/server/src/lib/cli-tools/manager.js +2 -0
  373. package/dist/server/src/lib/cli-tools/opencode.js +2 -2
  374. package/dist/server/src/lib/cli-tools/start-availability.js +18 -11
  375. package/dist/server/src/lib/cli-tools/types.js +6 -1
  376. package/dist/server/src/lib/cli-tools/vibe-local.js +2 -2
  377. package/dist/server/src/lib/cmate-parser.js +6 -0
  378. package/dist/server/src/lib/detection/cli-patterns.js +441 -8
  379. package/dist/server/src/lib/detection/opencode-modal-overlay.js +66 -100
  380. package/dist/server/src/lib/detection/selection-shape.js +341 -0
  381. package/dist/server/src/lib/detection/sgr-background.js +210 -0
  382. package/dist/server/src/lib/detection/status-detector.js +6 -0
  383. package/dist/server/src/lib/detection/status-reason.js +18 -0
  384. package/dist/server/src/lib/detection/tools/antigravity/detect.js +38 -15
  385. package/dist/server/src/lib/detection/tools/codex/cli-patterns.js +392 -0
  386. package/dist/server/src/lib/detection/tools/codex/detect.js +83 -2
  387. package/dist/server/src/lib/detection/tools/command-code/detect.js +159 -0
  388. package/dist/server/src/lib/detection/tools/registry.js +6 -4
  389. package/dist/server/src/lib/detection/tools/verified-against.js +59 -8
  390. package/dist/server/src/lib/detection/version-probes.js +28 -6
  391. package/dist/server/src/lib/hooks/sources/antigravity/history.js +77 -16
  392. package/dist/server/src/lib/hooks/sources/claude/history.js +94 -18
  393. package/dist/server/src/lib/hooks/sources/codex/history.js +84 -15
  394. package/dist/server/src/lib/hooks/sources/codex/hooks-config.js +130 -17
  395. package/dist/server/src/lib/hooks/sources/codex/relay-install.js +145 -0
  396. package/dist/server/src/lib/hooks/sources/command-code/history.js +865 -0
  397. package/dist/server/src/lib/hooks/sources/command-code/hooks-config.js +390 -0
  398. package/dist/server/src/lib/hooks/sources/command-code/source.js +290 -0
  399. package/dist/server/src/lib/hooks/sources/command-code/tool-id.js +18 -0
  400. package/dist/server/src/lib/hooks/sources/command-code/transcript.js +604 -0
  401. package/dist/server/src/lib/hooks/sources/index.js +3 -1
  402. package/dist/server/src/lib/hooks/sources/opencode/history.js +57 -3
  403. package/dist/server/src/lib/hooks/sources/opencode/transcript.js +24 -28
  404. package/dist/server/src/lib/hooks/sources/registry.js +4 -0
  405. package/dist/server/src/lib/hooks/sources/turn-body.js +77 -19
  406. package/dist/server/src/lib/job-executor.js +12 -0
  407. package/dist/server/src/lib/polling/auto-yes-dialog-gate.js +6 -0
  408. package/dist/server/src/lib/polling/response-checker.js +112 -7
  409. package/dist/server/src/lib/polling/structured-history-gate.js +15 -8
  410. package/dist/server/src/lib/realtime/types.js +15 -5
  411. package/dist/server/src/lib/response-cleaner.js +24 -1
  412. package/dist/server/src/lib/response-extractor.js +11 -0
  413. package/dist/server/src/lib/session/claude-executor.js +223 -4
  414. package/dist/server/src/lib/session/cli-session.js +52 -0
  415. package/dist/server/src/lib/session/tmux-session-surface.js +525 -0
  416. package/dist/server/src/lib/skills/compatibility-matrix.js +117 -1
  417. package/dist/server/src/lib/tmux/geometry-delegation.js +143 -0
  418. package/dist/server/src/lib/tmux/read-mode-pager.js +76 -10
  419. package/dist/server/src/lib/tmux/read-mode.js +44 -2
  420. package/dist/server/src/lib/tmux/session-hook-scripts.js +249 -0
  421. package/dist/server/src/lib/tmux/session-hooks.js +122 -0
  422. package/dist/server/src/lib/tmux/session-status-options.js +213 -0
  423. package/dist/server/src/lib/tmux/tmux.js +79 -2
  424. package/dist/server/src/lib/version-checker.js +110 -0
  425. package/dist/server/src/lib/ws-server.js +16 -10
  426. package/dist/server/src/types/agent-transcript.js +73 -1
  427. package/dist/server/src/types/terminal-keys.js +131 -3
  428. package/dist/types/terminal-keys.d.ts +100 -3
  429. package/dist/types/terminal-keys.d.ts.map +1 -1
  430. package/dist/types/terminal-keys.js +131 -3
  431. package/package.json +1 -1
  432. package/.next/server/chunks/3099.js +0 -5
  433. package/.next/server/chunks/7824.js +0 -1
  434. package/.next/server/chunks/848.js +0 -1
  435. package/.next/static/chunks/3916-0e929d089282dc5d.js +0 -1
  436. package/.next/static/chunks/6022-7a7d1760fc9814c7.js +0 -1
  437. package/.next/static/chunks/6381-147dde2a967e9458.js +0 -1
  438. package/.next/static/chunks/app/layout-6a26ea22d5cf03dc.js +0 -1
  439. package/.next/static/chunks/app/worktrees/[id]/page-2f73d69187936627.js +0 -1
  440. package/.next/static/css/23f9c40ecc458c77.css +0 -1
  441. /package/.next/static/{QXxQbXWoo7ldUyOcv7PCZ → 60mm4_QBuFtFTfo5UMyKU}/_buildManifest.js +0 -0
  442. /package/.next/static/{QXxQbXWoo7ldUyOcv7PCZ → 60mm4_QBuFtFTfo5UMyKU}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=880,exports.ids=[880],exports.modules={1102:(a,b,c)=>{c.d(b,{m_:()=>i});var d=c(21124),e=c(38301),f=c(23312);function g(a,b,c){return Math.min(Math.max(a,4),Math.max(4,c-b-4))}let h={top:-9999,left:-9999};function i({content:a,placement:b="right",delay:c=100,children:i}){let[j,k]=(0,e.useState)(!1),[l,m]=(0,e.useState)(null),n=(0,e.useRef)(null),o=(0,e.useRef)(null),p=(0,e.useRef)(null),q=(0,e.useCallback)(()=>{null!==p.current&&(clearTimeout(p.current),p.current=null)},[]),r=(0,e.useCallback)(()=>{q(),p.current=setTimeout(()=>{k(!0),p.current=null},c)},[c,q]),s=(0,e.useCallback)(()=>{q(),k(!1),m(null)},[q]);return(0,e.useCallback)(()=>{let a=n.current,c=o.current;if(!a||!c)return;let d=a.getBoundingClientRect(),e=c.getBoundingClientRect();m(function(a,b,c,d){let e,f,h=b.left+b.width/2-c.width/2,i=b.top+b.height/2-c.height/2;switch(a){case"top":e=b.top-c.height-8,f=h;break;case"bottom":e=b.top+b.height+8,f=h;break;case"left":e=i,f=b.left-c.width-8;break;default:e=i,f=b.left+b.width+8}return{top:g(e,c.height,d.height),left:g(f,c.width,d.width)}}(b,{top:d.top,left:d.left,width:d.width,height:d.height},{width:e.width,height:e.height},{width:window.innerWidth,height:window.innerHeight}))},[b]),(0,d.jsxs)("span",{ref:n,"data-testid":"tooltip-wrapper",className:"relative inline-flex",tabIndex:-1,onMouseEnter:r,onMouseLeave:s,children:[i,j&&"undefined"!=typeof document&&(0,f.createPortal)((0,d.jsx)("span",{ref:o,role:"tooltip","aria-hidden":"true","data-placement":b,className:"fixed z-40 whitespace-nowrap px-2 py-1 text-xs font-medium rounded bg-foreground text-background shadow-lg pointer-events-none",style:l??h,children:a}),document.body)]})}},8509:(a,b,c)=>{c.d(b,{g:()=>h});var d=c(21124);c(38301);var e=c(20481),f=c(5772),g=c(12480);function h(){let{size:a,setSize:b,isMobile:c}=(0,f.Ps)(),h=(0,e.c)("common");if(c)return null;let i=h("displaySize.ariaLabel");return(0,d.jsxs)("div",{className:"flex items-center",children:[(0,d.jsx)("label",{htmlFor:"pc-display-size",className:"sr-only",children:i}),(0,d.jsx)("select",{id:"pc-display-size","data-testid":"pc-display-size-select","aria-label":i,value:a,onChange:a=>{let c=a.target.value;(0,g.fM)(c)&&b(c)},className:"text-sm bg-transparent text-foreground border border-input rounded-md px-2 py-1 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:g.Uf.map(a=>(0,d.jsx)("option",{value:a,children:h(`displaySize.${a}`)},a))})]})}},77560:(a,b,c)=>{c.d(b,{$h:()=>l,DR:()=>e,IH:()=>j,Iu:()=>d,Nb:()=>m,SD:()=>f,_d:()=>i,bm:()=>n,ks:()=>h,t7:()=>k,z7:()=>g});let d=7e3,e=["in_review","approval","stalled"],f="in_review",g="filter",h=`/review?${g}=approval`;function i(a){return a&&e.includes(a)?a:null}let j=["claude","codex","copilot","antigravity","opencode"],k=1e3,l=5,m=100,n=1e3},80880:(a,b,c)=>{c.d(b,{GV:()=>bb});var d=c(21124),e=c(38301),f=c.n(e),g=c(42378),h=c(3991),i=c.n(h),j=c(52761);let k=(0,e.forwardRef)(function({href:a,onClick:b,target:c,...e},f){let h=(0,g.usePathname)(),k=(0,j.Hq)();return(0,d.jsx)(i(),{ref:f,href:a,target:c,onClick:d=>{var e;b?.(d),d.defaultPrevented||0!==(e=d).button||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||void 0!==c&&"_self"!==c||/^([a-z][a-z0-9+.-]*:)?\/\//i.test(a)||/^(mailto:|tel:)/i.test(a)||(d.preventDefault(),a!==h&&k.push(a))},...e})});var l=c(20481),m=c(15917),n=c(88285),o=c(97950),p=c(8509),q=c(45523),r=c(70175),s=c(60988);function t(){let{theme:a,setTheme:b}=(0,q.D)(),[c,f]=(0,e.useState)(!1);if(!c)return(0,d.jsx)("div",{"data-testid":"theme-toggle-placeholder",className:"w-8 h-8","aria-hidden":"true"});let g="dark"===a;return(0,d.jsx)("button",{"data-testid":"theme-toggle",onClick:()=>b(g?"light":"dark"),className:"p-1.5 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors focus:outline-none focus:ring-2 focus:ring-ring","aria-label":g?"Switch to light mode":"Switch to dark mode",title:g?"Switch to light mode":"Switch to dark mode",children:g?(0,d.jsx)(r.A,{className:"w-5 h-5","data-testid":"theme-icon-sun"}):(0,d.jsx)(s.A,{className:"w-5 h-5","data-testid":"theme-icon-moon"})})}var u=c(67619);function v(){let{status:a}=(0,u.xM)(),b=(0,l.c)("common");if("connected"===a)return null;let c="connecting"===a,e=b(c?"connection.reconnecting":"connection.offline");return(0,d.jsxs)("span",{"data-testid":"connection-status-indicator",role:"status","aria-live":"polite",title:b(c?"connection.reconnectingTooltip":"connection.offlineTooltip"),className:"hidden sm:inline-flex items-center gap-1.5 rounded-full border border-border bg-surface px-2 py-0.5 text-xs text-muted-foreground",children:[(0,d.jsx)("span",{"aria-hidden":"true",className:["w-1.5 h-1.5 rounded-full",c?"bg-warning motion-safe:animate-pulse":"bg-muted-foreground"].join(" ")}),e]})}var w=c(85647),x=c(64632);let y=[{labelKey:"nav.home",href:"/",isActive:a=>"/"===a},{labelKey:"nav.chat",href:"/chat",isActive:a=>a.startsWith("/chat")},{labelKey:"nav.sessions",href:"/sessions",isActive:a=>a.startsWith("/sessions")},{labelKey:"nav.repositoriesShort",href:"/repositories",isActive:a=>a.startsWith("/repositories")},{labelKey:"nav.reviewReport",href:"/review",isActive:a=>a.startsWith("/review")},{labelKey:"nav.more",href:"/more",isActive:a=>a.startsWith("/more")}];function z({title:a="CommandMate"}){let b=(0,g.usePathname)(),c=(0,l.c)("commandPalette"),e=(0,l.c)("common"),{setOpen:h}=(0,x.C)(),[i,j]=f().useState(null);return(0,d.jsx)("header",{className:"sticky top-0 z-50 border-b border-border bg-background supports-[backdrop-filter]:bg-background/80 backdrop-blur-md",children:(0,d.jsx)("div",{className:"container-custom",children:(0,d.jsxs)("div",{className:"flex items-center justify-between h-16",children:[(0,d.jsx)("div",{className:"flex items-center space-x-4",children:(0,d.jsxs)(k,{href:"/",className:"flex items-center space-x-2 hover:opacity-80 transition-opacity",children:[(0,d.jsx)("div",{className:"w-8 h-8 bg-accent-600 rounded-lg flex items-center justify-center",children:(0,d.jsx)(m.A,{size:20,strokeWidth:2,className:"text-white","aria-hidden":"true"})}),(0,d.jsx)("h1",{className:"text-xl font-bold text-foreground",children:a})]})}),(0,d.jsxs)("nav",{className:"flex items-center space-x-6",role:"navigation",children:[y.map(a=>{let c=a.isActive(b);return(0,d.jsx)(k,{href:a.href,"aria-current":c?"page":void 0,className:`relative py-1 text-sm font-medium transition-colors after:absolute after:inset-x-0 after:bottom-0 after:h-0.5 after:rounded-full after:bg-accent-600 dark:after:bg-accent-400 after:origin-center motion-safe:after:transition-transform after:duration-200 after:ease-[var(--motion-ease-out)] ${c?"text-accent-600 dark:text-accent-400 after:scale-x-100":"text-muted-foreground hover:text-foreground after:scale-x-0"}`,children:e(a.labelKey)},a.href)}),(0,d.jsxs)("button",{type:"button","data-testid":"header-command-palette-trigger",onClick:()=>h(!0),"aria-label":c("mobileTrigger"),className:"hidden md:inline-flex items-center gap-2 rounded-md border border-border bg-surface px-2.5 py-1.5 text-sm text-muted-foreground hover:bg-surface-2 transition-colors",children:[(0,d.jsx)(n.A,{size:16,strokeWidth:2,"aria-hidden":"true",className:"shrink-0"}),(0,d.jsx)("span",{children:c("searchAction")}),i&&(0,d.jsxs)("span",{className:"flex items-center gap-0.5",children:[(0,d.jsx)(w.u,{children:i}),(0,d.jsx)(w.u,{children:"K"})]})]}),(0,d.jsx)(v,{}),(0,d.jsx)(p.g,{}),(0,d.jsx)(t,{}),(0,d.jsxs)("a",{href:"https://github.com/kewton/MyCodeBranchDesk",target:"_blank",rel:"noopener noreferrer",className:"text-sm font-medium text-muted-foreground hover:text-foreground transition-colors flex items-center space-x-1",children:[(0,d.jsx)(o.A,{size:20,strokeWidth:2,"aria-hidden":"true"}),(0,d.jsx)("span",{children:"GitHub"})]})]})]})})})}var A=c(81092),B=c(90076);let C={showSidebar:!0,showGlobalNav:!0,showLocalNav:!1,autoCollapseSidebar:!1},D=[{prefix:"/worktrees/",config:{showGlobalNav:!1,showLocalNav:!0}},{prefix:"/sessions",config:{autoCollapseSidebar:!0}}];var E=c(5772),F=c(65828),G=c(10366),H=c(99615),I=c(22023),J=c(47817),K=c(23312),L=c.n(K),M=c(89877),N=c(22317);let O=(0,e.memo)(function({status:a,label:b,waitingKind:c}){return(0,d.jsx)(N.m,{"data-testid":"status-indicator",status:a,label:b,waitingKind:c,size:"lg"})});function P({id:a,branch:b,isVisible:c,anchorRef:f,nextActionLabel:g}){let[h,i]=(0,e.useState)({top:-9999,left:-9999}),j=(0,e.useRef)(null);if("undefined"==typeof document||!c)return null;let k=Math.min(384,Math.max(0,window.innerWidth-16));return L().createPortal((0,d.jsxs)("div",{ref:j,id:a,role:"tooltip",className:" fixed z-[9999] px-3 py-2 rounded-md shadow-lg bg-sidebar text-xs text-sidebar-foreground border border-sidebar-border pointer-events-none max-w-sm transition-opacity duration-150 ",style:{top:h.top,left:h.left,maxWidth:k},children:[(0,d.jsx)("p",{className:"font-medium text-sidebar-foreground whitespace-nowrap",children:b.name}),(0,d.jsx)("p",{className:"text-sidebar-muted whitespace-nowrap",children:b.repositoryName}),(0,d.jsxs)("p",{className:"text-sidebar-muted whitespace-nowrap",children:["Status: ",b.status]}),b.worktreePath&&(0,d.jsx)("p",{className:"text-sidebar-muted truncate",children:b.worktreePath}),g&&(0,d.jsxs)("p",{className:"text-sidebar-muted whitespace-nowrap",children:["Next: ",g]}),b.description&&(0,d.jsx)("p",{className:"text-sidebar-muted mt-1 border-t border-sidebar-border pt-1 whitespace-pre-wrap break-words",children:b.description})]}),document.body)}let Q=0,R=(0,e.memo)(function({branch:a,isSelected:b,onClick:c,showRepositoryName:f=!0}){let g=(0,l.c)("common"),h=(0,l.c)("worktree"),i=`tooltip-${a.id}`,j=(0,e.useRef)(null),[k,m]=(0,e.useState)(!1),n=(0,e.useRef)(null),o=(0,e.useCallback)(()=>{null!==n.current&&(clearTimeout(n.current),n.current=null)},[]);(0,e.useEffect)(()=>()=>o(),[o]);let p=(0,M.A7)(a.cliStatus),q="waiting"===p,r=!0===a.awaitingInstruction,s=a.nextActionKey?h(a.nextActionKey):null,t=(0,e.useMemo)(()=>new Set(a.exitedInstanceIds??[]),[a.exitedInstanceIds]),u=(q||r)&&null!==s,v=k&&!b;return(0,e.useEffect)(()=>{b&&m(!1)},[b]),(0,e.useEffect)(()=>{if(!k)return;let a=()=>m(!1);return document.addEventListener("click",a),()=>document.removeEventListener("click",a)},[k]),(0,d.jsxs)("button",{ref:j,"data-testid":"branch-list-item",onClick:()=>{o(),Q=Date.now()+400,m(!1),c()},onMouseEnter:()=>{o(),Date.now()>=Q&&(n.current=setTimeout(()=>{m(!0)},150))},onMouseLeave:()=>{o(),m(!1)},onFocus:a=>{o(),a.target.matches(":focus-visible")&&(n.current=setTimeout(()=>{m(!0)},150))},onBlur:()=>{o(),m(!1)},"aria-current":b?"true":void 0,"aria-describedby":v?i:void 0,"aria-label":f?void 0:`${a.name} - ${a.repositoryName}`,className:`
1
+ "use strict";exports.id=7859,exports.ids=[7859],exports.modules={1102:(a,b,c)=>{c.d(b,{m_:()=>i});var d=c(21124),e=c(38301),f=c(23312);function g(a,b,c){return Math.min(Math.max(a,4),Math.max(4,c-b-4))}let h={top:-9999,left:-9999};function i({content:a,placement:b="right",delay:c=100,children:i,className:j}){let[k,l]=(0,e.useState)(!1),[m,n]=(0,e.useState)(!1),[o,p]=(0,e.useState)(null),q=(0,e.useRef)(null),r=(0,e.useRef)(null),s=(0,e.useRef)(null),t=(0,e.useCallback)(()=>{null!==s.current&&(clearTimeout(s.current),s.current=null)},[]),u=(0,e.useCallback)(()=>{t(),s.current=setTimeout(()=>{l(!0),s.current=null},c)},[c,t]),v=(0,e.useCallback)(()=>{t(),l(!1)},[t]),w=(0,e.useCallback)(()=>{n(!0)},[]),x=(0,e.useCallback)(()=>{n(!1)},[]);return(0,e.useCallback)(()=>{t(),l(!1),n(!1)},[t]),(0,e.useCallback)(()=>{let a=q.current,c=r.current;if(!a||!c)return;let d=a.getBoundingClientRect(),e=c.getBoundingClientRect();p(function(a,b,c,d){let e,f,h=b.left+b.width/2-c.width/2,i=b.top+b.height/2-c.height/2;switch(a){case"top":e=b.top-c.height-8,f=h;break;case"bottom":e=b.top+b.height+8,f=h;break;case"left":e=i,f=b.left-c.width-8;break;default:e=i,f=b.left+b.width+8}return{top:g(e,c.height,d.height),left:g(f,c.width,d.width)}}(b,{top:d.top,left:d.left,width:d.width,height:d.height},{width:e.width,height:e.height},{width:window.innerWidth,height:window.innerHeight}))},[b]),(0,d.jsxs)("span",{ref:q,"data-testid":"tooltip-wrapper",className:j?`relative inline-flex ${j}`:"relative inline-flex",tabIndex:-1,onMouseEnter:u,onMouseLeave:v,onFocus:w,onBlur:x,children:[i,(k||m)&&"undefined"!=typeof document&&(0,f.createPortal)((0,d.jsx)("span",{ref:r,role:"tooltip","aria-hidden":"true","data-placement":b,className:"fixed z-40 whitespace-nowrap px-2 py-1 text-xs font-medium rounded bg-foreground text-background shadow-lg pointer-events-none",style:o??h,children:a}),document.body)]})}},8509:(a,b,c)=>{c.d(b,{g:()=>h});var d=c(21124);c(38301);var e=c(20481),f=c(5772),g=c(12480);function h(){let{size:a,setSize:b,isMobile:c}=(0,f.Ps)(),h=(0,e.c)("common");if(c)return null;let i=h("displaySize.ariaLabel");return(0,d.jsxs)("div",{className:"flex items-center",children:[(0,d.jsx)("label",{htmlFor:"pc-display-size",className:"sr-only",children:i}),(0,d.jsx)("select",{id:"pc-display-size","data-testid":"pc-display-size-select","aria-label":i,value:a,onChange:a=>{let c=a.target.value;(0,g.fM)(c)&&b(c)},className:"text-sm bg-transparent text-foreground border border-input rounded-md px-2 py-1 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:g.Uf.map(a=>(0,d.jsx)("option",{value:a,children:h(`displaySize.${a}`)},a))})]})}},37859:(a,b,c)=>{c.d(b,{GV:()=>a8});var d=c(21124),e=c(38301),f=c.n(e),g=c(42378),h=c(3991),i=c.n(h),j=c(52761);let k=(0,e.forwardRef)(function({href:a,onClick:b,target:c,...e},f){let h=(0,g.usePathname)(),k=(0,j.Hq)();return(0,d.jsx)(i(),{ref:f,href:a,target:c,onClick:d=>{var e;b?.(d),d.defaultPrevented||0!==(e=d).button||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||void 0!==c&&"_self"!==c||/^([a-z][a-z0-9+.-]*:)?\/\//i.test(a)||/^(mailto:|tel:)/i.test(a)||(d.preventDefault(),a!==h&&k.push(a))},...e})});var l=c(20481),m=c(15917),n=c(88285),o=c(97950),p=c(8509),q=c(45523),r=c(70175),s=c(60988);function t(){let{theme:a,setTheme:b}=(0,q.D)(),[c,f]=(0,e.useState)(!1);if(!c)return(0,d.jsx)("div",{"data-testid":"theme-toggle-placeholder",className:"w-8 h-8","aria-hidden":"true"});let g="dark"===a;return(0,d.jsx)("button",{"data-testid":"theme-toggle",onClick:()=>b(g?"light":"dark"),className:"p-1.5 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors focus:outline-none focus:ring-2 focus:ring-ring","aria-label":g?"Switch to light mode":"Switch to dark mode",title:g?"Switch to light mode":"Switch to dark mode",children:g?(0,d.jsx)(r.A,{className:"w-5 h-5","data-testid":"theme-icon-sun"}):(0,d.jsx)(s.A,{className:"w-5 h-5","data-testid":"theme-icon-moon"})})}var u=c(67619);function v(){let{status:a}=(0,u.xM)(),b=(0,l.c)("common");if("connected"===a)return null;let c="connecting"===a,e=b(c?"connection.reconnecting":"connection.offline");return(0,d.jsxs)("span",{"data-testid":"connection-status-indicator",role:"status","aria-live":"polite",title:b(c?"connection.reconnectingTooltip":"connection.offlineTooltip"),className:"hidden sm:inline-flex items-center gap-1.5 rounded-full border border-border bg-surface px-2 py-0.5 text-xs text-muted-foreground",children:[(0,d.jsx)("span",{"aria-hidden":"true",className:["w-1.5 h-1.5 rounded-full",c?"bg-warning motion-safe:animate-pulse":"bg-muted-foreground"].join(" ")}),e]})}var w=c(85647),x=c(64632);let y=[{labelKey:"nav.home",href:"/",isActive:a=>"/"===a},{labelKey:"nav.chat",href:"/chat",isActive:a=>a.startsWith("/chat")},{labelKey:"nav.sessions",href:"/sessions",isActive:a=>a.startsWith("/sessions")},{labelKey:"nav.repositoriesShort",href:"/repositories",isActive:a=>a.startsWith("/repositories")},{labelKey:"nav.reviewReport",href:"/review",isActive:a=>a.startsWith("/review")},{labelKey:"nav.more",href:"/more",isActive:a=>a.startsWith("/more")}];function z({title:a="CommandMate"}){let b=(0,g.usePathname)(),c=(0,l.c)("commandPalette"),e=(0,l.c)("common"),{setOpen:h}=(0,x.C)(),[i,j]=f().useState(null);return(0,d.jsx)("header",{className:"sticky top-0 z-50 border-b border-border bg-background supports-[backdrop-filter]:bg-background/80 backdrop-blur-md",children:(0,d.jsx)("div",{className:"container-custom",children:(0,d.jsxs)("div",{className:"flex items-center justify-between h-16",children:[(0,d.jsx)("div",{className:"flex items-center space-x-4",children:(0,d.jsxs)(k,{href:"/",className:"flex items-center space-x-2 hover:opacity-80 transition-opacity",children:[(0,d.jsx)("div",{className:"w-8 h-8 bg-accent-600 rounded-lg flex items-center justify-center",children:(0,d.jsx)(m.A,{size:20,strokeWidth:2,className:"text-white","aria-hidden":"true"})}),(0,d.jsx)("h1",{className:"text-xl font-bold text-foreground",children:a})]})}),(0,d.jsxs)("nav",{className:"flex items-center space-x-6",role:"navigation",children:[y.map(a=>{let c=a.isActive(b);return(0,d.jsx)(k,{href:a.href,"aria-current":c?"page":void 0,className:`relative py-1 text-sm font-medium transition-colors after:absolute after:inset-x-0 after:bottom-0 after:h-0.5 after:rounded-full after:bg-accent-600 dark:after:bg-accent-400 after:origin-center motion-safe:after:transition-transform after:duration-200 after:ease-[var(--motion-ease-out)] ${c?"text-accent-600 dark:text-accent-400 after:scale-x-100":"text-muted-foreground hover:text-foreground after:scale-x-0"}`,children:e(a.labelKey)},a.href)}),(0,d.jsxs)("button",{type:"button","data-testid":"header-command-palette-trigger",onClick:()=>h(!0),"aria-label":c("mobileTrigger"),className:"hidden md:inline-flex items-center gap-2 rounded-md border border-border bg-surface px-2.5 py-1.5 text-sm text-muted-foreground hover:bg-surface-2 transition-colors",children:[(0,d.jsx)(n.A,{size:16,strokeWidth:2,"aria-hidden":"true",className:"shrink-0"}),(0,d.jsx)("span",{children:c("searchAction")}),i&&(0,d.jsxs)("span",{className:"flex items-center gap-0.5",children:[(0,d.jsx)(w.u,{children:i}),(0,d.jsx)(w.u,{children:"K"})]})]}),(0,d.jsx)(v,{}),(0,d.jsx)(p.g,{}),(0,d.jsx)(t,{}),(0,d.jsxs)("a",{href:"https://github.com/kewton/MyCodeBranchDesk",target:"_blank",rel:"noopener noreferrer",className:"text-sm font-medium text-muted-foreground hover:text-foreground transition-colors flex items-center space-x-1",children:[(0,d.jsx)(o.A,{size:20,strokeWidth:2,"aria-hidden":"true"}),(0,d.jsx)("span",{children:"GitHub"})]})]})]})})})}var A=c(81092),B=c(90076);let C={showSidebar:!0,showGlobalNav:!0,showLocalNav:!1,autoCollapseSidebar:!1},D=[{prefix:"/worktrees/",config:{showGlobalNav:!1,showLocalNav:!0}},{prefix:"/sessions",config:{autoCollapseSidebar:!0}}];var E=c(5772),F=c(65828),G=c(10366),H=c(99615),I=c(22023),J=c(47817),K=c(23312),L=c.n(K),M=c(89877),N=c(22317);let O=(0,e.memo)(function({status:a,label:b,waitingKind:c}){return(0,d.jsx)(N.m,{"data-testid":"status-indicator",status:a,label:b,waitingKind:c,size:"lg"})});function P({id:a,branch:b,isVisible:c,anchorRef:f,nextActionLabel:g}){let[h,i]=(0,e.useState)({top:-9999,left:-9999}),j=(0,e.useRef)(null);if("undefined"==typeof document||!c)return null;let k=Math.min(384,Math.max(0,window.innerWidth-16));return L().createPortal((0,d.jsxs)("div",{ref:j,id:a,role:"tooltip",className:" fixed z-[9999] px-3 py-2 rounded-md shadow-lg bg-sidebar text-xs text-sidebar-foreground border border-sidebar-border pointer-events-none max-w-sm transition-opacity duration-150 ",style:{top:h.top,left:h.left,maxWidth:k},children:[(0,d.jsx)("p",{className:"font-medium text-sidebar-foreground whitespace-nowrap",children:b.name}),(0,d.jsx)("p",{className:"text-sidebar-muted whitespace-nowrap",children:b.repositoryName}),(0,d.jsxs)("p",{className:"text-sidebar-muted whitespace-nowrap",children:["Status: ",b.status]}),b.worktreePath&&(0,d.jsx)("p",{className:"text-sidebar-muted truncate",children:b.worktreePath}),g&&(0,d.jsxs)("p",{className:"text-sidebar-muted whitespace-nowrap",children:["Next: ",g]}),b.description&&(0,d.jsx)("p",{className:"text-sidebar-muted mt-1 border-t border-sidebar-border pt-1 whitespace-pre-wrap break-words",children:b.description})]}),document.body)}let Q=0,R=(0,e.memo)(function({branch:a,isSelected:b,onClick:c,showRepositoryName:f=!0}){let g=(0,l.c)("common"),h=(0,l.c)("worktree"),i=`tooltip-${a.id}`,j=(0,e.useRef)(null),[k,m]=(0,e.useState)(!1),n=(0,e.useRef)(null),o=(0,e.useCallback)(()=>{null!==n.current&&(clearTimeout(n.current),n.current=null)},[]);(0,e.useEffect)(()=>()=>o(),[o]);let p=(0,M.A7)(a.cliStatus),q="waiting"===p,r=!0===a.awaitingInstruction,s=a.nextActionKey?h(a.nextActionKey):null,t=(0,e.useMemo)(()=>new Set(a.exitedInstanceIds??[]),[a.exitedInstanceIds]),u=(q||r)&&null!==s,v=k&&!b;return(0,e.useEffect)(()=>{b&&m(!1)},[b]),(0,e.useEffect)(()=>{if(!k)return;let a=()=>m(!1);return document.addEventListener("click",a),()=>document.removeEventListener("click",a)},[k]),(0,d.jsxs)("button",{ref:j,"data-testid":"branch-list-item",onClick:()=>{o(),Q=Date.now()+400,m(!1),c()},onMouseEnter:()=>{o(),Date.now()>=Q&&(n.current=setTimeout(()=>{m(!0)},150))},onMouseLeave:()=>{o(),m(!1)},onFocus:a=>{o(),a.target.matches(":focus-visible")&&(n.current=setTimeout(()=>{m(!0)},150))},onBlur:()=>{o(),m(!1)},"aria-current":b?"true":void 0,"aria-describedby":v?i:void 0,"aria-label":f?void 0:`${a.name} - ${a.repositoryName}`,className:`
2
2
  group relative w-full px-4 py-3 flex flex-col gap-1
3
3
  hover:bg-sidebar-hover transition-colors
4
4
  focus:outline-none focus:ring-2 focus:ring-inset focus:ring-ring
@@ -8,14 +8,14 @@
8
8
  flex items-center justify-between
9
9
  hover:bg-sidebar-hover transition-colors
10
10
  ${a===c.key?"text-accent-700 dark:text-accent-400":"text-sidebar-muted"}
11
- `,children:[(0,d.jsx)("span",{children:c.label}),a===c.key&&(0,d.jsx)("span",{className:"text-xs",children:"asc"===b?"ASC":"DESC"})]},c.key))})]})});function V({className:a}){return(0,d.jsx)("svg",{className:a,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 4h13M3 8h9m-9 4h6m4 0l4-4m0 0l4 4m-4-4v12"})})}function W({className:a}){return(0,d.jsx)("svg",{className:a,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 15l7-7 7 7"})})}function X({className:a}){return(0,d.jsx)("svg",{className:a,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"})})}let Y=[{key:"updatedAt",labelKey:"sort.updatedAt"},{key:"repositoryName",labelKey:"sort.repositoryName"},{key:"branchName",labelKey:"sort.branchName"},{key:"status",labelKey:"sort.status"}],Z={updatedAt:"desc"},$=(0,e.memo)(function(){let{sortKey:a,sortDirection:b,setSortKey:c,setSortDirection:f}=(0,A.VF)(),g=(0,l.c)("common"),h=(0,e.useMemo)(()=>Y.map(({key:a,labelKey:b})=>({key:a,label:g(b)})),[g]);return(0,d.jsx)(U,{sortKey:a,sortDirection:b,onSortKeyChange:c,onSortDirectionChange:f,options:h,defaultDirections:Z,compact:!0,tooltip:g("tooltips.sort"),iconClassName:"w-4 h-4"})});var _=c(15737),aa=c(81497),ab=c(55992);let ac=["en","ja"],ad={en:"English",ja:"日本語"};function ae(){return{currentLocale:(0,ab.Ym)(),switchLocale:a=>{if(ac.includes(a)){let b="https:"===window.location.protocol;document.cookie=`locale=${a};path=/;max-age=31536000;SameSite=Lax${b?";Secure":""}`,localStorage.setItem("locale",a),window.location.reload()}}}}function af(){let{currentLocale:a,switchLocale:b}=ae(),c=(0,l.c)("common");return(0,d.jsx)("select",{value:a,onChange:a=>b(a.target.value),"data-testid":"locale-switcher","aria-label":c("language"),className:" w-full px-3 py-2 rounded-md bg-sidebar text-sidebar-foreground border border-sidebar-border focus:outline-none focus:ring-2 focus:ring-ring focus:border-transparent text-sm ",children:ac.map(a=>(0,d.jsx)("option",{value:a,children:ad[a]},a))})}var ag=c(84342);function ah(){let a=(0,l.c)("auth"),b=(0,ag.H)(),[c,f]=(0,e.useState)(!1);if(!b)return null;async function g(){f(!0);try{await fetch("/api/auth/logout",{method:"POST"}),window.location.href="/login"}catch{window.location.href="/login"}}return(0,d.jsx)("button",{type:"button",onClick:g,disabled:c,"data-testid":"logout-button",className:" w-full px-3 py-2 text-sm text-left rounded-md text-muted-foreground hover:text-foreground hover:bg-muted focus:outline-none focus:ring-2 focus:ring-ring disabled:opacity-50 transition-colors ",children:c?"...":a("logout.button")})}var ai=c(63474),aj=c(77560),ak=c(19463);function al(){let a=(0,l.c)("common"),{count:b}=(0,ak.Lv)();return 0===b?null:(0,d.jsxs)(i(),{href:aj.ks,"data-testid":"attention-badge","aria-label":a("attention.badgeLabel",{count:b}),className:"mt-2 inline-flex w-full items-center justify-between gap-2 rounded-md border border-warning-border bg-warning-subtle px-2 py-1 text-xs font-medium text-warning-foreground transition-colors hover:brightness-105 focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[(0,d.jsx)("span",{className:"min-w-0 truncate",children:a("attention.label")}),(0,d.jsx)("span",{"data-testid":"attention-badge-count",className:"tabular-nums font-semibold",children:b})]})}function am({count:a}){let b=(0,l.c)("common");return 0===a?null:(0,d.jsx)("span",{"data-testid":"attention-badge-bubble",role:"status","aria-label":b("attention.badgeLabel",{count:a}),className:"absolute -top-1.5 -right-2.5 min-w-[1.05rem] rounded-full bg-warning-foreground px-1 text-[0.625rem] font-bold leading-[1.05rem] text-warning-subtle tabular-nums text-center",children:a>99?"99+":a})}var an=c(78352),ao=c(32482);let ap="w-4 h-4",aq=0,ar=null;function as(){return ar??[]}let at=(0,e.memo)(function(){let a=(0,j.Hq)(),{worktrees:b,repositories:c,selectedWorktreeId:f,selectWorktree:g,refreshWorktrees:h,isLoading:k,error:m}=(0,J.$f)(),{closeMobileDrawer:n,sortKey:o,sortDirection:p,viewMode:q,setViewMode:r}=(0,A.VF)(),s=(0,l.c)("common"),[u,v]=(0,e.useState)(""),w=(0,e.useRef)(null),[x,y]=(0,e.useState)(()=>({})),[z,B]=(0,e.useState)(as),C=(0,e.useRef)(!1);(0,e.useEffect)(()=>{C.current||(C.current=!0,fetch("/api/sidebar/group-order").then(a=>a.json()).then(a=>{a.success&&Array.isArray(a.order)&&(B(a.order),ar=a.order)}).catch(()=>{}))},[]);let D=(0,e.useMemo)(()=>(0,ao.UZ)(c),[c]),E=(0,e.useMemo)(()=>(0,ao.s6)(b,D),[b,D]),I=(0,e.useMemo)(()=>E.map(M.XK),[E]),K=(0,e.useDeferredValue)(I),L=(0,e.useRef)(null),N=(0,e.useRef)(null),[O,P]=(0,e.useState)(0);(0,e.useEffect)(()=>()=>{null!==N.current&&clearTimeout(N.current)},[]);let Q=(0,e.useCallback)(()=>{null!==N.current&&(clearTimeout(N.current),N.current=null),L.current=null},[]),T=(0,e.useMemo)(()=>{let a=L.current;return!a||0===a.items.length||Date.now()>=a.expiresAt?K:a.items},[K,O]),U=(0,e.useRef)(T);(0,e.useLayoutEffect)(()=>{U.current=T;let a=L.current;a&&0===a.items.length&&K.length>0&&Q()});let V=(0,e.useCallback)(()=>{if(0===U.current.length)return;null!==N.current&&(clearTimeout(N.current),N.current=null);let a=L.current;if(a&&Date.now()<a.expiresAt){L.current={...a,expiresAt:1/0};return}L.current={items:U.current,expiresAt:1/0}},[]),W=(0,e.useCallback)(()=>{L.current&&(L.current={...L.current,expiresAt:Date.now()+1e3},null!==N.current&&clearTimeout(N.current),N.current=setTimeout(()=>{Q(),P(a=>a+1)},1e3))},[Q]),{sortedItems:X,groupedItems:Y}=function(a){let{items:b,sortKey:c,sortDirection:d,viewMode:f,filterText:g}=a,h=(0,e.useMemo)(()=>{if(!g)return b;let a=g.toLowerCase();return b.filter(b=>b.name.toLowerCase().includes(a)||b.repositoryName.toLowerCase().includes(a))},[b,g]);return{sortedItems:(0,e.useMemo)(()=>(0,ao.Xn)(h,c,d),[h,c,d]),groupedItems:(0,e.useMemo)(()=>"grouped"===f?(0,ao._s)(h,c,d):[],[h,c,d,f])}}({items:T,sortKey:o,sortDirection:p,viewMode:q,filterText:u}),Z=(0,e.useMemo)(()=>{if("grouped"!==q||!Y)return null;if(u.trim()||0===z.length)return Y;let a=new Map(z.map((a,b)=>[a,b]));return[...Y].sort((b,c)=>{let d=a.has(b.repositoryName)?a.get(b.repositoryName):1/0,e=a.has(c.repositoryName)?a.get(c.repositoryName):1/0;return d===e?b.repositoryName.localeCompare(c.repositoryName):d-e})},[q,Y,z,u]),aa="grouped"===q?Z:null;(0,e.useEffect)(()=>{},[x]);let ab=(0,e.useCallback)(a=>{y(b=>({...b,[a]:!b[a]}))},[]),ac=(0,e.useCallback)(()=>{var a;aq=Number.isFinite(a=w.current?.scrollTop??0)&&a>0?a:0},[]),ad=X.length>0||(aa?.length??0)>0;(0,e.useEffect)(()=>{let a=w.current;if(!a)return;let b=window.requestAnimationFrame(()=>{a.scrollTop=aq});return()=>{window.cancelAnimationFrame(b)}},[ad,q]);let ae=(0,e.useCallback)(b=>{ac(),g(b),a.push(`/worktrees/${b}`),n()},[ac,g,a,n]),ag=(0,G.FR)((0,G.MS)(G.AN,{activationConstraint:{distance:8}})),ai=(0,e.useCallback)(a=>{let{active:b,over:c}=a;if(!c||b.id===c.id||!aa)return;let d=aa.map(a=>a.repositoryName),e=d.indexOf(String(b.id)),f=d.indexOf(String(c.id));if(-1===e||-1===f)return;let g=(0,H.be)(d,e,f);B(g),ar=g,fetch("/api/sidebar/group-order",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({order:g})}).catch(()=>{B(d),ar=d})},[aa]),aj="flat"===q?0===X.length:(aa?.length??0)===0,ak=k&&0===b.length,am=!ak&&!!m&&0===b.length,an=(0,e.useCallback)(()=>{h()},[h]);return(0,d.jsxs)("nav",{"data-testid":"sidebar","aria-label":s("sidebar.branchNavigation"),className:"h-full flex flex-col bg-sidebar text-sidebar-foreground",role:"navigation",children:[(0,d.jsxs)("div",{"data-testid":"sidebar-header",className:"flex-shrink-0 px-4 py-4 border-b border-sidebar-border",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-y-2",children:[(0,d.jsx)("h2",{className:"min-w-0 truncate text-lg font-semibold text-sidebar-foreground",children:s("sidebar.branches")}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-1",children:[(0,d.jsx)(ax,{viewMode:q,onToggle:r}),(0,d.jsx)($,{}),(0,d.jsx)(aD,{refreshWorktrees:h}),(0,d.jsx)(S.m_,{content:s("tooltips.repositories"),placement:"bottom",children:(0,d.jsx)(i(),{href:"/repositories","aria-label":s("nav.repositories"),className:"p-1 rounded-md text-sidebar-muted hover:text-sidebar-foreground hover:bg-sidebar-hover focus:outline-none focus:ring-2 focus:ring-ring transition-colors inline-flex items-center",children:(0,d.jsx)(F.A,{className:ap,"aria-hidden":"true"})})})]})]}),(0,d.jsx)(al,{})]}),(0,d.jsx)("div",{className:"flex-shrink-0 px-4 py-3 border-b border-sidebar-border",children:(0,d.jsx)(_.pd,{type:"text",placeholder:s("sidebar.searchBranches"),value:u,onChange:a=>v(a.target.value),className:"bg-background shadow-none"})}),(0,d.jsx)("div",{ref:w,"data-testid":"branch-list",onScroll:ac,onMouseEnter:V,onMouseLeave:W,className:"flex-1 overflow-y-auto overflow-x-hidden",children:ak?(0,d.jsx)(au,{label:s("sidebar.loadingBranches")}):am?(0,d.jsxs)("div",{"data-testid":"branch-list-error",role:"alert",className:"px-4 py-8 text-center text-sidebar-muted",children:[(0,d.jsx)("p",{className:"text-sm",children:s("sidebar.branchesLoadFailed")}),(0,d.jsx)(_.$n,{type:"button",variant:"secondary",size:"sm",className:"mt-3","data-testid":"branch-list-retry",onClick:an,children:s("sidebar.retryLoadBranches")})]}):aj?(0,d.jsx)("div",{className:"px-4 py-8 text-center text-sidebar-muted",children:s(u?"sidebar.noBranchesFound":"sidebar.noBranchesAvailable")}):"grouped"===q&&aa?(0,d.jsx)(G.Mp,{sensors:ag,collisionDetection:G.fp,onDragEnd:ai,children:(0,d.jsx)(H.gB,{items:aa.map(a=>a.repositoryName),strategy:H._G,children:aa.map(a=>{let b=!x[a.repositoryName]||!!u.trim();return(0,d.jsx)(av,{group:a,isExpanded:b,selectedWorktreeId:f,onToggle:()=>ab(a.repositoryName),onBranchClick:ae,isDragDisabled:!!u.trim()},a.repositoryName)})})}):X.map(a=>(0,d.jsx)(R,{branch:a,isSelected:a.id===f,onClick:()=>ae(a.id)},a.id))}),(0,d.jsxs)("div",{className:"flex-shrink-0 px-4 py-3 border-t border-sidebar-border space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("div",{className:"flex-1",children:(0,d.jsx)(af,{})}),(0,d.jsx)(t,{})]}),(0,d.jsx)(ah,{})]})]})}),au=(0,e.memo)(function({label:a}){return(0,d.jsxs)("div",{"data-testid":"branch-list-skeleton",role:"status","aria-live":"polite",className:"px-4 py-3 space-y-3",children:[(0,d.jsx)("span",{className:"sr-only",children:a}),[0,1,2,3,4].map(a=>(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(_.EA,{className:"h-2 w-2 rounded-full"}),(0,d.jsx)(_.EA,{className:"h-3 flex-1"})]},a))]})});function av({group:a,isExpanded:b,selectedWorktreeId:c,onToggle:e,onBranchClick:f,isDragDisabled:g}){let{attributes:h,listeners:i,setNodeRef:j,setActivatorNodeRef:k,transform:l,transition:m,isDragging:n}=(0,H.gl)({id:a.repositoryName,disabled:g}),o={transform:I.Ks.Transform.toString(l),transition:m,opacity:n?.5:1};return(0,d.jsxs)("div",{ref:j,style:o,className:"w-full min-w-0",children:[(0,d.jsx)(aw,{repositoryName:a.repositoryName,branchCount:a.branches.length,isExpanded:b,onClick:e,dragHandleRef:k,dragHandleListeners:g?void 0:i,dragHandleAttributes:g?void 0:h}),b&&a.branches.map(a=>(0,d.jsx)(R,{branch:a,isSelected:a.id===c,onClick:()=>f(a.id),showRepositoryName:!1},a.id))]})}function aw({repositoryName:a,branchCount:b,isExpanded:c,onClick:e,dragHandleRef:f,dragHandleListeners:g,dragHandleAttributes:h}){let i=(0,l.c)("common");return(0,d.jsxs)("div",{className:"flex items-center w-full",children:[g&&(0,d.jsx)("div",{ref:f,...g,...h,"aria-label":i("sidebar.dragToReorderGroup"),className:" flex-shrink-0 flex items-center justify-center w-6 h-full pl-2 cursor-grab active:cursor-grabbing text-sidebar-muted hover:text-sidebar-foreground transition-colors ",children:(0,d.jsx)(aB,{})}),(0,d.jsxs)("button",{"data-testid":"group-header",type:"button",onClick:e,"aria-expanded":c,className:" flex-1 min-w-0 flex items-center gap-2 px-2 py-2 text-xs font-semibold text-sidebar-muted uppercase tracking-wider focus:outline-none focus:ring-2 focus:ring-inset focus:ring-ring transition-colors ",children:[(0,d.jsx)(ay,{isExpanded:c}),(0,d.jsx)(az,{color:(0,ao.LV)(a)}),(0,d.jsx)(aa.nR,{content:a,className:"flex-1 min-w-0 text-left truncate",children:a}),(0,d.jsx)("span",{className:"text-sidebar-muted font-normal tabular-nums pr-2",children:b})]})]})}function ax({viewMode:a,onToggle:b}){let c=(0,l.c)("common");return(0,d.jsx)(S.m_,{content:c("tooltips.viewMode"),placement:"bottom",children:(0,d.jsx)("button",{"data-testid":"view-mode-toggle",type:"button",onClick:()=>{b("grouped"===a?"flat":"grouped")},"aria-label":c("grouped"===a?"sidebar.switchToFlatView":"sidebar.switchToGroupedView"),className:" p-1 rounded-md text-sidebar-muted hover:text-sidebar-foreground hover:bg-sidebar-hover focus:outline-none focus:ring-2 focus:ring-ring transition-colors ",children:"grouped"===a?(0,d.jsx)(aA,{className:ap}):(0,d.jsx)(az,{className:ap})})})}function ay({isExpanded:a}){return(0,d.jsx)("svg",{className:`w-3 h-3 flex-shrink-0 transition-transform ${a?"rotate-90":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"})})}function az({className:a="w-3.5 h-3.5",color:b}){return(0,d.jsx)("svg",{className:`${a} flex-shrink-0`,viewBox:"0 0 24 24",fill:b??"none",stroke:b?"none":"currentColor",strokeWidth:2*!b,"aria-hidden":"true",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"})})}function aA({className:a="w-3 h-3"}){return(0,d.jsx)("svg",{className:a,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 6h16M4 12h16M4 18h16"})})}function aB(){return(0,d.jsxs)("svg",{className:"w-3 h-3",fill:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"9",cy:"5",r:"1.5"}),(0,d.jsx)("circle",{cx:"15",cy:"5",r:"1.5"}),(0,d.jsx)("circle",{cx:"9",cy:"12",r:"1.5"}),(0,d.jsx)("circle",{cx:"15",cy:"12",r:"1.5"}),(0,d.jsx)("circle",{cx:"9",cy:"19",r:"1.5"}),(0,d.jsx)("circle",{cx:"15",cy:"19",r:"1.5"})]})}function aC({className:a=""}){return(0,d.jsx)("svg",{className:`${ap} ${a}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 4v5h5M20 20v-5h-5M20.49 9A9 9 0 005.64 5.64L4 4m16 16l-1.64-1.64A9 9 0 014.51 15"})})}let aD=(0,e.memo)(function({refreshWorktrees:a}){let[b,c]=(0,e.useState)(!1),f=(0,e.useRef)(!1),{showToast:g}=(0,ai.dj)(),h=(0,l.c)("common"),i=(0,e.useCallback)(async()=>{if(!f.current){f.current=!0,c(!0);try{let b=await an.Rx.sync();await a(),g(h("syncSuccess",{count:b.worktreeCount}),"success",3e3)}catch(a){a instanceof an.hD&&401===a.status?g(h("syncAuthError"),"error",5e3):g(h("syncError"),"error",5e3)}finally{f.current=!1,c(!1)}}},[a,g,h]);return(0,d.jsx)(d.Fragment,{children:(0,d.jsx)(S.m_,{content:h("tooltips.sync"),placement:"bottom",children:(0,d.jsx)("button",{type:"button",onClick:i,disabled:b,"aria-label":h("syncButtonLabel"),className:"p-1 rounded-md text-sidebar-muted hover:text-sidebar-foreground hover:bg-sidebar-hover focus:outline-none focus:ring-2 focus:ring-ring disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:(0,d.jsx)(aC,{className:b?"animate-spin":""})})})})});var aE=c(78733),aF=c(44688),aG=c(75903),aH=c(59268),aI=c(38882);let aJ=[{labelKey:"nav.home",href:"/",isActive:a=>"/"===a,icon:(0,d.jsx)(aE.A,{size:20,"aria-hidden":"true"})},{labelKey:"nav.chat",href:"/chat",isActive:a=>a.startsWith("/chat"),icon:(0,d.jsx)(aF.A,{size:20,"aria-hidden":"true"})},{labelKey:"nav.sessions",href:"/sessions",isActive:a=>a.startsWith("/sessions"),icon:(0,d.jsx)(aG.A,{size:20,"aria-hidden":"true"})},{labelKey:"nav.review",href:"/review",isActive:a=>a.startsWith("/review"),icon:(0,d.jsx)(aH.A,{size:20,"aria-hidden":"true"}),showsAttentionBadge:!0},{labelKey:"nav.more",href:"/more",isActive:a=>a.startsWith("/more"),icon:(0,d.jsx)(aI.A,{size:20,"aria-hidden":"true"})}];function aK(){let a=(0,g.usePathname)(),{setOpen:b}=(0,x.C)(),c=(0,l.c)("commandPalette"),e=(0,l.c)("common"),{count:f}=(0,ak.Lv)();return(0,d.jsx)("nav",{"data-testid":"global-mobile-nav",className:"fixed bottom-0 left-0 right-0 z-50 border-t border-border bg-background supports-[backdrop-filter]:bg-background/80 backdrop-blur-md pb-safe",children:(0,d.jsxs)("div",{className:"flex items-center justify-around h-14",children:[aJ.map(b=>{let c=b.isActive(a),g=!0===b.showsAttentionBadge&&f>0;return(0,d.jsxs)(k,{href:g?aj.ks:b.href,className:`flex flex-col items-center justify-center flex-1 h-full text-xs transition-colors ${c?"text-accent-600 dark:text-accent-400":"text-muted-foreground hover:text-foreground"}`,children:[(0,d.jsxs)("span",{className:"relative inline-flex",children:[b.icon,!0===b.showsAttentionBadge&&(0,d.jsx)(am,{count:f})]}),(0,d.jsx)("span",{className:"mt-1 whitespace-nowrap",children:e(b.labelKey)})]},b.href)}),(0,d.jsxs)("button",{type:"button","data-testid":"mobile-command-palette-trigger",onClick:()=>b(!0),"aria-label":c("mobileTrigger"),className:"flex flex-col items-center justify-center flex-1 h-full text-xs text-muted-foreground hover:text-foreground transition-colors",children:[(0,d.jsx)(n.A,{size:20,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"mt-1 whitespace-nowrap",children:c("mobileLabel")})]})]})})}var aL=c(67565),aM=c(50987),aN=c(75234),aO=c(34487),aP=c(25345),aQ=c(96558),aR=c(75692),aS=c(57898),aT=c(35595),aU=c(11010),aV=c(89184),aW=c(63157),aX=c(12480);let aY=[{key:"home",href:"/"},{key:"chat",href:"/chat"},{key:"sessions",href:"/sessions"},{key:"repositories",href:"/repositories"},{key:"review",href:"/review"},{key:"skills",href:"/skills"},{key:"more",href:"/more"}],aZ={home:aE.A,chat:aF.A,sessions:aG.A,repositories:aM.A,review:aH.A,skills:aN.A,more:aI.A};function a$(a){return a.isWaitingForResponse?"waiting":a.isProcessing?"running":a.isSessionRunning?"ready":"idle"}let a_=(0,aT.cn)("flex cursor-pointer items-center gap-2 rounded-md px-2 py-2 text-sm","text-foreground","data-[selected=true]:bg-accent-500/15 data-[selected=true]:text-accent-700","dark:data-[selected=true]:text-accent-300"),a0="shrink-0 text-muted-foreground";function a1(){let{open:a,setOpen:b}=(0,x.C)(),{setOpen:c}=(0,aV.K)(),f=(0,g.useRouter)(),h=(0,l.c)("commandPalette"),i=(0,l.c)("common"),{theme:j,setTheme:k}=(0,q.D)(),{setSize:m,isMobile:p}=(0,E.Ps)(),{currentLocale:t,switchLocale:u}=ae(),v=(0,aW.rC)(),{showToast:y}=(0,ai.dj)(),[z,A]=(0,e.useState)(!1),[B,C]=(0,e.useState)(""),[D,F]=(0,e.useState)([]),G=(0,e.useRef)(null);(0,e.useRef)(null),(0,e.useRef)(a);let H=(0,e.useCallback)((a,c)=>{c&&F(a=>(function(a,b){let c=a.filter(a=>a.kind!==b.kind||a.id!==b.id),d=[b,...c].slice(0,8);try{localStorage.setItem("cm.palette.recents",JSON.stringify(d))}catch{}return d})(a,c)),b(!1),a()},[b]),I=(0,e.useCallback)(async()=>{try{await an.Rx.sync(),await v?.refresh?.(),y(h("actions.syncSuccess"),"success")}catch{y(h("actions.syncError"),"error")}},[v,y,h]),J="dark"===j,L=""===B.trim(),M=v?.error??null,O=v?.isLoading??!1,P=M?[]:v?.worktrees??[],Q=P.length>0,R=!M&&O&&0===P.length,S=[...P].sort((a,b)=>{let c=+!!a.isSessionRunning,d=+!!b.isSessionRunning;if(c!==d)return d-c;let e=a.updatedAt?new Date(a.updatedAt).getTime():0;return(b.updatedAt?new Date(b.updatedAt).getTime():0)-e}),T=L?S.slice(0,8):S,U=[{id:"theme",label:J?h("actions.toLight"):h("actions.toDark"),icon:J?r.A:s.A,run:()=>k(J?"light":"dark")},...p?[]:aX.Uf.map(a=>({id:`displaysize:${a}`,label:`${h("actions.displaySizePrefix")}: ${i(`displaySize.${a}`)}`,icon:aO.A,run:()=>m(a)})),{id:"sync",label:h("actions.syncRepositories"),icon:aP.A,run:()=>{I()}},{id:"locale",label:h("actions.switchLanguage"),icon:aQ.A,run:()=>u("ja"===t?"en":"ja")},{id:"github",label:h("actions.openGitHub"),icon:o.A,run:()=>window.open("https://github.com/kewton/MyCodeBranchDesk","_blank","noopener,noreferrer")},{id:"keyboardShortcuts",label:h("actions.keyboardShortcuts"),icon:aR.A,run:()=>c(!0)}],V=L?D.map(a=>{if("nav"===a.kind){let b=aY.find(b=>b.key===a.id);if(!b)return null;let c=aZ[b.key],e=i(`nav.${b.key}`);return{id:`nav-${b.key}`,value:`recent nav ${b.key}`,node:(0,d.jsxs)(d.Fragment,{children:[c&&(0,d.jsx)(c,{size:16,className:a0,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"truncate",children:e})]}),onSelect:()=>H(()=>f.push(b.href),{kind:"nav",id:b.key})}}if("worktree"===a.kind){let b=P.find(b=>b.id===a.id);if(!b)return null;let c=b.repositoryDisplayName||b.repositoryName||"",e=b.branch||b.name;return{id:`worktree-${b.id}`,value:`recent worktree ${b.id}`,node:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(aS.A,{size:16,className:a0,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"truncate",children:e}),c&&(0,d.jsx)("span",{className:"ml-auto truncate pl-2 text-xs text-muted-foreground",children:c}),(0,d.jsx)(N.m,{status:a$(b),size:"sm",className:c?"ml-2":"ml-auto"})]}),onSelect:()=>H(()=>f.push(`/worktrees/${b.id}`),{kind:"worktree",id:b.id})}}let b=U.find(b=>b.id===a.id);if(!b)return null;let c=b.icon;return{id:`action-${b.id}`,value:`recent action ${b.id}`,node:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(c,{size:16,className:a0,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"truncate",children:b.label})]}),onSelect:()=>H(b.run,{kind:"action",id:b.id})}}).filter(a=>null!==a):[];return z?(0,K.createPortal)((0,d.jsx)(d.Fragment,{children:a&&(0,d.jsxs)("div",{className:"fixed inset-0 overflow-y-auto",style:{zIndex:aU.M.MODAL},"data-testid":"command-palette",children:[(0,d.jsx)("div",{"data-state":"open","aria-hidden":"true",className:"fixed inset-0 bg-black/40 backdrop-blur-sm transition-opacity data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:duration-200",onClick:()=>b(!1)}),(0,d.jsx)("div",{className:"relative flex min-h-full items-start justify-center p-4 pt-[15vh]",children:(0,d.jsx)("div",{"data-state":"open","data-testid":"command-palette-panel",className:(0,aT.cn)("relative w-full max-w-lg overflow-hidden rounded-xl bg-surface/95 shadow-2xl ring-1 ring-border backdrop-blur-xl","data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:duration-200"),children:(0,d.jsxs)(aL.uB,{label:h("title"),className:(0,aT.cn)("flex flex-col","[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:pb-1 [&_[cmdk-group-heading]]:pt-2","[&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground"),children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 border-b border-border px-3",children:[(0,d.jsx)(n.A,{size:16,strokeWidth:2,"aria-hidden":"true",className:"shrink-0 text-muted-foreground"}),(0,d.jsx)(aL.uB.Input,{ref:G,value:B,onValueChange:C,placeholder:h("placeholder"),"data-testid":"command-palette-input",className:"flex-1 bg-transparent py-3 text-sm text-foreground outline-none placeholder:text-muted-foreground"})]}),(0,d.jsxs)(aL.uB.List,{className:"max-h-[min(60vh,360px)] overflow-y-auto p-2",children:[(0,d.jsx)(aL.uB.Empty,{"data-testid":"command-palette-empty",className:"py-6 text-center text-sm text-muted-foreground",children:h("empty")}),R&&(0,d.jsx)(aL.uB.Loading,{"data-testid":"command-palette-loading",className:"py-6 text-center text-sm text-muted-foreground",children:h("loading")}),V.length>0&&(0,d.jsx)(aL.uB.Group,{heading:h("groups.recent"),children:V.map(a=>(0,d.jsx)(aL.uB.Item,{value:a.value,onSelect:a.onSelect,className:a_,children:a.node},a.id))}),(0,d.jsx)(aL.uB.Group,{heading:h("groups.navigation"),children:aY.map(a=>{let b=i(`nav.${a.key}`),c=aZ[a.key];return(0,d.jsxs)(aL.uB.Item,{value:`nav ${b} ${a.href}`,onSelect:()=>H(()=>f.push(a.href),{kind:"nav",id:a.key}),className:a_,children:[c&&(0,d.jsx)(c,{size:16,className:a0,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"truncate",children:b})]},a.key)})}),Q&&(0,d.jsx)(aL.uB.Group,{heading:h("groups.worktrees"),children:T.map(a=>{let b=a.repositoryDisplayName||a.repositoryName||"",c=a.branch||a.name;return(0,d.jsxs)(aL.uB.Item,{value:`worktree ${b} ${c} ${a.name} ${a.id}`,onSelect:()=>H(()=>f.push(`/worktrees/${a.id}`),{kind:"worktree",id:a.id}),className:a_,children:[(0,d.jsx)(aS.A,{size:16,className:a0,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"truncate",children:c}),b&&(0,d.jsx)("span",{className:"ml-auto truncate pl-2 text-xs text-muted-foreground",children:b}),(0,d.jsx)(N.m,{status:a$(a),size:"sm",className:b?"ml-2":"ml-auto"})]},a.id)})}),(0,d.jsx)(aL.uB.Group,{heading:h("groups.actions"),children:U.map(a=>{let b=a.icon;return(0,d.jsxs)(aL.uB.Item,{value:`action ${a.id} ${a.label}`,onSelect:()=>H(a.run,{kind:"action",id:a.id}),className:a_,children:[(0,d.jsx)(b,{size:16,className:a0,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"truncate",children:a.label})]},a.id)})})]}),(0,d.jsxs)("div",{className:"flex items-center gap-3 border-t border-border bg-surface-2 px-3 py-2 text-[11px] text-muted-foreground",children:[(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)(w.u,{children:"↑"}),(0,d.jsx)(w.u,{children:"↓"}),h("footer.navigate")]}),(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)(w.u,{children:"↵"}),h("footer.select")]}),(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)(w.u,{children:"esc"}),h("footer.close")]})]})]})})})]})}),document.body):null}var a2=c(98033);let a3=["global","terminal","composer","editor"],a4=[{id:"commandPalette",keys:["MOD","K"],scope:"global"},{id:"keyboardHelp",keys:["?"],scope:"global"},{id:"closeOverlay",keys:["Esc"],scope:"global"},{id:"navigateList",keys:["↑","↓"],scope:"global"},{id:"terminalSearch",keys:["MOD","F"],scope:"terminal"},{id:"toggleSurfaceMode",keys:["MOD","Shift","M"],scope:"terminal"},{id:"sendMessage",keys:["↵"],scope:"composer"},{id:"composerNewline",keys:["Shift","↵"],scope:"composer"},{id:"editorIndent",keys:["Tab"],scope:"editor"},{id:"editorOutdent",keys:["Shift","Tab"],scope:"editor"},{id:"editorTabFocus",keys:["Ctrl","M"],scope:"editor"},{id:"editorSave",keys:["MOD","S"],scope:"editor"},{id:"editorFullscreen",keys:["MOD","Shift","F"],scope:"editor"}];function a5(){let{open:a,setOpen:b}=(0,aV.K)(),{open:c}=(0,x.C)(),f=(0,l.c)("keyboardShortcuts"),[g,h]=(0,e.useState)(!1);(0,e.useRef)(a),(0,e.useRef)(c);let i=function(a=a4){return a3.map(b=>({scope:b,shortcuts:a.filter(a=>a.scope===b)})).filter(a=>a.shortcuts.length>0)}();return(0,d.jsx)(a2.a,{isOpen:a,onClose:()=>b(!1),title:f("title"),size:"md",children:(0,d.jsx)("div",{"data-testid":"keyboard-shortcuts-overlay",className:"space-y-6",children:i.map(({scope:a,shortcuts:b})=>(0,d.jsxs)("section",{"data-testid":`keyboard-shortcuts-scope-${a}`,children:[(0,d.jsx)("h4",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:f(`scopes.${a}`)}),(0,d.jsx)("ul",{className:"divide-y divide-border",children:b.map(a=>(0,d.jsxs)("li",{"data-testid":`keyboard-shortcut-${a.id}`,className:"flex items-center justify-between gap-4 py-2",children:[(0,d.jsx)("span",{className:"text-sm text-foreground",children:f(`shortcuts.${a.id}`)}),(0,d.jsx)("span",{className:"flex flex-shrink-0 items-center gap-1",children:a.keys.map((a,b)=>(0,d.jsx)(w.u,{children:"MOD"===a?g?"⌘":"Ctrl":a},b))})]},a.id))})]},a))})})}var a6=c(16945),a7=c(47089),a8=c(12055);function a9(){let a=(0,l.c)("common"),[b,c]=(0,e.useState)(null),[f,g]=(0,e.useState)(null),h=(0,e.useCallback)(a=>{if(a.type!==a8.Oo)return;let{serverVersion:b,clientVersion:d}=a;"string"==typeof b&&"string"==typeof d&&b&&d&&b!==f&&c({serverVersion:b,clientVersion:d})},[f]);(0,u.T3)(h);let i=(0,e.useCallback)(()=>{window.location.reload()},[]),j=(0,e.useCallback)(()=>{c(a=>(a&&g(a.serverVersion),null))},[]);return b?(0,d.jsxs)("div",{"data-testid":"version-mismatch-banner",role:"alert","aria-live":"assertive",className:"fixed top-3 left-1/2 -translate-x-1/2 flex items-start gap-3 max-w-[92vw] rounded-lg border border-warning-border bg-warning-subtle px-4 py-3 text-warning-foreground shadow-lg",style:{zIndex:aU.M.TOAST},children:[(0,d.jsx)(a6.A,{className:"h-5 w-5 shrink-0 mt-0.5","aria-hidden":"true"}),(0,d.jsxs)("div",{className:"flex flex-col gap-0.5 text-sm",children:[(0,d.jsx)("span",{className:"font-semibold",children:a("versionMismatch.title")}),(0,d.jsx)("span",{children:a("versionMismatch.description",{serverVersion:b.serverVersion,clientVersion:b.clientVersion})})]}),(0,d.jsxs)("button",{type:"button","data-testid":"version-mismatch-reload",onClick:i,className:"shrink-0 inline-flex items-center gap-1.5 rounded-md border border-warning-border px-3 py-1.5 text-sm font-medium hover:opacity-80 focus:outline-none focus:ring-2 focus:ring-offset-2",children:[(0,d.jsx)(aP.A,{className:"h-4 w-4","aria-hidden":"true"}),a("versionMismatch.reload")]}),(0,d.jsx)("button",{type:"button","data-testid":"version-mismatch-dismiss",onClick:j,"aria-label":a("versionMismatch.dismiss"),className:"shrink-0 hover:opacity-70 focus:outline-none focus:ring-2 focus:ring-offset-2",children:(0,d.jsx)(a7.A,{className:"h-4 w-4","aria-hidden":"true"})})]}):null}let ba="transform transition-transform duration-300 ease-out",bb=(0,e.memo)(function({children:a}){let{isOpen:b,isMobileDrawerOpen:c,closeMobileDrawer:f,width:h,setWidth:i}=(0,A.VF)(),j=(0,B.a)(),{showSidebar:k,showGlobalNav:l}=function(){var a=(0,g.usePathname)();for(let b of D)if(a.startsWith(b.prefix))return{...C,...b.config};return{...C}}(),{factor:m}=(0,E.Ps)(),n=Math.round(160*m),o=Math.round(480*m),p=Math.round(Math.min(o,Math.max(n,h*m))),q=(0,e.useRef)(null),r=(0,e.useRef)(null),s=(0,e.useCallback)(a=>{i(Math.round(a/m))},[i,m]);return j?(0,d.jsxs)("div",{"data-testid":"app-shell",className:"h-screen flex flex-col",children:[c&&(0,d.jsx)("div",{"data-testid":"drawer-overlay",className:"fixed inset-0 bg-black/50 z-40",onClick:f,"aria-hidden":"true"}),k&&(0,d.jsx)("aside",{"data-testid":"sidebar-container",className:`
11
+ `,children:[(0,d.jsx)("span",{children:c.label}),a===c.key&&(0,d.jsx)("span",{className:"text-xs",children:"asc"===b?"ASC":"DESC"})]},c.key))})]})});function V({className:a}){return(0,d.jsx)("svg",{className:a,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 4h13M3 8h9m-9 4h6m4 0l4-4m0 0l4 4m-4-4v12"})})}function W({className:a}){return(0,d.jsx)("svg",{className:a,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 15l7-7 7 7"})})}function X({className:a}){return(0,d.jsx)("svg",{className:a,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"})})}let Y=[{key:"updatedAt",labelKey:"sort.updatedAt"},{key:"repositoryName",labelKey:"sort.repositoryName"},{key:"branchName",labelKey:"sort.branchName"},{key:"status",labelKey:"sort.status"}],Z={updatedAt:"desc"},$=(0,e.memo)(function(){let{sortKey:a,sortDirection:b,setSortKey:c,setSortDirection:f}=(0,A.VF)(),g=(0,l.c)("common"),h=(0,e.useMemo)(()=>Y.map(({key:a,labelKey:b})=>({key:a,label:g(b)})),[g]);return(0,d.jsx)(U,{sortKey:a,sortDirection:b,onSortKeyChange:c,onSortDirectionChange:f,options:h,defaultDirections:Z,compact:!0,tooltip:g("tooltips.sort"),iconClassName:"w-4 h-4"})});var _=c(15737),aa=c(81497),ab=c(55992);let ac=["en","ja"],ad={en:"English",ja:"日本語"};function ae(){return{currentLocale:(0,ab.Ym)(),switchLocale:a=>{if(ac.includes(a)){let b="https:"===window.location.protocol;document.cookie=`locale=${a};path=/;max-age=31536000;SameSite=Lax${b?";Secure":""}`,localStorage.setItem("locale",a),window.location.reload()}}}}function af(){let{currentLocale:a,switchLocale:b}=ae(),c=(0,l.c)("common");return(0,d.jsx)("select",{value:a,onChange:a=>b(a.target.value),"data-testid":"locale-switcher","aria-label":c("language"),className:" w-full px-3 py-2 rounded-md bg-sidebar text-sidebar-foreground border border-sidebar-border focus:outline-none focus:ring-2 focus:ring-ring focus:border-transparent text-sm ",children:ac.map(a=>(0,d.jsx)("option",{value:a,children:ad[a]},a))})}var ag=c(84342);function ah(){let a=(0,l.c)("auth"),b=(0,ag.H)(),[c,f]=(0,e.useState)(!1);if(!b)return null;async function g(){f(!0);try{await fetch("/api/auth/logout",{method:"POST"}),window.location.href="/login"}catch{window.location.href="/login"}}return(0,d.jsx)("button",{type:"button",onClick:g,disabled:c,"data-testid":"logout-button",className:" w-full px-3 py-2 text-sm text-left rounded-md text-muted-foreground hover:text-foreground hover:bg-muted focus:outline-none focus:ring-2 focus:ring-ring disabled:opacity-50 transition-colors ",children:c?"...":a("logout.button")})}var ai=c(63474),aj=c(77560),ak=c(19463);function al(){let a=(0,l.c)("common"),{count:b}=(0,ak.Lv)();return 0===b?null:(0,d.jsxs)(i(),{href:aj.ks,"data-testid":"attention-badge","aria-label":a("attention.badgeLabel",{count:b}),className:"mt-2 inline-flex w-full items-center justify-between gap-2 rounded-md border border-warning-border bg-warning-subtle px-2 py-1 text-xs font-medium text-warning-foreground transition-colors hover:brightness-105 focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[(0,d.jsx)("span",{className:"min-w-0 truncate",children:a("attention.label")}),(0,d.jsx)("span",{"data-testid":"attention-badge-count",className:"tabular-nums font-semibold",children:b})]})}function am({count:a}){let b=(0,l.c)("common");return 0===a?null:(0,d.jsx)("span",{"data-testid":"attention-badge-bubble",role:"status","aria-label":b("attention.badgeLabel",{count:a}),className:"absolute -top-1.5 -right-2.5 min-w-[1.05rem] rounded-full bg-warning-foreground px-1 text-[0.625rem] font-bold leading-[1.05rem] text-warning-subtle tabular-nums text-center",children:a>99?"99+":a})}var an=c(78352),ao=c(32482);let ap="w-4 h-4",aq=0,ar=null;function as(){return ar??[]}let at=(0,e.memo)(function(){let a=(0,j.Hq)(),{worktrees:b,repositories:c,selectedWorktreeId:f,selectWorktree:g,refreshWorktrees:h,isLoading:k,error:m}=(0,J.$f)(),{closeMobileDrawer:n,sortKey:o,sortDirection:p,viewMode:q,setViewMode:r}=(0,A.VF)(),s=(0,l.c)("common"),[u,v]=(0,e.useState)(""),w=(0,e.useRef)(null),[x,y]=(0,e.useState)(()=>({})),[z,B]=(0,e.useState)(as),C=(0,e.useRef)(!1);(0,e.useEffect)(()=>{C.current||(C.current=!0,fetch("/api/sidebar/group-order").then(a=>a.json()).then(a=>{a.success&&Array.isArray(a.order)&&(B(a.order),ar=a.order)}).catch(()=>{}))},[]);let D=(0,e.useMemo)(()=>(0,ao.UZ)(c),[c]),E=(0,e.useMemo)(()=>(0,ao.s6)(b,D),[b,D]),I=(0,e.useMemo)(()=>E.map(M.XK),[E]),K=(0,e.useDeferredValue)(I),L=(0,e.useRef)(null),N=(0,e.useRef)(null),[O,P]=(0,e.useState)(0);(0,e.useEffect)(()=>()=>{null!==N.current&&clearTimeout(N.current)},[]);let Q=(0,e.useCallback)(()=>{null!==N.current&&(clearTimeout(N.current),N.current=null),L.current=null},[]),T=(0,e.useMemo)(()=>{let a=L.current;return!a||0===a.items.length||Date.now()>=a.expiresAt?K:a.items},[K,O]),U=(0,e.useRef)(T);(0,e.useLayoutEffect)(()=>{U.current=T;let a=L.current;a&&0===a.items.length&&K.length>0&&Q()});let V=(0,e.useCallback)(()=>{if(0===U.current.length)return;null!==N.current&&(clearTimeout(N.current),N.current=null);let a=L.current;if(a&&Date.now()<a.expiresAt){L.current={...a,expiresAt:1/0};return}L.current={items:U.current,expiresAt:1/0}},[]),W=(0,e.useCallback)(()=>{L.current&&(L.current={...L.current,expiresAt:Date.now()+1e3},null!==N.current&&clearTimeout(N.current),N.current=setTimeout(()=>{Q(),P(a=>a+1)},1e3))},[Q]),{sortedItems:X,groupedItems:Y}=function(a){let{items:b,sortKey:c,sortDirection:d,viewMode:f,filterText:g}=a,h=(0,e.useMemo)(()=>{if(!g)return b;let a=g.toLowerCase();return b.filter(b=>b.name.toLowerCase().includes(a)||b.repositoryName.toLowerCase().includes(a))},[b,g]);return{sortedItems:(0,e.useMemo)(()=>(0,ao.Xn)(h,c,d),[h,c,d]),groupedItems:(0,e.useMemo)(()=>"grouped"===f?(0,ao._s)(h,c,d):[],[h,c,d,f])}}({items:T,sortKey:o,sortDirection:p,viewMode:q,filterText:u}),Z=(0,e.useMemo)(()=>{if("grouped"!==q||!Y)return null;if(u.trim()||0===z.length)return Y;let a=new Map(z.map((a,b)=>[a,b]));return[...Y].sort((b,c)=>{let d=a.has(b.repositoryName)?a.get(b.repositoryName):1/0,e=a.has(c.repositoryName)?a.get(c.repositoryName):1/0;return d===e?b.repositoryName.localeCompare(c.repositoryName):d-e})},[q,Y,z,u]),aa="grouped"===q?Z:null;(0,e.useEffect)(()=>{},[x]);let ab=(0,e.useCallback)(a=>{y(b=>({...b,[a]:!b[a]}))},[]),ac=(0,e.useCallback)(()=>{var a;aq=Number.isFinite(a=w.current?.scrollTop??0)&&a>0?a:0},[]),ad=X.length>0||(aa?.length??0)>0;(0,e.useEffect)(()=>{let a=w.current;if(!a)return;let b=window.requestAnimationFrame(()=>{a.scrollTop=aq});return()=>{window.cancelAnimationFrame(b)}},[ad,q]);let ae=(0,e.useCallback)(b=>{ac(),g(b),a.push(`/worktrees/${b}`),n()},[ac,g,a,n]),ag=(0,G.FR)((0,G.MS)(G.AN,{activationConstraint:{distance:8}})),ai=(0,e.useCallback)(a=>{let{active:b,over:c}=a;if(!c||b.id===c.id||!aa)return;let d=aa.map(a=>a.repositoryName),e=d.indexOf(String(b.id)),f=d.indexOf(String(c.id));if(-1===e||-1===f)return;let g=(0,H.be)(d,e,f);B(g),ar=g,fetch("/api/sidebar/group-order",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({order:g})}).catch(()=>{B(d),ar=d})},[aa]),aj="flat"===q?0===X.length:(aa?.length??0)===0,ak=k&&0===b.length,am=!ak&&!!m&&0===b.length,an=(0,e.useCallback)(()=>{h()},[h]);return(0,d.jsxs)("nav",{"data-testid":"sidebar","aria-label":s("sidebar.branchNavigation"),className:"h-full flex flex-col bg-sidebar text-sidebar-foreground",role:"navigation",children:[(0,d.jsxs)("div",{"data-testid":"sidebar-header",className:"flex-shrink-0 px-4 py-4 border-b border-sidebar-border",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-y-2",children:[(0,d.jsx)("h2",{className:"min-w-0 truncate text-lg font-semibold text-sidebar-foreground",children:s("sidebar.branches")}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-1",children:[(0,d.jsx)(ax,{viewMode:q,onToggle:r}),(0,d.jsx)($,{}),(0,d.jsx)(aD,{refreshWorktrees:h}),(0,d.jsx)(S.m_,{content:s("tooltips.repositories"),placement:"bottom",children:(0,d.jsx)(i(),{href:"/repositories","aria-label":s("nav.repositories"),className:"p-1 rounded-md text-sidebar-muted hover:text-sidebar-foreground hover:bg-sidebar-hover focus:outline-none focus:ring-2 focus:ring-ring transition-colors inline-flex items-center",children:(0,d.jsx)(F.A,{className:ap,"aria-hidden":"true"})})})]})]}),(0,d.jsx)(al,{})]}),(0,d.jsx)("div",{className:"flex-shrink-0 px-4 py-3 border-b border-sidebar-border",children:(0,d.jsx)(_.pd,{type:"text",placeholder:s("sidebar.searchBranches"),value:u,onChange:a=>v(a.target.value),className:"bg-background shadow-none"})}),(0,d.jsx)("div",{ref:w,"data-testid":"branch-list",onScroll:ac,onMouseEnter:V,onMouseLeave:W,className:"flex-1 overflow-y-auto overflow-x-hidden",children:ak?(0,d.jsx)(au,{label:s("sidebar.loadingBranches")}):am?(0,d.jsxs)("div",{"data-testid":"branch-list-error",role:"alert",className:"px-4 py-8 text-center text-sidebar-muted",children:[(0,d.jsx)("p",{className:"text-sm",children:s("sidebar.branchesLoadFailed")}),(0,d.jsx)(_.$n,{type:"button",variant:"secondary",size:"sm",className:"mt-3","data-testid":"branch-list-retry",onClick:an,children:s("sidebar.retryLoadBranches")})]}):aj?(0,d.jsx)("div",{className:"px-4 py-8 text-center text-sidebar-muted",children:s(u?"sidebar.noBranchesFound":"sidebar.noBranchesAvailable")}):"grouped"===q&&aa?(0,d.jsx)(G.Mp,{sensors:ag,collisionDetection:G.fp,onDragEnd:ai,children:(0,d.jsx)(H.gB,{items:aa.map(a=>a.repositoryName),strategy:H._G,children:aa.map(a=>{let b=!x[a.repositoryName]||!!u.trim();return(0,d.jsx)(av,{group:a,isExpanded:b,selectedWorktreeId:f,onToggle:()=>ab(a.repositoryName),onBranchClick:ae,isDragDisabled:!!u.trim()},a.repositoryName)})})}):X.map(a=>(0,d.jsx)(R,{branch:a,isSelected:a.id===f,onClick:()=>ae(a.id)},a.id))}),(0,d.jsxs)("div",{className:"flex-shrink-0 px-4 py-3 border-t border-sidebar-border space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("div",{className:"flex-1",children:(0,d.jsx)(af,{})}),(0,d.jsx)(t,{})]}),(0,d.jsx)(ah,{})]})]})}),au=(0,e.memo)(function({label:a}){return(0,d.jsxs)("div",{"data-testid":"branch-list-skeleton",role:"status","aria-live":"polite",className:"px-4 py-3 space-y-3",children:[(0,d.jsx)("span",{className:"sr-only",children:a}),[0,1,2,3,4].map(a=>(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(_.EA,{className:"h-2 w-2 rounded-full"}),(0,d.jsx)(_.EA,{className:"h-3 flex-1"})]},a))]})});function av({group:a,isExpanded:b,selectedWorktreeId:c,onToggle:e,onBranchClick:f,isDragDisabled:g}){let{attributes:h,listeners:i,setNodeRef:j,setActivatorNodeRef:k,transform:l,transition:m,isDragging:n}=(0,H.gl)({id:a.repositoryName,disabled:g}),o={transform:I.Ks.Transform.toString(l),transition:m,opacity:n?.5:1};return(0,d.jsxs)("div",{ref:j,style:o,className:"w-full min-w-0",children:[(0,d.jsx)(aw,{repositoryName:a.repositoryName,branchCount:a.branches.length,isExpanded:b,onClick:e,dragHandleRef:k,dragHandleListeners:g?void 0:i,dragHandleAttributes:g?void 0:h}),b&&a.branches.map(a=>(0,d.jsx)(R,{branch:a,isSelected:a.id===c,onClick:()=>f(a.id),showRepositoryName:!1},a.id))]})}function aw({repositoryName:a,branchCount:b,isExpanded:c,onClick:e,dragHandleRef:f,dragHandleListeners:g,dragHandleAttributes:h}){let i=(0,l.c)("common");return(0,d.jsxs)("div",{className:"flex items-center w-full",children:[g&&(0,d.jsx)("div",{ref:f,...g,...h,"aria-label":i("sidebar.dragToReorderGroup"),className:" flex-shrink-0 flex items-center justify-center w-6 h-full pl-2 cursor-grab active:cursor-grabbing text-sidebar-muted hover:text-sidebar-foreground transition-colors ",children:(0,d.jsx)(aB,{})}),(0,d.jsxs)("button",{"data-testid":"group-header",type:"button",onClick:e,"aria-expanded":c,className:" flex-1 min-w-0 flex items-center gap-2 px-2 py-2 text-xs font-semibold text-sidebar-muted uppercase tracking-wider focus:outline-none focus:ring-2 focus:ring-inset focus:ring-ring transition-colors ",children:[(0,d.jsx)(ay,{isExpanded:c}),(0,d.jsx)(az,{color:(0,ao.LV)(a)}),(0,d.jsx)(aa.nR,{content:a,className:"flex-1 min-w-0 text-left truncate",children:a}),(0,d.jsx)("span",{className:"text-sidebar-muted font-normal tabular-nums pr-2",children:b})]})]})}function ax({viewMode:a,onToggle:b}){let c=(0,l.c)("common");return(0,d.jsx)(S.m_,{content:c("tooltips.viewMode"),placement:"bottom",children:(0,d.jsx)("button",{"data-testid":"view-mode-toggle",type:"button",onClick:()=>{b("grouped"===a?"flat":"grouped")},"aria-label":c("grouped"===a?"sidebar.switchToFlatView":"sidebar.switchToGroupedView"),className:" p-1 rounded-md text-sidebar-muted hover:text-sidebar-foreground hover:bg-sidebar-hover focus:outline-none focus:ring-2 focus:ring-ring transition-colors ",children:"grouped"===a?(0,d.jsx)(aA,{className:ap}):(0,d.jsx)(az,{className:ap})})})}function ay({isExpanded:a}){return(0,d.jsx)("svg",{className:`w-3 h-3 flex-shrink-0 transition-transform ${a?"rotate-90":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"})})}function az({className:a="w-3.5 h-3.5",color:b}){return(0,d.jsx)("svg",{className:`${a} flex-shrink-0`,viewBox:"0 0 24 24",fill:b??"none",stroke:b?"none":"currentColor",strokeWidth:2*!b,"aria-hidden":"true",children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"})})}function aA({className:a="w-3 h-3"}){return(0,d.jsx)("svg",{className:a,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 6h16M4 12h16M4 18h16"})})}function aB(){return(0,d.jsxs)("svg",{className:"w-3 h-3",fill:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,d.jsx)("circle",{cx:"9",cy:"5",r:"1.5"}),(0,d.jsx)("circle",{cx:"15",cy:"5",r:"1.5"}),(0,d.jsx)("circle",{cx:"9",cy:"12",r:"1.5"}),(0,d.jsx)("circle",{cx:"15",cy:"12",r:"1.5"}),(0,d.jsx)("circle",{cx:"9",cy:"19",r:"1.5"}),(0,d.jsx)("circle",{cx:"15",cy:"19",r:"1.5"})]})}function aC({className:a=""}){return(0,d.jsx)("svg",{className:`${ap} ${a}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:(0,d.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 4v5h5M20 20v-5h-5M20.49 9A9 9 0 005.64 5.64L4 4m16 16l-1.64-1.64A9 9 0 014.51 15"})})}let aD=(0,e.memo)(function({refreshWorktrees:a}){let[b,c]=(0,e.useState)(!1),f=(0,e.useRef)(!1),{showToast:g}=(0,ai.dj)(),h=(0,l.c)("common"),i=(0,e.useCallback)(async()=>{if(!f.current){f.current=!0,c(!0);try{let b=await an.Rx.sync();await a(),g(h("syncSuccess",{count:b.worktreeCount}),"success",3e3)}catch(a){a instanceof an.hD&&401===a.status?g(h("syncAuthError"),"error",5e3):g(h("syncError"),"error",5e3)}finally{f.current=!1,c(!1)}}},[a,g,h]);return(0,d.jsx)(d.Fragment,{children:(0,d.jsx)(S.m_,{content:h("tooltips.sync"),placement:"bottom",children:(0,d.jsx)("button",{type:"button",onClick:i,disabled:b,"aria-label":h("syncButtonLabel"),className:"p-1 rounded-md text-sidebar-muted hover:text-sidebar-foreground hover:bg-sidebar-hover focus:outline-none focus:ring-2 focus:ring-ring disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:(0,d.jsx)(aC,{className:b?"animate-spin":""})})})})});var aE=c(78733),aF=c(44688),aG=c(75903),aH=c(59268),aI=c(38882);let aJ=[{labelKey:"nav.home",href:"/",isActive:a=>"/"===a,icon:(0,d.jsx)(aE.A,{size:20,"aria-hidden":"true"})},{labelKey:"nav.chat",href:"/chat",isActive:a=>a.startsWith("/chat"),icon:(0,d.jsx)(aF.A,{size:20,"aria-hidden":"true"})},{labelKey:"nav.sessions",href:"/sessions",isActive:a=>a.startsWith("/sessions"),icon:(0,d.jsx)(aG.A,{size:20,"aria-hidden":"true"})},{labelKey:"nav.review",href:"/review",isActive:a=>a.startsWith("/review"),icon:(0,d.jsx)(aH.A,{size:20,"aria-hidden":"true"}),showsAttentionBadge:!0},{labelKey:"nav.more",href:"/more",isActive:a=>a.startsWith("/more"),icon:(0,d.jsx)(aI.A,{size:20,"aria-hidden":"true"})}];function aK(){let a=(0,g.usePathname)(),{setOpen:b}=(0,x.C)(),c=(0,l.c)("commandPalette"),e=(0,l.c)("common"),{count:f}=(0,ak.Lv)();return(0,d.jsx)("nav",{"data-testid":"global-mobile-nav",className:"fixed bottom-0 left-0 right-0 z-50 border-t border-border bg-background supports-[backdrop-filter]:bg-background/80 backdrop-blur-md pb-safe",children:(0,d.jsxs)("div",{className:"flex items-center justify-around h-14",children:[aJ.map(b=>{let c=b.isActive(a),g=!0===b.showsAttentionBadge&&f>0;return(0,d.jsxs)(k,{href:g?aj.ks:b.href,className:`flex flex-col items-center justify-center flex-1 h-full text-xs transition-colors ${c?"text-accent-600 dark:text-accent-400":"text-muted-foreground hover:text-foreground"}`,children:[(0,d.jsxs)("span",{className:"relative inline-flex",children:[b.icon,!0===b.showsAttentionBadge&&(0,d.jsx)(am,{count:f})]}),(0,d.jsx)("span",{className:"mt-1 whitespace-nowrap",children:e(b.labelKey)})]},b.href)}),(0,d.jsxs)("button",{type:"button","data-testid":"mobile-command-palette-trigger",onClick:()=>b(!0),"aria-label":c("mobileTrigger"),className:"flex flex-col items-center justify-center flex-1 h-full text-xs text-muted-foreground hover:text-foreground transition-colors",children:[(0,d.jsx)(n.A,{size:20,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"mt-1 whitespace-nowrap",children:c("mobileLabel")})]})]})})}var aL=c(67565),aM=c(50987),aN=c(75234),aO=c(34487),aP=c(25345),aQ=c(96558),aR=c(75692),aS=c(57898),aT=c(35595),aU=c(11010),aV=c(89184),aW=c(63157),aX=c(12480);let aY=[{key:"home",href:"/"},{key:"chat",href:"/chat"},{key:"sessions",href:"/sessions"},{key:"repositories",href:"/repositories"},{key:"review",href:"/review"},{key:"skills",href:"/skills"},{key:"more",href:"/more"}],aZ={home:aE.A,chat:aF.A,sessions:aG.A,repositories:aM.A,review:aH.A,skills:aN.A,more:aI.A};function a$(a){return a.isWaitingForResponse?"waiting":a.isProcessing?"running":a.isSessionRunning?"ready":"idle"}let a_=(0,aT.cn)("flex cursor-pointer items-center gap-2 rounded-md px-2 py-2 text-sm","text-foreground","data-[selected=true]:bg-accent-500/15 data-[selected=true]:text-accent-700","dark:data-[selected=true]:text-accent-300"),a0="shrink-0 text-muted-foreground";function a1(){let{open:a,setOpen:b}=(0,x.C)(),{setOpen:c}=(0,aV.K)(),f=(0,g.useRouter)(),h=(0,l.c)("commandPalette"),i=(0,l.c)("common"),{theme:j,setTheme:k}=(0,q.D)(),{setSize:m,isMobile:p}=(0,E.Ps)(),{currentLocale:t,switchLocale:u}=ae(),v=(0,aW.rC)(),{showToast:y}=(0,ai.dj)(),[z,A]=(0,e.useState)(!1),[B,C]=(0,e.useState)(""),[D,F]=(0,e.useState)([]),G=(0,e.useRef)(null);(0,e.useRef)(null),(0,e.useRef)(a);let H=(0,e.useCallback)((a,c)=>{c&&F(a=>(function(a,b){let c=a.filter(a=>a.kind!==b.kind||a.id!==b.id),d=[b,...c].slice(0,8);try{localStorage.setItem("cm.palette.recents",JSON.stringify(d))}catch{}return d})(a,c)),b(!1),a()},[b]),I=(0,e.useCallback)(async()=>{try{await an.Rx.sync(),await v?.refresh?.(),y(h("actions.syncSuccess"),"success")}catch{y(h("actions.syncError"),"error")}},[v,y,h]),J="dark"===j,L=""===B.trim(),M=v?.error??null,O=v?.isLoading??!1,P=M?[]:v?.worktrees??[],Q=P.length>0,R=!M&&O&&0===P.length,S=[...P].sort((a,b)=>{let c=+!!a.isSessionRunning,d=+!!b.isSessionRunning;if(c!==d)return d-c;let e=a.updatedAt?new Date(a.updatedAt).getTime():0;return(b.updatedAt?new Date(b.updatedAt).getTime():0)-e}),T=L?S.slice(0,8):S,U=[{id:"theme",label:J?h("actions.toLight"):h("actions.toDark"),icon:J?r.A:s.A,run:()=>k(J?"light":"dark")},...p?[]:aX.Uf.map(a=>({id:`displaysize:${a}`,label:`${h("actions.displaySizePrefix")}: ${i(`displaySize.${a}`)}`,icon:aO.A,run:()=>m(a)})),{id:"sync",label:h("actions.syncRepositories"),icon:aP.A,run:()=>{I()}},{id:"locale",label:h("actions.switchLanguage"),icon:aQ.A,run:()=>u("ja"===t?"en":"ja")},{id:"github",label:h("actions.openGitHub"),icon:o.A,run:()=>window.open("https://github.com/kewton/MyCodeBranchDesk","_blank","noopener,noreferrer")},{id:"keyboardShortcuts",label:h("actions.keyboardShortcuts"),icon:aR.A,run:()=>c(!0)}],V=L?D.map(a=>{if("nav"===a.kind){let b=aY.find(b=>b.key===a.id);if(!b)return null;let c=aZ[b.key],e=i(`nav.${b.key}`);return{id:`nav-${b.key}`,value:`recent nav ${b.key}`,node:(0,d.jsxs)(d.Fragment,{children:[c&&(0,d.jsx)(c,{size:16,className:a0,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"truncate",children:e})]}),onSelect:()=>H(()=>f.push(b.href),{kind:"nav",id:b.key})}}if("worktree"===a.kind){let b=P.find(b=>b.id===a.id);if(!b)return null;let c=b.repositoryDisplayName||b.repositoryName||"",e=b.branch||b.name;return{id:`worktree-${b.id}`,value:`recent worktree ${b.id}`,node:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(aS.A,{size:16,className:a0,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"truncate",children:e}),c&&(0,d.jsx)("span",{className:"ml-auto truncate pl-2 text-xs text-muted-foreground",children:c}),(0,d.jsx)(N.m,{status:a$(b),size:"sm",className:c?"ml-2":"ml-auto"})]}),onSelect:()=>H(()=>f.push(`/worktrees/${b.id}`),{kind:"worktree",id:b.id})}}let b=U.find(b=>b.id===a.id);if(!b)return null;let c=b.icon;return{id:`action-${b.id}`,value:`recent action ${b.id}`,node:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(c,{size:16,className:a0,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"truncate",children:b.label})]}),onSelect:()=>H(b.run,{kind:"action",id:b.id})}}).filter(a=>null!==a):[];return z?(0,K.createPortal)((0,d.jsx)(d.Fragment,{children:a&&(0,d.jsxs)("div",{className:"fixed inset-0 overflow-y-auto",style:{zIndex:aU.M.MODAL},"data-testid":"command-palette",children:[(0,d.jsx)("div",{"data-state":"open","aria-hidden":"true",className:"fixed inset-0 bg-black/40 backdrop-blur-sm transition-opacity data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:duration-200",onClick:()=>b(!1)}),(0,d.jsx)("div",{className:"relative flex min-h-full items-start justify-center p-4 pt-[15vh]",children:(0,d.jsx)("div",{"data-state":"open","data-testid":"command-palette-panel",className:(0,aT.cn)("relative w-full max-w-lg overflow-hidden rounded-xl bg-surface/95 shadow-2xl ring-1 ring-border backdrop-blur-xl","data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:duration-200"),children:(0,d.jsxs)(aL.uB,{label:h("title"),className:(0,aT.cn)("flex flex-col","[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:pb-1 [&_[cmdk-group-heading]]:pt-2","[&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground"),children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 border-b border-border px-3",children:[(0,d.jsx)(n.A,{size:16,strokeWidth:2,"aria-hidden":"true",className:"shrink-0 text-muted-foreground"}),(0,d.jsx)(aL.uB.Input,{ref:G,value:B,onValueChange:C,placeholder:h("placeholder"),"data-testid":"command-palette-input",className:"flex-1 bg-transparent py-3 text-sm text-foreground outline-none placeholder:text-muted-foreground"})]}),(0,d.jsxs)(aL.uB.List,{className:"max-h-[min(60vh,360px)] overflow-y-auto p-2",children:[(0,d.jsx)(aL.uB.Empty,{"data-testid":"command-palette-empty",className:"py-6 text-center text-sm text-muted-foreground",children:h("empty")}),R&&(0,d.jsx)(aL.uB.Loading,{"data-testid":"command-palette-loading",className:"py-6 text-center text-sm text-muted-foreground",children:h("loading")}),V.length>0&&(0,d.jsx)(aL.uB.Group,{heading:h("groups.recent"),children:V.map(a=>(0,d.jsx)(aL.uB.Item,{value:a.value,onSelect:a.onSelect,className:a_,children:a.node},a.id))}),(0,d.jsx)(aL.uB.Group,{heading:h("groups.navigation"),children:aY.map(a=>{let b=i(`nav.${a.key}`),c=aZ[a.key];return(0,d.jsxs)(aL.uB.Item,{value:`nav ${b} ${a.href}`,onSelect:()=>H(()=>f.push(a.href),{kind:"nav",id:a.key}),className:a_,children:[c&&(0,d.jsx)(c,{size:16,className:a0,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"truncate",children:b})]},a.key)})}),Q&&(0,d.jsx)(aL.uB.Group,{heading:h("groups.worktrees"),children:T.map(a=>{let b=a.repositoryDisplayName||a.repositoryName||"",c=a.branch||a.name;return(0,d.jsxs)(aL.uB.Item,{value:`worktree ${b} ${c} ${a.name} ${a.id}`,onSelect:()=>H(()=>f.push(`/worktrees/${a.id}`),{kind:"worktree",id:a.id}),className:a_,children:[(0,d.jsx)(aS.A,{size:16,className:a0,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"truncate",children:c}),b&&(0,d.jsx)("span",{className:"ml-auto truncate pl-2 text-xs text-muted-foreground",children:b}),(0,d.jsx)(N.m,{status:a$(a),size:"sm",className:b?"ml-2":"ml-auto"})]},a.id)})}),(0,d.jsx)(aL.uB.Group,{heading:h("groups.actions"),children:U.map(a=>{let b=a.icon;return(0,d.jsxs)(aL.uB.Item,{value:`action ${a.id} ${a.label}`,onSelect:()=>H(a.run,{kind:"action",id:a.id}),className:a_,children:[(0,d.jsx)(b,{size:16,className:a0,"aria-hidden":"true"}),(0,d.jsx)("span",{className:"truncate",children:a.label})]},a.id)})})]}),(0,d.jsxs)("div",{className:"flex items-center gap-3 border-t border-border bg-surface-2 px-3 py-2 text-[11px] text-muted-foreground",children:[(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)(w.u,{children:"↑"}),(0,d.jsx)(w.u,{children:"↓"}),h("footer.navigate")]}),(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)(w.u,{children:"↵"}),h("footer.select")]}),(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)(w.u,{children:"esc"}),h("footer.close")]})]})]})})})]})}),document.body):null}var a2=c(98033);let a3=["global","terminal","composer","editor"],a4=[{id:"commandPalette",keys:["MOD","K"],scope:"global"},{id:"keyboardHelp",keys:["?"],scope:"global"},{id:"closeOverlay",keys:["Esc"],scope:"global"},{id:"navigateList",keys:["↑","↓"],scope:"global"},{id:"terminalSearch",keys:["MOD","F"],scope:"terminal"},{id:"toggleSurfaceMode",keys:["MOD","Shift","M"],scope:"terminal"},{id:"sendMessage",keys:["↵"],scope:"composer"},{id:"composerNewline",keys:["Shift","↵"],scope:"composer"},{id:"editorIndent",keys:["Tab"],scope:"editor"},{id:"editorOutdent",keys:["Shift","Tab"],scope:"editor"},{id:"editorTabFocus",keys:["Ctrl","M"],scope:"editor"},{id:"editorSave",keys:["MOD","S"],scope:"editor"},{id:"editorFullscreen",keys:["MOD","Shift","F"],scope:"editor"}];function a5(){let{open:a,setOpen:b}=(0,aV.K)(),{open:c}=(0,x.C)(),f=(0,l.c)("keyboardShortcuts"),[g,h]=(0,e.useState)(!1);(0,e.useRef)(a),(0,e.useRef)(c);let i=function(a=a4){return a3.map(b=>({scope:b,shortcuts:a.filter(a=>a.scope===b)})).filter(a=>a.shortcuts.length>0)}();return(0,d.jsx)(a2.a,{isOpen:a,onClose:()=>b(!1),title:f("title"),size:"md",children:(0,d.jsx)("div",{"data-testid":"keyboard-shortcuts-overlay",className:"space-y-6",children:i.map(({scope:a,shortcuts:b})=>(0,d.jsxs)("section",{"data-testid":`keyboard-shortcuts-scope-${a}`,children:[(0,d.jsx)("h4",{className:"mb-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:f(`scopes.${a}`)}),(0,d.jsx)("ul",{className:"divide-y divide-border",children:b.map(a=>(0,d.jsxs)("li",{"data-testid":`keyboard-shortcut-${a.id}`,className:"flex items-center justify-between gap-4 py-2",children:[(0,d.jsx)("span",{className:"text-sm text-foreground",children:f(`shortcuts.${a.id}`)}),(0,d.jsx)("span",{className:"flex flex-shrink-0 items-center gap-1",children:a.keys.map((a,b)=>(0,d.jsx)(w.u,{children:"MOD"===a?g?"⌘":"Ctrl":a},b))})]},a.id))})]},a))})})}var a6=c(18608);let a7="transform transition-transform duration-300 ease-out",a8=(0,e.memo)(function({children:a}){let{isOpen:b,isMobileDrawerOpen:c,closeMobileDrawer:f,width:h,setWidth:i}=(0,A.VF)(),j=(0,B.a)(),{showSidebar:k,showGlobalNav:l}=function(){var a=(0,g.usePathname)();for(let b of D)if(a.startsWith(b.prefix))return{...C,...b.config};return{...C}}(),{factor:m}=(0,E.Ps)(),n=Math.round(160*m),o=Math.round(480*m),p=Math.round(Math.min(o,Math.max(n,h*m))),q=(0,e.useRef)(null),r=(0,e.useRef)(null),s=(0,e.useCallback)(a=>{i(Math.round(a/m))},[i,m]);return j?(0,d.jsxs)("div",{"data-testid":"app-shell",className:"h-screen flex flex-col",children:[c&&(0,d.jsx)("div",{"data-testid":"drawer-overlay",className:"fixed inset-0 bg-black/50 z-40",onClick:f,"aria-hidden":"true"}),k&&(0,d.jsx)("aside",{"data-testid":"sidebar-container",className:`
12
12
  fixed left-0 top-0 h-full w-72 z-50
13
- ${ba}
13
+ ${a7}
14
14
  ${c?"translate-x-0":"-translate-x-full"}
15
- `,role:"complementary",children:(0,d.jsx)(at,{})}),(0,d.jsx)("main",{className:`flex-1 min-h-0 overflow-hidden ${l?"pb-14":""}`,role:"main","data-view-transition":"content",children:a}),l&&(0,d.jsx)(aK,{}),(0,d.jsx)(a1,{}),(0,d.jsx)(a5,{}),(0,d.jsx)(a9,{})]}):(0,d.jsxs)("div",{"data-testid":"app-shell",className:"h-screen flex flex-col",children:[l&&(0,d.jsx)(z,{}),(0,d.jsxs)("div",{className:"flex flex-1 min-h-0",children:[k&&(0,d.jsxs)("aside",{ref:q,"data-testid":"sidebar-container",className:`
15
+ `,role:"complementary",children:(0,d.jsx)(at,{})}),(0,d.jsx)("main",{className:`flex-1 min-h-0 overflow-hidden ${l?"pb-14":""}`,role:"main","data-view-transition":"content",children:a}),l&&(0,d.jsx)(aK,{}),(0,d.jsx)(a1,{}),(0,d.jsx)(a5,{}),(0,d.jsx)(a6.n,{})]}):(0,d.jsxs)("div",{"data-testid":"app-shell",className:"h-screen flex flex-col",children:[l&&(0,d.jsx)(z,{}),(0,d.jsxs)("div",{className:"flex flex-1 min-h-0",children:[k&&(0,d.jsxs)("aside",{ref:q,"data-testid":"sidebar-container",className:`
16
16
  fixed left-0
17
17
  ${l?"top-16 h-[calc(100vh-4rem)]":"top-0 h-full"}
18
18
  border-r border-border
19
- ${ba}
19
+ ${a7}
20
20
  ${b?"translate-x-0":"-translate-x-full"}
21
- `,style:{width:`${p}px`,zIndex:aU.M.SIDEBAR},role:"complementary","aria-hidden":!b,children:[(0,d.jsx)(at,{}),(0,d.jsx)(bc,{currentWidth:p,minWidth:n,maxWidth:o,sidebarRef:q,mainRef:r,onWidthChange:s})]}),(0,d.jsx)("main",{ref:r,className:"flex-1 min-w-0 h-full overflow-hidden transition-[padding] duration-300 ease-out",style:{paddingLeft:k&&b?`${p}px`:0},role:"main","data-view-transition":"content",children:a})]}),(0,d.jsx)(a1,{}),(0,d.jsx)(a5,{}),(0,d.jsx)(a9,{})]})});function bc({currentWidth:a,minWidth:b,maxWidth:c,sidebarRef:e,mainRef:f,onWidthChange:g}){return(0,d.jsx)("div",{"data-testid":"sidebar-resize-handle","aria-hidden":"true",onMouseDown:d=>{d.preventDefault();let h=d.clientX,i=a;f.current&&(f.current.style.transition="none");let j=d=>{i=Math.max(b,Math.min(c,a+(d.clientX-h))),e.current&&(e.current.style.width=`${i}px`),f.current&&(f.current.style.paddingLeft=`${i}px`)},k=()=>{document.body.style.cursor="",document.body.style.userSelect="",f.current&&(f.current.style.transition=""),document.removeEventListener("mousemove",j),document.removeEventListener("mouseup",k),g(i)};document.body.style.cursor="col-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",j),document.addEventListener("mouseup",k)},className:"absolute top-0 right-0 w-1 h-full cursor-col-resize hover:bg-accent-500/40 transition-colors"})}},81497:(a,b,c)=>{c.d(b,{nR:()=>g});var d=c(21124),e=c(38301),f=c(23312);function g({content:a,delay:b=200,className:c,children:g,metadata:h}){let i=(0,e.useRef)(null),j=(0,e.useRef)(null),k=(0,e.useRef)(null),l=(0,e.useRef)(null),[m,n]=(0,e.useState)(!1),[o,p]=(0,e.useState)({top:-9999,left:-9999}),q=(0,e.useCallback)(()=>{null!==k.current&&(clearTimeout(k.current),k.current=null)},[]),r=(0,e.useCallback)(()=>{let a=i.current;a&&(a.scrollWidth>a.clientWidth||h)&&(q(),k.current=setTimeout(()=>{let b=a.getBoundingClientRect(),c=b.left;l.current={top:b.top,bottom:b.bottom},p({top:b.bottom+4,left:Math.min(b.left,c)}),n(!0),k.current=null},b))},[q,b,h]),s=(0,e.useCallback)(()=>{q(),n(!1)},[q]);return(0,d.jsxs)("span",{ref:i,className:c,onMouseEnter:r,onMouseLeave:s,children:[g??a,m&&"undefined"!=typeof document&&(0,f.createPortal)((0,d.jsxs)("span",{ref:j,role:"tooltip","aria-hidden":"true",className:"fixed z-[9999] max-w-md px-2 py-1 text-xs font-medium rounded bg-foreground text-background shadow-lg pointer-events-none",style:{top:o.top,left:o.left},children:[(0,d.jsx)("span",{className:"block break-all",children:a}),h&&(0,d.jsx)("span",{className:"mt-0.5 block whitespace-pre-line font-normal text-background/70",children:h})]}),document.body)]})}}};
21
+ `,style:{width:`${p}px`,zIndex:aU.M.SIDEBAR},role:"complementary","aria-hidden":!b,children:[(0,d.jsx)(at,{}),(0,d.jsx)(a9,{currentWidth:p,minWidth:n,maxWidth:o,sidebarRef:q,mainRef:r,onWidthChange:s})]}),(0,d.jsx)("main",{ref:r,className:"flex-1 min-w-0 h-full overflow-hidden transition-[padding] duration-300 ease-out",style:{paddingLeft:k&&b?`${p}px`:0},role:"main","data-view-transition":"content",children:a})]}),(0,d.jsx)(a1,{}),(0,d.jsx)(a5,{}),(0,d.jsx)(a6.n,{})]})});function a9({currentWidth:a,minWidth:b,maxWidth:c,sidebarRef:e,mainRef:f,onWidthChange:g}){return(0,d.jsx)("div",{"data-testid":"sidebar-resize-handle","aria-hidden":"true",onMouseDown:d=>{d.preventDefault();let h=d.clientX,i=a;f.current&&(f.current.style.transition="none");let j=d=>{i=Math.max(b,Math.min(c,a+(d.clientX-h))),e.current&&(e.current.style.width=`${i}px`),f.current&&(f.current.style.paddingLeft=`${i}px`)},k=()=>{document.body.style.cursor="",document.body.style.userSelect="",f.current&&(f.current.style.transition=""),document.removeEventListener("mousemove",j),document.removeEventListener("mouseup",k),g(i)};document.body.style.cursor="col-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",j),document.addEventListener("mouseup",k)},className:"absolute top-0 right-0 w-1 h-full cursor-col-resize hover:bg-accent-500/40 transition-colors"})}},77560:(a,b,c)=>{c.d(b,{$h:()=>l,DR:()=>e,IH:()=>j,Iu:()=>d,Nb:()=>m,SD:()=>f,_d:()=>i,bm:()=>n,ks:()=>h,t7:()=>k,z7:()=>g});let d=7e3,e=["in_review","approval","stalled"],f="in_review",g="filter",h=`/review?${g}=approval`;function i(a){return a&&e.includes(a)?a:null}let j=["claude","codex","copilot","antigravity","opencode"],k=1e3,l=5,m=100,n=1e3},81497:(a,b,c)=>{c.d(b,{nR:()=>g});var d=c(21124),e=c(38301),f=c(23312);function g({content:a,delay:b=200,className:c,children:g,metadata:h}){let i=(0,e.useRef)(null),j=(0,e.useRef)(null),k=(0,e.useRef)(null),l=(0,e.useRef)(null),[m,n]=(0,e.useState)(!1),[o,p]=(0,e.useState)({top:-9999,left:-9999}),q=(0,e.useCallback)(()=>{null!==k.current&&(clearTimeout(k.current),k.current=null)},[]),r=(0,e.useCallback)(()=>{let a=i.current;a&&(a.scrollWidth>a.clientWidth||h)&&(q(),k.current=setTimeout(()=>{let b=a.getBoundingClientRect(),c=b.left;l.current={top:b.top,bottom:b.bottom},p({top:b.bottom+4,left:Math.min(b.left,c)}),n(!0),k.current=null},b))},[q,b,h]),s=(0,e.useCallback)(()=>{q(),n(!1)},[q]);return(0,d.jsxs)("span",{ref:i,className:c,onMouseEnter:r,onMouseLeave:s,children:[g??a,m&&"undefined"!=typeof document&&(0,f.createPortal)((0,d.jsxs)("span",{ref:j,role:"tooltip","aria-hidden":"true",className:"fixed z-[9999] max-w-md px-2 py-1 text-xs font-medium rounded bg-foreground text-background shadow-lg pointer-events-none",style:{top:o.top,left:o.left},children:[(0,d.jsx)("span",{className:"block break-all",children:a}),h&&(0,d.jsx)("span",{className:"mt-0.5 block whitespace-pre-line font-normal text-background/70",children:h})]}),document.body)]})}}};
@@ -1 +1 @@
1
- "use strict";exports.id=7905,exports.ids=[7905],exports.modules={4970:(a,b,c)=>{c.d(b,{Fq:()=>g,wK:()=>h});var d=c(22354),e=c(48083);let f=(0,c(72626).h)("lib/session/agent-session-lifecycle");function g(a,b=Date.now()){let c=(0,e.n5)(a.worktreeId,a.cliToolId,a.instanceId).decisionEvicted;(0,e.dj)(a.worktreeId,a.cliToolId,a.instanceId,b);let h=(0,e.n5)(a.worktreeId,a.cliToolId,a.instanceId).decisionEvicted,i=(0,d.VM)(a.cliToolId);f.info("agent-session-generation-begun",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,transport:i.transport,decisionsEvicted:h-c})}function h(a){return(0,d.K9)((0,d.VM)(a.target.cliToolId).prepareLaunch(a))}},11472:(a,b,c)=>{c.d(b,{Bl:()=>e,GE:()=>j,Hg:()=>k,ow:()=>i,vg:()=>g,w9:()=>f});var d=c(51297);let e=["$","%","#"],f=40,g=[/^[\w.-]+@[\w.-]+[\s:].*[$%#]$/,/^\[[\w.-]+@[\w.-]+[^\]]*\][$#]$/];function h(a){return a.split("\n").filter(a=>""!==a.trim())}function i(a,b){let c=h(a.trim()).slice(-10).join("\n");for(let a of b.fatalPatterns)if(c.includes(a))return a;for(let a of b.fatalRegexPatterns)if(a.test(c))return a.source;return null}function j(a,b){let c=h(a.trim()),d=c[c.length-1]?.trim()??"";return!/\d+%$/.test(d)&&b.shellPromptPatterns.some(a=>a.test(d))?{line:d,via:"pattern"}:d.length>=b.maxShellPromptLength?null:b.shellPromptEndings.some(a=>!(!d.endsWith(a)||"%"===a&&/\d+%$/.test(d)))?{line:d,via:"ending"}:null}function k(a,b){let c=(0,d.aJ)(a).trim();if(""===c)return b.unreadableIsExited?{alive:!1,reason:"empty output"}:{alive:!0};let e=h(c),f=null===b.aliveTailLines?c:e.slice(-b.aliveTailLines).join("\n");if(b.alivePatterns.some(a=>a.test(f)))return{alive:!0};let g=i(c,b);if(null!==g)return{alive:!1,reason:`error pattern: ${g}`};let k=j(c,b);return null!==k?"pattern"===k.via?{alive:!1,reason:`shell prompt detected: ${k.line}`}:{alive:!1,reason:`shell prompt ending detected: ${k.line}`}:{alive:!0}}},20610:(a,b,c)=>{c.d(b,{CV:()=>i,Em:()=>n,Is:()=>g,KI:()=>j,PY:()=>m,Rk:()=>l,Uc:()=>d,Zf:()=>h,kZ:()=>o,os:()=>k,pL:()=>e,x9:()=>f});let d=100,e=100,f=200,g=300,h=500,i=500,j=2e3,k=300,l=3e3,m=200,n=100,o=1e3},40236:(a,b,c)=>{c.d(b,{FW:()=>p});var d=c(79892),e=c(93997),f=c(56717),g=c(85164),h=c(20610),i=c(72626),j=c(87673);let k=(0,i.h)("cli-tools/submit-verified-sender"),l=/\[Pasted text[\s#]/,m=/^\/[A-Za-z]/,n=/^\s*(?:ctx:\d+%\s*)?[>❯›]/;async function o(a,b,c=(0,f.gc)(b)){if(!c.clearBeforeSend)return;let d=await (0,j.sr)(a,b);if("content"===d.state)throw k.error("pre-send-composer-clear-failed",{sessionName:a,cliToolId:b,passes:d.passes,remainingLength:d.remainingText.length,remainingText:d.remainingText}),Error(`Composer for session ${a} still holds unsent text after ${d.passes} clear passes; refusing to type the message, which would be concatenated with it (Issue #1880).`);d.passes>0&&k.warn("pre-send-composer-cleared",{sessionName:a,cliToolId:b,passes:d.passes,state:d.state,discardedLength:d.discardedText.length,discardedText:d.discardedText})}async function p(a){let{sessionName:b,message:c,cliToolId:i,composer:j=(0,f.gc)(i),textInputWaitMs:p=h.pL,interEnterWaitMs:q=h.pL,verifyAttempts:r=4,verifyDelayMs:s=h.x9}=a,t=a.submitEnterCount??j.submitEnterCount;await o(b,i,j),await (0,d.V1)(b,c,!1,{literal:!0}),await new Promise(a=>setTimeout(a,p));for(let a=0;a<Math.max(1,t);a++)await (0,d.KB)(b,["Enter"]),a<t-1&&await new Promise(a=>setTimeout(a,q));let u=Math.max(1,r);for(let a=0;a<u;a++){await new Promise(a=>setTimeout(a,s));let h=function(a,b,c,d=(0,f.gc)(b)){let e=(0,g.aJ)(a).split("\n"),h=e.slice(-12),i=h.join("\n");if((0,g.ut)(b,i))return"submitted";let j=function(a,b,c){if("opencode-box"===a){let a=(0,g.mu)(b);if(null===a)return{kind:"absent"};if(a.some(a=>g.vU.test(a)))return{kind:"empty"};let c=a.map(g.pV).find(a=>a.length>0);return void 0===c?{kind:"empty"}:{kind:"text",text:c,rows:a}}if("input-line-marker"!==a)return{kind:"absent"};let d=function(a){for(let b=a.length-1;b>=0;b--)if(n.test(a[b]))return a[b];return null}(c);if(null===d)return{kind:"absent"};let e=d.replace(n,"").trim();return 0===e.length?{kind:"empty"}:{kind:"text",text:e,rows:[d]}}(d.reader,e,h);return"text"!==j.kind?"submitted":j.rows.some(a=>l.test(a))||function(a,b){let c=b.split("\n").map(a=>a.trim()).find(a=>a.length>0)??"";return 0!==c.length&&c.startsWith(a)}(j.text,c)?"pending":m.test(j.text)?"replaced":"submitted"}(await (0,d.Xg)(b,{startLine:-j.verifyCaptureLines}),i,c,j);if("submitted"===h)return void(0,e.gm)(b);if("replaced"===h){try{await (0,d.Ce)(b)}catch(a){k.error("submit-clear-input-failed",{sessionName:b,cliToolId:i,error:a instanceof Error?a.message:String(a)})}throw(0,e.gm)(b),k.error("submit-replaced-by-tui-completion",{sessionName:b,cliToolId:i,attempt:a}),Error(`Message was replaced by a TUI autocompletion for session ${b}; the input no longer matches the sent text. Cleared the input line without submitting to avoid executing a different command.`)}k.warn("submit-not-confirmed:resending-enter",{sessionName:b,cliToolId:i,attempt:a}),await (0,d.KB)(b,["Enter"])}throw(0,e.gm)(b),k.error("submit-verification-failed",{sessionName:b,cliToolId:i,attempts:u}),Error(`Message submit could not be confirmed for session ${b} after ${u} attempts (typed but unsent)`)}},50945:(a,b,c)=>{c.d(b,{Q:()=>g,S:()=>h});var d=c(79892),e=c(11472),f=c(91536);async function g(a,b){let c;try{c=await (0,d.Xg)(a,{startLine:-b.probeCaptureLines})}catch{c=void 0}return"string"!=typeof c?b.unreadableIsExited?{alive:!1,reason:"capture error"}:{alive:!0}:(0,e.Hg)(c,b)}async function h(a,b){return g(a,(0,f.H7)(b))}},56717:(a,b,c)=>{c.d(b,{gc:()=>g});var d=c(16983);let e={reader:"input-line-marker",verifyCaptureLines:12,clearBeforeSend:!0,submitEnterCount:1},f={claude:e,codex:e,gemini:{...e,clearBeforeSend:!1},copilot:{...e,clearBeforeSend:!1},antigravity:{...e,clearBeforeSend:!1},"vibe-local":{...e,clearBeforeSend:!1,submitEnterCount:2},opencode:{reader:"opencode-box",verifyCaptureLines:d.xT,clearBeforeSend:!1,submitEnterCount:1}};function g(a){return f[a]??e}},57905:(a,b,c)=>{c.d(b,{c0:()=>P,zw:()=>L,Yq:()=>M,pU:()=>O,R7:()=>N,VU:()=>Q});var d=c(79892),e=c(85164),f=c(11472),g=c(91536),h=c(50945),i=c(40236),j=c(93997),k=c(77093),l=c(20610),m=c(79646),n=c(28354),o=c(72626);let p=(0,o.h)("session-key-sender"),q=(0,n.promisify)(m.exec);async function r(a,b=50){let c=await (0,d.Xg)(a,{startLine:-b});return(0,e.aJ)(c)}async function s(a){await q("tmux set-environment -g -u CLAUDECODE 2>/dev/null || true"),await (0,d.V1)(a,"unset CLAUDECODE",!0),await new Promise(a=>setTimeout(a,l.Em))}async function t(a,b){let c=Date.now();for(;Date.now()-c<b;){let b=await r(a);if(e.hx.test(b))return;await new Promise(a=>setTimeout(a,200))}throw Error(`Prompt detection timeout (${b}ms)`)}async function u(a,b,c,f){if(!await (0,d.N)(a))throw Error(`Claude session ${a} does not exist. Start the session first.`);let g=await r(a);e.hx.test(g)||await t(a,f),await new Promise(a=>setTimeout(a,c)),await (0,i.FW)({sessionName:a,message:b,cliToolId:"claude"}),(0,j.gm)(a),p.info("sent-message-to-session",{sessionName:a})}async function v(a){try{await (0,d.N)(a)&&(await (0,d.V1)(a,"",!1),await (0,d.ds)(a,"C-d"),(0,j.gm)(a),await new Promise(a=>setTimeout(a,l.Zf)));let b=await (0,d.fY)(a);return b&&p.info("stopped-session",{sessionName:a}),b}catch(a){return p.error("session:stop-failed",{error:(0,k.u1)(a)}),!1}}var w=c(79748),x=c(15194),y=c(22354),z=c(4970),A=c(48083),B=c(2669);let C=(0,o.h)("claude-session"),D=(0,n.promisify)(m.exec),E=(0,g.H7)("claude"),F=null;async function G(){if(F)return F;let a=process.env.CLAUDE_PATH;if(a&&(/^[/a-zA-Z0-9._-]+$/.test(a)?!a.includes("..")||(C.info("claudepath-contains-path"),!1):(C.info("claudepath-contains-invalid-characters-i"),!1)))try{return await (0,w.access)(a,w.constants.X_OK),F=a}catch{C.info("claudepath-is-not-executable:envclaudepa")}try{let{stdout:a}=await D("which claude",{timeout:5e3});return F=a.trim()}catch{for(let a of["/opt/homebrew/bin/claude","/usr/local/bin/claude","/usr/bin/claude"])try{return await D(`test -x "${a}"`,{timeout:1e3}),F=a}catch{}throw Error("Claude CLI not found. Set CLAUDE_PATH environment variable or install Claude CLI.")}}async function H(a,b=50){let c=await (0,d.Xg)(a,{startLine:-b});return(0,e.aJ)(c)}async function I(a){let b=await (0,h.Q)(a,E);return b.alive?{healthy:!0}:{healthy:!1,reason:b.reason}}async function J(a){return!!(await I(a)).healthy||(C.warn("session-sessionname-unhealthy:resultreas"),await (0,d.fY)(a),!1)}function K(a,b){let c=`mcbd-claude-${a}`;if(!b||"claude"===b)return c;let d=(0,x.pL)(b,"claude");return d?`${c}-${d}`:c}async function L(){try{return await D("which claude",{timeout:5e3}),!0}catch{return!1}}async function M(a,b){let c=K(a,b);return!!await (0,d.N)(c)&&(!!(await I(c)).healthy||(C.warn("session-sessionname-unhealthy:resultreas"),!1))}async function N(a){let{worktreeId:b,worktreePath:c,instanceId:g}=a;if(!await L())throw new B.lU("Claude Code","Claude CLI is not installed or not in PATH");let h=K(b,g);if(await (0,d.N)(h)&&await J(h)){await (0,d.zT)(h),C.info("claude-session-sessionname");return}(0,z.Fq)({worktreeId:b,cliToolId:y.vm,instanceId:g});try{await (0,d.jw)({sessionName:h,workingDirectory:c}),await s(h);let a=await G(),j=(0,z.wK)({target:{worktreeId:b,cliToolId:y.vm,instanceId:g},executablePath:a,worktreePath:c});await (0,d.V1)(h,j,!0);let k=Date.now(),l=!1,m=!1;for(;Date.now()-k<6e4;){var i;await new Promise(a=>setTimeout(a,300));let a=null;try{a=await H(h)}catch{}if(null===a)continue;if(e.hx.test(a)){await new Promise(a=>setTimeout(a,500)),C.info("claude-initialized-in"),l=!0;break}if(!m&&e.CX.test(a))try{await (0,d.V1)(h,"",!0),m=!0,C.info("trust-dialog-detected")}catch{}let b=(i=a,(0,f.ow)(i,E));if(null!==b)throw new B.mR("Claude Code",h,b)}if(!l)throw new B.Sr("Claude Code",h,6e4);C.info("started-claude-session:sessionname")}catch(a){if(F=null,C.error("session:start-failed",{error:a instanceof Error?a.message:String(a)}),(0,B.su)(a))throw a;throw Error("Failed to start Claude session")}}async function O(a,b,c){let d=K(a,c);await u(d,b,500,1e4)}async function P(a,b=1e3,c){let e=K(a,c);if(!await (0,d.N)(e))throw Error(`Claude session ${e} does not exist`);try{return await (0,d.Xg)(e,{startLine:-b})}catch(a){throw Error(`Failed to capture Claude output: ${a instanceof Error?a.message:String(a)}`)}}async function Q(a,b){let c=K(a,b),d=await v(c);return(0,A.je)(a,"claude",b),d}},77093:(a,b,c)=>{c.d(b,{u1:()=>d});function d(a){return a instanceof Error?a.message:String(a)}},87673:(a,b,c)=>{c.d(b,{sr:()=>i});var d=c(79892),e=c(93997),f=c(94154);let g=(0,c(72626).h)("composer-clear"),h=a=>new Promise(b=>setTimeout(b,a));async function i(a,b,c={}){let j=c.capture??(a=>(0,d.Xg)(a,200)),k=c.sendClear??d.ou,l=c.delay??h,m=c.maxPasses??12,n=0,o=(0,f.ji)(await j(a),b),p="content"===o.state?o.text:"";for(;"content"===o.state&&n<m;)await k(a),n++,await l(120),o=(0,f.ji)(await j(a),b);n>0&&(0,e.gm)(a);let q="empty"===o.state||"ghost"===o.state;return q||g.warn("composer-clear:not-cleared",{sessionName:a,cliToolId:b,passes:n,state:o.state}),{cleared:q,passes:n,state:o.state,remainingText:o.text,discardedText:p}}},91536:(a,b,c)=>{c.d(b,{H7:()=>i});var d=c(85164),e=c(11472);let f={probeCaptureLines:50,shellPromptEndings:e.Bl,maxShellPromptLength:e.w9,fatalPatterns:[],fatalRegexPatterns:[]},g={aliveTailLines:12,shellPromptPatterns:e.vg,unreadableIsExited:!1},h={claude:{...f,alivePatterns:[d.hx],aliveTailLines:null,shellPromptPatterns:[],unreadableIsExited:!0,fatalPatterns:d.F0,fatalRegexPatterns:d.Fw},codex:{...f,...g,alivePatterns:[d.gm,d.sB,d.Mt]},copilot:{...f,...g,alivePatterns:[d.Du,d.Ub,d.tJ,d.rb]},opencode:{...f,...g,alivePatterns:[d.vU,d.uA,d.Cc,d.LO,d.a2]},gemini:{...f,...g,alivePatterns:[d.wN,d.s0]},antigravity:{...f,...g,alivePatterns:[d.lE,d.kT,d.VF]},"vibe-local":{...f,...g,alivePatterns:[d.Dj,d.b2]}};function i(a){return h[a]??h.claude}}};
1
+ "use strict";exports.id=7905,exports.ids=[7905],exports.modules={4970:(a,b,c)=>{c.d(b,{Fq:()=>g,wK:()=>h});var d=c(22354),e=c(48083);let f=(0,c(72626).h)("lib/session/agent-session-lifecycle");function g(a,b=Date.now()){let c=(0,e.n5)(a.worktreeId,a.cliToolId,a.instanceId).decisionEvicted;(0,e.dj)(a.worktreeId,a.cliToolId,a.instanceId,b);let h=(0,e.n5)(a.worktreeId,a.cliToolId,a.instanceId).decisionEvicted,i=(0,d.VM)(a.cliToolId);f.info("agent-session-generation-begun",{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId,transport:i.transport,decisionsEvicted:h-c})}function h(a){return(0,d.K9)((0,d.VM)(a.target.cliToolId).prepareLaunch(a))}},11472:(a,b,c)=>{c.d(b,{Bl:()=>e,GE:()=>j,Hg:()=>k,ow:()=>i,vg:()=>g,w9:()=>f});var d=c(51297);let e=["$","%","#"],f=40,g=[/^[\w.-]+@[\w.-]+[\s:].*[$%#]$/,/^\[[\w.-]+@[\w.-]+[^\]]*\][$#]$/];function h(a){return a.split("\n").filter(a=>""!==a.trim())}function i(a,b){let c=h(a.trim()).slice(-10).join("\n");for(let a of b.fatalPatterns)if(c.includes(a))return a;for(let a of b.fatalRegexPatterns)if(a.test(c))return a.source;return null}function j(a,b){let c=h(a.trim()),d=c[c.length-1]?.trim()??"";return!/\d+%$/.test(d)&&b.shellPromptPatterns.some(a=>a.test(d))?{line:d,via:"pattern"}:d.length>=b.maxShellPromptLength?null:b.shellPromptEndings.some(a=>!(!d.endsWith(a)||"%"===a&&/\d+%$/.test(d)))?{line:d,via:"ending"}:null}function k(a,b){let c=(0,d.aJ)(a).trim();if(""===c)return b.unreadableIsExited?{alive:!1,reason:"empty output"}:{alive:!0};let e=h(c),f=null===b.aliveTailLines?c:e.slice(-b.aliveTailLines).join("\n");if(b.alivePatterns.some(a=>a.test(f)))return{alive:!0};let g=i(c,b);if(null!==g)return{alive:!1,reason:`error pattern: ${g}`};let k=j(c,b);return null!==k?"pattern"===k.via?{alive:!1,reason:`shell prompt detected: ${k.line}`}:{alive:!1,reason:`shell prompt ending detected: ${k.line}`}:{alive:!0}}},20610:(a,b,c)=>{c.d(b,{CV:()=>i,Em:()=>o,Is:()=>g,KI:()=>j,PY:()=>m,Rk:()=>l,Uc:()=>d,Zf:()=>h,kZ:()=>p,os:()=>k,pL:()=>e,x9:()=>f,yO:()=>n});let d=100,e=100,f=200,g=300,h=500,i=500,j=2e3,k=300,l=3e3,m=200,n=3e3,o=100,p=1e3},40236:(a,b,c)=>{c.d(b,{FW:()=>p});var d=c(79892),e=c(93997),f=c(56717),g=c(85164),h=c(20610),i=c(72626),j=c(87673);let k=(0,i.h)("cli-tools/submit-verified-sender"),l=/\[Pasted text[\s#]/,m=/^\/[A-Za-z]/,n=/^\s*(?:ctx:\d+%\s*)?[>❯›]/;async function o(a,b,c=(0,f.gc)(b)){if(!c.clearBeforeSend)return;let d=await (0,j.sr)(a,b);if("content"===d.state)throw k.error("pre-send-composer-clear-failed",{sessionName:a,cliToolId:b,passes:d.passes,remainingLength:d.remainingText.length,remainingText:d.remainingText}),Error(`Composer for session ${a} still holds unsent text after ${d.passes} clear passes; refusing to type the message, which would be concatenated with it (Issue #1880).`);d.passes>0&&k.warn("pre-send-composer-cleared",{sessionName:a,cliToolId:b,passes:d.passes,state:d.state,discardedLength:d.discardedText.length,discardedText:d.discardedText})}async function p(a){let{sessionName:b,message:c,cliToolId:i,composer:j=(0,f.gc)(i),textInputWaitMs:p=h.pL,interEnterWaitMs:q=h.pL,verifyAttempts:r=4,verifyDelayMs:s=h.x9}=a,t=a.submitEnterCount??j.submitEnterCount;await o(b,i,j),await (0,d.V1)(b,c,!1,{literal:!0}),await new Promise(a=>setTimeout(a,p));for(let a=0;a<Math.max(1,t);a++)await (0,d.KB)(b,["Enter"]),a<t-1&&await new Promise(a=>setTimeout(a,q));let u=Math.max(1,r);for(let a=0;a<u;a++){await new Promise(a=>setTimeout(a,s));let h=function(a,b,c,d=(0,f.gc)(b)){let e=(0,g.aJ)(a).split("\n"),h=e.slice(-12),i=h.join("\n");if((0,g.ut)(b,i))return"submitted";let j=function(a,b,c){if("opencode-box"===a){let a=(0,g.mu)(b);if(null===a)return{kind:"absent"};if(a.some(a=>g.vU.test(a)))return{kind:"empty"};let c=a.map(g.pV).find(a=>a.length>0);return void 0===c?{kind:"empty"}:{kind:"text",text:c,rows:a}}if("input-line-marker"!==a)return{kind:"absent"};let d=function(a){for(let b=a.length-1;b>=0;b--)if(n.test(a[b]))return a[b];return null}(c);if(null===d)return{kind:"absent"};let e=d.replace(n,"").trim();return 0===e.length?{kind:"empty"}:{kind:"text",text:e,rows:[d]}}(d.reader,e,h);return"text"!==j.kind?"submitted":j.rows.some(a=>l.test(a))||function(a,b){let c=b.split("\n").map(a=>a.trim()).find(a=>a.length>0)??"";return 0!==c.length&&c.startsWith(a)}(j.text,c)?"pending":m.test(j.text)?"replaced":"submitted"}(await (0,d.Xg)(b,{startLine:-j.verifyCaptureLines}),i,c,j);if("submitted"===h)return void(0,e.gm)(b);if("replaced"===h){try{await (0,d.Ce)(b)}catch(a){k.error("submit-clear-input-failed",{sessionName:b,cliToolId:i,error:a instanceof Error?a.message:String(a)})}throw(0,e.gm)(b),k.error("submit-replaced-by-tui-completion",{sessionName:b,cliToolId:i,attempt:a}),Error(`Message was replaced by a TUI autocompletion for session ${b}; the input no longer matches the sent text. Cleared the input line without submitting to avoid executing a different command.`)}k.warn("submit-not-confirmed:resending-enter",{sessionName:b,cliToolId:i,attempt:a}),await (0,d.KB)(b,["Enter"])}throw(0,e.gm)(b),k.error("submit-verification-failed",{sessionName:b,cliToolId:i,attempts:u}),Error(`Message submit could not be confirmed for session ${b} after ${u} attempts (typed but unsent)`)}},50945:(a,b,c)=>{c.d(b,{Q:()=>g,S:()=>h});var d=c(79892),e=c(11472),f=c(91536);async function g(a,b){let c;try{c=await (0,d.Xg)(a,{startLine:-b.probeCaptureLines})}catch{c=void 0}return"string"!=typeof c?b.unreadableIsExited?{alive:!1,reason:"capture error"}:{alive:!0}:(0,e.Hg)(c,b)}async function h(a,b){return g(a,(0,f.H7)(b))}},56717:(a,b,c)=>{c.d(b,{gc:()=>g});var d=c(16983);let e={reader:"input-line-marker",verifyCaptureLines:12,clearBeforeSend:!0,submitEnterCount:1},f={claude:e,codex:e,gemini:{...e,clearBeforeSend:!1},copilot:{...e,clearBeforeSend:!1},antigravity:{...e,clearBeforeSend:!1},"command-code":{...e,clearBeforeSend:!1},"vibe-local":{...e,clearBeforeSend:!1,submitEnterCount:2},opencode:{reader:"opencode-box",verifyCaptureLines:d.xT,clearBeforeSend:!1,submitEnterCount:1}};function g(a){return f[a]??e}},57905:(a,b,c)=>{c.d(b,{c0:()=>P,zw:()=>L,Yq:()=>M,pU:()=>O,R7:()=>N,VU:()=>Q});var d=c(79892),e=c(85164),f=c(11472),g=c(91536),h=c(50945),i=c(40236),j=c(93997),k=c(77093),l=c(20610),m=c(79646),n=c(28354),o=c(72626);let p=(0,o.h)("session-key-sender"),q=(0,n.promisify)(m.exec);async function r(a,b=50){let c=await (0,d.Xg)(a,{startLine:-b});return(0,e.aJ)(c)}async function s(a){await q("tmux set-environment -g -u CLAUDECODE 2>/dev/null || true"),await (0,d.V1)(a,"unset CLAUDECODE",!0),await new Promise(a=>setTimeout(a,l.Em))}async function t(a,b){let c=Date.now();for(;Date.now()-c<b;){let b=await r(a);if(e.hx.test(b))return;await new Promise(a=>setTimeout(a,200))}throw Error(`Prompt detection timeout (${b}ms)`)}async function u(a,b,c,f){if(!await (0,d.N)(a))throw Error(`Claude session ${a} does not exist. Start the session first.`);let g=await r(a);e.hx.test(g)||await t(a,f),await new Promise(a=>setTimeout(a,c)),await (0,i.FW)({sessionName:a,message:b,cliToolId:"claude"}),(0,j.gm)(a),p.info("sent-message-to-session",{sessionName:a})}async function v(a){try{await (0,d.N)(a)&&(await (0,d.V1)(a,"",!1),await (0,d.ds)(a,"C-d"),(0,j.gm)(a),await new Promise(a=>setTimeout(a,l.Zf)));let b=await (0,d.fY)(a);return b&&p.info("stopped-session",{sessionName:a}),b}catch(a){return p.error("session:stop-failed",{error:(0,k.u1)(a)}),!1}}var w=c(79748),x=c(15194),y=c(22354),z=c(4970),A=c(48083),B=c(2669);let C=(0,o.h)("claude-session"),D=(0,n.promisify)(m.exec),E=(0,g.H7)("claude"),F=null;async function G(){if(F)return F;let a=process.env.CLAUDE_PATH;if(a&&(/^[/a-zA-Z0-9._-]+$/.test(a)?!a.includes("..")||(C.info("claudepath-contains-path"),!1):(C.info("claudepath-contains-invalid-characters-i"),!1)))try{return await (0,w.access)(a,w.constants.X_OK),F=a}catch{C.info("claudepath-is-not-executable:envclaudepa")}try{let{stdout:a}=await D("which claude",{timeout:5e3});return F=a.trim()}catch{for(let a of["/opt/homebrew/bin/claude","/usr/local/bin/claude","/usr/bin/claude"])try{return await D(`test -x "${a}"`,{timeout:1e3}),F=a}catch{}throw Error("Claude CLI not found. Set CLAUDE_PATH environment variable or install Claude CLI.")}}async function H(a,b=50){let c=await (0,d.Xg)(a,{startLine:-b});return(0,e.aJ)(c)}async function I(a){let b=await (0,h.Q)(a,E);return b.alive?{healthy:!0}:{healthy:!1,reason:b.reason}}async function J(a){return!!(await I(a)).healthy||(C.warn("session-sessionname-unhealthy:resultreas"),await (0,d.fY)(a),!1)}function K(a,b){let c=`mcbd-claude-${a}`;if(!b||"claude"===b)return c;let d=(0,x.pL)(b,"claude");return d?`${c}-${d}`:c}async function L(){try{return await D("which claude",{timeout:5e3}),!0}catch{return!1}}async function M(a,b){let c=K(a,b);return!!await (0,d.N)(c)&&(!!(await I(c)).healthy||(C.warn("session-sessionname-unhealthy:resultreas"),!1))}async function N(a){let{worktreeId:b,worktreePath:c,instanceId:g}=a;if(!await L())throw new B.lU("Claude Code","Claude CLI is not installed or not in PATH");let h=K(b,g);if(await (0,d.N)(h)&&await J(h)){await (0,d.zT)(h),C.info("claude-session-sessionname");return}(0,z.Fq)({worktreeId:b,cliToolId:y.vm,instanceId:g});try{await (0,d.jw)({sessionName:h,workingDirectory:c}),await s(h);let a=await G(),j=(0,z.wK)({target:{worktreeId:b,cliToolId:y.vm,instanceId:g},executablePath:a,worktreePath:c});await (0,d.V1)(h,j,!0);let k=Date.now(),l=!1,m=!1;for(;Date.now()-k<6e4;){var i;await new Promise(a=>setTimeout(a,300));let a=null;try{a=await H(h)}catch{}if(null===a)continue;if(e.hx.test(a)){await new Promise(a=>setTimeout(a,500)),C.info("claude-initialized-in"),l=!0;break}if(!m&&e.CX.test(a))try{await (0,d.V1)(h,"",!0),m=!0,C.info("trust-dialog-detected")}catch{}let b=(i=a,(0,f.ow)(i,E));if(null!==b)throw new B.mR("Claude Code",h,b)}if(!l)throw new B.Sr("Claude Code",h,6e4);C.info("started-claude-session:sessionname")}catch(a){if(F=null,C.error("session:start-failed",{error:a instanceof Error?a.message:String(a)}),(0,B.su)(a))throw a;throw Error("Failed to start Claude session")}}async function O(a,b,c){let d=K(a,c);await u(d,b,500,1e4)}async function P(a,b=1e3,c){let e=K(a,c);if(!await (0,d.N)(e))throw Error(`Claude session ${e} does not exist`);try{return await (0,d.Xg)(e,{startLine:-b})}catch(a){throw Error(`Failed to capture Claude output: ${a instanceof Error?a.message:String(a)}`)}}async function Q(a,b){let c=K(a,b),d=await v(c);return(0,A.je)(a,"claude",b),d}},77093:(a,b,c)=>{c.d(b,{u1:()=>d});function d(a){return a instanceof Error?a.message:String(a)}},87673:(a,b,c)=>{c.d(b,{sr:()=>i});var d=c(79892),e=c(93997),f=c(94154);let g=(0,c(72626).h)("composer-clear"),h=a=>new Promise(b=>setTimeout(b,a));async function i(a,b,c={}){let j=c.capture??(a=>(0,d.Xg)(a,200)),k=c.sendClear??d.ou,l=c.delay??h,m=c.maxPasses??12,n=0,o=(0,f.ji)(await j(a),b),p="content"===o.state?o.text:"";for(;"content"===o.state&&n<m;)await k(a),n++,await l(120),o=(0,f.ji)(await j(a),b);n>0&&(0,e.gm)(a);let q="empty"===o.state||"ghost"===o.state;return q||g.warn("composer-clear:not-cleared",{sessionName:a,cliToolId:b,passes:n,state:o.state}),{cleared:q,passes:n,state:o.state,remainingText:o.text,discardedText:p}}},91536:(a,b,c)=>{c.d(b,{H7:()=>i});var d=c(85164),e=c(11472);let f={probeCaptureLines:50,shellPromptEndings:e.Bl,maxShellPromptLength:e.w9,fatalPatterns:[],fatalRegexPatterns:[]},g={aliveTailLines:12,shellPromptPatterns:e.vg,unreadableIsExited:!1},h={claude:{...f,alivePatterns:[d.hx],aliveTailLines:null,shellPromptPatterns:[],unreadableIsExited:!0,fatalPatterns:d.F0,fatalRegexPatterns:d.Fw},codex:{...f,...g,alivePatterns:[d.gm,d.sB,d.Mt]},copilot:{...f,...g,alivePatterns:[d.Du,d.Ub,d.tJ,d.rb]},opencode:{...f,...g,alivePatterns:[d.vU,d.uA,d.Cc,d.LO,d.a2]},gemini:{...f,...g,alivePatterns:[d.wN,d.s0]},antigravity:{...f,...g,alivePatterns:[d.lE,d.kT,d.VF]},"command-code":{...f,...g,alivePatterns:[d.WK,d.jk,d.k0]},"vibe-local":{...f,...g,alivePatterns:[d.Dj,d.b2]}};function i(a){return h[a]??h.claude}}};
@@ -1,3 +1,3 @@
1
- "use strict";exports.id=8800,exports.ids=[8800],exports.modules={1804:(a,b,c)=>{c.d(b,{BG:()=>g,MJ:()=>f,_:()=>j,hB:()=>i,iE:()=>d,jP:()=>e,yh:()=>h});let d={version:"2.1.240",capturedAt:"2026-08-23",paneGeometry:"200x1000"},e={version:"0.148.0",capturedAt:"2026-08-15",paneGeometry:"200x1000"},f={version:"1.0.80",capturedAt:"2026-08-21",paneGeometry:"200x1000"},g={version:"1.18.22",capturedAt:"2026-08-26",paneGeometry:"80x200"},h={version:"0.4.x",capturedAt:"2026-07-30",paneGeometry:"inline"},i={version:"unmeasured",capturedAt:"never",paneGeometry:"unmeasured"},j={claude:d,codex:e,copilot:f,opencode:g,antigravity:h,gemini:i,"vibe-local":i}},48800:(a,b,c)=>{c.d(b,{Su:()=>l,TD:()=>k});var d=c(91910),e=c(68847),f=c(61260);let g=null,h=null;async function i(a){let b=await (0,d.Kx)(d.ir[a]),c=(0,f.Cm)(a);if("codex"!==a)return{tool:a,installed:b,latestVersion:null,dismissedVersion:null,updateAvailable:!1,dismissedInCodex:!1,updatable:c,source:null};let g=(0,e.O6)(b,(0,e.A)());return{tool:a,installed:g.installed,latestVersion:g.latestVersion,dismissedVersion:g.dismissedVersion,updateAvailable:g.updateAvailable,dismissedInCodex:g.dismissedInCodex,updatable:c,source:g.source}}async function j(){return Promise.all(Object.keys(d.ir).sort().map(i))}async function k(a={}){let b=a.now??Date.now();if(a.force)g=null;else if(g&&g.expiresAt>b)return g.rows;return h||(h=(async()=>{try{let a=await j();return g={rows:a,expiresAt:b+3e4},a}catch{return g={rows:[],expiresAt:b+3e4},[]}finally{h=null}})())}function l(){g=null,h=null}},61260:(a,b,c)=>{c.d(b,{Cm:()=>j,RT:()=>i,lM:()=>q,mf:()=>p,nW:()=>r,sm:()=>s,wo:()=>n});var d=c(79646),e=c(33873),f=c(81776),g=c(73434),h=c(91910);let i=["codex"];function j(a){return"string"==typeof a&&i.includes(a)}let k="@openai/codex";async function l(){return(0,h.Kx)({kind:"execFile",command:"codex",args:["--version"]})}function m(a,b){let c=b(a);return c&&(0,e.isAbsolute)(c)?c:null}async function n(a,b={}){if(!j(a))return{ok:!1,code:"unsupported-tool",message:`No update flow for '${String(a)}'. Updatable tools: ${i.join(", ")}.`};let c=b.resolveExecutable??f.En,d=b.probeInstalledVersion??l,e=m("codex",c),g=e?await d(a):null;if(e&&null!==g&&(0,h.b)(g,"0.149.0")>=0)return{ok:!0,plan:{tool:a,strategy:"native",command:e,args:["update"],display:"codex update",installed:g,reason:"native-subcommand"}};let o=m("npm",c);return o?{ok:!0,plan:{tool:a,strategy:"npm",command:o,args:["install","-g",`${k}@latest`],display:`npm install -g ${k}@latest`,installed:g,reason:null===e?"not-installed":"no-native-subcommand"}}:{ok:!1,code:"no-executable",message:null===e?"Neither codex nor npm resolves to an absolute path on PATH, so there is nothing to update with.":"This codex is too old for `codex update`, and npm does not resolve to an absolute path on PATH."}}let o=new Set;function p(a){return!o.has(a)&&(o.add(a),!0)}function q(a){o.delete(a)}function r(a){return o.has(a)}function s(a,b={}){let{onChunk:c}=b,e=b.timeoutMs??6e5;return p(a.tool)?new Promise(b=>{let f,h=!1,i=c=>{h||(h=!0,q(a.tool),b(c))};try{f=(0,d.execFile)(a.command,[...a.args],{timeout:e,maxBuffer:4194304,env:(0,g.hh)()},a=>{if(!a)return void i({ok:!0,exitCode:0,signal:null});i({ok:!1,exitCode:"number"==typeof a.code?a.code:null,signal:a.signal??null,error:a.message})})}catch(a){i({ok:!1,exitCode:null,signal:null,error:a instanceof Error?a.message:String(a)});return}c&&(f.stdout?.setEncoding("utf-8"),f.stderr?.setEncoding("utf-8"),f.stdout?.on("data",a=>c({stream:"stdout",text:a})),f.stderr?.on("data",a=>c({stream:"stderr",text:a})))}):Promise.resolve({ok:!1,exitCode:null,signal:null,code:"in_progress",error:`An update for ${a.tool} is already running.`})}},68847:(a,b,c)=>{c.d(b,{A:()=>k,O6:()=>l});var d=c(29021),e=c(21820),f=c(33873),g=c(7956),h=c(91910);let i={latestVersion:null,dismissedVersion:null,lastCheckedAt:null,readable:!1};function j(a,b){let c=a[b];return"string"!=typeof c?null:(0,h.gy)(c)}function k(a={}){let b=a.path??function(a=process.env){let b=function(a=process.env){let b=(0,f.join)((0,e.homedir)(),".codex"),c=a.CODEX_HOME;return!c||(0,g.Mb)(c)?b:(0,f.isAbsolute)(c)?c:null}(a);return null===b?null:(0,f.join)(b,"version.json")}(a.env),c={...i,path:b};if(null===b)return c;try{let a=(0,d.statSync)(b);if(!a.isFile()||a.size>65536)return c;let e=JSON.parse((0,d.readFileSync)(b,"utf-8"));if(!e||"object"!=typeof e||Array.isArray(e))return c;return{latestVersion:j(e,"latest_version"),dismissedVersion:j(e,"dismissed_version"),lastCheckedAt:"string"==typeof e.last_checked_at?e.last_checked_at:null,path:b,readable:!0}}catch{return c}}function l(a,b){let c=null!==a&&null!==b.latestVersion&&(0,h.b)(b.latestVersion,a)>0;return{installed:a,latestVersion:b.latestVersion,dismissedVersion:b.dismissedVersion,updateAvailable:c,dismissedInCodex:c&&null!==b.dismissedVersion&&b.dismissedVersion===b.latestVersion,source:b.readable?"version.json":null}}},73434:(a,b,c)=>{c.d(b,{hh:()=>f});let d=["CLAUDECODE","CM_AUTH_TOKEN","CM_AUTH_TOKEN_HASH","CM_AUTH_EXPIRE","CM_HTTPS_KEY","CM_HTTPS_CERT","CM_ALLOWED_IPS","CM_TRUST_PROXY","CM_DB_PATH","GH_DEBUG"],e=["CM_AGENT_INSTANCE_ID","CM_AGENT_TOOL","CM_AGENT_WORKTREE_ID","CM_HOOK_PORT","CM_HOOK_URL","CM_PERMISSION_HOOK_URL"];function f(){let a={...process.env};for(let b of Object.keys(a))(d.includes(b)||e.includes(b)||b.startsWith("CM_HOOK_"))&&delete a[b];return a}},81776:(a,b,c)=>{c.d(b,{B0:()=>n,En:()=>l});var d=c(79646),e=c(29021),f=c(21820),g=c(33873),h=c(73434);let i="copilot",j=/(\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?)/;function k(a){try{if(!(0,e.statSync)(a).isFile())return!1;return(0,e.accessSync)(a,e.constants.X_OK),!0}catch{return!1}}function l(a){let b=process.env.PATH;if(!b)return null;for(let c of b.split(g.delimiter)){if(!c)continue;let b=(0,g.join)(c,a);if(k(b))return b}return null}function m(a){return new Promise(b=>{(0,d.execFile)(a,["--version"],{timeout:5e3,maxBuffer:65536,env:(0,h.hh)()},(a,c,d)=>{if(a)return void b(null);let e=j.exec(`${c??""}
2
- ${d??""}`);b(e?e[1]:null)})})}async function n(){let a=l(i);if(a){let b=await m(a);if(b)return{path:a,version:b,source:"path"}}if(!l("gh"))return null;for(let a of function(){let a=process.env.XDG_DATA_HOME||(0,g.join)((0,f.homedir)(),".local","share"),b=(0,g.join)(a,"gh",i);return[b,(0,g.join)(b,i)]}()){if(!k(a))continue;let b=await m(a);if(b)return{path:a,version:b,source:"gh-managed"}}return null}},91910:(a,b,c)=>{c.d(b,{Kx:()=>o,b:()=>k,gy:()=>i,ir:()=>l,xC:()=>r});var d=c(79646),e=c(81776),f=c(73434),g=c(1804);let h=/(\d+)\.(\d+)\.(\d+)/;function i(a){let b=h.exec(a);return b?`${b[1]}.${b[2]}.${b[3]}`:null}let j=/^(\d+)\.(\d+)\.(?:x|\*)$/i;function k(a,b){let c=a.split(".").map(a=>Number(a)||0),d=b.split(".").map(a=>Number(a)||0);for(let a=0;a<3;a++){let b=(c[a]??0)-(d[a]??0);if(0!==b)return b>0?1:-1}return 0}let l={claude:{kind:"execFile",command:"claude",args:["--version"]},codex:{kind:"execFile",command:"codex",args:["--version"]},antigravity:{kind:"execFile",command:"agy",args:["--version"]},opencode:{kind:"execFile",command:"opencode",args:["--version"]},gemini:{kind:"execFile",command:"gemini",args:["--version"]},copilot:{kind:"delegated",probe:async()=>(await (0,e.B0)())?.version??null}},m=null,n=null;function o(a){if("delegated"===a.kind)return a.probe().catch(()=>null);let b=(0,e.En)(a.command);return b?new Promise(c=>{(0,d.execFile)(b,[...a.args],{timeout:5e3,maxBuffer:65536,env:(0,f.hh)()},(a,b,d)=>{if(a)return void c(null);c(i(`${b??""}
1
+ "use strict";exports.id=8800,exports.ids=[8800],exports.modules={1804:(a,b,c)=>{c.d(b,{BG:()=>g,MJ:()=>f,_:()=>k,hB:()=>j,iE:()=>d,jP:()=>e,ji:()=>i,yh:()=>h});let d={version:"2.1.240",capturedAt:"2026-08-23",paneGeometry:"200x1000"},e={version:"0.148.0",capturedAt:"2026-08-15",paneGeometry:"200x1000"},f={version:"1.0.82",capturedAt:"2026-09-04",paneGeometry:"200x1000"},g={version:"1.18.22",capturedAt:"2026-08-26",paneGeometry:"80x200"},h={version:"1.1.25",capturedAt:"2026-09-04",paneGeometry:"200x1000"},i={version:"1.40.1",capturedAt:"2026-09-03",paneGeometry:"200x1000"},j={version:"unmeasured",capturedAt:"never",paneGeometry:"unmeasured"},k={claude:d,codex:e,copilot:f,opencode:g,antigravity:h,"command-code":i,gemini:j,"vibe-local":j}},48800:(a,b,c)=>{c.d(b,{Su:()=>l,TD:()=>k});var d=c(91910),e=c(68847),f=c(61260);let g=null,h=null;async function i(a){let b=await (0,d.Kx)(d.ir[a]),c=(0,f.Cm)(a);if("codex"!==a)return{tool:a,installed:b,latestVersion:null,dismissedVersion:null,updateAvailable:!1,dismissedInCodex:!1,updatable:c,source:null};let g=(0,e.O6)(b,(0,e.A)());return{tool:a,installed:g.installed,latestVersion:g.latestVersion,dismissedVersion:g.dismissedVersion,updateAvailable:g.updateAvailable,dismissedInCodex:g.dismissedInCodex,updatable:c,source:g.source}}async function j(){return Promise.all(Object.keys(d.ir).sort().map(i))}async function k(a={}){let b=a.now??Date.now();if(a.force)g=null;else if(g&&g.expiresAt>b)return g.rows;return h||(h=(async()=>{try{let a=await j();return g={rows:a,expiresAt:b+3e4},a}catch{return g={rows:[],expiresAt:b+3e4},[]}finally{h=null}})())}function l(){g=null,h=null}},61260:(a,b,c)=>{c.d(b,{Cm:()=>j,RT:()=>i,lM:()=>q,mf:()=>p,nW:()=>r,sm:()=>s,wo:()=>n});var d=c(79646),e=c(33873),f=c(81776),g=c(73434),h=c(91910);let i=["codex"];function j(a){return"string"==typeof a&&i.includes(a)}let k="@openai/codex";async function l(){return(0,h.Kx)({kind:"execFile",command:"codex",args:["--version"]})}function m(a,b){let c=b(a);return c&&(0,e.isAbsolute)(c)?c:null}async function n(a,b={}){if(!j(a))return{ok:!1,code:"unsupported-tool",message:`No update flow for '${String(a)}'. Updatable tools: ${i.join(", ")}.`};let c=b.resolveExecutable??f.En,d=b.probeInstalledVersion??l,e=m("codex",c),g=e?await d(a):null;if(e&&null!==g&&(0,h.b)(g,"0.149.0")>=0)return{ok:!0,plan:{tool:a,strategy:"native",command:e,args:["update"],display:"codex update",installed:g,reason:"native-subcommand"}};let o=m("npm",c);return o?{ok:!0,plan:{tool:a,strategy:"npm",command:o,args:["install","-g",`${k}@latest`],display:`npm install -g ${k}@latest`,installed:g,reason:null===e?"not-installed":"no-native-subcommand"}}:{ok:!1,code:"no-executable",message:null===e?"Neither codex nor npm resolves to an absolute path on PATH, so there is nothing to update with.":"This codex is too old for `codex update`, and npm does not resolve to an absolute path on PATH."}}let o=new Set;function p(a){return!o.has(a)&&(o.add(a),!0)}function q(a){o.delete(a)}function r(a){return o.has(a)}function s(a,b={}){let{onChunk:c}=b,e=b.timeoutMs??6e5;return p(a.tool)?new Promise(b=>{let f,h=!1,i=c=>{h||(h=!0,q(a.tool),b(c))};try{f=(0,d.execFile)(a.command,[...a.args],{timeout:e,maxBuffer:4194304,env:(0,g.hh)()},a=>{if(!a)return void i({ok:!0,exitCode:0,signal:null});i({ok:!1,exitCode:"number"==typeof a.code?a.code:null,signal:a.signal??null,error:a.message})})}catch(a){i({ok:!1,exitCode:null,signal:null,error:a instanceof Error?a.message:String(a)});return}c&&(f.stdout?.setEncoding("utf-8"),f.stderr?.setEncoding("utf-8"),f.stdout?.on("data",a=>c({stream:"stdout",text:a})),f.stderr?.on("data",a=>c({stream:"stderr",text:a})))}):Promise.resolve({ok:!1,exitCode:null,signal:null,code:"in_progress",error:`An update for ${a.tool} is already running.`})}},68847:(a,b,c)=>{c.d(b,{A:()=>k,O6:()=>l});var d=c(29021),e=c(21820),f=c(33873),g=c(7956),h=c(91910);let i={latestVersion:null,dismissedVersion:null,lastCheckedAt:null,readable:!1};function j(a,b){let c=a[b];return"string"!=typeof c?null:(0,h.gy)(c)}function k(a={}){let b=a.path??function(a=process.env){let b=function(a=process.env){let b=(0,f.join)((0,e.homedir)(),".codex"),c=a.CODEX_HOME;return!c||(0,g.Mb)(c)?b:(0,f.isAbsolute)(c)?c:null}(a);return null===b?null:(0,f.join)(b,"version.json")}(a.env),c={...i,path:b};if(null===b)return c;try{let a=(0,d.statSync)(b);if(!a.isFile()||a.size>65536)return c;let e=JSON.parse((0,d.readFileSync)(b,"utf-8"));if(!e||"object"!=typeof e||Array.isArray(e))return c;return{latestVersion:j(e,"latest_version"),dismissedVersion:j(e,"dismissed_version"),lastCheckedAt:"string"==typeof e.last_checked_at?e.last_checked_at:null,path:b,readable:!0}}catch{return c}}function l(a,b){let c=null!==a&&null!==b.latestVersion&&(0,h.b)(b.latestVersion,a)>0;return{installed:a,latestVersion:b.latestVersion,dismissedVersion:b.dismissedVersion,updateAvailable:c,dismissedInCodex:c&&null!==b.dismissedVersion&&b.dismissedVersion===b.latestVersion,source:b.readable?"version.json":null}}},73434:(a,b,c)=>{c.d(b,{hh:()=>f});let d=["CLAUDECODE","CM_AUTH_TOKEN","CM_AUTH_TOKEN_HASH","CM_AUTH_EXPIRE","CM_HTTPS_KEY","CM_HTTPS_CERT","CM_ALLOWED_IPS","CM_TRUST_PROXY","CM_DB_PATH","GH_DEBUG"],e=["CM_AGENT_INSTANCE_ID","CM_AGENT_TOOL","CM_AGENT_WORKTREE_ID","CM_HOOK_PORT","CM_HOOK_URL","CM_PERMISSION_HOOK_URL"];function f(){let a={...process.env};for(let b of Object.keys(a))(d.includes(b)||e.includes(b)||b.startsWith("CM_HOOK_"))&&delete a[b];return a}},81776:(a,b,c)=>{c.d(b,{B0:()=>n,En:()=>l});var d=c(79646),e=c(29021),f=c(21820),g=c(33873),h=c(73434);let i="copilot",j=/(\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?)/;function k(a){try{if(!(0,e.statSync)(a).isFile())return!1;return(0,e.accessSync)(a,e.constants.X_OK),!0}catch{return!1}}function l(a){let b=process.env.PATH;if(!b)return null;for(let c of b.split(g.delimiter)){if(!c)continue;let b=(0,g.join)(c,a);if(k(b))return b}return null}function m(a){return new Promise(b=>{(0,d.execFile)(a,["--version"],{timeout:5e3,maxBuffer:65536,env:(0,h.hh)()},(a,c,d)=>{if(a)return void b(null);let e=j.exec(`${c??""}
2
+ ${d??""}`);b(e?e[1]:null)})})}async function n(){let a=l(i);if(a){let b=await m(a);if(b)return{path:a,version:b,source:"path"}}if(!l("gh"))return null;for(let a of function(){let a=process.env.XDG_DATA_HOME||(0,g.join)((0,f.homedir)(),".local","share"),b=(0,g.join)(a,"gh",i);return[b,(0,g.join)(b,i)]}()){if(!k(a))continue;let b=await m(a);if(b)return{path:a,version:b,source:"gh-managed"}}return null}},91910:(a,b,c)=>{c.d(b,{Kx:()=>o,b:()=>k,gy:()=>i,ir:()=>l,xC:()=>r});var d=c(79646),e=c(81776),f=c(73434),g=c(1804);let h=/(\d+)\.(\d+)\.(\d+)/;function i(a){let b=h.exec(a);return b?`${b[1]}.${b[2]}.${b[3]}`:null}let j=/^(\d+)\.(\d+)\.(?:x|\*)$/i;function k(a,b){let c=a.split(".").map(a=>Number(a)||0),d=b.split(".").map(a=>Number(a)||0);for(let a=0;a<3;a++){let b=(c[a]??0)-(d[a]??0);if(0!==b)return b>0?1:-1}return 0}let l={claude:{kind:"execFile",command:"claude",args:["--version"]},codex:{kind:"execFile",command:"codex",args:["--version"]},antigravity:{kind:"execFile",command:"agy",args:["--version"]},"command-code":{kind:"execFile",command:"commandcode",args:["--version"]},opencode:{kind:"execFile",command:"opencode",args:["--version"]},gemini:{kind:"execFile",command:"gemini",args:["--version"]},copilot:{kind:"delegated",probe:async()=>(await (0,e.B0)())?.version??null}},m=null,n=null;function o(a){if("delegated"===a.kind)return a.probe().catch(()=>null);let b=(0,e.En)(a.command);return b?new Promise(c=>{(0,d.execFile)(b,[...a.args],{timeout:5e3,maxBuffer:65536,env:(0,f.hh)()},(a,b,d)=>{if(a)return void c(null);c(i(`${b??""}
3
3
  ${d??""}`))})}):Promise.resolve(null)}async function p(){return Promise.all(Object.keys(l).sort().map(async a=>{let b=g._[a]?.version??"unmeasured",c=await o(l[a]),d=function(a){let b=j.exec(a);return b?`${b[1]}.${b[2]}.0`:i(a)}(b);return{tool:a,installed:c,verifiedAgainst:b,stale:null!==c&&null!==d&&k(c,d)>0}}))}async function q(){if(null!==m)return m;if(n)return n;n=p();try{return m=await n}finally{n=null}}function r(){if(null!==m){let a={};for(let b of m)b.stale&&null!==b.installed&&(a[b.tool]={installed:b.installed,verifiedAgainst:b.verifiedAgainst});return a}q().catch(()=>[])}}};
@@ -0,0 +1,7 @@
1
+ "use strict";exports.id=8918,exports.ids=[8918],exports.modules={28918:(a,b,c)=>{c.d(b,{captureStructuredHistoryTurn:()=>aQ,hasStructuredHistoryTranscript:()=>aR,isPullTranscriptHistory:()=>aO,H:()=>aP});var d=c(72626),e=c(53163),f=c(79696),g=c(79748),h=c(21820),i=c(33873),j=c(24455);let k=(0,d.h)("lib/history/transcript-tail");async function l(a){let b;try{b=await (0,g.open)(a,"r");let{size:c}=await b.stat(),d=Math.max(0,c-4194304),e=c-d;if(e<=0)return"";let f=Buffer.alloc(e),{bytesRead:h}=await b.read(f,0,e,d),i=f.subarray(0,h).toString("utf8");if(0===d)return i;let j=i.indexOf("\n");return -1===j?"":i.slice(j+1)}catch(b){return k.warn("transcript-tail-read-failed",{path:a,error:b instanceof Error?b.message:String(b)}),null}finally{await b?.close().catch(()=>{})}}var m=c(18201),n=c(86594),o=c(57510),p=c(27128);let q=["sessions"],r=".jsonl",s="\n\n_(truncated)_";function t(a){return a.replace(/\s+/g," ").trim()}function u(a){return a.length<=200?a:`${a.slice(0,199)}…`}let v=new Set(["ContextCompaction"]),w={CommandExecution:"exec",FileChange:"edit",McpToolCall:"mcp",ImageView:"view",Extension:"extension"},x=(0,d.h)("lib/hooks/sources/codex/history"),y=/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,z=globalThis.__codexTranscriptSessions??=new Map,A=globalThis.__codexTranscriptPaths??=new Map;async function B(a){let b=(0,j.v7)(a.worktreeId,a.cliToolId,a.instanceId);try{let{getLastAgentEvent:d}=await Promise.resolve().then(c.bind(c,48083)),e=d(a.worktreeId,a.cliToolId,a.instanceId)?.sessionId;if("string"==typeof e&&e.length>0)return z.set(b,e),e}catch(b){x.debug("codex-transcript-session-lookup-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)})}return z.get(b)??null}function C(a=process.env){let b=a.CODEX_HOME;return"string"==typeof b&&b.length>0?b:(0,i.join)((0,h.homedir)(),".codex")}function D(a){return(0,i.join)(a,...q)}async function E(a,b,c=4){return y.test(b)?F(D(a),b,c):null}async function F(a,b,c){let d;if(c<=0)return null;try{d=await (0,g.readdir)(a,{withFileTypes:!0})}catch{return null}let e=[];for(let c of d){if(c.isFile()){var f;if(f=c.name,f.startsWith("rollout-")&&f.endsWith(`-${b}${r}`))return(0,i.join)(a,c.name);continue}c.isDirectory()&&e.push(c.name)}for(let d of(e.sort((a,b)=>a<b?1:a>b?-1:0),e)){let e=await F((0,i.join)(a,d),b,c-1);if(e)return e}return null}async function G(a,b={}){let c=a.instanceId??a.cliToolId;try{let d=b.codexHome??C(),e=await B(a);if(!e)return x.debug("codex-transcript-unavailable",{worktreeId:a.worktreeId,instanceId:c,reason:"no-session-pointer"}),!1;let f=await J(d,e);if(!f)return x.debug("codex-transcript-unavailable",{worktreeId:a.worktreeId,instanceId:c,sessionId:e,reason:"no-file"}),!1;let g=await l(f);if(null===g)return!1;let h=function(a){let b=[],c=0;for(let d of a.split("\n")){let a;if(0===d.trim().length)continue;try{a=JSON.parse(d)}catch{c+=1;continue}let e=function(a){if(!(0,o.Qd)(a))return null;let b=(0,o.O2)(a,"type");if(!b)return null;let c=(0,o.Qd)(a.payload)?a.payload:null,d=c?(0,o.O2)(c,"type"):null,e=(0,o.O2)(a,"timestamp"),f=e?Date.parse(e):NaN;return{type:b,payloadType:d,turnId:c?(0,o.O2)(c,"turn_id"):null,sessionId:c?(0,o.O2)(c,"session_id")??(0,o.O2)(c,"thread_id"):null,timestampMs:Number.isFinite(f)?f:null,item:c&&"item_completed"===d?function(a){var b,c;if(!(0,o.Qd)(a))return null;let d=(0,o.O2)(a,"type");return d?{type:d,id:(0,o.O2)(a,"id"),text:(b=d,c=a,"UserMessage"===b||"AgentMessage"===b?function(a){if(!Array.isArray(a))return null;let b="";for(let c of a){if(!(0,o.Qd)(c))continue;let a=(0,o.O2)(c,"text");a&&(b+=a)}return b.length>0?b:null}(c.content):"Reasoning"===b?function(a){if(!Array.isArray(a))return null;let b=a.filter(a=>"string"==typeof a&&""!==a);return b.length>0?b.join("\n\n"):null}(c.summary_text):null),phase:(0,o.O2)(a,"phase"),detail:function(a,b){if("CommandExecution"===a){let a=function(a){if(!Array.isArray(a))return null;let b=[];for(let c of a){if(!(0,o.Qd)(c))continue;let a=(0,o.O2)(c,"cmd");a&&b.push(a)}return b.length>0?b.join(" ; "):null}(b.parsed_cmd);if(a)return u(t(a));let c=function(a){if(!Array.isArray(a))return null;let b=a.filter(a=>"string"==typeof a);return b.length>0?b.join(" "):null}(b.command);return c?u(t(c)):null}if("FileChange"===a){let a=b.changes;if(!(0,o.Qd)(a))return null;let c=Object.keys(a);return c.length>0?u(c.join(", ")):null}if("McpToolCall"===a){let a=(0,o.O2)(b,"server"),c=(0,o.O2)(b,"tool");return a||c?u([a,c].filter(Boolean).join(".")):null}if("ImageView"===a){let a=(0,o.O2)(b,"path");return a?u(a):null}if("Extension"===a){let a=(0,o.O2)(b,"query")??(0,o.O2)(b,"action");return a?u(t(a)):null}return null}(d,a)}:null}(c.item):null}}(a);e?b.push(e):c+=1}return{records:b,malformedLines:c}}(g),i=function(a,b){let c=new Map,d=0,e=0,f=null;for(let g of a){if("session_meta"===g.type&&g.sessionId&&(f=g.sessionId),"response_item"===g.type){d+=1;continue}let a=g.turnId;if(!a){e+=1;continue}let h=c.get(a);if(h||(h={sessionId:g.sessionId??f??b,turnId:a,startedAt:g.timestampMs??0,prompts:[],items:[],closed:!1,overflowed:!1},c.set(a,h)),"task_complete"===g.payloadType){h.closed=!0;continue}let i=g.item;if(i){if("UserMessage"===i.type){i.id&&i.text&&h.prompts.push({itemId:i.id,text:i.text,timestampMs:g.timestampMs??h.startedAt});continue}if(h.items.length>=2048){h.overflowed=!0;continue}h.items.push(i)}}return{turns:[...c.values()],duplicateStreamRecords:d,turnlessRecords:e}}(h.records,e);if(0===i.turns.length)return x.info("codex-transcript-no-turn",{worktreeId:a.worktreeId,instanceId:c,path:f,records:h.records.length,malformedLines:h.malformedLines,duplicateStreamRecords:i.duplicateStreamRecords}),!1;h.malformedLines>0&&x.info("codex-transcript-partial-read",{worktreeId:a.worktreeId,instanceId:c,path:f,malformedLines:h.malformedLines,turnlessRecords:i.turnlessRecords,duplicateStreamRecords:i.duplicateStreamRecords});let j=await I(a,i.turns);if(0===j.turns.length)return x.debug("codex-transcript-turns-already-saved",{worktreeId:a.worktreeId,instanceId:c,turnsInWindow:i.turns.length}),!0;j.turns.length>1&&x.info("codex-transcript-backfilling-turns",{worktreeId:a.worktreeId,instanceId:c,path:f,pendingTurns:j.turns.length,turnsInWindow:i.turns.length,anchored:j.anchored});let k=[];for(let b=0;b<j.turns.length;b+=1){let c=0===b?j.previousStartedAt:j.turns[b-1].startedAt;k.push(await L(a,j.turns[b],c))}let m=function(a){let b=new Map;for(let c of a){if("response_item"===c.type)continue;let a=c.turnId;a&&null!==c.timestampMs&&c.timestampMs>(b.get(a)??0)&&b.set(a,c.timestampMs)}return b}(h.records),n=!1;for(let b=0;b<j.turns.length;b+=1){let c=j.turns[b];n=await M(a,c,function(a){let b=[],c=new Set,d=0,e=0;for(let f of a.items){if("AgentMessage"===f.type){let a=f.text?.trim()??"";if(0===a.length)continue;b.push({kind:"prose",text:a}),d+=1;continue}if("Reasoning"===f.type){let a=f.text?.trim()??"";if(0===a.length)continue;b.push({kind:"aside",text:function(a){let b=a.trim().split("\n").map(a=>a.length>0?`> ${a}`:">").join("\n");return`> **Thinking**
2
+ >
3
+ ${b}`}(a)});continue}if(f.type in w){b.push({kind:"tool",text:function(a){let b=w[a.type]??a.type;return a.detail?`- \`${b}\` — ${a.detail}`:`- \`${b}\``}(f)}),e+=1;continue}v.has(f.type)||c.add(f.type)}let f=(0,p.t3)(b).body;return f.length>2e5&&(f=f.slice(0,2e5-s.length)+s),{sessionId:a.sessionId,turnId:a.turnId,body:f,textBlocks:d,toolBlocks:e,unknownBlockTypes:[...c]}}(c),function(a,b,c=0,d=null){let e=null===b.timestampMs?a.startedAt:Math.max(a.startedAt,b.timestampMs+1);return Math.max(e,Math.min(c,null===d?1/0:d-1))}(c,k[b],m.get(c.turnId)??0,function(a,b,c){let d=a[c+1];return d?b[c+1]?.timestampMs??d.startedAt:null}(j.turns,k,b)),f)}return n}catch(b){return x.error("codex-transcript-capture-failed",{worktreeId:a.worktreeId,instanceId:c,error:b instanceof Error?b.message:String(b)}),!1}}async function H(a,b={}){try{let c=await B(a);if(!c)return null;return await J(b.codexHome??C(),c)}catch{return null}}async function I(a,b){let[{getDbInstance:d},{findMessageByRequestId:e}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791))]),f=d();for(let c=b.length-1;c>=0;c-=1){let d=(0,n.ZS)(b[c].turnId);if(e(f,a.worktreeId,d))return{turns:b.slice(c+1),previousStartedAt:b[c].startedAt,anchored:!0}}return{turns:b.slice(-1),previousStartedAt:b.length>1?b[b.length-2].startedAt:0,anchored:!1}}async function J(a,b){let c=`${a}\0${b}`,d=A.get(c);if(d&&await K(d))return d;d&&A.delete(c);let e=await E(a,b);if(!e)return null;let f=function(a,b){if(!b.endsWith(r)||b.includes("\0"))return null;let c=(0,i.resolve)(D(a)),d=(0,i.resolve)(b);return d===c||d.startsWith(c+i.sep)?d:null}(a,e);return f?(A.set(c,f),f):null}async function K(a){try{return(await (0,g.stat)(a)).isFile()}catch{return!1}}async function L(a,b,c=0){let d=a.instanceId??a.cliToolId,e={outcome:"skipped",messageId:null,timestampMs:null},f=c>0?{adoptionFromMs:c}:{};for(let c of b.prompts){let g=await (0,m.Ce)(a,(0,n.Ac)(c.itemId),c.text,c.timestampMs,f);if("failed"===g.outcome){x.warn("codex-transcript-user-turn-failed",{worktreeId:a.worktreeId,instanceId:d,sessionId:b.sessionId,turnId:b.turnId,promptItemId:c.itemId});continue}e=g}return e}async function M(a,b,d,e,f){let g=a.instanceId??a.cliToolId;if(!b.closed)return x.info("codex-transcript-turn-open",{worktreeId:a.worktreeId,instanceId:g,sessionId:d.sessionId,turnId:d.turnId,items:b.items.length}),!1;if(0===d.body.length)return x.info("codex-transcript-turn-empty",{worktreeId:a.worktreeId,instanceId:g,sessionId:d.sessionId,turnId:d.turnId}),!1;d.unknownBlockTypes.length>0&&x.info("codex-transcript-unknown-items",{worktreeId:a.worktreeId,instanceId:g,sessionId:d.sessionId,turnId:d.turnId,itemTypes:d.unknownBlockTypes}),b.overflowed&&x.info("codex-transcript-turn-overflowed",{worktreeId:a.worktreeId,instanceId:g,sessionId:d.sessionId,turnId:d.turnId});let h=(0,n.ZS)(d.turnId),[{getDbInstance:i},{createMessage:j,findMessageByRequestId:k},{broadcastMessage:l}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.all([c.e(1503),c.e(4299),c.e(1719),c.e(6894),c.e(5120)]).then(c.bind(c,79129))]),m=i();if(k(m,a.worktreeId,h))return x.debug("codex-transcript-turn-already-saved",{worktreeId:a.worktreeId,instanceId:g,requestId:h}),!0;let o=j(m,{worktreeId:a.worktreeId,role:"assistant",content:d.body,messageType:"normal",timestamp:new Date(e>0?e:Date.now()),cliToolId:a.cliToolId,instanceId:g,requestId:h});return l("message",{worktreeId:a.worktreeId,message:o}),x.info("codex-transcript-turn-saved",{worktreeId:a.worktreeId,instanceId:g,sessionId:d.sessionId,requestId:h,path:f,bodyLength:d.body.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks,prompts:b.prompts.length}),!0}let N=[".system_generated","logs","transcript_full.jsonl"],O="\n\n_(truncated)_",P="MODEL",Q="PLANNER_RESPONSE",R=new Set(["RUN_COMMAND","VIEW_FILE","LIST_DIRECTORY","GREP_SEARCH","SEARCH_WEB","CODE_ACTION","GENERATE_IMAGE","GENERIC"]),S=new Set(["CHECKPOINT","CONVERSATION_HISTORY","SYSTEM_MESSAGE","EPHEMERAL_MESSAGE","ERROR_MESSAGE"]),T=(0,d.h)("lib/hooks/sources/antigravity/history"),U=[".gemini","antigravity-cli"],V=/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,W=globalThis.__antigravityTranscriptConversations??=new Map;async function X(a){let b=(0,j.v7)(a.worktreeId,a.cliToolId,a.instanceId);try{let{getLastAgentEvent:d}=await Promise.resolve().then(c.bind(c,48083)),e=d(a.worktreeId,a.cliToolId,a.instanceId)?.sessionId;if("string"==typeof e&&e.length>0)return W.set(b,e),e}catch(b){T.debug("antigravity-transcript-conversation-lookup-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)})}return W.get(b)??null}function Y(a=(0,h.homedir)()){return(0,i.join)(a,...U)}function Z(a){return(0,i.join)(a,"brain")}async function $(a,b={}){let c=a.instanceId??a.cliToolId;try{let d=b.antigravityHome??Y(),e=await X(a);if(!e)return T.debug("antigravity-transcript-unavailable",{worktreeId:a.worktreeId,instanceId:c,reason:"no-conversation-pointer"}),!1;let f=await ab(d,e);if(!f)return T.debug("antigravity-transcript-unavailable",{worktreeId:a.worktreeId,instanceId:c,conversationId:e,reason:"no-file"}),!1;let g=await l(f);if(null===g)return!1;let h=function(a){let b=[],c=0;for(let d of a.split("\n")){let a;if(0===d.trim().length)continue;try{a=JSON.parse(d)}catch{c+=1;continue}let e=function(a){if(!(0,o.Qd)(a))return null;let b=a.step_index;if("number"!=typeof b||!Number.isInteger(b)||b<0)return null;let c=(0,o.O2)(a,"source"),d=(0,o.O2)(a,"type");if(!c||!d)return null;let e=(0,o.O2)(a,"created_at"),f=e?Date.parse(e):NaN,g=[];if(Array.isArray(a.tool_calls))for(let b of a.tool_calls){let a=function(a){var b;if(!(0,o.Qd)(a))return null;let c=(0,o.O2)(a,"name");if(!c)return null;let d=(0,o.Qd)(a.args)?a.args:null,e=d?(0,o.O2)(d,"toolAction")??(0,o.O2)(d,"toolSummary"):null;return{name:c,detail:e?(b=e.replace(/\s+/g," ").trim()).length<=200?b:`${b.slice(0,199)}…`:null}}(b);a&&g.push(a)}return{stepIndex:b,source:c,type:d,status:(0,o.O2)(a,"status"),timestampMs:Number.isFinite(f)?f:null,content:(0,o.O2)(a,"content"),thinking:(0,o.O2)(a,"thinking"),toolCalls:g}}(a);e?b.push(e):c+=1}return{records:b,malformedLines:c}}(g),i=function(a,b){let c=[],d=0;for(let g of a){var e,f;if(e=g,"USER_EXPLICIT"===e.source&&"USER_INPUT"===e.type){let a=g.content?function(a){let b=a.indexOf("<USER_REQUEST>");if(-1===b)return null;let c=b+14,d=a.indexOf("</USER_REQUEST>",c);if(-1===d)return null;let e=a.slice(c,d).trim();return e.length>0?e:null}(g.content):null,d=g.timestampMs??0;c.push({conversationId:b,stepIndex:g.stepIndex,startedAt:d,prompt:a?{stepIndex:g.stepIndex,text:a,timestampMs:g.timestampMs??d}:null,records:[],closed:!1,superseded:!1,overflowed:!1});continue}let a=c.at(-1);if(!a){d+=1;continue}if(g.source===P&&(a.closed=(f=g).source===P&&f.type===Q&&!(f.toolCalls.length>0)&&(f.content??"").trim().length>0),a.records.length>=2048){a.overflowed=!0;continue}a.records.push(g)}for(let a=0;a<c.length-1;a+=1)c[a].superseded=!0;return{turns:c,preludeRecords:d}}(h.records,e);if(0===i.turns.length)return T.info("antigravity-transcript-no-turn",{worktreeId:a.worktreeId,instanceId:c,path:f,records:h.records.length,malformedLines:h.malformedLines,preludeRecords:i.preludeRecords}),!1;h.malformedLines>0&&T.info("antigravity-transcript-partial-read",{worktreeId:a.worktreeId,instanceId:c,path:f,malformedLines:h.malformedLines,preludeRecords:i.preludeRecords});let j=await aa(a,i.turns);if(0===j.turns.length)return T.debug("antigravity-transcript-turns-already-saved",{worktreeId:a.worktreeId,instanceId:c,turnsInWindow:i.turns.length}),!0;j.turns.length>1&&T.info("antigravity-transcript-backfilling-turns",{worktreeId:a.worktreeId,instanceId:c,path:f,pendingTurns:j.turns.length,turnsInWindow:i.turns.length,anchored:j.anchored});let k=[];for(let b=0;b<j.turns.length;b+=1){let c=0===b?j.previousStartedAt:j.turns[b-1].startedAt;k.push(await ad(a,j.turns[b],c))}let m=!1;for(let b=0;b<j.turns.length;b+=1){let c=j.turns[b];m=await ae(a,c,function(a){let b=[],c=new Set,d=0,e=0;for(let f of a.records){if(f.source===P&&f.type===Q){let a=f.thinking?.trim()??"";a.length>0&&b.push({kind:"aside",text:function(a){let b=a.trim().split("\n").map(a=>a.length>0?`> ${a}`:">").join("\n");return`> **Thinking**
4
+ >
5
+ ${b}`}(a)});let c=f.content?.trim()??"";for(let a of(c.length>0&&(b.push({kind:"prose",text:c}),d+=1),f.toolCalls))b.push({kind:"tool",text:a.detail?`- \`${a.name}\` — ${a.detail}`:`- \`${a.name}\``}),e+=1;continue}if(f.source===P){R.has(f.type)||c.add(f.type);continue}S.has(f.type)||c.add(f.type)}let f=(0,p.t3)(b).body;return f.length>2e5&&(f=f.slice(0,2e5-O.length)+O),{conversationId:a.conversationId,stepIndex:a.stepIndex,body:f,textBlocks:d,toolBlocks:e,unknownRecordTypes:[...c]}}(c),function(a,b,c=0,d=null){let e=null===b.timestampMs?a.startedAt:Math.max(a.startedAt,b.timestampMs+1);return Math.max(e,Math.min(c,null===d?1/0:d-1))}(c,k[b],function(a){let b=0;for(let c of a.records)null!==c.timestampMs&&c.timestampMs>b&&(b=c.timestampMs);return b}(c),function(a,b,c){let d=a[c+1];return d?b[c+1]?.timestampMs??d.startedAt:null}(j.turns,k,b)),f)}return m}catch(b){return T.error("antigravity-transcript-capture-failed",{worktreeId:a.worktreeId,instanceId:c,error:b instanceof Error?b.message:String(b)}),!1}}async function _(a,b={}){try{let c=await X(a);if(!c)return null;return await ab(b.antigravityHome??Y(),c)}catch{return null}}async function aa(a,b){let[{getDbInstance:d},{findMessageByRequestId:e}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791))]),f=d();for(let c=b.length-1;c>=0;c-=1){let d=b[c],g=(0,n.O1)(d.conversationId,d.stepIndex);if(e(f,a.worktreeId,g))return{turns:b.slice(c+1),previousStartedAt:d.startedAt,anchored:!0}}return{turns:b.slice(-1),previousStartedAt:b.length>1?b[b.length-2].startedAt:0,anchored:!1}}async function ab(a,b){let c=V.test(b)?(0,i.join)(Z(a),b,...N):null;if(!c)return null;let d=function(a,b){if(!b.endsWith(".jsonl")||b.includes("\0"))return null;let c=(0,i.resolve)(Z(a)),d=(0,i.resolve)(b);return d===c||d.startsWith(c+i.sep)?d:null}(a,c);return d&&await ac(d)?d:null}async function ac(a){try{return(await (0,g.stat)(a)).isFile()}catch{return!1}}async function ad(a,b,c=0){let d={outcome:"skipped",messageId:null,timestampMs:null},e=b.prompt;if(!e)return d;let f=await (0,m.Ce)(a,(0,n.jN)(b.conversationId,e.stepIndex),e.text,e.timestampMs,c>0?{adoptionFromMs:c}:{});return"failed"===f.outcome?(T.warn("antigravity-transcript-user-turn-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,conversationId:b.conversationId,stepIndex:e.stepIndex}),d):f}async function ae(a,b,d,e,f){let g=a.instanceId??a.cliToolId;if(!(b.closed||b.superseded))return T.info("antigravity-transcript-turn-open",{worktreeId:a.worktreeId,instanceId:g,conversationId:d.conversationId,stepIndex:d.stepIndex,records:b.records.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!1;if(0===d.body.length)return T.info("antigravity-transcript-turn-empty",{worktreeId:a.worktreeId,instanceId:g,conversationId:d.conversationId,stepIndex:d.stepIndex,records:b.records.length}),!1;d.unknownRecordTypes.length>0&&T.info("antigravity-transcript-unknown-records",{worktreeId:a.worktreeId,instanceId:g,conversationId:d.conversationId,stepIndex:d.stepIndex,recordTypes:d.unknownRecordTypes}),b.overflowed&&T.info("antigravity-transcript-turn-overflowed",{worktreeId:a.worktreeId,instanceId:g,conversationId:d.conversationId,stepIndex:d.stepIndex});let h=(0,n.O1)(d.conversationId,d.stepIndex),[{getDbInstance:i},{createMessage:j,findMessageByRequestId:k},{broadcastMessage:l}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.all([c.e(1503),c.e(4299),c.e(1719),c.e(6894),c.e(5120)]).then(c.bind(c,79129))]),m=i();if(k(m,a.worktreeId,h))return T.debug("antigravity-transcript-turn-already-saved",{worktreeId:a.worktreeId,instanceId:g,requestId:h}),!0;let o=j(m,{worktreeId:a.worktreeId,role:"assistant",content:d.body,messageType:"normal",timestamp:new Date(e>0?e:Date.now()),cliToolId:a.cliToolId,instanceId:g,requestId:h});return l("message",{worktreeId:a.worktreeId,message:o}),T.info("antigravity-transcript-turn-saved",{worktreeId:a.worktreeId,instanceId:g,conversationId:d.conversationId,requestId:h,path:f,bodyLength:d.body.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!0}let af=[".commandcode","projects"],ag=".jsonl",ah="message",ai="\n\n_(truncated)_",aj=["command","file_path","path","pattern","query","url","description"];function ak(a){return!(a.type!==ah||"user"!==a.role||a.isMeta||!a.id||a.blocks.some(a=>"tool_result"===a.type))&&a.text.trim().length>0}function al(a){return a.closed||a.superseded}let am=new Set(["tool_result"]);function an(a){let b=[],c=new Set,d=0,e=0;for(let f of a.blocks){if("text"===f.type){let a=f.text?.trim()??"";if(0===a.length)continue;b.push({kind:"prose",text:a}),d+=1;continue}if("thinking"===f.type){let a=f.text?.trim()??"";if(0===a.length)continue;b.push({kind:"aside",text:function(a){let b=a.trim().split("\n").map(a=>a.length>0?`> ${a}`:">").join("\n");return`> **Thinking**
6
+ >
7
+ ${b}`}(a)});continue}if("tool_use"===f.type){b.push({kind:"tool",text:function(a){let b=a.toolName??"tool";return a.toolDetail?`- \`${b}\` — ${a.toolDetail}`:`- \`${b}\``}(f)}),e+=1;continue}am.has(f.type)||c.add(f.type)}let f=(0,p.t3)(b).body;return f.length>2e5&&(f=f.slice(0,2e5-ai.length)+ai),{sessionId:a.sessionId,promptId:a.promptId,body:f,textBlocks:d,toolBlocks:e,unknownBlockTypes:[...c]}}let ao=(0,d.h)("lib/hooks/sources/command-code/history"),ap=/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,aq=globalThis.__commandCodeTranscriptSessions??=new Map,ar=globalThis.__commandCodeTranscriptPaths??=new Map;async function as(a){let b=(0,j.v7)(a.worktreeId,a.cliToolId,a.instanceId);try{let{getLastAgentEvent:d}=await Promise.resolve().then(c.bind(c,48083)),e=d(a.worktreeId,a.cliToolId,a.instanceId)?.sessionId;if("string"==typeof e&&e.length>0)return aq.set(b,e),e}catch(b){ao.debug("command-code-transcript-session-lookup-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)})}return aq.get(b)??null}function at(a){return(0,i.join)(a,...af)}async function au(a,b){let c;if(!ap.test(b))return null;let d=at(a);try{c=await (0,g.readdir)(d,{withFileTypes:!0})}catch{return null}let e=[];for(let a of c){if(!a.isDirectory())continue;let b=0;try{b=(await (0,g.stat)((0,i.join)(d,a.name))).mtimeMs}catch{}e.push({name:a.name,modifiedAt:b})}e.sort((a,b)=>b.modifiedAt-a.modifiedAt);let f=`${b}${ag}`;for(let a of e){let b=(0,i.join)(d,a.name,f);if(await az(b))return b}return null}async function av(a,b){let c=a.instanceId??a.cliToolId;try{let d=b.commandCodeHome??(0,h.homedir)(),e=await as(a),f=await ay(d,b,e);if(!f)return ao.debug("command-code-transcript-unavailable",{worktreeId:a.worktreeId,instanceId:c,sessionId:e,reason:e?"no-file":"no-session-pointer"}),!1;let g=await l(f);if(null===g)return!1;let i=function(a){let b=[],c=0,d=null,e=null,f=null;for(let g of a.split("\n")){let a;if(0===g.trim().length)continue;try{a=JSON.parse(g)}catch{c+=1;continue}let h=function(a){if(!(0,o.Qd)(a))return null;let b=(0,o.O2)(a,"type");if(!b)return null;let c="session"===b,d=(0,o.Qd)(a.message)?a.message:null,e=d&&(0,o.Qd)(d.meta)?d.meta:null,f=d?.content,g=[],h="";if("string"==typeof f)h=f;else if(Array.isArray(f))for(let a of f){let b=function(a){if(!(0,o.Qd)(a))return null;let b=(0,o.O2)(a,"type");if(!b)return null;if("tool_use"===b)return{type:b,text:null,toolName:(0,o.O2)(a,"name"),toolDetail:function(a){if(!(0,o.Qd)(a))return null;for(let c of aj){let d=(0,o.O2)(a,c);if(d){var b;return(b=d.replace(/\s+/g," ").trim()).length<=200?b:`${b.slice(0,199)}…`}}return null}(a.input)};let c="text"===b?(0,o.O2)(a,"text")??"":"thinking"===b?(0,o.O2)(a,"thinking")??"":null;return{type:b,text:c,toolName:null,toolDetail:null}}(a);b&&(g.push(b),"text"===b.type&&b.text&&(h+=b.text))}let i=(0,o.O2)(a,"timestamp"),j=i?Date.parse(i):NaN,k=e&&"number"==typeof e.createdAt?e.createdAt:null;return{type:b,id:c?null:(0,o.O2)(a,"id"),parentId:(0,o.O2)(a,"parentId"),role:d?(0,o.O2)(d,"role"):null,sessionId:c?(0,o.O2)(a,"id"):null,cwd:c?(0,o.O2)(a,"cwd"):null,parentSession:c?(0,o.O2)(a,"parentSession"):null,source:e?(0,o.O2)(e,"source"):null,isMeta:e?.isMeta===!0,isSummary:e?.isSummary===!0,isAutomated:e?.isAutomated===!0,timestampMs:null!==k&&Number.isFinite(k)?k:Number.isFinite(j)?j:null,blocks:g,text:h}}(a);if(!h){c+=1;continue}b.push(h),h.sessionId&&(d=h.sessionId,e=h.cwd,f=h.parentSession)}return{records:b,malformedLines:c,sessionId:d,cwd:e,parentSession:f}}(g),j=function(a,b){let c=[],d=new Set,e=null,f=0,g=0,h=0,i=b;for(let b of a){if(b.sessionId){i=b.sessionId;continue}if(b.type!==ah){h+=1,b.id&&d.add(b.id);continue}if(null===b.parentId||d.has(b.parentId)||(g+=1),b.id&&d.add(b.id),ak(b)){e=function(a,b){return{sessionId:b,promptId:a.id,startedAt:a.timestampMs??0,promptText:a.text,promptIsOperatorInput:!!ak(a)&&!a.isSummary&&!a.isAutomated&&"user"===a.source,blocks:[],assistantRecords:0,closed:!1,superseded:!1,overflowed:!1}}(b,i),c.push(e);continue}if("assistant"===b.role){if(!e){f+=1;continue}for(let a of(e.assistantRecords+=1,e.closed=!(b.type!==ah||"assistant"!==b.role||b.blocks.some(a=>"tool_use"===a.type))&&b.blocks.some(a=>"text"===a.type&&(a.text??"").trim().length>0),b.blocks)){if(e.blocks.length>=2048){e.overflowed=!0;break}e.blocks.push(a)}}}for(let a=0;a<c.length-1;a+=1)c[a].superseded=!0;return{turns:c,orphanedAssistantRecords:f,unresolvedParentRecords:g,nonMessageRecords:h}}(i.records,i.sessionId??e??"");if(0===j.turns.length)return ao.info("command-code-transcript-no-turn",{worktreeId:a.worktreeId,instanceId:c,path:f,records:i.records.length,malformedLines:i.malformedLines,orphanedAssistantRecords:j.orphanedAssistantRecords}),!1;(i.malformedLines>0||j.orphanedAssistantRecords>0||null!==i.parentSession)&&ao.info("command-code-transcript-partial-read",{worktreeId:a.worktreeId,instanceId:c,path:f,malformedLines:i.malformedLines,orphanedAssistantRecords:j.orphanedAssistantRecords,unresolvedParentRecords:j.unresolvedParentRecords,nonMessageRecords:j.nonMessageRecords,parentSession:i.parentSession});let k=await aw(a,j.turns);if(await aD(a,j.turns.slice(0,j.turns.length-k.turns.length).slice(-aB),f),0===k.turns.length)return ao.debug("command-code-transcript-turns-already-saved",{worktreeId:a.worktreeId,instanceId:c,turnsInWindow:j.turns.length}),!0;k.turns.length>1&&ao.info("command-code-transcript-backfilling-turns",{worktreeId:a.worktreeId,instanceId:c,path:f,pendingTurns:k.turns.length,turnsInWindow:j.turns.length,anchored:k.anchored});let m=[];for(let b=0;b<k.turns.length;b+=1){let c=0===b?k.previousStartedAt:k.turns[b-1].startedAt;m.push(await aA(a,k.turns[b],c))}let n=function(a){let b=new Map,c=null;for(let d of a)if(!d.sessionId&&d.type===ah){if(ak(d)){c=d.id;continue}"assistant"===d.role&&null!==c&&null!==d.timestampMs&&d.timestampMs>(b.get(c)??0)&&b.set(c,d.timestampMs)}return b}(i.records),p=!1;for(let b=0;b<k.turns.length;b+=1){let c=k.turns[b];p=await aE(a,c,an(c),function(a,b,c=0,d=null){let e=null===b.timestampMs?a.startedAt:Math.max(a.startedAt,b.timestampMs+1);return Math.max(e,Math.min(c,null===d?1/0:d-1))}(c,m[b],n.get(c.promptId)??0,function(a,b,c){let d=a[c+1];return d?b[c+1]?.timestampMs??d.startedAt:null}(k.turns,m,b)),f)}return p}catch(b){return ao.error("command-code-transcript-capture-failed",{worktreeId:a.worktreeId,instanceId:c,error:b instanceof Error?b.message:String(b)}),!1}}async function aw(a,b){let[{getDbInstance:d},{findMessageByRequestId:e}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791))]),f=d();for(let c=b.length-1;c>=0;c-=1){let d=(0,n.sT)(b[c].promptId);if(e(f,a.worktreeId,d))return{turns:b.slice(c+1),previousStartedAt:b[c].startedAt,anchored:!0}}return{turns:b.slice(-1),previousStartedAt:b.length>1?b[b.length-2].startedAt:0,anchored:!1}}async function ax(a,b){try{let c=b.commandCodeHome??(0,h.homedir)();return await ay(c,b,await as(a))}catch{return null}}async function ay(a,b,c){let d=b.transcriptPathHint;if("string"==typeof d&&d.length>0){let b=function(a,b){if(!b.endsWith(ag)||b.includes("\0"))return null;let c=(0,i.resolve)(at(a)),d=(0,i.resolve)(b);return d===c||d.startsWith(c+i.sep)?d:null}(a,d);if(b&&await az(b))return b}if(!c)return null;let e=`${a}\0${c}`,f=ar.get(e);if(f&&await az(f))return f;let g=await au(a,c);return g?ar.set(e,g):ar.delete(e),g}async function az(a){try{return(await (0,g.stat)(a)).isFile()}catch{return!1}}async function aA(a,b,c=0){let d=a.instanceId??a.cliToolId;if(!b.promptIsOperatorInput)return ao.debug("command-code-transcript-user-turn-skipped",{worktreeId:a.worktreeId,instanceId:d,promptId:b.promptId,reason:"not-operator-input"}),{outcome:"skipped",messageId:null,timestampMs:null};let e=await (0,m.Ce)(a,(0,n.TW)(b.promptId),b.promptText,b.startedAt,c>0?{adoptionFromMs:c}:{});return"failed"===e.outcome&&ao.warn("command-code-transcript-user-turn-failed",{worktreeId:a.worktreeId,instanceId:d,sessionId:b.sessionId,promptId:b.promptId}),e}let aB=3;async function aC(a,b,d,e){let f=a.instanceId??a.cliToolId,g=b.content.length;if(d.body.length<=g)return!1;let[{getDbInstance:h},{updateMessageContent:i},{broadcastMessage:j}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.all([c.e(1503),c.e(4299),c.e(1719),c.e(6894),c.e(5120)]).then(c.bind(c,79129))]);return i(h(),b.id,d.body),j("message_updated",{worktreeId:a.worktreeId,message:{...b,content:d.body}}),ao.info("command-code-transcript-turn-updated",{worktreeId:a.worktreeId,instanceId:f,sessionId:d.sessionId,requestId:b.requestId,path:e,previousLength:g,bodyLength:d.body.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!0}async function aD(a,b,d){if(0===b.length)return 0;let[{getDbInstance:e},{findMessageByRequestId:f}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791))]),g=e(),h=0;for(let c of b){if(!al(c))continue;let b=f(g,a.worktreeId,(0,n.sT)(c.promptId));b&&await aC(a,b,an(c),d)&&(h+=1)}return h}async function aE(a,b,d,e,f){let g=a.instanceId??a.cliToolId;if(!al(b))return ao.info("command-code-transcript-turn-open",{worktreeId:a.worktreeId,instanceId:g,sessionId:d.sessionId,promptId:d.promptId,assistantRecords:b.assistantRecords,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!1;if(0===d.body.length)return ao.info("command-code-transcript-turn-empty",{worktreeId:a.worktreeId,instanceId:g,sessionId:d.sessionId,promptId:d.promptId}),!1;d.unknownBlockTypes.length>0&&ao.info("command-code-transcript-unknown-blocks",{worktreeId:a.worktreeId,instanceId:g,sessionId:d.sessionId,blockTypes:d.unknownBlockTypes});let h=(0,n.sT)(d.promptId),[{getDbInstance:i},{createMessage:j,findMessageByRequestId:k},{broadcastMessage:l}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.all([c.e(1503),c.e(4299),c.e(1719),c.e(6894),c.e(5120)]).then(c.bind(c,79129))]),m=i(),o=k(m,a.worktreeId,h);if(o)return ao.debug("command-code-transcript-turn-already-saved",{worktreeId:a.worktreeId,instanceId:g,requestId:h}),await aC(a,o,d,f),!0;let p=j(m,{worktreeId:a.worktreeId,role:"assistant",content:d.body,messageType:"normal",timestamp:new Date(e>0?e:Date.now()),cliToolId:a.cliToolId,instanceId:g,requestId:h});return l("message",{worktreeId:a.worktreeId,message:p}),ao.info("command-code-transcript-turn-saved",{worktreeId:a.worktreeId,instanceId:g,sessionId:d.sessionId,requestId:h,path:f,bodyLength:d.body.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!0}var aF=c(70997),aG=c(2734),aH=c(76835),aI=c(28862),aJ=c(129);let aK=(0,d.h)("lib/polling/structured-history-gate"),aL=globalThis.__structuredHistoryCaptureQueue??=new Map,aM={[aF.v]:{capture:(a,b)=>(0,f.K$)(a,b),locate:(a,b)=>(0,f.Oi)(a,b)},[aG.c]:{capture:(a,b)=>G(a,b),locate:(a,b)=>H(a,b)},[aH.F]:{capture:(a,b)=>$(a,b),locate:(a,b)=>_(a,b)},[aI.k]:{capture:(a,b)=>av(a,b),locate:(a,b)=>ax(a,b)}};function aN(a){try{return(0,aJ.VM)(a).capabilities.transcriptHistory??null}catch(b){return aK.warn("structured-history-capability-unavailable",{cliToolId:a,error:b instanceof Error?b.message:String(b)}),null}}function aO(a){return"pull"===aN(a)}function aP(a,b,c){if("push"!==aN(b))return!1;try{return(0,e.f4)({worktreeId:a,cliToolId:b,instanceId:c??b})}catch(d){return aK.warn("structured-history-gate-unavailable",{worktreeId:a,cliToolId:b,instanceId:c??b,error:d instanceof Error?d.message:String(d)}),!1}}async function aQ(a,b,c,d){if(!aO(b))return!1;let e=aM[b];if(!e)return aK.warn("structured-history-reader-missing",{worktreeId:a,cliToolId:b,instanceId:c??b}),!1;let f=c??b;return function(a,b){let c=(aL.get(a)??Promise.resolve()).then(b,b),d=c.then(()=>void 0,()=>void 0);return aL.set(a,d),d.then(()=>{aL.get(a)===d&&aL.delete(a)}),c}(`${a}\u0000${b}\u0000${f}`,async()=>{try{return await e.capture({worktreeId:a,cliToolId:b,instanceId:f},d)}catch(c){return aK.warn("structured-history-capture-unavailable",{worktreeId:a,cliToolId:b,instanceId:f,error:c instanceof Error?c.message:String(c)}),!1}})}async function aR(a,b,c,d){let e=aO(b)?aM[b]:void 0;if(!e)return!1;try{let f=await e.locate({worktreeId:a,cliToolId:b,instanceId:c??b},d);return null!==f}catch(d){return aK.warn("structured-history-locate-unavailable",{worktreeId:a,cliToolId:b,instanceId:c??b,error:d instanceof Error?d.message:String(d)}),!1}}}};